数据库课程设计网上购物系统.doc

上传人:仙人指路1688 文档编号:2395803 上传时间:2023-02-17 格式:DOC 页数:24 大小:799KB
返回 下载 相关 举报
数据库课程设计网上购物系统.doc_第1页
第1页 / 共24页
数据库课程设计网上购物系统.doc_第2页
第2页 / 共24页
数据库课程设计网上购物系统.doc_第3页
第3页 / 共24页
数据库课程设计网上购物系统.doc_第4页
第4页 / 共24页
数据库课程设计网上购物系统.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《数据库课程设计网上购物系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计网上购物系统.doc(24页珍藏版)》请在三一办公上搜索。

1、目录引言:11. 系统规划21.1可行性分析21.1.1运行可行性21.1.2 技术可行性31.2划分子系统31.2.1业务调查41.3指定信息系统开发方案以及日程安排61.3.1子系统划分61.3.2信息系统资源分配计划62数据库设计72.1概念设计72.1.1概念描述72.1.2概念模型E-R图92.2.逻辑设计102.3关系优化102.4数据字典112.5安全性设计123功能实现133.1用例图133.1.1角色Actor定义133.1.2系统主Use Case图143.1.3本模块的Use Case图153.2过程流程153.3数据流图163.4过程流图163.5类设计163.6活动图

2、183.7顺序图194系统测试214.1 系统测试的定义214.2 单元测试214.2.1 类别查询测试214.2.2 类别删除测试224.2.3 添加新类别224.3 集成测试235心得23引言:现今网络技术日趋成熟,网上购物正悄然兴起并正在被广大消费者迅速接受。网上购物系统在此期间应运而生,它通过网络服务器为分布在全国各城市的顾客提供购买商品的服务。从销售商来看,由于在价格上省去了实体店铺的租金、水电、人工等成本,网上购物的商品价格更低,提高了销售商的竞争力。从顾客购买过程来看,网上购物能够降低搜寻成本,便于消费者对产品的挑选和价格比较。 网上购物系统的主要内容是,一方面让销售商把商品发布

3、于网络,一方面让消费者通过网络来完成商品的交易。系统总体分成前台和后台两大模块,前台是用户模块,后台是管理员模块。实现的功能,首先系统向用户列出网站的商品信息。其次当顾客登录网上购物系统后,为每个用户分配一个购物车,用户选择商品后,商品会被放入购物车。再次,用户确认购物车信息,点击提交生成订单。最后,管理员对订单进行处理,即完成一次商品交易。 系统实现按照MVC设计模式。采用JSP技术作视图层,Struts技术作控制层,JDBC技术作模型层。采用MVC设计模型,增加了系统的可拓展性与可维护性,便于开发的补充,维护。网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所

4、谓静态信息是指那些经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易防护四实现了公司将文档与资金的无纸化交换。1. 系统规划1.1可行性分析JSP页面由HTML代码和嵌入其中的Java代码所组成。JavaBean是JSP的技术基础,而且大型的Web应用程序的开发需要JavaBean和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网等特点。JSP的技术的优势:一次

5、编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不需要做任何更改。系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。JSP技术是用Java语言作为脚本语言的。Java语言是成熟的、强大的、易扩充的编程语言。高效性与安全性。JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。可维护性。由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。多样化和功能强大的开发工具支持。Java已经有了

6、许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。1.1.1运行可行性主要包括:(1)对目标组织的影响;(2)目标组织人员适应的可行性(如目标组织的行政管理、工作制度、人员素质等能否满足要求);(3)市场、法律、社会环境条件的可行性(4)时间进度可行性:项目完成所需的时间、预计时间是否足够等网上交易是世界的潮流,越来越多人接受并开始依赖网上交易。交易市场越来越趋向网上交易。且在这方面的法律法规已经较为完善。1.1.2 技术可行性本系统使用JSP语言编写商城的框架,后台数据库使用ORACL数据库,业务层使用COM+、XML技术,客户端主要使用IE浏览器。

