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

论文 同时被 2 个专栏收录
14 篇文章 0 订阅
220 篇文章 43 订阅

东软图书管理系统的设计与实现

摘 要
随着计算机技术的高速发展,现代计算机系统已经从以计算为中心向以信息化处理为中心的方向发展。而东软图书馆,不仅需要在硬件上为现代社会的学生们提供一个学习知识,获取知识的环境,更要在软件上为愿意获得知识的人提供必要的便利。于是东软图书管理系统便应运而生。
目前在本课题范围内,分析了东软图书馆管理人员对图书的管理现状和现有的读者对图书馆管理人员的服务的要求。针对两者的要求,设计了一套基于SpringMVC的东软图书管理系统。本系统的集成开发环境是Eclipse,使用MySQL作为数据库管理系统,Web服务器采用Tomcat,运用SpringMVC及Spring3.0框架技术实现。为了充分利用网络信息化的优势,本系统采用B/S结构。系统具有专门的供读者使用的前台和专门供图书馆管理人员使用的后台。对于图书馆管理人员而言通过使用该系统使得日常图书管理、读者用户管理、现场借书流程等全部在网上进行,对于读者用户而言可体验日常借书的流程以及预在线阅读的乐趣。
在东软图书管理系统的实现下,图书馆管理人员能够充分发挥信息化处理的优势,提高日常管理的处理速率。读者一方可以更好的享受信息化处理带来的便利。系统运行能够稳定且高效。并且人机友好程度能够显著提升。

关键词:图书管理,SpringMVC,B/S,

Design and Implementation of Neusoft Book Management System

Abstract
With the rapid development of computer technology, the modern computer system has changed the center of development from calculation to the information processing. As a carrier of modern knowledge, Neusoft Library was not only provide the place for students but also provide the necessary facilities for the people who are willing to acquire knowledge on the software. So Neusoft book management system will come into being.
Currently within the scope of this study, we analyzed the current situation of Neusoft book managers’ management of books and requirements of readers for the services. For both requirements, we designed the Neusoft book management systems based on SpringMVC. We adopt the integrated development environment is Eclipse, and we choose MySQL as the database management system. We used Tomcat as the Web server. We adopt the technology of SpringMVC and Spring3.0 framework. In order to make full to use of the advantages of network information, the system structure was the B / S. This system not only include the function for the reader but also for library manager. For the library staff, they can operate the system including usual the management of book and readers by the Internet. For readers, they can experience for the usual process for example borrowing book and having fun for reading online.
When the Neusoft book management system has been realize, Library managers can improve the efficiency of the usual management. Readers can enjoy the convenience. System can run stably and efficiently, and the users feel friendly when they used this system.

Key words: Library management, SpringMVC, B / S

目 录

摘 要 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章 项目概述
1.1 问题描述
目前现有的图书管理系统对于读者而言其借书流程仍然过于繁琐,对于图书馆而言其系统安全性并不能保障。同时整套系统所使用的技术相对较为落后,界面不能动态化展示。相比较于其它同类型网站而言不能体现技术先进性。
1.2 项目目标
东软图书管理系统的后台开发目标是以信息管理系统的管理和开发方法,用目前现有的新技术进行系统开发,提供后台管理员高度友好的界面操作以及迅捷的信息处理。而前台的开发目标是以读者的需求作为主导,提供对用户而言非常友好的界面操作环境以及完善系统功能。
本系统主要针对现在图书管理系统中存在的问题,对需要改进的地方进行系统分析,对系统所要实现的功能进行完善,使得其更具有高度界面友好的特性。提出对于系统而言具备可行性的方案,做好系统分析。编译出界面友好,功能齐全的东软图书管理系统。
1.3 项目适用范围
该项目的前台适用于普通读者用户,后台适用于图书馆管理人员。
1.4 项目应遵守的规范与标准
根据《中华人民共和国著作权法》的规定,本系统的预在线阅读功能不能完全显示整本书的内容,只能显示其图书的信息和序章。
为了信息传输的安全性,与数据库进行交互的情况下,重要的信息比如“用户密码”,一律用密文传输。
1.5 涉众
在本系统中,涉及到的人员有图书馆管理人员和读者。
对于图书馆管理人员,其使用习惯是偏向于实用性和安全性。希望该系统能够高度安全,并且能够正常实现图书馆管理业务的各项功能。
对于读者而言,其更倾向于界面友好性和便捷性。不仅希望系统能动态展示,还希望系统能够做到“一步到位”,其希望能实现的功能除了正常的图书馆业务以外还希望能够网上阅读图书。

第2章 需求分析
2.1 业务需求
2.1.1 业务流程
在借书流程中,读者到图书馆借阅图书后,图书馆管理人员受理业务并将图书借出,其借书流程总体业务如图2.1所示。
在这里插入图片描述

图2.1 借书流程总体业务
在还书流程中,读者到图书馆还书,图书馆管理人员将办理业务并确认图书已还回,其还书流程总体业务如图2.2所示。
在这里插入图片描述

图2.2 还书流程总体业务
在读者注册总体业务中,读者到图书馆注册,图书馆管理人员将根据读者情况进行注册,其读者注册流程总体业务如图2.3所示。
在这里插入图片描述

图2.3 读者注册流程总体业务
2.1.2 业务对象
在业务对象中,图书馆管理人员和借阅记录,图书,图书类别,读者之间的领域模型如图2.4所示。
在这里插入图片描述

