目 录
摘要 i
Abstract ii
1 前言 1
1.1 概述 1
1.2 整体叙述 1
2 系统开发背景 3
2.1 课题的背景 3
2.2 课题的研究现状 3
2.3 课题的研究意义 3
3 系统分析 5
3.1 系统开发目的与意义 5
3.2 可行性分析 5
3.2.1 技术可行性 5
3.2.2 经济可行性 5
3.2.3 操作可行性 6
3.2.4 法律可行性 6
3.2.5 管理可行性 6
3.3 需求分析 6
3.3.1 功能需求分析 6
3.3.2 数据逻辑分析 6
3.3.3 性能需求分析 7
3.4 数据库分析 7
3.5 开发环境 7
3.6 开发工具及技术 8
3.6.1 开发工具 8
3.6.2 开发技术 8
4 系统总体设计 10
4.1 设计思想 10
4.2 功能模块设计 10
4.3 界面设计 12
4.4 系统用户用例图 13
4.4.1 普通用户用例图 13
4.4.2 管理员用例图 13
4.5 数据库的设计 14
4.5.1 数据库概念结构设计 14
4.5.2 数据库逻辑结构设计 16
5 系统详细设计与实现 20
5.1 管理员登录页面 20
5.2 管理员模块 21
5.2.1 图书类目管理 21
5.2.2 图书信息管理 23
5.2.3 用户信息管理 27
5.2.4 订单信息管理 28
5.2.5 退出系统 28
5.3 普通用户模块 28
5.3.1 系统主页面实现 28
5.3.2 图书查询 29
5.3.3 用户登录注册 30
5.3.4 图书分类查询 30
5.3.5 在线下单 31
5.3.6 管理订单功能 32
6 系统测试 33
6.1 系统测试目的与意义 33
6.2 测试过程 33
6.2.1 网站首页用户登录测试 33
6.2.2 管理员删除图书信息测试 34
6.2.3 生成订单测试 34
6.2.4 其他错误测试 35
7 系统的运行和维护 36
结论 37
参考文献 38
致谢 39
附录:外文原文 40
中文翻译 49
3.3 需求分析
3.3.1 功能需求分析
1、该系统所具有的功能需求有:
1)前台网站:
a、一般游客:浏览书店简介、浏览图书信息、搜索图书、根据分类 查寻图书、注册信息等功能;
b、在线用户:包含上边普通游客所有功能,登陆网站、添加书籍到购物车、管理已购买书籍订单等功能。
2)后台管理:管理员可管理图书、设置是否是促销或最新图书;工作人员可以查看、增添用户;管理图书种类,包含查看所有分类、增添书籍类型;管理订单包括查看所有用户订单、标记订单是否已处理、查看详情、删除等功能。
3.3.2 数据逻辑分析
在网站系统页面,若注册信息,用户填写的信息会提交到UserAction类,判断用户名和密码是否正确从而调用service层,service层调用dao层添加用户信息,以此类推,各种数据只要和数据库打交道那就需要经过action类,在对应action类中进行逻辑处理,跳转到相应页面,需要操作数据库时action类调用service层类,再调用dao层类来实现数据的保存或更新及删除。
3.3.3 性能需求分析
1、系统的安全性
在管理限定上严格管制,本软件体系要求如下:
1)对于后台管理系统,首先必须是系统的管理员才能对系统各方面进行更新,其次须凭借无误的昵称和密码口令登陆到系统,没有权限包含不是管理工作人员或者是工作人员时输入不正确的昵称或密码口令登陆系统的人员都不能登陆进后台,对系统中任何信息都不能查看或更新,这样来保证系统的安全性和可靠性。
2)对于前台网站首页,对于拥有不同权限的用户来说,有两种权限分别是一般游客和在线用户,这两种消费者不能跨越本级别操作。具体:一般游客只能在网站首页浏览虚拟书店的介绍信息、书籍的基本信息以及分类查询书籍和搜索书籍,这类用户通过在网站注册信息登录即可变成在线用户;在线用户不但具备一般游客全部能力,而且可以生成订单、管理订单、更改个人基本信息。
2、数据的完整性
- 系统用到的全部信息的完整性,包含保存用户个人信息和书籍的信息。
2) 信息和信息保持一定的互动。 - 同一种信息在不同表中保存的数据应保持相同。
3.4 数据库分析
数据库是计算机系统的核心,其在数据库系统的管理下,对信息进行收集、整理、储存、检索、数据更新、数据加工以及数据统计和有用消息的传达等操纵。现在,信息系统等计算机系统的根基和核心部分已经成为了数据库,因此数据库的品质好坏直接关系到整个体系的质量和效率。[4]
MySQL是一种关系型数据库,其所使用的SQL语言是常用的访问数据库的标准化语言,MySQL具有体积小、速度快的优点,更因其是开源软件,这个大特点就很大程度降低了开发成本,纵使MySQL也有不足之处,但它提供的功能已绰绰有余,因此本系统使用MySQL数据库。
3.5 开发环境
1、硬件环境:
CPU:Intel(R)Core(TM)i5
内存:4GB
磁盘:400G以上
2、软件环境:
系统类型:Win7 64位操作系统
开发工具:Eclipse j2EE
后台服务器:Tomcat 8.0
主要开发语言:JSP、Java
浏览器:Firefox/IE8.0/Google Chrome
4 系统总体设计
4.1 设计思想
设计思想遵循以下几点:
1、本系统使用浏览器 / 服务器模式开发,因为考虑到许多用户已经习惯于在页面上搜索。
2、Java面向对象的思想应融合在整个系统的开发中,每个模块都是独立的,各模块组成一个整体,零散而聚集;
3、系统应具有安全性以及可靠性,分配角色权限是解决他们的最好途径;
4、操作方便,界面从优;
5、设计不仅要重点突出,而且要细致周到。为满足设计要求,在可能的基础上改进系统的扩展,以适应用户的需求。
4.2 功能模块设计
该系统使用起来容易,操作简单,有清晰明了的提示文字,让用户的整个购书过程很轻松享受。本体系实现的基本功能如下:
1、一般游客:浏览书店简介、浏览图书信息、搜索图书、根据分类查寻图书、注册信息等功能;
2、在线用户:包括一般游客全部功能,除此之外,还有登录网站首页、管理购物车、生成订单、查看订单等功能;
3、管理员具有图书类型管理、图书信息管理、订单查看删除管理、用户添加删除管理、后台管理功能;
4、除了以上,该系统的用户交互界面简易明了,易于使用,还有友善的不正确的提示信息,有比较好的安全性。
系统整体的功能模块图如图4.1所示:
图4.1 系统总体功能模块图
软件体系的总体功能模块图,分普通用户模块,管理员模块。
普通用户的模块图说明:本文转载自http://www.biyezuopin.vip/onews.asp?id=11348普通用户在网店首页可以进行了解书店简介,浏览图书信息;如果要在线操作首先需要备案一个个人账号,再登录上网站,可进行在线下订单,书籍查询操作,如图4.2所示:
图4.2 普通用户模块
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>书店首页</title>
</head>
<body>
<div id="wrap">
<jsp:include page="header.jsp"/>
<div class="center_content">
<div class="left_content">
<!-- 精品推荐 -->
<div class="title"><span class="title_icon"><img src="images/bullet1.gif"/></span>精品推荐</div>
<s:iterator var="special" value="specialList">
<div class="feat_prod_box">
<div class="prod_img">
<a href="detail.action?bookid=${id}"><img src="../${cover}" class="thumb_big"/></a>
</div>
<div class="prod_det_box">
<div class="box_top"></div>
<div class="box_center">
<span class="special_icon"><img src="images/special_icon.gif"></span>
<div class="prod_title">
<a href="detail.action?bookid=${id}">${name}</a>
</div>
<p class="details"><s:property value="intro.substring(0,(intro.length()>70?70:intro.length()))+'...'"/></p>
<a href="detail.action?bookid=${id}" class="more">- 图书详情 -</a>
<div class="clear"></div>
</div>
<div class="box_bottom"></div>
</div>
<div class="clear"></div>
</div>
</s:iterator>
<!-- 最新出版 -->
<div class="title"><span class="title_icon"><img src="images/bullet2.gif"/></span>最新出版</div>
<div class="new_products">
<s:iterator var="special" value="newList">
<div class="new_prod_box">
<a href="detail.action?bookid=${id}">${name}</a>
<div class="new_prod_bg">
<span class="new_icon"><img src="images/new_icon.gif"/></span>
<a href="detail.action?bookid=${id}"><img src="../${cover}" class="thumb" border="0" /></a>
</div>
</div>
</s:iterator>
</div>
<div class="clear"></div>
</div>
<s:action name="/book/index!right" executeResult="true"/>
<div class="clear"></div>
</div>
<jsp:include page="footer.jsp"/>
</div>
</body>
</html>