7、现有的技术可以灵活使用JSP语言、MyEclipse8.6、COM+、XML。关键技术人员的数量不需要过多,约要6个。其水平应在JSP语言、MyEclipse8.6、COM+、XML、Struts五项技术中懂得其中1项或多项。综合以上原因,我们认为本网站商城后台系统在操作上是可行的。1.2划分子系统我们采用面向对象分析作为主要的系统建模方法,使用UML(Unified Modeling Language)作为建模语言。UML为建模活动提供了从不同角度观察和展示系统的各种特征的方法。在UML中,从任何一个角度对系统所作的抽象都可能需要几种模型来描述,页这些来自不同角度的模型图最终组成了系统的映像

8、。系统有一下几个模块组成:l 用户子系统:1)用户注册和登录模块:顾客在注册后可以直接登录网站首页浏览商品,订购商品与服务:没有进行注册的顾客需进行免费注册才能挑选商品及订购相应的服务2)商品查询及订购模块:顾客根据个人需要在网站导航帮助下寻找自己需要的商品,找到满足要求的商品后进行订单处理,联系管理员及时下单。3)购物车模块:购物车模块功能实现选购商品的功能. 消费者将所购商品放入购物车,在该模块设置上应具备取消选购商品、继续购买、清空购物车和转向收银台的功能。4)订单管理模块:在挑选商品及服务结束后管理自己的订单,选择相应的商品数量,商品类型。l 管理员子系统:1)登录模块:提供对管理员的

9、身份认证。2)管理用户模块:提供对消费者的基本管理服务。在允许的情况下添加、删除、修改消费者的基本信息。3)管理订单模块:查看用户的订单。修改订单状态,以及发货情况。4)后台商品管理模块:进行商品及服务的数据维护、管理、更新。1.2.1业务调查业务流程货物上架:进货,拍照(不提倡使用批发商照片,推荐自行拍摄提高真实性),货物名称,货物描述,货物数量,价格设置,运费,有效期。销售流程:收到打款通知后,修改货物运费,向物流公司发送通知收货,向买家通知发货成功。购物流程:注册帐号,即用户名和密码; 1拍下商品 2到网上银行为帐号充值,我们商场提供了支付宝、快钱充值、网银在线等3付款4等待卖家发货 5

10、确认到货 是否有质量问题 或要求退货 6确认无误 付款给卖家 7交易成功图1-1 业务流程图1.3指定信息系统开发方案以及日程安排1.3.1子系统划分子系统名称负责人用户管理模块魏正钦商品查询及订购模块韩立勇订单管理模块吴帅驰购物车模块吴健商品类别管理模块李宗坪进退货管理模块夏季良1.3.2信息系统资源分配计划 日程安排主线程分线程时间(天)总天数(天)前台开发设计阶段参考210设计框架完成主页面和栏目主页面3设计装饰图片3完成设计整合2制作阶段设计CSS112完成有装饰图的全部页面制作8加入JS2作代码优化1设计制作整合与策划人员沟通38在后台代码加入后,根据项目小组意见进行整合5后台开发后

11、台开发审阅功能规范226确定模块化/分层设计参数2制定开发计划1编写代码15开发人员测试(初步调试)2在后台代码加入后,根据项目小组意见进行整合4 设备n 硬件环境:硬盘:10G+, 内存:512M+。n 软件环境:windowsXp/2000+;jdk1.5+;Tomcat6.X+;MySQL5.5+;IE6.0+;MyEclipse;Dreamweaver;UE。 系统安装n 将整个项目发布到Tomcat中:n 将db_shop数据库附加到MySQL中2数据库设计2.1概念设计2.1.1概念描述根据前面的需求分析,可以将网上购物系统的数据库实体划分为会员信息实体集、商品信息实体集、购物车信

12、息实体集、商品订单信息实体集四个实体。必须是本系统的会员才可以进行浏览商品、查看商品的相关信息,在浏览商品的信息时可以订购自己喜欢的商品,也可以将自己将要购买的,但还没有确定是否要进行订购的商品放入自己的购物车中,会员可以随时写该自己的相关信息,查看自己购物车中的商品,查询自己已经订购的商品生成的订单。销售商可以方便地在网上提供自己销售的所有商品信息,也可以结合实际情况对商品的信息进行修改,特别地根据市场的变化,以及相应的调控,可以修改商品的价格,以便获得最大利润。当用户付款成功后,销售商品根据订单上的地址给会员邮寄会员订购的商品,并等待会员查收商品。每个实体定义的属性如下:用户:用户编号,用

