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