admin 管理员组

文章数量: 1086019


2024年1月13日发(作者:thread螺纹)

廣東技術師範大学

天河學院

期末作业项目书

项目名称: 零食商城系统的设计与实现

项目负责人: 吴茂奕

所属学院:计算机科学与工程

指导老师: 胡安明、钟桂凤

完成时间:2019-6-12

I

零食商城系统的设计与实现

摘 要

近年来,随着我国互联网的普及,网上商城的悄然兴起,是商业经济发展到一定阶段的产物,也是顺应新的消费需求和技术进步的必然结果。

本文研究了一个网上零食商城系统,该系统是一个基于SSM框架,采用B/S模式,并根据现有的网上购物系统设计优化而成。系统主要以Java语言作为开发基础,使用了Jsp+Sping+SpringMVC+Mybatis等技术,采用MyEclipse作为开发工具,以MySQL作为数据库工具。本系统分有两个子系统,前台系统和后台管理系统,其中前台系统主要包括商城首页、零食详情、用户注册、用户登录、购物车、提交订单、个人中心等信息;后台管理系统实现了商城管理的基本功能,包括:用户信息管理模块、零食管理模块、图片管理模块、订单管理模块、营业额图表统计模块。管理员通过上述功能可以更好的管理网上零食商城。

本系统具有多方面特点:系统功能完备,使用方便简捷,人性化的用户界面,节省经营成本,大大减少了操作人员的工作负担。

关键词:零食商城系统 SSM MySQL Jsp

II

目录

摘 要 ..................................................................................................................................................... II

第一章 绪论 ............................................................................................................................................ 1

1.1

课题背景、目的及意义 ............................................................................................................... 1

1.1.1

课题背景 ................................................................................................................................ 1

1.1.2

课题目的和意义 .................................................................................................................... 1

1.2

国内外研究现状 ........................................................................................................................... 2

1.2.1

国内的研究现状 .................................................................................................................... 2

1.2.2

国外的研究现状 .................................................................................................................... 3

第二章 相关技术介绍 ............................................................................................................................ 5

2.1

JAVASCRIPT ..................................................................................................................................... 5

2.2

AJAX ............................................................................................................................................... 5

2.3

5

2.4

SSM框架 ....................................................................................................................................... 5

2.5

JSP .................................................................................................................................................. 6

2.6

B/S模式 ......................................................................................................................................... 7

2.7

EASYUI ........................................................................................................................................... 8

2.8

系统开发平台及运行环境 ........................................................................................................... 8

2.8.1

系统开发平台 ........................................................................................................................ 8

2.8.2

运行环境 ................................................................................................................................ 9

第三章 系统需求分析 .......................................................................................................................... 10

3.1

功能需求分析 ............................................................................................................................. 10

3.2

非功能需求分析 ......................................................................................................................... 14

3.3

可行性分析 ................................................................................................................................. 14

3.3.1

经济可行性 .......................................................................................................................... 14

3.3.2

技术可行性 .......................................................................................................................... 14

第四章 系统设计 .................................................................................................................................. 16

4.1

系统架构 ..................................................................................................................................... 16

4.2

系统功能模块设计 ..................................................................................................................... 16

4.3

系统工作流程设计 ..................................................................................................................... 18

4.4

数据库设计 ................................................................................................................................. 18

4.4.1

数据库概念设计 .................................................................................................................. 18

4.4.2

数据库逻辑设计 .................................................................................................................. 22

第五章 零食商城系统实现 .................................................................................................................. 26

5.1

用户模块 .................................................................................................................................... 26

5.1.1

首页 ...................................................................................................................................... 26

5.1.2

零食分类 .............................................................................................................................. 27

5.1.3

零食信息 .............................................................................................................................. 27

5.1.4

购物车 .................................................................................................................................. 28

III

5.1.5

用户注册 .............................................................................................................................. 28

5.1.6

用户登录 .............................................................................................................................. 28

5.1.7

个人中心 .............................................................................................................................. 29

5.1.8

订单 ...................................................................................................................................... 29

5.2

管理员模块 ................................................................................................................................ 30

5.2.1

管理员登录 .......................................................................................................................... 30

5.2.2 用户管理 ............................................................................................................................ 31

5.2.3

图片管理 .............................................................................................................................. 32

5.2.4

订单管理 .............................................................................................................................. 33

5.2.5

零食管理 .............................................................................................................................. 34

5.2.6

营业额统计 .......................................................................................................................... 35

第六章 系统测试 .................................................................................................................................. 36

6.1

测试的目的与目标 ..................................................................................................................... 36

6.2

测试方法 ..................................................................................................................................... 36

结论与展望 ............................................................................................................................................ 38

参考文献 ................................................................................................................................................ 39

IV

第一章 绪论

