1、荆楚理工学院课程设计成果学 院 : 计算机工程学院 班 级: 11 级计算机科学与技术 3班 学生姓名: 学 号: 设计地点(单位) A5-102 设计题目: 网上购物系统 完成日期: 2014 年 6 月 3 日 指导老师评语:_ _成绩(五级记分制):_教师签名:_前言近年来,随着 Internet 的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。网上购物系统作为 B2B,B2C(Business to Customer,即企业对消费者) ,(Customer to C
2、ustomer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。本文主要考虑的是如何建设B2C 的网上购物系统。网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或 EDI 交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。目 录第一章 系统概述 .11.1 开发背景 11.2 开发目标 11.3 系统概述 1
3、1.4 系统功能 2第二章 可行性研究 .22.1 基本要求 22.2 所建议的系统 32.2.1 对所建议系统的说明 32.2.2 处理流程和数据流程 32.3 可行性研究 62.3.1 技术可行性 62.3.2 投资及效益分析 73.3 社会因素方面的可行性 72.3.3 法律方面的可行性 72.3.4 使用方面的可行性 72.3.5 经济可行性 72.4 结论 7第三章 需求分析 .83.1 软件项目概述 83.2 基于 UML 的系统描述 93.2.1 系统的用例图 93.2.2 系统的活动图 113.2.3 系统的类图 133.3 用户特征 133.4 限制与约束 .143.5 功能
4、需求描述 143.5.1 数据精确度 143.5.2 时间特性 .143.6 运行需求 .153.6.1 用户界面 153.6.2 硬件接口 153.6.3 软件接口 153.6.4 故障处理 .163.7 其它需求 .163.7.1 性 能 163.7.2 可扩展性 163.7.3 可用性 16第四章 系统设计和实现 .174.1 系统的组成部分及其结构 174.2 定义 174.3 软件设计约束 184.3.1 设计目标和原则 184.3.2 设计约束 .184.4 软件设计描述 184.4.1 总体结构设计 .184.4.2 查询模块 194.5 网上购物 194.5.1 用例实现 .1
5、94.6 系统界面设计描述 204.6.1 网上购物界面设计 20致谢 .24参考资料 .24附:系统部分主要代码 .25第一章 系统概述1.1 开发背景自我国加入 WTO 后,越来越多的传统企业进一步认识到企业经济发展的必然趋势是以网络化、全球化为主要特征。而企业实行电子商务则成为企业发展与国际接轨的必要条件,因而网上购物系统的实现是一个非常迫切的需求。1.2 开发目标系统目标是开发一个基于网络的网上购物系统,在网络环境下实现数据的录入、插入、删除、查询、统计、更新等功能。同时,为了信息的保密与安全,系统还要提供一定的安全机制。1.3 系统概述网上购物系统的目的是建立一个可以让消费者通过网络
6、进行交易处理,如购买商品等的网络应用平台。该系统在各开发阶段中,都突出现代软件工程新思想、新技术的研究与应用,及其有效性和实用性的证实。如在分析阶段,将 UML/Use Case 方法与用例驱动需求分析建模思想相结合;在设计阶段,采用软件分析模式、设计模式等分类概念;在实现阶段,又准备注重于大粒度的软件组件的开发与应用,进一步提高软件重用度。本系统采用浏览器/服务器(B/S)的工作方式,系统的用户主要有:用户(买家) 、管理人员、卖家。用户只要在计算机上装有 IE 或 Netscape 浏览器,并有基本的浏览器操作知识,便能方便的使用本系统。服务端软件环境采用操作系统 Windows XP 或
7、 Windows7, ,数据库为SQL。用户端软件环境:浏览器 IE 或 Netscape 系列。1.4 系统功能网上购物系统主要包括以下功能。(1)商品查询:当用户进入网上商城时,可以通过主页的分类查看最新的商品信息,双击商品时可进入查看详细商品信息。(2)购物车管理:当用户选择购买某种商品时,能够将对应的商品信息,例如价格,数量等记录到购物车中,并允许用户返回到其他商品信息查询页面,继续选择人其他商品。同时用户还应该可以在购物车中执行删除商品、添加商品以及清楚购物车等操作。(3)会员信息管理:为了能够实现商品的购买,会员需要注册并正确登录,由此产生用户相关信息,如联系方式、供货地点等需要有
8、系统进行管理。同时也要允许用户修改自己的相关资料。(4)商品分类管理:通过该模块,网站管理员可以根据需要添加新的商品类别,也可以对已有的商品分类进行修改、删除等操作。(5)后台订单管理:管理员可以借助该模块查询订单信息,以便与网站配货人员依据订单信息进行后续的出货、送货的处理。对于已经处理过的订单,也应该保留历史记录,以便于管理人员进行查询。第二章 可行性研究2.1 基本要求功能:主要分为前台和后台两个部分,前台用户相关功能主要包括用户注册、登录、购物车、订单查询、个人资料修改;后台管理相关功能主要包括添加商品,处理订单,查询用户信息等。性能:效率高,速度快,算法规范,使管理员从繁琐的手工操作
9、中解脱出来,提高办公效率。输入:订货信息、商品信息、会员信息、物流信息、上传图片输出:订单信息安全和保密:每一位顾客均需申请一个账号,并设置自己唯一的密码,当系统检验用户名和密码相符合时,才能成功登录,进入系统购物。 2.2 所建议的系统2.2.1 对所建议系统的说明根据实际情况,把商品分类,提供商品查看,订单查询,商品管理,订单管理,系统管理等小模块合并成一个可执行的软件系统模型。使用户快速地查找到所需要的产品,开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。2.2.2 处理流程和数据流程(1)网上购物系
10、统顶层数据流图管理员用户用户网上购物系统商城信息站内信息 订单数据图 2-1 网上购物系统顶层数据流图(2) 系统整体功能模块图网上购物系统前台部分 后台部分用户管理购物车管理订单信息管理订单查询查询用户信息添加商品个人资料管理管理员登录图 2-2 网上购物系统整体功能模块图(3)系统前台处理流程图会员用户消费者用户浏览网页会员登录非会员用户浏览商品用户注册修改会员信息忘记密码购买商品下订单将商品放入购物车取消订单购买成功图 2-3 系统前台处理流程图 (4) 系统后台处理流程图用户信息管理系统管理登录 商品信息管理查看会员列表增加新的商品信息查看会员信息修改商品信息查看商品信息订单管理 查看
11、订单号图 2-4 系统后台处理流程图2.3 可行性研究2.3.1 技术可行性现如今,计算机硬件的发展已经越来越快,现在 PC 机的性能已经可以胜任普通网站的 Web 服务器。JSP 是 Java 在 Internet/Intranet Web 上的重要应用技术,可以和各种 Java 技术完好的结合在一起,从而实现非常复杂的应用。因而已经得到了广泛烦的支持和承认,成为一种非常流行的网站开发技术。利用 JSP 技术可以建立先进、安全和跨平台的动态网站,加之我们本学期正在学习此门学科,可以从老师拿来获得许多技术上的支持和帮助。对于数据库方面,我们次学期正好也开设了以 SQL Server 为应用实例
12、的数据库原理,故而我们采用 Microsoft SQL Server 2005 作为数据库的后台。我们小组共有三个人,均是热衷软件编程的计算机专业人员,尽管有些东西我们不算熟悉,但是在 3 个月内完成此系统的开发设计还是可以的。2.3.2 投资及效益分析1、支出此项目的设计开发对环境及设备的要求较为简单,只需几台联网的电脑、相关参考资料(这些可以通过到图书馆借书或者直接在网上查询即可) ,以及我们的课余时间,整体费用支出不大,几乎可以忽略不计。2、收益此项目虽说用于教学目的,但是若投入使用,则可以立即产生收益。3、敏感性分析由于本组成员均是学生,平时参与实际项目的机会不多,因而我们整体开发项目
13、的经验不足,可能会导致设计的系统不尽完善,无法确保当系统负荷量增大时,出现系统崩溃的情况。3.3 社会因素方面的可行性2.3.3 法律方面的可行性该系统是自主开发设计的,不会构成任何形式的违法、侵权,所以在法律上是可行的。 2.3.4 使用方面的可行性该系统操做简单,不需要专业培训,一般人员均可以胜任。2.3.5 经济可行性由于本系统是为完成老师布置的作业,系统成本主要集中在系统软件的开发上,因而经济上是可行的。2.4 结论 网上购物系统的开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备
14、,易使用等特点。综上所述,经过各种分析论证,我们可以认定该项目是可以成功实现的,所以应立即开始进行研发。第三章 需求分析3.1 软件项目概述启动软件项目的主要原因是由于需求的存在,软件需求是软件开发过程的基础。需求是一个软件项目的开端,也是项目建设的基石。软件需求就是指用户对软件的功能和性能的要求,就是用户希望软件能做什么事情,完成什么样的功能,达到什么样的程度。从现实需求上说:网上销售这是信息社会发展的必然要求。网上销售因其自身具有的经营上的优势,对广大网民具有强大的吸引力,这就是网购发展的重要原因。对于普通用户而言,网上购物轻松快捷,足不出户也可以买到各种经济实惠的商品。对于网上销售者来说
15、,这样可以节约费用开支,降低销售成本。系统概览:类似于大部分网上购物系统的基本流程,确定本系统的具体需求为:顾客可以方便的注册和登录。顾客可以灵活的检索所需的商品信息。顾客可以方便的查看详细的商品资料。顾客可以方便的管理自己的购物车(添加和删除选购商品,修改购买数量及在线下订单等操作) 。管理员可以方便的管理商品信息(新增,删除,修改商品) 、客户信息以及客户订单管理。随着软件开发方法学的演变和发展,特别是软件设计模式、软件组件等概念的提出,给软件重用度、软件的可扩充性、软件的鲁棒性及软件开发效率的提高,提供了一个诱人的前景。我们将采纳当前软件工程最新技术,采用统一建模语言 UML 描述基于网
16、络计算平台的整个项目,在分析、设计时充分利用软件模式及组合软件模式,利用前人的专家级经验,提高开发效率;最后的产品用软件组件的形式加以封装,并用 XML 来描述软件组件及各软件组件间的接口。通过这一课程作业实践,一方面能加深我们对软件模式、软件组件、XML、UML 的认识和理解,使我们就这些新技术的应用,提出更为可行的建议;另一方面,我们也希望能开发出新的软件组件,抽出新的软件模式,进一步充实软件模式仓库,繁荣软件组件市场。3.2 基于 UML 的系统描述3.2.1 系统的用例图需求分析方法中的用例图可用来更直观,更形象地说明整个系统的需求。用例是从用户的角度看待系统,而不是从程序员的角度,系
17、统的任何需求都能够在系统开发链中完整地体现。用例通过描述“系统”和“活动者”之间的交互来描述系统的行为。通过分析系统的目标,用例描述活动者为了实现这些目标而执行的所有步骤。本系统顶层的 Use Case 如下图所示:customer manager上 上 上 上 上 上图 3-1 顶层的 Use caseActor 定义如下:Customer:顾客(用户或者消费者)Manager: 管理员对顶层的 use case 进行细化,得到的 use case 图如下:上 上上 上 上 上上 上 上 上上 上 上 上 上上 上 上上 上 上 上 上 上 上上 上 上 上 上 上上 上 上 上 上 上上
18、上 上 上 上 上上 上 上 上图 3-2 细化的 Use case3.2.2 系统的活动图(1) 针对消费者的网上购物系统的活动图会员登录商品浏览添加商品到购物车中下订单确定购物并选择送货方式在线支付购物完成订单查询图 3-3 商品浏览活动图(2) 针对消费者的购物车使用的活动图添加商品到购物车检查购物车中商品条目有该商品条目无该商品条目增加商品数量添加该商品条目到购物车中图 3-4 商品加入购物车的活动图3.2.3 系统的类图系统的类图如下图所示:Customer#userId: Integer#userName: String#password: String#telphone: Str
19、ing#Address: StringGood#goodId: Integer#goodName: String#goodPrice: Double#goodtypeId: Integer#goodstore: String#goodMadeDate: DateTime#goodMadefirm: StringShopping cart#goodID: Integer#goodNum: IntegerOrder+orderId: Integer+orderTime: DateTime+userId: IntegerAdministrator#AdministratorId: String#Ad
20、ministratorPassword: String图 3-5 系统的类图3.3 用户特征此系统有两类用户:网上购物系统管理人员、顾客。对于系统管理人员来说一般同时具有超强的电脑操作知识和经验,而且都进行过一定的培训;对于顾客来说一般都有一定的专业领域知识,一般有一定的电脑操作能力,但对于一些特殊的顾客来说可能对电脑操作知识了解比较少,因此对于一般使用者来说不需要特殊的理论、知识来支持,也不需要经过特殊的训练,用户只要在计算机上装有 IE 或 Netscape 浏览器,并有基本的浏览器操作知识,便能方便的使用本系统。3.4 限制与约束此系统必须满足以下限制:(1)系统中所有账户能够供用户随时
21、使用,完成各自授权的活动;(2)在同一时刻,一个帐户不能同时为两个用户服务;(3)一个帐户一次网上支付或取款数目不能超过帐户余额;(4)该系统必须确保对数据进行完全保护,以避免未经授权的访问;所有的远程访问都要登录,并且每个登录用户只能访问其角色所授的权限;(4)界面友好、操作简便;(5)软件系统开放性好,结构灵活,可扩充,易于维护;(6)安全可靠。3.5 功能需求描述3.5.1 数据精确度1)用户在进行商品查询时要保证查全率,所有符合搜索条件的商品都要能找到。2)在保证查全率的同时还要能够保证查准率,尤其是对于高级搜索这一功能。3)数据输出时应是该用户在本网站上登记或输入的最新资料(用户资料
22、、留言购物篮定单内容、支付情况、投诉内容) 。另外有些资料又必须保留在一定期限内的全部资料(留言、定单内容、支付情况、投诉内容) 。当然我们网站上的内容也需要根据我们公司的产品的更新速度以及我们的商家或加盟商的要求来定期更新,以此来吸引顾客。3.5.2 时间特性 (1)响应时间:2-3 秒之内打开我们网站的一个新的链接(包括打开一张商品图片) 。(2)更新处理时间:这是由数据精确度的要求确定的。对于需要保持最新内容的资料的更新速度是实时性的,对于需要定期保留的内容的期限为三个月。(3)数据转换与传输时间:数据转换主要是涉及到数据库的问题。为了降低一次显示过多的记录会消耗太多的时间这个问题,我们
23、在设计时将让数据库尽量分页显示。传输时间的问题比较复杂,这和服务器的处理能力,电信部门给我们提供的带宽,银行的电子交易网的响应速度有关。(4)运行时间:本网站如非特殊原因应保持 24 小时开通。3.6 运行需求3.6.1 用户界面界面要求:a. 网站的主色调为黄、橙、粉红这三种最为大众接受的颜色。b. 界面的风格要鲜明而有特色。c. 网站所要用到的图片资料应该足够清晰和精美。d. 网站上要有足够的导航链接。e. 要尽量让用户使用鼠标完成整个操作流程,当然填写资料,在线支付,在线留言需要用到文本输入。3.6.2 硬件接口由于我们使用的通信协议是 TCP/IP,因此这里的硬件接口问题主要就是TCP
24、/IP 层中的网络接口层,他负责数据帧的发送和接收,帧是独立的网络信息传输单元。网络接口层将帧放在网上,或从网上把帧取下来。这就要求 IP使用网络设备接口规范 NDIS 向网络接口层提交帧,并且 IP 支持广域网和本地网接口技术。在系统运行时要注意关闭那些容易受攻击和入侵的端口号,在能保证带宽的前提下仅开通系统运行所必须的端口。3.6.3 软件接口这里的接口问题主要就是怎样与 SQL 数据库进行通信,以便对数据库进行读取和写入操作。在 JSP 技术中是使用 JDBC 来解决这个问题的。具体来说开发中可能使用到的 JDBC 的常用类有以下几个:(1)连接类(Connection):用来连接数据库
25、。(2)记录集类(Resultset):用来保存查询语句的返回结果。(3)命令对象(Statement):用来执行 SQL 语句或者 SQL Server的存储过程等等3.6.4 故障处理a.内部故障处理 在开发阶段可以随即修改数据库里的相应内容。 b.外部故障处理 对编辑的程序进行重装载时,第一次装载认为错,修改。第二次运行,在需求调用时出错,有错误提示,重试。3.7 其它需求3.7.1 性 能1网上购物系统要支持 100 个并发用户。2网上购物系统处理查询操作响应时间不超过 10 秒。3.7.2 可扩展性当前使用网上购物系统的主要是企业人数在 100 人以下的小企业,这些企业增长速度比较快
26、,人员规模每年保持 30%的增速。网上购物系统要能够在三年内支持这样的增长速度。3.7.3 可用性系统要保证 24*7*365 可用。但是可以允许每月系统停机一小时,进行系统维护。系统维护的时间要安排在企业非工作时间进行。第四章 系统设计和实现4.1 系统的组成部分及其结构用户管理员查 询 组 件 付 款 组 件查 询 组 件 管 理 组 件数 据 库 数 据 库- 结束 1*- 结束 2*- 结束 3*- 结束 4*注册 登录 查询购买- 结束 5*- 结束 6*- 结束 7*- 结束 8*用户管理员登录 查询管理- 结束 9*- 结束 1 0*- 结束 1 1*- 结束 1 2*- 结束
27、1 3*- 结束 1 4*图 4-1 系统的结构图软件系统由三部分组成:查询商品部分、网上购物部分、查询订单部分。系统的结构图如图所示,其中包括查询、付款等软组件的公共组件库和购物等专门领域组件库。4.2 定义UML 即统一模型语言(Unified Modeling Language)的缩写,它是运用统一的、标准化的标记和定义来实现面向对象的软件分析和设计的一种方法.它综合了 Rambaugh 所提出的“对象模型技术”(ObjectModeling Technique,OMT),以及 Booch 和 Jacobson 提出的“面向对象软件工程”(Object Oriented Software
28、Engineering,OOSE)等设计分析方法,并由国际对象管理组织(Object Management Group,OMG)于 1997 年底推出的面向对象建模语言.它主要由可视化的图表(Diagram)和关系(Relationship)构成,利用它可以进行需求分析、概要设计、详细设计、编程实现、项目计划、测试、原型迭代、产品发布、产品维护等.随着因特网的迅速发展,以现代信息技术为依托的商务模式已经形成为一种必然趋势,网上购物将逐步演变成为 21 世纪的主要贸易方式之一。4.3 软件设计约束4.3.1 设计目标和原则(1)本设计欲达到的目标要求满足用户需求且软件系统具有良好的可扩充性、可维
29、护性;(2)为实现上述目标,在设计软件过程中采用统一建模语言 UML 描述基于网络计算平台的整个系统,在分析、设计时充分利用软件模式及组合软件模式,利用前人的专家级经验,提高开发效率;最后的产品用软件组件的形式加以封装,并用 XML 来描述软件组件及各软件组件间的接口。4.3.2 设计约束(1)无论是用户(买家) 、管理员都可以通过 Internet 访问该系统,完成各自授权的活动、工作。(2)该系统必须确保对数据进行完全保护,以避免未经授权的访问。所有非会员在购买商品之前都要注册会员并登录,并且每个登录用户只能访问其角色所授的权限。(3)该系统采用 B/S 模式,并且考虑性能、安全、可靠性、
30、易维护等方面的问题采用架构模式 MVC 2。(4)整个开发过程应满足软件开发计划所定的时间表。4.4 软件设计描述4.4.1 总体结构设计本网上购物系统由以下功能模块设计组成:(1)用户及管理员查询商品模块。(2)用户及管理员购物模块。(3)管理员管理商品的模块。(4)付款模块。4.4.2 查询模块用户或管理员可以根据商品的名称或所属类别来查询商品,若无该商品则会出现温馨提示或者会出现类似的商品。4.5 网上购物4.5.1 用例实现通过顺序图实现了系统架构中具有重要意义的用例,并演示了不同的设计模型元素如何配合来实现用例的。下图详细描述了用户在网站的购物处理模块的处理过程。图 4-2 用户购物
31、时序图时序图说明(1)用户浏览购物网站并登录(非会员的要先注册再登录) 。(2)用户登录后进入购物系统主页面。(3)用户可以浏览商品的详细信息并把需要的商品加入购物车。 (4)用户可以进行购物,并产生订单信息。下图详细描述了管理员对商品的管理模块的处理过程。图 4-3 管理员控制时序图时序图说明(1)管理员要先登录并进入购物系统管理界面。(2)管理员可以在管理界面中对商品进行管理,如添加新的商品信息、修改已有商品信息等。(3)管理员可以查看用户订单信息。 4.6 系统界面设计描述4.6.1 网上购物界面设计1.登录界面如下图 4-4 普通用户登录界面2.管理员登录图 4-5 系统管理员登录界面
32、3.系统主界面图 4-6 系统主界面图4.商品详细信息界面图 4-7 商品详细信息界面5.购物车界面图 4-8 购物车界面6.系统导航菜单描述图 4-9 导航栏菜单10.管理员主界面4-10 管理员后台管理主界面11.新增商品4-11 管理员新增商品界面12.查询订单信息图 4-12 管理员查询用户订单信息界面致谢在本系统的开发过程中,由于本组成员都是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间虽然总共有三个多月,但是由于养成了拖拉的习惯,导致最终程序的开发过程异常艰辛。同时也导致了,该系统必然会存在一些缺陷和不足。因为对网上购物的整个流程不够熟悉,在需求分析时未
33、能做到完全满足用户的需求。本次开发由于技术有限,功能并未完全实现。因此,在今后的学习中,必将继续努力,加强自身实力与团队协作能力。在本次课程设计中,我们从任课辅导老师身上学到了很多东西。她认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我们收益匪浅。她无论在理论上还是在实践中,都给与我们很大的帮助,使我们得到很大的提高,这对于我们以后的工作和学习都有一种巨大的帮助,在此感谢她耐心的辅导。另外,还要对我们本组的其他成员表示衷心的感谢,感谢组员们的不懈努力,感谢大家的认真配合,最终使得我们的课程设计圆满落幕!参考资料1 李素若、陈万华、张牧.Java 面向对象程序设计M.北京:化学工业出版社
34、,2010.102 俞俊甫、王钟庄.数据库原理应用教程M.北京:北京邮电大学出版社,2010.73 谢希仁.计算机网络(第 6 版M.北京:清华大学出版社,2013.94 张海藩.软件工程导论M.北京:经济科学出版社,2000.105 王立峰、延伟东 软件工程理论与实践M.北京:清华大学出版社,2003.12 附:系统部分主要代码1. 系统主界面jsp代码荆楚购物网首页在线购物我的购物车用户信息用户登录用户注册 导航: 首页 商品分类$commodityCmodityClassName$commodityCmodityClassName最新商品$modityNameimg src=“showImg.action?commodityID=$modityId“