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

下载本文档

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

文档简介

1、项目开发技术购物车项目开发设计与实现目录1 项目需求 21.1 系统功能需求 . 21.2 开发系统语言需求 . 21.3 开发以及运行环境需求 . 21.4 界面需求 . 31.5 约束条件 . 31.6 UML 设计 31.6.1 网上购物参与者 31.6.2 系统中的用例 42 项目设计 62.1 系统功能 . 62.1.1 登录模块 62.1.2 购物车模块 62.1.3 订单模块 62.2 流程图 . 62.2.1 在线购物流程图 62.2.2 用户注册流程 62.2.3 用户登陆流程 72.2.4 购物车流程 82.3 数据库设计 . 92.4 系统界面实现 . 102.4.1 登

2、录界面的实现 102.4.2 商品列表界面的实现 102.4.3 购物车页面显示 112.4.4 操作订单界面显示 113 面向对象技术实现 133.1 系统中的类 . 133.2 数据库类 . 143.3 边界类 . 143.4 控制类 . 144 测试方案 164.1 测试方法 . 164.2 系统功能测试用例 . 16项目开发总结 181项目需求本次研究选择的开发语言为Java,该系统基于B/S架构,用户可以通过浏览器对服务 器使用访问。首先需要实现网上购物的基本功能,显示商品列表、添加商品到购物车、确 认订单,我所研究的重点是对网上购物车的设计与实现模块。1.1 系统功能需求1、能够完

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

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

5、7。用于编辑HTM文档的字符编辑器或HTML文档编辑器。1.3 开发以及运行环境需求本系统开发的基本环境如表1.3.1表1-1系统开发环境项目最低配置CPUP4或同型号的CPU内存256M硬盘40G以上显卡Geforce2 以上操作系统Win dows 7/XP本系统的运行环境如下表1.3.2表1-2系统运行环境项目最低配置CPUP3或同型号以上的CPU内存128M硬盘20G以上显卡Geforce2 以上操作系统Win dows 7/XP1.4 界面需求界面的原则要求:如方便、简洁、美观、一致等。整个界面要保持友好、简易的风格。1、输入设备:键盘、鼠标、扫描仪2、输出设备:显示器、打印机3、显

6、示风格:IE界面1.5 约束条件1、法律、法规和政策方面的限制。首先,尊重消费者权益保护法等相关的法律法规;其次,鉴于我国的电子商务交易的法律法规还不完善,还有相当大的一部分交易环节仍依 赖于传统的商品贸易法。2、硬件、软件、运行环境和开发环境方面的条件和限制对于单机或浏览器版本太老的用户,或是受其他软硬件限制的用户,将无法进入网上商城 方便快捷的进行购买,需更换软硬件资源。1.6 UML设计1.6.1网上购物参与者1.客户一 丄化!L I、h hhF-E、订y 3.3. ft PT-Thirvh蚀沁Qist omerSale)arsuiH :jutit图1-1参与者(网上购物)1.6.2 系