1.1 课题背景、目的及意义

1.1.1 课题背景

随着网络技术的发展,网络平台日益稳定,越来越多的人喜欢在网上交友购物。网购引领潮流,是消费者的天堂,它给人们带来了便利,它促使着社会的进步,所以有越来越多的人向着它的发展方向前进。网络购物因其便捷、髙效,而且价格相对便宜,被越来越多网民所青睐。据了解,2010年中国网上零售市场交易 规模达5131亿元,尤其是而向个人消费的电子商务,其网上零售市场规模首次突破1000亿元大关。网购给一些不想出门逛街的朋友们提供了很大的方便,同时,人们也能在网上买到本地市场上一些没有的东西。网上商城有逐步成为主流购物方式,网络购物平台也随之迎来了春天。

零食从其外部特征来看,品种繁多,全国各地的特色各不相同,实体零食店无法有足够大的店而来展示所有品种,也不能满足异地“吃货”们的要求,网上零食店的零食价格实惠,品种多样,消费者也乐于尝试在网上购买。所以网上零食店也在互联网上纷纷出现。

就网上零食店而言,由于网络已经覆盖全球,销售的理念也很简单,就是消费者可以自己寻找自己喜爱的零食。对于消费者来说,网上零食店近在咫尺,并且永不下班关门,只要在有网络的情况下,消费者可以随时随地的査询和购买零食,可以立刻买到全国各地的特色零食,而且选择余地也大多了,同时还减少了购买过程中的支出。让消费者足不出户就能够在网上零食店购买到自己喜爱的零食,形成店铺和用户双赢的局面。

这个网上零食店的前台操作模块就是利用JSP技术实现对整个网上零食店进 行管理。此平台客户操作模块简单操作,只需要点击注册便可下单购买。

1.1.2 课题目的和意义

本课题的目的是使用Jsp+SSM+MySql技术开发一个网关零食商城系统,从而实现零食的网络在线销售,包括管理库房中的食品,以及管理用户的购物车,从而实现结账等一系列功能,让用户足不出户就能够在网上食品商店购买到自己所需的食品,形成商店和用户双赢的局面。

1

零食商城系统完全基于JSP+SSM+MySql技术,在系统的设计与开发过程中严格遵守软件工程的规范,运用软件设计模式,从而减少系统模块间的偶合,力求做到系统的稳定性、可重用性和可扩充性。

本系统完成后有几下几点意义:

第一,用户可以足不出户的逛街,订货不受时间的限制。

第二,用户可以获得较大量的商品信息,可以买到当地没有的商品:在现实中,人人会常常说货比三家,但在网上,可以慢慢的挑选,也可以买到当地没有的商品!

第三,网上支付较传统拿现金支付更加安全,可避免现金丢失或遭到抢劫:你可以通过网上银行方便又安全,可以避免去商场购物拿一大把现金,又不安全。

第四,从订货、买货到货物上门无需亲临现场,既省时又省力:特别是大热天,在家里就可以购物,快递还送货上门多舒服。在实体店购物就要累的很。

第五,由于网上商品省去租店面、召雇员、储存、保管等一系列费用,总的来说其价格较一般商场的同类商品更便宜。价格都比一般商场或实体店卖的低得多。

综上可以看出,网上购物突破了传统商务模式的障碍,无论对消费者、企业还是市场都有着巨大的吸引力和影响力,在新的市场经济时期无疑是达到"多赢"效果的理想模式。

1.2 国内外研究现状

1.2.1 国内的研究现状

伴随着Internet的蓬勃发展,网上购买食品作为电子商务的一种形式正以其高效、低成本的优势,逐步成为新兴的经营模式和理念,人们已不再满足于信息的浏览和发布,而是渴望着能够充分享受网络所带来的更多的便利。

在我国,网上购物从无到有也不过短短十几年时间。根据CNNIC的统计结果,截止2004年1月中国有互联网用户7950万人,而又有40.7%以上的网民在过去的一年里有过网上购物经历,这就说明中国有网上购物的用户达到3235.7万人,并且这一数字还在以17%左右的速度增长,中国的网民数量已经突破5亿。中国现在的青年人对网络的使用率都很高,他们是实力最强的消费者,这说明在中国发展网上购物具有良好的群众基础,网上购物的方式日趋被大家接受。因此,设计一个具有电子商务功能的零食商城系统具有非常好的开发与应用前景。

网上购物,就是通过互联网检索商品信息,并通过电子订购单发出购物请求,然后填上私人支票帐号或信用卡的号码,厂商通过邮购的方式发货,或是通过快2

递公司送货上门。国内的网上购物,一般付款方式是款到发货(直接银行转帐,在线汇款)。担保交易(淘宝支付宝,百度百付宝,腾讯财付通等的担保交易),货到付款等。

