购物车项目开发设计与实现_第1页
购物车项目开发设计与实现_第2页
购物车项目开发设计与实现_第3页
购物车项目开发设计与实现_第4页
购物车项目开发设计与实现_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、项目开发技术 购物车项目开发设计与实现 精选文库 17 19 3 1 项目需求 1.1 系统功能需求 . 开发系统语言需求 . 开发以及运行环境需求 . 界面需求 . 约束条件 . 1.2 1.3 1.4 1.5 1.6 UML 设计 1.6.1 网上购物参与者 1.6.2 系统中的用例 . 2 项目设计 2.1 系统功能 . 2.1.1 登录模块 2.1.2 购物车模块 2.1.3 订单模块 2.2 流程图 . 2.2.1 在线购物流程图 2.2.2 用户注册流程 . 2.2.3 用户登陆流程 . 2.2.4 购物车流程 2.3 数据库设计 . . 2.4 系统界面实现 . 2.4.1 2.

2、4.2 8 9 10 11 2.4.3 2.4.4 登录界面的实现 商品列表界面的实现 购物车页面显示 操作订单界面显示 11 11 12 12 3 面向对象技术实现 系统中的类 . 数据库类 . 边界类 . 控制类 . 3.1 3.2 14 14 15 3.3 3.4 4 测试方案 4.1 测试方法 . 4.2 系统功能测试用例 项目开发总结 15 15 17 17 精选文库 1项目需求 本次研究选择的开发语言为Java,该系统基于B/S架构,用户可以通过浏览器对服务 器使用访问。首先需要实现网上购物的基本功能,显示商品列表、添加商品到购物车、确 认订单,我所研究的重点是对网上购物车的设计与

3、实现模块。 1.1 系统功能需求 1、能够完成游客或已注册用户对网上商品列表的浏览,以及对各商品的详细信息的查看。 2、能够完成已登陆客户对商品的选购:添加商品到个人购物车,并且对已添加到购物车的 商品进行数量的增加、减少、修改和删除等操作。 3、能够通过查看购物车对所选商品进行确定、挑选,确认或修改购物者的联系方式,通过 定单查询对支付费用进行确定。 1.2 开发系统语言需求 采用的主要技术是基于服务器端的 JSP、Java的组件JavaBean,以及网页编程语言 HTML 利用JavaEE平台提供的Web编程方式,通过B/S结构方式,实现数据从数据库,到业务处 理,到前台展示。Web部分采

4、用基于MVC模式的Struts框架实现,表现层主要用 JSP与 JavaScript、EL相结实现,控制层采用 ActionServlet 负责处理请求和转发请求,业务逻 辑层使用JavaBean实现,并且采用DAOS计模式进行数据访问的封装,数据持久层采用JDBC 技术实现业务层和数据库的交互。设计开发的原则:每层之间都是采用面向接口编程技术, 降低了上层对下层逻辑调用的依赖,该项目体现了低耦合、高内聚的设计思想。 服务器:Ap ache Tomcat 5.27 数据库:MySQL 技术实现:Struts+JDBC+JavaBea n 发集成环境:用Eclipcse集成环境进行开发 Java

5、Script程序运行环境: Windows XP或 Windows 7。 用于编辑HTM文档的字符编辑器或HTML文档编辑器。 1.3 开发以及运行环境需求 本系统开发的基本环境如表1.3.1 表1-1系统开发环境 项目 最低配置 CPU P4或同型号的CPU 内存 256M 硬盘 40G以上 显卡 Geforce2 以上 Win dows 7/XP 操作系统 本系统的运行环境如下表1.3.2 表1-2系统运行环境 项目 最低配置 CPU P3或同型号以上的CPU 内存 128M 硬盘 20G以上 显卡 Geforce2 以上 操作系统 Win dows 7/XP 1.4 界面需求 界面的原则

6、要求:如方便、简洁、美观、一致等。整个界面要保持友好、简易的风格。 1、输入设备:键盘、鼠标、扫描仪 2输出设备:显示器、打印机 3、显示风格:IE界面 1.5 约束条件 1、法律、法规和政策方面的限制。 首先,尊重消费者权益保护法等相关的法律法规; 其次,鉴于我国的电子商务交易的法律法规还不完善,还有相当大的一部分交易环节仍依 赖于传统的商品贸易法。 2、硬件、软件、运行环境和开发环境方面的条件和限制 对于单机或浏览器版本太老的用户,或是受其他软硬件限制的用户,将无法进入网上商城 方便快捷的进行购买,需更换软硬件资源。 1.6 UML设计 1.6.1网上购物参与者 .客*CusLMicr 2

