您的当前位置:首页正文

图书管理系统详细设计报告

2020-12-18 来源:步旅网
实验报告

一、实验名称

图书管理系统的详细设计

二、实验目的

完成图书管理系统(学生选课系统,学校人事管理系统,医院病历管理系统,四者任选其一)的详细设计;

系统掌握软件开发过程中详细设计的写法;

完成图书管理系统(学生选课系统,学校人事管理系统,医院病历管理系统)的详细设计报告。

三、实验主要内容

图书管理系统(学生选课系统,学校人事管理系统,医院病历管理系统)。

在概要设计的基础上,详细设计概要设计所划分的模块,确定每个模块功能所需要的算法和数据结构,并设计出程序的详细规格说明,可画出详细的程序流程图,为编码做准备,写出详细设计报告。

四、实验原理

详细设计也称过程设计,是程序设计的蓝图。该设计是在数据设计、体系结构设计和接口设计完成之后进行的。过程设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程尽可能的简明易懂。结构化程序设计是实现上述目标的关键技术,因此是过程设计的逻辑基础。过程设计的结果基本上决定了最终程序设计的质量。

将程序体系结构元素变换为对软件构件的过程描述。该实验主要是利用过程设计工具进行程序设计。

五、实验结果

图书管理系统详细设计说明书

Ⅰ、可行性分析

本系统主要实现对图书馆信息的管理,主要功能为管理有关读者,书籍,借阅和管理者的信息等。本系统结构分为读者信息管理模块,书籍信息管理模块,借阅信息管理模块,管理者信息管理模块。读者信息管理部分有两方面的功能,可以浏览读者的信息,可以对读者信息进行维护。书籍信息管理可以浏览书籍的信息,可以对书籍信息进行维护。借阅信息管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。管理者信息管理可以显示数据库中管理者的情况,可以对管理者信息进行维护。可见,本系统并不复杂,主要解决的问题是利用关键字对数据库进行查询。

Ⅱ、图书馆概况

图书管理系统是图书馆管理工作中不可缺少的部分,它的内容对于图书馆的管理者和使用者来说都至关重要,所以图书管理系统应该能够为管理者或读者提供充足的信息和快捷的

1 / 16

数据处理手段。但一直以来人们使用传统人工的方式进行图书管理和借阅管理,这种管理方式存在着许多缺点,如:效率低、易忘记、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对图书信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。这些优点能够极大地提高图书管理的效率,也是图书馆的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。 系统功能结构图 还 书图书管理信息系统 借阅信息管理 书籍信息管理 读者信息管理 系统管理 还书信息管理 借书信息管理 设置书籍信息 设置书籍种类 设置读者信息 设置读者种类 密码管理 用户管理 还书信信息 息查修 询 改 还书信息添加 借书信息查询 借书信息添加 借书信息修改 书籍信息查询 书籍信息修改 书籍信息添加 书籍类别添改 书籍类别修改 读者信息查询 读者信息修改 读者信息添加 读者种 类修改 读者种类添加 Ⅲ、处理流程 顶层数据流图:

用户输入数据图书馆管理系统输出数据显示器当前日期系统时钟

2 / 16

第0层图:

图书馆管理人员用户名和密码1登陆信息验证输入管理请求数据2处理管理请求数据显示显示器密码错误信息当前日期系统时钟管理员表当前日期用户输入查询信息3处理查询请求数据查询结果

第一层图:

(1):登陆子系统

图书馆管理人员用户名和密码1.1密码验证用户名1.2验证权限显示器登陆错误信息权限显示管理员表1.3显示可用的控件和界面(2):管理子系统

3 / 16

图书馆管理人员输入购入新书数据2.1处理新书购入非法信息图书目录文件入库单退货单输入图书字段和学生字段罚款单接受借书2.2处理学生借书输入图书字段罚款单非法信息当前日期学生文件借书文件显示器当前日期输入注销图书字段2.3处理学生还书欠款金额信息非法信息还书成功当前日期罚款单图书目录文件非法信息2.4图书注销注销成功当前日期系统时钟(3)查询子系统