7、统中的用例Sr IlConligu rationt in i I 工件H Req lies 1 Salespcrsori ContactS u n J ttrd Coo llg nrLtlion(Item h 怖;hGrxJiTui urdcrtHMI i:i =图1-4总用例图2项目设计2.1 系统功能系统主要分为以下几大模块:登录模块,购物车模块,订单模块 各模块实现的功能如下:2.1.1 登录模块登录模块在区分不同用户的使用权限、加强软件使用安全性和保证数据安全方面起着关键 的作用。使注册用户能快捷的购买商品。2.1.2 购物车模块添加商品到个人购物车,并且对已添加到购物车的商品进行数量

8、的增加、减少、修改和删 除等操作。2.1.3 订单模块客户选择商品后产生账单,让消费者能够完成选购,付账一起实现。2.2 流程图2.2.1 在线购物流程图此流程图显示用户浏览本网站所进行的操作,用户进入网站浏览商品,选择自己需要的商品,若用户未 注册则跳转到用户注册界面,进行注册,进入购物车,确认订购商品,产生订单。若已登录则直接进入 购物车确认商品。若已注册未登录则直接跳转到登陆界面,登陆后再进行商品的购买操作。其流程如图 所示:图2-1用户购物流程图2.2.2 用户注册流程点击主页面的用户注册选项后,会弹出一个注册信息页面,用户需要如实填写用户名, 密码,E-mail,邮编,地址,电话等各

9、项信息,系统进行检测判断该用户的用户名须不少 于两位,用户输入的两次密码均不少于三位且是否一致,然后依次往后判断用户所填写的 各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表即 cart_user表并提示用户注册成功,用户登陆后,就可以进行有效的购物了。其流程图如图所示:注册入口图2-2注册功能流程图2.2.3 用户登陆流程用户登录,首先要有一个提供用户登录的表单。用户登录的表单应该嵌入整体的结构当 中。在实际的应用中,可以这样设计,如果用户没有登录,则在页面中显示用户登录的选 项,用户登录后,则可隐藏用户登录的选项而代之以用户的个人信息管理链接。首先,用户要有一个

10、用户名和密码。 商务网站需要很高的稳定性和安全性,因此对用户 名不允许使用恶意的代码作为用户名而使用真实姓名。同时对密码也要求保密,将密码加 密后再存入数据库。另外,还需要用户的性别、地址、E-MAIL、邮编、电话号码等。系统确定用户登陆信息无误后会将用户User信息存入JSP页面Session中以便用户进行后续操作。用户的登陆流程图如图所示:图2-3用户登陆流程图2.2.4 购物车流程购物车的具体实现可采用这种形式:定义一个购物车的类,其属性为每一条记录Item ,每条记录Item的价格Cost,Item的Map以及若干方法的定义。1. 列出商品的列表,使用户能够自由选择所需要的商品。2.

11、当用户在点击“添加到购物车”的链接时,执行如下功能:检查用户购物车类是否存在。如不存在,则建立,并注册这 Session变量;在有用户购 物车类存在的情况下,检查该类中是否有该商品。如存在,则商品数量相应加 1;如没有该 商品,则将该商品添加到该类中。3. 对放入用户购物车的各条记录Item可以进行数量的修改、删除及清空购物车等操作。 具体流程实现如图所示:图2-4购物车流程图2.3 数据库设计数据库结构设计使用的数据库管理系统以及系统开发工具设计出数据库以及各个数据 表的结构。此次设计根据数据的大小以及管理的便捷性选择MySql作为数据库管理系统,使用数据管理器创建数据库。按照前面分析的系统

12、,设计出系统数据库中的各个数据表。表2-1用户表字段名描述类型长度可为空主键Id客户编号In teger是Name姓名Varchar32Password密码Varchar16Address地址Varchar100Postcode邮编Varchar10Email电子邮件Varchar50HomePh one家庭电话Varchar32是CellPho ne移动电话Varchar32OfficePho ne办公室电话Varchar32是客户的Id也可设置成Integer类型值自动生成,为其主键。密码的长度最长可达16位,Name为 Varchar,长度为 16 位。Address、PostCode、

13、Email 及 Remark均为 Varchar 型。 对于用户的话号码,考虑到个人的不同情况以及其他一些特殊情况,电话号码均为Varchar型字段,且只有移动电话为 Not Null。表2-2商品表字段名描述类型长度可为空主键Id商品编号In teger是Name商品名Varchar32Descripti on描述Varchar100是Price单价Double商品信息表的主键为Id字段,在MySql中可设置其值为自动生成,即对数据库操作添 加语句时,可以不管Id属性,每次加入一条记录Id值自动加1。Id、Name Price字段均 不能为空,Description 为对该商品的说明,长度为

14、100,可以为空。表2-3订单表字段名描述类型长度可为空主键Id订单编号In teger是Status状态In tegerUser_Id用户编号In tegerCost总价格Double订单的主键Id为Integer型,编号值自动生成。状态字段 Status设置成Integer型,由 管理员设置值为1或者2。1代表订单未交付即交易未完成;2代表订单已经下达,交易已 经完成,即历史信息。Cost字段是该订单所需价钱,即交易时用户应付商品的费用(不含 运费)。表2-4编号表字段名描述类型长度可为空主键Id条目编号In teger是Amount价格DoubleProduct_Id商品编号In teg

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

16、序的界面设计。对界面进行的优 化不要使界面的操作变得困难。2.4.1 登录界面的实现该界面是用户登录的界面,用户从此界面登陆,可对商品进行操作。用户要有一个用户 名和密码。商务网站需要很高的稳定性和安全性,因此对用户名不允许使用恶意的代码作 为用户名而使用真实姓名。同时对密码也要求保密,将密码加密后再存入数据库。用户登陆用户名瞠W注册新用户图2-5登陆界面2.4.2 商品列表界面的实现该界面显示的是商品列表,用户可在此界面对商品进行浏览,选择自己需要的商品放进购 物车中,若未登录,也可以使用登录键进行登录操作。或使用购物车键进行查看所购商品 的操作。也可以在登录界面进行结账操作,直接跳转到操作

17、账单页面,对所需的商品进行 最终的确定。序号1J皿椁曲术31.0 E22L15 D-3O-Vn.EI y t T 冊ioa r oiR隈计(第三版)59. E5 5JAVA須;LE7 程(第二呢)38.25 D召MIL WsBSS程(辭2(向97.2 o-帖7栉通吐冗tTTS是于忙吧的“叭KiB玻 计勻卄农30. TO cS情时IA:1U象持久化按沖详斡G4.25 0gIK虻口砸中烦29.25 01QffjfelJB $ 0毗5 0鱼看用闩订甲ttXTjf图2-6商品列表界面2.4.3 购物车页面显示购物车页面是对所购商品的再操作,对所选商品进行删改数量,删除所选商品,若所选 商品不是自己需要

18、的,可以进行删除商品,也可以对商品直接进行清空。每个商品后跟的 都是商品的单价,修改商品数量后,商品的价格变为所购商品的总价。从此页面也可跳转 到商品列表页面继续进行购物,选新的商品添加到购物车中。若是已经购买了所需商品, 就可以进行结账操作,进入账单操作页面。购物车列表编号| |价格数量操作4JSPW(第三版)59.267SJAVA SERVLET 编程(第二版)3S.25SfW僵改6XML高级编程(第2版)TW修改S精通HIBERNATE:觀心扌象持女化技术详解44.255(M总计|RMB 1157. 1青空购物车錐缢购买提交订单图2-7购物车界面244 操作订单界面显示对所选商品进行再确

19、定,对登录用户的资料进行确认,对有改变的资料进行修改,而且 用户资料必须符合一定的格式,若不符合就报错不能进行修改,因此,例如邮政编码必须 是6位数字,因此必须是输入6个数字,输入多或少都是错误修改,无法成功修改。在此 使用的验证是对格式的验证,用户资料进行修改必须符合格式,否则无法修改。修改完成,而且商品确定后就可以进行结账操作,生成一个新的账单确认订单用户信息姓名j ark邮编143242地止shanghai电话190033333363电子信箱wangspbriuip, cam购物清单(修改)编号书名价格数量30RACLS9I参考手册|10& 024JS啜计第三版)59. 2515JA7A

20、 SERVLET 编程(第二版)38. 2F66XML高级编程(第2版)97, 278精通HIBERNATE; JAVA对象持久化技术详解44. 2511总计MB 2027. 4确认订单重昱订单 垂绫啦基图2-8操作订单界面3面向对象技术实现3.1 系统中的类McrchandiscIJsi (hm实休类包 lotiilCostA dd M ere han J is e()图3-1商品类图ModifyMerch ndiseLise()修改商品列表的方法,有修改商品数量,删除商品等方法Oderrder_dqtc: DatelnlecnLiliger: Siring *iSfnRler_status

21、 : Suing total :Currency BJjialcsperson_naTiic ; String hip.address : String 匚 paynrnt: PjYiiicntleCusronkirA n dOrderlDl)NewOndcit) odiiyOrder()SctOderScatusO|GciOticrSiaiu?;0Order类:订单类 属性:order_date订单日期order_ nu mber订单号order_status订单状态order_total订单总价salespers on_n ame售货人员姓名ship_address发送地址order_pa

22、yme nt付款方式方法:CenerateCustomerAandOraderid()产生 客户账号和订单流水号GetOrder()取得当前订单信息 NewOrder()声称新订单对象 ModifyOrder()修改/删除当前订单,该方法 由SelfCo nfiguactio nWin dow或者由用户使用图3-2订单类图SandarConputerWindow类调用。SetOrderSatus()设置订单状态,由 OrderServerWindow 类 的ModifyOrderStatus方法调用。GetOrderStatus()取得订单状态,它调用DateBase中的LoadOrder()

23、方法。Mercha ndiseList:商品类属性:TotalCost商品总价格 方法:AddMerchandise()将 AddToCar()方法中加 入购物车的商品增加到商品列表。DeleteMerchandise()删除列表中某商品 ComputerTotalCost()调用此方法计算商品列表 中商品的总价3.2 数据库类DataBase(tan数据库类包)LoadOndcrOMstore()rder()Ge t N eed Co n tac tOixlerUstO GctPaidOrdcrListO0* tCo i 叩 leteOrderLis t()DateBase类:数据库类方法:

24、LoadOrder()从数据库中提取订单,被 Order类中的方法调用。StoreOrder()将订单存入数据库中,被Order 类中的方法调用。GerNeedContactOrderList() 从数据库中提 取需沟通的客户订单表。图3-3数据库类图GetPaidOrderList() 从数据库中提取已付款 的订单列表,被Payment类调用。GerCo nmpleteOrderList()从数据库中提取已发送的订单列表,被In voice调用。3.3 边界类ClientSho p p ingLis (Window(from 界包)Display Shop pinglJstO McdityC

25、arOGololn putOrderW indowO BDisplayTotalCos t()ShoppingListWindow 类 功能:创建并显示购物清单窗口并可修改购物 清单。方法:DisplayShoppingList() 显示商品购物清 单,它将调用 MerchandiseList 类中的属性, 获得商品清单。ModifyCar()修改购物车中的商品,它调用 Merch ndiseList() 更新商品列表。DisplayTotalCost()显示当前选购的商品总图3-4边界类图值,该值由merchandiselist 类中的Co nm puteTotalCost()方法计算得到。

26、GotoI nputOrderWi ndow()进入到订单输入窗口。3.4 控制类QneStatus W in dow (tioni柠制类包)图3-5控制类图QueryStatusWindow 类:功能:创建并显示查询窗口。方法:GetCustmerlD()取得用户输入帐号GetOrderlD()取得订单流水号QueryStatus()客户点查询按钮出发它调用Order类的GetOrderStatus()方法取得订单状态。DisplayStatus()显示订单状态ClientInputOrderWindow(frvm控制娄也)Vcrlifylnputlnfdimtion() Generate

27、Ord cr()图3-6控制类图DisplayTatalCost()显示当前选购的商品总值,该值由 mercha ndiselist 类中的ConmputeTotalCost()方法计算得到。GotoShoppi ngList() 显示购物清单窗口。NextPage()显示下一页商品Pay it Kill(tom控制类包)ipaynient_nieili0d : Siring jdate-irceived : Date Yaniount_received : CurrencyPayme nt类:付款类属性:payment_method付款方式 date_received接受日期amoun t_

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

温馨提示

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

评论

0/150

提交评论