JavaEEJsp图书管理技术文档.docx
- 文档编号:9847714
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:31
- 大小:25.37KB
JavaEEJsp图书管理技术文档.docx
《JavaEEJsp图书管理技术文档.docx》由会员分享,可在线阅读,更多相关《JavaEEJsp图书管理技术文档.docx(31页珍藏版)》请在冰点文库上搜索。
JavaEEJsp图书管理技术文档
封面
作者:
PanHongliang
仅供个人学习
XXX学院
实验报告
作业题目:
图书管理系统的设计与实现
姓名:
院(系):
专业班级:
学号:
指导教师:
成绩:
目录
1引言2
1.1编写目的2
1.2范围2
1.3定义2
1.4参考资料3
2工程概述3
2.1产品目标3
2.1.1开发意图3
2.1.2应用目标3
2.1.3背景3
2.2产品功能4
2.3用户特点4
3具体需求4
3.1功能需求4
3.1.1图书信息采集4
3.1.2读者信息采集5
3.1.3读者信息查询5
3.1.4图书检索5
3.1.5借书6
3.1.6还书6
3.1.7读者借阅信息7
3.1.8管理员维护7
3.2外部接口需求8
3.2.1用户接口8
3.2.2硬件接口8
3.2.3软件接口8
3.2.4通信接口8
3.3性能需求9
3.4设计约束9
3.5属性10
3.5.1安全性10
3.5.3可维护性10
3.5.4可转移\转换性10
3.6其他需求10
3.6.1数据库10
3.6.2场合适应性需求12
3.7系统主要页面12
4系统实现16
4.1图书查询模块的实现及主要代码16
4.2借书查询模块的实现及主要代码16
4.3借书模块的实现及主要代码18
4.4图书管理模块的实现及主要代码21
1引言
随着计算机技术的不断应用和提高,计算机已经深入到社会生活的各个角落。
而很多学校图书馆,仍采用手工管理图书的方法,不仅效率低、易出错、手续繁琐,而且耗费大量的人力。
为了满足图书馆管理人员对图书馆书籍,读者资料,借还书等进行高效的管理,在工作人员具备一定的计算机操作能力的前提下,特编此图书管理系统软件以提高图书馆的管理效率。
1.1编写目的
本需求的编写是为了研究图书管理系统软件的开发途径和应用方法。
同时它也是进行工程策划、概要设计和详细设计的基础,是维护人员进行内部维护,信息更新,验收和测试的依据。
本需求的预期读者是与图书管理系统软件开发有联系的决策人,开发组人员,支持该工程的领导和公司人员等。
1.2范围
工程名称:
图书管理系统。
工程功能:
实现图书馆图书查询、借书查询、借书、还书、读者管理、图书管理、关于、退出等功能。
工程开发者:
司坤坤
该工程的用户:
学校图书馆。
1.3定义
图书管理系统:
图书管理是帮助图书馆管理人员对图书信息的添加、删除和修改等,以及帮助读者对图书信息的检索,借阅情况的查询等的管理。
1.4参考资料
《JavaEE基础实用教程》——郑阿奇电子科技出版社
2工程概述
为方便对图书馆书籍,读者资料,借还书等进行高效的管理,特编写该程序以提高图书馆的管理效率。
使用该程序之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。
2.1产品目标
2.1.1开发意图
a.为了学校图书馆对图书的管理更方便;
b.为了减轻图书管理人员的工作负担;
c.为了方便读者对图书信息的检索及借阅情况的查询。
2.1.2应用目标
通过本系统软件,能帮助图书馆管理人员利用计算机,快速方便地对图书馆书籍,读者资料,借还书等进行高效的管理。
读者可以实时的进行图书的检索和借阅。
2.1.3背景
人工管理图书的手续繁索、效率低下给具有强烈时间观念的管理人员带来了诸多不便,学校图书馆缺少一套完善的图书管理软件,为了对图书的管理方便,因此开发了本软件。
2.2产品功能
系统由图书查询子系统、借书查询子系统、借书子系统、还书子系统、读者管理子系统、图书管理子系统、关于、退出等五大主要模块构成。
具体功能如下:
1.查询所有书籍列表、书籍借阅情况和所有用户列表。
2.管理员用户分为系统管理员和借阅管理员三种角色,不同角色具有不同的权限。
3.用户登录和用户管理功能,包括读者和管理员两种角色的管理。
4.图书管理包括增加图书信息、删除图书信息、修改图书信息和查询图书信息功能。
5.借书和还书管理,实现借阅者的借书、还书功能。
2.3用户特点
✧本软件的最终用户是面向管理员(图书管理员和其它管理人员)、读者(老师和同学等),他们都具有一定的计算机应用基础,可以比较熟练操作计算机。
管理员和读者都是经常性用户。
✧系统维护人员为计算机专业人员,熟悉数据库、操作系统、网络维护工作。
维护人员为间隔性用户。
3具体需求
3.1功能需求
3.1.1图书信息采集
规格说明:
图书的全部信息(包括:
分类号、条形码、书名、作者、内容摘要、价格和购书日期等)采集
输入:
图书的全部信息。
处理:
通过图书管理系统写入数据库。
输出:
图书信息的全部内容。
3.1.2读者信息采集
规格说明:
读者的具体信息(包括:
读者账号,姓名,学院,专业,年级等)采集
输入:
读者具体信息。
处理:
通过图书管理系统写入数据库
输出:
读者具体信息。
3.1.3读者信息查询
规格说明:
根据读者编号查询读者的相关信息。
输入:
读者信息的关键字(读者编号或姓名)。
处理:
利用关键字在读者数据库中找到此编号或姓名读者的相关信息。
输出:
读者的相关信息。
3.1.4图书检索
规格说明:
查找图书的相关信息。
输入:
书信息的关键字(如图书的书名、作者、出版社、ISBN号等)。
处理:
利用关键字在图书目录文件中找到此图书分类号或书名图书的相关信息。
输出:
图书的相关信息。
3.1.5借书
规格说明:
把读者借书的相关信息(包括:
借阅人编号、图书条码、借阅日期和还书日期等)写入系统。
输入:
读者借书信息。
处理:
通过借还书子系统写入借书数据库中。
输出:
读者借书信息的全部内容。
3.1.6还书
规格说明:
把读者还书的相关信息(包括:
借阅人编号、图书条码和还书日期等)写入系统。
输入:
读者还书信息。
处理:
通过借还书子系统写入还书数据库中。
输出:
读者超期天数和罚款金额。
3.1.7读者借阅信息
规格说明:
查询读者借书的相关信息。
输入:
借书信息的关键字(账号)。
处理:
通过读者借阅信息查询系统查询读者借阅情况。
输出:
修改后的管理员的相关信息。
3.1.8管理员维护
规格说明:
针对不同身份的管理员的对其所负责的权限及信息进行维护。
输入:
管理员的账号和密码。
处理:
通过用户管理子系统来。
输出:
不同身份的管理员管理系统的结果。
3.1.9系统帮助
规格说明:
给用户提供的系统详细使用指南。
3.2外部接口需求
3.2.1用户接口
本产品的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:
输入界面、输出界面)。
用户对程序的维护,最好要有备份。
3.2.2硬件接口
服务器端:
CPU:
P4以上。
内存:
256MB以上。
客户端:
CPU:
P3以上。
内存:
256MB以上。
显示卡:
16K色以上显示模式。
3.2.3软件接口
服务器端:
操作系统:
中文WindowsServer2000,WindowsXP。
JRE环境:
JRE1.5以上版本。
客户端:
操作系统:
Windows2000/XP
JRE环境:
JRE1.5以上版本。
3.2.4通信接口
基于TCP/IP协议的局域网或校园网。
3.3性能需求
由于此开发工程针对图书馆,使用频度较高,使用性要求比较高:
1.精度需求
在精度需求上,根据使用需要,在各项数据的输入,输出及传输过程中,可以满足各种精度的需求。
2.时间需求
在软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户要求。
✧查询速度:
不超过10秒;
✧其它所有交互功能反应速度:
不超过3秒;
✧可靠性:
平均故障间隔时间不低于200小时。
4.灵活性
当用户需求,如操作方式,运行环境,结果精度,数据结构于其他软件接口等发生变化时,设计的软件要做适当调整,灵活性非常大。
5.故障处理
在开发阶段可以随即修改数据库里的相应内容。
总之,要求稳定、安全、便捷,易于管理和操作。
3.4设计约束
1.环境约束
运行该软件所在的服务器端必须是P4以上、内存256兆以上的计算机。
客户端必须是P3以上、内存256兆以上的PC机,并且具备访问网络的功能。
2.标准约束
该软件的开发完全按照企业标准开发,包括硬件、软件和文档规格。
3.硬件限制
服务器端必须是P4以上、内存256兆以上的计算机。
客户端必须是P3以上、内存512兆以上的PC机。
3.5属性
3.5.1安全性
本系统的规模比较小,不需要保密技术;限定一个程序中某些区域的规约,给不同的模块分配不同的功能。
3.5.3可维护性
本系统的组成结构独立性强,模块化程度高,具有高内聚低耦合的特性,维护起来比简单。
3.5.4可转移\转换性
可转移的环境是P3以上,至少256兆的环境;不可修改任何部分;可用向上兼容的高版本的汉语编程系统。
3.6其他需求
3.6.1数据库
数据库是实现有组织地,动态地存储大量关联数据,方便多用户访问的计算机软硬自愿组成的系统;他与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。
由于本软件数据库主要使用了4张基本表,即book、lend、login、student表,每个表的具体描述如下:
1、book表,用于存放图书的具体信息
功能名称:
book表(图书信息表)
存储位置:
图书信息表
存储组织:
一本图书一条记录
主键:
isbn
数据元素
数据采集方式
说明
isbn
人工采集
主键,必须输入
bookname
人工采集
必须输入
author
人工采集
publisher
人工采集
price
人工采集
cnum
人工采集
snum
人工采集
summary
人工采集
photo
自动采集
2、lend表,用于存放所借图书的信息
功能名称:
lend表(借阅信息表)
存储位置:
借阅信息
存储组织:
一次借阅一条记录
主键:
bookId
数据元素
数据采集方式
说明
bookId
人工采集
主键,必须输入
readerId
自动采集
bookName
人工采集
publisher
自动采集
price
自动采集
isbn
自动采集
必须输入
lendTime
自动采集
3、login表,用于存放读者和管理员的基本信息
功能名称:
login表(管理员/读者信息表)
存储位置:
管理员读者信息
存储组织:
一次借阅一条记录
主键:
id
数据元素
数据采集方式
说明
id
自动采集
主键,必须输入
name
自动采集
Nassword
自动采集
Role
自动采集
4、student表,用于存放学生信息
功能名称:
student表(学生信息表)
存储位置:
学生信息表
存储组织:
一次借阅一条记录
主键:
readerId
数据元素
数据采集方式
说明
readerId
人工采集
主键,必须输入
name
人工采集
spec
人工采集
sex
人工采集
Born
人工采集
num
自动采集
snum
自动采集
photo
自动采集
3.6.2场合适应性需求
该系统须在网络环境中才能使用,可以部署在任何局域网和校园网内。
3.7系统主要页面
1、以管理员的身份登录
(1)工程部署完后启动Tomcat打开浏览器,在地址栏中输入以下地址:
进入图书管理系统首页,如下图:
在右上角的登录区框中登录登录名:
admin密码:
123点击登录
登录后的页面,与登录前表面大致相同,只是功能按钮由灰色变为黑色,可操作状态
(2)点击图书管理按钮,进入图书管理界面:
输入要追加的图书信息,然后点击左侧的“图书追加”进行图书的添加
(3)点击图书追加按钮,图书添加成功,系统给出提示(红字),如下图:
修改图书,删除图书的操作及运行界面与“添加图书”相似。
(4)图书管理员可以查看读者的借书情况,点击借书按钮,进入如下界面:
输入借书证号,点击查询,如果存在该学生存在,就会显示其借书信息。
(5)图书查询,在ISBN一栏中输入要查询的图书ISBN号,点击图书查询按钮即可查询图书,如下图:
(6)安全退出,未退出前,按钮均为黑色,如下图:
点击退出按钮后,按钮变为灰色
4系统实现
4.1图书查询模块的实现及主要代码
1.查询模块Action的实现关键代码:
publicStringselectBook()throwsException{
if(book.getIsbn()==null||book.getIsbn().equals("")){
this.setMessage("请输入ISBN")。
returnSUCCESS。
}
Bookb=bookservice.selectBook(book.getIsbn())。
if(b==null){
this.setMessage("不存在的ISBN号")。
returnSUCCESS。
}
Maprequest=(Map)ActionContext.getContext().get("request")。
request.put("onebook",b)。
returnSUCCESS。
}
4.2借书查询模块的实现及主要代码
1.Action的实现LendSearchAction.action:
packageorg.action。
importjava.util.Map。
importorg.dao.impl.LendDaoImpl。
importorg.service.BookService。
importorg.service.LendService。
importorg.service.StudentService。
importorg.vo.Lend。
importcom.opensymphony.xwork2.ActionContext。
importcom.opensymphony.xwork2.ActionSupport。
publicclassLendSearchActionextendsActionSupport{
privateLendlend。
privateLendServicelendservice。
privateStudentServicestudentservice。
privateBookServicebookservice。
privateStringmessage。
publicLendgetLend(){
returnlend。
}
publicvoidsetLend(Lendlend){
this.lend=lend。
}
publicLendServicegetLendservice(){
returnlendservice。
}
publicvoidsetLendservice(LendServicelendservice){
this.lendservice=lendservice。
}
publicStudentServicegetStudentservice(){
returnstudentservice。
}
publicvoidsetStudentservice(StudentServicestudentservice){
this.studentservice=studentservice。
}
publicBookServicegetBookservice(){
returnbookservice。
}
publicvoidsetBookservice(BookServicebookservice){
this.bookservice=bookservice。
}
publicStringgetMessage(){
returnmessage。
}
publicvoidsetMessage(Stringmessage){
this.message=message。
}
publicStringselectOneStudent()throwsException{
if(lend.getReaderId()==null||lend.getReaderId().equals("")){
this.setMessage("请输入借书证号!
")。
returnSUCCESS。
}elseif(studentservice.selectStudent(lend.getReaderId())==null){
//这里判断输入的结书证号是否存在对应的读者
System.out.println("reader
>?
>>zaizheli-----"+lend.getReaderId())。
this.setMessage("您输入的借书证号不存在")。
returnSUCCESS。
}
Maprequest=(Map)ActionContext.getContext().get("request")。
request.put("readerId",studentservice.selectStudent(lend.getReaderId()).getReaderId())。
returnSUCCESS。
}
publicStringselectOneBook()throwsException{
System.out.println("BookIsbn
>?
>>-----"+lend.getBookId())。
Maprequest=(Map)ActionContext.getContext().get("request")。
if(lend.getBookId()==null||lend.getBookId().equals("")){
this.setMessage("图书ID不能为空!
")。
returnSUCCESS。
}elseif(lendservice.selectByBookId(lend.getBookId())==null){
this.setMessage("对不起,您没有借该图书!
")。
returnSUCCESS。
}
Lendl=lendservice.selectByBookId(lend.getBookId())。
//Lendl=newLendDaoImpl().selectByBookId("1")。
System.out.println("Id()()()()()>>>------"+l.getBookName())。
request.put("Id",l.getBookId())。
request.put("ISBN",l.getIsbn())。
request.put("bookName",l.getBookName())。
request.put("publisher",l.getPublisher())。
request.put("price",l.getPrice())。
request.put("lendTime",l.getLendTime())。
request.put("photo",bookservice.selectBook(lendservice.selectByBookId(lend.getBookId()).getIsbn()).getPhoto())。
request.put("readerId",lend.getReaderId())。
returnSUCCESS。
}
}
4.3借书模块的实现及主要代码
1.Action的实现LendAction.action:
packageorg.action。
importjava.util.Date。
importjava.util.List。
importjava.util.Map。
importorg.service.BookService。
importorg.service.LendService。
importorg.service.StudentService。
importorg.tool.Pager。
importorg.vo.Book。
importorg.vo.Lend。
importorg.vo.Student。
importcom.opensymphony.xwork2.ActionContext。
importcom.opensymphony.xwork2.ActionSupport。
publicclassLendActionextendsActionSupport{
privateLendlend。
privateLendServicelendservice。
privateStudentServicestudentservice。
privateBookServicebookservice。
privateStringmessage。
privateintpageNow=1。
privateintpageSize=4。
publicLendgetLend(){
returnlend。
}
publicvoidsetLend(Lendlend){
this.lend=lend。
}
publicintgetPageNow(){
returnpageNow。
}
publicvoidsetPageNow(intpageNow){
this.pageNow=pageNow。
}
publicintgetPageSize(){
returnpageSize。
}
publicvoidsetPageSize(intpageSize){
this.pageSize=pageSize。
}
publicStringselectAllLend()throws
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaEEJsp 图书 管理 技术 文档