其主要体现是商家与顾客互不见面,通过网络使商品信息和钱款以电子的形式在网络上进行传播。所以,网上购物具有以下特点:商品的信息更加深入全面、减少了商品的销售成本、节约了消费者的时间和体力、消除了消费者与商家的面对面冲突、降低了商户的经营成本,等等,充分体现了网上购物的方便快捷、低成本的特点。

目前网上购物的种类越来越多,从C2C淘宝网、百度有啊、腾讯拍拍、当当网等个人对个人到B2C华强商城、淘宝商城,亿汇网,京东商城等对个人,在到现在的S2C中小型店铺对个人。前2者对是面对全国的顾客,范围广,所以送货时间一般都是3到5天,甚至更长。而S2C同城购物如南昌95购物,因为同在一个城市,所以当天就能到达,最快3小时就能送到。

网上购物的途径有B2B平台,B2C平台,以及独立的网络商城和团购网站等,目前国内购物比较多的B2B网站有阿里巴巴,中国巨蛋网、卓购商城、ID格调家居家饰网等,M2C团购网站有58同城、拉手网、美团网、24券等,垂直类商城有凡客诚品、玛莎玛索。S2C(Shop to Customer in city))网站有95百货商城、同城购物。无论是通过哪种方式实现网上购物,都需要在它们的网站上先注册一个账号,然后选购自己需要的商品,按照提示的操作流程操作即可。

1.2.2 国外的研究现状

众所周知,美国是世界最早发展电子商务的国家,同时也是电子商务发展最为成熟的国家,一直引领全球电子商务的发展,是全球电子商务成熟发达地区。欧盟电子商务的发展起步较美国晚,但发展速度较快,成为全球电子商务较为领先的地区。亚洲作为电子商务的新秀,市场潜力较大,但是近年的发展速度和所占份额并不理想,是全球电子商务的持续发展地区。

以欧美国家为例,可以说电子商务业务开展的如火如荼。在法、德等欧洲国家,电子商务所产生的营业额已占商务总额的1/4,在美国则已高达1/3以上,而欧美国家电子商务的开展也不过才十几年的时间。在美国,美国在线(AOL)、雅虎、电子港湾等著名的电子商务公司在1995年前后开始赚钱,到2000年创造了7.8亿美元,IBM、亚马逊书城、戴尔电脑、沃尔玛超市等电子商务公司在各自的领域更是取得了令人不可思议的巨额利润。

欧美国家的物流配送体系相当完善,正规,其是近年来大型第三方物流公司的出现,使的不同地区的众多网民,往往能在点击购物的当天或转天就可收到自3

己所需的产品。这要得益于欧美国家近百年的仓储运输体系的发展史。以美国为例,第二次世界大站后,许多企业将军队后勤保障体系的运做模式有效地加以改造运用到物资流通领域中来,逐渐在全国各地设立了星罗棋布,无孔不入的物流配送网络。

即使在电子商务业务还未广泛开展的十多年前,只要客户打电话通知要货,几乎都可以享受免费的送货家政服务。美国联邦快递,UPS(联邦包裹快递)等是大型物流公司的典范,专门负责为各个商家把产品送到顾客手中,有了这样庞大的完善的物流配送体系,当电子商务时代到来后,美国只需将各个配送点用电脑连接起来,即顺理成章的完成了传统配送向电子商务时代配送的过度,电子商务活动中最重要最复杂的环节。

世界各地的购物者都喜欢亚马逊,这一事实从根本上改变了人们的购物行为。美国:90%的美国人使用亚马逊购物,其中37%因此更少进实体店了,23%更少使用其它网购平台了。德国:亚马逊在德非常流行,10有9个德国人都用亚马逊,26%因此更少使用其他平台了。加拿大:83%首选亚马逊,跨境网购比例高达56%,因此得出结论:加拿大本土的线上零售不够发达,加拿大消费者酷爱亚马逊,实体店购物更少了。英国:90%的购物者习惯性使用亚马逊购物,英国人对线上购物的日益依赖。

最后,比起PC和平板电脑,世界各地的消费者越来越偏向使用智能手机购物。英国:便捷的电子支付让更多英国网购者抛弃PC和平板,改用手机支付。美国:美国网购者对手机比以往更依赖,除了购物,还用于比价查货。当前1/3的美国网购交易通过手机完成,大大高于往年,未来还将继续上升。

4

第二章 相关技术介绍

本章主要对零食商城系统所涉及的相关技术进行了介绍。

2.1 Javascript

JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司(Netscape)的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。

Javascript语言与Java语言在语法上比较相似,但随着对Javascript的深入了解后你会发现,它们说到底是两种语言。

2.2 Ajax

