购物车项目开发设计与实现_第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 登录界面的实现102.4.2 商品列表界面的实现102.4.3 购物车

2、页面显示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平台提供的We斓程方式,通过B/S结构方式,实现数据从数据库,到业务处理,到前台展示。Web部分采用基于MVC奠式的Struts框架实现,表现层主要用JSP与JavaScript、EL相结实现,控制层采用ActionServlet负责处理请求和转发请求,业务逻辑层使用JavaBean实现,

4、并且采用DAOS计模式进行数据访问的封装,数据持久层采用JDBC技术实现业务层和数据库的交互。设计开发的原则:每层之间都是采用面向接口编程技术,降低了上层对下层逻辑调用的依赖,该项目体现了低耦合、高内聚的设计思想。服务器:ApacheTomcat5.27数据库:MySQL技术实现:Struts+JDBC+JavaBean发集成环境:用Eclipcse集成环境进行开发JavaScript程序运行环境:WindowsXP或Windows7。用于编辑HTMLC档的字符编辑器或HTMLt档编辑器。1.3 开发以及运行环境需求本系统开发的基本环境如表1.3.1表1-1系统开发环境项目最低配置CPUP4或

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

6、分交易环节仍依赖于传统的商品贸易法。2、硬件、软件、运行环境和开发环境方面的条件和限制对于单机或浏览器版本太老的用户,或是受其他软硬件限制的用户,将无法进入网上商城方便快捷的进行购买,需更换软硬件资源。1.6 UML设计1.6.1 网上购物参与者L 客户 Customerffi W A JiShIc>ii ji3 仓蟀 VnrehouseCuyomerSalespersonWarehouse群户情笆人M仓昨图1-1参与者(网上购物)1.6.2 系统中的用例Sl Ei nd uni Coti Hgi l m Gonitrnm h rp ifj :hSc II Con ti i! u nil

7、 kj n百选席ft iRcqiiCMSakspersonCuntactjiitu乱:Order(fan J?i 赛)Veiily und Auxpl Pay memUpdateOrder51auis.EftPrimInvokttr.in-'.(fri*nWU图1-2系统中的用例图1-3网上购物系统用例包图o图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 用户注册流程点击主页面的用户注册选项后,会弹出一个注册信息页面,用户需要如实填写用户名,

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

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

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

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

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

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

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

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

17、1JAY雄心技术E1.0fl-便到2UNI磁术手册21.150但3口RfiCLEgi参考手册10S.0Q1曲夏14JSP设计(第三版)59.25Q血展5JAVASERVLtT编程第二版)3Eb250-胆6XJIL高级编程(第E版)37.2O-7精通STRUTS:基于机的JAWWEB设计与开发36.75O-笆8精通HI6ER岫TE;J瞽他对象持久化技术详解44.25O-画9SPRINGIN匐HON中文版29.25fl-运1L0精通EJB3.044.25Q修查百购捌车一|不百用户)-I:提交订单图2-6商品列表界面2.4.3 购物车页面显示购物车页面是对所购商品的再操作,对所选商品进行删改数量,删

18、除所选商品,若所选商品不是自己需要的,可以进行删除商品,也可以对商品直接进行清空。每个商品后跟的都是商品的单价,修改商品数量后,商品的价格变为所购商品的总价。从此页面也可跳转到商品列表页面继续进行购物,选新的商品添加到购物车中。若是已经购买了所需商品,就可以进行结账操作,进入账单操作页面。购物车列表编号书名价格数量操作4JSP设计(第三版)5g.257清除|修改5JAVASERVLET编程(第二版)38,256清除fW6XHL高级编程(第2版)97,23清除修改13精通HIBERNATE工JAVA对象持久化技术详解44.255清除修改总计到B1157,1清空购物车维续购买提更订单图2-7购物车

