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

下载本文档

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

文档简介

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 登录界面的实现 102.4.2 商品列表界面的实

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、能够完成游客或已注册用户对网上商品列表的浏览,以及对各商品的详细信息的查看。2、

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

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

5、行环境需求本系统开发的基本环境如表表1-1系统开发环境项目最低配置CPUP4或同型号的CPU内存256M硬盘40G以上显卡Geforce2 以上操作系统Win dows 7/XP本系统的运行环境如下表表1-2系统运行环境项目最低配置CPUP3或同型号以上的CPU内存128M硬盘20G以上显卡Geforce2 以上操作系统Win dows 7/XP1.4 界面需求界面的原则要求:如方便、简洁、美观、一致等。整个界面要保持友好、简易的风格。1、输入设备:键盘、鼠标、扫描仪2、输出设备:显示器、打印机3、显示风格:IE界面1.5 约束条件1、法律、法规和政策方面的限制。首先,尊重消费者权益保护法等相

6、关的法律法规;其次,鉴于我国的电子商务交易的法律法规还不完善,还有相当大的一部分交易环节仍依 赖于传统的商品贸易法。2、硬件、软件、运行环境和开发环境方面的条件和限制对于单机或浏览器版本太老的用户,或是受其他软硬件限制的用户,将无法进入网上商城 方便快捷的进行购买,需更换软硬件资源。1.6 UML设计1.6.1 网上购物参与者L容户CuslQiEivr人関Sfk 1 r"P<' -Hl3.仓咋亠Wri f vhousvClf1_人f ACustomerSalesperson图1-1参与者(网上购物)1.6.2 系统中的用例RcqiiCM Saks person Cunt