4 / 16

图书馆管理人员|学生输入学生查询关键字3.1学生信息查询学生信息学生文件借书文件显示器输入图书查询关键字图书目录文件3.2图书信息查询图书信息第二层图:

(1):处理新书购入

入库单出版社档案文件图书馆管理人员(采购员)输入购入新书数据2.1.1查找数据库,确认信息非法输入数据退货单添加操作显示器管理员表2.1.2操作验证非法操作输入添加信息显示结果系统时钟当前日期2.1.3保存添加记录图书目录文件

(2)处理学生借书

5 / 16

罚款单学生文件非法学生信息2.2.1检查学生欠费情况图书馆管理人员输入学生字段欠款超额,拒绝借书显示器接受借书,输入图书信息借书成功系统时钟当前日期2.2.2更新数据库借书文件(3):处理学生还书

2.3.1根据图书字段查找数据库图书馆管理人员输入图书字段借书信息和学生信息2.3.2计算欠款结果欠款金额显示器借书文件还书成功当前日期系统时钟学生文件图书目录文件罚款单(4):处理图书注销

2.4.1根据图书字段,查找数据库图书馆管理人员输入注销图书字段修改操作2.4.2操作验证非法操作输入修改信息图书目录文件系统时钟当前日期2.4.3保存修改记录注销成功显示器

(5)处理学生信息查询

6 / 16

图书馆管理人员|学生输入查找字段3.1.1确定查询类型及字段查找字段,关键字3.1.2查找数据库查询结果显示器学生文件借书文件(6)处理图书信息查询

3.2.1确定查询类型及字段图书馆管理人员|学生输入查询关键字查询字段及关键字3.2.2查找数据库查询结果显示器借书文件图书目录文件

Ⅳ、总体结构和模块外部设计

图书馆信息数据图书馆信息系统参数系统参数设置基础信息数据基础信息管理管理员数据管理员设置书架信息书架设置图书词库图书词库设置输入数据得到结果新书购入原始数据输入管理请求数据图书馆管理系统管理子系统借书结果学生借书处理结果还书结果学生还书输出结果图书注销注销结果学生信息学生信息查询查询子系统查询信息图书信息查询图书信息7 / 16

Ⅴ、功能分配

图书馆信息系统参数设置基础信息管理管理员设置书架设置图书词库设置新书购入管理子系统学生借书学生还书图书馆管理系统系统登陆图书注销学生信息查询查询子系统图书信息查询

8 / 16

Ⅵ、程序模块示意图如下 借阅管理模块 模借借还 块书书书查事 事询件件 修添添改加 加 借阅数据存取模块

图书管理程序 系统登陆模块 系统设置模块 书籍管理模块 读者管理模块 还书查询修改书籍类别管理书籍信 息添加信息查询修改读者类别管理读者信息添加信息查询修改 书籍数据存取模块 数据加密与备份模块 远程数据同步模块 数据库(运行SQLServer的服务器) 9 / 16

读者数据存取模块 注意

1

针对图书馆管理系统,可以分为两大模块,一个小模块:分别为管理子系统,查询子系统两大模块;基础信息管理小模块;

在管理子系统中:

1):新书购入处理模块只要是针对采购员在根据计划在外采购新书之后的处理,所以当采购员采购到新书后,系统根据原先计划采购的新书进行核查,如果符合计划预定,则将新书入库;否则退货;该模块主要是处理购入的新书是否符合要求; 图书入库:

数据输入 作者 格式 人名 数据范围 >2,<5的字符 索引号 字母加数字 出版社 出版社名 出版日期 日期 图书编号 数字

2):处理学生借书模块:

该模块主要是处理学生借书业务,在图书馆管理人员输入学生信息的时候,系统会

