基于SSH网上购书系统的设计(全文)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于SSHXX上购书系统的设计
1 引言
XX上购书系统是适用于在XX络上进行图书购买的系统平台,它能够方便直观地从数据库中调取用户感兴趣的图书,从而为用户提供及时、准确的决策依据。
从使用者的角度,系统分为一般用户和系统治理员两大类,将功能进行准确的划分。
系统治理员拥有系统的最高权限,能够对图书及订单进行及时的添加、查询和删除,保证图书的实时更新。
2 系统的可行性分析
2.1 运行可行性
随着XX络的进展,电子商务的便利性已经被越来越多的人接受,而XX上购书系统的出现极大地增强了人们在书籍购买和查询方面的便利,使人们足不出户就可以购买自己喜爱的书籍,所以系统运行的前景是非常可观的。
2.2 系统的需求问题描述
2.2.1 系统功能性需求
系统是按照UML的要求来实施。
在需求分析阶段,先将系统的功能性需求以UML用例图表示出来,给系统的设计和实施提供了非常直观的表现。
用例图中包含系统的主要功能有图书治理、用户治理、订单治理等。
每个功能模块还包含各自的子模块。
根据实体书店治理的需要和用户购书的需求,系统分为前台和后台治理员模块,两种模块的治理员对系统有不同的权限。
治理员
可以对数据库中的信息进行修改和编辑。
而一般用户只能在系统中进行查询、购买、扫瞄等功能。
2.2.2 系统非功能性需求
非功能性需求是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性。
非功能性需求虽然不会直接影响系统功能,但在一般用户和系统治理员对该信息系统的认同和操作方面具有很大的影响。
非功能性需求主要包括系统的性能要求和主要特性,主要包括系统的可靠性、可用性、可支持性、数据安全性等。
3 系统的架构设计
3.1 系统的技术架构
系统采纳Jv EE架构中的三大主流框架Struts2、Hibernte 和Spring以及他们之间相互整合应用的知识实现业务层、显示层和操纵层的分离。
在SSH框架中表示层用Struts2,业务层用Spring,而持久层用Hibernte,三种框架组合在一起实现每个层在功能上明确分工,每个层即相互独立,又通过通信接口相互联系。
系统架构采纳了B/S体系架构,B/S架构部分采纳XX 协议与服务器端进行通信。
服务器端用不同的协议和接口来猎取客户端发送的请求,在客户端请求处理通过Jv中的反转机制来查找业务处理的函数,通过统一的业务处理类实现业务处理层的重用,整个系统划分为四层:表示层、业务逻辑层、数据持久层、域模
型层。
分层结构分工明确,耦合度低,有利于进行系统单元测试和功能维护。
3.2 系统总体功能架构
一个系统的实现,首先要考虑整个系统实现的功能,所以要在编码之前设计好系统总体功能架构图。
根据系统总体功能架构图可以清楚地看到系统的各个模块以及各个模块能够实现的功能。
系统主要分为前台治理和后台治理两大模块。
前台治理模块主要分为注册、用户登录、扫瞄图书、购物车、图书购买和注销;后台治理模块主要分为治理员注册、治理员登录、图书治理、用户治理、订单治理。
4 系统的详细设计
系统的详细设计是对系统架构的细化,在需求分析和总体设计的基础上,对业务流程的设计进行细化,主要从系统建模、数据库设计等方面进行阐述。
4.1 系统建模
系统建模采纳软件设计开发中常用的统一建模语言(UML)来完成。
统一建模语言(UML)是一种通用的可视化建模语言,由单一模型支持的一组图示化模型图,可以用于任何软件开发过程的标记法和语义语言。
本系统采纳UML建模方法,利用面向对象方法构建软件系统,帮助开发的过程,更好的理解、实现和维护。
4.1.1 系统的静态结构图
系统的静态结构图是指系统的关系类图,系统的关系类图一般都是在需求分析过程中产生的领域模型的基础上精化产生的。
为了清楚地抽取出系统的核心结构,采取的是分层设计类图的方式,首先设计整个系统的类图,其次设计每个子系统的类图,最后设计每一个用例的类图。
治理员登录后台系统后,打开图书添加界面,依次填入图书的书名、图书价格,选择图书类别,上传图书封面,然后提交图书信息,在提交之前治理员可以对信息进行重置。
然后从操纵层添加图书信息、从业务层保存图书信息,通过DO和数据库连接把图书信息添加到数据库中。
治理员发送添加图书请求,接收到请求之后返回图书添加界面,根据界面要求治理员添加图书信息,点击“添加”按钮,图书信息发送到业务操纵类进行处理,调用数据访问类,将图书信息存储到数据库中。
4.1.2 系统的动态结构图
系统后台包含多个重要的动态行为,而且一个动态行为存在多种不同的状态。
结构图中系统在起始节点开始有动作,在接受了治理员指令后,便遇上了一个分支,此分支有“接受指令”一个入流和若干分流,经过分支后便进行一系列的添加,查询,修改等动作。
这些后续动作的顺序在本质上是无序的,可以先进行用户信息的治理,也可以先进行订单治理。
这些动作也可以交替进行。
但是在治理用户信息这个动作之后的条件行为,就不是并行的了,条件行为的选定有单个入流和两个受监控的出流。
在本
系统中,在按要求删除用户后,如果是,则删除用户;若否,则返回,这两个动作的监控是互斥的,当到达这个选定时,只能取一个出流。
当分支的动作汇合之后,系统就可以进行下一个动作:要么退出程序,要么继续执行下一步指令。
当所有动作都结束之后,则关闭本次指令,此次活动终结。
4.2 数据库设计
4.2.1 数据库逻辑结构设计
数据库在本购书系统中占有极其重要的地位,合理的数据库结构设计可以提高系统性能。
考虑到用户需求的各种实体,本XX上购书系统规划出的实体有用户信息实体、图书信息实体、订单信息实体,订单明细信息实体。
其中,一个订单包含多条订单明细,一条订单可以显示用户购买图书的多条信息;一位用户可以提交多条订单;一位用户也可以购买若干本图书;所购买的图书可以先临时放到购物车里,一个购物车可以存放若干本图书。
4.2.2 数据库物理结构设计
基于上述数据库逻辑结构设计,将以上的数据库关系E-R 图转化为关系数据模型,需要设计各个数据表。
本系统的数据库包含用户信息表、图书信息表、用户订单信息表、订单明细表、治理员信息表。
这些表之间相互关联共同存储系统所需要的数据。
在设计数据表的过程中遵循几个原则:
(1)数据库设计的一个表只存储一个实体或对象的相关信息,不同的实体存储在不同的数据表中,如果实体还可以再划分,
实体的划分原则是最好能够比当前系统要开发的实体颗粒度要小;
(2)数据表的信息表结构合适,表的字段数量过多;
(3)扩充信息和动态变化的信息分开存储在不同的表里;
(4)尽量不出现多对多的关系。
5 结束语
采纳SSH架构设计的XX上购书系统,可以让开发人员减轻重新建立解决复杂问题方案的负担和精力;可以被扩展以进行内部的定制化;并且有强大的用户社区来支持它。
并且在可移植性、安全性、及运行效率等方面均有不同程度的提高,适合中大企业的使用。