基于Java的无人超市购物系统的设计与实现.docx

上传人:wj 文档编号:1949907 上传时间:2023-05-02 格式:DOCX 页数:28 大小:1.61MB
下载 相关 举报
基于Java的无人超市购物系统的设计与实现.docx_第1页
第1页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第2页
第2页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第3页
第3页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第4页
第4页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第5页
第5页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第6页
第6页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第7页
第7页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第8页
第8页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第9页
第9页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第10页
第10页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第11页
第11页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第12页
第12页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第13页
第13页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第14页
第14页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第15页
第15页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第16页
第16页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第17页
第17页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第18页
第18页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第19页
第19页 / 共28页
基于Java的无人超市购物系统的设计与实现.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于Java的无人超市购物系统的设计与实现.docx

《基于Java的无人超市购物系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Java的无人超市购物系统的设计与实现.docx(28页珍藏版)》请在冰点文库上搜索。

基于Java的无人超市购物系统的设计与实现.docx

摘 要:

随着科学技术的日益的进步,互联网和智能时代已经狂风暴雨般的袭来。

科技正在从各个方面改变着人们的生活方式,涉及领域广泛。

崭新的形式时时刻刻都在冲击着旧的行业。

现代社会对便捷的需求越来越高,人们不再满足传统的购物方式,无人超市便应运而生。

本系统采用MVC模式,在MyEclipse平台下,使用jsp和MySQL设计并实现了一个无人超市购物系统。

购物系统分为前端用户模块和后台的管理模块。

主要功能包括管理员登录,管理商品,管理商品类型,管理员信息修改,用户挑选商品,查看商品信息,购物车,结账。

此系统具有操作简便容易,方便易懂,用户界面清晰美观明了等特点。

关键词:

MySQ;Lservlet;无人超市

Abstract:

Withtheprogressofscienceandtechnology,theInternetandintelligenceagehave

beenstormy.Technologyischangingpeople'swayoflifefromallaspects,involvingawiderangeoffields.Newformsareattackingtheoldindustryallthetime.Inmodernsociety,thedemandforconvenienceisgettinghigherandhigher.Peoplenolongersatisfythetraditionalwayofshopping.ThissystemusestheMVCmodel,undertheMyEclipseplatform,usesJSPtechnologyandMySQLtodesignandimplementasupermarketshoppingsystem,whichismainlydividedintothefrontenduserpageandthebackstagemanagementpage.Themainfunctionsofthesysteminclude:

theadministratorlogin,themanagementcommodity,themanagementbusinessproducttype,theadministratorinformationmodification,theuserpickup.Pickproducts,checkdetailsofgoods,shoppingcart,checkout.Thissystemhasthecharacteristicsofsimpleoperation,easytounderstand,clearandclearuserinterfaceandsoon.

Keywords:

Mysql;Servlet;Self-servicesupermarket

II

目 录

摘 要 I

Abstract I

目 录 II

1绪论 1

1.1研究背景 1

1.2研究目的与意义 2

1.3论文的主要内容 2

2系统开发工具概述 3

2.1Java简介 3

2.2MyEclipse的简介 4

2.3MySQL的简介 5

3需求分析 5

3.1用户分析 5

3.2功能需求分析 5

3.3业务流程分析 6

3.4数据流分析 7

4系统的总体设计 7

4.1系统的总体结构设计 7

4.2数据库设计 9

5系统详细设计与实现 11

5.1数据库访问类库设计 12

5.2前台用户模块设计 12

5.2.1用户主界面设计 12

5.2.2商品分类设计 14

5.2.3商品列表设计 15

5.2.4商品信息浏览设计 16

5.2.5购物清单设计 16

5.2.6购物车模块和结账模块设计 17

5.3后台管理模块设计 19

5.3.1登录及密码修改设计 19

5.3.2商品类型管理设计 20

5.3.3商品管理设计 22

6软件测试 24

6.1软件测试目的 24

6.2软件测试的过程 24

6.3软件测试的结论 26

7 总结 26

参考文献 错误!

未定义书签。

致 谢 错误!

未定义书签。

1绪论

1.1研究背景