Ajax全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。Ajax技术可以提供高度交互的Web应用,给予用户更丰富的页面浏览体验,Ajax功能的实现主要依靠XMLHttpRequest对象及其属性和方法、发送请求和处理响应。

2.3 MySQL

MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL

AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

自从Oracle公司收购了MySQL后不久,就发行了MySQL的企业版(不再免费)。

2.4 SSM框架

SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。

(1)Sping

5

Spring是一个开源框架,是于2003年兴起的一个轻量级的Java开发框架由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。

Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。但是,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

(2)SpringMVC

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。pring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。

(3)Mybatis

MyBatis是一个基于Java的持久层框架,mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。

页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。

2.5 JSP

JSP本是一个简化的Servlet设计,它 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生6

动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。

2.6 B/S模式

B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,以不同的接入方式访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。

B/S模式最大的优点就是可以在任何地方进行操作而不需客户端安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护,系统的扩展非常容易。它具有分布性特点,可以随时随地进行业务处理。业务扩展简单方便,通过增加网页即可增加服务器功能。在维护方面,只需要改变网页,即可实现所有用户的同步更新,共享性较强。它实现了跨平台的系统集成服务,提供了异种机、异种网、异种应用服务的联机、联网、统一服务的开放性基础。而C/S模式开发是具有针对性的,对客户端有一定的要求,因此缺少通用性,移植性,业务变更不灵活,在维护、系统升级方面都有很大的麻烦而且兼容性较差,对于不同的开发工具,相互之间很难兼容,具有较大的局限性,新技术不便于使用。另外,它的开发成本较高,需要具有一定专业水准的技术人员才能完成。图2-1所示是B/S模式应用系统网络结构图:

图2-1 B/S模式应用系统网络结构图

7

2.7 EasyUI

jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。

2.8 系统开发平台及运行环境

2.8.1 系统开发平台

(1)MyEclipse

MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。

对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。

总之,MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。

(2)Tomcat服务器

Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行Tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。因为Tomcat 技术先进、性8

能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Tomcat的环境主要有以下几方面技术优势:

1)Tomcat中的应用程序是一个WAR(Web Archive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。

2)在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。

3)Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理html页面。

4)Tomcat也可以与其它一些软件集成起来实现更多的功能。

2.8.2 运行环境

操作系统:Windows XP以上版本。

服务器软件:Tomcat7.0以上版本。

浏览器:IE、Fire Fox、Google Chrome。

9

第三章 系统需求分析

软件工程活动是“生成一个最终满足需求且达到工程目标的软件产品所需要的步骤”1。软件工程包括了需求、设计、编码实现、测试等内容,需求分析作为软件工程中的第一步,其作用是分析使用者的各种要解决的问题进行详细分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,在软件工程当中的“需求分析”就是确定要计算机“做什么”,达到什么样的效果。

需求分析工作做的好坏直接决定了软件是否能符合客户的要求,是软件工程的重点,本章正是通过系统功能需求分析和用例图模型两方面研究了零食购物系统的功能需求。

3.1 功能需求分析

该零食商城系统是一个典型的B/S架构应用,需要实现用户浏览商城零食信息、用户查询商城零食、用户注册成为商城会员、用户添加零食到购物车、用户提交零食订单、用户查询历史订单、用户查询和修改个人信息、用户对零食进行评价;需要实现管理员管理零食信息、管理员管理订单、管理员管理员工信息和用户信息和管理员管理系统配置信息。

构建用例模型的第一步是确定模型中的使用者有哪些,确定使用者的原则有:谁是系统的维护者、谁是系统的参与者等。一般维护者处于系统内部,对系统有绝对的控制权;而参与者一般都位于系统的外部,处于系统的控制之外。

经过对零食商城系统的分析,可以确定本系统用例模型有三种,分别是商城游客、商城注册会员和商城管理员。下面分别对这三个角色的功能进行描述:

1) 商城游客

商城游客是未注册商城会员的用户,他们可以浏览商城内容,但不能进行商品选购、添加购物车、提交订单、零食评论等操作。商城游客主要功能如下(图3-1为商城游客用例图):

a. 浏览商城零食;

b. 查询商城零食;

c. 注册成为商城会员。

10

图3-1 商城游客

2) 商城注册会员

商城注册会员是经过商城合法认证的用户,能够登录到商城中进行相关操作。商城注册会员主要功能如下(图3-2为商城注册会员用例图):

a. 浏览商城零食;

b. 查询商城零食;

c. 添加零食到购物车;

d. 提交订单;

e. 查询历史订单;

f. 查看个人中心;

g. 零食评价;

h. 登录商城

11

图3-2 商城注册会员

3) 商城管理员

商城管理员主要负责商城系统的后台管理工作,主要功能如下(图3-3为商城管理员用例图):

