图书馆管理系统设计与实现论文Word文档格式.docx
《图书馆管理系统设计与实现论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统设计与实现论文Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
[3]
2国内外研究现状及发展趋势
图书馆管理信息系统起源于上世纪50年代的美国,我国图书馆管理信息系统的研究始于上世纪年70代中期,当时是针对国外引进的单功能系统进行研究与改进.随着Internet的发展和现代信息技术的广泛应用,21世纪的图书馆已向全球化、网络化、数字化的方向发展,这促使得图书馆信息管理系统也面临着新的变革,而基于WEB网络技术和ASP.NET技术,以浏览器/服务器(B/S)模式实现图书馆管理系统具有简洁和使用方便的特点,有着良好的可扩充性和可维护性,已成为现代图书馆信息管理系统发展的主流趋势。
[4]
随着计算机网络技术在图书馆管理信息系统中的广泛运用,技术与功能日趋成熟,目前已形成颇具规模的相关产业。
据粗略统计,在英语国家中,具有相当规模的图书馆管理信息系统产品供应商已达120多家。
占据市场份额前十位的产品供应商,拥有73%的市场收益,反映了图书馆管理信息系统认可的趋同性。
随着网络的快速发展以及计算机技术的普及,图书馆管理系统也正在向着全球化、网络化、数字化的方向发展.其中基于B/S结构的图书馆管理系统也必将成为现代图书馆信息管理系统发展的趋势。
[5]
第二章系统开发坏境
2.1系统开发模式
随着Internet的广泛使用和快速发展,基于B/S模式的图书馆管理系统能够实现更多功能,节约开发成本,而且使用起来更加方便快捷,所以B/S模式已经成为开发系统的主流趋势.B/S结构即浏览器/服务器,它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过浏览器来实现,形成所谓三层结构:
即数据表示层、业务逻辑层和数据库访问层。
B/S模式的特点如下:
①简化了客户端程序,用户操作使用更加简便,数据高度共享;
②简化了系统的开发和维护;
③安全性较高,资源利用率高;
④投入成本低,易于扩展;
⑤B/S模型具有统一的客户端标准,集中的服务器管理,可跨平台操作等特点,正适合以网络为中心的计算特点。
[6]
2.2系统开发技术
2。
1ASP.NET
ASP是ActiveServerPage的缩写,意为“动态服务器页面”.是Microsoft公司开发的代替CGI脚本程序的一种应用技术,它可以与数据库和其它程序进行交互。
是一种简单、方便的编程工具.ASP能让不懂网页制作的各岗位人员通过Web方式对页面上的信息进行添加、审阅、发布、修改和删除,利用它与HTML结合可制作Web网页量化管理模块,与SQL数据库结合可进行量化管理。
各岗位人员可将管理数据录入计算机.存储到各个管理点的Web服务器上.建立起具有交互和查询功能的Web量化管理系统。
ASP技术现在常用在各种动态网站中,其功能也不断深化。
ASP升级平台是ASP.NET,是把基于通用语言的程序在服务器上运行,不像以前的ASP即时解释程序那样将程序在服务器端首次运行时进行编泽。
执行效果比一条一条地解释强很多.极大地提高了执行效率。
[7]
2SQLServer2005
SQLServer2005是一个具备完全Web支持的数据库产品,它提供一系列方法将数据填充到Web服务器,同时提供对数据的快捷访问,提供对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力,是一个可伸缩、高性能的数据库管理系统。
SQLServer2005提供了以Web标准为基础的扩展数据库编程功能。
丰富的XML和Internet标准支持允许使用内置的存储过程以XML格式轻松存储和检索数据,可以使用XML更新程序容易地插入、更新和删除数据。
综上所述,MicrosoftSQLServer有其它DBMS无法比拟的优越性,因此图书馆管理系统选择采用MicrosoftSQLServer作为其服务器端的数据.[8]
第三章系统需求分析
3。
1功能需求分析
随着图书数目的日益增多,传统的手工操作不仅工作量大,而且在管理期间容易出现失误,所以图书馆管理系统对加强图书馆的管理有极其重要的作用.本系统主要分为两大功能:
(一)管理员功能
1 图书管理:
包括对图书信息和图书类别进行添加、修改、删除等;
2 读者管理:
包括对读者信息和读者类别进行添加、修改、删除等;
3 事务处理:
包括图书借阅、图书归还等;
4 查询管理:
包括查询图书信息和图书类别、查询读者信息和读者类别、查询图书借阅信息、查询读者借阅信息等;
5 密码管理:
包括重新设置密码等。
(二)读者功能
1 登陆管理:
包括在读者成功登陆后可提醒所图书借阅信息等;
2 查询管理:
包括查询图书信息、查询图书借阅信息等。
3 密码管理:
[9]
2性能需求分析
为了保证图书馆管理系统能够安全、稳定地运行,图书馆管理系统应该满足以下的性能需求:
1 系统处理的准确性和及时性;
2 系统的开放性和可扩充性;
3 系统的易用性和易维护性;
4 系统的标准性和先进性;
5 系统的响应速度.[10]
第四章系统详细设计
4.1系统功能模块
本系统主要包括管理员功能与读者功能,其中管理员功能包括四个功能模块,读者包括三个功能模块:
(一)管理员功能
①图书管理:
其中包括添加图书类别、删除图书类别、修改图书类别——包括图书类别编号、图书类别名称;
添加图书信息、删除图书信息、修改图书信息、查询图书信息——包括图书编号、图书名称、图书类别、图书出版社、图书价格、图书作者;
②读者管理:
其中包括添加读者类别、删除读者类别、修改读者类别——包括读者类别编号、读者类别名称、可借阅天数、可借阅数目、可续借天数;
添加读者信息、删除读者信息、修改读者信息、查询读者信息——包括读者编号、读者姓名、读者性别、读者类别、读者地址、读者电话;
③借阅管理:
其中包括图书借阅——根据读者编号和图书编号来完成图书借阅;
图书归还——根据读者编号和图书编号来完成图书归还;
④密码管理:
其中包括修改密码——通过输入两个相同的密码来完成新密码的设置。
(二)读者功能
其中包括图书信息查询-—根据图书名称或图书类别来查询图书信息,并查询图书具体信息;
②借阅管理:
其中包括借阅信息查询—-根据读者登录来查询读者的借阅信息,包括借阅图书编号、图书名称、借阅时间及图书是否到期;
③密码管理:
其中包括修改密码——通过输入两个相同的密码来完成新密码的设置.
图4。
1系统功能图
4。
2数据库设计
4.2.1数据库的逻辑设计
根据图书馆管理系统的功能需求,从而得出物理设计:
①管理员信息实体E-R图
图4.2管理员信息实体E-R图
②图书类别实体E-R图
3图书类别实体E—R图
③读者类别实体E-R图
4读者类别实体E-R图
④读者信息实体E-R图
图4.5读者信息实体E—R图
⑤图书信息实体E—R图
图4.6图书信息实体E—R图
⑥图书归还实体E—R图
7图书归还实体E-R图
2数据库的物理设计
根据数据库的逻辑设计,从而可以得出数据库的物理设计:
1管理员信息表(admin):
表4。
1管理员信息表
序号
字段名称
字段说明
类型
位数
必填字段
1
adminname
管理员用户名
varchar
20
是
2
adminpwd
管理员密码
32
2图书类别表(booktype):
表4.2图书类别表
booktypeid
图书类别编号
int
4
booktypename
图书类别名称
50
3读者类别表(readertype):
表4.3读者类别表
readertypeid
读者类别编号
readertypename
读者类别名称
nvarchar
30
3
borrownum
可借阅数目
borrowday
可借阅天数
5
continueday
可续借天数
4图书信息表(bookinfo):
表4.4图书信息表
bookid
图书编号
bookname
图书名称
bookpublish
图书出版社
bookauthor
图书作者
6
bookprice
图书价格
float
5读者信息表(readerinfo)
表4.5读者信息表
readerid
读者编号
readerpwd
读者密码
readername
读者姓名
readersex
读者性别
readerphone
读者电话
readeraddress
读者地址
nchar
7
6图书借还表(bookborrow)
6图书借还表
bookborrowid
图书借还编号
borrowtime
借阅时间
datetime
8
returntime
归还时间
isreturn
是否归还
continueborrowtime
续借时间
iscontinue
是否续借
第五章系统的实现
5。
1登录模块
图书馆管理系统共有两种登录身份,一个是管理员,另一个是读者。
登录功能主要是根据输入用户名、密码和选择身份来进行操作,如果用户名输入错误,则提示“不存在该帐号信息”;
如果密码输入错误,则提示“密码输入不正确”。
图5.1登陆界面
2管理员功能模块
2.1图书信息管理
图书信息管理主要包括添加、修改、删除、查询图书信息。
添加图书信息通过输入图书名称、作者、出版社、价格和选择图书类别来实现,如果输入正确就提示“添加图书成功”,否则提示“添加图书失败”。
stringsqlString="
insertinto[bookinfo](bookname,booktypeid,bookauthor,bookpublish,bookprice)values(”;
if(DBOperation。
ExecuteNonQuery(DBOperation.CONN_STRING_NON_DTC,CommandType.Text,sqlString,null)<
0)
{
this。
errMessage=”添加图书失败!
”;
returnfalse;
}
图5.2添加图书信息界面
修改图书信息通过更新图书信息中的图书名称、作者、出版社、价格和图书类别来实现,如果修改正确就提示“修改图书成功”,否则提示“修改图书失败”。
stringsqlString=”update[bookinfo]set”;
if(DBOperation.ExecuteNonQuery(DBOperation.CONN_STRING_NON_DTC,CommandType.Text,sqlString,null)〈0)
this.errMessage=”修改图书失败!
图5.3修改图书信息界面
删除图书信息根据图书编号来实现删除数据库中图书信息,如果删除成功,则提示“删除图书成功"
,否则提示“删除图书失败"
。
如果删除的图书未归还,则提示“该图书还未归还“。
if(DBOperation。
ExecuteReader(DBOperation.CONN_STRING_NON_DTC,CommandType。
Text,sqlString,null).Read())
{
this.errMessage=”该图书还未归还!
"
;
}
stringdeleteLoanString="
deletefrom[bookborrow]wherebookid="
+bookid;
stringdeletebookinfoString="
deletefrom[bookinfo]wherebookid=”+bookid;
string[]procedureStrings=newstring[]{deleteLoanString,deletebookinfoString};
if(!
DBOperation.ExecuteStoreProcedure(DBOperation。
CONN_STRING_NON_DTC,procedureStrings,null))
errMessage=”删除图书失败!
;
returnfalse;
图书信息查询通过输入图书名称或选择图书类别来查询图书编号、图书名称、图书类别、图书出版社、图书作者来实现查询图书信息,而且只需输入相关的字,就可模糊查询。
图5.4查询图书信息界面
5.2。
2图书类别管理
图书类别管理主要包括添加、修改、删除图书类别。
添加图书类别通过输入图书类别名称来实现,如果输入正确就提示“添加图书类别成功”,否则提示“添加图书类别失败”。
如果输入的图书类别已经存在,则提示“该图书类别已存在”。
如果未输入图书类别,则提示“请输入图书类别”。
图5.5添加图书类别界面
修改图书类别通过更新图书类别名称来实现,如果修改正确就提示“修改图书类别成功”,否则提示“修改图书类别失败”。
如果输入的图书类别已经存在,则提示“该图书类别已存在”.
图5。
6修改图书类别界面
删除图书类别根据图书类别编号来实现删除数据库中图书类别,如果删除成功,则提示“删除图书类别成功”,否则提示“删除图书类别失败”。
如果删除的图书类别下有图书存在,则提示“该图书类别存在图书"
3读者信息管理
读者信息管理主要包括添加、修改、删除、查询读者信息。
添加读者信息通过输入读者编号、密码、姓名、性别、电话、地址和选择读者类别来实现添加读者信息,如果输入正确就提示“添加读者信息成功”,否则提示“添加读者信息失败”。
如果输入的电话格式不正确,则提示“你输入的电话格式不正确"
如果未输入读者编号和读者密码,则提示“请输入读者编号信息"
、“请输入读者的密码信息"
.
图5.7添加读者信息界面
修改读者信息通过更新读者密码、姓名、性别、电话、地址和读者类别来实现,如果修改正确就提示“修改读者信息成功”,否则提示“修改读者信息失败”。
8修改读者信息界面
删除读者信息根据读者编号来实现删除数据库中读者信息,如果删除成功,则提示“删除读者信息成功”,否则提示“删除读者信息失败”。
如果删除的读者还有图书为归还,则提示“该读者还有图书没有归还”。
读者信息查询通过输入读者姓名或选择读者类别来查询读者编号、读者姓名、读者性别、读者电话来实现查询读者信息,而且只需输入相关的字,就可模糊查询。
如果要想查看读者所需图书的详细信息,读者可通过点击图书信息列表中的详细信息功能。
图5.9查询读者信息界面
4读者类别管理
读者类别管理主要包括添加、修改、删除读者类别。
添加读者类别通过输入读者类别名称、可借阅图书数目、可借阅图书天数、可续借图书天数来实现,如果输入正确就提示“添加读者类别成功”,否则提示“添加读者类别失败”。
如果输入的图书类别已经存在,则提示“该读者类别信息已存在”。
图5.10添加读者类别界面
修改读者类别通过更新读者类别名称、可借阅图书数目、可借阅图书天数、可续借图书天数来实现,如果修改正确就提示“修改读者类别成功”,否则提示“修改读者类别失败”。
如果输入的图书类别已经存在,则提示“该读者类别信息已经存在”.
11修改读者类别界面
删除读者类别根据读者类别编号来实现删除数据库中读者类别,如果删除成功,则提示“删除读者类别成功”,否则提示“删除读者类别失败”。
如果删除的读者类别还有读者存在,则提示“该读者类别还存在读者信息”。
5.2.5图书借阅操作
图书借阅操作通过输入读者需要借阅图书的编号及读者编号来实现图书借阅,如果借阅成功,则提示“借阅图书成功”,否则提示“借阅图书失败"
.如果输入的图书编号不正确,则提示“该图书不存在”。
如果输入的读者编号不正确,则提示“该读者信息不存在”.如果读者所能借阅的图书已达上限,则提示“你可借阅图书的数量已满”.如果读者所借的图书已经被借,则提示“该读者已经借阅了该书"
stringsqlString=”insertinto[bookborrow]
(readerid,bookid,borrowtime,returntime,isreturn,continueborrowtime,iscontinue)values('
ExecuteNonQuery(DBOperation.CONN_STRING_NON_DTC,CommandType.Text,sqlString,null)〈0)
this.errMessage="
借阅图书失败!
if(!
BookinfoLogic。
IsExistBook(bookid))
errMessage=