图书借阅管理系统实验报告.docx
《图书借阅管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《图书借阅管理系统实验报告.docx(35页珍藏版)》请在冰豆网上搜索。
图书借阅管理系统实验报告
图书借阅管理系统实验报告
湘南学院经济与管理系
信息系统课程设计
实验报告
设计题目:
图书借阅管理系统
专业:
信息管理与信息系统
年级班级:
2009
姓名:
杨青
指导教师:
唐小刚
小组成员:
杨青、刘益鸣、尹增辉、郝刘栋、郭梦妮、杨芸、胡志鹏
指导教师评阅:
指导教师(签字)成绩:
二O一二年月日
第一章:
系统分析
1.1需求分析
绝大多数管理人员已经认识到采用图书借阅管理系统的必要性,纷纷开发或选购适合本企业特点的图书借阅管理系统。
图书借阅管理系统具体以下优点:
⑴采用图书借阅管理系统,可以用集中的数据库将与图书借阅管理相关的信息全面、有机地联系起来,有效地减少了信息更新和查找中的重复劳动,保证了信息的相容性,从而大大地提高了工作效率。
⑵图书借阅管理系统有着易访问、易查询的信息库。
在没有采用和实施图书借阅管理系统之前,当管理人员要统计数字时,往往依赖于某个人或某些人来获取。
这种依赖于人的过程往往会因为花费的时间较长或某个人不在办公室而不能及时完成。
在采用和实施图书借阅管理系统之后,就会将依赖于人的过程改为依赖于计算机系统的过程。
管理人员只要获取了相应的权限,就可以随时进入系统,直接查阅相应的信息。
实施了图书借阅管理系统之后,不仅可以得到较为全面的、详细的、未经过过滤的第一手图书借阅信息,还可以从这些信息中得到某些有用的决策信息及灵感和启发,从而改进图书馆的管理及经营效率,避免或减少经营风险。
⑶采用和实施图书借阅管理系统不仅仅是为了提高工作效率。
应该看到,在实施图书借阅管理系统之后,可提高单位的形象。
1.2系统可行性分析
技术上可行:
该系统所需硬件设备,市场上销售且价格较低,甚至可以使用原有的设备,软件上,操作系统采用Windows系列操作系统,数据库管理系统采用VisualBasic,这些软件在MIS开发中已被大量应用,技术上都比较成熟。
因此在技术上是可行的。
经济上可行:
由于学校急需采用计算机来进行图书馆的管理,因此对开发图书管理系统大力支持,开发经费没有问题。
管理上可行:
该学校的图书馆有很多的管理体制,每位借书人均有借书证,同时图书馆还为每位借书人建立了档案。
因此管理上可行。
另外,图书馆管理人员对开发该系统也是大力支持的,同时制定了培训计划,并进行了实施MIS的物质准备和工作准备。
综上所述,开发图书管理系统在技术上、经济上、管理上都是可行的。
1.3组织结构与功能分析
通过调研了解到,该图书馆各个部门负责的主要业务如下:
①图书采编工作,包括购置新书、打印编目、增加数量。
②读者查询工作,包括可借图书(按图书类别、图书名称或图书作者查询);新书目录(按图书类别、日期查询);借书情况(按读者借书证号查询)
③图书流通、查询统计、借阅查询等工作。
⑵读者阅览工作,包括:
阅览各种杂志、报纸、阅览各种工具书。
下面绘制出图书馆流通业务中借书的流程图。
首先是人工操作的5个步骤:
①读者在目录厅查阅索引卡;
②读者写出所借图书的分类号、种次号、交给图书管理员,并出示本人的借书证;
③图书管理员根据图书的分类号、种次号到书库找书;
④将图书交给读者,并由读者填写所借图书的借书卡。
⑶图书管理员把借书卡保存到写有该读者借书证号的口袋里。
得出该图书馆业务流程图如下所示:
第二章系统设计
系统分析的主要成果是系统的逻辑模型。
本系统的逻辑模型主要是以系统的数据流图和数据字典为主要描述工具。
即在图书管理方式和业务流程进行认真分析和研究的基础上,排除现有组织机构和业务分工所造成的信息障碍。
完全从业务管理功能和管理对象出发,按照信息系统中应有的数据流和数据结构来勾画系统的概貌。
2.1数据流图(简称为DFD)
数据流图是组织中信息运动的抽象。
是在调研的基础上,从系统的科学性、管理的合理性、实际运动的可行性角度出发。
将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。
首先,分析管理系统的总体情况,划分系统边界,识别系统的数据来源和去处,确定外部实体,得出系统的顶层数据流程图;
然后划分出几个主要的信息管理功能,并明确各功能之间的联系,绘制出数据流程图。
数据流程图的符号说明如图2.1所示。
外部实体处理数据流数据存储
图2.1数据流程图的符号
图书借阅管理系统的顶层数据流程图如图2.2所示。
图2.2借书业务第一层DFD
图书借阅管理系统的数据流程图如图2.3所示
图2.3借书业务第二层DFD
2.2数据字典(简称为DD)
绘制DFD,只是对数据处理和彼此之间的联系进行了说明。
为进一步明确数据的详细内容和数据加工过程,应将数据流图中的全部数据流及其组成部分的数据元素,数据存储,数据加工,通过数据字典描述清楚,以便于此后系统设计的进行。
这就需要开发人员编写详细的数据字典,来描述系统开发过程的细节。
下面列出本系统中的数据项、数据流、数据存储、加工处理和数据结构的数据字典。
数据字典可采用图表格式或较紧凑的记录格式描述,本文采用的是图表格式。
1据项的DD表列举如下(限于篇幅,仅列举部分):
表2.1书籍编号的数据字典
数据项
系统名:
图书借阅系统编号:
I001名称:
书籍编号别名:
图书编号
数据项值:
类型:
字符型长度:
10个字节取值范围:
简述:
每部书籍都具有唯一的编号,它是某本书籍的唯一标识符,如“Tp-0460000”通常用前两位字符表示分类号,中间破折号,最后四位表示该书在该类书中的序号。
修改记录:
编写
日期
审核
日期
表2.2类别名称的数据字典
数据项
系统名:
图书借阅系统编号:
I002名称:
类别编号别名:
数据项值:
类型:
字符型长度:
10个字节取值范围:
简述:
图书类别有社会、人文、数理等每个类别都有一个编号
修改记录:
编写
日期
审核
日期
表2.3用户名的数据字典
数据项
系统名:
图书借阅系统编号:
I003名称:
用户名别名:
数据项值:
类型:
字符型长度:
10个字节取值范围:
简述:
使用本系统的图书管理员名称,可以是英文字母数字或汉字
修改记录:
编写
日期
审核
日期
表2.4读者编号的数据字典
数据项
系统名:
图书借阅系统编号:
I004名称:
读者编号别名:
数据项值:
类型:
字符型长度:
10个字节取值范围:
简述:
借阅图书的学生或教职工的编号
修改记录:
编写
日期
审核
日期
2据流的DD表列举如下(限于篇幅,仅列举一个):
表2.5数据流的DD表
数据流
系统名:
图书借阅系统编号:
F1条目名称:
借书
来源:
读者去处:
图书借阅管理员
数据流组成:
借书=﹛借阅编号+读者编号+读者姓名+书籍编号+书籍名称+借出日期+还书日期﹜
简要说明:
修改记录:
编写
日期
审核
日期
3据存储的DD表列举如下(限于篇幅,仅列举一个):
表2.6数据存储的DD表
数据存储
系统名:
图书借阅系统编号:
D1条目名称:
借书情况
主关键字:
借阅编号数据量:
记录数:
相关处理:
数据存储组成:
借书证号+藏书号+借书日期
简要说明:
按借书的先后顺序排列
修改记录:
编写
日期
审核
日期
4据处理加工的DD表列举如下:
表2.7数据处理加工的DD表
数据处理加工
系统名:
图书借阅系统编号:
条目名称:
查询图书
输入:
借书信息输出:
查询结果
处理逻辑:
进行图书的查询
简要说明:
当查询图书时发生,根据读者的图书的分类号和类别号查询
修改记录:
编写
日期
审核
日期
2.3系统逻辑模型的提出
⑴根据前面的分析与评价结果,提出新系统逻辑模型如图3.4所示。
图2.4系统逻辑模型
⑵系统边界
①输入边界—读者类别信息、读者信息、借阅信息和书籍信息、图书类别信息、系统管理信息。
②输出边界—读者类别信息、读者信息、借阅信息和书籍信息、图书类别信息、系统管理信息等。
第三章系统详细设计
3.1软件模块结构设计
3.1.1系统方案确定
通过对系统调研与分析,系统主要应完成的功能如下:
书库信息管理、读者档案管理、借阅管理、还书管理、图书检索、系统维护。
3.1.2系统结构设计
图书馆管理系统包含图书采编、读者管理、流通、查询等功能。
该系统执行时,先输入数据,然后根据输入的数据选择执行路径;购入图书进行登记、编目调用图书采编功能,借书、还书调用功能,查询调用查询功能。
图书馆借阅管理系统属于事务型系统,其系统示意图如下图所示:
图3.1图书馆管理系统示意图
系统结构图示意如下:
图3.2图书馆管理系统结构图
系统功能图如下:
图3.3系统功能模块图
3.2数据库设计
数据库(Database),是按照数据结构来组织、存储和管理数据的仓库,是用于查询的大量数据的存储区域。
使用数据库可以带来许多好处:
如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等等。
此外,数据库技术还为用户提供了非常简便的使用手段,使用户易于编写有关数据库应用程序。
特别是近年来推出的计算机关系数据库管理系统,操作直观,使用灵活,编程方便,功能强大,环境适应广泛,数据处理能力极强。
数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。
作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用已越来越广泛,从小型的单项事务处理系统到大型的信息系统大都用先进的数据库技术来保持系统数据的安全性、完整性和共享性。
对一个实际的系统来说,数据库表的设计在遵循数据库理论的同时,必须能用开发工具来实现用户在各方面提出的功能要求。
3.2.1概念结构设计
在系统的数据库设计中,先要对系统分析得到的数据字典中的数据存储进行分析,分析各数据存储之间的关系,然后才能得出系统的关系模式。
可以采用E-R图的方法来进行数据结构分析,E-R设计方法是一种通过E-R图来描述现实世界信息结构的DB设计方法。
E-R图由实体、属性、联系三部分组成。
E-R图的符号说明如图4-4所示。
实体属性实体间的联系
图3.4E-R图图例
各分E-R图说明如下:
1读者类别E-R图如图3.5所示:
图3.5读者类别E-R图
⑵读者E-R图如图3.6所示:
图3.6读者E-R图
⑶借阅E-R图如图3.7所示:
图3.7借阅E-R图
⑷书籍信息的E-R图如图3.8所示:
图3.8书籍信息E-R图
⑸图书类别的E-R图如图3.9所示:
图3.9图书类别E-R图
⑹系统管理的E-R图如图3.10所示:
图3.10系统管理E-R图
3.2.2本系统中所涉及到的主要实体及其属性有
读者类别:
{类别名称,借书数量,借书期限,有效期限}
读者信息:
{读者编号,性别,读者类别,工作单位,家庭住址,电话号码,登记日期,已借书数量}
借阅信息:
{借阅编号,读者编号,读者姓名,书籍编号,书籍名称,借出日期,还书日期}
书籍信息:
{书籍编号,书名,类别,作者,出版社,出版日期,登记日期,是否被借出}
图书类别:
{类别名称,类别名称}
系统管理:
{用户名,密码,权限}
3.2.3本系统的实体-联系(E-R)图
为了使E-R图表示得更加清晰,现将分E-R图组合成实体及其属性图和实体及其联系图。
如图3.11所示(实体的属性没有标出):
图3.11实体-联系(E-R)图
E-R图向关系模型转换的结果如下(带下划线的字段为此关系的码):
读者类别表:
{类别名称,借书数量,借书期限,有效期限}
读者信息表:
{读者编号,性别,读者类别,工作单位,家庭住址,电话号码,登记日期,已借书数量}
借阅信息表:
{借阅编号,读者编号,读者姓名,书籍编号,书籍名称,借出日期,还书日期}
书籍信息表:
{书籍编号,书名,类别,作者,出版社,出版日期,登记日期,是否被借出}
图书类别表:
{类别编号,类别名称}
系统管理表:
{用户名,密码,权限}
3.2.4各表的物理结构如下
读者类别表结构如表4.1所示:
字段名称
类型
宽度
小数位数
类别名称
文本型
10
借书数量
数字
5
借书期限
数字
5
有效期限
数字
5
表3.1读者类别表
读者信息表结构如表3.2所示:
表3.2读者信息表
字段名称
类型
宽度
小数位数
读者编号
文本
10
性别
文本
2
读者类别
文本
8
工作单位
文本
18
家庭住址
文本
18
电话号码
文本
10
登记日期
日期/时间
已借书数量
数字
5
字段名称
类型
宽度
小数位数
借阅编号
文本
10
读者编号
文本
10
读者姓名
文本
8
借书日期
日期/时间
书籍编号
文本
10
书籍名称
文本
10
还书日期
日期/时间
借阅信息表结构如表3.3所示:
表3.3借阅信息表
书籍信息结构如表3.4所示:
表3.4书籍信息
字段名称
类型
宽度
小数位数
书籍编号
文本
10
书名
文本
50
类别
文本
50
作者
文本
50
出版社
文本
50
出版日期
日期/时间
登记日期
日期/时间
是否被借出
逻辑型
图书类别结构如表3.5所示:
字段名称
类型
宽度
小数位数
类别编号
文本
10
类别名称
文本
10
表3.5图书类别
系统管理结构如表3.6所示:
字段名称
类型
宽度
小数位数
用户名
文本
10
密码
文本
10
权限
文本
10
表3.6系统管理
3.3计算机系统的配置方案
硬件环境:
表3.7硬件环境
内容
最低配置
建议配置
主机
奔腾二代300M
P41.6GHZ以上
内存
64MB
DDR256MB以上
硬盘
20GB
40GB以上
显示器
VGA以上
操作系统:
Windows2000或WindowsXP中文版
编程软件和数据库:
VisualBasic6.0中文版+Access2000中文版
第四章图书借阅系统的实现
4.1建立公共模块
运行VisualBasic后,选择“文件”→“新建工程”菜单,然后从工程模板中选择“标准EXE”项,单击“确定”按钮。
VisualBasic就会自动生成一个窗体,这个窗体的属性采用的都是默认设置。
在这个实例中,先删除这个窗体,然后选择“文件”→“保存工程”菜单,在出现的“文件另存为”对话框中输入这个工程项目的名称“book”,并且选择要保存这个工程的目录,单击“保存”按钮,保存工程。
为了提高代码的效率方便维护,在VisualBasic中可以用公用模块来存放工程中经常使用的函数、过程和全局变量等。
在这个系统中,每个功能模块都要使用数据库,因此可以使用一个公用有数据操作函数,来执行一系列的SQL语句。
在项目资源管理器中为这个工程添加一个模块,保存为Module1.bas.
代码如下:
OptionExplicit
PublicconnAsNewADODB.Connection'标记连接对象
Publicselect_menuAsString'标记所选择的菜单
PublicuserIDAsString'标记当前用户ID
PublicuserpowAsString'标记用户权限
Publicbook_numAsString'要借的书的编号
4.2登录窗体
⑴界面及最终运行效果如图4.1所示。
图4.1登录界面
⑵用户可输入系统管理员的用户名,如“aa”,然后输入密码,系统对输入的用户名及相应的密码进行校验。
具体流程图如下图所示:
图4.2密码验证流程图
⑶有关代码如下:
PrivateSubCommand1_Click()
DimsqlAsString
Dimrs_loginAsNewADODB.Recordset
IfTrim(txtuser.Text)=""Then'判断输入的用户名是否为空
MsgBox"没有这个用户",vbOKOnly+vbExclamation,""
txtuser.SetFocus
Else
sql="select*from系统管理where用户名='"&txtuser.Text&"'"
rs_login.Opensql,conn,adOpenKeyset,adLockPessimistic
Ifrs_login.EOF=TrueThen
MsgBox"没有这个用户",vbOKOnly+vbExclamation,""
txtuser.SetFocus
Else'检验密码是否正确
IfTrim(rs_login.Fields
(1))=Trim(txtpwd.Text)Then
userID=txtuser.Text
userpow=rs_login.Fields
(2)
rs_login.Close
UnloadMe
Form1.Show
Else
MsgBox"密码不正确",vbOKOnly+vbExclamation,""
txtpwd.SetFocus
EndIf
EndIf
EndIf
cnt=cnt+1
Ifcnt=3Then
UnloadMe
EndIf
ExitSub
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
PrivateSubForm_Load()
DimconnectionstringAsString
connectionstring="provider=Microsoft.Jet.oledb.4.0;"&_
"datasource=book.mdb"
conn.Openconnectionstring
cnt=0
EndSub
4.3系统运行主界面如图所示。
系统运行主界面
5.4读者信息管理菜单如图所示。
5.5借书主界面如图所示。
图借书主界面
⑴首先进行馆藏图书的查询如图所示。
图馆藏图书查询界面
然后单击命令按钮“借这本书”,若这本书已被借出,则弹出如图所示的对话框。
图书已借出对话框
否则进入到“借书”界面如图所示。
图借书界面
⑵有关代码如下:
a、馆藏图书查询表单的有关代码:
OptionExplicit
DimpanduanAsString
PrivateSubCommand1_Click()
Dimrs_findbookAsNewADODB.Recordset
DimsqlAsString
IfCheck1.Value=vbCheckedThen
sql="书名='"&Trim(Text1.Text&"")&"'"
EndIf
IfCheck2.Value=vbCheckedThen
IfTrim(sql)=""Then
sql="类别='"&Trim(Combo1.Text&"")&"'"
Else
sql=sql&"and书名='"&Trim(Combo1.Text&"")&"'"
EndIf
EndIf
IfCheck3.Value=vbCheckedThen
IfTrim(sql)=""Then
sql="作者='"&Trim(Text2.Text&"")&"'"
Else
sql=sql&"and作者='"&Trim(Text2.Text&"")&"'"
EndIf
EndIf
IfCheck4.Value=vbCheckedThen
IfTrim(sql)=""Then
sql="出版社='"&Trim(Text3.Text&"")&"'"
Else
sql=sql&"and出版社='"&Trim(Text3.Text&"")&"'"
EndIf
EndIf
IfCheck5.Value=vbCheckedThen
IfTrim(sql)=""Then
sql="书籍编号='"&Trim(Text4.Text&"")&"'"
Else
sql=sql&"and书籍编号='"&Trim(Text4.Text&"")&"'"
EndIf
EndIf
IfTrim(sql)=""Then
MsgBox"请选择查询方式!
",vbOKOnly+vbExclamation
ExitSub
EndIf
sql="select*from书籍信息where"&sql
rs_findbook.CursorLocation=adUseClient
rs_findbook.Opensql,conn,adOpenKeyset,adLockPessimistic
DataGrid1.AllowAddNew=False
DataGrid1.AllowDelete=False
DataGrid1.AllowUpdate=False
SetDataGrid1.DataSource=rs_findbook
'rs_findbook.Close
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
PrivateSubCommand3_Click()
IfTrim(book_num)=""Then
MsgBox"请选择要借阅的图书!
",vbOKOnly+vbExclamation
ExitSub
EndIf