a. 管理商城人员,包括管理商城员工和商城注册会员;

b. 管理商城图片;

c. 管理商城订单

d. 管理商城零食;

e. 统计商城销售额;

12

图3-3 商城管理员

在确定了系统用户和用户功能后就可以构建零食商城系统的用例图了,整个系统的用例图如图3-4系统总体用例图所示:

图3-4 系统总体用例图

13

3.2 非功能需求分析

(1)系统的实用性

系统的实用性是指系统设计开发的功能要尽量简单、实用,用户在使用系统过程中能够感受到系统的快捷、方便,不存在很多累赘和多余的操作或者功能。

(2)系统的安全性

零食商城系统中记录了重要客户信息,包括客户的资料、营销数据、账户金额等信息,这些信息要具有很高的保密性和经济价值。因此,要求零食商城系统要具有一定的安全性,能够保证重要数据信息不被轻易窃取和破坏。

(3)系统的稳定性

系统稳定性差则预示着系统在用户使用时,可能会出现数据操作错误,页面响应时间过长或者干脆无法响应等,因此系统的稳定性是用户对系统评价的重要指标之一。系统应采用稳定的操作系统、数据库、中间件等,以保证系统的稳定性。

(4)系统的开放性

系统的开放性是指系统具有良好的可兼容性,可以在Windows的大部分版本的操作系统中正常的运行,另外,也支持不同浏览器版本,能够在微软的IE浏览器、谷歌浏览器等常用的浏览器上正常运行。系统的易升级和管理也是系统开放性的表现。

3.3 可行性分析

3.3.1 经济可行性

本系统要求实现一个网上零食商城系统,系统本身并不复杂,实现起来相对比较容易。由于Java在Web开发上的优势,本系统的开发周期并不需要太长,这样对成本的要求并不是太高。

本系统基于B/S模式:在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。

3.3.2 技术可行性

本系统基于Jsp+SSM+Tomcat+MySQL, 并采用B/S模式,由于JSP、SSM功14

能强大,而Tomcat和MySQL灵活易维护在开发方面具有方便快捷、使用灵活的特点,以及目前的广泛实际应用,因此使用JSP、SSM、Tomcat和MySQL是开发轻平台的最佳组合从而说明本系统在技术方面可行。

硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。

15

第四章 系统设计

系统设计是把用户需求转化为系统的最重要开发环节,解决了“应该怎么做系统”的问题。在本章节中,主要是在系统需求分析的基础上,对系统架构、系统功能模块设计、系统工作流程设计和系统数据库设计进行阐述。

4.1 系统架构

零食商城系统采用SSM(Spring MVC+Spring+Mybatis)框架开发,是标准的MVC模式,将整个系统划分为View层,Controller层,Service层,DAO层四层。其中,Spring MVC负责请求的转发和视图管理,Spring实现业务对象管理,Mybatis作为数据对象的持久化引擎。整个系统架构运行流程如图4-1所示:

图4-1 系统架构运行流程图

View层:与Controller层结合比较紧密,需要二者结合起来协同工发,主Controller层:控制器,导入service层,因为service中的方法是我们使用到的,controller通过接收前端传过来的参数进行业务操作,在返回一个指定的路径或者数据表。

Service层:存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,它有接口还有接口的实现方法,在接口的实现方法中需要导入Dao层,Dao层是直接跟数据库打交道的,它也是个接口,只有方法名字,具体实现在文件里,service是供我们使用的方法。

Dao层:对数据库进行数据持久化操作,它的方法语句是直接针对数据库操作的,而service层是针对我们controller,也就是针对我们使用者。service的impl是把mapper和service进行整合的文件。

要负责前台Jsp页面的表示。

4.2 系统功能模块设计

设计零食商城系统的原理与在超市购物的原理是一样的。用户登陆系统界面在网站中选择心仪产品,把所选定的商品放在购物车,自行选择购买产品的数量或者是把购物车中的产品全部清空。在线填写货物订单,尤其是收货人信息要引16

起重视,与此同时还涉及到提交信息、查看账单等操作。

实质上,零食商城系统的综合性相对较强,复杂程度相对较高,可对现有软件进行充分利用,进行系统设计与规划。构建完善成熟的零食商城系统,其中涉及到以下内容,即前台网页界面、处理程序、MySQL 后台数据库系统等,在网站页面中显示出以下内容,例如产品图片、产品名称、产品价格、产品信息等。处理程序其实也就是对用户提交表单与相关操作进行处理,存储在后台数据库的信息有销售数据、客户数据、订货数据、商品数据等。

因此,零食商城系统需要具备前台功能和后台功能,其中,前台功能可以实现以下功能,例如显示热门商品、显示最新商品、查询订单、用户登录、用户注册、查看用户中心、添加到购物车、显示商品分类和查看商品信息。系统前台功能如图4-2所示:

