毕业设计之java+ssm的图书管理系统的设计与实现论文

目 录

摘 要 I
Abstract II
第1章 项目概述 1
1.1 问题描述 1
1.2 项目目标 1
1.3 项目适用范围 1
1.4 项目应遵守的规范与标准 1
1.5 涉众 1
第2章 需求分析 2
2.1 业务需求 2
2.1.1 业务流程 2
2.1.2 业务对象 4
2.2 功能性需求 4
2.2.1 用例概述 4
2.2.2 用例细化描述 5
2.3 非功能性需求 11
2.4 运行环境 11
第3章 系统设计 13
3.1 技术路线 13
3.2 软件体系结构设计 14
3.2.1 功能结构 14
3.2.2 系统架构 14
3.3 数据库设计 15
3.3.1 概念结构设计 15
3.3.2 表的详细设计 16
3.4 对象设计 18
3.4.1 图书馆管理人员更改图书类别信息用例对象设计 18
3.4.2 图书馆管理人员确认还书流程用例对象设计 21
3.4.3 图书馆管理人员搜索图书信息用例对象设计 22
3.4.4 读者预在线阅读用例对象设计 24
3.4.5 登录用例对象设计 25
3.4.6 图书馆管理人员更改密码用例对象设计 27
第4章 系统实现 29
4.1 核心功能实现 29
4.2 关键技术难点与解决方案 32
4.3 编码规范 33
第5章 系统测试 34
5.1 功能测试 34
5.2 测试总结 36
第6章 结论与展望 38
参考文献 39
致 谢 40

第1章 系统设计

3.1 技术路线
在东软图书管理系统中,用到的技术路线如下:
B/S(Browser /Service )结构,中文译为浏览器和服务器结构。是目前国内最为常见,而且对于用户而言是最方便的一个常用结构,对以往的客户机/服务器结构(Client/Service)进行更深一层的优化。在这种结构下,用户只需要使用任意浏览器即可进行主要事物的实现和使用。其主要的逻辑在服务器端(Service)完成,而在浏览器部分只处理非常少的事物逻辑处理。可以看作从传统的二层模式结构发展而来的在C/S(Client/Service)结构在Web上的应用的三层结构。该结构适用面非常广,其对系统维护所产生的升级成本和人力时间更低,用户使用成本低,以目前的技术发展情况看,其技术相对来讲易于把握。
Spring MVC是 Spring提供用于构建 Web应用程序的轻量级全功能的 MVC模块开发框架,作为一个一站式轻量级应用开发框架(平台), Spring抽象了在各类生活场合中的各种共性问题。Spring有其自身独有的设计理念,在Java EE的应用开发中,支持POJO和使用JavaBean的开发方式,使应用可以进行面向接口开发。其支持OO(面向对象)的设计方法。SmartAdmin是一套基于JQuery,Bootstrap构建的UI组件库,是将各种JQuery插件和Bootstrap整合到一起,是一整套基于完整的应用开发UI库。
UEditor是一款由百度开发的所见即所得富文本Web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码。
JQuery是一个快速的、简洁的JavaScript框架,其封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文房操作,时间处理、动画设计和Ajax交互。
Bootstrap,是一个来自Twitter的Web框架。目前很受Web前端开发者们的欢迎,Bootstrap是基于HTML、CSS、JavaScript而成的,以此而形成更加快捷的Web开发方式。其在JQuery的基础上进行了更加人性化和个性化的完善,形成一套Bootstrap独有网站风格。Bootstrap包含了目前非常主流的Web组件,在开发过程中可以通过这些组件快速搭建既实用又美观的网站。许多前端开发者较为熟悉的框架(如WeX5)也是基于Bootstrap进行性能优化而形成的。

3.2 软件体系结构设计
3.2.1 功能结构
根据需求调研结果确定本系统主要包括以下功能模块,如图3.1所示。
在这里插入图片描述

图3.1系统功能结构图
3.2.2 系统架构
系统架构图如图3.2所示。
在这里插入图片描述

图3.2 系统架构图
系统架构选用Spring3.0架构。作为在Java领域最为成功的开源软件之一,Spring在Java EE 开发中使用者众多。Spring抽象了我们在目前许多应用开发中所遇到的最共性的问题,同时作为一个轻量级的应用开发框架,Spring和传统的J2EE开发相比,有其自身特有的特点。Spring通过这些自身特有的特点充分体现了它的设计理念:在Java EE的应用开发中,支持POJO(JavaBean)的开发方式,使应用能够面向接口开发,充分支持OO(面向对象)的设计方法。在IOC容器和AOP面向切面编程的核心模块的支持下,使得程序员能够高度简化了Java EE的开发过程。为应用开发提供了极其丰富的系统组件,通过这些组件,为企业应用服务的实现提供驱动支持。
3.3 数据库设计
3.3.1 概念结构设计
针对东软图书管理系统的功能性需求方面的了解,系统概念模型(ER图)如图3.3所示。

在这里插入图片描述

