基于SSH电子商城项目详细设计书.docx
- 文档编号:11016579
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:29
- 大小:2.51MB
基于SSH电子商城项目详细设计书.docx
《基于SSH电子商城项目详细设计书.docx》由会员分享,可在线阅读,更多相关《基于SSH电子商城项目详细设计书.docx(29页珍藏版)》请在冰豆网上搜索。
基于SSH电子商城项目详细设计书
基于SSH电子商城
一、引言
21世纪是信息的世界,随着信息化的浪潮席卷全球,传统的商务模式受到巨大的冲击。
越来越多的企业和个人消费者,在Internet开放的网络环境下,一种基于浏览器---服务器应用模式,实现消费者网上购物,商户之间的网上交易和在线电子支付的新型的商业运营模式---电子商务应运而生。
本系统采用SSH(Struts,Spring,Hibernate)框架来开发。
SSH框架是目前J2EE领域里最热门而且用得较为成熟的一套开源框架,它是基于MVC设计模式之上,在充分发挥MVC设计模式优点的同时,也创造出了自己的开发特点,降低了应用程序的耦合性,更进一步提高了应用程序的复用性、移植性、灵活性、扩展性和应用性能。
SSH是一套轻量级的开发框架,开发速度快,易于维护。
二、
1.1编写目的
本详细设计说明书主要目的是对基于SSH电子商城的功能设计进行详尽的说明。
本说明书主要写了,基于SSH电子商城各个功能的详细设计,为后来的开发提供依据与参考。
详细设计说明书面向人员有:
程序设计人员、项目经理、编码人员、质量检测人员。
1.2背景
a.基于SSH电子商城
b.开发背景:
本项目的任务提出者:
某某科技大学软工1203班毕业实习第二组
开发者:
王青枝,李文,王猛,X超,杨璐,辛愿,黄朝来,魏卓
1.3参考资料
《管理信息系统》.薛华成.清华大学
《软件文档编写》.潘孝铭辛明海.高等教育
《软件工程》.钟珞.清华大学
《Spring企业级应用开发详解》陈雄华:
电子工业2009
《Strut2权威指南》李刚:
电子工业2008
三、设计概述
1项目原理图
②项目技术架构
2.1任务和目标
本系统设计目的旨在建立一个以SSH框架为基础,结构灵活、可复用、可扩展,开发快速且轻量的电子商务应用平台。
系统框架和企业子系统为本人设计的主要目标,能够根据业务需求变化可以灵活操作系统功能模块,根据企业变化能够自由添加、修改、删除企业子系统是实现以上目标的关键。
2.2需求概述
前台功能需求
1)首页:
为企业提供一个首页,在上面显示的重要信息包括企业LOGO,用户的登录,用户的注册,一级分类显示,最新商品及热门商品显示等。
2)用户的注册:
主要针对未注册的用户,完成注册功能使用,在注册过程中,需要进行数据的前台非空校验,及使用AJAX完成用户名是否存在的异步校验。
在校验通过后即可完成注册,在后台同样需要进行数据校验及发送一封激活。
3)用户的激活:
已经注册的用户,需要进入点击激活进行用户的激活。
4)用户的登录:
已经注册的用户,并且该用户已经激活的情况下,输入用户名和密码即可激活用户。
5)用户的退出:
针对已经登录的用户,退出该系统使用。
6)首页商品展示:
显示最新商品及热门商品。
方便用户了解最新以及最热门商品。
7)分类页面商品展示:
根据某个分类的信息去展示商品。
可以方便用户查找相应分类商品。
8)商品详情展示:
点击某个具体商品的时候,可以显示商品的详情。
以便用户可以方便的了解商品的具体信息。
9)购物车:
此功能为用户提供购物功能,用户可以根据自己需要,将自己喜欢的商品添加到购物车,也可以从购物车中移除商品,甚至清空购物车中的所有商品。
10)订单:
登录用户可以将自己喜欢商品进行购买,产生订单。
可以对自己产生的订单进行在线的付款。
以及可以根据用户信息,查询自己的订单。
后台功能需求
1)管理员登录:
管理员根据用户名和密码完成登录功能。
2)一级分类管理:
管理员可以对前台显示的一级分类进行管理包括添加,修改,删除,查询的功能操作。
3)二级分类管理:
管理员可以对前台显示的二级分类进行管理包括添加,修改,删除,查询的功能操作。
4)商品管理:
管理员可以对前台上显示的商品进行管理包括添加,修改,删除,查询的功能操作同时要可以上传商品的图片。
5)订单管理:
管理员可以对所有的用户产生的订单进行管理包括未付款的,已经付款的,已经发货的,交易完成的订单。
可以修改订单状态及异步加载订单项。
6)用户管理:
管理员可以对注册过的用户进行管理包括修改用户信息,删除用户,查询用户。
2.3运行环境概述
硬件环境
a)服务器端:
服务器端的最低配置是由建立站点所需的软件来决定的,本网络系统服务器端的最低配置如下:
内存:
2G
硬盘空间:
160G
b)客户端:
因为客户端主要用于浏览和操作数据,所以对客户端的硬件要求不高,不过现在的电脑有很高的性价比,因此需要的配置应该高于下面的配置:
内存:
512MB
硬盘空间:
160GB
软件环境
a)服务器端:
操作系统:
Windows7、Windows8、Windows10
服务器:
Tomcat7.x+jdk7.x
数据库管理系统:
MySQL5.x
b)用户端:
操作系统:
Windows7、Windows8、Windows10
各大主流浏览器
2.3.1JSP概述
JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
2.3.2Mysql概述
是一个关于数据库管理系统
2.3.3SSH概述
SSH即Struts+Spring+Hibernate,是典型的J2EE三层结构,分为表现层、中间层和数据访问层。
三层体系将数据表现、业务逻辑和数据访问分开。
业务逻辑、数据访问、权限拦截及合法性校验等工作放在中间层处理。
客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库打交道。
Struts2体系结构
Struts2是一个具有很好实用价值的WebMVC框架,它减少了直接运用MVC模式来开发Web应用的周期。
重要的是它是一个开源框架,方便开发者深入研究了解其机制,越来越广泛的接受和应用。
而且它提供一个好的控制器和一套定制的标签库Taglib,着力在控制器和视图上的应用,完美的体现了MVC设计思想。
提供集中统一的权限控制、国际化提示和消息、输入校验和日志记录等技术支持。
另外,它对其他技术和框架具有良好的融合性。
如能与E、JDBC和Hibernate等数据库访问技术相结合,利用集成技术减少数据库的工作量。
Struts2的体系结构如图所示:
Hibernate框架:
ORM(对象/关系数据库映射)
对象关系映射(ObjectRelationalMapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。
它完成了面向对象的编程语言到关系型数据库的映射㈣。
ORM框架可以看成应用程序和数据库之间的桥梁,通过它,我们可以以面向对象的方式建模、操作,易用、易理解,同时也可以利用关系型数据库系统对数据库访问操作的一些优势。
以面向对象的方式操作持久化对象,而ORM框架负责转换成对应的SQL(结构化查询语言)操作。
Hibernate概述
Hibernate是轻量级JavaEE应用的持久层解决方案,是流行的ORM框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以面向对象的方式来操纵数据库。
Hibernate不仅管理Java类到数据库表的映射,还提供数据查询和获取数据的操作,可以减少人工使用SQL和JDBC处理数据的时间。
Hibernate体系结构
Hibernate实际上是一个提供数据库服务的中间件。
Hibernate的持久化解决方案将用户从繁琐的JDBC访问中解脱出来,底层数据库连接获取,数据访问的实现、事务控制都无须用户关心,这种体系结构,将应用层从底层的JDBC/JTAAPI中抽象出来。
Hibernate体系结构如图(注:
该图来自于Hibernate官方参考文档)所示。
Spring框架:
Spring框架介绍:
Spring是从实际开发中抽取出来的开源框架,为企业的开发提供一个轻量级的解决方案。
该解决方案包括:
基于Ioc(控制反转)的核心机制,以及AOP(面向切面编程)的思想,能与多种持久层技术的整合,是优秀的WebMVC框架等。
Spring致力于JavaEE应用各层的解决方案而不是仅仅专注于某一层的方案,它贯穿表现层、业务层、持久层,降低各层组件的耦合度,实现软件各层的解耦.
轻量级
划分一个应用是否属于轻量级还是重量级,主要看它使用了多少服务,使用的服务越多,容器要为普通java对象做的工作就越多,必然会影响到应用的发布时间或者是运行性能。
对于Spring容器,它提供了很多服务,但这些服务默认是关闭的,应用对需要的服务可以现用现拿。
而且,Spring是无侵入性的可扩展框架,Spring应用中的对象不依赖Spring具体的类。
Ioc(控制反转)
所谓的控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。
这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。
AOP(面向切面编程)
AOP(AspectOrientProgramming),即面向方面编程。
AOP技术给人们提供了一个崭新的视角分析和设计软件系统。
AOP引入了分离关注点形成模块化的机制来解决横切关注点的问题。
所谓的关注点指的是一个特定的概念、目标或可实现域。
系统正是由一组关注点组成,典型的软件系统由多个系统级关注点和核心级关注点组成。
核心关注点指业务处理的主要过程,而系统级关注点是与核心业务无关,一般横切多个核心关注点,为这些核心关注点提供服务,如日志记录,安全检测、事务处理等。
AOP和OOP互为补充,从两种不同的角度去认识事物。
传统的OOP[4lJ编程是以对象为核心,系统由一系列相互依赖的对象组成,抽象的封装好这些对象的属性和行为,使得这些对象可以相互协作的完成特定的业务逻辑,从而完成一个完整的应用系统。
但随着软件系统的不断扩大,系列化分工越来越细,对跨越多个模块的行为进行建模是,OOP暴露出了一些无法很好解决的问题。
OOP的核心是采用的纵向结构去完成业务逻辑(也可理解为关注点),很多不同模块可能具有相同的关注点(横切关注点),OOP处理起来较为繁琐,模块间的耦合度大,后期维护和扩展比较困难。
AOP的核心是允许我们独立的完成一个个关注点,然后以一种松耦合的方式把这些单独的关注点编织成一个完整的系统,形成了一种模块化横切关注点的方式。
与OOP相对,AOP采用的是横向结构,例如,多个模块具有某个相同操作,这个操作就可以视为系统中的一个“横切关注点”。
简单地说,AOP就是将那些与业务无关,却为业务处理模块共同服务的诸如并发访问控制的一些系统关注点(通用的功能需求),从不相关的的类之间分离出来,在某个地方集中编写,组织和维护,并可以通过如AspectJ等工具将它们织入到系统出供业务对象使用。
这是系统建模中抽象层次的进一步提升,可以得到结构清晰、模块化强、代码问耦合度低、易于重用和维护的系统。
Spring体系结构
Spring框架由7个定义良好的模块(组件)组成,各个模块可以独立存在,也可以联合使用。
(1)SpringCore:
核心容器提供了Spring的基本功能。
核心容器的核心功能是用Ioc容器来管理类的依赖关系.Spring采用的模式是调用者不理会被调用者的实例的创建,由Spring容器负责被调用者实例的创建和维护,需要时注入给调用者。
这是目前最优秀的解耦模式。
(2)SpringAOP:
Spring的AOP模块提供了面向切面编程的支持。
SpringAOP采用的是纯Java实现。
SpringAOP采用基于代理的AOP实现方案,AOP代理由Ioc容器负责生成、管理,依赖关系也一并由Ioc容器管理,尽管如此,SpringIoc容器并不依赖于AOP,这样我们可以自由选择是否使用AOP。
(3)SpringORM:
提供了与多个第三方持久层框架的良好整合。
(4)SpringDAO:
Spring进一步简化DAO开发步骤,能以一致的方式使用数据库访问技术,用统一的方式调用事务管理,避免具体的实现侵入业务逻辑层的代码中。
(5)SpringContext:
它是一个配置文件,为Spring提供上下文信息,提供了框架式的对象访问方法。
Context为Spring提供了一些服务支持,如对国际化(i18n)、电子、校验和调度功能。
(6)SpringWeb:
提供了基础的针对Web开发的集成特性,例如多方文件上传,利用Servletlisteners进行IoC容器初始化和针对Web的applicationContext.
(7)SpringMVC:
提供了Web应用的MVC实现。
Spring的MVC框架并不是仅仅提供一种传统的实现,它提供了一种清晰的分离模型,在领域模型代码和webform之间。
并且,还可以借助Spring框架的其他特性。
Struts、Hibernate和Spring的整合
本章的前部分,我们已经了解了轻量级JAVAEE分层的设计模式,在Java界多种优秀框架在对应层找到了自己的位置。
如表示层有:
Struts、WebWork、Velocity、JSF、Tapestry等。
持久层有:
Hibernate、EntityE、iBATIS、TopLink、O等;将各层的开源框架有机的整合在一起作为软件系统的主体架构,使得系统具各高度的可扩展性、可维护性。
在各种整合的方案中,struts+hibernate+spring已成为JAVAEE应用开发的主流体系。
四、系统详细需求分析
软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。
需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求
3.1详细需求分析
功能需求
前台功能
11)首页:
为企业提供一个首页,在上面显示的重要信息包括企业LOGO,用户的登录,用户的注册,一级分类显示,最新商品及热门商品显示等。
12)用户的注册:
主要针对未注册的用户,完成注册功能使用,在注册过程中,需要进行数据的前台非空校验,及使用AJAX完成用户名是否存在的异步校验。
在校验通过后即可完成注册,在后台同样需要进行数据校验及发送一封激活。
13)用户的激活:
已经注册的用户,需要进入点击激活进行用户的激活。
14)用户的登录:
已经注册的用户,并且该用户已经激活的情况下,输入用户名和密码即可激活用户。
15)用户的退出:
针对已经登录的用户,退出该系统使用。
16)首页商品展示:
显示最新商品及热门商品。
方便用户了解最新以及最热门商品。
17)分类页面商品展示:
根据某个分类的信息去展示商品。
可以方便用户查找相应分类商品。
18)商品详情展示:
点击某个具体商品的时候,可以显示商品的详情。
以便用户可以方便的了解商品的具体信息。
19)购物车:
此功能为用户提供购物功能,用户可以根据自己需要,将自己喜欢的商品添加到购物车,也可以从购物车中移除商品,甚至清空购物车中的所有商品。
20)订单:
登录用户可以将自己喜欢商品进行购买,产生订单。
可以对自己产生的订单进行在线的付款。
以及可以根据用户信息,查询自己的订单。
后台功能
7)管理员登录:
管理员根据用户名和密码完成登录功能。
8)一级分类管理:
管理员可以对前台显示的一级分类进行管理包括添加,修改,删除,查询的功能操作。
9)二级分类管理:
管理员可以对前台显示的二级分类进行管理包括添加,修改,删除,查询的功能操作。
10)商品管理:
管理员可以对前台上显示的商品进行管理包括添加,修改,删除,查询的功能操作同时要可以上传商品的图片。
11)订单管理:
管理员可以对所有的用户产生的订单进行管理包括未付款的,已经付款的,已经发货的,交易完成的订单。
可以修改订单状态及异步加载订单项。
12)用户管理:
管理员可以对注册过的用户进行管理包括修改用户信息,删除用户,查询用户。
性能需求
响应时间与内存使用量:
忽略网络环境因素、主题模板及功能插件运作的因素,以本地测试为准。
数据库安装响应:
时间2秒内,内存使用量最高上限8,000,000bytes。
前台浏览响应时间:
时间0.8秒,内存使用量最高上限9,000,000bytes。
后台操作响应时间:
时间0.9秒,内存使用量最高上限9,000,000bytes。
安全性:
后台的界面访问、路径访问、操作执行的前后,均受登陆会话管理和用户权限管理的控制。
并对密码采用MD5加密算法
3.2详细系统运行环境及限制条件分析接口需求分析
a)服务器端:
服务器端的最低配置是由建立站点所需的软件来决定的,本网络系统服务器端的最低配置如下:
内存:
2G
硬盘空间:
160G
b)客户端:
因为客户端主要用于浏览和操作数据,所以对客户端的硬件要求不高,不过现在的电脑有很高的性价比,因此需要的配置应该高于下面的配置:
内存:
512MB
硬盘空间:
160GB
软件环境
a)服务器端:
操作系统:
Windows7、Windows8、Windows10
服务器:
Tomcat7.x+jdk7.x
数据库管理系统:
MySQL5.x
b)用户端:
操作系统:
Windows7、Windows8、Windows10
各大主流浏览器
四、总体方案确认
4.1系统总体结构确认
本系统实现功能包括前台功能和后台功能,前台功能主要是与企业客户交互,后台功能主要提供企业管理员进行操作。
前台功能包括:
首页、用户登录注册、一级分类显、商品详情显示、购物车、订单操作、在线付款。
后台功能包括:
用户管理、一级分类管理、二级分类管理、商品管理、订单管理。
五、系统详细设计
5.1系统结构设计及子系统划分
前台功能
21)首页:
为企业提供一个首页,在上面显示的重要信息包括企业LOGO,用户的登录,用户的注册,一级分类显示,最新商品及热门商品显示等。
22)用户的注册:
主要针对未注册的用户,完成注册功能使用,在注册过程中,需要进行数据的前台非空校验,及使用AJAX完成用户名是否存在的异步校验。
在校验通过后即可完成注册,在后台同样需要进行数据校验及发送一封激活。
23)用户的激活:
已经注册的用户,需要进入点击激活进行用户的激活。
24)用户的登录:
已经注册的用户,并且该用户已经激活的情况下,输入用户名和密码即可激活用户。
25)用户的退出:
针对已经登录的用户,退出该系统使用。
26)首页商品展示:
显示最新商品及热门商品。
方便用户了解最新以及最热门商品。
27)分类页面商品展示:
根据某个分类的信息去展示商品。
可以方便用户查找相应分类商品。
28)商品详情展示:
点击某个具体商品的时候,可以显示商品的详情。
以便用户可以方便的了解商品的具体信息。
29)购物车:
此功能为用户提供购物功能,用户可以根据自己需要,将自己喜欢的商品添加到购物车,也可以从购物车中移除商品,甚至清空购物车中的所有商品。
30)订单:
登录用户可以将自己喜欢商品进行购买,产生订单。
可以对自己产生的订单进行在线的付款。
以及可以根据用户信息,查询自己的订单。
后台功能
13)管理员登录:
管理员根据用户名和密码完成登录功能。
14)一级分类管理:
管理员可以对前台显示的一级分类进行管理包括添加,修改,删除,查询的功能操作。
15)二级分类管理:
管理员可以对前台显示的二级分类进行管理包括添加,修改,删除,查询的功能操作。
16)商品管理:
管理员可以对前台上显示的商品进行管理包括添加,修改,删除,查询的功能操作同时要可以上传商品的图片。
17)订单管理:
管理员可以对所有的用户产生的订单进行管理包括未付款的,已经付款的,已经发货的,交易完成的订单。
可以修改订单状态及异步加载订单项。
用户管理:
管理员可以对注册过的用户进行管理包括修改用户信息,删除用户,查询用户。
5.2系统功能模块详细设计
5.2.1登录/注册模块
5.2.2商品展示模块
5.2.3订单模块
5.2.4购物车块
5.2.5管理员登陆模块
5.2.6管理员登陆主页面
5.2.7用户管理模块
5.28商品管理模块
六、数据库系统设计
本系统采用的数据库为Mysql5.0,本系统所有与数据库相关的开发都遵从Mysql5.0数据库开发原则。
本系统数据库开发定义名词如下:
1.‘*’:
主关键字符号;
2.‘PK’:
主关键字缩写;
3.‘+’:
外关键字符号;
4.‘FK’:
外关键字缩写;
5.‘&’:
复合关键字符号;
6.‘CPK’:
复合关键字缩写;
7.‘UNIQUE’:
唯一索引;
各数据表描述:
数据表
描述
adminuser
后台管理员表
category
一级分类表
categorysecond
二级分类表
orderitem
订单项表
orders
订单表
product
商品表
user
前台用户表
2.4.1数据库字典
表名:
adminuser解释:
后台管理员表
ADMINUSER(adminuser)
是否主键
字段名
字段描述
数据类型
长度
可空
约束
缺省值
备注
是
uid
管理员编号
INT(11)
11
username
管理员名
VARCHAR(50)
50
是
password
管理员密码
VARCHAR(30)
20
是
表名:
category解释:
一级分类表
CATEGORY(category)
是否主键
字段名
字段描述
数据类型
长度
可空
约束
缺省值
备注
是
cid
一级分类编号
INT(11)
11
ame
一级分类名
VARCHAR(50)
50
是
表名:
categorysecond解释:
二级分类表
CATEGORYSECOND(categorysecond)
是否主键
字段名
字段描述
数据类型
长度
可空
约束
缺省值
备注
是
csid
二级分类编号
INT(11)
11
csname
二级分类名
VARCHAR(50)
50
是
cid
一级分类编号
INT(11)
11
外键
表名:
orders解释:
订单表
ORDERS(orders)
是否主键
字段名
字段描述
数据类型
长度
可空
约束
缺省值
备注
是
oid
订单编号
INT(11)
11
total
订单总金额
DOUBLE
0
是
ordertime
订单时间
datetime
20
是
state
订单状态
INT(11)
11
是
name
收货人名
VARCHAR(20)
20
是
phone
收货人
VARCHAR(20)
20
是
addr
收货人地址
VARCHAR(50)
50
是
uid
用户编号
INT(11)
11
外键
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SSH 电子商城 项目 详细 设计