科学技术日新月异,互联网经济时代也变化万千。

传统的经济形势时时刻刻在改变,新的经济形势分分秒秒在冲击传统行业。

举个例子:

通常在我们的生活中,比如我想要买一瓶酱油,传统超市我需要进去找到作料区,然后再慢慢寻找酱油,之后还要去前台付账,过程比较繁琐,而且也会耽误很多时间。

不仅如此,目前所看到的大多数超市经营状态不够良好,缺乏管理以及日常维护,商品更新不及时、设计损坏等。

现在进入互联网+时代,很多地方对于支付来说都很方便,关键的在于开传统超市的成本门槛高,而且必须要配备有专业知识的技术人员,这些人员的薪酬是巨大的开支。

无人超市只需要后台管理人员,并且管理更加有效便捷。

在客户端挑选商品、支付、取货行云流水,不需要人力服务,购物者可以在“无感”状态下完成购物。

正是因为不需要人力,使商业模式的抗旱性显著

提升,每个环节的数据化更是进一步提高了效率。

无人超市是未来发展的必然产物,虽然现在还是在探索阶段,但是随着AI智能,刷脸技术的成熟,无人超市将在未来无可取代。

超市的形式,正在潜移默化的改变。

未来无人超市势必会成为一个新的发展方向,也必将成为一个新的投资热点,简单复杂的人工也将全面被工业技术所取代。

一个新鲜事物的诞生,会伴随很多事物和很多行业的崛起。

技术的发展和应用都非一日之功。

无人超市已经经过了几年的沉淀,无人售卖的方案也日渐成熟,当底层传感器、数据、到中间通行层再到上层应用层构成了无人超市总体完整架构后,再相比的话,传统的超市和便利店就会变得好原始和落后。

就算前些年被电商压得透不过气,挺不直腰,现在也会抬头挺胸,并且大有超车之意。

无人超市需要物联网和计算机进行结合,与机器进行配合,才会提供更好的服务。

设计这个系统主要就是改善缺陷,发扬优点,实现高效便捷。

第20页(共26页)

1.2研究目的与意义

从最直接的层面来说,无人超市最直接的目的就是“减少人力,降低门槛,削弱成本”。

削减人工费用和占地资源上,降低成本。

数据化缩减了超市的运作流程,节约了大量的时间,而且超市可以24小时营业,超市的负责人只需要负责商店的货源充足就可以了。

对商户来说肯定也是利大于弊的,对于消费者来说也是利大于弊。

因为流程简便,消费者会体验到更加高效的服务,并且现在社会上的年轻人也是居多的,无人超市更是抓住了年轻人的消费心理,非常适合年轻人,现在移动支付遍及各个大小城市。

无人超市的出现现在不只是一个噱头,虽然短时间不会再国内大面积的铺开,但是随着技术的加强和人们的关注,无人超市会变得越发成熟。

其实目前日本、美国等发达国家的人力成本高的问题在未来的中国也会出现,而无人超市成为了应对措施之一。

设计系统的目的与意义正是在此,设计这个无人超市购物系统目的是在实际生活中带给用户便捷,并且做到低成本,使整体运营的成本变低,可以为购物者提供更加优惠的服务。

正是因为成本低可以让利润更高,这也会使超市的生存状态更加良好。

无人超市不单单只是让购物者在购物是体验奇妙的体验,更是要对传统购物发起新的挑战,这一技术的最终目的是带领线下实体店开拓出零售的新大陆。

1.3论文的主要内容

本论文主要内容框架采用总分总的方式,第一章总体介绍开发系统的目的意义以及无人超市现在国内的现状背景。

第二章介绍开发系统的工具和技术等,了解到以现有技术开发系统的可行性。

第三章进行需求分析,功能需求分析、业务流程分析和数据流分析,分别介绍系统的功能,整个系统的运行流程,数据传递过程,和整个项目的可行性。

第四章论文分部详细介绍,前端和后台的设计框架,详细的说明项目的运作功能。

第五章介绍各个部分各个模块的详细实际与实现。

第六章总体介绍系统测试过程和结果。

第七章论文总结。

最后总结语和参考文献。

2系统开发工具概述

