图书管理系统概要设计说明书
项目负责人:
1、引言
1.1 编写目的
根据《需求规格说明书》,在仔细考虑讨论之后,我们又进一步对《图书管理系统》软件的功能划分、数据结构、软件总体结构有了进一步的认识。我们把讨论的结果记录下来,作为概要设计说明书,并作为进一步详细设计软件的基础。
1.2、项目背景
随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。
1.3、参考资料
郑人杰,殷人昆,陶永雷。《实用软件工程》(第二版)。北京:清华大学出版社,1997。
刘钢 《vb.net程序设计基础》 北京:高等教育出版社,2007
赵池龙,杨林 《实用软件工程》 北京:电子工业出版社,2008
2、任务概述
2.1、目标
《图书管理系统》针对的用户是单个中小型图书室或者个人,藏书的种类和数量较少,读者的数量和来源受到一定的限制。相应的需求有:
1.能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:
1) 图书信息的录入、删除及修改。
2) 图书信息的多关键字检索查询。
3) 图书的出借、返还和资料统计。
2.能够对一定数量的读者进行相应的信息存储与管理,这其中包括:
1) 读者信息的登记、删除及修改。
2) 读者资料的统计与查询。
3.能够对需要的统计结果提供列表显示输出。
4.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。
2.2、运行环境
Intel486以上系列、AMD K6 以上系列等PC台式机和便携式电脑;
运行时占用内存:≤1MB; 所需硬盘空间:≤5MB;
软件平台:中文Windows95/98/NT 4.0或更高版本并装有JAVA虚拟机的操作系统;
2.3条件与限制
一个更为完善的图书管理系统,应提供更为便捷与强大的信息查询功能,如相应的网络操作及服务,由于开发时间和计算机数量有限,该系统并未提供这一功能。对信息的保护手段仅限于设置用户级别。
3、总体设计
3.1.1、处理流程
1、图书流通流程
2.图书查询流程
3.系统管理流程
总体结构和模块外部设计
3.2.1 总体结构
3.2.2模块外部设计
1.主模块:
输入:操作系统传递至的各种消息以及用户的输入数据 输出:用户界面显示
2.图书流通模块:
输入:用户口令 输出:相应的界面
3.图书查询模块:
输入:用户的输入 输出:查询方式及相应的查询关键字
4.系统操作模块:
输入:用户口令 输出:各个对话框
5.借书模块:
输入:读者证号、图书书号 输出:读者信息、相关借书信息
6.还书模块:
输入:图书书号 输出:相关读者信息
7. 图书查验模块:
输入:图书书号 输出:图书允许/禁止出借标志
8.读者查验模块:
输入:读者证号 输出:合法\非法读者标志
9.借书记录查验模块
输入:图书书号 输出:借书记录存在/不存在标志,借书记录
10.图书库操作模块:
输入:与图书库操作子对话框有关的用户输入及系统消息 输出:操作结果显示.
11.读者库操作模块:
输入:与读者库操作子对话框有关的用户输入及系统消息 输出:操作结果显示
13.系统设置模块:
输入:用户的输入 输出:根据用户的输入显示相应的对话框
14.数据备份模块:
输入:用户的操作输入 输出:操作结果显示
15.数据恢复模块:
输入:用户的操作输入 输出:操作结果显示
16.更改口令模块:
输入: 用户的操作输入输出: 操作结果显示
17.录入模块:
输入:相应的信息 输出:相应的结果
18.修改模块:
输入:相应的信息 输出:相应的结果
19. 删除模块:
输入: 相应的信息 输出: 相应的结果
20. 帮助模块:
输入:无 输出:帮助信息
21. 退出模块:
输入:退出命令 输出:无
22.数据库操作模块:
输入:数据操作命令 输出:操作结果显示
23.数据库查询模块:
输入:数据查询命令 输出:查询结果集
3.3 功能分配
浏览功能: 图书库操作模块 读者库操作模块
查询功能: 图书查询模块 数据统计模块
读者查验模块
插入功能: 图书库操作模块 读者库操作模块 借书模块
修改功能: 图书库操作模块 读者库操作模块
借书模块 还书模块
删除功能: 图书库操作模块 读者库操作模块 还书模块
4、接口设计
4.1 外部接口
1.用户界面
按Windows应用软件用户界面的规范来设计,使用以对话框为主的用户界面,便于用户使用。
1)主对话框:由五个功能按钮构成
图书流通、图书查询、系统操作、帮助、退出
2)借书对话框:
图书书号编辑框: 用于输入图书书号;
读者信息显示区: 用于显示读者信息(姓名);
读者已借图书信息显示区:用于显示读者已借图书信息;
书号提交按钮:提交借书请求;
退出按钮:退出借书对话框。
3)还书对话框:
图书书号编辑框:用于输入图书书号;
读者信息显示区:用于显示本次图书归还者信息(读者证号、读者姓名);
已还图书信息显示区:用于显示读者本次已还图书信息(书名、超期天数);
未还图书信息显示区:用于显示读者尚未归还的图书信息(书名、借书日期);
提交按钮:用于提交还书请求;
返回按钮:用于退出还书对话框。
4)图书查询对话框:
查询方式复选框:用于选择查询所需满足的条件(作者、书名、出版社、出版时间);
关键字编辑框:用于输入查询关键字(作者、书名、出版社);
时间条件单选框:用于选择出版时间所需满足的条件类型;
时间编辑框:用于编辑年与月;
开始查询按钮:用于提交查询请求;
退出查询按钮:用于退出图书查询对话框;
系统操作对话框:由八个功能按钮构成
图书库操作、读者库操作、数据统计、系统设置、数据备份、数据恢复、更改口令、返回。
5)图书库操作对话框:
图书书号编辑框:用于显示图书书号;
书名编辑框:用于显示编辑图书书名;
作者编辑框:用于显示编辑作者;
单价编辑框:用于显示编辑图书单价;
出版社编辑框:用于显示编辑出版社;
出版年月编辑框:用于显示编辑图书出版的年月;
图书状态单选框:用于显示编辑图书状态(在库、借出、异常);
纪录总数显示:用于显示图书记录的总数;
当前记录序号显示:用于显示当前记录在记录集中的位置;
“前一个”按钮:显示和编辑前一个记录;
“后一个”按钮:显示和编辑后一个记录;
“移动到”按钮:显示和编辑指定图书书号的记录;
“加入”按钮:增加图书记录;
“删除”按钮:删除当前的图书记录;
“退出”按钮:退出图书库操作对话框。
6)读者库操作对话框:
读者证号编辑框:用于显示读者证号;
读者姓名编辑框:用于显示编辑读者姓名;
联系方法编辑框:用于显示编辑读者联系方法;
读者电话号码编辑框:用于显示编辑读者电话号码;
读者电子邮件编辑框: 用于显示编辑读者电子邮件;
纪录总数显示:用于显示读者记录的总数;
当前记录序号显示:用于显示当前记录在记录集中的位置;
“前一个”按钮:显示和编辑前一个记录;
“后一个”按钮:显示和编辑后一个记录;
“第一个”按钮:显示和编辑第一个记录;
“最后一个”按钮:显示和编辑最后一个记录;
“移动到”按钮:显示和编辑指定读者证号的记录;
“加入”按钮:增加读者记录;
“删除”按钮:删除当前的读者记录;
“退出”按钮:退出图书库操作对话框。
9) 数据备份对话框
路径编辑框:用于输入编辑备份路径。
BROWSE按钮:用于选择路径
确定按钮: 确定数据备份
退出按钮: 退出数据备份系统
10)数据恢复对话框
确认按钮: 确定此项操作
文件对话框:用于输入存数据的路径
11)更改口令对话框
原始口令编辑框:用于输入原始口令
新口令编辑框: 用于输入新口令
确定按钮: 确定此项操作
2.软件接口
使用Access数据库的驱动程序,通过COM接口访问。
3.硬件接口
鼠标。
4.2 内部接口
模块间接口采用数据耦合方式,通过参数表传送数据,交换信息。
5.数据结构设计
5.1 逻辑结构设计
1)图书表:由多个图书记录构成
图书记录的数据结构如下:
图书编号(BookID) 整数(唯一标示符)
图书书名(BookName) 变长字符串
图书作者(Author) 变长字符串
图书出版社(Publisher) 变长字符串
图书单价(BookPrice) 实数
图书状态(BookStatus) 整数
2)读者表:由多个读者记录构成
读者记录的数据结构如下:
读者证号(ReaderID) 整数(唯一标示符)
读者姓名(ReaderName) 变长字符串
读者联系方法(Address) 变长字符串
读者电话号码(TelephoneNumber) 整数
读者电子邮件(Email) 变长字符串
3)借书记录表:由若干个借书记录构成
借书记录的数据结构如下:
借阅图书(BookID) 整数(与图书库中的图书编号对应)(唯一标示符)
借阅者(ReaderID) 整数(与读者库中的图书编号对应)
借阅时间(BorrowDate) 日期
4)系统设置表:有单个系统设置记录构成
系统设置记录的数据结构如下:
记录号(id) 整数(系统自动生成,唯一标示符)
最多可借图书数(MaxBLNum) 整数
最多借书天数(MaxBLDays) 整数
5)系统操作员记录表:由若干个系统操作员记录构成
系统操作员记录的数据结构如下:
记录序号(id) 整数(系统自动生成,唯一标示符)
账号(Addminister) 变长字符串
口令(Password) 变长字符串
权限级别(Level) 整数(0-7)
5.2 物理结构设计:采用链表结构
5.3 数据结构与程序的关系
主模块:连接数据库
借书模块:
读者查验模块:读入读者号,对应输出读者姓名,读者联系方法,读者电话号码,读者电子邮件。
图书查验模块:读入图书号,对应输出图书书名,图书作者,图书出版社,图书单价,图书状态。
借书登记模块:读入图书号,修改图书状态,在借书记录表中加入读者号,图书号,借书时间。
还书模块:
借书记录查验模块:读入图书号,对应输出借书记录表中的读者号,借书时间。
还书登记模块:读入图书号,修改图书状态,删除借书记录表中的读者号,图书号,借书时间。
图书查询模块:
指定图书查询条件,对应输出相应的图书信息,如图书书名,图书作者,图书出版社 ,图书单价等。
系统操作模块:
系统操作权限查验模块:读入帐号,口令,输出相应的信息。
图书库操作模块:增加,修改,删除图书表中的信息。
读者库操作模块:增加,修改,删除读者表中的信息。
数据备份模块:复制图书表,读者表,借书记录表,系统设置表,系统操作员记录表。
数据恢复模块:读取图书表,读者表,借书记录表,系统设置表,系统操作员记录表。
系统设置模块:增加,修改,删除系统操作员记录表中的信息,修改系统设置表中的最多可借图书数,最多借书天数。
6.运行设计
6.1 运行模块的组合
程序启动后,进入主模块,用户的单击对话框按钮事件触发主模块调用各下层模块,进入对应的子对话框,同样由用户的输入触发这些模块调用其下层模块,完成相应操作。
6.2 运行控制
本软件控制流程:主程序运行,等待用户的输入,根据用户的输入调用各子模块
6.3 运行时间
检索业务响应时间<2s;
运行响应时间<1s;
7.出错处理
7.1 出错输出信息
根据不同的出错情况给出不同的出错信息,一般用对话框给出。
7.2 出错处理对策
对一般错误,给用户提示信息,让用户重新输入或退出。
对于严重错误,启动备份文件恢复,建议使用帮助文件。
8.安全保密设计
为每个操作人员设置账号及口令,规定每一级操作人员的权限。
9.维护设计
由于此项目比较小,除了严格按照软件工程的科学方法开发软件、认真建立文档、编码阶段写详细的注释外,没有特殊的维护设计,如:设置维护模块等。