8 10 Char(8) 日期型 Char(10) 数字串 浏览器 浏览器 <25 Vchar(50) 汉字或英文 浏览器 <20 Vchar(20 字符 浏览器 精度 数据类型 输入媒体 浏览器 Vchar(10) 汉字或英文 根据学生文件对该学生进行查询,看看是否存在该学生,如果不存在,则系统给出警告信息:该学生不存在;如果存在该学生,则系统根据罚款单对该学生的欠款情况进行查询,如果欠款超过一定金额,则借书失败,否则接受借书,更新借书文件,在显示器上面显示借书成功;

数据输出(相关信息入数据库) 学号 图书编号 格式 数据范围 精度 数据类型 输入媒体 浏览器 浏览器 数字串 10<=学号<12 数字 10 Vchar(12) 数字串 Char(10) 数字串 3):处理学生还书模块:

该模块主要是处理学生还书业务,在图书馆管理人员输入要还的图书字段时,系统

10 / 16

会在借书文件中查找该图书信息,之后对借书文件,学生文件中的该学生已借书数,图书目录文件进行更新;然后在借书文件中提取学生数据,根据图书的还书日期和借出日期对学生的欠款金额进行计算,如果没有超期,则欠款金额在原来的基础上加0;之后将结果显示出来;

数据输出(相关信息入数据库) 学号 格式 数字串 图书编号 4):处理图书注销模块:

该模块主要是针对图书注销业务; 数字 数据范围 10<=学号<12 10 Char(10) 数字串 浏览器 精度 数据类型 输出媒体 浏览器 Vchar(12) 数字串 在查询子系统中:

有两个查询内容:

1) 学生信息查询:学生信息查询子模块主要是对学生信息的查询; 2) 图书信息查询:图书信息查询子模块主要是对图书信息的查询;

这些模块,是针对学生或者图书馆管理人员这两个不同的对象,查询子系统主要是让用户了解信息,所以不需要进行用户密码登陆,直接可以进行查询,而管理模块是涉及到图书馆内部的重要信息管理方面,所以必须要设置用户密码登陆和权限等等,以保数据的安全性和系统的安全性; 输入:

图书查询模块

数据输入 查询类型 按作者 按索引号 按编号 按出版社 按出版日期 格式 人名 字符 无 无 1990 数据范围 无 无 无 无 无 精度 数据类型 无 无 无 无 无 无 无 无 无 日期型 浏览器 浏览器 浏览器 浏览器 浏览器 输入媒体 11 / 16

学生登录模块