2.1Java 简介

Java是一种编程语言,Java的语法和C++十分的相似,避免了一些C++的弊端同事保留了自身的一些优点,继承了C++语言面向对象的全部特征,同时还对C++语言中的一些复杂的特性剔除,将Java打造成为一种纯正的面向对象方法的程序设计语言。

Java舍弃了C++语言中容易引起错误的指针,改以引用替换,同时移除原C++与原来运算符重载,也移除多重继承特性,改用接口替换,增加垃圾回收器功能。

在JavaSE1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性[1]。

太阳微系统对Java语言的解释是:

“Java编程语言是个简单的、面向对象的、分布式的、解释性的、健壮的、安全与系统无关、可移植的、高性能的、多线程的和动态的设计语言[2]。

简单性是指由于Java语言最初是为了消费电子类产品进行集成控制研发的一种程序设计语言,所以它具有简单明了、易于学习的特点。

面向对象是对现实世界自然事物的抽象和延伸,现实世界的任何事物都可被归为一类事物,具体事物可看作是某一类事物的一个实例对象。

面向过程语言是对象和消息的结合。

面向对象程序设计语言的3个基本特征是:

封装、多态性和继承。

分布式的概念包括数据形式的分布和操作形式的分布。

数据分布指将数据存储在不同的网络主机上:

操作分布指将一个计算分散到不同的网络主机上完成。

Java的健壮性主要是指为预防程序设计中经常遇到的一系列错误以致程序的不稳定,而采取的有效方法。

如高效的内存管理机制、限制指针操作,抛出运行时异常等。

Java语言具有很高的安全性[3]。

Java程序经常应用于网络环境中,因此为了保证程序的安全性,Java提供了一系列的安全处理机制,以防代码被修改,确保系统安全。

Java的平台无关性,即“一次编写,到处运行”。

Java编写的应用程序不需要

做任何的修改就可以在不同的硬件和软件平台上运行。

平台无关性概念具有两个层次:

源代码级和目标代码级。

Java 的可移植性主要是指源代码的可移植性,即任意一个Java程序,在任何的CPU、操作系统和Java编译器上,都会产生相同的运行结果。

Java 是一种高效率的程序设计语言,在Java版本不断更新的过程中,Java性能也做出了更大的发展,它可以与CC++拥有几乎同样的运行速度。

多线程的概念来自于操作系统。

Java对多线程的支持表现在两方面:

其一,品就是多线程的;其二,Java语言可以内置多个线程操作。

Java的动态性是指Java语言能够适应于动态变化的环境。

Java程序需要的外动态添加到运行环境,可以通过网络获得运行程序所需要的类。

Java是c++这些语言上演化过来的,以不像C++背上了沉重的C的负担,使c++非常复杂。

Java不需要和c或者其他兼容,设计的非常干净Java是纯面向对象开发,功能强大,分支众多,没有Java不能做的软件。

通过在设计的过程中主要体会到Java语言的一下好处:

(1)一次编写,到处运行。

(2)系统的多平台支持。

(3)强大的可伸缩性。

(4)多样化和开发工具的支持。

(5)支持服务器端的组件。

2.2MyEclipse 的简介

MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、JavaEE以及移动应用的开发。

MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。

利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。

它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTM,LStruts,JSP,CSS,spring,SQL。

2.3MySQL的简介

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。

其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点。

3需求分析

3.1用户分析

用户分析首先是目标市场地位,通过了解无人超市的现状,可以知道未来无人超市在市场前景很好,具有强大的发展性。

前台客户端用户群体主要是需要购买生活用品的广大人民群众,后台管理端的用户主要是超市管理者。

3.2功能需求分析

第一是顾客购买功能。

顾客进店不需要像在传统超市一样,去寻找需要的商品,进店就会发现购买商品的客户端,在前台客户端中有商品分类,顾客可以根据自己所需要的商品类别寻找自己所需要的商品,当顾客挑选完商品之后,便可以点开购物车,然后进行增删,之后再结账,然后出货机就会出货,实现了便捷,高效。

第二是后台管理功能。

首先是管理人员需要登录后台管理端,进入管理端后,管理员可以对自己的账户信息进行修改。

