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