7、.馆悔人质一 5.1:11! .fit-101* ,3. 鹿丰罕Wri N rhwib* CbsliDilitir 图1-1参与者(网上购物) 8 1.6.2 系统中的用例 SLancldrdConllf uralLun (ilriiiVL 斤 6 户轴 Sr IlConlipii ration 陥an nA討用, feqiicsl Salesperson Centacl 弊k I CJnlcr U 卩也OncIrrSUlll 档 Vtriiy Mild Accept Pjiynrnl ifrt-iiii 剧知 片in tnvukc I和m HSli tin 瘪 JI J htbnn W ar

8、cTkiUb-c itbuiit Onkr 图1-2系统中的用例 , -: fl t; o h*宀鼻-rV屮-咅 Pl 4 - 1 、 1 r吐;严 C r. 4 f - o Jh- H k ii U 肩I 怕1 1 1 Q o o o k 1 1_ 比七1 1 Lmii 丨 1 TTiZEL I 理IT Sl_rJl 1和!. 屯 1 * M II: -详 r F r 41 f r - iP- - H 图1-3网上购物系统用例包图 9 匡旺症寸丄 精选文库 2项目设计 2.1 系统功能 系统主要分为以下几大模块:登录模块,购物车模块,订单模块 各模块实现的功能如下: 2.1.1 登录模块 登

9、录模块在区分不同用户的使用权限、加强软件使用安全性和保证数据安全方面起着关键 的作用。使注册用户能快捷的购买商品。 2.1.2 购物车模块 添加商品到个人购物车,并且对已添加到购物车的商品进行数量的增加、减少、修改和删 除等操作。 2.1.3 订单模块 客户选择商品后产生账单,让消费者能够完成选购,付账一起实现。 2.2 流程图 2.2.1在线购物流程图 此流程图显示用户浏览本网站所进行的操作,用户进入网站浏览商品,选择自己需要的商品,若用户未 注册则跳转到用户注册界面,进行注册,进入购物车,确认订购商品,产生订单。若已登录则直接进入 购物车确认商品。若已注册未登录则直接跳转到登陆界面,登陆后

10、再进行商品的购买操作。其流程如图 所示: 图2-1用户购物流程图 2.2.2用户注册流程 点击主页面的用户注册选项后,会弹出一个注册信息页面,用户需要如实填写用户名, 密码,E-mail,邮编,地址,电话等各项信息,系统进行检测判断该用户的用户名须不少 于两位,用户输入的两次密码均不少于三位且是否一致,然后依次往后判断用户所填写的 各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表即 cart_user表并提示用户注册成功,用户登陆后,就可以进行有效的购物了。其流程图如图 所示: 图2-2注册功能流程图 2.2.3 用户登陆流程 用户登录,首先要有一个提供用户登录的表

11、单。用户登录的表单应该嵌入整体的结构当 中。在实际的应用中,可以这样设计,如果用户没有登录,则在页面中显示用户登录的选 项,用户登录后,则可隐藏用户登录的选项而代之以用户的个人信息管理链接。 首先,用户要有一个用户名和密码。 商务网站需要很高的稳定性和安全性,因此对用户 名不允许使用恶意的代码作为用户名而使用真实姓名。同时对密码也要求保密,将密码加 密后再存入数据库。另外,还需要用户的性别、地址、E-MAIL、邮编、电话号码等。 系统确定用户登陆信息无误后会将用户 User信息存入JSP页面Session中以便用户进行 后续操作。 用户的登陆流程图如图所示: 图2-3用户登陆流程图 2.2.4

12、 购物车流程 购物车的具体实现可采用这种形式:定义一个购物车的类,其属性为每一条记录Item, 每条记录Item的价格Cost,Item的Map以及若干方法的定义。 1. 列出商品的列表,使用户能够自由选择所需要的商品。 2. 当用户在点击“添加到购物车”的链接时,执行如下功能: 检查用户购物车类是否存在。如不存在,则建立,并注册这 Session变量;在有用户购 物车类存在的情况下,检查该类中是否有该商品。如存在,则商品数量相应加 1;如没有该 商品,则将该商品添加到该类中。 3. 对放入用户购物车的各条记录Item可以进行数量的修改、删除及清空购物车等操作。 具体流程实现如图所示: 图2-

13、4购物车流程图 2.3 数据库设计 数据库结构设计使用的数据库管理系统以及系统开发工具设计出数据库以及各个数据 表的结构。 此次设计根据数据的大小以及管理的便捷性选择MySql作为数据库管理系统,使用数 据管理器创建数据库。按照前面分析的系统,设计出系统数据库中的各个数据表。 表2-1用户表 字段名 描述 类型 长度 可为空 主键 Id 客户编号 In teger 是 Name 姓名 Varchar 32 P assword 密码 Varchar 16 Address 地址 Varchar 100 Postcode 邮编 Varchar 10 Email 电子邮件 Varchar 50 Hom

14、e Phone 家庭电话 Varchar 32 是 Cel IP ho ne 移动电话 Varchar 32 Office Phone 办公室电话 Varchar 32 是 客户的Id也可设置成Integer类型值自动生成,为其主键。密码的长度最长可达16位,Name 为 Varchar,长度为 16 位。Address、PostCode Email 及 Remark均为 Varchar型。对于用 户的话号码,考虑到个人的不同情况以及其他一些特殊情况,电话号码均为Varchar型字段, 且只有移动电话为Not Null。 表2-2商品表 字段名 描述 类型 长度 可为空 主键 Id 商品编号

15、In teger 是 Name 商品名 Varchar 32 Descri pti on 描述 Varchar 100 是 Price 单价 Double 商品信息表的主键为Id字段,在MySql中可设置其值为自动生成,即对数据库操作添 加语句时,可以不管Id属性,每次加入一条记录Id值自动加1。Id、Name、Price字段均 不能为空,Description为对该商品的说明,长度为100,可以为空。 表2-3订单表 字段名 描述 类型 长度 可为空 主键 Id 订单编号 In teger 是 Status 状态 In teger User Id 用户编号 In teger Cost 总价格

16、 Double 订单的主键Id为Integer型,编号值自动生成。状态字段 Status设置成Integer型,由管理 员设置值为1或者2。1代表订单未交付即交易未完成;2代表订单已经下达,交易已经完 成,即历史信息。Cost字段是该订单所需价钱,即交易时用户应付商品的费用(不含运费)。 表2-4编号表 字段名 描述 类型 长度 可为空 主键 Id 条目编号 In teger 是 Amount 价格 Double P roduct Id 商品编号 In teger Order Id 订单编号 In teger 条目信息是为了方便管理员和送货工作人员对每一个商品的确定即统计。主键Id也是 Pro

17、duct_ld 和 Order_ld 均为 Integer类型,自动生成其值。Amount价格指某一种类商品的单价而并非总价格,这是为了 方便网站后台管理人员。该表查询及修改数据库采用关联, In teger类型,是分别为了确定其商品和订单号以方便送货。 2.4 系统界面实现 界面设置原则要求简单易用、简洁明了、兼容性好、标准、规范。制定界面设计标准规 范的目的是为了规范和统一软件界面设计制定软件界面设计标准与规范。首先考虑标准化, 在标准化的基础上进行界面的美工设计。其次进一步完善程序的界面设计。对界面进行的优 化不要使界面的操作变得困难。 2.4.1 登录界面的实现 该界面是用户登录的界面

18、,用户从此界面登陆,可对商品进行操作。用户要有一个用户 名和密码。商务网站需要很高的稳定性和安全性,因此对用户名不允许使用恶意的代码作 为用户名而使用真实姓名。同时对密码也要求保密,将密码加密后再存入数据库。 用户登陆 用户名 密码 團35注册新用户 图2-5登陆界面 2.4.2 商品列表界面的实现 该界面显示的是商品列表,用户可在此界面对商品进行浏览,选择自己需要的商品放进购 物车中,若未登录,也可以使用登录键进行登录操作。或使用购物车键进行查看所购商品 的操作。也可以在登录界面进行结账操作,直接跳转到操作账单页面,对所需的商品进行 最终的确定。 序号 R名 桥搭 1 J-畑-椁右拽术 31

19、. C D 無1 2 21.15 惦1 弐 nn/QLEy養考手冊 0 D W i :汛25 3 JA7X :ZEVLE7 程第二 F.勞 SS. 25 D ,购却 0 毗殆0覇亍閱嘟) 97.2 7 恂鄙rsurg:基干itvc的kzb我 计士卄友 a 丨蝴其1 i 情倔YkliJ娥持:丸化技7F详斛 昭.E5 a SPR7NC IK ATTTriM甫衰版 39.洱 D 10 洁涌邛3二0 44, E5 D ;M右翊车 首用戸订甲1 fix可甲fl 图2-6商品列表界面 243 购物车页面显示 删除所选商品,若所选 购物车页面是对所购商品的再操作,对所选商品进行删改数量, 商品不是自己需要的

