目 录
第一章 概述 1
1.1 开发背景 1
1.2 开发环境 2
1.3 开发工具 2
1.3.1 MyEclipse 2
1.3.2 Navicat 3
1.3.3 MySQL 3
第二章 需求分析 5
2.1 总体需求 5
2.3 功能需求 6
2.4 性能需求 6
2.5 运行需求 6
2.6 其他需求 7
2.7 可行性分析 7
2.7.1技术可行性 7
2.7.2 经济可行性 7
第三章 概要设计 8
3.1.概要设计概述 8
3.1.2 设计流程 9
3.1.3 设计思路 9
3.2 功能模块 9
3.2.1 登陆模块 9
3.2.2 注册模块 10
3.2.3 图书添加模块 11
3.2.4 图书删除模块 12
3.2.5 图书修改模块 12
3.2.6 图书查询浏览模块 13
第四章 数据库设计 14
4.1 数据库设计概念 14
4.2 E-R图设计 15
4.3 数据表的创建 17
4.3.1 users表 17
4.3.2 book表 18
4.3.3 orderitem表 19
4.3.4 orders 表 19
第五章 详细设计 20
5.1 概述 20
5.2 数据库的链接 20
5.2.1 C3P0介绍 20
5.2.2 C3P0配置 20
5.3 开始界面 22
5.4管理员模块 22
5.4.1添加图书功能 23
5.4.2 删除图书功能 27
5.4.3 图书修改功能 29
第六章 测试 33
6.1测试的目的与目标 33
6.2 测试方法 33
第七章 总结 35
致谢 36
参考文献 37
2.3 功能需求
●在Internet,客户可通过IE或其他浏览器浏览书目信息;
●在互联网,可提交订单;
●具有购物车功能;
●客户能通过书名来检索书籍;
●客户能查看当前订单和以往订单;
●书店管理员能查找客户信息;
●书店管理员在发货后能改写订单中的发货日期;
2.4 性能需求
●系统可以对图书的库存进行统计。
●系统界面设计友好,操作方便、灵活。
●具有高可靠性和冗错能力,不允许系统在工作时间停机,不允许 系统丢失图书信息,不允许在运行期间出现故障和错误。
●具有安全检查机制,非法用户不能使用系统,不能偷看系统信息,不能修改图书,防止随意删改,同时提供信息备份的服务。
●具有保密机制,各级使用者只能看到允许查看的系统信息。
2.5 运行需求
用户界面
人性化界面,全新感觉,操作简便,一目了然,视图优美等特点。并且采用菜单界面驱动方式,给操作用户带来了极大的便利,对用户友好。
故障处理
正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。调试中遇到的问题及解决的方案:
1)遇到跳出“数据库已经关闭”提示信息阻止程序运行时
可以查看一下进行此项操作时,操作的表是否已经被关闭了或者是在没有关闭此表的情况下又一次运用打开语句打开此表。
2)关于空记录带来的麻烦
有些空记录往往会使程序无法运行。此时你可用“if not isnull”语句先判断一下是否为空记录,再操作。
3)有些运行错误也可用补获异常进行处理。
2.6 其他需求
系统的功能实现情况:
用户可在本系统下实现各种用户要求的功能
系统的安全性:
对于系统的重要数据都有密码保护,具有一定的安全性
对用户提供证书支持(此功能在后续版本中实现)
系统的容错性:
用户输错数据都有提示信息,具有较好的容错性能。
系统的封闭性:
用户的封闭性较好,用户基本上在提示信息下输数据。
2.7 可行性分析
2.7.1技术可行性
网上书店系统的结构分为三层,分别为表现层(用户界面)、业务层(业务处理)、数据层(数据维护和存储)。表现层只提供用户界面,根据用户操作调用相应的业务逻辑,不直接访问数据库;业务层是系统的关键所在,负责处理用户的请求,并把结果返回给表现层;数据层提供数据支持。根据现在所学知识可以满足该项目的所有功能的实现。
2.7.2 经济可行性
随着信息技术的发展与普及网络竞争越发激烈。客户作为市场最大的资源成为市场营销的核心。由于网上书店数量少且存在不规范,以及网上书店存在大量潜在客户具有巨大的发展空间网上书店的建立将是一笔巨大的财富。
第三章 概要设计
3.1.概要设计概述
本概要设计说明书是针对《平昌县网上书城系统》而编写,目的是对该项目进行总 体设计,在明确系统需求的基础上划分系统的功能模块,进行系统分工的开发, 明确各模块间的接口,为进行后面的详细设计和实现做准备。本文转载自http://www.biyezuopin.vip/onews.asp?id=14202本概要设计说明书 的预期读者为本项目小组的成员,以及对该系统感兴趣、在以后想对系统进行扩 展和维护的人员。
3.1.2 设计流程
由小组组长带队在第一周的时间里和组员一起讨论项目的实现过程,先设计数据库,然后登录注册,前端页面,系统的主体。
3.1.3 设计思路
先确定数据库中表的表名,字段以及属性。再确定项目的登陆注册功能的实现以及前端页面的布局和框架样式,最后完成项目的主体功能。
3.2 功能模块
3.2.1 登陆模块
1、模块描述
该模块完成用户登录的过程,登陆成功后才能完成图书购买功能。
在页面输入用户名和密码后,前端数据会去后台调用controller中的UsersController类验证信息。
2、输入、输出
输入用户名和密码
3、模块接口关系
允许进入:进入书城系统
拒绝进入:返回登陆页面
4、模块算法实现
controller.ProductController:
//打开修改商品的页面
@RequestMapping("showEditProduct")
public String showEditProduct(String id,Model model){
//查询要修改的商品
Products product = service.findProductById(id);
//将商品传到页面展示数据
model.addAttribute("product", product);
return "admin/editproduct";}
//修改商品
@RequestMapping("editProduct")
public String editProduct(Products pro,MultipartFile imgpic){
//判断是否有上传的文件
if(!(imgpic.getOriginalFilename() == null) && !imgpic.getOriginalFilename().equals("")){
String upload = UploadUtils.upload(imgpic);
pro.setImgurl(upload);}
service.updateProduct(pro);
return "redirect:showProductList";}
service.ProductService:
public interface ProductService {
public int saveProduct(Products pro);
public int updateProduct(Products pro);
public int delProduct(String id);
public Products findProductById(String id);
public List<Products> findProductsList();
/*** 根据类别查询商品* @param type 类别* @return 差询到的商品
*/
public List<Products> findProductsListByType(String type,PageBean page);
/*** 获取商品的总记录数* @return*/
public Integer findCount();
/*** 有分页功能的查询商品的方法* @param page* @return*/
public List<Products> findProductsListPage(PageBean page);
public Integer findCountByType(String type);}