图2.4 领域模型
2.2 功能性需求
2.2.1 用例概述
在图2.5高层用例图中抽取了满足图书馆和读者的基本业务需求的基本用例。由这些用例所显示的从读者使用的前台和图书馆管理人员使用的后台来完成东软图书馆的正常运作。
在这里插入图片描述

图2.5 高层用例图
图2.5之间的用例标识、用例名称和摘要描述如表2.1所示。
表2.1 用例摘要描述
用例标识(UC) 用例名称 摘要描述
在这里插入图片描述

2.2.2 用例细化描述
(1)管理读者信息用例
图书馆管理人员可以通过管理读者信息用例对读者信息进行维护,包括对读者信息的增删改查。管理读者信息用例图如图2.6所示。
在这里插入图片描述

图2.6 管理读者信息用例图
添加读者信息用例中描述如表2.2所示。
表2.2 添加读者信息用例表
在这里插入图片描述

更改读者信息用例描述如表2.3所示。
表2.3更改读者信息用例表
在这里插入图片描述

删除读者信息用例描述如表2.4所示。
表2.4删除读者信息用例表
在这里插入图片描述

搜索读者信息用例描述如表2.5所示。
表2.5搜索读者信息用例表
在这里插入图片描述

(2)管理图书类别信息用例
图书馆管理人员可以通过管理图书类别信息用例对图书类别信息进行维护,包括对图书类别信息的增删改查。管理图书类别信息用例图如图2.7所示。
在这里插入图片描述

图2.7 管理图书类别信息用例图
其添加图书类别信息用例的描述如表2.6所示。
表2.6 添加图书类别信息用例表
用例标识 2.4.1
用例名称 添加图书类别信息
参与者 图书馆管理人员
前置条件 已经以图书馆管理人员身份登录。
后置条件 在图书类别表中添加一条图书类别信息。
用例概述 图书馆管理人员可以对图书类别信息进行添加。
基本事件流 1. 图书馆管理人员在管理图书类别主界面选取添加图书类别信息项。
2. 系统显示添加图书类别界面。
3. 图书馆管理人员输入图书类别名称、图书类别简介后,提交添加请求。
4. 系统检查输入信息的有效性。
5. 系统根据查询结果确认没有重复图书类别名,将图书信息录入到图书类别信息表中。
6. 系统显示添加图书类别成功。
备选事件流 5a 系统查出有重复书记类别名称,将显示添加图书类别失败,管理员重新输入另一名称,系统查出没有重复图书类别,显示添加图书类别成功。
备注 图书类别编号生成规则:用MD5方式生成
更改图书类别信息用例描述如表2.7所示。
表2.7 更改图书类别信息用例表
用例标识 2.4.2
用例名称 更改图书类别信息
参与者 图书馆管理人员
前置条件 已经以图书馆管理人员身份登录。
后置条件 在图书类别表中更改一条图书类别信息。
用例概述 图书馆管理人员可以对图书类别信息进行更改。
基本事件流 1. 图书馆管理人员在管理读者主界面选取更改图书类别信息项。
2. 系统显示更改图书类别界面,并将图书类别信息显示齐全。
3. 图书馆管理人员更改图书类别信息,提交更改请求。
4. 系统检查输入信息的有效性。
5. 系统根据查询结果确认没有重复图书类别名称,将更改图书类别信息表中信息。
6. 系统显示更改图书类别成功。
备选事件流 5a 系统查出有重复图书类别名称,将显示更改图书类别失败,管理员重新输入另一名称,系统查出没有重复图书类别名称,显示更改图书类别成功。
备注 无
删除图书类别信息用例描述如表2.8所示。
表2.8删除图书类别信息用例表
用例标识 2.4.3
用例名称 删除图书类别信息
参与者 图书馆管理人员
前置条件 已经以图书馆管理人员身份登录。
后置条件 在图书类别表中删除图书类别信息。
用例概述 图书馆管理人员可以对图书类别信息进行删除。
基本事件流 1. 图书馆管理人员在管理图书类别主界面选取类别后删除图书类别信息项。
2. 系统显示是否删除图书类别,图书馆管理人员选择删除。

续表2.8删除图书类别信息用例表
基本事件流 3. 系统检查图书分类下是否有图书
4. 系统确认图书分类下无图书,将删除图书类别信息表中指定信息。
5. 系统显示删除图书分类成功。
备选事件流 1a 选取不同类别,选择批量删除
2a 系统显示是否删除图书类别,图书馆管理人员选择不删除。系统不改变
4a 系统确认图书分类下有图书,显示因分类下有图书,删除失败。
备注 无
(3)管理图书信息用例
图书馆管理人员可以通过管理图书信息用例对图书类别信息进行维护,包括对图书信息的增删改查。管理图书信息用例图如图2.8所示。
在这里插入图片描述

图2.8 管理图书信息用例图
新增图书信息用例描述如表2.9所示。
表2.9 新增图书信息用例表
用例标识 2.5.1
用例名称 新增图书信息
参与者 图书馆管理人员
前置条件 已经以图书馆管理人员身份登录。
后置条件 在图书表中添加一条图书信息。
用例概述 图书馆管理人员可以对图书信息进行添加。
基本事件流 1. 图书馆管理人员在管理图书主界面选取添加图书信息项。
2. 系统显示新增图书界面。
3. 图书馆管理人员输入图书名称、图书作者、图书出版社、图书内容、图书序章后,提交添加请求。
4. 系统检查输入信息的有效性。
5. 系统根据查询结果确认没有重复图书名称,将信息录入到图书信息表中。
6. 系统显示添加图书成功。
备选事件流 5a 系统查出有重复图书名称,将显示添加图书失败,管理员重新输入另一名称,系统查出没有重复图书名称,显示添加图书成功。
备注 图书编号生成规则:用MD5方式生成