20、,可以进行删除商品,也可以对商品直接进行清空。每个商品后跟的 都是商品的单价,修改商品数量后,商品的价格变为所购商品的总价。从此页面也可跳转 到商品列表页面继续进行购物,选新的商品添加到购物车中。若是已经购买了所需商品, 就可以进行结账操作,进入账单操作页面。 购物车列表 编号 书名 价格 数量 操作 4 JSP设廿(第二版) 59.25 T fWl W1 S JAVA SERVLET 编程(第二版) 3E.2S S 割釘岸列 6 XML高级编程(第2版) 9L2 3 1宵除丨修改 3 精ffiHIEERWATE:对象持女化技术详解 44.25 5 fW fW 总计 冏 B 1157.1 青空

21、购物车 图2-7购物车界面 2.4.4操作订单界面显示 对所选商品进行再确定,对登录用户的资料进行确认,对有改变的资料进行修改,而且 用户资料必须符合一定的格式,若不符合就报错不能进行修改,因此,例如邮政编码必须 是6位数字,因此必须是输入6个数字,输入多或少都是错误修改,无法成功修改。在此 使用的验证是对格式的验证,用户资料进行修改必须符合格式,否则无法修改。修改完成, 27 而且商品确定后就可以进行结账操作, 生成一个新的账单。 确认订单 用户信息 姓名 邮编 Mill shanghai 电话 90033333063 电子信箱 Fanspbriup. coon 购物清单(侈茂 编号 3 书

22、名 ORACLE9I考丰册 JSP谟计第三版) JAVA SERVLET 编程(第二版) 劝L高级编程(第2版) 精通HIBERNATE: JAVA对象持久化技术详解 价格 10iBase (frto数据库类包) Load Ord cr() StoreOrder() 、Ge Need ContactOiderU st() GctPaidOrderListO Gc iCo inp IcteOrdcrLis i () 图3-3数据库类图 DateBase类:数据库类 方法:LoadOrder()从数据库中提取订单,被 Order类中的方法调用。 StoreOrder()将订单存入数据库中,被Ord

