图书管理系统详细设计报告.docx
《图书管理系统详细设计报告.docx》由会员分享,可在线阅读,更多相关《图书管理系统详细设计报告.docx(19页珍藏版)》请在冰豆网上搜索。
图书管理系统详细设计报告
实验报告
一、实验名称
图书管理系统的详细设计
二、实验目的
完成图书管理系统(学生选课系统,学校人事管理系统,医院病历管理系统,四者任选其一)的详细设计;
系统掌握软件开发过程中详细设计的写法;
完成图书管理系统(学生选课系统,学校人事管理系统,医院病历管理系统)的详细设计报告。
三、实验主要内容
图书管理系统(学生选课系统,学校人事管理系统,医院病历管理系统)。
在概要设计的基础上,详细设计概要设计所划分的模块,确定每个模块功能所需要的算法和数据结构,并设计出程序的详细规格说明,可画出详细的程序流程图,为编码做准备,写出详细设计报告。
四、实验原理
详细设计也称过程设计,是程序设计的蓝图。
该设计是在数据设计、体系结构设计和接口设计完成之后进行的。
过程设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程尽可能的简明易懂。
结构化程序设计是实现上述目标的关键技术,因此是过程设计的逻辑基础。
过程设计的结果基本上决定了最终程序设计的质量。
将程序体系结构元素变换为对软件构件的过程描述。
该实验主要是利用过程设计工具进行程序设计。
五、实验结果
图书管理系统详细设计说明书
Ⅰ、可行性分析
本系统主要实现对图书馆信息的管理,主要功能为管理有关读者,书籍,借阅和管理者的信息等。
本系统结构分为读者信息管理模块,书籍信息管理模块,借阅信息管理模块,管理者信息管理模块。
读者信息管理部分有两方面的功能,可以浏览读者的信息,可以对读者信息进行维护。
书籍信息管理可以浏览书籍的信息,可以对书籍信息进行维护。
借阅信息管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。
管理者信息管理可以显示数据库中管理者的情况,可以对管理者信息进行维护。
可见,本系统并不复杂,主要解决的问题是利用关键字对数据库进行查询。
Ⅱ、图书馆概况
图书管理系统是图书馆管理工作中不可缺少的部分,它的内容对于图书馆的管理者和使用者来说都至关重要,所以图书管理系统应该能够为管理者或读者提供充足的信息和快捷的数据处理手段。
但一直以来人们使用传统人工的方式进行图书管理和借阅管理,这种管理方式存在着许多缺点,如:
效率低、易忘记、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对图书信息进行管理,具有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。
这些优点能够极大地提高图书管理的效率,也是图书馆的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的事情。
系统功能结构图
Ⅲ、处理流程
顶层数据流图:
第0层图:
第一层图:
(1):
登陆子系统
(2):
管理子系统
(3)查询子系统
第二层图:
(1):
处理新书购入
(2)处理学生借书
(3):
处理学生还书
(4):
处理图书注销
(5)处理学生信息查询
(6)处理图书信息查询
Ⅳ、总体结构和模块外部设计
Ⅴ、功能分配
Ⅵ、程序模块示意图如下
注意
针对图书馆管理系统,可以分为两大模块,一个小模块:
分别为管理子系统,查询子系统两大模块;基础信息管理小模块;
在管理子系统中:
1):
新书购入处理模块只要是针对采购员在根据计划在外采购新书之后的处理,所以当采购员采购到新书后,系统根据原先计划采购的新书进行核查,如果符合计划预定,则将新书入库;否则退货;该模块主要是处理购入的新书是否符合要求;
图书入库:
数据输入
格式
数据范围
精度
数据类型
输入媒体
作者
人名
>2,<5的字符
Vchar(10)
汉字或英文
浏览器
索引号
字母加数字
<20
Vchar(20
字符
浏览器
出版社
出版社名
<25
Vchar(50)
汉字或英文
浏览器
出版日期
日期
8
Char(8)
日期型
浏览器
图书编号
数字
10
Char(10)
数字串
浏览器
2):
处理学生借书模块:
该模块主要是处理学生借书业务,在图书馆管理人员输入学生信息的时候,系统会根据学生文件对该学生进行查询,看看是否存在该学生,如果不存在,则系统给出警告信息:
该学生不存在;如果存在该学生,则系统根据罚款单对该学生的欠款情况进行查询,如果欠款超过一定金额,则借书失败,否则接受借书,更新借书文件,在显示器上面显示借书成功;
数据输出(相关信息入数据库)
格式
数据范围
精度
数据类型
输入媒体
学号
数字串
10<=学号<12
Vchar(12)
数字串
浏览器
图书编号
数字
10
Char(10)
数字串
浏览器
3):
处理学生还书模块:
该模块主要是处理学生还书业务,在图书馆管理人员输入要还的图书字段时,系统会在借书文件中查找该图书信息,之后对借书文件,学生文件中的该学生已借书数,图书目录文件进行更新;然后在借书文件中提取学生数据,根据图书的还书日期和借出日期对学生的欠款金额进行计算,如果没有超期,则欠款金额在原来的基础上加0;之后将结果显示出来;
数据输出(相关信息入数据库)
格式
数据范围
精度
数据类型
输出媒体
学号
数字串
10<=学号<12
Vchar(12)
数字串
浏览器
图书编号
数字
10
Char(10)
数字串
浏览器
4):
处理图书注销模块:
该模块主要是针对图书注销业务;
在查询子系统中:
有两个查询内容:
1)学生信息查询:
学生信息查询子模块主要是对学生信息的查询;
2)图书信息查询:
图书信息查询子模块主要是对图书信息的查询;
这些模块,是针对学生或者图书馆管理人员这两个不同的对象,查询子系统主要是让用户了解信息,所以不需要进行用户密码登陆,直接可以进行查询,而管理模块是涉及到图书馆内部的重要信息管理方面,所以必须要设置用户密码登陆和权限等等,以保数据的安全性和系统的安全性;
输入:
图书查询模块
数据输入
查询类型
格式
数据范围
精度
数据类型
输入媒体
按作者
人名
无
无
无
浏览器
按索引号
字符
无
无
无
浏览器
按编号
无
无
无
无
浏览器
按出版社
无
无
无
无
浏览器
按出版日期
1990
无
无
日期型
浏览器
学生登录模块
数据输入
格式
数据范围
精度
数据类型
输入媒体
学号
数字串
10<=学号<12
Vchar(12)
数字串
浏览器
密码
任意
<16
Vchar(16)
任意
浏览器
输出:
图书查询模块。
数据输出(显示在显示器上,相关信息加入数据库)
格式
数据范围
精度
数据类型
输出媒体
作者
人名
>2,<5的字符
Vchar(10)
汉字或英文
浏览器
索引号
字母加数字
<20
Vchar(20
字符
浏览器
出版社
出版社名
<25
Vchar(50)
汉字或英文
浏览器
出版日期
日期
8
Char(8)
日期型
浏览器
是否在馆
是/否
2
Bool
Bool
浏览器
应还日期
日期
8
Char(8)
日期型
浏览器
学生登录模块:
输出当前正借阅的图书信息
数据输出(显示在显示器上)
格式
数据范围
精度
数据类型
输出媒体
作者
人名
>2,<5的字符
Vchar(10)
汉字或英文
浏览器
索引号
字母加数字
<20
Vchar(20
字符
浏览器
出版社
出版社名
<25
Vchar(50)
汉字或英文
浏览器
出版日期
日期
8
Char(8)
日期型
浏览器
应还日期
日期
8
Char(8)
日期型
浏览器
Ⅶ、数据结构设计
逻辑结构设计
⑴:
学生文件表:
序号
字段名
类型
长度
精度
小数位数
默认值
允许空
主键
说明
1
学生编号
Int
4
1
√
自动编号
2
姓名
nvarchar
10
3
性别
nvarchar
2
√
4
生日
datetime
8
√
5
证件号码
nvarchar
25
√
6
联系电话
nvarchar
40
√
7
登记日期
datetime
8
√
8
有效期至
datetime
8
√
9
已借书数
smallint
2
√
10
是否挂失
nvarchar
2
√
⑵:
图书目录文件
序号
字段名
类型
长度
精度
小数位数
默认值
允许空
主键
说明
1
图书编号
Int
4
1
√
自动编号
2
条形码
nvarchar
20
3
书名
nvarchar
200
4
图书类型
Nvarchar
50
√
5
作者
Nvarchar
20
√
6
译者
Nvarchar
20
√
7
ISBN
Nvarchar
20
8
出版社
Nvarchar
30
√
9
价格
Money
8
√
10
书架名称
Nvarchar
20
√
11
现存量
Smallint
2
√
12
库存总量
Smallint
2
√
13
入库时间
Datatime
8
√
14
操作员
Nvarchar
10
√
15
简介
Nvarchar
200
√
16
借出次数
Smallint
2
√
17
是否注销
Nvarchar
2
√
⑶:
借书文件表
序号
字段名
类型
长度
精度
小数位数
默认值
允许空
主键
外键
说明
1
借阅编号
Int
4
1
√
自动编号
2
图书编号
Int
4
√
3
学生编号
Int
4
√
4
借阅时间
Datatime
8
√
5
应还时间
Datatime
8
√
6
续借次数
Smallint
2
√
7
操作员
Nvarchar
10
√
⑷:
罚款单表
序号
字段名
类型
长度
精度
小数位数
默认值
允许空
主键
外键
说明
1
借阅编号
Int
4
1
√
自动编号
2
图书编号
Int
4
√
3
学生编号
Int
4
√
4
应罚金额
Smallint
3
√
5
实收金额
Smallint
3
√
6
是否交款
Nvarchar
2
√
7
备注
Nvarchar
200
√
⑸:
入库单表
序号
字段名
类型
长度
精度
小数位数
默认值
允许空
主键
外键
说明
1
书号
Nvarchar
30
1
√
自动编号
2
条形码
Nvarchar
20
√
3
书名
Nvarchar
200
√
4
作者
Nvarchar
20
√
5
出版社
Nvarchar
30
√
6
版次
Nvarchar
50
√
7
图书类别
Nvarchar
20
√
8
存放位置
Nvarchar
20
√
9
单价
Money
8
√
10
入库数量
Smallint
2
√
11
金额
Money
8
√
12
经手人
Nvarchar
10
√
13
票号
Nvarchar
30
√
14
操作员
Nvarchar
10
√
15
日期
datatime
8
√
⑹:
管理员表
序号
字段名
类型
长度
精度
小数位数
默认值
允许空
主键
说明
1
管理员ID
int
4
√
2
管理员密码
char
15
3
权限
nvarchar
16
Ⅷ、出错处理对策
对于本程序的几种可能的错误进行了分析,分别进行了不同的处理。
主要的错误可能有:
数据库连接错误:
这类错误主要是数据库设置不正确,或sqlserver异常引起的,只要取消本次操作,提醒用户检查数据库问题就可。
输入错误:
这主要是用户输入不规范造成的,在尽量减少用户出错的条件的情况下,主要也是通过对话框,提醒用户,然后再次操作。
其他操作错误:
对于用户的不正当操作,有可能使程序发生错误。
主要是中止操作,并提醒用户中止的原因和操作的规范。
其他不可预知的错误:
程序也会有一些无法预知或没考虑完全的错误,对此不可能作出万全的异常处理,这时主要要保证数据的安全,所以要经常的进行数据库备份
Ⅸ、维护设计
软件的维护主要包括,数据库的维护和软件功能的维护。
对于数据库的维护,本软件已经提供了数据库的备份和恢复的功能,可以方便的实现数据库的维护管理。
对于软件功能方面的维护,由于采用的是模块化的设计方法,每个模块(窗口)之间相互独立性较高,这样对软件的维护带来了很大的方便,对于单独功能的修改只需修改一个窗口就行了。
而对于功能的添加,只要再添加菜单项的内容即可,软件卖出后,将根据客户的要求和反映,定期的对软件进行维护修改。