13、户姓名,密码,电话,地址,注册日期商品:商品编号,类型,描述,正常价,会员价,时间,商品类型类型:类型编号,类型名,描述,级别订单:订单编号,用户编号,地址,订单日期,状态订单明细表:明细表编号,商品编号,商品价格,商品数量,订单编号2.1.2概念模型E-R图图2-1 系统整体E-R图2.2.逻辑设计 系统逻辑设计图2-2 系统逻辑设计图2.3关系优化数据库逻辑设计的结果不唯一。在数据逻辑设计的初期阶段,并不能很好的考虑到数据库系统的应用性能。所以,在初期设计阶段结束后,要对结果进行适当的修改、调整数据模型的结构。数据库关系的优化是以规范化理论为指导的。根据实际应用需求,并不是规范化程度越高的

14、关系就越优化。本文中,逻辑设计的结果是经过最终优化设计的结果。例如查询时,经常要涉及到orders表和orderdetail表的属性,系统要进行连接运算。而连接查询的运算代价相当高,关系模式低效的主要原因就是连接运算引起的。这是,将oid这个属性放入orderdetail表中,形成一个关系。虽然产生了冗余的字段数据,但是提高了效率。所以进行设计时,采用的第二范式是比较合适的。上述4个表当中,商品表中的商品名称和商品类别存在部分依赖,不满足第二范式,故将商品表拆分为两个表商品(商品编号,商品名称,商品数量,商品价格,商品图片)商品类型(商品编号,商品类型)其他表满足第三范式,故不需要拆分2.4数

15、据字典表名user实体名称用户表主键id序号字段名称字段说明类型位数属性备注1Id用户编号Int20P key2resume_name姓名Varchar203password用户密码Varchar204phone手机号Varchar205addr用户地址Varchar606rdate注册时间Varchar407sex性别Varchar208email邮箱号Varchar209pic图片路径Varchar1010status级别Varchar20辨别用户或管理员身份表名sptype实体名称商品类型表主键tid序号字段名称字段说明类型位数属性备注1tid商品类型idVarchar20P key2t

16、name商品类型名Varchar20表名Sp实体名称商品表主键sid序号字段名称字段说明类型位数属性备注1sid商品idInteger20P key2sname商品名Integer203pic图片路径Varchar204tid商品类型idVarchar20引sptype外键5price商品单价Float206count商品数量Integer20表名orders实体名称订单表主键oid序号字段名称字段说明类型位数属性备注1oid订单编号Varchar20P key2uid用户编号Varchar30引用户表外键3uname收件人Varchar204address收件人地址Varchar605cre

17、attime创建时间Varchar306cost总花费Float订单的总价7status状态int订单的状态8type用户级别根据级别决定打折情况表名orderdetail实体名称订单明细表主键did序号字段名称字段说明类型位数属性备注1did订单编号Integer20P key2oid用户编号Varchar30引订单表外键3sid收件人Integer无引商品表外键4count收件人地址Integer无5price创建时间Float无2.5安全性设计数据库只被少数授权用户修改,其他受限用户有权查看,但均必须提供用户名和正确的密码。存储数据库的服务器也只能让系统管理员或少数高级管理人员登录。数据

18、库的安全策略,遵从MySQL的安全策略事项。3功能实现该部分是功能实现的技术文档。主要定义了整个模块的功能实现的类图、流程图、用例图、顺序图和活动图。同时描述了该模块的系统结构。3.1用例图我们采用面向对象分析作为主要的系统建模方法,使用UML(Unified Modeling Language)作为建模语言,采用开源的Astah UML作为建模的工具。UML为建模活动提供了从不同角度观察和展示系统的各种特征的方法。在UML中,从任何一个角度对系统所作的抽象都可能需要几种模型来描述,而这些来自不同角度的模型图最终组成了系统的映像。Use Case描述的是“actor”(用户、外部系统以及系统处

19、理)是如何与系统交互来完成工作的。Use Case模型提供了一个非常重要的方式来界定系统边界以及定义系统功能,同时,该模型将来可以派生出动态对象模型。 设计Use-case时,我们遵循下列步骤: l第一步,识别出系统的“actor”。Actor可以是用户、外部系统,甚至是外部处理,通过某种途径与系统交互。重要的是着重从系统外部执行者的角度来描述系统需要提供哪些功能,并指明这些功能的执行者(Actor)是谁。尽可能地确保所有Actor都被完全识别出来。 l第二步,描述主要的Use Case。可以采取不断地问自己“这个Actor究竟想通过系统做什么?”来准确地描述Use Case。 l第三步,重新

