网上购物系统软件工程分析论文.docx
- 文档编号:6813230
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:31
- 大小:677.74KB
网上购物系统软件工程分析论文.docx
《网上购物系统软件工程分析论文.docx》由会员分享,可在线阅读,更多相关《网上购物系统软件工程分析论文.docx(31页珍藏版)》请在冰豆网上搜索。
网上购物系统软件工程分析论文
软件工程
项目实验报告
信息学院
前言
目前,网络正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和日常生活。
网络的诞生和发展,颠覆了传统的信息传播方式,冲破了存在于传统交流方式中时间和空间的种种壁垒,极大地改变了人类从物质到精神、从形式到内容、从生产到生活的各种活动,并且给人类带来了新的机遇和挑战。
中国互联网络信息中心发布的第2005.1.19日下午第十五次CNNIC调查结果显示,截至2004年12月底,内地上网用户总数为9400万,比去年同期增长8.0%,其中使用宽带上网的人数达到4280万;上网计算机达到4160万台,增长了14.6%。
用户在网上关注的信息也不再是单一的新闻。
报告数据显示,用户在网上经常查询的信息中,教育信息占29.3%,汽车信息占13.8%,求职招聘信息占24.2%。
在互联网服务业务方面:
电子邮件、搜索引擎、网上银行、在线交易、网络广告、网络新闻、网络游戏等服务业务仍然快速的发展着。
JSP作为一种新兴的网络应用技术,并不单指某一种编程语言,其独有的特色有易用性,兼容性,安全性,可扩充性。
总之,使用JSP技术可以结合HTML代码、和控件来建立动态、交互且高效的Web服务器应用程序。
一.系统功能概述
一,系统需求:
本系统主要为普通购物用户和管理员服务,以下从双方角度分析系统需求:
普通用户
1.未注册用户使用本系统前须先注册账号,填写个人信息。
2.已注册用户可以在首页输入账号名和密码登录,然后系统检查密码的正确性。
如果密码正确,用户就可以进行购物,否则只能做一般的页面浏览。
3.进入系统后,用户就可以直接进行购物。
4.用户对感兴趣的商品可选定,查看其详细信息。
可选择将商品加入购物车购买,或是继续查看其他商品。
5.当购物结束时,用户首先需要浏览一下已经存在于购物车中的商品项目,此时可以更改任何已经存在于购物车中的商品数量。
6.如果确定要购买购物车内的商品,系统会生成一份订购商品的订单。
用户须填写姓名,家庭地址,截止日期,电子邮件地址等必要的信息。
7.用户提交订单以后,系统将用户信息、信用卡信息和购物总价发送到银联系统,由银联系统验证用户及信用卡信息并执行扣款操作,银联系统操作成功与否的信息返回到系统。
系统根据银联系统的操作结果给用户发送E-MAIL提示用户操作成功与否的消息。
如果扣款成功,则与物流系统接口,安排给用户派送所购买商品。
管理员
1.管理员进入系统时,输入口令以防止未授权的访问。
口令通过,则管理员可以对系统中的信息进行维护和管理。
2.管理员可以管理用户信息,可将此用户账号冻结,也可启用用户账号,但无权修改客户信息。
3.管理员还可以管理系统中的商品信息。
可以向系统中添加新商品,也可以对商品信息做修改,还可以删除没有存货或不再出售的商品记录。
4.系统还能提供管理客户定单的功能给管理员。
管理员通过客户的资料,来与客户取得联系。
5.需保证系统对数据库的访问存取速度要尽量快,且保证系统有较高的安全性,这是由于在生成订单时需要通过网络传输用户的信用卡号码密码等信息。
二.功能模块划分
网上购物系统平台主要包括四大功能模块,用户管理、网站布局、管理员管理、搜索等功能模块。
其中用户管理模块,主要包括用户注册、用户修改、用户删除等功能;管理员管理主要包括商品资料、商品交易、会员管理、操作管理(管理员添加、管理员审查、管理员退出)等功能;搜索主要包括(商品名称、商品类别)。
三.系统流程分析
前台购物流程图
后台购物流程图
四.主要分析过程:
1)参与者
主要有四类参与者:
普通的用户,shop管理员,银行,物流公司
2)用例
普通用户
用例1:
注册帐号
用例2:
登录帐号
用例3:
修改帐号信息
用例4:
查看商品信息
用例5:
购买商品
用例6:
修改订单
管理员:
用例7:
管理员登录
用例8:
修改管理员密码
用例9:
查看用户信息
用例10:
查看商品信息
用例11:
批进商品
用例12:
发送商品
用例1:
用例名称:
注册帐号
编号:
01
简短描述:
用来让普通用户注册
参与者:
普通用户
前置条件:
注册时要帐号没有被注册过;
后置条件:
登录成功则返回到浏览界面;注册成功也可以进入浏览,密码修改过后用户密码改变
输入:
帐号名,密码,用户姓名,联系地址,EMAIL,信用卡号
输出:
产生一个新的用户,存入用户表中
执行事件流:
用户输入帐号名,密码,用户姓名,联系地址,EMAIL,产生一个新的用户,然后跳转进入浏览商品环节
用例2:
用例名称:
登录帐号
编号:
02
简短描述:
用来让普通用户登录系统
参与者:
普通用户
前置条件:
登录时要帐号正确,密码正确;
后置条件:
登录成功则返回到浏览界面,而且可以选中商品进行购物
输入:
帐号名,密码
输出:
可以选中商品进行购物
执行事件流:
用户输入帐号名,密码,然后进入浏览商品界面,此时可以选中商品进行购物
用例3:
用例名称:
修改帐号信息
编号:
03
简短描述:
用户登录后可以修改自己帐号的信息
参与者:
普通用户,
前置条件:
用户名密码正确,可以进行登录
后置条件:
用户信息被修改
输入:
新的用户名,或密码或其他用户信息
输出:
用户信息表上存储新的信息
执行事件流:
用户首先输入用户名和密码,等验证正确后可以进行修改用户信息,进而保存在用户信息表中
用例:
4
用例名称:
查看商品信息
编号:
04
简短描述:
普通用户或管理员登录后的可以浏览商品信息
参与者:
普通用户或管理员
前置条件:
用户登录后或管理员登录后
后置条件:
查看商品信息
输入:
普通用户或管理员的用户名和密码
输出:
商品信息浏览
执行事件流:
普通或管理员登录后查看商品信息,从而可以选择商品
用例:
5
用例名称:
购买商品
编号:
05
简短描述:
用户可以选中商品添加到订单中
参与者:
普通用户
前置条件:
有商品可供选择,而且需要登录以后
后置条件:
在用户订单上会多出一些商品
输入:
选中商品
输出:
订单中增加商品,商品目录中减少相应商品
执行事件流:
普通用户登录后,浏览商品,然后选择自己想要的商品
用例:
6
用例名称:
修改订单
编号:
06
简短描述:
修改自己帐号中的订单
参与者:
普通用户
前置条件:
自己已经登录,而且要购买了商品,也就是有订单可以供修改
后置条件:
修改完跳入浏览商品界面
输入:
修改的订单的商品的数量,不想要了,直接输入0
输出:
订单中商品的数量被修改,商品目录中商品数量被修改
执行事件流:
登陆后,修改自己帐号所对应的商品的数量,然后完成后跳入浏览商品界面
用例:
7
用例名称:
管理员登录
编号:
07
简短描述:
管理登录以便进行管理
参与者:
管理员
前置条件:
管理员帐号正确,密码正确。
在登陆界面
后置条件:
跳入管理界面,可以执行进货,发送商品等操作
输入:
帐号和密码
输出:
进入管理员操作管理界面
执行事件流:
先输入帐号和密码,然后进入管理员操作平台
用例:
8
用例名称:
修改管理员密码
编号:
08
简短描述:
管理员修改自己的密码
参与者:
管理员
前置条件:
已经登录,密码帐号正确在管理界面
后置条件:
进入管理界面
输入:
新的密码
输出:
管理员信息中密码被修改
执行事件流:
输入新的密码,然后用有新的密码
用例:
9
用例名称:
查看用户信息
编号:
09
简短描述:
管理员登录后可以查看用户的用户名,地址,EMAIL,订货种类和数量,银行卡帐号等信息
参与者:
管理员
前置条件:
管理员经登录
后置条件:
跳入管理界面
输入:
输入/点击要查看的用户
输出:
所有出密码外的有关用户的信息
执行事件流:
输入/点击要查看的用户,输出用户信息
用例:
10
用例名称:
管理商品信息
编号:
10
简短描述:
查看和修改仓库中还剩下的商品的数量和种类
参与者:
管理员
前置条件:
管理员登录后在管理界面
后置条件:
返回了商品信息界面
输入:
点击查看商品选项
输出:
所有商品的剩余数量
执行事件流:
点击查看商品,修改商品数量和种类,得到剩余商品数量和种类
用例11:
用例名称:
批进商品
编号:
11
简短描述:
根据查看的商品数量决定是否品批进商品
参与者:
管理员,物流公司
前置条件:
进入管理界面
后置条件:
跳入管理界面
输入:
批发订单中需要商品种类数量
输出:
把批发订单交与物流公司
执行事件流:
订购商品,把订单发送到物流公司
用例12:
用例名称:
发送商品
编号:
12
简短描述:
按照用户订单发送商品,向银行发送订单
参与者:
管理员,物流公司,银行
前置条件:
有订单可发,在管理员管理界面
后置条件:
进入管理员管理界面,并且减少商品数量
输入:
输出商品的种类和地址和收货人,
输出:
用户的账余额减少
执行事件流:
输入发出货物的数量种类,地址,收货人,向银行发送账单
五.类的描述:
1,类名:
buyerInfo,bookInfo,BuyerBean,
BookBean,orderBean,orderInfo,
orderDetail;
实体类:
buyerInfo,bookInfo,
控制类:
BuyerBean,BookBean,orderBean;
接口类:
orderInfo,orderDetail;
这些类的具体描述在后面数据库部分。
六.RationalRose建模
OOAModel
UseCaseDiagram:
Usecaseactivitydiagram:
ClassDiagram
发送商品:
登录:
查看用户信息:
查看商品信息:
管理商品信息:
管理员登录:
批进商品:
填写订单:
修改帐号信息:
选商品入购物车:
注册帐号:
时序图:
图一:
用户注册成功后进行的购物时序图。
具体如下:
(1)“用户”对象发消息给首页界面执行注册,填写“用户信息”:
用户名,密码,确认密码以及常用的EMAIL,对象发确认消息,请求注册服务。
(2)(3)系统执行“注册检测”服务,检测完后,返回首页的登陆界面以供用户登录,还要将用户信息同时加入到数据库。
如果未注册成功,这里当然包括用户名重名之类的异常情况,系统界面将跳至原注册页面,以供用户重新注册。
(4)填写“登录信息”:
用户名,密码。
点击确认后执行登录。
(5)(6)系统执行“登录检测”服务,将用户填写的信息与数据库核对,如果检测完后,确认符合通过,则返回到首页提供详细信息,如果未登录成功,这里当然包括用户名填写不正确或密码错误之类的异常情况,系统界面将跳至原登录页面,以供用户重新登录。
(7)(8)输入商品信息可以是商品名,商品号,就可以进行搜索功能,系统将返回该信息。
(9)用户还可以修改购物车商品信息,具体操作可以是删除添加。
(10)(11)显示购物车中的商品信息及总价,用户可以根据总价来修改购物车信息。
(12)(13)用户可以按确定生成订单,进入填写订单页面,填写用户的具体信息。
(14)(15)用户按订单提交,由系统自动进行数据加密操作,由银行进行相应的解密及核对用户信息,符合则进行扣款操作,并将扣款信息返回给用户,如果用户信息填写错误,扣款未成功,则提醒用户进行相应的修改。
图二:
普通用户登录后查看并修改个人信息时序图:
(1)填写“登录信息”:
用户名,密码。
点击确认后执行登录。
(2)系统执行“登录检测”服务,将用户填写的信息与数据库核对,如果检测完后,确认符合通过,则返回到首页提供详细信息,如果未登录成功,这里当然包括用户名填写不正确或密码错误之类的异常情况,系统界面将跳至原登录页面,以供用户重新登录。
(3)用户登录后,有相应的查看个人信息服务项,点击进入后,普通用户可以查看个人信息。
系统将该用户信息显示在界面上并提供修改功能。
(4)普通用户点击修改功能,进行修改。
(5)点击保存按钮,将修改后的信息进行保存。
图三:
管理员登录后维护用户信息时序图
(1)填写“登录信息”:
用户名,密码。
点击确认后执行登录。
(2)系统执行“登录检测”服务,将用户填写的信息与数据库核对,如果检测完后,确认符合通过,则返回到首页提供详细信息,如果未登录成功,这里当然包括用户名填写不正确或密码错误之类的异常情况,系统界面将跳至原登录页面,以供用户重新登录。
(3)由于该用户属于管理员,提供管理员更多的功能,其中之一就是查看用户信息。
(4)根据查看的用户信息,或是根据系统报的错误,日志等,可以冻结或启动用户的帐号,以达到安全方面的措施。
由于系统庞大,用户数量多,导致数据库大,管理员不可能对用户一个个检查,介意是系统有个专门的监视系统对用户填写帐号所得到的反馈信息。
于是管理员可以根据这个日志来针对某个用户进行相应的措施。
(5)管理员对那些扣款成功后的订单进行处理,即将订单发送给物流系统。
图四:
管理员进行个人信息的维护时序图
(1)填写“登录信息”:
用户名,密码。
点击确认后执行登录。
(2)系统执行“登录检测”服务,将管理员填写的信息与数据库核对,如果检测完后,确认符合通过,则返回到首页提供详细信息,如果未登录成功,这里当然包括管理员名填写不正确或密码错误之类的异常情况,系统界面将跳至原登录页面,以供管理员重新登录。
(3)管理员登录后,有相应的查看个人信息服务项,点击进入后,管理员可以查看个人信息。
系统将该用户信息显示在界面上并提供修改功能。
(4)管理员点击修改功能,进行修改。
(5)点击保存按钮,将修改后的信息进行保存。
协作图:
图一:
用户注册成功后进行的购物协作图。
图二:
普通用户登录后查看并修改个人信息协作图:
图三:
管理员登录后维护用户信息协作图
图四:
管理员进行个人信息的维护协作图
综上所述得到该系统OOA模型的整个类图
分析得出系统类图,分析工作并没有结束,在实际分析设计过程中,此类图还需在设计过程中进一步推敲、完善,这也OO方法的特点。
分析人员还需根据问题域和系统责任,进一步审查和筛选找到的类,以及类之间的静态关系与动态关系,即经过不断迭代,以最终得到反映系统问题域的类图。
七数据库的设计
在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:
信息世界,数据世界,现实世界。
现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。
这些信息再进一步加工、编码,然后进入数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作。
这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。
网上购物系统的主要对象是用户,所以必需建立用户表,包括用户的基本信息情况;用户的主要活动是对商品的购买,所以必需建立商品信息表;用户对商品的购买,选择所要的商品,首先得对商品进行搜索,所以我们把商品进行分类,进行大类和小类的划分,建立商品类别表和商品类别细分表;最后用户提交定单,建立定单表。
经过分析,此数据库包含如下表:
(1)buyerInfo数据库的表
用来保存注册用户的基本信息,结构如下表如示:
(2)orderInfo数据库的表
(3)bookInfo数据库的表
用来保存商品类别的信息,结构如下表所示:
(4)orderDetail数据库的表
用来保存用户订购的商品信息,结构如下表所示:
八、系统主界面与登录程序设计
本程序可分为前台系统和后台系统两个部分。
前台系统为注册用户提供查看商品、购买商品的页面,而后台系统则为管理用户提供对系统进行管理和维护的页面。
1)系统主界面
用户可以在此界面进行图书的大略浏览,但是不能选购图书。
2)登录成功后界面为:
登录成功的界面,用户可以点击详细信息按钮后进入图书列表界面
3)用户注册界面为:
注册界面
4)如果会员未登录就进行图书选择则会出现如下界面:
5)当图书成功加入购物车时显示界面为:
6)网上书店购物车显示界面为:
当点击上面的“查看购物车”按钮之后则进入购物车详细信息显示界面:
7)订单结果显示界面:
九、实验小结
经过这个项目我们小组里的每一个人都学到了很多,不光光是软件工程课上所说的一些理论知识,我们体会到最一个真正的项目并不像说的那么简单,在开始的时候我们低估所要付出的劳动,直到后来才发现我们还要处理各个成员的分工,以及各成员在思路上的不同也给项目的进展带来一定的麻烦,前一个人做了需求分析,而后面的人除了进行设计,或者进行代码编写之外,还要理解前一个人的思路,要彻底的明白前面一个人所要做的每一步的含义。
我们这次的一个失败之处就是前后有点脱节,因为沟通不够及时和深入,后面类图与代码实现阶段不是很一致。
还有不同的成员虽然在大体上对网上购物系统是干什么理解得的都差不多,但是落实到细节就不行了,细节问题很重要,两个组员在思维上的上的冲突往往也会影响这个项目,往往需求分析作了之后,后面做设计的发现这样做不好,有更好的方案,可能更容易实现,所以又要联系前面一个人,然后再一起讨论,然后进行修改。
这其实也是考验我们小组成员的协作能力。
我们在开始做的时候设想了很多的功能,但是考虑到有些功能在后面实现时来会很有困难,所以在开始设计时我们便进行讨论,希望按照前面的设计,在后面实现时能简单而且功能更健全,更强大。
在后期的数据库的设计时基本上是按照前面的需求分析,OOD等,总结出来的所需要的表和数据库,然后着手进行设计,我们在设计时还要考虑很多问题,比如密码可以数字类型也可以字符类型,到底用哪种类型比较好呢?
如果我们规定了一个字符类型,那么如果客户输入和我们预期的不一样怎么办呢?
很多问题都要进行考虑。
coding首先要把所有的功能都实现,然后还要考虑安全性,比如没有登录就进行购物是不允许的,等等,可以说只要是一个动态网页就不得不考虑这些问题。
但是这次我们遇到的最大的困难是对数据库中的数据进行读取,因为这一问题,使得写好的代码没法验证,同时也使部分功能没有实现。
在这次的项目中,大家也了解到理论知识与实践结合的重要性,了解到团队合作的重要性。
经过这次的锻炼,我们学到了很多的知识,在以后的项目中,我们会吸取经验,获得更大的进步。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 购物 系统软件 工程 分析 论文