19、界面2.4.4 操作订单界面显示对所选商品进行再确定,对登录用户的资料进行确认,对有改变的资料进行修改,而且用户资料必须符合一定的格式,若不符合就报错不能进行修改,因此,例如邮政编码必须是6位数字,因此必须是输入6个数字,输入多或少都是错误修改,无法成功修改。在此使用的验证是对格式的验证,用户资料进行修改必须符合格式,否则无法修改。修改完成,而且商品确定后就可以进行结账操作,生成一个新的账单确认订单用户信息电子信箱com购物清单(二组)编号书名价格数量3ORACLE9工参考手册108.024J卯设计(第三版)59.2575JAVASERVLET编程(第二版)38.2566XML高级编程(第2版

20、)97.278精通HIBERNATE.JAVA对象持久化技术详解44.2511总计RIB2027.4碉诟T单重置订单继续购买图2-8操作订单界面3面向对象技术实现3.1系统中的类McrchandiscUst(from实体类包)>TotalCosiAddMcrchandiscO图3-1商品类图MerchandiseList:商品类属性:TotalCost商品总价格方法:AddMerchandise()4等AddToCar()方法中力口入购物车的商品增加到商品列表。DeleteMerchandise()删除列表中某商品ComputerTotalCost()调用此方法计算商品列表中商品的总价M

21、odifyMerchndiseLise()修改商品列表的方法,Orderffum实体类包)r date : Dale90 出口 numb er: Siring status : String国onJer_loliil: Cunvncy salespcrson.nanie: String <hip_add0S : String 卧句ujpaynicrn : PaymentGeneniLcCustoiricrAndOrdcrlDl) GetOndH)HNewOrdeit)VodityOrdurO SsetOnderSiatusOGctOrdcrStatusO有修改商品数量,删除商品等方法Or

22、der类:订单类属性:order_date订单日期order_number订单号order_status订单状态order_total订单总价salesperson_name售货人员姓名ship_address发送地址order_payment付款方式方法:CenerateCustomerAandOraderid()产生客户账号和订单流水号GetOrder()取得当前订单信息NewOrder()声称新订单对象ModifyOrder()修改/删除当前订单,该方法由SelfConfiguactionWindow或者由用户使用图3-2订单类图SandarConputerWindow类调用。SetOr

23、derSatus()设置订单状态,由OrderServerWindow类的ModifyOrderStatus方法调用。GetOrderStatus()取得订单状态,它调用DateBase中的LoadOrder()方法。3.2数据库类DataBaseturn救据咋-类包)LoadOrdcrf)SioreOrderf)GcNeedContactOrderList()IGclPaidOrdcrListOttelCorqpleteOrderList()DateBase类:数据库类方法:LoadOrder()从数据库中提取订单,被Order类中的方法调用。StoreOrder()将订单存入数据库中,被O

24、rder类中的方法调用。GerNeedContactOrderList()从数据库中提取需沟通的客户订单表。图3-3数据库类图GetPaidOrderList()从数据库中提取已付款的订单列表,被Payment类调用。GerConmpleteOrderList()从数据库中提取已发送的订单列表,被Invoice调用。3.3边界类«Client»ShoppingListWindow(from边界包,Display ShoppingUs t()BModifyCar()Go toInputOrdc rW indo w0 BDisplayTotalCostO«Client

25、»Que iy Stat us Window(from控制类包)ShoppingListWindow类功能:创建并显示购物清单窗口并可修改购物清单。方法:DisplayShoppingList()显示商品购物清单,它将调用MerchandiseList类中的属性,获得商品清单。ModifyCar()修改购物车中的商品,它调用MerchndiseList()更新商品列表。DisplayTotalCost()显示当前选购的商品总图3-4边界类图值,该值由merchandiselist类中的ConmputeTotalCost()方法计算得到。GotoInputOrderWindow()进入

26、到订单输入窗口。3.4控制类QueryStatusWindow类:功能:创建并显示查询窗口。方法:GetCustmerID()取得用户输入帐号GetOrderID()取得订单流水号QueryStatus()客户点查询按钮出发它调用Order类的图3-5控制类图GetOrderStatus()方法取得订单状态。DisplayStatus()显示订单状态«Clicnt»InputOixlerWindow(from控制类包)VertifylnputlnfomalionO GenerateOrder()DisplayTatalCost()显示当前选购的商品总值,该值由 mercha

27、ndiselist 类中的 ConmputeTotalCost()方法计算得到。GotoShoppingList() 显示购物清单窗口。NextPage()显示下一页商品图3-6控制类图Payment(iom控制类包) s>payri)ent_nielhod : Siring 此datjreceived : Date i>mK)unt_received iCiimencyPayment类:付款类属性:payment_method付款方式date_received 接受日期amount_received接收金额方法:linkPayment() 付款初始化图3-7付款类SetPayme

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

温馨提示

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

评论

0/150

提交评论