20、审视每个Use Case,为它们下个详尽的定义。3.1.1角色Actor定义3.1.1.1购物者用户是完成注册以后,能正常登陆本网站并实现购物功能的一个角色。用户主要实现的功能有,注册登录,查看商品,向购物车内添加商品,提交订单,订单结算,删除订单等功能。图 3-1 用户3.1.1.2管理员管理员(即商家),是指管理端的用户,即对商品部分,商品类型,订单信息进行后台管理的角色。图3-2 管理员3.1.2系统主Use Case图网上购物系统可以分为两个主要的组成部分,一个是前台客户端用户子系统,一个是后台管理端管理员子系统。客户端子系统主要是用户浏览商品信息,通过登录提交商品订单,即购买功能。管

21、理端子系统是指后台管理员对用户、商品部分,商品类型,订单信息进行增、删、改等操作,即管理功能。系统主用例图如下图所示:图3-3 系统主用例图3.1.3本模块的Use Case图图3-4 本模块用例图3.2过程流程图3-5 本模块过程流图3.3数据流图图3-6 本模块数据流图3.4过程流图图3-6 本模块过程流图3.5类设计图3-8 类设计图3.6活动图图3-9 查看所有商品活动图3.7顺序图图3-10 添加商品类型顺序图图3-11 修改商品类型时序图图3-12 查看所有商品类型时序图图3-13 按商品类型查找商品时序图4系统测试测试是开发时期最后一个阶段,是保证软件质量的重要手段。软件测试就是

22、在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件。软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。从本质上说,软件测试是“探测”,在“探测”中发现软件的毛病。4.1 系统测试的定义软件测试是为了发现错误而执行程序的过程。它不仅是软件开发阶段的有机组成部分,而且在整个软件工程(即软件定义、设计和开发过程)中占据相当大的比重。软件测试是软件质量保证的关键环节,直接影响着软件的质量评估。软件测试不仅要讲究策略,更要讲究时效性。验收测试作为软件测试过程的最后一个环节,对软件质量、软件的可交付性和软

23、件项目的实施周期起到一锤定音的作用。4.2 单元测试4.2.1 类别查询测试类别查询用分页形式列出所有的的类别,每条类别记录后有相关的操作菜单。同时提供了搜索功能,可以输入类别名称进行准确搜索。没有搜索到相关的类别信息,给出相应提示,否则列出所有信息。类别列表页面如图4-1所示。 图4-1 产品类别列表4.2.2 类别删除测试点击类别列表上的详情可以查看到当前类别的信息,包括类别的父类别和子类别,一直可以递归查询类别的自类别,直到某个子类别再没有相应的子类别了,而给出相应的提示信息。图 6-2 类别详情页面 类别删除操作,必须解除类别以前相互所属的关系,当删除一个类别时,如果这个类别有子类别,

24、则相应的删除了改类别的所有子类别。4.2.3 添加新类别添加新类别功能虽然没有明确的添加子类别和父类别的操作,但是该功能在操作之前必须设置一个父类别,这就相当于实现了所有功能,如果类别已经存在,则提示出错信息。这个级联动态下拉列表就是AJax技术实现。添加类别页面如图4-3所示。图 4-3 添加新类别页面4.3 集成测试将各个模块整合在一起,使各模块完全融合没有冲突,成为一个功能完善的系统。本系统经过反复调试和改善,最终使所有模块功能正常,完美整合在一起。5 心得 从这个项目中,本人领略了MVC软件构建思想的灵活性和B/S三层架构的优越性。对Struts1的工作原理和控制流程,有了深刻的理解。其中,本人学到了很多与WEB开发的相关技术,比如异步请求验证用户名、级联动态下拉列表框的实现、分页技术等。在项目中,不停的遇到难题,不停的使自己去查找调试解决,让本人的动手能力和分析能力有了一个很大的提升。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号