图4-2 系统前台功能模块结构图

系统后台功能可以实现以下功能,管理用户、管理商品、管理订单、管理图片和统计营业额。系统后台功能如图4-3所示:

图4-3 系统后台功能模块结构图

17

4.3 系统工作流程设计

系统工作流程包含用户工作流程和管理员工作流程,如图4-4所示:

图4-4 系统工作流程图

4.4 数据库设计

数据库的设计关系到整个应用系统的运行效率,数据库设计得好,不仅有利于日常数据的维护更新,而且可以提高系统的运行效率,缩短数据查询响应周期,增加网站的流量[9]。合理的数据库设计可以使围绕它支持的Web页面的Java代码简单化,易于实现,并且可以提高数据存储的效率,保证数据的完整一致。零食商城系统采用MySQL作为后台数据库开发工具。

4.4.1 数据库概念设计

概念模型用于信息世界的建模,与具体的DBMS无关。为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型。人们常常首先将现实世界抽象为信息世界,然后再将信息世界转换为机器世界。也就是说,首先把现实世界18

中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统和具体的DBMS,而是概念级的模型,然后再把模型转换为计算机上某一个DBMS支持的数据模型。实际上,概念模型是现实世界到机器世界的一个中间层次。

信息世界中包含的基本概念有实体和联系。

(1) 实体 (entity)

客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。例如,一个学生、一门课、一个供应商、一个部门、一本 书、一位读者等都是实体。

(2) 联系 (relationship)

在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体内部的联系和实体之间的联系。实体内部的联系通常是组成实体的各属性之间的联系。两个实体型之间的联系可以分为3类,一对一联系,(1:1);一对多联系(1 : n);多对多联系(m : n)。

概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示信息世界中的常用概念。概念模型的表示方法很多,其中最为常用的是于1976年提出的实体,联系方法(Entity-Relationship Approach)简记为E-R表示法)。该方法用E-R图来描述现实世界的概念模型,称为实体-联系模型,简称E-R模型。根据数据流程分析,绘制零食商城系统的全局E-R模型如图4-2所示。

图4-5 系统全局E-R图

根据系统分析的主要实体有:用户、管理员、零食、购物车、订单、发票、个人账户、积分和角色。各个实体具体的描述属性图如下(实体属性在下图中并19

没有全部给出,因为属性过多的原因):

1. 用户实体

4-6 用户实体图

2. 管理员实体

4-7 管理员实体图

3. 零食实体

4-8 零食实体图

4. 购物车实体

20

4-9 购物车实体图

5. 订单实体

4-10 订单实体图

6. 发票实体

4-11发票实体图

7. 角色实体

21

4-12 角色实体图

8. 积分实体

4-13 积分实体图

4.4.2 数据库逻辑设计

数据库逻辑设计主要是把数据库概念设计时设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。它包括数据项、记录及记录间的联系、安全性和一致性约束等等。导出的逻辑结构是否与概念模式一致,从功能和性能上是否满足用户的要求,要进行模式评价。

本系统数据库名称为db_snack_shop,数据库中包括:1)用户表(userinfo)2)管理员表(admin)3)零食表(snackinfo)4)购物车表(record)5)订单表(order)6)发票表(receiptinfo)7)角色表(role)8)积分表(integral)。各表数据结构如下:

(1)用户表(userinfo),存储用户信息

22

字段名称

u_id

u_realname

u_username

u_password

u_money

u_phone

u_email

u_sex

u_resgistDate

u_address

u_score

数据类型

int(11)

主键

Y

是否空

N

Y

Y

Y

Y

Y

Y

Y

Y

Y

说明

用户ID

真实姓名

用户名

密码

钱包金额

手机号

邮箱

性别

出生日期

地址

积分总数

varchar(255) N

varchar(255) N

varchar(255) N

varchar(255) N

varchar(255) N

varchar(255) N

char(255)

date

N

N

varchar(255) N

int(11) N

(2)管理员表(admin),存储管理员信息

字段名称

ad_id

ad_username

ad_password

role_id

数据类型

int(11)

varchar(255)

varchar(255)

int(11)

主键

Y

N

N

N

是否空

N

Y

Y

Y

说明

管理员ID

用户名

密码

角色ID

(3)零食表(snackinfo),存储零食信息

字段名称

s_id

s_batch

s_name

s_price

s_discount

s_pictureUrl

s_brand

s_place

s_Imported

s_score

s_pDate

s_qDate

state

数据类型

int(11)

varchar(255)

varchar(255)

double

varchar(255)

varchar(255)

varchar(255)

varchar(255)

int(1)

int(11)

date

varchar(255)

int(11)

主键

Y

N

N

N

N

N