7、act jiitu : IVeiily und Actcpl Pay mem(*rwii 忙打、Sl Eind uni Coti llgi l m lion(Jnkr(fan J?i 机)Sc II Con ti i! u nil kj n鬥琳加ft IUpdate Order Stains<tom 送 Eft iPrim InvokeCDhifuni WuneTTuusr abuiil Onlcr'5 It i tr.in - ' .图1-2系统中的用例W14 ' if * *' * II#*1叭撑W14 ' if * *' * Il冲承

8、為-_*i*-* *!<* I IMeF图1-3网上购物系统用例包图图1-4总用例图2项目设计2.1 系统功能系统主要分为以下几大模块:登录模块,购物车模块,订单模块 各模块实现的功能如下:2.1.1 登录模块登录模块在区分不同用户的使用权限、加强软件使用安全性和保证数据安全方面起着关键 的作用。使注册用户能快捷的购买商品。2.1.2 购物车模块添加商品到个人购物车,并且对已添加到购物车的商品进行数量的增加、减少、修改和删 除等操作。2.1.3 订单模块客户选择商品后产生账单,让消费者能够完成选购,付账一起实现。2.2 流程图2.2.1 在线购物流程图此流程图显示用户浏览本网站所进行的操

9、作,用户进入网站浏览商品,选择自己需要的商品,若用户未 注册则跳转到用户注册界面,进行注册,进入购物车,确认订购商品,产生订单。若已登录则直接进入 购物车确认商品。若已注册未登录则直接跳转到登陆界面,登陆后再进行商品的购买操作。其流程如图 所示:图2-1用户购物流程图2.2.2 用户注册流程点击主页面的用户注册选项后,会弹出一个注册信息页面,用户需要如实填写用户名, 密码,E-mail,邮编,地址,电话等各项信息,系统进行检测判断该用户的用户名须不少 于两位,用户输入的两次密码均不少于三位且是否一致,然后依次往后判断用户所填写的 各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信

10、息写入会员表即 cart_user表并提示用户注册成功,用户登陆后,就可以进行有效的购物了。其流程图如图所示:图2-2注册功能流程图2.2.3 用户登陆流程用户登录,首先要有一个提供用户登录的表单。用户登录的表单应该嵌入整体的结构当 中。在实际的应用中,可以这样设计,如果用户没有登录,则在页面中显示用户登录的选 项,用户登录后,则可隐藏用户登录的选项而代之以用户的个人信息管理链接。首先,用户要有一个用户名和密码。 商务网站需要很高的稳定性和安全性,因此对用户 名不允许使用恶意的代码作为用户名而使用真实姓名。同时对密码也要求保密,将密码加 密后再存入数据库。另外,还需要用户的性别、地址、E-MA

11、IL、邮编、电话号码等。系统确定用户登陆信息无误后会将用户User信息存入JSP页面Session中以便用户进行后续操作。用户的登陆流程图如图所示:图2-3用户登陆流程图2.2.4 购物车流程购物车的具体实现可采用这种形式:定义一个购物车的类,其属性为每一条记录Item,每条记录Item的价格Cost,Item的Map以及若干方法的定义。1列出商品的列表,使用户能够自由选择所需要的商品。2当用户在点击“添加到购物车”的链接时,执行如下功能:检查用户购物车类是否存在。如不存在,则建立,并注册这 Session变量;在有用户购 物车类存在的情况下,检查该类中是否有该商品。如存在,则商品数量相应加

12、1;如没有该 商品,则将该商品添加到该类中。3.对放入用户购物车的各条记录Item可以进行数量的修改、删除及清空购物车等操作。 具体流程实现如图所示:图2-4购物车流程图2.3 数据库设计数据库结构设计使用的数据库管理系统以及系统开发工具设计出数据库以及各个数据 表的结构。此次设计根据数据的大小以及管理的便捷性选择MySql作为数据库管理系统,使用数据管理器创建数据库。按照前面分析的系统,设计出系统数据库中的各个数据表。表2-1用户表字段名描述类型长度可为空主键Id客户编号In teger是Name姓名Varchar32Password密码Varchar16Address地址Varchar10

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

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

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

16、网站后台管理人员。该表查询及修改数据库采用关联,Product_ld和Order_ld均为In teger类型,是分别为了确定其商品和订单号以方便送货。2.4 系统界面实现界面设置原则要求简单易用、简洁明了、兼容性好、标准、规范。制定界面设计标准规 范的目的是为了规范和统一软件界面设计制定软件界面设计标准与规范。首先考虑标准化, 在标准化的基础上进行界面的美工设计。其次进一步完善程序的界面设计。对界面进行的优 化不要使界面的操作变得困难。2.4.1 登录界面的实现该界面是用户登录的界面,用户从此界面登陆,可对商品进行操作。用户要有一个用户 名和密码。商务网站需要很高的稳定性和安全性,因此对用户

17、名不允许使用恶意的代码作 为用户名而使用真实姓名。同时对密码也要求保密,将密码加密后再存入数据库。用户登陆用户名密码离雀贵I注册新用户图2-5登陆界面2.4.2 商品列表界面的实现该界面显示的是商品列表,用户可在此界面对商品进行浏览,选择自己需要的商品放进购 物车中,若未登录,也可以使用登录键进行登录操作。或使用购物车键进行查看所购商品 的操作。也可以在登录界面进行结账操作,直接跳转到操作账单页面,对所需的商品进行 最终的确定。序号书名价格数量1核戯术E1.0fl-1网引2UNI滋术手删21.150回30RfiCLE9L< 手册103.004JSP设卄(第三版)59. 250BJAVA

18、SERVLtT 编程第二版)3Eb 25厂6XJIL高圾編程(第3版)37.20-7楕通STRUTS'基于矶的”科W和设计与开发36. 750-8楕通HIBERNATE; J那阻对象持久化技术详解44. 250-9SPRING IN ACTION中文版29. 25Q-10精诵EJE 3.044. 250<图书列表鱼右的制车莹君用户订卑提芸订里图2-6商品列表界面2.4.3 购物车页面显示购物车页面是对所购商品的再操作,对所选商品进行删改数量,删除所选商品,若所选 商品不是自己需要的,可以进行删除商品,也可以对商品直接进行清空。每个商品后跟的 都是商品的单价,修改商品数量后,商品的

19、价格变为所购商品的总价。从此页面也可跳转 到商品列表页面继续进行购物,选新的商品添加到购物车中。若是已经购买了所需商品, 就可以进行结账操作,进入账单操作页面。购物车列表编号书名价格数量操作4JSP设计(第三版)59” 257幅改5JAVA SERVLET 编程(第二版)38, 256修改|6XHL高级编程(第2版)97,23僱改3精ftHIBERNATEx JAVA对象持久化技术详解44. 255W修改总计RMB 1157.1清空购韧车继续购买提交订单图2-7购物车界面244 操作订单界面显示对所选商品进行再确定,对登录用户的资料进行确认,对有改变的资料进行修改,而且 用户资料必须符合一定的

20、格式,若不符合就报错不能进行修改,因此,例如邮政编码必须 是6位数字,因此必须是输入6个数字,输入多或少都是错误修改,无法成功修改。在此 使用的验证是对格式的验证,用户资料进行修改必须符合格式,否则无法修改。修改完成,而且商品确定后就可以进行结账操作,生成一个新的账单确认订单用户信息姓名jauk邮编43242地址shanghai电话193888E0888E电子信箱wari£zplbriup com购物清单(筮)编号书名价格数量3ORACLE9I参考手册108,024JEP设计第三版)59. 2575JAVA SERVLET 编程(第二版)38. 2566XML高级编程第2版)97.2

