图书管理系统课程设计报告.docx
- 文档编号:23295228
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:54
- 大小:404.75KB
图书管理系统课程设计报告.docx
《图书管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《图书管理系统课程设计报告.docx(54页珍藏版)》请在冰豆网上搜索。
图书管理系统课程设计报告
湖北大学
课程设计
题目图书管理系统
姓名何南星学号****************
专业年级计算机科学与技术1401
指导教师马传香
第1章图书管理信息系统概述-1-
1.1图书管理信息系统简介-1-
1.2图书管理信息系统功能描述-1-
第2章需求分析-3-
2.1系统目标-3-
2.2业务流程-3-
2.3数据流程-7-
2.4数据字典-9-
2.4.1数据元素定义-9-
2.4.2外部项-10-
第3章系统设计-3-
3.1系统功能-3-
3.2系统结构-3-
第4章数据库设计-13-
4.1E-R图-13-
4.2数据库详细设计-13-
第5章主页设计-17-
5.1主页设计-17-
5.1.1实现过程-17-
5.2功能导航栏设计-18-
第6章程序设计与编码-19-
6.1系统登陆页面的设计-19-
6.2借书窗体的设计-20-
6.3还书窗体的设计-21-
第7章系统测试-22-
7.1程序设计的原则-22-
7.2数据库调试与试运行-22-
7.2.1系统测试目的-22-
7.3系统维护-23-
7.3.1系统故障的类型-23-
7.3.2故障防止措施-23-
第8章心得总结-23-
参考文献-24-
附录1-25-
附录2-26-
第1章图书管理信息系统概述
1.1图书管理信息系统简介
图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理。
现今,有很多的图书馆尚未使用计算机进行信息管理。
图书馆若采取手工方式对图书资料和图书借阅情况进行人工管理,由于资料繁多,手工处理的工作量大,整体管理效率低下,也不方便读者对图书资料的查阅。
为了提高日常的图书管理效率,必须开发满足大多数中小型的图书管理要求的图书管理系统。
文章针对通常的图书管理流程,深入分析了图书管理系统的需求和功能,为图书管理系统程序开发提供了现实理论基础。
图书管理系统需要满足来自三方面的需求,这三个方面分别是图书借阅者、图书馆工作人员和图书馆管理人员。
图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书报表给借阅者查看确认;图书馆管理人员的功能最为复杂,包括对工作人员、图书借阅者、图书进行管理和维护,及系统状态的查看、维护并生成催还图书报表。
图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人借书证号和密码登录系统,还可以进行本人借书情况的查询和维护部分个人信息。
一般情况下,图书借阅者只应该查询和维护本人的借书情况和个人信息,若查询和维护其他借阅者的借书情况和个人信息,就要知道其他图书借阅者的借书证号和密码。
这些是很难得到的,特别是密码,所以不但满足了图书借阅者的要求,还保护了图书借阅者的个人隐私。
1.2图书管理信息系统功能描述
系统功能分析是在系统开发的总体任务的基础上完成。
图书馆管理信息系统需要完成功能主要有:
有关读者种类标准的制定、种类住处的输入,包括种类编号、种类名称、借书数量、借书期限、有效期限、备注等。
读者种类信息的修改、查询等。
读者基本信息的输入,包括读者编号、读者姓名、电话号码、办证日期、备注等。
读者基本信息的查询、修改,包括读者编号、读者姓名、办证日期、备注等等。
书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称、关键词、备注信息等。
书籍信息的输入,包括书籍编号、书籍名称、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期、备注信息等。
借书信息的输入,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、备注信息等。
借书信息的查询、修改,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、备注信息等。
还书信息的输入,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期、备注信息等。
还书信息的查询和修改,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍姓名、借书日期、还书日期、备注信息等。
第2章需求分析
2.1系统目标
图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。
需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利于提高管理效率。
作者针对图书馆手工管理的现状,经过详细系统的调查,阐明了图书管理系统的需求和功能,为图书馆管理信息系统的开发打下坚实基础。
当决定要开发一个信息系统时,首先要对信息系统的需求进行分析,需求分析要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。
获得当前系统的处理流程,在此首先假设当前系统是手工处理系统。
手工处理流程大致是这样的。
读者将要借的书和借阅证交给工作人员,工作人员将每本书附带的描述书信息的卡和读者借阅证一起放在一个小格栏,并在借阅证和每本书上贴的借阅信息。
这样借书过程就完成了。
还书时读者将要还的图书交给工作人员,工作人员图书信息找到相应的书卡和借阅证,并填写相应的还书信息。
2.2业务流程
借书过程:
读者从架上选到所需图书后,将图书和借书卡交管理人员,管理人员用码阅读器将图书和借书卡上的读者条码2码读入处理系统。
系统根据读者条码从读者文件和借阅文件中找到相应记录;根据图书上的条码从图书文件中找到相应记录,读者如果有如下列情况之一将不予办理借书手续。
若读者符合所有借书条件时,予以借出。
系统在借阅文件中增加一条记录,记入读者码、图书条码、借阅日期等内容。
前面着重对借还书流程进行了说细的阐述,下面介绍图书管理系统的总体功能要求。
简单的图书管理系统主要包括下面的功能:
借书处理:
完成读者借书这一业务流程。
还书处理:
完成读者还书这一业务流程。
罚款处理:
解决读者借书超期的罚款处理。
2.2.1业务流程图:
图2-1借书业务流程图
图2-2还书业务流程图
图2-3读者管理流程图
图2-4图书管理业务图
图2-5用户管理流程图
图2-6查询流程图
图2-7密码流程图
2.3数据流程
图2-8借书数据流程图
图2-9还书数据流程图
图2-10图书管理数据流程图
图2-11用户管理数据流程图
图2-12读者管理数据流程图
图2-13统计数据流程表
2.4数据字典
数据字典就是将数据元素、数据流、数据存储、处理功能和外部实体等的详细情况加以记录,并按照一定方式进行排列所形成的一部关于数据的字典。
2.4.1数据元素定义
数据元素的定义是数据字典的基础,其他定义都是建立在数据元素定义的基础之上的。
数据元素的定义包含数据元素名称、数据元素编号、数据元素类型、数据元素长度以及数据元素含义等内容。
1数据元素条目
表2-1数据元素条目表
数据元素条目表
名称:
专家编号总编号:
11--001
别名:
S-NO编号:
001
说明:
评论图书专家的编号有关编码说明:
XXXXXXX
数据值类型:
数字
类型:
离散
长度:
9有关数据结构:
专家资料卡
2数据结构条目
表2-2数据结构条目表
数据结构条目表
名称:
专家资料数据表总编号:
12--001
说明:
图书附加的专家资料统计编号:
001
结构:
姓名职位住址联系方式等
有关数据流、数据存储:
专家资料数据表
3数据流
表2-3数据流条目表
数据流条目
名称:
专家资料单总编号:
13--001
说明:
图书附加的专家资料统计编号:
001
数据流来源:
图书馆统计人员流通量:
500万份/期
数据流去向:
分析专家意见并进行统计
4数据存储
表2-4数据存储条目
数据存储条目
名称:
专家资料统计表总编号:
14—001
说明:
专家资料统计编号:
001
结构:
姓名职位评论有关数据流:
登记专家资料
数量:
500万份/期
2.4.2外部项
外部项的定义表,如表9所示
表3外部项的定义表
外部项编号:
E01
外部项名称:
管理员
简述:
对图书管理的人员
输入数据流:
用户信息、图书信息表、读者信息表。
菜单表,权限表
输出数据流:
清单
由于篇幅限制不再列出其他的外部项定义表,另外再设立一张外部项一览表,将所有的外部项保存在外部项一览表上,如表10所示。
表4外部项一览表
外部项编号名称
E01管理员
E02用户
第3章系统设计
3.1系统功能
3,1.2系统管理模块功能介绍
1.数据备份
模块对数据库备份,以防数据丢失。
2.数据恢复
将备份的数据恢复,系统重新启动。
3.重新登陆
为了便于不同用户在同一计算机上使用时,更换权限。
4.图书管理模块
该模块主要是对图书进行管理。
(1)添加图书
当图书馆新购入图书时,要在这个模块进行添加。
(2)图书管理
在这个模块里可以检查图书的数量,也可以对图书进行删除,也可以进行图书的自动统计,并对图书的种类进行管理。
5.读者管理
该模块主要对读者的登记、信息、借书、还书等进行管理。
(1)读者登记
在这个模块里可以登记新来的读者,并将其信息输入到数据库中。
(2)读者管理
这个模块主要是对读者的基本信息、联系方式、类型、学历进行管理。
使用ADOTable组件与相应的数据表进行连接,使用TDBNavigavigator组件,对数据表添加、删除和修改。
3.2系统结构
系统结构,是指系统内部各组成要素之间的相互联系、相互作用的方式或秩序,整个系统分为6个大的模块,分为图书管理,其中包括图书的录入和管理。
借书系统,还书系统,读者管理,用户,查询系统管理部分。
通过这几个系统结构部分来实现系统的总体功能。
3.2.1系统功能模块图
表3.1本系统的功能划分
使用说明
数据备份
第4章数据库设计
4.1E-R图
数据库概要设计
软件系统本质上是信息处理系统,因此,在软件系统的整个开发过程中都必须考虑两方面的问题——“数据”及对数据的“处理”。
为了把用户的数据要求清晰明确地表达出来,系统分析员通常建立一个概念性的数据模型。
概念性数据模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模,它描述了从用户角度看到的数据,它反映了用户的现实环境,且与在软件系统中的实现方法无关。
这里我们运用最常见的表示概念性数据模型的方法,是实体——联系方式即E—R模型。
通常,软件系统中有许多数据是需要长期保存。
为减少数据冗余,简化修改数据的过程,实现对数据进化规范化
图4-1数据库E-R图
4.2数据库详细设计
设计出数据库所需要的表格。
在这里,我选用的是关系数据库。
因为关系数据库中的二维表格可以很清楚地描述数据之间的联系。
本系统所用的数据库的所有数据表如下:
表4-1User-info表(用户信息表)
字段名称
数据类型
字段大小
必填字段
允许空否
索引
Username
文本
10
是
否
无
Userpassword
文本
10
是
否
无
其中Username是用户注册的ID
表4-2reader-info表(读者信息表)
字段名称
数据类型
字段大小
必填字段
允许空否
索引
readercardid
文本
10
是
否
无
id
文本
50
否
否
无
name
文本
50
是
否
无
sex
文本
1
是
否
无
educationid
文本
2
是
否
无
curdate
日期/时间
否
否
无
readetypeid
文本
2
否
否
无
其中readercardID字段为注册读者时的卡号,ID字段注册读者时的id,Name字段为注册读者时的姓名,SEX字段为注册读者的性别,Education字段为注册读者时的学历,CurDate字段为注册读者时的日期,ReaderTypeID字段为注册读者时的类型。
表4-3Menu-info表(菜单表)
字段名称
数据类型
字段大小
必填字段
允许空否
索引
Menuid
文本
10
是
否
无
menuname
文本
50
否
否
无
表4-4book-info表(图书信息表)
字段名称
数据类型
字段大小
必填字段
允许空否
索引
bookjID
文本
20
是
否
无
bookMan
文本
30
否
否
无
BookName
文本
50
否
无
BookTypeID
文本
2
否
无
BookAuthor
文本
50
否
无
BookRemark
文本
50
否
无
Bookprice
货币
是
否
无
其中BookID字段为图书的索引号,BookMan字段为图书的出版BookName字段为图书的名称,BookTypeID字段为图书的类型,BookAuthor字段为图书的作者,BookRemark字段为图书的评论,BookPrice字段为图书的价格。
表4-5User-Loginlog表(用户登陆信息表)
66666
88888
数据类型
字段大小
必填字段
允许空否
索引
UserName
本文
10
是
否
无
Uptime
日期/时间
否
无
Downtime
日期/时间
否
无
其中UserName字段为用户的名称,Uptime字段为用户的登陆时间,Downdown字段为用户的退出系统时间。
表4-6User-Purview表(用户权限表)
字段名称
数据类型
字段大小
必填字段
允许空否
索引
UserName
文本
10
是
否
无
Menuid
文本
10
是
否
无
Userpurview
文本
2
否
否
无
PurviewExplain
文本
50
否
否
无
其中Username字段为用户的用户名,MenuID为菜单的索引项。
Userpurview字段为用户的适用范围选项,PurviewExplain字段为解释说明项。
表4-7Reader-Type表(读者类型表)
字段名称
数据类型
字段大小
必填字段
允许空否
索引
ReaderTypeID
文本
2
是
否
无
TypeName
文本
50
是
否
无
Lendbook
数字
整形
否
无
其中ReaderTypeID字段为读者类型索引,TypeName字段为类型说明,Lendbook字段为不同类型读者所能借书的数量。
表4-8Reader-relation表(读者联系表)
字段名称
数据类型
字段大小
必填字段
允许空否
索引
ReaderCardID
文本
10
是
否
无
Handphone
文本
20
是
否
无
文本
20
是
否
无
Address
文本
50
是
否
无
表4-9Reader-education表(读者教育背景)
字段名称
数据类型
字段大小
必填字段
允许空否
索引
EducationID
文本
2
是
否
无
EducationName
文本
50
是
否
无
表4-10lend-book(借、还书表)
字段名称
数据类型
字段大小
必填字段
允许空否
索引
ReaderCardID
文本
10
是
否
无
BookID
文本
20
是
否
无
LendDate
时期时间
是
无
BorrowDate
时期时间
是
无
State
数字
整形
否
无
借书和还书集中在这一张表中,State为状态标记(表示是否借阅和归还,1表示已被借阅,0表示已经归还,Null表示该书还在馆)。
表4-11book-Type表(图书类别表)
字段名称
数据类型
字段大小
必填字段
允许空否
索引
BookTypeID
文本
2
是
否
无
TypeName
文本
10
是
否
无
表4-12Book-stock表(图书储藏表)
字段名称
数据类型
字段大小
必填字段
允许空否
索引
BookID
文本
20
是
否
无
BookInDate
时期时间
是
无
BookInNunber
数字
长整形
否
无
Bookoutdate
时期时间
是
无
BookOutNumber
数字
长整形
否
无
Booklast
数字
长整形
否
无
其中BookInDate字段为图书的购入时间,BookInNunber为购入的数量,Bookoutdate字段为图书借出的时间,BookOutNumber为借出的数量,BookLast为剩余图书的数量。
第5章主页面设计
5.1主页面设计
程序启动后,读者在主页界面可以进行查询搜索和查看图书的基本信息等操作。
主页面主要实现功能为读者的基本的只读功能,而具体的借书还书等操作需要在读者登录后才可以进行。
主页面如下图
图5-1主窗体界面图
5.1.1实现过程
添加新Web窗体,设置窗体name属性main,设置caption属性为图书管理系统。
向其中添加组件MainMSenu、panel、Label、image、Statusbar、Query、Table。
并设置其对应属性。
主要组件属性如下表
表5-1主要组件对象的属性列表
组件
属性
值
功能
Label1
Caption
图书管理系统
标签内容
Table1
Databasename
Tablename
Active
Wuliu
操作记录表
True
连接数据库
Query1
Databasename
Wuliu
访问指定数据库库
5.2功能导航栏设计
其中在系统管理中又有数据备份,数据恢复,记事本,修改密码退出程序功能。
在图书管理下拉菜单中存在着添加图书和图书整理操作。
在读者管理的下拉菜单中是读者登记,读者管理,借书和还书的操作。
在查询的功能中是对用户读者和图书进行的查询。
第6章程序设计与编码
6.1系统登陆界面的设计
通过登录页面进入主页面借还操作系统,对书籍进行操作。
添加新窗体,设置窗体caption属性为增加用户,向窗体添加3个label、edit组件、一个adotable组件、一个datasource组件、一个Dbgrid组件、一个panel组件、3个button组件、memo等组件,并设置相应属性。
主要组件属性如下表
表6-1主要组件对象的属性列表
组件
属性
值
功能
Adotable1
Tablename
Active
操作记录表
True
连接数据库
Datasource1
Dataset
Adotable1
访问指定数据库
DBGird1
Datasource
Datasource1
与数据源组件连接
Label1
Caption
用户名
标签内容
Label2
Caption
口令
标签内容
Label3
Caption
用户登录
标签内容
Button1
Caption
确定
按钮标题
Button2
Caption
取消
按钮标题
6.2借书页面的设计
在这一借书的页面中使用了两个Button组件、3个Label组件,两个GroupBox组件一个EdtBookD组件,一个EdtBookName组件,一个EdtCardID组件,一个StaticText组件
表6-2主要组件对象的属性列表
组件
属性
值
功能
Adotable1
Tablename
Active
操作记录表
True
连接数据库
Datasource1
Dataset
Adotable1
访问指定数据库
DBGird1
Datasource
Datasource1
与数据源组件连接
Label1
Caption
读者卡号
标签内容
Label2
Caption
书号
标签内容
Label3
Caption
书名
标签内容
Button1
Caption
借书
按钮标题
Button2
Caption
关闭
按钮标题
6.3还书页面的设计
还书过程:
还书时读者只要将书交给管理人员,管理员将书上的图书条码读入系统,系统从借阅文件上找到相应记录,填上还书日期后写入借阅历史文件,并从借阅文件上删去相应记录,同时系统对借还书日期进行计算并判断是否超期,若不超期则结束过程,若超期则计算出超期天数、罚款数、并打印罚款通知书,记入罚款文件。
同时在读者记录上作止借标记。
当读者交来罚款收据后,系统根据读者条码查罚款文件,将相应记录写入罚款历史文件,并从罚款文件只删除该记录,同时去掉读者文件中的止借标记。
当读者还书是在这里进行输入,并自动对数据库相关表进行修改。
procedureTReturnF.Button1Click(Sender:
TObject);//完成某读者对已借阅图书的归还,并且对数据库中的借、还书数据表进行更新,图书状态state字段值置为0(表示图书已被归还)
6.3还书页面的设计
第7章系统测试
7.1程序设计的原则
程序设计采用自顶向下的原则,先把程序高度概括,看作是一个简单的控制结构,即功能结构。
把模块进一步分解成若干个较低一层的模块,对扩展出来的每一个下层模块进一步分解,直到最低一层的每一个模块都非常简单、功能很小,能够很容易地用程序语句实现为止。
在设计中还要遵循一致性、可重用性、可维护性,本系统的程序变量和程序对象以及数据库表等在各个模块中具有一致的命名规则。
为系统的快速开发及以后的维护都带来方便。
程序设计中的可重用性可大大提高程序开发和维护的效率。
通过对控件和函数的调用,对象的继承封装,减少了代码的重复书写,并减少了数据冗余。
在程序设计中,考虑到程序的修改及以后的维护,尽量在代码中使用注释,对部分程序尽量使用函数和控件,这样就只需要维
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)