图3.3 系统概念模型ER图
3.3.2 表的详细设计
通过对东软图书管理系统在需求分析中的领域对象、业务对象及对象之间的分析,进行了对东软图书管理系统的数据库建表设计。如表3.1-表3.6 所示。东软图书管理系统数据库管理部分采用MySQL。
(1)图书馆管理人员信息表(management_libeary)
图书馆管理人员信息表主要用于保存图书馆管理人员的信息,主要字段包括:图书馆管理人员ID、登录账号、登录密码。表结构如表3.1所示。
表3.1 图书馆管理人员信息表(management_libeary)
列名 数据类型 长度 允许空 是否主键 说明
userid varchar 32 否 是 图书馆管理人员ID
username varchar 50 否 否 登录账号
password varchar 100 否 否 登录密码
(2)读者信息表(book_reader)
读者信息表主要用于保存读者的信息,主要字段包括:读者ID、读者名称、读者登录密码、读者性别、读者电话。表结构如表3.2所示。
表3.2 读者信息表(book_reader)
列名 数据类型 长度 允许空 是否主键 说明
readerId varchar 32 否 是 读者ID
readerName varchar 100 否 否 读者名称
readerPassWord varchar 32 否 否 读者登录密码
readerSex varchar 100 否 否 读者性别
rederTel varchar 100 否 否 读者电话
(3)图书类别信息表(book_sort)
图书类别信息表主要用于保存图书类别的信息,主要字段包括:图书类别ID、图书类别名称、图书类别简介,图书类别创建日期。表结构如表3.3所示。
表3.3 图书类别信息表(book_sort)
列名 数据类型 长度 允许空 是否主键 说明
sortid varchar 32 否 是 图书类别ID
sortname varchar 100 否 否 图书类别名称
sortintro text 0 是 否 图书类别简介
updatedate date 0 否 否 图书类别创建时间
(4)图书信息表(book_book)
图书信息表主要用于保存图书的信息,主要字段包括:图书ID、图书类别ID、图书名称、图书作者、图书出版社、图书简介、图书创建日期、图书图片文件类型。表结构如表3.4所示。
表3.4 图书信息表(book_book)
列名 数据类型 长度 允许空 是否主键 说明
bookid varchar 32 否 是 图书ID
sortid varchar 32 否 否 图书类别ID
bookname varchar 100 否 否 图书名称
author varchar 100 否 否 图书作者
续表3.4 图书信息表(book_book)
列名 数据类型 长度 允许空 是否主键 说明
bc varchar 100 否 否 图书出版社
intro text 0 否 否 图书简介
builddate date 0 否 否 图书创建日期
contenttype varchar 100 否 是 图书图片文件类型
(5)图书序章信息表(book_article)
图书序章信息表主要用于保存图书序章的信息,主要字段包括:图书ID、图书名称、图书序章。表结构如表3.5所示。
表3.5 图书序章信息表(book_article)
列名 数据类型 长度 允许空 是否主键 说明
bookId varchar 32 否 是 图书ID
bookName varchar 100 否 否 图书名称
bookArticle text 0 否 是 图书序章
(6)借阅信息表(book_borrow)
借阅信息表主要用于保存借阅图书情况的信息,主要字段包括:借阅ID、图书名称、读者名称、预定日期、借阅状态。表结构如表3.6所示。
表3.6 借阅信息表(book_borrow)
列名 数据类型 长度 允许空 是否主键 说明
borrowId varchar 32 否 是 借阅ID
bookName varchar 100 否 否 图书名称
readerName varchar 15 否 否 读者名称
borrowDate varchar 100 否 否 预订日期
borrowSituation varchar 10 否 否 借阅状态

第2章 系统实现

4.1 核心功能实现
在东软图书管理系统中,核心业务用例的实现效果如下所示。受篇幅所限,将只会显示和借书、还书相关的三个模块核心功能。
(1)读者图书预定模块实现
读者对图书进行预订操作,采用 Ajax发送异步请求将预订信息发送到控制层,控制层发送数据到业务逻辑层,业务逻辑层通过调用 DAO层来访问数据库从而执行插入并返回结果,实现效果如图4.1所示。

在这里插入图片描述

图4.1 读者图书预定功能实现效果图
该模块控制层主要代码:
@RequestMapping(value = “/getBookOnline”)
@ResponseBody
public Map<String, Object> getBookOnline(HttpServletRequest request) throws Exception {
String borrowId = IDUtil.getID();
String bookName = request.getParameter(“bookName”);
Object rederName = request.getSession().getAttribute(“user”);
String readerName = (String)rederName;
Map<String,Object> resMap = new HashMap<String,Object>();
if(readerName != null && readerName != “”){
int getbook = frontBookService.getBookOnline(borrowId,bookName,readerName);
if(getbook == 1){
resMap.put(Params.RET_CODE, Params.RET_CODE_SUCCESS);
resMap.put(Params.RET_MSG, “成功预订图书”);
}else{
resMap.put(Params.RET_CODE, Params.RET_CODE_ERROR);
resMap.put(Params.RET_MSG, “此次预定失败”);
}
}else{
resMap.put(Params.RET_CODE, Params.RET_CODE_ERROR);
resMap.put(Params.RET_MSG, “读者为空,此次预定失败”);
}
return resMap;
}
(2)图书馆管理人员借出图书功能模块
图书馆管理人员对读者的图书借阅状态进行借出操作,采用Ajax发送异步请求将借出信息发送到控制层,控制层发送数据到业务逻辑层,业务逻辑层通过调用 DAO层来访问数据库从而执行更改并返回结果。实现效果如图4.2所示。
在这里插入图片描述

图4.2 图书馆管理人员借出图书实现效果图

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值