管理员可以修改商品种类的增加减少,或者是对商品信息的修改,还可以对商品添加各种分类,并且管理员可以根据自身的喜好或者是商品本身功能的需要对商品进行详细的描述,可以根据上架日期,商品名,商品类型查找商品,上传或者删除商品图片等一系列操作。

3.3业务流程分析

普通顾客可以进店,打开客户端,挑选商品,查看商品的详细信息,可以加入愿望列表,加入购物车,增减商品,付账。

然后出货机出货。

具体流程图如图3-1所示。

图3-1前台业务流程图

后台管理员端需要登录,输入账号密码,进入管理端,对账户的信息进行修改,还可以对商品的分类进行管理,对商品进行增删查改,对商品的信息修改,添加等,具体流程图如图3-2所示。

3.4数据流分析

图3-2后台业务流程图

数据流程分析主要是对信息的传递、流动、储存、处理和相关内容的分析。

数据流分析主要是依靠业务流程图分析的。

具体的就是:

来按照业务流程图可知道业务流程的顺序,然后通过业务流程可知道数据的流程。

业务流程图如图3-1

和3-2所示。

可知道数据传递是先由通过管理员验证自身信息,进入后台管理端然后上传商品信息,商品信息由后台传递到数据库,然后通过系统传到前端,之后然后用户通过商品信息挑选商品,最后进行结账操作,就是完整的流程。

4系统的总体设计

4.1系统的总体结构设计

根据以上的情况,可以了解到无人超市购物系统主要是分前台客户端和后台管理端。

前台客户端主要是主页(包含商品分类)、商品列表页(商品总汇)、购物清单、购物车、结账。

具体介绍如下:

(1)购物主页:

此页面主要是用户对商品进行相关操作,可以挑选查询,还

可以通过分类挑选商品,并且可以通过点击商品查看详细信息。

(2)商品列表页:

包含所有商品的汇集,用户可以对商品进行操作。

(3)购物清单:

购物清单就像是心愿列表,我考虑到用户在挑选物品时不是很确定,为了增加用户的购买欲望,就添加一个心愿列表,用户可以在心愿列表中添加删除商品,但是心愿列表中不可以结账,然后可以将心愿列表中的商品添加到购物车。

(4)购物车:

可以选择商品添加到购物车,也可以从购物清单中添加到购物车,购物车还可以删改自己所挑选的商品,然后结账。

(5)结账界面:

就是购物车最后一个环节,可以通过页面跳转也可以直接点击开。

后台管理端主要包括后台登录、商品管理、商品类型管理、个人信息管理。

具体介绍如下

(1)后台登录:

后台登录是管理员进入管理系统系统的第一步,需要管理员输入配备的账号和密码,并且要输入验证码,才能进入管理系统,对商品进行操作和对信息进行修改。

(2)商品管理:

包括商品上架、商品下架、商品信息修改和商品查询,商品上架需要填写商品名,价格,加入到什么商品类型中,还有对商品的备注,最后选择图片,就是完整的上架商品流程。

商品下架有一个完整的商品列表,可以直接对商品进行下架处理,对商品信息的修改可以对商品名,价格,商品对应的图片,还有商品的备注进行修改。

(3)商品查询:

如果管理者需要对商品进行详细的查询或者精确到某一款商品,可以通过商品关键字查询,也可以通过商品的类型查询,还可以通过日期查询,但是日期只精确到天。

(4)商品类型管理:

其中包含需要添加商品类型和修改商品类型操作,添加商品类型,就是添加一个商品的种类,以后添加详细的商品可以将商品添加到这个种类,以便于用户的选择。

商品类型操作是可以将商品的类型从一个类型跟换

到另一个类型。

(5)个人信息管理:

是管理员的个人账户信息关系整个超市的安全,需要修改密码等操作,修改密码需输入旧密码,然后输入两次新密码即可。

系统功能结构图如4-1所示。

4.2数据库设计

图4-1 系统功能结构图

基于需求分析对系统功能的描述,可以得到的是数据库中各个实体之间的联系。

也就是是管理员、商品类型、商品、购物车之间的关系。