N

N

N

N

N

N

N

23

是否空

N

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

说明

零食ID

批次号

零食名称

价格

折扣

图片URL

品牌

产地

是否进口

积分

生产日期

保质期

1-上架,-1下架

s_createDate

s_dese

s_type

s_number

date

varchar(255)

varchar(255)

int(11)

N

N

N

N

Y

Y

Y

Y

上架时间

详情

类型

数量

(4)购物车表(record),存储购物车信息

字段名称

record_id

s_id

recordDate

recordNumber

数据类型

int(11)

int(11)

date

int(11)

主键

Y

N

N

N

是否空

N

Y

Y

Y

说明

购物车ID

零食ID

时间

零食数量

(5)订单表(order),存储订单信息

字段名称

id

o_id

u_id

e_id

o_time

o_type

数据类型

int(11)

varchar(255)

int(11)

int(11)

date

int(11)

主键

Y

N

N

N

N

N

是否空

N

Y

Y

Y

Y

Y

说明

订单ID

订单编号

用户ID

管理员ID

时间

-1:未发货;1:完成,0:已发货

(6)发票表(receiptinfo),存储发票信息

字段名称

r_id

o_id

o_name

o_phone

o_address

数据类型

int(11)

varchar(255)

varchar(255)

varchar(255)

varchar(255)

主键

Y

N

N

N

N

是否空 说明

N

Y

Y

Y

Y

发票ID

订单ID

订单名称

电话

地址

(7)角色表(role),存储角色信息

字段名称

role_id

role_name

role_info

24

数据类型

int(11)

varchar(255)

varchar(255)

主键

Y

N

N

是否空 说明

N

Y

Y

角色ID

角色名称

角色信息

(8)积分表(integral),存储积分信息

字段名

i_id

u_id

i_number

i_time

i_dese

数据类型

int(11)

int(11)

int(11)

date

varchar(255)

主键

Y

N

N

N

N

是否空 说明

N

Y

Y

Y

Y

积分ID

用户ID

获得积分

操作时间

备注

25

第五章 零食商城系统实现

本章节介绍了零食商城系统的实现,包括用户模块和管理员模块的实现过程,下面通过系统运行截图的方式进行阐述。

5.1 用户模块

5.1.1 首页

用户进入商城系统,显示首页如下:包括显示热门商品和最新商品。

图5-1 商城首页

首页最新商品显示。

图5-2 商城最新商品

26

5.1.2 零食分类

零食商城零食分类显示,包括膨化类蹲好肉制类、饮料类和进口类等商品。

图5-3 零食分类

5.1.3 零食信息

商城显示零食详细信息,可以添加到购物车。

图5-4 零食信息

27

5.1.4 购物车

商城购物车,可以显示购物车零食列表、零食数量和金额。

图5-5 购物车

5.1.5 用户注册

商城用户注册,需要填写用户名、密码、邮箱、姓名、性别、联系方式和地址等信息。

图5-6 用户注册

5.1.6 用户登录

商城用户登录,需要填写用户名/邮箱和密码。

28

图5-7 用户登录

5.1.7 个人中心

商城用户个人中心显示,可以显示用户详细信息。

图5-8 个人中心

5.1.8 订单

商城用户确认订单,可以显示订单零食列表和订单金额,需要用户填写收货人、练习方式和收货地址等信息。

29

图5-9 订单管理

商城用户订单查看,可以显示用户的所有订单列表。

图5-10 订单详情

5.2 管理员模块

5.2.1 管理员登录

商城后台登录,管理员输入用户名密码登录后台。

30

图5-11 管理员登录

登录后台后,界面如下:

图5-12 系统后台主页

5.2.2 用户管理

商城管理员管理商城员工信息,可以搜索员工和显示员工列表。

31

图5-13 员工管理

商城管理员管理用户信息,可以搜索用户和显示用户列表。

图5-14 用户管理

5.2.3 图片管理

商城管理员管理商城图片,可以替换首页图片。

32

图5-15 图片管理

5.2.4 订单管理

商城管理员管理订单信息,可以搜索订单和显示订单列表。

图5-16 订单管理

商城管理员查看订单详情。

33

图5-17 订单详情

5.2.5 零食管理

商城管理员管理零食信息,可以搜索零食和显示零食列表

图5-18 零食管理

商城管理员添加零食,填写零食相关信息即可添加零食。

34

图5-19 零食添加

5.2.6 营业额统计

商城管理统计营业额,以销售占比饼图显示。

图5-20 营业额统计

35

第六章 系统测试

6.1 测试的目的与目标

在此系统进行初步实现之后,开始进行对系统进行测试,找出系统中存在的Bug,通过测试,用提交的Bug报告来为以后软件的改进提供标准和参考,能够在以后的系统改进中找到依据。