23、er 类中的方法调用。 GerNeedContactOrderList() 从数据库中提 取需沟通的客户订单表。 Get PaidOrderListO 从数据库中提取已付款 的订单列表,被Payment类调用。 从数据库中提取已 GerCo nmp leteOrderList() 发送的订单列表,被In voice调用。 3.3 边界类 Client Sho pp ingUstWindow (from边界包) Display Shop pingUstO hl odityCar() QtoliiputOrderWindowO DispIayTotaLCostO Clicni Querist at

24、 us Window (troni悴制类包) Cii E1 r T T in 图3-5控制类图 ShoppingListWindow 类 功能:创建并显示购物清单窗口并可修改购物 清单。 方法:DisplayShoppingList() 显示商品购物清 单,它将调用 MerchandiseList 类中的属性, 获得商品清单。 ModifyCar()修改购物车中的商品,它调用 Merch ndiseList() 更新商品列表。 Dis playTotalCost()显示当前选购的商品总 图3-4边界类图值,该值由merchandiselist 类中的 Co nmpu teTotalCost()

25、方法计算得到。 GotoI np utOrderWi ndow()进入到订单输入窗口。 3.4 控制类 QueryStatusWindow 类: 功能:创建并显示查询窗口。 方法:GetCustmerlDO取得用户输入帐号 GetOrderlDO取得订单流水号 QueryStatus()客户点查询按钮出发它调用 Order类的 GetOrderStatus()方法取得订单状态。 Dis playStatusO显示订单状态。 dicnt Inp utOrclerWindow (tvin控制类tip JVcrtifylnputlntbiralionO Generate Ord c r() Dis

26、playTatalCostO显示当前选购的商品总值,该 值由 mercha ndiselist类中的 ConmputeTotalCostO 方法计算得到。 GotoSho ppin gList()显示购物清单窗口。 NextPage()显示下一页商品 图3-6控制类图 P ayiiieTii (romi控制荚ti) aynvnt_nrtliod : Suing BBdatc iTceivcd : Date GBannEnt_received : Currency P ayme nt类:付款类 属性:Payment_method付款方式 date_received接受日期 amoun t_rec

27、eived接收金额 方法: linkP ayme nt()付款初始化 图3-7付款类 Set Payme ntStatus()设置付款 修改Order类OrderPament属性取值 GetPaymentStatus()取得付款状态, 从Order类OrderPament属性取值 VerifyCustomerlD() 验证客户帐号 被Customer类的Paymoney方法使用 AcceptPayment()接受客户付款,方法将被修 改 Order 类的 OrderPayment 对象 4测试方案 4.1测试方法 黑盒测试(Black-box Test in g,又称为功能测试或数据驱动测试)是把测试对象看作一 个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产 品的内部结构和处理过程。 采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图 和综合策略。 黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序 所有功能需求的输入条件。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发 现其他类型的错误。 黑盒测试试图发现以下类型的错误: 功能错误或遗漏; 界面错误; 数据结构或外部数据库访问错误; 性能错误; 初始化和终止错误。 4.2系统功能测试用例 表4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论