更改图书信息用例描述如表2.10所示。
表2.10更改图书信息用例表
用例标识 2.5.2
用例名称 更改图书信息
参与者 图书馆管理人员
前置条件 已经以图书馆管理人员身份登录。
后置条件 在图书表中更改一条图书信息。
用例概述 图书馆管理人员可以对图书信息进行更改。
基本事件流 1. 图书馆管理人员在管理图书主界面选取更改图书信息项。
2. 系统显示更改图书界面,并将图书信息显示齐全。
3. 图书馆管理人员更改图书信息,提交更改请求。
4. 系统检查输入信息的有效性。
5. 系统根据查询结果确认没有重复图书名称,将更改图书信息表中的记录。
6. 系统显示更改图书成功。
备选事件流 5a 系统查出有重复图书名称,将显示更改图书失败,管理员重新输入另一名称,系统查出没有重复图书名称,显示更改图书成功。
备注 无
删除图书信息用例描述如表2.11所示。
表2.11 删除图书信息用例表
用例标识 2.5.3
用例名称 删除图书信息
参与者 图书馆管理人员
前置条件 已经以图书馆管理人员身份登录。
后置条件 在图书表中删除图书信息。
用例概述 图书馆管理人员可以对图书信息进行删除。
基本事件流 1. 图书馆管理人员在管理图书主界面选取图书后选择删除图书信息。
2. 系统显示是否删除图书,图书馆管理人员选择删除图书。
3. 系统删除图书信息表中的相对应的图书信息。
4. 系统显示删除图书成功。
备选事件流 1a 选取不同图书后,选择批量删除
2a 系统显示是否删除图书,管理人员选择不删除。系统不改变
备注 无
搜索图书信息用例描述如表2.12所示。
表2.12 搜索图书信息用例表
用例标识 2.5.4
用例名称 搜索图书信息
参与者 图书馆管理人员
前置条件 已经以图书馆管理人员身份登录。
后置条件 在图书表中搜索图书信息。
用例概述 图书馆管理人员可以搜索读者信息。
基本事件流 1. 图书馆管理人员在管理读者主界面选取搜索读者信息项。
2. 系统显示搜索读者页面。
3. 图书馆管理人员输入读者个别信息,并进行搜索。
4. 系统根据输入的信息,返回搜索结果。
备选事件流 4a 系统根据输入结果搜索不到结果,在主页面显示搜索不到结果。
备注 无
2.3 非功能性需求
安全性:读者信息具有保密性,读者信息只能由图书馆管理人员控制更改使用,读者注册也只能在图书馆管理人员处进行注册登记。
正确性:不允许出现业务错误。
兼容性:可在各种支持HTML5的浏览器中使用。
性能:系统处理业务时页面响应时间不能超过2秒,在繁忙时间最多不能超过6秒。
并发性:允许多个读者用户登录操作。
2.4 运行环境
东软图书管理系统运行需要的硬件环境如下
(1)主机类型
系统主机服务器:DELL PowerEdge R630,四核CPU,8G RAM
数据库服务器:HP DL388 Gen9,四核CPU,8G RAM
读者用PC机:任意可联网设备
(2)网络类型
以太网
(3)存贮器容量
系统主机服务器:200G以上
数据库服务器:1000G以上
(4)设备分布图
设备分布图如图2.9所示。
在这里插入图片描述

图2.9 设备分布图
东软图书管理系统运行所需的软件环境如下。
(1)操作系统:
应用服务器:Windows NT Server 2008以上版本
读者用PC机:windows XP和以上
(2)数据库管理系统:
MySQL 5.0.27
(3)网页浏览器:
应用服务器:Google Chrome
读者用PC机:Google Chrome或者Firefox
(4)开发环境:
IDE采用Eclipse Java EE IDE Luna(4.4.1)
(5)数据库管理工具:
Navicat Premium 10.0.9
(6)运行环境:
Tomcat 7.0 + Apache

第3章 系统设计
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 否 否 借阅状态
3.4 对象设计
本系统的功能总体上有总体借还书流程、图书馆管理人员管理图书类别等。下面对各个模块进行详细设计。限于篇幅所限,该部分内容将在有用例样式相近的情况下只显示其中一种代表性用例及其设计类图。
3.4.1 图书馆管理人员更改图书类别信息用例对象设计
在一般的图书馆管理人员管理图书类别中,包括图书类别的增加、删除、修改。其用例与图书馆管理人员管理图书的增加、删除、修改和图书馆管理人员管理读者的增加、删除、修改类似。限于篇幅所限,这里将只显示图书馆管理人员更改图书类别信息的情况,用例的对象设计如下
(1)用例实现
图书馆管理人员更改图书类别信息用例的实现顺序图如图3.4所示。
在这里插入图片描述

图3.4 图书馆管理人员更改图书类别信息用例顺序图
(2)设计类图
根据顺序图的分析得到图书馆管理人员更改图书类别信息信息用例的设计类图,如图3.5所示。
在这里插入图片描述