21、78精通HIBERNATE* JAVA对象持久化技术详解44. 2511总计RJHB 2027. 4爾认订单重養订单继续购买图2-8操作订单界面3面向对象技术实现3.1 系统中的类McrchandiscLJst (from实体类包 >TotalCosiAddMcrchandiscOOrder疔urn实体姿包ordcr date : Dale 氐lordtTLiiiHnhH: Siring >'>njer_status : String y()Rier_tolal: Cunvncy salespcrson.nanie : String hip_addrcs5 : Str

22、ing indccpaymcnt: PaymentGeneniLcCustoiricrAndOrdcrlDl)HNewOrdeit) Modify OiUer()SsetOnderSiatusO GctOrdcrStatusOMercha ndiseList:商品类属性:TotalCost商品总价格 方法:AddMerchandise()将 AddToCar()方法中加 入购物车的商品增加到商品列表。DeleteMerchandise()删除列表中某商品 ComputerTotalCost()调用此方法计算商品列表图3-1商品类图中商品的总价ModifyMerch ndiseLise()修改商

23、品列表的方法,有修改商品数量,删除商品等方法Order类:订单类 属性:order_date订单日期order_ nu mber订单号order_status订单状态order_total订单总价salespers on_n ame售货人员姓名ship_address发送地址order_payme nt付款方式方法:CenerateCustomerAandOraderid()产生 客户账号和订单流水号GetOrder()取得当前订单信息 NewOrder()声称新订单对象 ModifyOrder()修改/删除当前订单,该方法 由SelfCo nfiguactio nWin dow或者由用户使用

24、图3-2订单类图SandarConputerWindow类调用。SetOrderSatus()设置订单状态,由 OrderServerWindow 类 的ModifyOrderStatus方法调用。GetOrderStatus()取得订单状态,它调用DateBase中的LoadOrder()方法。3.2 数据库类DataBaseturn数,据库炎包)LoadOrdcrf)SioreOrderf)Ge t Need Con tactOrd c rLis t() IGclPaidOrdcrListO CtelCo rqpleteOrde rLis t()DateBase类:数据库类方法:LoadO

25、rder()从数据库中提取订单,被 Order类中的方法调用。StoreOrder()将订单存入数据库中,被Order 类中的方法调用。GerNeedContactOrderList() 从数据库中提 取需沟通的客户订单表。图3-3数据库类图GetPaidOrderList() 从数据库中提取已付款 的订单列表,被Payment类调用。GerCo nmpleteOrderList()从数据库中提取已发送的订单列表,被In voice调用。3.3 边界类«Client»ShoppingListWindow(from边界包Dis p lay ShoppingUs t() BMo

26、difyCar()Go toInputOrd c rW indow( DisplayTolalCost()图3-4边界类图Co nm puteTotalCost()GotoI nputOrderWi ndow()ShoppingListWindow 类功能:创建并显示购物清单窗口并可修改购物 清单。方法:DisplayShoppingList() 显示商品购物清 单,它将调用 MerchandiseList 类中的属性, 获得商品清单。ModifyCar()修改购物车中的商品,它调用Merch ndiseList() 更新商品列表。DisplayTotalCost()显示当前选购的商品总值,该

27、值由 merchandiselist 类中的方法计算得到。 进入到订单输入窗口。3.4 控制类«Client»Query Status W indo w(from拧制类包图3-5控制类图QueryStatusWindow 类:功能:创建并显示查询窗口。方法:GetCustmerlD()取得用户输入帐号GetOrderlD()取得订单流水号QueryStatus()客户点查询按钮出发它调用 GetOrderStatus()方法取得订单状态。Order类的DisplayStatus()显示订单状态«Clicnt»InputOixlerWindow(from控

28、制类包)V'e rtifylnputlnl'o nntion()Gen crate Order!)DisplayTatalCost()显示当前选购的商品总值,值由 mercha ndiselist 类中的ConmputeTotalCost()方法计算得到。 GotoShoppi ngList() 显示购物清单窗口。 NextPage()显示下一页商品图3-6控制类图Payment(bom控制类包)s>payri)ent_nielhod : Siring lJdate_received : Date i>;innunt_received ; CiirrencyPaym

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

温馨提示

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

评论

0/150

提交评论