2.3 需求分析
2.3.1 功能需求分析
该系统所具有的功能需求有:
前台网站
一般游客:浏览书店简介、浏览图书信息、搜索图书、根据分类 查寻图书、注册信息等功能
在线用户:包含上边普通游客所有功能,登陆网站、添加书籍到购物车、管理已购买书籍订单等功能
后台管理:管理员可管理图书、设置是否是促销或最新图书;工作人员可以查看、增添用户;管理图书种类,包含查看所有分类、增添书籍类型;管理订单包括查看所有用户订单、标记订单是否已处理、查看详情、删除等功能
2.3.2 数据逻辑分析
在网站系统页面,若注册信息,用户填写的信息会提交到UserAction类,判断用户名和密码是否正确从而调用service层,service层调用dao层添加用户信息,以此类推,各种数据只要和数据库打交道那就需要经过action类,在对应action类中进行逻辑处理,跳转到相应页面,需要操作数据库时action类调用service层类,再调用dao层类来实现数据的保存或更新及删除。
2.3.3 性能需求分析
系统的安全性
在管理限定上严格管制,本软件体系要求如下:
对于后台管理系统,首先必须是系统的管理员才能对系统各方面进行更新,其次须凭借无误的昵称和密码口令登陆到系统,没有权限包含不是管理工作人员或者是工作人员时输入不正确的昵称或密码口令登陆系统的人员都不能登陆进后台,对系统中任何信息都不能查看或更新,这样来保证系统的安全性和可靠性
对于前台网站首页,对于拥有不同权限的用户来说,有两种权限分别是一般游客和在线用户,这两种消费者不能跨越本级别操作。具体:一般游客只能在网站首页浏览虚拟书店的介绍信息、书籍的基本信息以及分类查询书籍和搜索书籍,这类用户通过在网站注册信息登录即可变成在线用户;在线用户不但具备一般游客全部能力,而且可以生成订单、管理订单、更改个人基本信息
数据的完整性
系统用到的全部信息的完整性,包含保存用户个人信息和书籍的信息
信息和信息保持一定的互动
同一种信息在不同表中保存的数据应保持相同
2.4 关键技术
2.4.1 JSP
JSP在服务端器实现给客户端浏览器响应的是html页面,因此客户端只要有浏览器方可看到响应内容,JSP页面包括两部分一个是Java语言写的脚本代码,另一个是html代码。客户端发出请求之后,页面上的Java脚本代码在客户端请求web页面之后被解析处理,然后返回给浏览器响应的html页面。
JSP技术的优势:
一次编码,各个系统平台都能运转
JSP组件跨平台。在不同的平台上都能运行
拥护多种网页格式。JSP支持html、wml等浏览器样式
JSP标签可扩充性。JSP技术准许开发人员扩展JSP标签,还能自定义标签,降低了制作网页的复杂度
健壮性与安全性。JSP页面包含Java代码,而Java有健壮的存储管理机制和高安全性,因此JSP也有健壮性和安全性
2.4.2 JavaScript
JavaScript脚本语言是动态弱类型的语言,它的解释器是浏览器所包含的,运行在客户端,通常应用在网页端的脚本语言中。它一开始用于HTML(超文本标记语言)页面,以向HTML网页增添动态功能。
JavaScript的特点是:
js是一种执行时再翻译的动态语言(代码未预先编译)
提高用户界面交互体验,为页面添加动态验证
脚本部分的代码要放在特定的标记中间,或者单独写成js文件,并引用进来
js是基于浏览器,是运行在浏览器中的,就算在不同的平台上也可运作
2.4.3 Struts2
Struts2优势:
Struts2Action对象为每一个请求产生一个实例,因此没有线程安全问题
Struts2强大的标签库提高开发效率
页面脉络清晰,通过查看配置文件把握整个系统的关系,方便开发人员岗位流动时的维护
2.4.4 Spring
Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。
Spring优势:
Spring提供了一种管理对象的方法,可以把中间层对象有效地组织起来。一个完美的框架“黏合剂”
有利于面向接口编程习惯的养成,使代码结构清晰
采用了分层结构,可以增量引入到项目中
目的之一是为了写出易于测试的代码
非侵入性,应用程序对SpringAPI的依赖可以减至最小限度
一致的数据访问介面
一个轻量级的架构解决方案
2.4.5 Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate优势:
Hibernate是JDBC轻量级的封装,占用内存较少,性能比较高。与JDBC相比,如果开发JDBC的人员技术能力非常强,hibernate执行效率会比JDBC弱一些,但是大部分情况是程序员在使用JDBC时是不可能做到最高效率,hibernate可以帮大部分开发人员提高运行效率
可以引入第三方二级缓存,提高系统查询效率,减少系统里存在大量单例类(singleton),大量的单例类,会降低系统的可测试性和面向对象程度
优秀的ORM框架,理论上节省开发人员95%的开发工作量
Hibernate兼容JDBC
3 系统设计
3.1 设计思想
设计思想遵循以下几点:
本系统使用浏览器 / 服务器模式开发,因为考虑到许多用户已经习惯于在页面上搜索
Java面向对象的思想应融合在整个系统的开发中,每个模块都是独立的,各模块组成一个整体,零散而聚集
系统应具有安全性以及可靠性,分配角色权限是解决他们的最好途径
操作方便,界面从优
设计不仅要重点突出,而且要细致周到。为满足设计要求,在可能的基础上改进系统的扩展,以适应用户的需求
3.2 功能模块设计
该系统使用起来容易,操作简单,有清晰明了的提示文字,让用户的整个购书过程很轻松享受。本体系实现的基本功能如下:
一般游客:浏览书店简介、浏览图书信息、搜索图书、根据分类查寻图书、注册信息等功能
在线用户:包括一般游客全部功能,除此之外,还有登录网站首页、管理购物车、生成订单、查看订单等功能
管理员具有图书类型管理、图书信息管理、订单查看删除管理、用户添加删除管理、后台管理功能
除了以上,该系统的用户交互界面简易明了,易于使用,还有友善的不正确的提示信息,有比较好的安全性
完整的源码和详细的文档,上传到了 WRITE-BUG技术共享平台 上,需要的请自取: