软件工程网上购物系统的设计与实现.docx
《软件工程网上购物系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《软件工程网上购物系统的设计与实现.docx(27页珍藏版)》请在冰豆网上搜索。
软件工程网上购物系统的设计与实现
软件工程-网上购物系统的设计与实现
网上购物系统的设计与实现
专业:
软件工程姓名:
指导教师:
摘要随着科技的迅速发展,在经济领域的网络技术应用最突出的一个例子就是电子商务。
电子商务在根本上改变了传统的商品买卖的模式,使买卖双方的交易更加便捷并且降低了彼此间交易成本。
网上购物系统,一种具备交互功用的物品买卖系统,它在网上创建虚构的购物商场,让购物变得轻松、快捷、方便。
本系统分为两个大的模块。
前台包括用户注册登录、浏览商品、查询商品、商品评价、订购商品、购物车等;后台包括对商品及其种类的管理、对用户信息查看、订单详情、评论管理等功能。
本系统前台主要用JSP语言开发,后台数据库为MySQL,使用MyEclipse实现,JSP引擎为tomcat7.0.6,展现给用户的是一款以Web技术为基础、B/S架构的网上购物系统。
关键字SSH,Tomcat,MySQL,商城
Abstract
Withtherapiddevelopmentofscienceandtechnology,intheeconomicfieldofnetworktechnologyapplicationofthemostprominentexampleise-commerce.
E-commercefundamentallychangedthetraditionalpatternofcommoditytrading,sothatbuyersandsellersofthetransactionmoreconvenientand
1.绪论
1.1课题背景
计算机Internet的兴起改变这个社会的商品贸易性质,我国一些企业从上世纪崛起。
但是,因为电子商务前进的制度环境欠缺,对此制约的法律不完善,信用体系待加强引起的一系列问题,对电子商务的前进有了一定程度的阻碍。
从2000年以后,社会的一步步的前进,网络交易中各种瓶颈的制约因素一个接一个地被打破,企业的扩散也增加了对电子商务的影响。
自2006年以来,我国的电子商务发展很快,其市场的交易规模从2006年的1.5亿元突增到2013年的9.7亿元,达到30%的年均复合增长率。
网上交易和实体经济越来越密切的结合,不断渗透在我国工业、农业、商务贸流、旅游和零售消费等多个范畴。
其支撑体系,例如:
物流配送、电子支付也在逐步扩大。
按照iResarch中国网购市场数据可知,2016年第三季度中国网购市场交易额达1.15万亿元,与上一年相比,企业规模有了很大幅度的增长,并且继续保持平稳增长态势。
国家统计局发布的数据显示,同年第三季度我国消费品零售总额达到8.2万亿元,网上购物在总额中所占的比例比去年同期增长13.9%,涨幅为1.5个百分点。
概言之,中国电子商务发展势头良好,呈上升趋势,设计本系统是有必要且明智之举。
1.2目的和意义
网上购物和传统购物相比有许多优点:
1.方便搜索
在线销售可使用各种检索方式,从分类、销售排名、新货等准确。
2.海量信息
较传统购物而言,网上购物系统拥有大量商品信息供买家选择。
3.成本低,风险小,无地域限制
对商家而言,在线购物打破了传统购物的时间局限性,使客户群更加壮大,增加了商品的销路和销量,并省去了实际店铺所产生的花销。
对买家而言,可随时随地购物,足不出户收揽世界各地美食美物。
2.相关技术介绍
2.1SSH框架
SSH是用于构建灵便,易于扩展的多层Web应用程序的多个框架(struts+spring+hibernate)的集成。
在组合SSH框架中,三者各司其职:
Struts是一个非常流行的MVC框架,缩短了应用程序开发所需要的时间,拥有很强大的拦截机制,Servlet和JSP是它的主要核心。
当使用Struts的MVC模式,就可以有一个清晰的逻辑,并可以削弱业务逻辑接口和数据接口的结合,视图层丰富的变化,使程序结构化;
Spring在框架中充当着一个容器的角色,维护着各层次之间的关系。
Spring具有IoC容器、轻量、AOP、促进其他框架、面向接口等特性。
这些特征避免了每次都要手动开启事务,提交事务的重复代码,使开发逻辑更加清晰、更容易管理。
Hibernate是开放源码的对象关系映射框架。
JDBC访问数据库的代码被其封装,数据访问层复杂的重复性代码因为Hibernate而被强有力的简化了。
具有较强的移植性,适合各类数据库,不会改变繁琐的代码,只需变换配置就可以继续使用。
在SSH框架中,其架构图如图2-1所示,对象间的调用流程如图2-2所示:
图2-1SSH架构图
图2-2对象调用流程图
2.2MySQL数据库
MySQL是一种开源的关系型DBMS,在所有的数据库管理语言中SQL语言是它使用比较频繁的一种。
MySQL是一个中小型数据库,与其他数据库相比,它因所占的内存空间较小,速度快、可靠性较高、拥有较好的适应性而备受关注。
本系统对数据库的要求不是特别高所以使用MySQL数据库绰绰有余。
在本系统设计过程中,运用了MySQL-Front这一款优秀的MySQL管理工具,能够在任何地点对我们的数据库有效而轻松的进行管理。
2.3B/S结构
B/S结构即浏览器/服务器模式,该模式具体是这样的:
得到用户在浏览器上向服务器发出的请求消息,服务器需要处理相关信息并且发送回服务器。
B/S结构源自Web网络结构模型的开发。
在B/S模式下,所谓的Web服务软件和Web应用是至关重要的,Web服务软件主要是处理用户对Web应用的请求,并对web应用运行且进行管理,让客户的信息请求得到满足。
因此,系统的开发需要安装JSP引擎,在这里用到的是由Apache和Sun公司联合开发的Tomcat服务器。
B/S结构的优点
1.具有分布式特点,打破时间空间限制,业务可以更加方便的被查询与浏览。
2.业务易拓展,服务器功能的多少取决于增加页面的多少。
3.易维护,只需要更改页面,即可实现数据更新的同步。
4.开发简单,共享性很好。
B/S架构图如图2-3所示:
图2-3B/S架构图
2.4JSP
现如今信息快速发展,Java已经无处不在。
手机软件、手机游戏、电脑软件都多多少少的涉及到Java,只要你使用手机、电脑等电子产品,你就会用到跟Java有关的东西。
很多涉及到Java的技术都被普遍应用和认可,JSP就是其中的一个。
JSP(JavaServerPages)是在服务器上运行的Java视图技术,可以使用HTML,CSS,JavaScript等客户端语言编写模板文本。
JSP支持所谓的taglib,它们由Java代码支持,我们可以通过该代码动态控制页面流或输出动态,一个著名的标签是jstl。
JSP还具有内置的servlet代码,不需要任何外部编译可以直接运行。
JSP的执行过程如下:
1.客户端访问JSP页面;
2.JSP文件被转变成Servlet源码;
3.Servlet源码被进行了编译;
4.JSP容器加载编译后的代码并运行;
5.把执行过程响应到客户端。
执行过程如图2-4所示:
图2-4JSP执行过程
3.需求分析
3.1可行性分析
3.1.1技术的可行性
MyEclipse和MySQL数据库实现本系统的主要工具,Java语言由于跨平台、容易掌握被广泛使用。
大三时对Java有了一定程度的学习,大四上学期进行了实习实训对SSH架构也有了一些认识和掌握,对系统数据库的实现是主要要做的工作。
在校学习期间对软件分析、测试等也有一定的经历,实现了本系统在技术上的可行性。
3.1.2操作可行性
本系统只需要一台PC就可以对其进行操作,而且操作方便,不需要太多的专业计算机方面的知识。
根据具体提示就可以容易的执行自己想要做的事情,在日期输入方面采用下拉式日历,不用再对日期的格式纠结,操作方面具有可行性。
3.1.3法律的可行性
本系统是自主设计的购物系统,很有现实意义。
大部分用到的开发工具都是开源的,实现该系统没有侵权,这在法律上是可行的。
概言之,开发本系统是完全可以的。
3.2用户用例图
3.2.1标准用户用例图
对普通用户而言使用该系统具体流程如下:
未注册的用户可以浏览商品,查看公告。
当需要购买时进行注册,注册完成进行登录。
完成上述操作,想变更个人信息很容易,只需进去个人信息就可以对其进行所需的更新。
登录后可选择商品并进行订购,把商品加入购物车后去收银台结算,提交订单后获得订单后,等待商品的到达。
其用例图如图3-1所示:
图3-1普通用户用例图
3.2.2管理员用例图
管理员在这个系统中充当了主要的角色,涉及到的功能模块主要有以下六部分:
如图3-2所示:
图3-2管理员用例图
3.3系统功能需求
1.前台系统功能模块分为
(1)商品展示模块:
通过新货上架、销量排名、焦点商品、特价商品等;
(2)商品查询模块:
商品可按类别查询也可以再搜索框输入具体名称;
(3)购物车模块:
将商品加入购物车后可以选择删除、数目、更新价格、返回继续购物、结算等操作;
(4)用户维护模块:
允许使用者注册、登录、更改个人消息等;
(5)订单查询模块:
可以看到历史订单以及各个订单的状态、支付金额、时间等信息;
(6)公告浏览模块:
用户可及时了解店铺的活动;
(7)评论模块:
对心仪商品进行评价。
2.后台系统功能模块分为
(1)商品管理模块:
可查询商品并对其进行编辑以及添加商品;
(2)会员管理模块:
管理员查看注册用户信息并对其进行操作;
(3)商品类别管理模块:
对商品类别以及其子类做一些所需更改;
(4)订单管理模块:
特权用户对订单有关情况进行了解并安排发货或者拒绝该交易;
(5)公告管理模块:
管理员添加或者发布有关商城的消息;
(6)评论模块:
对买家的评价进行浏览并选择删除或保留。
4.系统设计
4.1系统总体架构设计
在设计本系统的时候,要尽量让人们看清楚,严格依照三层构造。
JSP主要应用到了表现层,Servlet应用到了中间层,数据的储存主要运用到了MySQL数据库。
具体的总体构架如图4-1所示:
图4-1系统总体架构
4.2功能模块划分
根据所描述的功能需求,本系统能够完成以下的功能。
系统的功能模块,如图4-2所示:
图4-2功能模块图
在本系统中用户管理模块涉及到的功能较而言之有些容易。
系统使用初期,用户“b”被设置为系统管理员,是由设计者手动连接到数据库中的。
“b”可以创建另外的管理者信息,标准用户自己处理自己所要处理的信息。
主要功能如图4-3所示:
图4-3用户管理功能模块关系图
4.3数据库设计
本系统对数据库的要求不是特别高所以使用MySQL数据库绰绰有余。
在本系统设计过程中,运用了MySQL-Front这一款优秀的MySQL管理工具,让我们的数据库可以在任何地方被方便的维护和管理。
4.3.1数据分析
1.用户注册、登录,建立用户信息数据表是必不可少的,数据项包括用户联系方式、用户名、密码、地址等;
2.查询商品信息和详情,不但要对类别进行管理,而且还需对每个商品进行管理,2个数据表是其下限;
3.下单完成以后要进行订单管理,包括基本信息和订单详情等;
4.系统需要被管理,管理员信息数据表示需要被建立的,包括管理员信息、密码等数据项。
5.买家对商品要给出评价,在该系统建立消息形式是一定要的,包括所要评价信息名称、日期等。
主要创建的数据项与结构如下:
Ø用户信息:
买家ID,买家名等;
Ø管理员信息:
管理员ID,密码等;
Ø商品信息:
商品ID,商品名称、单价等;
Ø商品类别信息:
商品类别ID,类别名称等;
Ø订单信息:
订单ID,用户编号,订货地址等;
Ø订单明细信息:
订单ID,商品ID,订货时间等;
Ø评价信息:
评价标题,评价日期,评价内容等。
4.3.2数据库的详细设计
对数据进行分析后,将该购物系统的数据库命名为db_snaokshop,使用以下几张表来存储所需要的数据。
1.商品信息表
在该表中收录了所有商品的一些信息。
如表4-1所示:
表4-1 商品信息表
2.商品类别信息表
对商品进行归类存放,让买家更容易找到所需要的货品,卖家对商品也方便管理。
如表4-2所示:
表4-2 商品类别表
3.订单信息表
此表用于记录用户下单情况,让用户便于查看商品订单情况也为admin发货给了一定的数据支持。
如表4-3所示:
表4-3订单表
4.订单明细信息表
买家购买商品后,形成一个商品独有的订单号,在这订单中包含买家购买商品的具体数量和规格等内容,卖家主要根据订单信息为买家安排发货的。
如表4-4所示:
表4-4 订单详情表
5.用户信息表
表中主要记录了用户的ID、名称、住址等信息,方便买家对自己的信息进行修改,卖家对购物者的具体信息进行管理。
如表4-5所示:
表4-5 用户信息
5.系统实现
5.1开发环境的搭建
5.1.1Windows8系统下所用软件
(1)jdk1.7.0_17
(2)mysql-5-winx64
(3)MySQL-Front
(4)apache-tomcat-7.0.6
(5)MyEclipse8.5
5.1.2环境搭建
(1)JDK环境变量配置
第一、在Sun官网免费获取JDK安装程序,并点击安装。
第二,JDK安装完成,配置环境变量。
点击“设置”—>“电脑信息”—>“高级系统设置”,选择“高级”,点击“环境变量”的按钮。
打开系统变量,点击“新建”,添加名为Java_Home的变量名;变量值输入C:
\ProgramFiles\Java\jdk1.7.0_17,点击确定。
同上新建一个变量名为:
classpath,值为:
.;%Java_Home%\lib;%Java_Home%\lib\tools.jar的变量,点击确定。
点击Path变量,点击“编辑”,在变量值中添加:
%Java-home%\bin;%Java_Home%\jre7\bin;,点击确定。
(2)安装myeclipse8.5。
双击exe文件,选择路径,根据提示逐步安装。
(3)添加Struts和Hibernate。
右击“工程”---->“BuildPath”---->“ConfigureBuildPath”找到所需要的Struts2和Hibernate包进行添加。
(4)安装mysql-5-winx64。
点击exe文件行安装,安装完毕后,需要如下操作来测试是否安装成功。
在命令行输入mysql-uroot–p123(-u后面为用户名,-p后为数据库密码),若显示如图5-1所示效果,则MySQL安装成功。
图5-1测试MySQL安装成功
(5)安装MySQL-Front软件。
该软件是一款优秀的MySQL数据库的管理工具,在MySQL-Front官网或者华军软件园下载后,双击下载的exe文件,按照相应提示安装即可。
5.2系统首页设计
本购物商城的主界面设计如图5-2所示,进入该页面可了解到网站主要功能,左上部分为用户注册、登录;公告浏览、商品查询、销量排行处于右部分,主要是为方便用户了解和购买商品。
图5-2 系统首页
5.3前台基本功能的设计
5.3.1用户维护
使用本系统的用户提供的信息要可靠并且需要安全管理,所以用户管理在网购系统设计中具有重要的意义。
该模块涉及到的功能如下:
1.注册
(1)实现目标
用户注册需要对密码进行输入、确认并填写真实的个人信息如:
姓名、地址、邮箱等。
用户只需按照所需填写即可。
邮箱虽然不是必不可少的,但是设置这样一个东西有以下好处:
第一,用户的邮箱很大程度比其他联系方式固定并且是唯一的;第二,通过用户的e-mail可以更方便的联系。
在注册时,提示不符合规矩,则需重新填写。
成功注册后的信息会在后台数据库中存储。
界面的设计如图5-3所示。
图5-3 用户注册模块
表5-1 用户注册表
2.登录
(1)对用户登录主要流程描述
用户登录要对其输入的信息进行校验,如果之前有注册,登录成功。
相反,如果用户未注册,提示相应导致无法登入的信息。
用户登录过程的流程图如图5-4所示。
图5-4 用户登录流程图
用户登录界面如图5-5所示:
图5-5 用户登录模块
表5-2 用户登录表
3.用户修改
(1)实现目标
登入系统后,主界面会有“个人信息”模块,点击此处查看个人信息。
在该界面可以对自己所注册信息进行查看,若要进行更改,点击“修改个人信息”就可以对不满意信息进行更改,若不需要做任何变动,点击“返回主页”就可以继续购物。
修改个人信息界面如图5-6所示:
图5-6 用户修改模块
表5-3 修改个人信息表
5.3.2商品展示
1.实现目标
货品在界面上以不同的方式展现给买家。
第一:
将所有产品进行分类,每一类中又有其子类,将产品详细的划分,让买家更加方面的找到自己的所需;第二:
分别从销量、评价、价格、上架时间四个角度把产品划分为热销商品、焦点商品、特价商品及新品上架,让买家从另一个角度了解到产品的好坏以及是否值得入手。
其界面设计如图5-7所示:
图5-7商品展示界面
2.实现过程
所在页面名称:
index.jsp
通过查询相应表,按销售额字段升序排列实现。
5.3.3购物车
1.购物车程序流程描述
用户将商品添加到购物车,点击进入购物车后,可对商品进行数量的修改,满意后更新价格,进入结算中心结账或者返回继续购物,最后一起结算。
当用户决定不买商品时,对购物车清空后继续返回购物。
其流程图如图5-8所示:
图5-8 购物车程序流程图
界面的设计如图5-9所示:
图5-9 购物车模块
5.4后台管理的设计
5.4.1订单管理
1.实现目标
在该模块中管理员可以了解用户下单的具体情况。
在与仓库核实后若有库存,根据详细信息联系仓库进行发货,发货后点击“发货”告知用户;如果仓库没货,及时联系买家并删除订单。
该界面如图5-10所示的设计:
图5-10 订单管理模块
5.4.2商品管理
1.实现目标
商品可以被管理员进行删除、修改等操作,在搜索框查询具体要编辑的商品后点击“修改”就可以进行上述操作,根据相应商品对其添加图片。
如图5-11所示的设计:
图5-11商品管理模块
5.4.3公告管理
1.实现目标
建立该模块让商家可以在自己的系统平台上为所销售的物品打广告,买家进入商城主页后也可以第一时间了解商品的实时资讯。
该界面如图5-12所示的设计:
图5-12 公告管理模块
5.4.4评论管理
1.实现目标
用户对商品以及商城的建议和意见在后台显示,让管理员查看,对自家服务和商品的优劣有所了解,根据用户的评价规划商城以后的发展以及商品的更替。
该界面如图5-13所示:
图5-13评论管理模块
6.系统测试
6.1前台首页的测试
1.查询模块测试
点开系统首页,然后在搜索框的右上方输入查询的全名,搜索货物将单独显示,通过对系统进行大量测试,模块成功。
2.商品分类模块测试
测试过程是点击左边的页面的商品类别,鼠标移动到一个商品类别,会弹出其子类别,选择不同的子类别会显示不同种类的商品,反复测试后该模块无误。
6.2用户注册模块的测试
在用户注册界面所有前面加“*”的都是必须填写的,“出生年月”、“联系方式”等无法知晓真假的不加入测试中。
必要的测试准备的数据有:
打开注册页面,输入第一组数据,单击注册按钮,系统提示表单信息不能为空,这组数据中真实姓名为Null。
然后测试第二组数据,因为密码前后不一致而无法注册。
把第三组数据输入后,可以注册成功,故通过。
6.3商品管理模块的测试
1.商品添加
点击“商品管理”,接着点击“添加商品”会出现所属子类别、名称、单价、库存、商品简介等需要填写的部分图片,类别是通过下拉列表框选择。
所有内容填写成功后点击“提交”就可以在上一层界面看见所添加商品的详情(此时没有商品图片)。
点击“上传图片”,就可以传对应物品图片,经多次商品的添加均成功。
2.商品删除
通过点击“删除”对商品进行删除操作,检查表中是否还有此记录,若无则删除信息成功。
3.商品修改
点击“修改”,在跳出的页面对一些商品的产品编号、所属类别、名称、单价、库存、内容简介进行修改,经多次修改,“商品管理”中均出现修改后商品的信息。
经过多次多方面的测试,均无误,该系统已经正确地实现了用户的需求,可以投入使用中。
7.结束语
通过长时间的学习和探索,完成了本科毕业设计以及论文的撰写,本系统需要实现的功能都已实现。
实现的功能包括用户注册登录、商品浏览、商品查询、公告浏览、购物车、订单查询、商品管理、商品类别管理、公告管理等。
在系统的设计开发过程中,由于以前学习过程中动手操作的不多,给自己带来了很多的麻烦。
对一些开发工具不太了解,在查阅课本以及浏览网上的一些讲解,对需要用到的工具有了一定的了解并且可以很好的操作,为系统开发前期做好了准备。
在设计过程中遇到的一些问题,指导老师都会悉心的讲解和指导,给予了我很大的帮助。
虽然设计已经完成,但不免有些小的瑕疵,例如:
商品检索时输入完整名称才可以弹出对应商品。
不过在往后的学习和努力下我一定可以把这个系统做的比现在更好。
在设计本系统的几个月里,自己的知识不足之处比比皆是。
相信以后慢慢的积累,扩充自己的知识,一步一个脚印,不断努力拼搏,就一定会实现自己的目标。
参考文献
1陈静.浅谈电子购物系统[J].科技经济市场.2010,(06):
27-28
2胡燕.软件工程与标准化.信息技术与标准化.2004.(12):
17-21
3盛仲飙.JSP中数据库访问的性能优化研究.微型电脑应用.2008,(9):
16-17
4董纪阳.软件设计中的需求分析.电脑知识与技术.2008.(28):
56-57
5林华灵.基于Strut框架技术的Web应用.中国新技术新产品.2008,(14):
9-11
6何玉洁.数据库原理与应用教程.机械工业出版社.2003:
23-78
7耿祥义,张跃平.JSP大学实用教程.电子工业出版社.2014.15-30
8桃子.电商市场前瞻.微型计算机.2007.(13):
89-90
9周建儒.JSP中自定义标签的实现与部署.科技信息(科学教研).2008.(23):
51-53
10 Mcleod.ManagementInformationsystemmanagementinpractice.PrenticeHall.1998:
43-55
11 RaghuRamakrishnan.JohannesGehrke.DatabaseManagementSystem.McGraw-HillProfessional.2007:
180-213
12CassidyA.Informationsystemsstrategicplanning.Bocaraton.Flrida.St.
Luicepress.1998:
12-31
13DionysiosTsichritzisC.DataBaseManagementSystems.1977:
150-53