图书管理系统设计说明书.docx
- 文档编号:9207644
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:20
- 大小:394.54KB
图书管理系统设计说明书.docx
《图书管理系统设计说明书.docx》由会员分享,可在线阅读,更多相关《图书管理系统设计说明书.docx(20页珍藏版)》请在冰豆网上搜索。
图书管理系统设计说明书
简化的图书借还系统的设计与开发
设计说明书
摘要
本系统采用Asp.Net作为开发平台,SQLServer2000数据库,利用IIS搭建web服务器,开发出基于B/S架构的图书借阅管理系统。
该系统实现了图书信息管理、图书借阅与归还、书籍查询、读者管理、统计等功能。
系统操作简单,具有一定的实用性。
关键词:
ASP.Net;Web;SQLServer2000
目录
1课题描述1
2设计过程2
2.1需求分析2
2.2数据库结构设计2
2.2.1概念结构设计(E-R图)2
2.2.2逻辑结构设计4
2.2.3物理结构设计4
2.3系统功能设计6
2.3.1功能模块结构图6
2.3.2各模块功能描述6
2.4系统界面设计与实现7
2.4.1系统登录界面7
2.4.2首页界面8
2.4.3系统设置界面9
2.4.4读者管理界面10
2.4.5图书信息管理界面10
2.4.6图书借阅界面12
2.4.7图书查询界面14
2.4.8还书页面14
2.4.9管理员修改密码界面16
2.5系统的功能测试17
2.5.1管理员登录测试17
2.5.2浏览器测试17
总结18
参考文献19
1课题描述
图书馆信息化管理从最初的对图书馆业务管理实行信息化管理发展到对图书馆各个业务流程和网络化管理,并建立大规模的以个体文献目录联机查询为主的资源共享系统。
进入21世纪后,图书管信息化管理充分利用计算机网络和信息技术,逐步实现不同载体的实体文献的信息化管理和多方位的联机查询。
图书馆的正常运营中总是面对大量的读者信息,图书信息以及两者相互作用产生的借书信息,因此要对读者资源,图书资源,借书信息进行管理。
本系统的开发就是在于提高图书管理的工作效率,加强图书馆的管理,全面实行计算机管理。
开发工具:
VisualStudio2010;SQLServer2000
2设计过程
2.1需求分析
一般通用的图书馆借阅管理系统包括系统管理、读者管理、编目、图书流通、统计、查询等功能。
比较先进的能够在一个界面下实现图书、音像、期刊的管理,设置假期、设置暂离锁(提高安全性)、暂停某些读者的借阅权、导入导出读者、交换MARC数据、升级辅助编码库等。
此外随着Internet应用的发展,一个完善的系统还应该提供无缝接入Internet的功能,通过IE浏览器让读者使用借阅资料查询、更换密码、预约、资料检索等功能。
有些系统还能提供读者自助服务,可以开放一些客户机让读者自行管理密码、查询自己的借阅史、预约资料、检索资料等。
在构造系统时,首先从需求出发构造数据库表,然后再由数据库结合需求划分系统功能模块。
这样,就把一个大的系统分解成了几个小系统。
这里把系统的层次划分为了两个部分:
一个是一般用户态:
即图书有服务子系统;另一个是管理员界面:
提供图书的管理和维护功能。
对于不同子系统之间的功换,采用了登录功能和用户注销功能。
系统划分了子系统后,下一步的工作是继续划分子系统的小模块。
先考虑在进入子系统时应该做什么,进入系统之后又应该做什么,提供那些服务等。
例如,对于图书信息服务子系统,在用户进入时首先得调用相关数据库表,找出用户的图书借阅情况;进入系统后,子系统得提供图书查询、图书借阅和还书功能。
另外,针对本系统的特殊情况,同时也考虑系统的可移植性,在系统中增加了数据库路径的维护部分。
2.2数据库结构设计
2.2.1概念结构设计(E-R图)
(1)概念结构设计是将分析得到的用户需求抽象为概念模型的过程,即在需求分析的基础上,设计出能够满足用户需求的各种实体以及它们之间的相互关系的模型。
这样才能更好地、更准确地用某一DBMS实现这些需求,它是整个数据库设计的关键。
概念结构的主要特点是能真实、充分地反映现实世界,易于理解,易于更改,易于向关系、网状、层次等各种数据模型转换。
描述概念模型的有力工具是E-R模型。
(1)基于数据库管理系统的简易图书借阅管理系统的E-R图如图2.1所示。
图2.1简易图书馆管理系统总E-R图
(2)系统的部分实体属性E-R图如图2.2、2.3、2.4所示。
图2.2读者属性E-R图
图2.3管理员属性E-R图
图2.4图书属性E-R图
2.2.2逻辑结构设计
逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。
设计逻辑结构时一般要分三步进行,首先是将概念结构转换为一般的关系、网状、层次模型,其次是将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换,最后是对数据模型进行优化。
基于B/S的简易图书借阅管理系统采用的是将E-R图向关系数据模型转换。
以下是由概念模型向逻辑模型转化的关系模式:
读者(读者条形码,读者姓名,读者性别,读这类型,证件类型,证件号,联系电话,E-mail,备注)
管理员(管理员编号,管理员名称,管理员密码)
图书(图书条形码,图书名称,图书类别,书架,出版社,作者,价格,借阅次数)
2.2.3物理结构设计
数据库的物理结构设计是对于给定的逻辑数据模型,选取一个最合适应用环境的物理结构。
数据库的物理结构指的是数据库在物理设备上的存储结构与存取方法,它依赖于给定的计算机系统。
基于B/S的简易图书管理系统的数据库表结构如表2.1~2.3所示。
表2.1读者信息表(tb_readerInfo)
字段名
注释
类型
长度
允许空
默认值
readerBarCode
读者条形码
varchar
50
readerName
读者姓名
varchar
50
null
sex
读者性别
Char
50
null
readerType
读者类型
Varchar
50
null
certificateType
证件类型
Varchar
50
null
certificate
证件号
Varchar
50
null
tel
联系电话
Varchar
50
null
Varchar
50
null
remark
备注
Varchar
500
null
表2.2管理员信息表(tb_user)
字段名
注释
类型
长度
允许空
默认值
userId
管理员编号
int
4
自动增长(1,1)
userName
管理员名称
varchar
50
Null
userPwd
管理员密码
varchar
50
Null
表2.3图书信息表(tb_bookInfo)
字段名
注释
类型
长度
允许空
默认值
bookBarCode
图书条形码
varchar
100
bookName
图书名称
varchar
4
null
bookType
图书类别
int
4
null
bookcase
书架
int
100
null
bookConcern
出版社
varchar
100
null
author
作者
varchar
80
null
price
价格
money
8
null
borrowSum
借阅次数
int
4
null
2.3系统功能设计
2.3.1功能模块结构图
图2.5功能模块结构图
2.3.2各模块功能描述
1)首页模块功能
首页是各个登录页面的入口,链接了各个登录页面的超链接。
2)系统设置模块功能
①图书管信息:
此功能是图书馆的具体信息。
②管理员设置:
此功能是对管理员的权限的添加、删除以及添加新的管理员的权限。
③书架设置:
对书架进行分类管理以及添加、修改、删除书架的功能。
3)读者管理模块功能
①读者类型管理:
是对读者类型的添加、删除、修改等功能。
②读者信息管理:
管理员对读者信息的详细录入,修改读者信息和删除读者信息的功能。
4)图书管理模块功能
1图书类型管理:
是对图书进行分类管理,对图书类型的添加、删除、修改等功能。
2图书信息管理:
管理员对图书信息的详细录入,修改图书信息和删除图书信息等功能。
5)图书借阅模块功能
①图书借阅:
该功能首先根据读者条形码查出读者信息,如若存在,则执行借书功能,然后再依据读者所需的书,根据书的条形码查询书是否存在,若存在,则借阅成功,否则借阅失败。
②图书续借:
该功能是用于实现读者所需书的续借功能。
③图书归还:
就是实现对读者以前所借书的归还。
6)系统查询模块功能
①图书信息查询:
根据书的条形码、名字、作者、类型、出版社等对图书的信息进行查询。
②图书借阅查询:
根据图书的条形码、书名、读者条形码等查询图书的借阅情况。
7)修改密码模块功能
该功能为了系统的安全性,管理员乙方自己密码丢失,可以修改自己的密码。
8)退出系统模块功能
该功能是为管理员退出系统所用,当管理员完成自己的工作后,要求退出系统则此功能就是为了实现管理员退出系统的。
3系统界面设计与实现
2.4.1系统登录界面
系统首页,同时也是登录界面,在此界面中,管理可以根据自身情况登录到系统中,管理员登录界面如图2.6所示。
图2.6管理员登录界面
相关代码:
protectedvoidbtnEntry_Click(objectsender,EventArgse)
{
stringuserName=txtName.Text;
stringPwd=txtPwd.Text;
stringsql="select*fromtb_userwhereuserName='"+userName+"'anduserPwd='"+Pwd+"'";
if(dataOperate.seleSQL(sql)>0)
{
Session["userName"]=txtName.Text;
Response.Redirect("index.aspx");
}
else
{
RegisterStartupScript("","");
}
}
2.4.2首页界面
相关代码:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Session["userName"]!
=null)//判断用户是否登录
{
bindBookInfo();//调用自定义方法用来绑定图书借阅排行
}
else
Response.Redirect("entry.aspx");//跳转到登录页面
}
protectedvoidbindBookInfo()
{
stringsql="selecttop10*fromtb_bookInfoorderbyborrowSumdesc";//设置SQL语句
gvBookTaxis.DataSource=dataOperate.getDataset(sql,"tb_bookInfo");//获取图书信息数据源
gvBookTaxis.DataBind();//绑定GridView控件
}
2.4.3系统设置界面
系统设置的功能包括图书馆的详细信息设置、管理员权限设置、书架设置等。
以管理员权限设置为例说明,此功能是对管理员的权限的添加、删除以及添加新的管理员的权限。
管理员权限设置界面如图2.8所示。
图2.8管理员权限设置界面
相关代码:
publicboolgetSet()
{
stringuserName=Session["userName"].ToString();//获取管理员登录名
stringsql="select*fromtb_admSetwhereuserName='"+userName+"'";
SqlDataReadersdr=dataOperate.getRow(sql);
sdr.Read();//读取一条记录
returnConvert.ToBoolean(sdr["systemSet"]);//返回是否拥有权限
}
2.4.4读者管理界面
该界面是管理员对读者信息进行处理的页面,该界面如图2.9所示:
图2.9读者信息管理界面
相关代码如下:
publicvoidbindReaderInfo()
{
stringsql="select*fromtb_readerInfoasainnerjointb_readerTypeasbona.readerType=b.[id]";
gvReaderInfo.DataSource=dataOperate.getDataset(sql,"tb_readerInfo");
gvReaderInfo.DataKeyNames=newstring[]{"readerBarCode"};
gvReaderInfo.DataBind();
}
2.4.5图书信息管理界面
该界面是管理员对图书的信息进行管理的页面,如图2.10所示:
图2.10图书信息管理界面
相关代码如下:
protectedvoidgvBookManage_RowDataBound(objectsender,GridViewRowEventArgse)
{
if(e.Row.RowType==DataControlRowType.DataRow)
{//设置图书类型
stringbookType=e.Row.Cells[2].Text.ToString();//获取图书类型编号
stringtypeSql="select*fromtb_bookTypewhereTypeID="+bookType;
SqlDataReadertypeSdr=dataOperate.getRow(typeSql);
typeSdr.Read();//读取一条记录
e.Row.Cells[2].Text=typeSdr["typeName"].ToString();
//设置书架
stringbookcase=e.Row.Cells[3].Text.ToString();//获取书架编号
stringcaseSql="select*fromtb_bookcasewherebookcaseID="+bookcase;
SqlDataReadercaseSdr=dataOperate.getRow(caseSql);
caseSdr.Read();//读取一条记录
e.Row.Cells[3].Text=caseSdr["bookcaseName"].ToString();
e.Row.Attributes.Add("onMouseOver","Color=this.style.backgroundColor;this.style.backgroundColor='lightBlue'");
e.Row.Attributes.Add("onMouseOut","this.style.backgroundColor=Color;");
}
}
2.4.6图书借阅界面
管理员进入该页面后,可以根据读者的条形码或图书的条形码为读者提供图书借阅服务。
相关界面如下图2.11所示。
相关代码:
protectedvoidgvBookBorrow_SelectedIndexChanging(objectsender,GridViewSelectEventArgse)
{
//获取选中图书条形码
stringbookBarCode=gvBookBorrow.DataKeys[e.NewSelectedIndex].Value.ToString();
//创建SQL语句使用内联接连接条件为图书类型编号,查询条件为符合图书条形码的记录
stringsql="select*fromtb_bookInfoasainnerjointb_bookTypeasbona.bookType=typeIDwherea.bookBarCode='"+bookBarCode+"'";
SqlDataReadersdr=dataOperate.getRow(sql);//获取图书信息
sdr.Read();
//读取一条记录
intborrowDay=Convert.ToInt32(sdr["borrowDay"]);//获取借阅天数
stringbookName=sdr["bookName"].ToString();//获取图书名称
stringborrowTime=DateTime.Now.Date.ToShortDateString();//获取借阅日期
stringreaderBarCode=txtReaderBarCode.Text;//获取读者条形码
stringreturnTime=DateTime.Now.Date.AddDays(borrowDay).ToShortDateString();//获取应还日期
stringreaderName=txtReaderName.Text;//获取读者姓名
//创建SQL语句将图书借阅信息添加到图书借阅信息表中
stringaddSql="inserttb_bookBorrowvalues('"+bookBarCode+"','"+bookName+"','"+borrowTime+"','"+returnTime+"','"+readerBarCode+"','"+readerName+"','')";
if(dataOperate.execSQL(addSql))//判断是否添加成功
{
//创建SQL更新图书信息表中符合图书条形码条件记录的借阅数
stringupdateSql="updatetb_bookInfosetborrowSum=borrowSum+1wherebookBarCode='"+bookBarCode+"'";
dataOperate.execSQL(updateSql);
bindReaderInfo();//重新绑定读者信息
gvBookBorrow.DataSource=null;//将数据源设置为空
gvBookBorrow.DataBind();
txtBookBarCode.Text="";//将图书条形码文本框清空
RegisterStartupScript("","");
}
else
{
RegisterStartupScript("","");
}
}
}
2.4.7图书查询界面
管理员进入该页面后可以根据不同的关键字查询图书的基本信息,界面如图2.12所示:
图2.12图书系统查询界面
相关代码如下:
//查找搜索的图书信息
protectedvoidbtnSearch_Click(objectsender,EventArgse)
{
stringCondition=ddlCondition.Text;
stringkey="";
if(ddlBookType.Visible)
{
key=ddlBookType.SelectedValue;
}
else
key=txtKey.Text;
sql="select*fromtb_bookInfowhere"+Condition+"like'%"+key+"%'";
bindBookInfo(sql);
txtKey.Text="";
}
2.4.8还书页面
该页面是管理员归还图书操作页面,如图2.13所示:
相关代码如下:
protectedvoidbtnReaderSearch_Click(objectsender,EventArgse)
{
stringreaderBarCode=txtReaderBarCode.Text;
stringreaderSql="select*fromtb_readerInfowherereaderBarCode='"+readerBarCode+"'";
SqlDataReadersdr=dataOperate.getRow(readerSql);
if(sdr.Read())
{
txtReaderName.Text=sdr["readerName"].ToString();
txtReaderSex.Text=sdr["Sex"].ToString();
txtCertificateType.Text=sdr["certificateType"].ToString();
txtCertificate.Text=sdr["certificate"].ToString();
stringreaderTypeSql="select*fromtb_readerTypewhereid="+sdr["readerType"].ToString();
SqlDataReadertypeSdr=dataOperate.getRow(readerTypeSql);
typeSdr.Read();
txtReaderType.Text=typeSdr["type"].ToString();
intborrowNum=Convert.ToInt32(typeSdr["num"]);
stringselSql="selectcount(*)fromtb_bookBorrowwherereaderBarCode='"+readerBarCode+"'andisReturn='0'";
intalreadyNum=dataOperate.seleSQL(selSql);
txtNum.Text=Convert.ToString(borrowNum-alreadyNum);
stringsql="select*fromtb_bookBorrowwherereaderBa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 设计 说明书