1、 文档编号: LMS--1 版 本 号: V1.0 文档名称: 需求规格说明书 项目名称: 图书管理系统 项目负责人: ×× × × 1. 引言 1.1 编写目的 在编写《图书管理系统》软件之前,对同类型产品的市场进行了前期调查,与多位软件设计者和使用者进行了探讨和分析,之后由软件项目小组向系统分析人员与软件设计人员提出了这份需求规格说明书。该需求规格说明书对图书管理系统软件进行了全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,概要设计说明书和完成后续设计与开发工作将在此基础上进一步提出。
2、 1.2 项目背景 随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多,这也充分应用硬件资源;对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理更为需要有效的图书管理软件。 图书管理系统软件LMS V1.0是一功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应
3、用范围较广的DOS,WINDOWS系列等操作系统上使用。除此以外,LMS V1.0可通过访问权限控制以及数据备份功能,确保数据的安全性。 1.3 定义 文档中采用的专门术语的定义及缩略词简要如下: LMS:Library Management System,图书管理系统。 1.4 参考资料 [1] 郑人杰,殷人昆,陶永雷。《实用软件工程》(第二版)。北京:清华大学出版社。1997。 [2] 郑章,程刚,张勇等。《Visual C++ 6.0数据库开发技术》北京:机械工业出版社。1999。 2. 任务概述 2.1 目标 《图书管理系统》针对的
4、用户是单个中小型图书室或者个人,藏书的种类和数量较少,读者的数量和来源受到一定的限制。相应的需求有: 1.能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括: 1) 图书信息的录入、删除及修改。 2) 图书信息的多关键字检索查询。 3) 图书的出借、返还和资料统计。 2.能够对一定数量的读者进行相应的信息存储与管理,这其中包括: 1) 读者信息的登记、删除及修改。 2) 读者资料的统计与查询。 3.能够对需要的统计结果提供打印输出。 4.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改
5、同时提供信息备份的服务。 2.2 运行环境 Intel486以上系列、AMD K6 以上系列等PC台式机和便携式电脑; 运行时占用内存:≤1MB; 所需硬盘空间:≤5MB; 软件平台:中文Windows95/98/NT 4.0或更高版本; 2.3 条件与限制 一个更为完善的图书管理系统,应提供更为便捷与强大的信息查询功能,如相应的网络操作及服务,由于开发时间和计算机数量有限,该系统并未提供这一功能。对信息的保护手段仅限于设置用户级别,以及提供数据文件的备份,比较简单,不能防止恶意的破坏,安全性能有待进一步完善。 3. 数据描述 3
6、1 静态数据 图书管理系统的静态数据包括: 图书(book):书号(book_code); 书名(title); 作者(author); 出版社(publisher); 价格(price); 摘要(abstract); 状态(status); 图书管理员(administer): 口令(password); 姓名(name); 读者(reader):借阅证号(reader_code); 姓名(name
7、); 联系方法(address); 图书访问记录(recorder): 书号(book_code); 借阅证号(reader_code); 借书日期(out_date); 3.2 动态数据 输入数据:鼠标对按钮的点击 查询方式、查询关键字; 新建图书项、读者项; 图书项、读者项相应纪录更改; 备份数据恢复所需的数据备份文件; 借阅、返还、丢失注销时的图书序号、读者借阅证号; 受限操作所需的密码; 输出数据:查
8、询关键字确定的数据库记录的子集; 统计结果及其格式化文件; 信息录入、删改结果(成功或失败); 图书借阅、返还、丢失注销等操作结果; 数据备份输出的数据备份文件; 内部数据:查询操作建立的索引; 3.3 数据库描述 数据库采用Microsoft Access数据库。 3.4 数据流图和数据词典 《图书管理系统》的总体功能如下: l 图书的出借; l 图书的返回; l 图书信息查询; l 图书的增删改; l 读者的增删改; l 图书管理者查询统计图书和读者信息; 1. 读者借书过程
9、 (1):数据流图: 读者 1 借书 检验 2 借书 登记 图书访问记录 读者库 图书库 检验错误 图书 图书 借书证 借书信息 A B C C 日历 D D A:图书信息; B:读者信息; C:图书访问记录; D:日期; (2):数据词典: l 数据源点及汇点描述: ① 名称:读者 简要描述:借书、还书、查询及登记注册 有关数据流:借书证;所借书本 数目: ② 名称:日历 简要描述:当日日期 有关数据流:年月日 数目: l 加工逻辑词条描述: ① 加工名
10、借书检验 加工编号:1 简要描述:检验读者身份、图书是否入库、读者还能借多少书以此判定读者是否能借书 输入数据流:借书证;所借书本,读者信息,图书信息,图书访问记录,日期 输出数据流:借书错误信息,借书信息 加工逻辑: IF 借书证未登记入库 THEN 发出“借书错误” ELSE IF 图书未登记入库 THEN 发出“借书错误” ELSE IF 读者已借图书和现借图书多于限制数N THEN 发出“借书错误” ELSE IF 读者已借图书中有超期 THE
11、N 发出“借书错误” ELSE 发出“借书信息” ENDIF ENDIF ENDIF ENDIF ② 加工名:借书登记 加工编号:2 简要描述:将“借书信息”登记到“图书访问记录库图书访问记录”中,完成后将书本递交读者 输入数据流:借书信息,日期 输出数据流:图书访问记录,图书 加工逻辑:将借书信息及日期写入图书访问记录; 将图书递交读者 l 数据流名词条描述: ① 数据流名:借书证 说明:用以携带读者的
12、唯一识别标识 数据流来源:读者 数据流去向:借书检验 数据流组成:借书证=借书证号+姓名+联系方法 借书证号=“000000001”..“999999999” 姓名=2{字母}24 联系方法=4{字母}50 每个数据量流通量: ② 数据流名:图书 说明:记录图书的主要相关信息 数据流来源:读者 数据流去向:借书检验 数据流组成:图书=书号+书名+作者+出版社+价格+摘要+状态 书号=“000000001”..“999999999” 书名=2{字母}24 作者=2{字母}24 出版
13、社=2{字母}24 价格=“000.01”..“999.99” 摘要=10{字母}200 状态=1{字母} 每个数据量流通量: ③ 数据流名:检验错误 说明:用于指示读者借书错误信息 数据流来源:借书检验 数据流去向:读者 数据流组成:检验错误=2{字母}40 每个数据量流通量: ④ 数据流名:借书信息 说明:用于传递读者号和图书号 数据流来源:借书检验 数据流去向:借书登记 数据流组成:借书信息=借书证号+书号 每个数据量流通量: ⑤ 数据流名:日期 说明:提供当前日期信息 数据流来源:日历 数据流去向:借书检验,借
14、书登记 数据流组成:日期=年+月+日 年=“0000”..“9999” 月=“01”..“12” 日=“01”..“31” 每个数据量流通量: ⑥ 数据流名:图书访问记录 说明:用于记录读者借书信息 数据流来源:图书访问记录库,借书登记 数据流去向:借书检验 数据流组成:图书访问记录=书号+借阅证号+借书日期 借书日期=日期 每个数据量流通量: ⑦ 数据流名:读者信息 说明:用于记录登记入库的读者信息 数据流来源:读者库 数据流去向:借书检验 数据流组成:读者信息=借书证号+姓名+联系方法 每个数据量流通量:
15、 ⑧ 数据流名:图书信息 说明:用于记录登记入库的图书信息 数据流来源:图书库 数据流去向:借书检验 数据流组成:图书信息=书号+书名+作者+出版社+价格+摘要+状态 每个数据量流通量: l 数据文件词条描述: ① 数据文件名:读者库 简述:存放读者信息 输入数据: 输出数据:读者信息 数据文件组成:读者库由“读者信息”组成 存储方式:关键码 存取频率: ② 数据文件名:图书库 简述:存放图书信息 输入数据: 输出数据:图书信息 数据文件组成:图书库由“图书信息”组成 存储方式:关键码 存取频率: ③ 数据文件名:图书访问记录库 简述:存放图书访问记
16、录信息 输入数据:图书访问记录 输出数据:图书访问记录 数据文件组成:图书访问记录库由“图书访问记录”组成 存储方式:关键码 存取频率: 日历 图书访问记录 还书信息 图书 检验错误 4 还书 登记 3 还书 检验 还书返回信息 2. 读者还书过程: C D C 读者 l 数据源点及汇点描述: l 加工逻辑词条描述: ① 加工名:还书检验 加工编号:3 简要描述:检验图书是否图书室外借图书 输入数据流:图书,图书访问记录 输出数据流:检验错误,还书信息 加工逻辑:IF 书号与数据库数据不符
17、 THEN 发出“检验错误” ELSE 发出“还书信息” ENDIF ② 加工名:还书登记 加工编号:4 简要描述:删除读者对该图书的借书信息,如果超期给出警告及天数 输入数据流:还书信息,日期 输出数据流:图书访问纪录,还书成功 加工逻辑:IF 所还图书超期 THEN 统计超期天数 生成含警告的返回信息 ELSE 删除图书访问记录库中相应的借书记录 生成成功信息 ENDIF 给出还书返回信息 l 数据流名词条描述: ① 数据流名:还书信息 说明
18、用于传递图书书号 数据流来源:还书检验 数据流去向:还书登记 数据流组成:还书信息=书号 每个数据量流通量: ② 数据流名:还书成功 说明:用于通知还书成功 数据流来源:还书登记 数据流去向:读者 数据流组成:还书成功=2{字母}10 每个数据量流通量: l 数据文件词条描述: 3. 读者查询浏览过程: D 读者 5 查询许可检验 6 数据 查询 图书访问记录 读者库 图书库 检验错误 查询信息 借书证 查询信息 日历 A 查询结果 C B l 数据源点及汇点描述: l 加工逻辑词条描述
19、 ① 加工名:查询许可检验 加工编号:5 简要描述:检验读者身份是否有效 输入数据流:借书证,查询信息,读者信息 输出数据流:检验错误,查询信息 加工逻辑:IF 借书证在读者库中不存在 THEN 发出“检验错误” ELSE 发出“查询信息” ENDIF ② 加工名:数据查询 加工编号:6 简要描述:根据所读入的查询信息,检索图书库和图书访问记录库得出相应结果 输入数据流:查询信息,图书信息,图书访问记录,日期 输出数据流:查询结果 加工逻辑:根据所读入的查询信息,检索图书库和图书访问记录库得出相应结果 l 数据
20、流名词条描述: ① 数据流名:查询信息 说明:用于传递查询关键字段 数据流来源:读者,查询许可检验 数据流去向:查询许可检验,数据查询 数据流组成:查询信息=1{字母}50 每个数据量流通量: ② 数据流名:查询结果 说明:用于显示读者查询的结果 数据流来源:数据查询 数据流去向:读者 数据流组成:查询信息=读者信息+图书信息 每个数据量流通量: l 数据文件词条描述: 4. 图书管理员增删改图书: 图书管理员 7 身份 检验 8 增删改 图书 检验错误 图书 管理员信息 操作信息 A 操作确认 管理员库 图书库 G
21、 G:管理员信息 l 数据源点及汇点描述: ① 名称:图书管理员 简要描述:管理图书及读者借书、还书、查询与登记注册 有关数据流:管理员信息,图书,检验错误,操作确认 数目: l 加工逻辑词条描述: ① 加工名:身份验证 加工编号:7 简要描述:根据所读入的管理员信息,检索管理员库验证该人身份 输入数据流:管理员信息,图书 输出数据流:操作信息,检验错误 加工逻辑:根据所读入的管理员信息,检索管理员库验证该人身份 ② 加工名:增删改图书 加工编号:8 简要描述:根据所读入的操作信息,增删改图书库里的内容 输入数据流:操作信息,图书
22、信息 输出数据流:图书信息,操作确认 加工逻辑:根据所读入的操作信息,增删改图书库里的内容 l 数据流名词条描述: ① 数据流名:管理员信息 说明:用于传递图书管理员的身份信息以备验证 数据流来源:图书管理员,管理员库 数据流去向:身份验证 数据流组成:管理员信息=口令+姓名 口令=3{字符}8 姓名=2{字母}24 每个数据量流通量: ② 数据流名:操作信息 说明:用于传递图书管理员的操作命令 数据流来源:身份验证 数据流去向:增删改图书 数据流组成:操作信息=2{字母}50 每个数据量流通量: ③ 数据流名:操作确认 说明:用于
23、传递增删改图书是否成功 数据流来源:增删改图书 数据流去向:图书管理员 数据流组成:操作确认=1{字母}50 每个数据量流通量: l 数据文件词条描述: ① 数据文件名:管理员库 简述:存放管理员信息 输入数据: 输出数据:管理员信息 数据文件组成:管理员库由“管理员信息”组成 存储方式:关键码 存取频率: 5. 图书管理员增删改读者: 图书管理员 9 身份 检验 10 增删改 读者 检验错误 读者 操作信息 操作确认 管理员库 管理员信息 B 读者库 G l 数据源点及汇点描述: l 加
24、工逻辑词条描述: ① 加工名:身份验证 加工编号:9 简要描述:根据所读入的管理员信息,检索管理员库验证该人身份 输入数据流:管理员信息,读者 输出数据流:检验错误,操作确认 加工逻辑:根据所读入的管理员信息,检索管理员库验证该人身份 ② 加工名:增删改图书 加工编号:10 简要描述:根据所读入的操作信息,增删改读者库里的内容 输入数据流:操作信息,读者信息 输出数据流:操作确认,读者信息 加工逻辑:根据所读入的操作信息,增删改读者库里的内容 l 数据流名词条描述: l 数据文件词条描述: 查询信息 身份信息 11 身份 检验 12 数据 查
25、询 图书访问记录 管理员库 图书库 检验错误 查询信息 日历 A 查询结果 C G 图书管理员 D G 6. 图书管理员查询浏览过程: l 数据源点及汇点描述: l 加工逻辑词条描述: ① 加工名:身份检验 加工编号:11 简要描述:检验图书管理员的身份是否有效 输入数据流:身份信息,查询信息,读者信息 输出数据流:检验错误,查询信息 加工逻辑:IF 管理员信息不在管理员库中 THEN 发出“检验错误” ELSE 发出“查询信息” ENDIF ② 加工名:数据查询 加
26、工编号:12 简要描述:根据所读入的查询信息,检索读者库、图书库和图书访问记录库得出相应结果 输入数据流:查询信息,图书信息,读者信息,图书访问记录,日期 输出数据流:查询结果 加工逻辑:根据所读入的查询信息,检索读者库、图书库和图书访问记录库得出相应结果 l 数据流名词条描述: l 数据文件词条描述: 3.5 数据采集 数据采集采用键盘输入。 4. 功能需求 4.1 功能划分 该软件具有如下主要功能: 1. 浏览功能; 2. 查询功能; 3. 插入功能; 4. 修改功能; 5. 删除功能; 6. 授权功能; 4.2 功能描述
27、 1. 浏览功能 l 列出当前数据库文件中书籍和读者的所有记录; l 可选定一项记录,显示所有域; 2. 查询功能 l 书目匹配查询; l 读者匹配查询; l 书目和读者相关匹配查询; 3. 插入功能 l 增加一个书目记录; l 增加一个读者记录; 4. 修改功能 l 修改某一已存在的记录内容,提供确认机制; 5. 删除功能 l 删除一个记录,提供确认机制; 6. 授权功能; l 授权读者访问数据的权限; 5. 性能需求 5.1 数据精确度 查询时应保证查全率,所有在相应域中包含查询关键字的记录都应能查到,同时保证查准率。 5.2 时间特性 一般操作的响应时间应在1-2秒内。 5.3 适应性 满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运行要求。 6. 运行需求 6.1 用户界面 采用对话框方式,多功能窗口运行。 6.2 硬件接口 支持各种x86系列PC机。 6.3 软件接口 运行于Windows95/98及更高版本具有WIN32 API的操作系统之上。 6.4 故障处理 正常使用时不应出错,对于用户的输入错误应给出适当的改正提示。若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。