图3.5 图书馆管理人员更改图书类别信息用例的设计类图
类图中HomeController类的描述如表3.7所示。
表3.7 HomeController类的描述
类名 属性/方法 描述
HomeController +editBookSort(request: Http, response: HTTP, model: Model): String 到更改图书类别信息页
+updateBookSort(request: Http, response: HTTP): int 更改图书类别信息
类图中BookSortService类的描述如表3.8所示。
表3.8 BookSortService类的描述
类名 属性/方法 描述
BookSortService +getBookSort(sortId: String): Map 获得图书类别信息
+updateBookSort(sortId: String, sortName: String, sortIntro: String): int 更改图书类别
类图中BookSortDAO类的描述如表3.9所示。
表3.9 BookSortDAO类的描述
类名 属性/方法 描述
BookSortDAO +getBookSort(sortId: String): Map 获得图书类别信息
+updateBookSort(sortId: String, sortName: String, sortIntro: String): int 更改图书类别
3.4.2 图书馆管理人员确认还书流程用例对象设计
在一般的借还书流程中,包括读者预定图书,图书馆管理人员确认借出图书,图书馆管理人员确认返还图书。限于篇幅所限,这里只显示还书流程。用例的对象设计如下
(1)用例实现
确认还书流程用例的实现顺序图如图3.6所示。
在这里插入图片描述

图3.6 确认还书流程用例顺序图
(2)设计类图
根据顺序图的分析,确认还书流程用例的设计类图如图3.7所示。
在这里插入图片描述

图3.7确认还书流程用例的设计类图
类图中ReaderController类的描述如表3.10所示。
表3.10 ReaderController类的描述
类名 属性/方法 描述
ReaderController +checkBorrowBack(request: Http, response: HTTP): Map 还回图书

类图中ReaderService类的描述如表3.11所示。
表3.11 ReaderServiceImpl类的描述
类名 属性/方法 描述
ReaderService +checkBorrowBack(borrowId: String): Map 还回图书
类图中ReaderDAO类的描述如表3.12所示。
表3.12 ReaderDAO类的描述
类名 属性/方法 描述
ReaderDAO +checkBorrowBack(borrowId: String): Map 还回图书
3.4.3 图书馆管理人员搜索图书信息用例对象设计
该用例为图书馆管理人员搜索图书的信息,其用例与图书馆管理人员搜索读者信息和读者搜索图书类似,用例的对象设计如下。
(1)用例实现
图书馆管理人员搜索图书信息用例的实现顺序图如图3.8所示。
在这里插入图片描述

图3.8图书馆管理人员搜索图书信息用例顺序图
(2)设计类图
根据顺序图的分析得到图书馆管理人员搜索图书信息用例的设计类图,如图3.9所示。
在这里插入图片描述

图3.9 图书馆管理人员搜索图书信息用例的设计类图
类图中FrontBookController类的描述如表3.13 所示。
表3.13 FrontBookController类的描述
类名 属性/方法 描述
FrontBookController +getBookOnline(borrrowId: String, bookName: String, readerName: String): List 搜索图书结果
+searchBookPage(request: Http, response: HTTP): String 到搜索图书页
类图中SearchService类的描述如表3.14所示。
表3.14 SearchService类的描述
类名 属性/方法 描述
SearchService +getSearchBooksNumber(searchVO: VO, sortId: String): List 获得搜索数目总数
+getSortIdBySearchName(sortName: String): int 通过书名获得分类id
+getSearchBookList(searchVO: VO, sortId: String, pageIndex: int , pageSize: int): List 依据条件进行搜索
类图中SearchDAO类的描述如表3.15所示。
表3.15 SearchDAO类的描述
类名 属性/方法 描述
SearchDAO +getSearchBooksNumber(searchVO: VO, sortId: String): List 获得搜索数目总数
+getSortIdBySearchName(sortName: String): int 通过书名获得分类id
+getSearchBookList(searchVO: VO, sortId: String, pageIndex: int , pageSize: int): List 依据条件进行搜索
类图中SearchVO类的描述如表3.16所示。
表3.16 SearchVO类的描述
类名 属性/方法 描述
SearchVO String Searchbookname 按书名搜索
String Searchsortname 按类别搜索
String Searchbookauthor 按作者搜索
String Searchbc 按出版社搜索
String Searchprice 按价格区间搜索(最低价)
String Searchsecondprice 按价格区间搜索(最高价)
String Searchbuilddate 按时间范围搜索(最早)
String SearchSeconddate 按时间范围搜索(最晚)
String Searchbookintro 按图书描述搜索
类图中SearchResultVO类的描述如表3.17所示。
表3.17 SearchResultVO类的描述
类名 属性/方法 描述
SearchResultVO String bookId 图书ID
String sortid 分类ID
String bookname 图书名称
String author 图书作者
String sortname 分类名称
String bc 出版社
String price 价格
String intro 图书描述
String builddate 购买日期
String contenttype 图书相片
3.4.4 读者预在线阅读用例对象设计
读者预在线阅读用例。用例的对象设计如下
(1)用例实现
读者预在线阅读用例的实现顺序图如图3.10所示。
在这里插入图片描述

图3.10 读者预在线阅读用例顺序图
(2)设计类图
根据顺序图的分析得到借阅用例的设计类图,如图3.11所示。
在这里插入图片描述

