




已阅读5页,还剩85页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于SSH的网络商城系统毕业论文目录摘 要IAbstractII第一章 引言11.1研究的背景及意义11.2研究现状11.3研究的目标和内容2第二章 相关技术介绍32.1 J2EE概述32.2 SSH 整合32.3 B/S架构技术介绍82.4 应用服务器Tomcat9第三章 问题的定义与可行性分析123.1问题的定义123.2可行性分析12第四章 需求分析144.1 系统综合要求144.2 系统数据要求174.3 逻辑模型18第五章 概要设计235.1系统结构设计235.2系统功能模块设计235.3系统数据库设计26第六章 详细设计306.1前台详细设计306.2后台详细设计34第七章 编码397.1 开发环境搭建397.2 三层架构的设计与实现407.3 前台编码与实现467.4 后台编码与实现51第八章 测试588.1系统测试原理及测试原则588.2系统测试的方法598.3本系统测试60第九章 结束语739.1论文总结739.2未来工作73致 谢74参考文献75附录77附录A 相关的英文论文译文77附录B 相关的英文论文原文82- I -第一章 引言第一章 引言1.1研究的背景及意义随着计算机事业和社会经济的迅速发展,科学技术的全面进步,以计算机与网络技术为基础的信息系统正处于蓬勃发展的时期。经济文化水平的显著提高,人们对生活质量也越来越高,购物逐渐成为人类生活的不可缺少的一部分,在现代社会中越来越受到重视,市场上大量产品的出现,人们有了各种各样不同的选择购物方式,而互联网又在逐步深入与应用,这时电子商务网站也越来越多的出现在我们的身边,越来越多的人们选择网上交易,网上交易不但给他们带来便利而且节省了出行的费用。这时就要开发一个购物系统,基于SSH的网上商城系统就是其中的一种。网络在各行各业的发展战略中占据了重要的位置,成为商家不可分割的部分。商家建立网站,将商家各方面的宣传与服务展现于网络中,通过网络更可实现如网上购物、信息查寻等功能,这些在改变我们原有经营方式与经营理念的同时,也为商家带来了更高的效益。因此,对于商家来说,网站的管理与维护是至关重要的。为了方便商家更好的盈利、买家更好的购物,我认为有必要建立一个网络商城系统,使网络商城更加合理,避免购物管理的危险因素,提高信息处理的速度和安全性,同时能够及时更新相关的信息。建立一个更加完善的网络商城系统。1.2研究现状随着信息化的浪潮席卷全球,传统的商务模式受到巨大的冲击。越来越多的企业和个人消费者,在 Internet 开放的网络环境下,一种基于B/S(Browser/Server)应用模式,实现消费者网上购物,商户之间的网上交易和在线电子支付的新型的商业运营模式送电子商务应运而生。电子商务在中国也发展了一段时间,目前在国内也有很多电子商务的平台,通过分析国内的电子商务网站可知,目前国内的电子商务做的都是集合型,一个平台中各个方面的商务领域似乎都有涉及到。像比较有名的一些网购平台,如:京东商城,淘宝网,拍拍网等电子商务网站,涉及的门类都很多,而且他们都有一个共通的特点就是只有产品的展示与订购,很少有厂家企业的介绍。目前中国能用上电子商务平台的都是一些大中型的企业,而大部分的中小型,特别是小型企业还是用着以前的生意模式,靠朋友,靠关系,靠老客户来维持企业,这种模式在过去的时代会有一定的优势,但在信息网络时代这种模式缺乏主动性,往往会使企业处在被动的状态。像阿里巴巴这样的大型电子商务平台是能很好地帮助企业做宣传,联系客户,但是阿里巴巴基本上是面对大中型的企业,每年的管理费用都非常高,对于一些中小企业要承受一笔高的资金是很困难的。为了能够上中小型企业特别是小型企业能够用上电子商务平台,我们特地开发此系统,使中小型企业也能做到生产,宣传,销售一条龙1。这使得对开发网上购物系统的技术要求更高了。传统的基于JSP,Servlet以及JavaBean技术所开发的系统扩展能力不强,不能够满足人们快速增长的需求,并且显示页面有时要进行逻辑处理,降低了运行效率。此外,对数据库的处理往往较复杂,特别是与数据库的连接浪费了大量的时间。这使得使用SSH这三个开源框架的优点被很好的体现出来了。开源框架的设计思路是将整个系统的实现分为三层:表现层、业务逻辑层、持久层。表现层主要是负责前台的显示,业务逻辑层主要负责处理业务逻辑以及页面的转向,持久层主要负责后台与数据库的连接以及交换数据。这样大大增加了系统的扩展性,能够即使的调整系统功能来满足用户的需求;使得结构更加严谨,每层完成指定的任务,减轻显示页面的工作量,增加了它们的执行效率。此外增加了持久层,也就增加了更多的安全性1。1.3研究的目标和内容1.3.1研究目标JavaEE多层架构已经成为目前流行的WEB开发架构之一。随着对软件系统开发需求的增加和复杂度的提高,软件架构设计显得尤其重要。同时,各企业也越来越注重软件开发效率及成本。在这种形势下,传统的J2EE架构显现出其不足之处,比如其中业务逻辑解决方案EJB机制对一般的WEB应用显得过于笨重,严重阻碍了WEB技术的发展。在软件开发技术发展过程中,高效、快速开发出高内聚、低耦合的WEB应用系统成为热点,其中最受关注的Struts、Hibernate、Spring等轻量级框架技术。实际上其中一种就可以达到快速高效开发的目的,但是综合利用这三种框架的优点则可进一步提高开发的效率,并且结果显示该系统框架在可读性、代码重用性和维护各个方面上都有良好的改进。因此,在WEB开发中,研究和应用SSH轻量级架构技术非常有意义2。1.3.2研究内容针对B/S 模式网络商城系统的建设与应用,提出基于Struts+Spring+Hibernate(SSH)技术架构的解决方法,给出其在Web系统快速设计与开发中的具体实现过程,结果证明,SSH 技术架构在构建复杂业务系统中提高了开发效率和系统的可维护性,同时增强了系统的可扩展性。本文将重点研究基于SSH框架的网络商城平台设计与实现,其中将包括对该系统的分析、设计、编码及测试等进行研究,一切按照软件工程思想进行必要分析与相应的实现说明。- 87 -第二章 相关技术介绍第二章 相关技术介绍2.1 J2EE概述J2EE(Java 2 Platform, Enterprise Edition)是由SUN 公司开发的一套以Java2 平台标准版为基础的应用规范,其作用是用于企业应用软件的开发、部署和管理。J2EE保留了标准版中的诸多优点,比如“编写一次、随处运行”的跨平台性、与数据库连接的接口JDBC API,在Internet 应用中维持数据完整性的安全模式等,同时还具有其他显著的特性,比如支持EJB,Servlet,JSP 和XML 等技术。并且J2EE 提供了事务处理,对象生存控制,并发控制,资源共享等系统服务,只要利用简单的配置就可以完成以上服务,开发者因此可以从复杂且困难的系统设计中解脱出来,而将主要精力放在业务逻辑的设计上,J2EE 为企业提供了一个能够明显缩短开发时间的软件开发体系结构。3可以把 J2EE 看成是一个整合了各种网络资源的企业级开发平台,它为架构和控制、运行企业级应用程序提供了运行环境。对于应用程序的高可靠性、高可用性和可扩展性的需求来说,J2EE 提供了中间层集成框架用来满足用户。J2EE 中包括前端的数据端和后端数据源在内的这些中间层在复杂的商业逻辑中把客户端分离了出来,实现了商业功能和数据与EIS(Enterprise Information System)的完美结合,使用户花费了最少的时间和精力在管理上。由于开发平台的统一性,J2EE 能够对现有应用程序实现较好的集成,降低了开发多层应用系统程序的开发难度和代码编写量,进而可以增强系统性能以及系统安全性和完整性4。2.2 SSH 整合框架是一种可复用的软件,它需要具备灵活的结构以便于扩展。选择一个好的开发框架进行开发能够极大地增加系统的可维护性,进而提高开发的效率。使用合适的框架, 可以节省设计人员的精力。J2EE多层结构的出现将面向对象技术推向了新的高点。SSH 集成框架支持多种主机类型、多操作系统、多数据库。并且生成的页面和组件代码完全符合J2EE 标准,开发人员可以开发出更为强大更具特色的应用系统5。SSH 三层架构的出现, 有效地解决了传统架构存在的问题。其架构模型与传统J2EE 架构的关键区别在于各层的内部实现方式不同。SSH 架构分为Web层、业务逻辑层、数据持久层。Web层使用Struts结构完成数据的获取和回复,业务逻辑层通过使用Spring的配置文件来进行逻辑控制并对数据的处理,数据持久层使用Hibernate框架来进行应用程序与数据库的数据交换。SSH 集成框架实现了分层结构设计的技术要求,使每一层的功能和职责定义十分清楚,通过接口在层与层之间进行连接,增强了系统的稳定性,安全性,可扩展性,有效提高了系统开发速度,降低了层与层间的耦合度。具体包括:(1)Web层用来管理用户的请求和响应,提供了一个控制器将调用委托给业务层进行处理,将来自于其他层的处理纳入到Struts Action中,并且执行UI校验。(2)业务逻辑层用来处理应用层的业务逻辑和业务校验,提供同其他层进行连接的接口,协调业务对象之间的依赖性,从表现层提供给业务层上下文以获得业务服务,管理从业务层到表现层的功能实现。(3)数据持久层用来实现对象的映射关系,Hibernate 是通过HQL 查询语言,或者使用API存储、更新和删除存储在数据库中的信息。SSH 三层架构体系如图2.1所示。图2.1 SSH三层架构图其中Web层使用了Struts 框架, 实现了视图控制的分离。业务层使用了Spring 框架,对表示层与持久层进行了有效地黏合,完美得实现了业务代码的高效分离。SSH有以下显著优点:(1)响应速度快:SSH 三层架构的数据持久层采用了Hibernate 框架, 提高了数据库复用性, 加快了服务器端的响应速度。(2)承压量增加:在有限的硬件设备和网络连接设备下, 将Hibernate 框架与数据库连接池结合起来, 缓解了并发连接高峰期的压力。(3)业务拓展性高:采用的三层架构方式将表现层、业务层和数据库持久层分离开来, 分层的结构方式使得业务拓展更为方便。(4)开发效率高:SSH 三层架构分层搭建的高分离特性,可以在编码阶段进行模块分工编写,后期整合从而有效的节省了程序员编写重复代码的时间。(5)代码重用性高:视图层使用Struts 框架,使得页面代码具有高重用性。业务层使用Spring框架对业务代码进行管理,也具备高重用性的特点。2.2.1 Struts 框架Struts 是对经典设计模式MVC 的一种实现类型,它是运用面向对象思想设计的,实现了MVC 模式“分离显示逻辑和业务逻辑”的功能,使开发人员专注于解决实际的业务逻辑问题,因而能够有效的帮助开发者提高利用J2EE 开发Web 应用程序和系统的效率6。为了提高在运用MVC 设计模型开发Web 应用程序时的效率,Struts框架使JSP,Servlet、标签库以及面向对象等技术的标准有了很大的改变和完善7。Struts 的体系结构与工作原理如图2.2 所示。图2.2 Struts体系结构图Struts 框架具有组件的模块化,灵活性和复用性的优点,同时简化了基于MVC的Web 应用程序的开发复杂度。Struts 对Model,View 和Controller 都提供了对应的组件。从MVC 模型的角度可以了解Struts 体系结构和工作原理8,9。(1)模型(Model)在 Struts 框架中,模型是由内部状态和事务逻辑两个部分组成。通常是由ActionForm Bean 表示内部状态,不同的应用程序复杂度决定了这些Bean 是只有在需要时才会从某个数据库获得数据还是自包含并持续的状态。在小型的应用程序中,事务逻辑可以作为控制器的一部分被嵌入到 Action 类中,而在较为复杂的大型应用程序中,拥有状态信息的Bean 可以随时地调用那些在内部封装了事务逻辑的方法。(2)视图(View)Struts 框架主要是用JSP 来实现视图部分,Struts 提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model 有效交互,简化创建用户界面的过程,并增加了现实功能。(3)控制器(Controller)在Struts 中,Controller 组件由系统核心控制器,业务逻辑控制器两部分组成。系统核心控制器负责拦截所有的HTTP 请求,然后根据用户请求决定是否要转给业务逻辑控制器,它继承了HttpServlet 类,因此可以配置成标注的Servlet。业务逻辑控制器负责调用Model 来处理用户请求,其本身不具备处理能力10。Struts 2 框架的大致处理流程如下:(1)浏览器发送请求。(2)核心控制器Filter Dispatcher 根据请求决定调用合适的Action。(3)Web Work 的拦截器自动对请求应用通用功能,例如workflow、validation 或文件上传等功能。(4)回调Action 的execute 方法,该execute 方法先获取用户请求参数,然后执行某种数据库操作,既可以是将数据保存到数据库,也可以从数据库中检索信息。实际上,因为Action 只是一个控制器,它会调用业务逻辑组件来处理用户的请求。(5)Action 的execute 方法处理结果信息将被输出到浏览器中,可以是HTML 页面、图像,也可以是PDF 文档或者其他文档。此时支持的视图技术非常多,既支持JSP,也支持Velocity、Free Marker 等模板技术。2.2.2 Spring 框架Spring 是一个轻量级解决方案。它是为了简化企业级系统开发而诞生的,是一个以依赖注入原则和面向对象编程思想为基础的轻量级框架11。它既是一个AOP(面向切面编程)框架也是一个IoC(控制反转)容器,可以方便的替换业务对象,利用JavaBean属性和配置文件可以在需要的时候替换具有类似接口的对象12。并且它提供了管理业务对象的一致方法。Spring的核心是控制反转,即通过配置文件来完成业务对象之间的注入,他鼓励对接口编程而不是对类编程。Spring还提供了事物处理功能,使得它能够在各种底层事务处理技术上提供一个统一的编程模型13,不但如此,他还能和其他一些开源框架进行无缝的结合14。Spring 模块是一个分层的框架,由核心容器,Spring上下文,Spring AOP,Spring DAO,Spring ORM,Spring Web模块,Spring MVC框架等7个模块组成15。如图所示:图2.3 Spring 框架结构Spring框架的功能可以在任何J2EE服务器中应用,Spring的核心要求是:支持绑定到特定J2EE服务的可重用业务和数据访问对象。这种对象可以在不同的J2EE环境、独立应用程序或者测试环境之间应用。从设计理念就可以明显看出,Spring框架使得逻辑层与Web层实现了分离,Spring模块是构建在核心容器上的,这种核心容器定义了创建,配置和管理Bean方式,原来那种只能由EJB完成的目标现在Spring只需要基本的Java Bean就可以实现。并且Spring不仅仅是只能开发服务端,其简单性,松耦合度以及可测试性使其可以服务于任何Java应用,Spring通过控制反转机制,利用XML配置可以把程序中所涉及到的业务逻辑,事物管理控制器,对象工程,DAO对象和服务组件等联系起来,使得各个实体间可以充分解耦,他们之间关系的维持是利用统一的配置文件XML的配置,因此对于单个对象的修改并不会影响到其他对象,所以维护起来也就十分方便。2.2.3 Hibernate 框架Hibernate是一种对象关系映射框架,其本身是开放源代码的,它是一种强大高效的持久层查询服务器,它以面向对象的思维,解决数据库的操作问题,Hibernate 高效的保证了运行效率、内存消耗以及开发效率,并自动封装了事务控制,安全性代码等功能16。同时Hibernate还是一种非强迫性的解决方案,能与一些数据库和Java服务器进行平稳的集成17。Hibernate 的强大缓存机制能一定程度上的缓解服务器端频繁读取数据库的压力,这也是Hibernate 广泛使用得重要原因之一。它轻量级的封装了JDBC对象,从而使得代码编写者在操作数据库时可以使用对象编程思想18。Hibernate既可以在Java的客户端程序中使用,也可以在Web应用程序中使用,可以说任何使用JDBC的场合都能够使用Hibernate。更为重要的是,在应用EJB的J2EE架构中,Hibernate可以取代CMP从而完成数据持久化。Hibernate实现了面向对象的业务模型和商业逻辑的最优结合,它不仅可以管理Java对象和数据库的映射,还可以查询数据并且获取数据,极为显著的缩短了开发时使用SQL和JDBC的数据处理时间19。Hibernate将Java中的对象与对象关系映射至关系模型数据库中的表格与表格之间的关系,Hibernate提供了这个过程中自动对应转换的方案。Hibernate的体系结构如图2.4所示。图2.4 Hibernate体系架构Hibernate 的核心接口一共有5个,包括:Session,Session Factory ,Configuration,Transaction,Query 和Criteria接口。主要的组件有三个,分别为:连接管理组件,事务管理组件,对象/关系映射组件20。Hibernate提供的持久化服务是一个接口,它由业务逻辑调用。其优势在于使得开发者可以把被持久化的对象实现成与持久化环境无关的类。总之,Hibernate是一个优秀并且开放源代码的Java对象持久层轻量级封装框架,它既可以在Java应用程序中用来取代大部分JDBC代码,也可以整合到J2EE系统中作为持久层框架。2.3 B/S架构技术介绍B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,是一种不同于C/S结构的新的体系架构,在这种结构下,用户操作与交互的界面是通过通用的浏览器(如IE浏览器)来实现。B/S一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种脚本语言(VBScript、javascript)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows操作系统将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。B/S架构如图2.5所示:图2.5 B/S架构示意图客户端在浏览器上进行操作,把业务过程中所需的数据发给Web容器,Web容器对数据进行处理,和数据库端进行数据交互,并根据业务逻辑决定返回给客户端的数据,客户端浏览器接收Web服务端返回的数据后,解析成相关的HTML(超文本标记语言),结合Web前端的JavaScript、CSS等页面控制技术,把用户界面显示在浏览器上。2.4 应用服务器TomcatTomact 是一个免费的,开放源代码的Web 应用服务器,虽然是免费开源的Web应用服务器,但是它的技术含量并不亚于其他Web 应用服务器,而且性能稳定,运行时中用的系统资源少,是开发和调试应用程序的理想工具。Tomact 具有解释处理HTML页面的功能,另外,它还是一个Servlet 和JSP 容器,Servlet 和JSP 规范在Tomact容器中都能得到很好的支持。由于Java 的跨平台性,基于Java 开发的应用服务器Tomact 也支持跨平台,在Windows 平台下载调试运行的公共的应用程序很容易移植到其他操作系统平台上部署和运行。Tomcat 服务器作为Servlet 容器,负责处理客户发送来的请求,把收到的请求传送给Servlet 并把结果返回给客户端。Servlet 容器与Servlet 间的接口和方法都是由JavaServlet API 定义的,这些方法在Servlet 生命周期的不同阶段被Servlet 容器调用,Servlet API 还定义了Servlct 容器传递给Servlet 的对象类,例如如请求对象ServletRequest 和响应对象ServletResponse。Servlet 容器响应客户请求的过程如图2.3 所示21:图2.6 Servlet容器相应客户请求过程Tomcat 服务器是由一系列可配置的组件构成,核心组件是Catalina Servlet 容器,它是所有其他组件的顶层容器。可以在/ conf/servlet.xml 文件中对Tomcat 组件配置,每个Tomcat 组件在Servlet.xml 中对应一种配置元素。Tomcat 服务器最主要的功能就是充当Java Web 应用的容器。除了能够运行Servlet 和JSP,还提供了作为Web 服务器的一些特有的功能,如Tomcat 管理和控制和平台、安全域管理和Tomcat 阀等。Tomcat 已经成为目前开放企业Java Web 应用的最佳选择之一。第三章 问题的定义与可行性分析第三章 问题的定义与可行性分析3.1问题的定义网上购物商城系统实际上是基于企业与客户模式的电子商务,该模式在近些年来都有比较成熟的应用,世界上比较知名的企业如戴尔公司采用这种B2C模式让客户能够通过网络订购公司的产品,国内的一些公司如当当购物网等也通过B2C模式建立了一种购物平台。实际上,网上购物商城的模式基本相同,只是各个具体的商家(客户)的具体应用有所不同,因此开发该系统要求能够充分满足客户的需要。本系统主要为那些通过网络进行销售各种产品的商家所使用,系统具有完整的前后台,具有通用性,同时确保网站的安全性。各种不同的商家只要充分利用本系统的后台进行系统设置和商品、公告等信息维护后,即可方便使用。3.2可行性分析可行性研究的目的是确定问题是否值得去解决。为了达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。下面就对网络商城系统分别从技术可行性、经济可行性、和操作可行性三个方面进行综合分析,然后进行总结得出结论。3.2.1技术可行性本系统采用SSH(Struts,Spring,Hibernate)框架来开发。SSH框架是目前J2EE领域里最热门而且用得较为成熟的一套开源框架,它是基于MVC设计模式之上,在充分发挥MVC设计模式优点的同时,也创造出了自己的开发特点,降低了应用程序的耦合性,更进一步提高了应用程序的复用性、移植性、灵活性、扩展性和应用性能。SSH是一套轻量级的开发框架,相对于EJB重量级开发框架,SSH在继承了它的优点的同时,在开发和执行效率上都有了相当程度的提高,同时对于开发者而言,它比EJB更容易学习和撑握,开发速度也更快。目前Struts和Spring发展到2.0版本,Hibernate发展到3.0版本,SSH框架也正在不断地进行优化和升级,运行也越来越稳定22。3.2.2经济可行性现代网络高速发展,影响着人类生活的方方面面。电子商务也应运而生,蓬勃发展。足不出户就能获取方便快捷的购物途径、享受超值的购物乐趣和优质的在线服务;商家也可以无需真实的店铺,不但降低投入、节省资金和摈弃传统贸易的落后方式,更重要的能通过电子商务平台拓展商机、捕获机遇,赢得更大利益。2010年中国电子商务市场交易额已达4.5万亿,同比增长22%。其中,B2B电子商务交易额达到3.8万亿,网上零售市场交易规模达5131亿元。2011年中国电子商务市场交易额达6万亿元,同比增长33%,其中,B2B电子商务交易额达到4.9万亿,同比增长29%。整体保持稳定的发展态势。网络零售市场交易规模为3492亿元,而截止到12月,网络零售市场交易规模突破8000亿大关达到8019亿元,同比增长56%。2013年中国电子商务市场的交易额为6.25万亿元,同比增长27%;网络零售交易规模达1.32万亿元,同比增长64.7%;网络团购等其他领域也呈现增长势头,中国电子商务发展的前景依然乐观。B2B交易额占中国电子商务总体交易额的89.5%,达到21480亿元;而B2C交易额占整体交易额的7.4%,达到1776亿元;C2C交易额占3.1%,达到744亿元。整体业务格局的最大变化在于B2C市场份额进一步扩大。此外,由于电子商务向行业的渗透将更加深入,加之B2C市场对投资者的吸引力加强,B2C市场的份额将呈现明显的扩大趋势23。利用电子商务和信息化从事网络贸易的企业和个人,正成为社会经济领域的主体,在国民经济中发挥着重要的作用,随着这类群体的不断扩大,传统的商业规则和商业秩序受到冲击,重新解构,新的基于互联网的电子商务经济体系正在构建。政府的指引、主导和监督、相关法律法规的制定和实施、电子商务行业行规制度的完善等都是促进我国电子商务良好发展的重要因素。3.2.3操作可行性如今,计算机与网络已经非常地普及。特别是在企业信息化高需求与快速发展的时代,计算机应用已经成为企业员工必备的技能。由于这个课题是以PC机作为服务器的网站,营销商可以自己对网站进行操作和管理。综上所述,此项目在技术、经济、操作和社会效益上是完全可行的。第四章 需求分析第四章 需求分析软件需求分析是软件生命周期中重要的一步,也是最关键的一步,通过软件需求分析把软件功能和性能的总体概念描述为具体的软件需求规格说明,进而确立软件开发的基础。结合自己网购体验和企业的需要,本章对网络商城系统分别从系统综合要求(包括功能需求、性能需求、可靠性需求)、系统数据要求进行分析,进而导出网络商城系统的逻辑模型。4.1 系统综合要求4.1.1 功能需求根据上商家的实际需求,开发一个通用的B2C网络商城购物系统。网络商城系统按角色分配的总的功能需求,如图4.1所示:图4.1 总功能需求网络商城系统按角色划分,每个角色都有着本身的功能需求,下面我们将按游客、普通用户、系统管理员这三个角色来细分该平台系统的功能需求。游客的功能需求,如图4.2所示:图4.2 游客功能需求注册用户:系统为任何用户提供普通用户注册功能;浏览商品:游客可登陆平台,查看各种商品及资讯信息;购物车功能:添加商品至购物车、从购物车中删除、购物车结算总价(不可以提交订单);查询商品:可根据类别查询平台的商品信息及资讯信息,提供模糊查询功能;资讯浏览:可查看系统最新资讯和公告信息。其他功能:匿名留言功能、投诉举报功能等。普通用户的功能需求(如图4.3所示):图4.3 普通用户功能需求用户登录:验证用户和包括所有游客所具有的功能;信息管理:个人信息设置、修改密码、安全退出等功能;购物车管理:加入购物车、修改购物数量、购物结算、移除购物车等功能;订单管理:提交订单、浏览订单详细信息、订单付款等功能;留言管理:提交留言信息;管理员功能需求(如图4.4所示)图4.4 管理员功能需求用户管理:浏览用户信息、删除用户、按条件(指定条件和日期)查找用户、模糊查找用户、修改用户信息、用户列表分页查看商品管理:录入商品信息、按条件查找商品、模糊查找商品、分页浏览商品信息、商品下架、更新商品信息等商品类别管理:新增商品类别、删除商品类别、商品类别显示订单管理:指定用户订单查看、订单状态查看、订单详细信息查看(订单商品列表、订单交易客户、订单总额等)、按条件查询订单(指定条件和订单提交日期)、修改订单状态(订单发货、取消订单)分页显示全部订单资讯管理:添加企业资讯(资讯标题、资讯内容)、修改企业资讯、删除企业资讯等功能模块;留言管理:收到留言、查看留言、回复留言、删除留言等功能模块;系统管理:修改登录密码、安全退出、添加系统管理员4.1.2 性能需求1、本系统所有商品价格为保留小数点后一位小数2、系统的响应时间、更新处理时间、数据的转换和传送时间均小于2s3、更改数据库时,本系统可方便切换,由于采用了hibernate所以实现比较灵活,可适应多种数据库;4.1.3 安全需求l、用户登录时,对用户进行验证,并且具有验证码,保证用户的合法性。2、禁止用户通过URL直接访问。3、对用户权限进行定义,只有授权后,用户才能操作相应的功能,保证操作安性。4.1.4 出错处理需求1、对用户的输入数据进行数据校验,保证数据的合法性。2、出错时,要求界面提示友好,对系统本身的错误检测应该仅限于系统的关键部分,而且应该尽可能少。4.2 系统数据要求根据对系统的数据需求的分析,可以得到如下数据要求,其中主要包括实体有用户信息、管理员信息、商品类别信息、商品信息、订单信息、订单列表信息、留言信息、资讯信息等。1、用户信息:主要包括的属性有用户ID、性别、类型、会员名、真实姓名、密码、家庭住址、手机号码、注册时间、邮寄地址等。其中用户ID是用户的唯一标识,类型分为管理员和用户。2、管理员信息:主要包括的属性有管理员ID、密码、类型等。其中管理员ID是管理员信息的唯一标识。3、商品类别信息:主要包括的属性有类别ID、类别名称等。其中类别ID是商品类别信息的唯一标识。4、商品信息:主要包括的属性有商品ID、商品名称、商品类别、商品制造厂家、商品描述、商品原价格、商品优惠价格、商品库存总数、剩余商品数量、商品上架时间、商品图片。其中商品ID为商品信息的唯一标识。5、订单信息:主要包括的属性有订单ID、订单编号、支付状态、发货状态、发货时间、提交订单时间、订单总价、备注、交易客户。其中订单ID为订单信息的唯一标识,订单编号是根据一定规则生成的唯一编号。6、订单列表信息:主要包括的属性有订单列表ID、商品数量、商品信息、订单信息。其中订单列表ID为订单列表信息的唯一标识,商品数量表示在同一订单中所购买同一商品的总数。7、留言信息:主要包括的属性有留言ID、留言用户、留言内容和留言时间。其中留言ID为留言信息的唯一标识。8、资讯信息:主要包括的属性有资讯ID、资讯标题、资讯内容、发布时间等。其中资讯ID为资讯信息的唯一标识。 4.3 逻辑模型4.3.1 数据流图建立顶层数据流图顶层数据流图反映目标系统所要实现的功能与外部环境的接口,顶层数据流图中仅有一个代表整个系统的加工,数据的源点和终点对应着系统的外部实体,表明系统输入数据的来源和数据的去向。网络商城系统的顶层数据流图如图4.5所示。图4.5 网络商城系统顶层(0层)数据流图由于篇幅关系,这里就不再对系统中所涉及到数据流图进行一一图解,重点的数据表在系统设计中会有更为详细的说明。4.3.2 数据字典通过对系统的需求分析以及对数据流图的分析可以建立以下相应的数据字典,其中包括数据流条目、数据项条目。1、 数据流条目:表4.1 用户基本信息数据表数据流名称:用户信息数据表数据流别名:用户信息说明:每个注册用户的基本信息的录入数据流来源:用户数据流流向: 用户信息管理数据流组成:用户基本信息数据表地址+昵称+密码+手机号码+邮寄地址+姓名+注册时间+性别+类型表4.2 管理员信息数据表数据流名称:管理员基本信息数据表数据流别名:管理员信息说明:管理员的基本信息的录入数据流来源:管理员数据流流向: 系统管理数据流组成:管理员基本信息数据表名称+密码+类型表4.3 商品类别信息数据表数据流名称:商品类别信息数据表数据流别名:商品类别信息说明:商品类别基本信息的录入数据流来源:管理员数据流流向: 系统管理数据流组成:管理员基本信息数据表名称+密码+类型表4.4 商品类别信息数据表数据流名称:商品信息数据表数据流别名:商品信息说明:商品基本信息的录入数据流来源:管理员数据流流向: 系统管理数据流组成:商品信息数据表名称+类别+制造厂商+描述+原价+优惠价+数量+剩余数量+上架时间+图片表4.5 资讯信息数据表数据流名称:资讯信息表数据流别名:商品信息说明:资讯信息的录入数据流来源:管理员数据流流向: 系统管理数据流组成:资讯信息表内容+发布时间+标题表4.6留言信息数据表数据流名称:留言信息表数据流别名:留言信息说明:留言信息的录入续表4.6留言信息数据表数据流来源:登录用户数据流流向:系统管理数据流组成:留言信息内容+时间+留言人+标题表4.7订单信息数据表数据流名称:订单信息表数据流别名:订单信息说明:订单信息的录入数据流来源:用户数据流流向: 系统管理数据流组成:订单信息发货时间+发货状态+付款状态+商品总数+备注+提交时间+订单总额+用户表4.8订单列表信息数据表数据流名称:订单列表信息表数据流别名:订单列表信息说明:订单列表信息的录入数据流来源:用户数据流流向: 系统管理数据流组成:订单信息订单+所属订单商品+所属商品数量2、 数据项条目:表4.9 用户姓名数据项名称:用户姓名数据项别名:name说明:用户姓名。类型:字符串长度:12取值:最多由12位字符组成。表4.10 用户性别数据项名称:用户性别数据项别名: sex说明:用户个人性别。类型:整形长度:1取值:0或1。表4.11 用户注册时间数据项名称:用户注册时间数据项别名:regTime说明:用户注册时间类型:日期长度:8取值:日期。表4.12 用户邮寄地址数据项名称:用户邮寄地址数据项别名:post说明:用户联系地址。类型:字符串长度:80取值:最多由80位字符组成。表4.13 用户通讯邮编数据项名称:用户通讯邮编数据项别名: postcode说明:用户通讯邮编。类型:字符串长度:10取值:最多由10位字符组成。表4.14 用户联系电话数据项名称:用户联系电话数据项别名:phone说明:用户联系电话。类型:字符串长度:11取值:最多由11位字符组成。表4.15 用户地址数据项名称:用户地址数据项别名:address说明:用户住宅地址类型:字符串长度:12取值:最多由12位字符组成。第五章 概要设计第五章 概要设计5.1系统结构设计5.1.1系统整体架构一个优秀的系统架构在一开始就应该考虑到要怎样建立用户接口、应该在哪里处理业务逻辑、怎样持久化系统数据;这是从系统的整体架构上来分析系统,站在技术的角度则应该考虑这几层中各层要选用什么技术来实现、应该怎么设计才能最大限度地降低系统的耦合性(即松散耦合。也称解耦)。从而提高系统的灵活性、可扩展性、可移植性、易维护性。选择优秀的系统框架不但能达到以上目的,还能提高系统的复用率、使系统具有良好的扩展功能24。因此本系统选用了优秀的SSH (Struts+Spring+ Hibernate)系统架构模式,Struts完成系统的表示层功能,Spring负责系统的业务逻辑控制,Hibernate则完成系统数据的持久化任务。在此架构基础之上,系统划分为以下三层:表现层、持久层、业务层。这样就使得每层在应用程序中都有明确的责任,不和其它层混淆功能,层与层之间使用接口进行通讯。从而达到系统预期的解耦目的。网络商城系统正是在SSH的三层架构的基础上实现的。系统体系架构如图5.1所示25 :图5.1 网络商城系统体系架构5.2系统功能模块设计5.2.1 系统功能划分根据系统的需求分析,网络商城系统划分为前台、后台。前后台的分离,使前台商业活动和后台业务处理得到有效的脱离。前台是一个比较大的功能群,它所包含的信息不仅数量多,而且种类不同。将它设计成比较优化的结构形式能组织好网站的信息内容并将其归类,方便用户获得所需要的信息。系统的后台要对整个网站的信息和数据进行维护。网站前台所显示的信息在后台都应该有对应的维护。因此,根据系统平台的功能需求,将系统功能按如下划分:1、游客和普通用户的前台功能模块,有登陆注册模块(用户注册模块、用户登录模块)、个人信息管理模块(用户资料模块、用户订单模块、用户留言模块)、购物车管理模块、信息展示模块(商品信息展示模块、资讯展示模块)。2、系统管理员的后台功能模块,有用户管理模块、商品类别管理模块、商品管理模块、订单管理模块、资讯管理模块、留言管理模块、系统管理模块等。根据分析可以设计系统方案的系统总体功能结构图如图5.2所示。图5.2 网络商城系统功能结构图5.2.2子模块系统设计1、登录注册模块主要实现用户的登录和注册功能。用户分为游客、注册用户,游客通过输入个人相关资料注册成会员后,才能拥有自己的信息管理模块,同时也只有注册用户才能在前台进行交易。2、个人信息管理模块主要实现个人信息管理功能,包括用户资料的管理、订单管管理、用户留言。注册用户登录系统后,可以查看自己注册时填写的个人资料,并可以随时更改个人信息,同时还可以通过订单管理查看自己的订单信息,修改订单状态,方便用户及时了解自己的交易情况。用户也可通过用户留言,对系统的情况进行反馈,帮助管理员对系统进行维护和改进。3、购物车管理模块主要实现购物车管理,包括添加商品至购物车、将商品从购物车删除、查看购物车清单、在购物车中进行商品的结算等功能。4、信息展示模块主要实现商品信息的展示和资讯的展示功能。用户或游客都可以按商品的类别浏览商品,同时也可以按条件对商品进行查找。系统默认展示最新上架的商品。用户可通过资讯的展示查看系统发布的通知和公告,了解商城的最新动态。5、用户管理模块主要实现对注册用户的管理。包括用户的查找、用户删除、修改用户信息等功能。系统管理员可根据情况对注册用户进行管理。7、商品分类管理模块主要实现对商品类别的管理。包括商品类列的查找、商品类别的删除、商品类别的添加和商品类别的修改。商品类别的修改同时会影响到该类别的商品信息的更新。删除某类商品会删除所有属于该类下的商品。8、商品管理模块主要实现了商品信息的管理。包括商品信息的录入、商品信息的修改、商品的按条件查找、分页显示所有商品、商品的删除、商品信息的更新。商品的查找可以根据商品的ID,也可根据商品的上架时间和其他条件联合查找。9、订单管理模块主要实现了订单信息的的管理。包括订单的列表的分页显示、订单信息的详细显示、订单状态的修改、订单的按条件查找和订单的删除。订单的列表只显示该订单的简要信息,如订单编号和交易的客户和总金额。而订单详细信息显示的是该笔订单的购物清单,包括商品及其数量等内容。同时订单的查找也可根据订单ID和多条件联合查找。10、资讯管理模块主要实现了对资讯的管理。包括资讯的添加、资讯的更新、资讯的列表显示和资讯的删除等功能。11、留言管理模块主要实现了对留言的管理。包括留言类容的查看、留言删除、留言的列表显示等功能。12、系统管理模块主要实现了系统管理。包括对管理员密码的修改、系统参数的设置等功能。5.3系统数据库设计5.3.1数据库选择与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,但是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东建筑资质知识培训班课件
- 商铺商城管理合作协议
- 供热设备安全认证协议
- 展厅装修专业知识培训课件
- 大数据销售软件知识培训课件
- 经济补偿方案协议
- 07多环芳烃和稠环芳烃17
- 应急预案备案审查表是什么(3篇)
- 2025年度高端医疗设备采购与区域市场拓展服务合同
- 2025年大型商场中央空调系统节能改造与维护管理合同
- 人教部编七年级语文全册专项知识点梳理归纳字词、文言文、古诗词
- 2022年版初中物理课程标准解读-课件
- 输配电绝缘子维护与更换
- 幼儿园教师读《让儿童的学习看得见》有感
- 返工、返修作业指导书全套
- 基本公共卫生服务项目工作存在问题整改情况范文(通用6篇)
- 宠物旅游创业计划书
- 图表作文写作技巧与范文解析
- 静脉导管的维护
- 设备监理表格使用说明
- 文化创意公司章程范本
评论
0/150
提交评论