数据输入 格式 数据范围 10<=学号<12 <16 精度 数据类型 输入媒体 浏览器 浏览器 学号 数字串 密码 任意 输出: 图书查询模块。 Vchar(12) 数字串 Vchar(16) 任意 数据输出(显示在显示器上,相关信息加入数据库) 作者 格式 人名 数据范围 >2,<5的字符 索引号 字母加数字 出版社 出版社名 出版日期 日期 是否在馆 是/否 应还日期 日期 8 2 8 Char(8) 日期型 Bool Bool 浏览器 浏览器 浏览器 <25 Vchar(50) 汉字或英文 浏览器 <20 Vchar(20 字符 浏览器 精度 数据类型 输出媒体 浏览器 Vchar(10) 汉字或英文 Char(8) 日期型 学生登录模块:输出当前正借阅的图书信息

数据输出(显示在显示器上) 作者 格式 人名 数据范围 >2,<5的字符 索引号 字母加数字 出版社 出版社名 出版日期 日期 应还日期 日期

12 / 16

8 8 Char(8) 日期型 Char(8) 日期型 浏览器 浏览器 <25 Vchar(50) 汉字或英文 浏览器 <20 Vchar(20 字符 浏览器 精度 数据类型 输出媒体 浏览器 Vchar(10) 汉字或英文 Ⅶ、数据结构设计 逻辑结构设计

⑴:学生文件表:

序号

字段名

类型

长度

精度

小数位数

1

学生编号

Int

4

1

自动编号

2 3 4 5 6 7 8 9 10

姓名 性别 生日 证件号码 联系电话 登记日期 有效期至 已借书数 是否挂失

nvarchar 10 nvarchar 2 datetime 8 nvarchar 25 nvarchar 40 datetime 8 datetime 8 smallint 2 nvarchar 2

√ √ √ √ √ √ √ √

默认值 允许空

主键

说明

⑵:图书目录文件

序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14

字段名

类型

长度 精度 小数位数 默认值 允许空 主键 4

1

√ √ √ √ √ √ √ √ √ √

说明 自动编号

图书编号 Int 条形码 书名

nvarchar 20 nvarchar 200

图书类型 Nvarchar 50 作者 译者 ISBN 出版社 价格

Nvarchar 20 Nvarchar 20 Nvarchar 20 Nvarchar 30 Money

8

书架名称 Nvarchar 20 现存量

Smallint 2

库存总量 Smallint 2 入库时间 Datatime 8 操作员

Nvarchar 10

13 / 16

15 16 17 简介 Nvarchar 200 √ √ √ 借出次数 Smallint 2 是否注销 Nvarchar 2

⑶:借书文件表

序号

字段名

类型

长度

精度

小数位数

1

借阅编号

2

图书编号

3

学生编号

4

借阅时间

5

应还时间

6

续借次数

7 操作员 Nvarchar 10 √ Smallint 2

Datatime 8

Datatime 8

Int

4

Int

4

Int

4

1

自动编号

默认值 允许空

主键

外键

说明

⑷:罚款单表

序号

字段名

1

Int

4

类型

长度

精度

小数位数

1

自动编号

Int

4

默认值 允许空

主键

外键

说明

编号

2

编号

3

Int

4

编号

4

Smallint 3

14 / 16

金额

5

Smallint 3

金额

6

Nvarchar 2

交款

7 备注 Nvarchar 200 √

⑸:入库单表

序号

字段名

类型

长度

精度

小数位数

1

书号

Nvarchar

30

1

自动编号

2 3 4 5 6 7

条形码 书名 作者 出版社 版次 图书类别

8

存放位置

9 10

单价 入库数量

11 12 13 14 15 金额 经手人 票号 操作员 日期 Money Nvarchar Nvarchar Nvarchar datatime 8 10 30 10 8 √ √ √ √ √ Money Smallint

8 2

√ √

Nvarchar

20

Nvarchar Nvarchar Nvarchar Nvarchar Nvarchar Nvarchar

20 200 20 30 50 20

√ √ √ √ √ √

默认值

允许空

主键

外键

说明

⑹:管理员表

15 / 16

序号 字段名 类型 长度 精度 小数位数

默认值 允许空 主键 说明

1 管理员ID

int 4 √

2 管理员密码

char 15

3 权限 nvarchar 16

Ⅷ、出错处理对策

对于本程序的几种可能的错误进行了分析,分别进行了不同的处理。 主要的错误可能有: 数据库连接错误:

这类错误主要是数据库设置不正确,或sql server异常引起的,只要取

消本次操作,提醒用户检查数据库问题就可。 输入错误:

这主要是用户输入不规范造成的,在尽量减少用户出错的条件的情况下,

主要也是通过对话框,提醒用户,然后再次操作。 其他操作错误:

对于用户的不正当操作,有可能使程序发生错误。主要是中止操作,并

提醒用户中止的原因和操作的规范。 其他不可预知的错误:

程序也会有一些无法预知或没考虑完全的错误,对此不可能作出万全的

异常处理,这时主要要保证数据的安全,所以要经常的进行数据库备份

Ⅸ、维护设计

软件的维护主要包括,数据库的维护和软件功能的维护。

对于数据库的维护,本软件已经提供了数据库的备份和恢复的功能,可以方便的实现数据库的维护管理。

对于软件功能方面的维护,由于采用的是模块化的设计方法,每个模块(窗口)之间相互独立性较高,这样对软件的维护带来了很大的方便,对于单独功能的修改只需修改一个窗口就行了。而对于功能的添加,只要再添加菜单项的内容即可,软件卖出后,将根据客户的要求和反映,定期的对软件进行维护修改。

16 / 16

因篇幅问题不能全部显示,请点此查看更多更全内容