图3.11 借阅用例的设计类图
类图中FrontBookController类的描述如表3.18所示。
表3.18 FrontBookController类的描述
类名 属性/方法 描述
ReaderServiceController +readOnline(model: Model, request: Http, response: HTTP): String 到预在线阅读图书页
+readBookOnline(request: Http, response: HTTP): Map 预在线阅读图书
类图中FrontBookService类的描述如表3.19所示。
表3.19 FrontBookService类的描述
类名 属性/方法 描述
FrontBookService +getArticle(bookId: String): Map 根据图书ID获得图书内容
类图中FrontBookDAO类的描述如表3.20所示。
表3.20 FrontBookDAO类的描述
类名 属性/方法 描述
FrontBookDAO +getArticle(bookId: String): Map 根据图书ID获得图书内容
3.4.5 登录用例对象设计
读者和图书馆管理人员进行登录操作的用例。用例的对象设计如下
(1)用例实现
登录用例的实现顺序图如图3.12所示。

图3.12登录用例顺序图
(2)设计类图
根据顺序图的分析得到登录用例的设计类图,如图3.13所示。
图3.13 借阅用例的设计类图
类图中LoginController类的描述如表3.21所示。
表3.21 LoginController类的描述
类名 属性/方法 描述
LoginController +login(request: Http, response: HTTP): String 到登录页面
+getUserByName(request: Http, response: HTTP): Map 登录
类图中UserService类的描述如表3.22所示。
表3.22 UserService类的描述
类名 属性/方法 描述
UserService +getUserByName(userName: String): Map 检查是否是图书馆管理人员
类图中UserDAO类的描述如表3.23所示。
表3.23 UserDAO类的描述
类名 属性/方法 描述
UserDAO +getUserByName(userName: String): Map 检查是否是图书馆管理人员
类图中FrontReaderService类的描述如表3.24所示。
表3.24 FrontReaderService类的描述
类名 属性/方法 描述
FrontReaderService +getReaderByName(userName: String): Map 检查是否是读者。
类图中FrontReaderDAO类的描述如表3.25所示。
表3.25 FrontReaderDAO类的描述
类名 属性/方法 描述
FrontReaderDAO +getReaderByName(userName: String): Map 检查是否是读者。
3.4.6 图书馆管理人员更改密码用例对象设计
图书馆管理人员更改密码,和读者更改密码类似。用例的对象设计如下
(1)用例实现
图书馆管理人员更改密码用例的实现顺序图如图3.14所示。
在这里插入图片描述

图3.14图书馆管理人员更改密码用例顺序图
(2)设计类图
根据顺序图的分析得到图书馆管理人员更改密码用例的设计类图,如图3.15所示。
在这里插入图片描述

图3.15 图书馆管理人员更改密码用例的设计类图
类图中UserController类的描述如表3.26所示。
表3.26 UserController类的描述
类名 属性/方法 描述
UserController +editPassword(request: Http, response: HTTP): String 到更改密码页面
+editPasswordAjax(request: Http, response: HTTP): Map 更改密码
类图中UserService类的描述如表3.27所示。
表3.27 UserService类的描述
类名 属性/方法 描述
UserService +updatePass(userName: String, oldPassMD5: String, newPassMD5: String): boolean 根据名称更改密码
类图中UserDAO类的描述如表3.28所示。
表3.28 UserDAO类的描述
类名 属性/方法 描述
UserDAO +updatePass(userName: String, oldPassMD5: String, newPassMD5: String): boolean 根据名称更改密码

第4章 系统实现
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 图书馆管理人员借出图书实现效果图
该模块控制层主要代码:
@RequestMapping(value = “/checkBorrowOut”)
@ResponseBody
public Map<String, Object> checkBorrowOut(HttpServletRequest request,
HttpServletResponse response) throws Exception {
Map<String, Object> resMap = new HashMap<String, Object>();
String borrowId = request.getParameter(“borrowId”);
try {
int checkBorrowOut = readerService.checkBorrowOut(borrowId);
if (checkBorrowOut == 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, “确认借出失败”);
}
} catch (Exception e) {
log.debug(“确认借出图书出现异常” + e.getMessage());
resMap.put(Params.RET_MSG, “确认借出图书籍出现异常”);
resMap.put(Params.RET_CODE, Params.RET_CODE_ERROR);
}
return resMap;
}
(3)图书馆管理人员还回图书功能模块
图书馆管理人员对读者还回图书进行还回操作,采用Ajax发送异步请求将图书信息发送到控制层,控制层发送数据到业务逻辑层,业务逻辑层通过调用 DAO层来访问数据库从而执行更改并返回结果。实现效果如图4.3所示。
在这里插入图片描述

