设计报告高校图书管理系统.docx
- 文档编号:10826661
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:31
- 大小:343.90KB
设计报告高校图书管理系统.docx
《设计报告高校图书管理系统.docx》由会员分享,可在线阅读,更多相关《设计报告高校图书管理系统.docx(31页珍藏版)》请在冰豆网上搜索。
设计报告高校图书管理系统
高校图书管理系统
一、需求分析
1.1系统背景分析及设计目标
随着各图书馆的图书的数量不断增多和图书馆规模的不断扩大,管理这些庞大的体系非常困难的,因为图书的情况是随时改变的,因此必需对图书进行动态的管理,而这对于一个管理人员来说是一件比较复杂的事情,存储、查询、借阅是必不可少的业务。
为了能让管理员从繁重的工作中解脱出来,使管理员在使用一个软件以后能极其容易地对所有图书进行管理,并且准确无误,轻松自如。
因此开发一个图书馆管理系统软件是当务之急.图书馆管理系统是一种典型的信息管理系统,使用者需要凭用户名和密码才能进入图书馆管理系统;管理员可以对图书、用户等信息进入增加、修改、删除等操作;也可以进行借出操作和归还操作;用户可以实现多种不同方式查询。
本设计主要用于中小规模的图书管理,总任务是使图书管理工作规范化、系统化、程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况,大大提高图书馆图书流通率。
本软件的最终用户特点:
对系统的操作人员和管理人员的教育水平和技术专长要求不大,只要能够掌握基本的电脑知识,能够运用简单的操作,便可进行对图书及用户相关信息的处理。
1.2目标用户群分析
本系统的用户主要分为两方面,一方面针对学校的图书馆管理人员,使其通过图书管理系统来管理各类图书,使得图书馆的各项工作能够有序地进行,从而满足学生的需求;二是学生们能通过该系统来查询图书馆中的各类图书,来确定自已需要的书籍的借阅情况,为借阅做好准备。
我们分别通过对图书管理人员和学生进行咨询得出总的需求如下:
1.借阅图书
1.1录入读者信息
1.1.1读者编号
1.1.2读者姓名
1.1.3读者类别
1.1.4办证日期
1.2录入书籍信息
1.2.1书籍编号
1.2.2书籍名称
1.2.3书籍类别
1.2.4出版社
1.3录入借阅信息
1.3.1借阅信息编号
1.3.2读者信息
1.3.3书籍信息
1.3.4借阅日期
2.归还图书
2.1录入读者信息
2.1.1读者编号
2.1.2读者姓名
2.1.3读者类别
2.1.4办证日期
2.2录入书籍信息
2.2.1书籍编号
2.2.2书籍名称
2.2.3书籍类别
2.2.4出版社
2.3录入还书信息
2.3.1还书信息编号
2.3.2读者信息
2.3.3书籍信息
2.3.4归还日期
1.3需求分析
按照以上分析,汇总得到以下的详细需求。
1.功能需求
(1)功能需求1:
输入信息
描述:
系统应该保证能将读者与书籍的信息进行。
理由:
以保证管理人员以后对读者及书籍的信息进行录入。
(2)功能需求2:
查询信息
描述:
系统应该对读者与书籍的信息进行访问查询。
理由:
管理人员需要知道借书人的信息以及所借阅的图书。
(3)功能需求3:
修改信息
描述:
系统应该可以对读者的借阅资料及其所借书籍的数量名称等进行修改。
理由:
管理人员必须要对读者与借阅的书籍变更的信息及时修改更新。
(4)功能需求4:
保存信息
描述:
系统应该能将读者与书籍的信息保存。
理由:
以保证管理人员以后对信息进行查询。
(5)功能需求5:
删除读者信息
描述:
系统应该能够对归还书籍后的读者信息删除。
理由:
读者归还信息后,必须对之前记录的借阅信息删除。
2.其他需求
(1)数据需求
描述:
系统应该输出:
书籍信息、读者信息、借阅时间。
理由:
功能需求1、功能需求2、功能需求3、功能需求4、功能需求5。
描述:
系统能接受的输入:
用户关于哪本书的借阅、借阅日期。
理由:
功能需求1、功能需求2、功能需求3、功能需求4、功能需求5。
(2)环境需求
描述:
系统应该能够被在线访问。
理由:
在线系统应该能从网上被访问。
(3)用户需求
描述:
系统应该能够帮助用户学习如何使用该系统,包括如何从错误中恢复。
理由:
学校是一个大环境,而学生是一个大群体,管理人员是一个广泛定义的用户群,他们有可能不希望被“培训”如何使用该系统,因此,本系统应该能够让用户“边用边学”,而仅需一点外在的培训。
同时,新手将会觉得一系列关于如何使用系统的指导非常有用,当中间用户或者专家使用新信息的时候会觉得在线帮助比较有用。
1.4数据流图
1.4.1借阅图书
读者借书过程数据流程如图1所示。
图1读者借书过程
1.4.2.归还图书
读者还书过程数据流程如图2所示。
图2读者还书过程
1.5数据词典
(1)数据源点及汇点描述:
①名称:
读者
简要描述:
借书、还书、查询及登记注册
有关数据流:
借书证;所借书本
②名称:
日历
简要描述:
当日日期
有关数据流:
年月日
(2).加工逻辑词条描述:
①加工名:
借书检验
加工编号:
1
简要描述:
检验读者身份、图书是否入库、读者还能借多少书以此判定读者是否能借书
输入数据流:
借书证;所借书本,读者信息,图书信息,图书访问记录,日期
输出数据流:
借书错误信息,借书信息
加工逻辑:
IF 借书证未登记入库 THEN
发出“借书错误”
ELSE IF 图书未登记入库 THEN
发出“借书错误”
ELSE IF 读者已借图书和现借图书多于限制数NTHEN
发出“借书错误”
ELSE IF 读者已借图书中有超期 THEN
发出“借书错误”
ELSE 发出“借书信息”
ENDIF
ENDIF
ENDIF
ENDIF
1加工名:
借书登记
加工编号:
2
简要描述:
将“借书信息”登记到“图书访问记录库图书访问记录”中,完成后将书本递交读者
输入数据流:
借书信息,日期
输出数据流:
图书访问记录,图书
加工逻辑:
将借书信息及日期写入图书访问记录;
2加工名:
还书检验
加工编号:
3
简要描述:
检验图书是否图书室外借图书
输入数据流:
图书,图书访问记录
输出数据流:
检验错误,还书信息
加工逻辑:
IF 书号与数据库数据不符 THEN
发出“检验错误”
ELSE 发出“还书信息”
ENDIF
3加工名:
还书登记
加工编号:
4
简要描述:
删除读者对该图书的借书信息,如果超期给出警告及天数
输入数据流:
还书信息,日期
输出数据流:
图书访问纪录,还书成功
加工逻辑:
IF 所还图书超期 THEN
统计超期天数
生成含警告的返回信息
ELSE 删除图书访问记录库中相应的借书记录
生成成功信息
ENDIF
给出还书返回信息
(3).数据流名词条描述:
①数据流名:
借书证
说明:
用以携带读者的唯一识别标识
数据流来源:
读者
数据流去向:
借书检验
数据流组成:
借书证=借书证号+姓名+联系方法
借书证号=“000000001”..“999999999”
姓名=2{字母}24
联系方法=4{字母}50
2数据流名:
图书
说明:
记录图书的主要相关信息
数据流来源:
读者
数据流去向:
借书检验
数据流组成:
图书=书号+书名+作者+出版社
书号=“000000001”..“999999999”
书名=2{字母}24
作者=2{字母}24
出版社=2{字母}24
3数据流名:
检验错误
说明:
用于指示读者借书错误信息
数据流来源:
借书检验
数据流去向:
读者
数据流组成:
检验错误=2{字母}40
4数据流名:
借书信息
说明:
用于传递读者号和图书号
数据流来源:
借书检验
数据流去向:
借书登记
数据流组成:
借书信息=借书证号+书号
5数据流名:
日期
说明:
提供当前日期信息
数据流来源:
日历
数据流去向:
借书检验,借书登记
数据流组成:
日期=年+月+日
年=“0000”..“9999”
月=“01”..“12”
日=“01”..“31”
6数据流名:
图书访问记录
说明:
用于记录读者借书信息
数据流来源:
图书访问记录库,借书登记
数据流去向:
借书检验
数据流组成:
图书访问记录=书号+借阅证号+借书日期
借书日期=日期
7数据流名:
读者信息
说明:
用于记录登记入库的读者信息
数据流来源:
读者库
数据流去向:
借书检验
数据流组成:
读者信息=借书证号+姓名+联系方法
8数据流名:
图书信息
说明:
用于记录登记入库的图书信息
数据流来源:
图书库
数据流去向:
借书检验
数据流组成:
图书信息=书号+书名+作者+出版社+价格+摘要+状态
9数据流名:
还书信息
说明:
用于传递图书书号
数据流来源:
还书检验
数据流去向:
还书登记
数据流组成:
还书信息=书号
10数据流名:
还书成功
说明:
用于通知还书成功
数据流来源:
还书登记
数据流去向:
读者
数据流组成:
还书成功=2{字母}10
数据文件词条描述:
(前面已描述)
(4).数据文件词条描述:
①数据文件名:
读者库
简述:
存放读者信息
输入数据:
无
输出数据:
读者信息
数据文件组成:
读者库由“读者信息”组成
2数据文件名:
图书库
简述:
存放图书信息
输入数据:
无
输出数据:
图书信息
数据文件组成:
图书库由“图书信息”组成
3数据文件名:
图书访问记录库
简述:
存放图书访问记录信息
输入数据:
图书访问记录
输出数据:
图书访问记录
数据文件组成:
图书访问记录库由“图书访问记录”组成。
二、概念结构设计
2.1系统功能分析
系统开发的总体任务是实现各种信息的系统化、规范化和自动化。
系统功能分析是在系统开发的总体任务的基础上完成。
本设计中的图书馆管理信息系统需要完成功能主要有:
1.有关读者种类标准的制定、种类信息的输入,包括种类编号、种类名称、借书数量、借书期限等。
2.读者种类信息的修改、查询等。
3.读者基本信息的输入,包括读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、办证日期等。
4.读者基本信息的查询、修改,包括读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、办证日期等。
5.书籍信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期等。
6.书籍信息的查询、修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期等。
7.借书信息的输入,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。
8.借书信息的查询、修改,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。
9.还书信息的输入,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。
10.还书信息查询和修改,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。
2.2系统功能模块设计
对上述各项功能进行集中、模块划分,按照结构化程序设计的要求,得到如图3所示的系统功能模块图。
图3系统功能模块图
2.3E-R图
通过分析系统功能模块图,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系。
本实例根据上面的设计规划出的实体有:
读者类别信息实体、读者信息实体、书籍类别信息实体、书籍信息实体、借阅信息实体。
各个实体具体的描述E-R图如下。
读者类别信息实体E-R图如图4所示。
图4读者类别信息实体E-R图
读者信息实体E-R图如图5所示。
图5读者信息实体E-R图
书籍类别信息实体E-R图如图6所示。
图6书籍类别信息实体E-R图
书籍信息实体E-R图如图7所示。
图7书籍信息实体E-R图
管理员信息实体E-R图如图8所示。
图8管理员信息实体E-R
借阅信息实体E-R图如图9所示:
图9借阅信息实体E-R
实体之间相互关系的E-R图如图10所示。
图10关系E-R图
三、逻辑结构设计
3.1设计表
1.图书信息表
属性名
数据类型
长度
允许空
备注
图书编号
Char
20
N
唯一
书名
Char
50
N
作者
Char
30
N
价格
Money
Y
出版社
Char
50
Y
出版日期
Char
10
Y
是否借出
Char
5
N
流水号
Char
10
N
2.读者信息表
属性名
数据类型
长度
允许空
备注
读者编号
Char
10
N
唯一
姓名
Char
50
N
办证日期
Datetime
N
联系方式
int
11
N
流水号
Char
10
N
2.管理员信息表
属性名
数据类型
长度
允许空
备注
姓名
Char
30
N
唯一
密码
Char
10
N
备注
Char
100
Y
3.借阅图书信息表
属性名
数据类型
长度
允许空
备注
学号
Char
10
N
唯一
书名
Char
50
N
借书日期
Datetime
N
应还日期
Datetime
N
归还标记
Char
5
N
流水号
Char
10
N
3.2转换步骤
1.由关系E-R图可以得到管理员与读者是1:
n的关系,通过对关系的描述,可以得到读者的属性包括:
读者姓名、读者编号、读者类别、办证日期,管理员的属性包括:
管理员姓名、账号、密码。
2.由关系E-R图可以得到管理员与图书是1:
n的关系,通过对关系的描述,可以得到图书的属性包括:
书名、图书编号、图书类别、作者、出版社,管理员的属性包括:
管理员姓名、账号、密码。
3.由关系E-R图可以得到读者与图书是m:
n的关系,通过对关系的描述,可以得到读者的属性包括:
读者姓名、读者编号、读者类别、办证日期,图书的属性包括:
书名、图书编号、图书类别、作者、出版社。
3.3理论依据
1.一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该关系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。
如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
2.一个1:
n的联系可以转换为一个独立的关系模式,也可以与n端对应实体的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
3.一个m:
n的联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
3.4关系模型
1.读者(读者编号、读者姓名、读者类别、办证日期)
2.图书(图书编号、书名、图书类别、作者、出版社)
3.借还(借阅信息编号、读者编号、图书编号、借阅日期)
4.管理员(管理员姓名、账号、密码)
四、数据库实施
4.1程序部分编码
4.1.1连接数据库
该系统是通过PowerDesigner和SQLserver2008共同制作完成的。
由SQLserver设计完数据库book后,将book添加到ODBC数据源中。
在PowerDesigne中database中的ODBC中新建book_profile,连接数据源book,即完成了PowerDesigner和数据库的连接。
并通过以下代码实现数据源的连接:
SQLCA.DBMS="ODBC"
SQLCA.AutoCommit=False
SQLCA.DBParm="ConnectString='DSN=book;UID=zhuzi;PWD=123'"
connectusingsqlca;
ifsqlca.sqlcode<>0then
messagebox("错误","数据库连接错误,请检查后重试!
",stopsign!
)
return
endif
open(w_splash)
4.1.2管理员登录界面
管理员登陆后可以实现书库管理,读者管理,与系统管理,界面如下:
完成代码如下:
stringid,getname,ff
timed_date
d_date=now()
ff=string(d_date)
id=trim(sle_no.text)
getname=trim(sle_name.text)
ifid=""orid=''then
MessageBox("系统提示","请输入读者证号!
")
return
endif
//密码不能为空
ifgetname=""orgetname=''then
MessageBox("系统提示","请输入姓名!
")
return
endif
//读者登陆
selectname_no,name_name
into:
ls_no,:
ls_name
fromreadname
wherename_no=:
id;
ifsqlca.sqlcode<>0then
messagebox("系统提示","无此读者!
")
sle_no.text=""
sle_name.text=""
sle_no.setfocus()
return
endif
ifgetname<>trim(ls_name)then
messagebox("警告","姓名错误!
")
sle_name.text=""
sle_name.setfocus()
return
endif
messagebox('Welcome!
','欢迎你的到来,'+ls_name+'!
'+'现在是:
'+ff)
m_main.m_1.m_2.enabled=true
m_main.m_1.m_还书处理.enabled=true
m_main.m_1.m_当前借阅.enabled=true
m_main.m_书库操作.m_书库管理.enabled=false
m_main.m_读者操作.m_读者管理.enabled=false
m_main.m_用户管理.m_系统用户管理.enabled=false
w_main.title='图书馆管理系统---当前读者:
'+ls_name
name=ls_name
close(w_ptlogin)
4.1.3主程序界面
系统主界面包括如下功能:
(1)系统处理:
系统初始化,读者登录,管理员登陆,退出。
(2)借还图书:
借阅图书,当前借阅,还书处理。
(3)书库操作:
书库管理,书库列表,查找图书。
(4)读者操作:
读者管理,读者列表,读者查询。
(5)用户管理:
系统用户管理,系统设置。
(6)帮助:
关于,帮助文件。
系统初始化后,相当于当前登录到系统中的用户既不是管理员也不是读者,
所以只能实现查看图书以及查询读者的功能。
初始化通过以下代码实现:
m_main.m_书库操作.m_书库管理.enabled=false
m_main.m_读者操作.m_读者管理.enabled=false
m_main.m_用户管理.m_系统用户管理.enabled=false
m_main.m_1.m_2.enabled=false
m_main.m_1.m_当前借阅.enabled=false
m_main.m_1.m_还书处理.enabled=false
w_main.title='图书馆管理系统'
name='0'
messagebox('提示','系统初始化成功!
')。
其它功能以下详细介绍。
4.1.4借阅图书
上图为借阅图书截图,该模块可以实现以下功能:
首先在输入栏中输入想要借的书籍,点击查询即可获得,然后点击“借出”即可借阅。
一个读者最多可借五本书。
其中,查询书籍的代码是通过书名查询的,实现代码如下:
stringlookforcondition
lookforcondition='book_name'+'='+"'"+sle_1.text+"'"
dw_1.setfilter(lookforcondition)
filter(dw_1)
ifdw_1.retrieve()=0thenmessagebox('提示','图书馆没有此书!
')。
借书功能通过以下代码实现:
stringa,a1,a2,a3,a4,a5
intb=0
integerc=0
a=trim(sle_1.text)//a为要借的书
selectbook1,book2,book3,book4,book5
into:
a1,:
a2,:
a3,:
a4,:
a5
fromnamebook
wherename=:
name;//a1,a2,a3,a4,a5为已经借的书
ifa1<>''thenc=c+1
ifa2<>''thenc=c+1
ifa3<>''thenc=c+1
ifa4<>''thenc=c+1
ifa5<>''thenc=c+1
ifc=5then
messagebox('','您所借的书不能超过五本!
')
b=1
gotoaa
elseifa=a1ora=a2ora=a3ora=a4ora=a5then
messagebox('','您已经借了这本书!
')
b=1
gotoaa
endif
choosecasec
case0
updatenamebook
setbook1=:
a
wherename=:
name;
updatebook
setbook_jname=:
name
wherebook_name=:
a;
updatebook
setflag='已借出'
wherebook_name=:
a;
case1
updatenamebook
setbook2=:
a
wherename=:
name;
updatebook
setbook_jname=:
name
wherebook_name=:
a;
updatebook
setflag='已借出'
wherebook_name=:
a;
case2
updatenamebook
setbook3=:
a
wherename=:
name;
updatebook
setbook_jname=:
name
wherebook_name=:
a;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计 报告 高校 图书 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)