测试后的软件各模块基本功能可以顺利进行,尽可能的提高软件的健壮性。

6.2 测试方法

 从是否关心软件内部结构和具体实现的角度划分:黑盒测试和白盒测试;

 从是否执行程序的角度:静态测试和动态测试;

 从软件开发的过程按阶段划分有:单元测试、集成测试、确认测试、系统测试、验收测试、回归测试、Alpha测试、Beta测试;

单元测试又称模块测试,是针对软件设计的最小单位 ─ 程序模块(这里所说的程序模块在Java中一个模块就是一个方法),进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。

集成测试 (组装测试、联合测试),通常在单元测试的基础上,需要将所有模块按照设计要求组装成为系统。这时需要考虑的问题是:

 在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;

 一个模块的功能是否会对另一个模块的功能产生不利的影响;

 各个子功能组合起来,能否达到预期要求的父功能;

 全局数据结构是否有问题;

 单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。

确认测试(Validation Testing),确认测试又称有效性测试。任务是验证软件的功能和性能及其它特性是否与用户的要求一致。对软件的功能和性能要求在软件需求规格说明书中已经明确规定。它包含的信息就是软件确认测试的基础。

系统测试(System Testing),是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。系统测试的目的在于通过与系统的需求定义作比较, 发现软件与系统的定义不符合或与之矛盾的地方。

验收测试(Acceptance Testing),在通过了系统的有效性测试及软件配置审查之后,就应开始系统的验收测试。验收测试是以用户为主的测试。软件开发人员和QA(质量保证)36

人员也应参加。由用户参加设计测试用例,使用生产中的实际数据进行测试。在测试过程中,除了考虑软件的功能和性能外,还应对软件的可移植性、兼容性、可维护性、错误的恢复功能等进行确认。

37

结论与展望

设计开发基于 Jsp+SSM+MySql的零食商城管理系统是集业务管理与软件技术为一身的工作,只有在理解业务的基础上,才能对业务操作流程进行提炼优化,并通过软件设计与开发技术实现。本文设计的零食商城系统界面友好、功能丰富、操作简单,能适应大部分环境下的零食商城所需要的工作。本系统在设计采用了 J2EE 框架,设计上实现了高内聚、低耦合的要求,在设计上做到了可扩张和维护。本文在论文撰写、系统开发时对现有零食商城系统做了深入的调研,并行性了需求分析和系统设计,最终实现了一个实用的网上零食商城系统。

通过开发《零食商城系统》,我较为全面的掌握了JAVA的基本知识和编程技巧,并在开发过程中我的JAVA开发能力得到了进一步的提高。如:更进一步的深入了解MVC设计模式,软件三层框架;SQL语言的使用。

在开发过程中我学到了一些经验:系统分析的好坏将决定着的系统开发成功与否,一份好分析设计将是成功开发主要因素。我们在着手开发之前不要急于编程,先应有较长的时间去把分析做好,做好数据库设计工作,写出相关的开发文档等。然后再开始编写程序代码,这样做到每段代码心底都有数,有条不紊。当然也有些还需待继续深入地方如:控件的应用等。

此外,我还觉得,我个人在这次设计中走了很多弯路。主要是因为平时很少接触软件开发工作,在应用方面缺乏经验,以后还需要更多的努力。

对我来说,这次设计的本身所产生的影响,还远远没有结束,我从中学到了许多课本上没有的知识。通过自己的学习和努力;通过各方面的指导和教育,使我不仅仅在知识水平和解决实际问题的能力上有了很大的提高。还从思想的深处体会到,要把自己的所学变成现实时所将面对的种种难题。

系统不免有错误和待改进之处,真诚欢迎各位提出宝贵意见。

38

参考文献

[1] 张孝祥,Java 就业培训教程(附盘),清华大学,(2007-07)

[2] 石志国,薛为民,董洁.JSP应用教程.北京:清华大学出版社.北京交通大学出版社,2004

[3] 李曙光.JSP开发实例完全剖析.北京:中国电力出版社,2006

[4] 杨易.JSP高级程序设计.人民邮电出版社,2006

[5] Vivek 高级程序设计,机械工业出版社,2001

[6] 申吉红,廖学峰,余健.JSP课程设计案例精编.北京:清华大学出版社,2007

[7] 卢潇.软件工程.北京:清华大学出版社;北京交通大学出版社,2005

[8] 萨师煊,王姗.数据库系统概论.北京:高等教育出版社,2000

[9] 马运涛.Eclipse精要与高级开发技术.北京:电子工业出版社,2003

[10] PaulJPerrone etal,张志伟,谭郁松,张明杰.J2EE构建企业系统[M] .北京:清华大学出版社,2001

39


本文标签: 系统 商城 零食 用户