数据实体之间联系图如图4-2所示。

图4-2 数据实体联系图

设计数据库根据数据实体之间的关系联系一共设计了四张表,分别是购物车

订单表、商品列表、商品类别列表、管理员信息表,对应表名关系如表4.1。

表4.1 表名关系对应表

编号

名称

说明

1

cars

购物车订单表

2

shop

商品列表

3

shoptype

商品类型列表

4

user

管理员信息表

user表主要记录管理员的相关信息,ueserid是管理员的账号编号,username是管理员的登录名,password是管理员密码,表中的数据显示的是加密过后的代码。

具体情况如表4.2。

userid

1

username

admin

password

e10adc3949ba59abbe56e057f20f883e

e10vsdfa949ba59abbe5gf

57f20f883e

flag

1

2

adminer

2

表4.2 管理员信息表

cars表是记录购物车里面的商品的表,Cars是商品的编号,totalprice 是

商品的价格。

具体情况如表4.3。

carsid

(NUll)

totalprice

(NULL)

表4.3 购物车表

shop表是记录整个系统中所有商品的信息的表,Shopid 是商品的编号,shopname是商品的名字,imgs是商品对应的图片,introduce 管理员对商品的描述,shoptype是商品的类别,intime是商品的上架时间,outtime是商品的下架时间。

具体情况如表4.4。

shopid

shopname

天子

price

imgs introduce

45

b\3\af99249d-6

32b-4cef-8ac9-2996485f8899_3

0.jpg

此香烟味

道醇厚

shoptype

香烟酒水

intime

outtime

flag

1

2018-3-3

(NUl (N (NUll)(NUll)(NUll) (N (NUll) (NUll) (N

l) Ull) Ull) Ull)

表4.4 商品表

Shoptype是商品类别表,Shoptypeid 是商品类别的编号,shoptype是商品

类别的名称,fatherid 是类别属性的编号,imgs是表示的所显示类别的图片。

具体情况如表4.5。

shoptypeid

shoptype

fatherid

imgs

7

香烟酒水

(NUll)

(NUll)

(NUll)

(NUll)

-8ac9-2996485f8899_30.

jpg

(NUll)

表4.5 商品类型表

5系统详细设计与实现

本系统的开发和完成分成了三个层面,第一个是servlet 层,第二个是service 层,第三个是dao层,第一个servlet 层主要负责接收前端数据和控制界面跳转,但是在servlet 层之前有一个过滤器,过滤器的主要功能是让数据不乱码,可以理解成一个模具,让数据都能有规则的通过过滤器。

第二个service层是接收servlet 和dao层传输来的数据,并且处理数据,dao层主要是处理数据库里面的数据。

本系统主要是由三个层协调运作,实现系统的整体功能。

本章节通过从客服的打开客服端的第一步到结账的过程,逐步分析介绍详细

的实现与操作过程。

5.1数据库访问类库设计

首先是链接数据库的方法,本系统中的DBUtils.Java与c3p0-config.xml共同构成c3p0这个链接数据库的方式,其中DBUtils是解析c3p0-config.xml的配置文件。

创建数据链接,用于和数据库进行交互:

QueryRunnerqr=newQueryRunner(DBUtils.getDataSource());

在商品数据表中,上架、下架、查找商品等操作:

shop=qr.query("select*fromshoptype",new

BeanListHandler(Shoptype.class));

i=qr.update("insertintoshop(shopname,price,imgs,shoptype,introduce,intime,flag)values(?

?

?

?

?

now(),1)",shop.getShopname(),shop.getPrice(),shop.getImgs(),shop.getShoptype(),shop.getIntroduce());

Stringsql="selects.*,t.shoptypetypenamefromshops,shoptypetwheres.shoptype=t.shoptypeidands.flag!

=-1";

if(!

"".equals(shoptype)&&shoptype!

=null){sql+="ands.shoptype=?

";parm.add(shoptype);}

shop=qr.query("selects.*,t.shoptypetypenamefromshops,shoptypetwheres.shoptype=t.shoptypeidands.shopid=?

",new

管理员信息验证与数据中对应信息:

user=qr.query("select*fromuserwhereuse

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2