图书馆信息管理系统课程设计报告.docx
- 文档编号:23626770
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:43
- 大小:3.08MB
图书馆信息管理系统课程设计报告.docx
《图书馆信息管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《图书馆信息管理系统课程设计报告.docx(43页珍藏版)》请在冰豆网上搜索。
图书馆信息管理系统课程设计报告
数据库课程设计报告
-----图书馆信息管理系统
学院:
软件学院专业:
软件工程班级:
**级软件*班姓名:
**学号:
***********
任课教师:
彭朝晖实验教师:
王诚梅助教:
**
前言--------------------------------------------------------------3
一.系统开发平台
1.1开发平台简介--------------------------------------------------4
1.2一些细节问题-------------------------------------------------4
二.数据库规划
2.1任务陈述------------------------------------------------------4
2.2任务目标------------------------------------------------------5
三.系统定义----------------------------------------------5
四.需求分析
4.1用户需求说明--------------------------------------------------6
4.2系统需求说明--------------------------------------------------9
五.数据库逻辑设计
5.1ER图---------------------------------------------------------10
5.2数据字典-----------------------------------------------------12
5.3用户视图中的表-----------------------------------------------14
六.数据库物理设计
6.1基本表的实现-------------------------------------------------15
6.2具有派生数据的表的示例---------------------------------------19
6.3索引---------------------------------------------------------19
6.4安全机制-----------------------------------------------------19
七.应用程序设计
7.1功能模块-----------------------------------------------------19
7.2界面设计-----------------------------------------------------31
7.3事务设计-----------------------------------------------------31
八.测试和运行-------------------------------------------31
九.部分代码分析
9.1首页跳转代码-------------------------------------------------31
9.2用户登陆信息显示---------------------------------------------31
9.3数据库操作通用类---------------------------------------------32
十.总结-------------------------------------------------33
附参考文献-----------------------------------------------35
前言
随着科学技术的高速发展,我们已步入数字化、网络化、信息化的时代。
图书馆是学校的文献信息中心,是为全校教学和科学研究服务的学术性机构,是学校信息化的重要基地。
图书馆的工作是学校教学和科学研究工作的重要组成部分,是全校师生学习和研究的重要场所。
为了更好地适应这种网络数字化信息的环境,提高利用图书馆检索信息的效率,一种成功的跟踪最新技术、充分利用软硬件资源、扎根于准、新、全数字资源的"图书馆信息管理系统"已孕育而生。
图书馆在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息、图书预约信息等。
人工记录方法既效率低又错误过多,大大影响了图书馆的正常管理工作。
因此需要对书籍信息、读者信息、借书信息、还书信息、图书预约信息等进行统一管理,及时了解各个环节中信息的变更,有利于管理效率的提高,同时为了提高工作效率、服务质量和管理水平,并使图书馆管理人员从繁琐的工作中解脱出来,故开发该图书馆信息管理系统。
目前我校已经有一套功能比较完备的图书馆信息管理系统,但是在使用过程中,由于管理员以及读者不断提出新的功能需求,使现有系统的局限性逐渐体现出来,所以本系统在实现现有系统功能的基础之上,又实现了几种为用户提供便利的功能,使得本软件能够更好的满足用户的需求、更具人性化、使用起来更加方便。
正文
一系统开发平台
1.1开发平台简介
本图书馆信息管理系统采用B-S架构,使用JavaEE的技术路线,遵守MVCModel2模型。
Model模型层使用数据库作为持久性储存结构,选用的后台数据库是MySQL5.0。
这是业界领先的开源数据库,在开源产品中具有仅次于Apache服务器的市场占有率。
本数据库开放源代码,具有免费使用,比较稳定的特点,适合于小型系统的持久性存储。
Model使用JavaBeans作为OO层面上的抽象。
View视图层使用JSP技术。
这是JavaEE平台推荐的表现层技术。
图书馆信息管理系统中使用JSP2.0规范,严格控制页面代码中的业务逻辑部分,做到不在HTML代码中混杂Java业务代码,实现了很好的业务和表现的分离。
在这里采用的JSTL标准标签库来达到这一目标。
Controller控制层采用Servlet技术。
页面获取的数据通过Servlet的转发传递给后面的JavaBeans进行数据的封装和与数据库的交互,反馈信息由JavaBeans传递给Servlet,再由Servlet进行转发,从而实现业务逻辑和表现的完全分离。
本图书馆信息管理系统使用struts1.2作为MVC开发框架,整个系统有struts框架作为MVC的后台运行支持。
struts1.2框架是业界最早的也是最稳定和成熟的MVC开发框架,经过时间的洗礼已经被证明是一款很优秀的MVC框架,尽管还存在一些不足之处,但struts已经是可以选择的最好的框架技术。
本图书馆信息管理系统的软件开发平台是MyEclipse6.0GA+DreamweaverCS3。
它的软件运行平台是ApacheTomcat6.0+JSTL+struts1.2。
1.2一些细节问题
图书馆信息管理系统中存在大量的表单提交。
这里我们采用JavaScript进行客户端的简单验证。
对于一些相对简单的验证,比如表单提交项是否为空,两次密码的输入是否一致等,将这样的验证过程由服务器端转移到客户端可以减轻服务器的负担,从而为更多客户提供更好的服务。
对于页面菜单的设计,考虑到浏览器兼容的问题,采取最大兼容的代码。
经过实际测试,该代码可以正常显示在当前主流浏览器内核之上。
测试浏览器包括IE6,IE7,Firefox,Opare9。
二数据库规划
2.1.任务陈述
图书馆信息管理系统数据库用以收集、存储书籍信息、人员(读者、图书管理员)信息、图书借阅信息以及意外处理信息,及时记录存储各个环节信息的变更,以便管理、查询、显示、输出,节约大量人力物力把人们从繁杂的手工记录方式中解脱出来的同时,有力保障图书馆日常事务的高效运作。
2.2.任务目标
目标类别
子目标
人员信息管理
读者信息管理,包括读者类别、性别、借书数量、借书期限、备注等的输入、修改、删除、显示以及报表呈现。
图书馆管理员信息管理,包括管理员权限、性别、备注等的输入、修改、删除、显示以及报表呈现。
书籍信息管理
书籍基本信息管理,包括书籍编号、类别、关键词、备注等的输入、修改、删除、显示以及报表呈现。
借阅信息管理
借书信息管理,包括书籍编号、读者编号、借书日期、借书期限、备注等的输入、修改、删除、显示以及报表呈现。
还书信息管理,包括书籍编号、读者编号、还书日期、还书期限、备注等的输入、修改、删除、显示以及报表呈现。
意外处理信息管理
续借、超期赔偿、丢失赔偿、损坏赔偿等信息的输入、修改、删除、显示以及报表呈现。
三.系统定义
本图书馆信息管理系统主要面向各大图书馆的图书管理以及相关人员,读者和图书管理员。
旨在实现图书管理的信息化,把人们从繁杂的手工记录方式中解脱出来,实现高效准确的管理。
根据我对图书馆工作和管理模式的了解,再结合上网查找到的资料和从学校图书馆工作人员那里了解到的情况,做出如下设计:
本系统将用户分为读者、图书馆管理员两种身份,共同参与图书的流通管理过程。
图书馆管理员权限:
具有该系统的最高权限,对系统进行管理,可对数据库进行系统所提供的所有操作,并负责图书流通过程中的借书、还书操作。
权限具体陈述如下:
1、图书管理:
包括图书的录入、查询、修改和删除。
2、管理员信息管理:
添加、查询、修改、删除所有管理员的信息。
3、读者管理:
包括读者信息的添加、查询、修改、删除等。
4、系统数据处理:
数据查询,包括查看当前在馆书籍信息、当前所有违章罚款信息、所有被预约图书信息等。
5、管理员的个人功能:
包括查看个人信息、修改密码、重新登陆、退出系统等。
6、图书流通中的借书操作:
借书时需要输入用户号和图书ISBN。
如果该图书可借,则正常借书,提示“借阅成功”;如果该书不可借,则弹出窗口提示。
7、图书流通中的还书操作:
还书时需要输入用户号和图书ISBN。
若正常还书,点击确定即可;若读者违章,可填写违章记录,并处以罚款。
8、察看读者的请求信息,加以处理。
读者权限:
使用系统的相应查询功能。
具体权限如下:
1、图书检索功能(包括简单检索和高级检索)。
2、查看个人信息、修改密码等个人信息。
3、查看个人借阅历史。
4、续借已借图书:
在查看个人借阅历史模块里实现,当前已借未还未续借的每本书后面都有一个续借按钮,选中后点击可以实现该书的续借。
5、图书预约:
可查看自己的预约信息及处理情况,也可通过填写预约表单预约图书。
6、查看违章欠款记录。
四.需求分析
4.1用户需求说明
4.1.1数据需求
图书馆分为若干个分馆,分馆名称唯一。
每个分馆都藏有图书,系统可以浏览、操作、管理各个分馆的图书信息。
对应书籍实体的图书信息包括图书的编号,ISBN,名称,第一、第二、第三作者,书名的汉语拼音缩写,内容简介,入库时间,书籍单价,图书馆购进图书总数,书籍当前在库数目,书籍所在馆号,书籍外借数目等。
除了一些从服务器自动获取的信息外,大部分图书信息都由管理员来维护。
此外管理员还可维护图书馆管理员信息、读者信息、分馆信息、权限信息、不良记录信息。
图书馆管理员信息和读者信息由用户编号、用户密码、用户密码提示问题、用户名字、用户权限、用户年龄、用户性别、用户不良记录、用户请求记录组成。
其中读者可以自行维护除编号、权限、不良记录以外的其它信息。
读者在借书之前必须先注册,注册后便可进行借书、还书、留言等一系列操作。
借书信息包括借书记录号、用户号书籍编号、借阅日期、是否续借、是否归还等信息。
对于读者的不良记录,系统将予以存储。
存储的信息有不良记录编号、借阅编号、不良记录描述。
对应于用户请求记录实体的请求信息包括请求信息编号、用户编号、请求描述、请求发出时间、该请求是否实现等内容。
4.1.2事务需求
⏹数据录入
a新用户注册时录入自己的详细情况;
b录入新进图书的各项信息;
c录入分馆的基本信息;
d用户登录后录入自己的请求信息;
e管理员录入用户的不良记录
⏹数据更新/删除
f更新/删除用户的个人信息;
g更新/删除某些图书的基本信息;
h更新/删除某些图书的借阅信息;
i更新/删除某些分馆的基本信息;
j更新/删除某些用户的请求信息;
⏹数据查询
k查询用户的个人信息;
l查询图书的基本信息;
m查询图书的借阅信息;
n查询分馆的基本信息;
o查询用户的请求信息;
p查询用户的不良记录信息;
4.1.3系统用例
用例:
用例总图:
4.1.4组件图
4.1.5部署图
4.2系统需求说明
4.2.1网络和共享需求:
⏹所有分馆必须安全的和总部数据库网络互连;
⏹必须能够支持每个分馆至少3名用户同时访问;
4.2.2性能:
⏹单个记录查询时间少于3秒
⏹多个记录查询时间少于6秒
⏹更新/保存记录时间少于2秒
4.2.3安全性:
⏹必须有口令保护
⏹每个用户分配特定的用户视图所应有的访问权限
4.2.4法律问题:
⏹对管理员和读者信息管理,遵守法律
4.2.5运行需求
4.2.5.1用户界面
⏹使用浏览器界面结构,采用导航栏界面方式,尽力带给操作用户便利,对用户友好;对鼠标和键盘单独支持。
4.2.5.2硬件接口
⏹本软件需要能够互联网的支撑,用户的硬件平台应该能够与互联网连接。
4.2.5.3软件接口
⏹运行于Windows98及更高版本的Windows操作系统之上,或者其他系统。
4.2.5.4故障处理
⏹正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。
4.2.6其它需求
⏹系统的功能实现情况:
用户可在本系统下实现各种用户要求的功能
⏹系统的安全性:
对于系统的重要数据都有密码保护,具有一定的安全性
⏹系统的容错性:
用户输错数据都有提示信息,具有较好的容错性能。
⏹系统的封闭性:
用户的封闭性较好,用户基本上在提示信息下输数据。
五.数据库逻辑设计
5.1E-R图
图书信息管理系统的数据库可以设计定义用户(由权限可分为管理员和普通读者)、书籍、图书馆、借书信息、请求信息和不良记录信息等实体及其之间的联系。
实体使用E-R图进行描述。
为清楚起见,这里将实体图和联系图分开表现。
5.1.1实体图:
5.1.1.1书籍信息的E-R图:
5.1.1.2用户信息的E-R图:
5.1.1.3图书馆信息的E-R图:
5.1.1.4请求信息的E-R图:
5.1.1.5不良记录的E-R图:
5.1.2.联系图:
5.2数据字典
根据上面描述的E-R图进行数据库的逻辑结构设计。
在这里以表格的形式给出数据库的设计。
下面表中的字段除特殊标明的外,均不能为空。
(5.2.1)书籍实体。
字段
类型
备注
book_id
int(11)
主键,书籍编号,自增类型
book_isbn
varchar(30)
书籍ISBN
book_title
varchar(100)
书籍名称
book_author0
varchar(20)
第一作者
book_author1
varchar(20)
第二作者,可以为空
book_author2
varchar(20)
第三作者,可以为空
book_chinese_short
varchar(50)
书名的汉语拼音缩写,用于支持拼音查找
book_introduction
text
书籍内容简介
book_year
date
入库时间,该时间从服务器获取
book_price
decimal(11,0)
书籍单价
book_amount
int(3)
购进书籍总数
book_amount_in
int(3)
书籍当前在库数目
book_which_lib
int
(2)
书籍所在馆号
book_how_many_borrowed
int(3)
书籍外借数目,该字段由book_amount和book_amount_in字段计算得出,用于快速查找
(5.2.2)用户实体。
在这里的用户具有管理员和普通读者的权限。
字段
类型
备注
user_id
int(11)
主键,用户编号,由用户自主选择,只能由数字构成
user_password
varchar(20)
用户密码
user_password_question
varchar(50)
用户密码提示问题,用于用户忘记密码时找回密码之用
user_password_question_answer
varchar(50)
用户密码提示问题答案,用于用户忘记密码时找回密码之用
user_name
varchar(20)
用户名字
user_purview
varchar
(2)
外码,指向user_pruview,用户权限
user_age
tityint(3)
用户年龄
user_sex
enum('0','1')
用户性别,枚举类型,0代表“男”,1代表“女”
user_durty_record
int(11)
外码,指向durty_info,不良记录,可以为空
user_quest_record
int(11)
外码,指向request_info,请求记录,可以为空
(5.2.3)图书馆实体。
字段
类型
备注
lib_id
int
(2)
主键,图书馆编号
lib_name
varchar(50)
图书馆名字
(5.2.4)请求记录实体。
字段
类型
备注
request_id
int(11)
主键,自增类型
request_user_id
int(11)
用户编号
request_describetion
varchar(100)
请求描述,由用户输入
request_date
date
请求发出时间
request_finished
tinyint
(1)
该请求是否实现,0代表为实现,1代表已经实现
(5.2.5)不良记录信息实体。
字段
类型
备注
durty_id
int(3)
主键,自增类型
durty_borrow_id
int(11)
借阅编号
durty_describetion
varchar(100)
不良记录描述
(5.2.6)借阅联系。
字段
类型
备注
borrow_id
int(11)
主键,自增类型
borrow_user_id
int(11)
外码,指向user_info,用户编号
borrow_book_id
int(11)
外码,指向book_info,书籍编号
borrow_date
date
借阅日期,从服务器获得
borrow_reborrow
tinyint
(1)
是否续借,0代表没有续借,1代表已经续借,最大续借次数为1次,默认为0
borrow_is_return
tinyint
(1)
是否归还,0代表未归还,1代表已经归还,默认为0
5.3用户视图中的表
(1)Book_info(book_id,book_isbn,book_title,book_author0,book_author1,book_author2,book_chinese_short,book_introduction,book_year,book_price,book_amount,book_amount_in,lib_id,book_how_many_borrowed)
主键:
book_id
外码lib_id参照Lib_info(lib_id)
(2)User_info(user_id,user_password,user_password_question,user_password_question_answer,user_name,purview_id,user_age,user_sex,durty_id,request_id)
主键:
user_id
外码purview_id参照User_purview(purview_id)
(3)Lib_info(lib_id,lib_name)
主键:
lib_id
(4)Request_info(request_id,user_id,request_describetion,request_date,request_finished)
主键:
request_id
外码user_id参照User_info(user_id)
(5)Durty_info(durty_id,borrow_id,durty_describetion)
主键:
durty_id
外码borrow_id参照Borrow_info(borrow_id)
(6)Borrow_info(borrow_id,user_id,book_id,borrow_date,borrow_reborrow,borrow_is_return)
主键:
borrow_id
外码user_id参照User_info(user_id)
外码book_id参照Book_info(book_id)
(7)user_purview(purview_id,purview_name)
主键:
purview_id
六数据库物理设计
6.1基本表的实现
创建表及数据库的SQL语句如下:
#SQLManager2007forMySQL4.1.1.2
#---------------------------------------
#Host:
localhost
#Port:
3306
#Database:
library
SETFOREIGN_KEY_CHECKS=0;
CREATEDATABASE`library`
CHARACTERSET'utf8'
COLLATE'utf8_general_ci';
USE`library`;
#
#Structureforthe`lib_info`table:
#
CREATETABLE`lib_info`(
`lib_id`int
(2)NOTNULL,
`lib_name`varchar(50)NOTNULL,
PRIMARYKEY(`lib_id`),
UNIQUEKEY`lib_id`(`lib_id`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8;
#
#Structureforthe`book_info`table:
#
CREATETABLE`book_info`(
`book_id`int(11)NOTNULLauto_increment,
`book_isbn`varchar(30)NOTNULL,
`book_title`varchar(100)NOTNULL,
`book_author0`varchar(20)NOTNULL,
`book_author1`varchar(20)defaultNUL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 信息管理 系统 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)