图4.3 图书馆管理人员还回图书功能实现效果图
该模块控制层主要代码:
@RequestMapping(value = “/checkBorrowBack”)
@ResponseBody
public Map<String, Object> checkBorrowBack(HttpServletRequest request,
HttpServletResponse response) throws Exception {
Map<String, Object> resMap = new HashMap<String, Object>();
String borrowId = request.getParameter(“borrowId”);
try {
readerService.checkBorrowBack(borrowId);
resMap.put(Params.RET_CODE, Params.RET_CODE_SUCCESS);
resMap.put(Params.RET_MSG, “确认还回图书”);
} catch (Exception e) {
log.debug(“确认还回图书出现异常” + e.getMessage());
resMap.put(Params.RET_MSG, “确认还回图书出现异常”);
resMap.put(Params.RET_CODE, Params.RET_CODE_ERROR);
}
return resMap;
}
4.2 关键技术难点与解决方案
(1)对于界面中要输入的大批量文字和含有特殊符号的内容的情况下,经过各种editor的比较,最后决定采用百度编辑器插件UEditor实现大批量文字输入和特殊表情。UEditor可以以高度可视化的编辑方式编辑大批量文字和含有特殊符号的内容。其可操作性和执行效率要比JavaScript的方式要高。
(2)由于登录时图书馆管理人员和读者使用共同的登录页面,需要登录页面去判断当前登陆账号是读者还是图书馆管理人员,进而跳转至不同的主页。因此在登录界面中,其控制层的实现方式代码如下所示。
Map<String, Object> map = userService.getUserByName(userName);//检查是否是管理员
Map<String, Object> userLogin = frontReaderService.getReaderByName(userName);//检查是否是读者
// 用户名和密码是否正确,同时检查是读者还是管理员
if (map != null && map.get(“password”).equals(passwordMD5)) {
HttpSession session = request.getSession(true);
session.setAttribute(Params.SESSION_ATTR_KEY_USER, userName);
retMap.put(Params.RET_CODE, Params.RET_CODE_SUCCESS);
retMap.put(Params.RET_OBJ, “登录成功”);
retMap.put(Params.RET_MSG, “管理员”);
return retMap;
} else {
if(userLogin != null && userLogin.get(“readerPassWord”).equals(passwordMD5)){
HttpSession session = request.getSession(true);
session.setAttribute(Params.SESSION_ATTR_KEY_USER, userName);
retMap.put(Params.RET_CODE, Params.RET_CODE_SUCCESS);
retMap.put(Params.RET_OBJ, “登录成功”);
retMap.put(Params.RET_MSG, “读者”);
return retMap;
}
4.3 编码规范
在该项目的实现阶段,为保证该系统的编码合乎规范,专门制定其编码规范。东软图书管理系统的编码规范如下表4.1所示。
表4.1 编码规范表
在这里插入图片描述

第5章 系统测试
东软图书管理系统的测试是和系统开发同步进行的,因此在需求阶段测试人员就已经对需求阶段的各个指标进行了相对应的验证测试,在系统开发过程中进行单元测试,在系统开发完成后针对性能、功能性和可用性进行系统测试。限于篇幅所限,下面主要围绕功能测试用例和测试总结两个方面进行说明。
5.1 功能测试
本系统对读者用户和系统管理员两个核心模块进行了功能测试,测试设计如下所示。
(1)登陆模块功能测试
登录功能中由于图书馆管理人员和读者共同使用同一个登录入口。因此测试用例设计如表5.1所示。
表5.1 登陆模块功能测试用例
用例编号 测试用例描述 操作过程及数据 预期结果 测试结果
D001 以读者身份登录 按照系统要求填写读者登录名和密码信息点击“确定” 系统跳转至读者可使用的前台首页 通过
D002 以图书馆管理人员身份登录 按照系统要求填写图书馆管理人员登录名和密码信息点击“确定” 系统跳转至图书馆管理人员可使用的后台首页 通过
D003 以未注册身份登录 按照系统要求填写并未注册登录名和密码信息点击“确定” 系统提示用户名或密码错误 通过
D004 密码长度小于6位 输入的密码与确认密码长度小于6位,其余选项正常填写 系统提示用户密码长度不能小于6位 通过
D005 用户名为空 用户没有填写用户名 系统提示用户名未填写 通过
(2)总体借还书功能测试
总体借还书功能中包含了预定、借书和还书的功能。测试用例设计如表5.2所示。
表5.2 总体借还书功能测试用例
用例编号 测试用例描述 操作过程及数据 预期结果 测试结果
D006 以读者身份预定图书 以读者身份点击预定按钮 系统提示预订成功 通过
D007 以图书馆管理人员身份确认借出图书 以管理员身份,在读者的借阅情况表里确认借出图书 系统提示确认借出 通过
D008 以图书馆管理人员身份确认还回图书 以管理员身份,在读者的借阅情况表里确认还回图书 系统提示确认还回 通过
(3)图书馆管理人员管理图书相关功能测试
图书馆管理人员管理图书相关中包含了图书和图书分类两大部分的内容。测试用例设计如表5.3所示。
表5.3 图书馆管理人员管理图书相关功能测试用例
用例编号 测试用例描述 操作过程及数据 预期结果 测试结果
D009 显示图书分类下图书 在图书分类页面选择任意查看图书按钮 系统跳转到该图书分类下的图书列表 通过
D010 在增加图书分类时没有填写完必填信息 在增加图书分类时必填信息没有填写并提交 系统提示必填项未填写完全,本次录入失败 通过
D011 在增加图书分类时部分信息超出允许范围 在增加图书分类时部分信息长度超出范围,其余正常输入 系统自动限制输入范围 通过
D012 在更改图书分类时没有填写完必填信息 在更改图书分类时没有填写完必填信息 系统提示未填写完全,本次更改失败 通过
D013 在更改图书分类时超出允许范围 在更改图书分类时超出允许范围 系统自动限制输入范围 通过
D014 图书类别内还有图书时进行删除 在图书类别页里删除任意含有图书的类别 系统提示类别下还有图书,无法删除 通过
D015 在增加图书时没有填写完必填信息 在增加图书时必填信息没有填写并提交 系统提示必填未填写完全,本次录入失败 通过
D016 在增加图书时没选择图片 在增加图书时没有选择图片,并提交 系统将使用默认图片作为该图书图片 通过
D016 在增加图书时部分信息超出允许范围 在增加图书时部分信息长度超出范围,其余正常输入 系统自动限制输入范围 通过
D017 在更改图书时没有填写完必填信息 在更改图书时没有填写完必填信息 系统提示未填写完全,本次更改失败 通过
D018 在更改图书时超出允许范围 在更改图书时超出允许范围 系统自动限制输入范围 通过
D019 在移动图书时不选择图书类别 在移动图书时不选择图书类别 系统提示选择图书类别 通过
D020 在搜索图书时不填写搜索条件 在搜索图书时不填写任何搜索条件后点击搜索 系统搜索出所有图书 通过
D021 在搜索图书时填写模糊搜索条件 在搜索图书时,搜索条件填写部分字段,点击搜索 系统将匹配的结果显示出来 通过
D022 在搜索图书时多次查询 在搜索图书时按搜索条件搜索结果后更换搜索条件再次搜索 系统将只显示本次搜索结果,不显示上次搜索结果 通过
D023 显示图书简介 在分类下图书列表页选择查看图书简介 系统显示查看图书简介页 通过
(4)读者预在线阅读功能测试
读者预在线阅读中包含读者预在线阅读的功能,其测试用例设计如表5.4所示。
表5.4 读者预在线阅读功能测试用例
用例编号 测试用例描述 操作过程及数据 预期结果 测试结果
D024 以读者身份进入预在线阅读 以读者身份选择任意图书的预在线阅读按钮 系统跳转到该图书的预在线阅读页,并显示该书的序章和标题 通过

(5)图书馆管理人员管理读者相关功能测试
图书馆管理人员管理读者相关功能中包含了增加读者、更改读者、删除读者、搜索读者、查看借书状态等的功能。测试用例设计如表5.5所示。
表5.5 总体借还书功能测试用例
用例编号 测试用例描述 操作过程及数据 预期结果 测试结果
D025 增加读者 到新增读者页,按要求填写读者信息,点击提交 系统提示注册成功 通过
D026 增加读者时部分必填项为空 到增加读者页中,部分必填项为空,其余正常 系统提示必填项为空 通过
D027 更改读者 到更改读者页,按要求更改读者信息,点击提交 系统提示更改还回 通过
D028 更改读者时部分必填项为空 到更改读者页中,部分必填项为空,其余正常 系统提示必填项为空 通过
D029 删除读者 在读者列表页中,选择任意读者,点击删除读者按钮 系统提示删除成功 通过
D030 查询读者 在读者查询页中,填写查询条件,点击查询 系统列出搜索读者信息 通过
D031 查看读者借阅情况 在读者列表页中,点击任意读者的借阅情况按钮 系统列出该读者的借阅情况信息 通过
D032 确认已借出图书 在读者借阅情况列表中,点击任意图书的已借出按钮 借阅状态栏所对应的图书借阅状况从“已预定”更改为“已借出” 通过
D033 确认图书已还回 在读者借阅情况列表中,点击任意图书的已还回按钮 借阅状态栏对应图书借阅状况从“已借出”更改为“已还回” 通过
(5)更改密码功能测试
更改密码功能中有图书馆管理人员的密码更改和读者的密码更改的功能。测试用例设计如表5.6所示。
表5.6 更改密码功能测试用例
用例编号 测试用例描述 操作过程及数据 预期结果 测试结果
D034 以读者身份更改密码 以读者身份到读者密码更改页,填写旧密码、新密码、确认新密码后点击确认 系统提示更改成功 通过
D035 确认新密码和新密码不一致 到密码更改页后,确认新密码和新密码不一致,其余保持正常 系统提示密码不一致 通过
D036 旧密码和当前登录密码不一致 到密码更改页后,旧密码和当前登录密码不一致,其余保持正常 系统提示旧密码错误。并返回登录页 通过
D037 旧密码和新密码一致 到密码更改页后,旧密码、新密码和确认新密码填写一致 系统提示旧密码和新密码一致 通过
5.2 测试总结
在开发期间采用的是边开发边测试的方式,使得开发周期和测试周期同步。经检测,在最后的系统测试期间,全部bug数为320个,在开发阶段的bug就有280个。在最后测试阶段的bug则只有40个。通过开发和测试共同进行的方式,最终保证系统能够具有较高的稳定性。同时通过不断的版本控制,使得系统具备较好的可用性。
系统在功能性上由于新技术所造成的不稳定性,导致了新技术所带来的功能性bug较多。但性能bug则很少,另外经过多次改进,新技术造成的错误数大幅度减少。

第6章 结论与展望
在这近几个月的不断的努力中,东软图书管理系统终于圆满完成。这套系统具有很多优点,不仅能完成日常图书管理的,还可以对图书馆的业务进行扩展。不过在本项目完成的同时,由于时间短,项目紧促,造成了该系统也有很多不足的地方。整个项目仍有改进的空间。具体的改进如下:
(1)优点
本项目的优点在于项目前后台分离,各自负责不同的部分。同时还应用了较为新颖的技术。项目运用了SmartAdmin,使项目能有较高的易用性,其强大的UI库保证了界面的美观程度。页面加载部分使用Ajax方法,使得页面能够动态显示各种信息。在信息传输上使用MD5加密技术,增强信息传输的安全性。
(2)缺点
本项目的缺点在于由于只有一个人完成整个项目,以此来计算的情况下完成整套系统的时间显得非常仓促。在需求调研阶段就调研结果而言并不能高度满足于现有系统真正所需要的要求。另外在项目中,并没能很好的完全分离前后台,这一点还有待加强学习。同时,项目中由于SmartAdmin的UI库信息量非常多,其显示的并不一定是最符合其位置的UI样例。
对于东软图书管理系统的缺点的相对应改善计划是,理清前后台的业务逻辑,使之能够做到前后台分离。而SmartAdmin中我们可以通过加强对JQuery的使用对其进行补充。使得项目能够有更好的易用性。针对SmartAdmin UI库过多的问题,可以对其进行库设计,从而达到快速引用的设计。
通过这几个月的不断努力和学习,最终独立的完成了整个项目。对此有很多的感触。项目中应用到了不少的新技术。有很多都不在学校的课堂中学习到而是通过不断的实践获得的。有很多的知识通过在公司的实习和在对技术的应用中获得,而这些知识将全部应用在东软图书管理系统这个项目上来。随着技术的进步,我们还需要不断的学习与探索,会有更好的天地等着我们去实现。

参考文献

[1] 陈韶健.深入实践Spring Boot [M],机械工业出版社,2016.
[2] 袁方.浅谈网络环境下高校图书管理现状及对策[J],安阳师范学院学报,2016,(4),154-156.
[3] 岳倩倩,李美莲.图书管理系统的设计与实现[J],软件设计开发,2016,(8),105-107.
[4] 王龙军.基于新浪云计算和Android平台的移动图书馆研究与应用[J],广东省对外科技交流中心,2016,(8),58-60.
[5] 陈英.图书管理的现状分析及创新途径探讨[J],中国中南传媒,2016,(9),136-137.
[6] 王军.计算机网络环境下的大学图书馆管理研究[J],中国宇航出版社,2016,(10), 115-117.
[7] 周珊.高校图书馆电子图书使用评价与分析[J],图书情报导刊,2016,(6),57-77.
[8] 孙微微.浅析图书馆图书管理系统的设计[J],决策与信息,2016,(9),239-239.
[9] 贺振.浅议工人文化宫中图书管理系统的设计与实现[J],管理自动化,2016,(9),262-263.
[10] Shameer Kunjumohamed.Spring Essentials [M],Packt Publishing,2016.

致 谢
在系统全部完成之际,我非常感谢在毕业设计时给予我帮助的人。没有他们的帮助,就没有我能够顺利的完成毕业设计。
首先,我要感谢我的指导教师兰艳老师,这几个月来,兰艳老师为我们付出了很多的努力,针对我们的系统和论文进行了非常细心的指导。根据毕业设计期间的要求和政策对我提出了不少的意见和建议。在她的建议下我能够圆满完成我的毕业设计任务。对此再次表示衷心的感谢。
其次我需要感谢的是我的父母,在整个毕业设计期间,是我的父母,作为在毕业设计期间最强有力的后盾,我可以全身心的去关注、去撰写我的毕业设计论文。在大学生活中我的每时每刻都离不开来自于我的父母的全力支持和关心。
之后,我要感谢的是全体软件工程系的大力协助,在大学的四年间,您们严谨的教学态度和科学的工作方法对我们的成长有很重要的影响。没有您们为我们无私的传授知识和获取知识的方法,就没有我们能够在软件行业立足的基础。
最后我要感谢的,是我们的学校。“精勤博学,学以致用。”这个校训一直陪伴了我在大学的时光。不仅教育我们知识,对我们的思想道德的培养更多。使我们不仅能够做一名合格的大学生,更能在走出校园时,能够成为一名合格的社会人。

  • 2
    点赞
  • 6
    评论
  • 11
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

评论 6 您还未登录,请先 登录 后发表或查看评论
毕业设计论文)任务书 学生姓名: *** 学号:******** 学 院: 软件学院 专业:软件工程 任务起止时间: 2012年9月17日 至 2013年6月20日 毕业设计论文)题目: 图书管理系统 毕业设计工作内容: 本毕业设计采用Java语言和MySQL数据库开发图书管理系统。本系统中解决了学校图书管理事务中的常用基本问题以及相关统计工作。本系统使用JSP进行网页界面的设计,使用MVC设计模式,采用了开源框架Struts,通过JDBC驱动和MySQL数据库进行连接。系统中包含6个功能模块:系统设置,读者管理图书管理图书借还,系统查询和更改口令。具体工作内容包括: 技术学习,了解相关规范及技术。 (9月17日~10月15日) 需求分析,了解本系统基本的需求。 (10月15日~11月20日) 概要设计,按照制定的需求,设计软件结构。(10月21日~12月9日) 详细设计,详细规划软件内部结构。 (12月10日~ 1月15日) 编写代码,完成详细设计内容编写软件代码。 (1月16日~5月14日) 测试并撰写论文,测试软件,完成论文撰写。 (5月15日~6月20日) 资料: Marty Hall、Larry Brown著,赵学良译。《ServletJSP核心编程(第2版)》,清华大学出版社。 袁然、郑自国、邹丰义著,《Java案例开发集锦》,电子工业出版社。 孙卫琴著,《精通Struts:基于MVC的JavaWeb设计开发》,电子工业出版社。
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页

打赏作者

qq_1406299528

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值