1、引言: 1.1 编写目: 编写目: 拟定图书管理系统功能及有效性需求,以供软件开发人员参照。 1.2 项目背景: 项目背景: 本项目名称:图书管理系统 本项目应用范畴:中型图书室 开发者:电信科学技术研究院研究生部 顾客:开发人员 1.3 定义: 定义: LMS :Library Management System Title:记录图书馆内所有类图书信息并可进行查询。 Item:记录馆内每一本图书状态,并提供查询、记录、打印功能。 Borrower Information:记录读者信息并可进行查询。 Loan:对图书出借、归还、续借进行管理并可进行查询。 Reservation:提供预约与取消
2、预约功能。 1.4 参照资料: 参照资料: 实用软件工程 (第二版) 软件工程Java 语言实现 实践者研究办法 郑人杰 殷人昆 陶永雷 清华大学出版社 机械工业出版社 机械工业出版社 Stephen R. Schach Roger S. Pressman2.任务概述: 任务概述: 2.1 目的: 目的: 该图书管理系统针对顾客是中型图书室,藏书种类涉及中、英、俄、德、日文书籍和期刊,读者数量和来源仅限于本单位职工及通过馆际互借承认读者。相应需求有: 1可以存储一定数量图书信息,并以便有效进行相应书籍数据操作和管理,这重要包 括: 图书信息录入、删除及修改。 图书信息多核心字检索查询。 图书出
3、借、返还和资料记录。 图书远程预约和续借。 馆际互借(通过电子邮件或现场录入) 读者信息登记、删除及修改。 读者资料记录与查询。2可以对一定数量读者进行相应信息存储与管理,这其中涉及:3可以对需要记录成果提供打印输出。 4可以提供一定安全机制,提供数据信息授权访问,防止随意删改,同步提供信息备份 服务。 2.2 运营环境: 运营环境: 本系统采用 C/S 体系构造,由一台服务器与各种客户机构成, 配备如下: 服务器: 硬件:80x86 系列微机 CPU:733 以上 内存:256M 以上 硬盘空间:40G 以上 软件:Windows Server、Access 等 工作站: 硬件:80x86
4、系列微机 CPU:166 以上 内存:16以上 硬盘空间:2G 以上 软件:Windows 9x 或 Windows professional 、Access 等 。 输入输出设备:扫描仪、打印机等。 网络设备:Hub、网卡、网线等。 2.3 需求概述: 需求概述: 通过计算机实现对图书馆图书入库、借阅、归还、检索、读者管理、查询管理功能。 2.4 条件与限制: 条件与限制: 规定图书管理员会个般计算机操作,会中文输入。规定顾客界面有好,提供协助。 3功能模型: 功能模型: 3.1 用例: 用例:图书管理员检索 借书者 远程预约增长标题远程续借 借出书目 归还书目 续借删除或 更新标题 增长书
5、目 删除或更新 书目 预约 删除预约 查询 增长借书者维护删除或更新 借书者图书管理员记录 打印图1-1 图书管理系统用例图 借出书目(Lend Item) 返回书目 (Return Item) 预约 (Make Reservation) 删除预约 (Remove Reservation)3 续借(Continue Lend) 查询 (Query) 记录 (Statistic) 打印 (Print) 读者检索 (Borrower Query) 远程预约 (Remote Reservation) 远程续借 (Remote Continue Lend) 增长标题 (Add Title) 更新或删除
6、标题 (Update or Remove Title) 增长书目 (Add Item) 更新或删除书目 (Remove Item) 增长读者 (Add Borrower) 更新或删除读者 (Update or Remove Borrower)3.2 类模型: 类模型:Item -id :int +find on title() +find on id() +find on reservation() +query() :void +Statistic () :void +print() :void 1 Title +ISBN :string(idl) 1.* 1 +find() +query(
7、) 1 0.* -Title -ReservationReservation -date :Date -find() 0.* Loan -date :Date +query() Borrower Information 0.* 1 -id :string(idl) +find() +query() 0.* 1 -Reservation -Borrower Information图1-2 类模型3.3:动态建模: :动态建模: 【借出书目】 借出书目】 (1)借书者没有预约: 输入标题 显示该标题下书目 输入借书者 增长一条新借书记录4:Lending Window:TitleBorrower
8、Information:Loan:Item图书管理员1:find title() 2:find(String)3:find item() 4:find on title(Title)5:identify borrower() 6:find(String) 7:Add()图1-3 借出书目序列图(没有 预约)(2)借书者已预约 输入标题 显示该标题下书目 输入借书者 增长一条新借书记录 删除预约记录:Lending Window:TitleBorrower Information:Loan:Item:Reservation图书管理员1:find title() 2:find(String)3:f
9、ind item() 4:find on title(Title)5:identify borrower() 6:find(String) 7:Add() 8:Delete()图1-4 借出书目序列图(已预约)5【返还书目】 返还书目】 (1)没有超期: 输入标题 显示该标题下书目 输入书目 输入借书者 增长一条新还书记录 更新该书目记录:Lending Window :Title Borrower Information :Loan :Item图书管理员1:find title() 2:find(String)3:identify borrower() 4:find(String)5:fin
10、d item()6:find (Title,borrower) 7:Add(String)8:Update()图1-5 借出书目序列图(未超期)(2)已超期或丢失 输入标题 显示该标题下书目 输入书目 输入借书者 计算罚款金额 增长一条新罚款记录 增长一条新还书记录 更新该书目记录 【预约】 预约】 输入标题 输入借书者 增长一条新预约记录 【取消预约】 取消预约】 输入标题6输入借书者 删除该预约记录 (再借一次) 【续借】 续借】 输入标题 显示该标题下书目 输入书目 输入读者 增长一条新还书记录 增长一条新借书记录 【查询】 查询】 (1)书目查询: 输入与书目有关核心值 显示符合条件书
11、目 (2)读者信息查询 输入与读者有关核心值 显示符合条件读者信息 (3)书目借出状况查询 输入标题 显示符合条件借阅信息 (4)读者借阅状况查询 输入读者 显示符合条件借阅信息 (图书状态记录) 【记录】 记录】 输入记录条件 显示记录成果 【读者检索】 读者检索】 输入与标题有关核心值 提交 显示该标题下符合条件书目 【远程预约】 远程预约】 输入标题 输入借书者 提交 增长一条新预约记录 【远程续借】 远程续借】7输入标题 显示该标题下书目 输入书目 输入读者 提交 增长一条新还书记录 增长一条新借书记录 【增长标题】 增长标题】 输入标题 增长一条新标题记录:Title Frame:T
12、itle图书管理员1:Title Frame()2:addButton_Clicked() 3:find on ISBN(String)4:AddTitle()图1-3 增长标题序列图【更新或删除标题】 更新或删除标题】 输入标题 显示该标题记录 更新或删除标题该记录 【增长书目】 增长书目】 输入标题 输入书目 增长一条新书目记录 【更新或删除标题】 更新或删除标题】 输入标题 显示该标题下书目 输入书目 显示该书目记录8更新或删除该书目记录 【增长读者】 增长读者】 输入读者 增长一条新读者记录 【更新或删除读者】 更新或删除读者】 输入读者 显示该读者记录 更新或删除该读者记录 3.4
13、功能建模: 功能建模:拟定有效性 标题 标题 书目增长更新删除标题 增长更新删除书目拟定有效性书目日期管理员增长更新删除读者拟定有效性读者信息读者信息预约或 取消预约预约借出 返还 续借Loan有关操作查询 记录 打印 返回成果验证输入 信息有效性并解决借出信息 预约信息日期罚款信息 归还信息9读者信息读者信息远程续借拟定有效性借出信息 读者信息借出信息日期日期读者信息读者远程预约拟定有效性读者信息日期Item预约信息 检索 查询成果Title按规定检索预约信息图书信息5.数据对象模型: 数据对象模型: 数据对象模型 5.1 对象关联图(ERD) 对象关联图( ) :10图书分类出版社图书借阅
14、级别图书管理员读者借阅级别图书续借信息 标题图书流通信息 书目 读者信息图书预约信息图书罚款信息5.2对象规范阐明: 对象规范阐明: 对象规范阐明 5.2.1图书管理员信息: 图书管理员信息: 图书管理员信息 目的: 目的:建立管理员登录信息,提供安全机制。 关联其她数据对象: 关联其她数据对象:无 属性阐明: 属性阐明: PrimaryKey ForeignKey UniqueKey IndexKey 属性名 顾客名 密码 级别 描述 5.2.2 图书编目信息: 图书编目信息: 目的: 目的:便于管理、查找、查询。 关联其她数据对象: 关联其她数据对象:图书编目 属性阐明: 属性阐明: 顾客
15、名 类型.长度 2字节30 2字节30 2 字节 0字节50 值域 阐明 顾客名 无11PrimaryKey ForeignKey UniqueKey IndexKey 属性名 类别编码 类别 备注 5.2.3 标题: 标题:类别 无 类别 类别 类型.长度 2字节10 2字节10 0字节50 值域 阐明目的: 目的:建立图书标题库,便于图书管理。 关联其她数据对象: 关联其她数据对象: 图书分类、出版社、图书库存信息。 属性阐明: 属性阐明: PrimaryKey ForeignKey UniqueKey IndexKey 属性名 ISBN 书名 查询名称 类别 数 出版日期 定价 作者 出
16、版社 内容简介 2字节30 2字节30 2字节30 2字节10 年+月+日 “0000.01”. “9999.99” 2字节12 2字节10 2字节50 书号 类型.长度 值域 阐明 书号数据量预测阐明: 数据量预测阐明: 年数椐量 2M 5.2.4 出版社: 出版社: 目的: 目的: 记录出版社信息。 关联其她数据对象: 关联其她数据对象:图书编目 属性阐明: 属性阐明: 数据增长率 1% 极限数据量 10M 备注 每年约增长图书 2 万本12PrimaryKey ForeignKey UniqueKey IndexKey 属性名 出版社编号 出版社名称 电话 地址 5.2.5 图书借阅级别
17、: 图书借阅级别: 目的: 目的:顾客名顾客名 类型.长度 2字节4 2字节30 2字节10 2字节30 值域 阐明将图书划分为不同级别,提供不同借阅权限。 关联其她数据对象: 关联其她数据对象:图书库存信息 属性阐明: 属性阐明: PrimaryKey ForeignKey UniqueKey IndexKey 属性名 借阅级别 借阅级别阐明 借阅天数 超期罚款 遗失赔率 备注 2字节4 2字节30 2字节2 “0000.01”. “9999.99” “1.00”.”20” 2字节30 顾客名 类型.长度 值域 阐明 顾客名5.2.6 图书库存信息(书目) 图书库存信息(书目) : 目的:
18、目的:建立图书库存信息,便于图书借阅、管理。 关联其她数据对象: 关联其她数据对象: 图书编目、图书借出信息、图书归还信息 属性阐明: 属性阐明: PrimaryKey ForeignKey UniqueKey IndexKey 属性名 ISBN id 借阅级别 状态 书号 类型.长度 2字节30 2字节10 2字节10 2字节2 值域 阐明 书号13数据量预测阐明: 数据量预测阐明: 年数椐量 20M 5.2.7 读者借阅级别: 读者借阅级别: 目的: 目的: 将读者划分为不同级别,予以不同读者不同借阅权限。 关联其她数据对象: 关联其她数据对象:读者信息、图书借出信息、图书归还信息、图书预
19、约信息 属性阐明: 属性阐明: PrimaryKey ForeignKey UniqueKey IndexKey 属性名 借阅级别 借阅级别阐明 最大借书数 最长借书时间 最大续借次数 押金 租金 5.2.8 读者信息: 读者信息: 目的: 目的: 记录读者信息。 关联其她数据对象: 关联其她数据对象:读者借阅级别、图书借出信息、图书归还信息、图书预约信息 属性阐明: 属性阐明: PrimaryKey ForeignKey UniqueKey IndexKey 属性名 证号 姓名 性别 借阅级别 证件名称 证件编号 电话 家庭住址 证号 类型.长度 2字节15 2字节20 2字节2 2字节2
20、2字节15 2字节20 2字节20 2字节30 值域 阐明 证号 2字节2 2字节10 2字节2 2字节2 2字节2 “0.00”. “400.00” “0.00”. “400.00” 顾客名 类型.长度 值域 阐明 顾客名 数据增长率 1 极限数据量 100M 备注 每年约增长图书 2 万本年数据量预测阐明: 年数据量预测阐明:14年数椐量 1M 5.2.9 图书流通信息: 图书流通信息: 目的: 目的: 记录图书流通信息。数据增长率 10%极限数据量 4M备注关联其她数据对象: 关联其她数据对象:图书信息、读者信息 属性阐明: 属性阐明: PrimaryKey ForeignKey Uni
21、queKey IndexKey 属性名 证号 书号 借出时间 应还时间 年数据量预测阐明: 年数据量预测阐明: 年数椐量 40M 5.2.10 图书续借信息: 图书续借信息: 目的: 目的: 记录读者续借信息 关联其她数据对象: 关联其她数据对象:图书库存信息、读者信息、图书借出信息 属性阐明: 属性阐明: PrimaryKey ForeignKey UniqueKey IndexKey 属性名 证号 书号 续借日期 应还日期 续借次数 5.2.11 图书罚款信息: 图书罚款信息: 目的: 目的: 记录读者罚款信息 证号、书号 无 证号、书号、续借日期、应还日期、续借次数 证号、书号 类型.长
22、度 2字节15 2字节15 年+月+日 年+月+日 2字节2 值域 阐明 数据增长率 10% 极限数据量 100M 备注 证号、书号 证号、书号 类型.长度 2字节20 2字节15 年+月+日 年+月+日 值域 阐明 证号、书号15关联其她数据对象: 关联其她数据对象:图书库存信息、读者信息、读者借阅级别、图书借出信息、图书 续借信息、图书超期罚款、图书遗失赔率。 属性阐明: 属性阐明: PrimaryKey ForeignKey UniqueKey IndexKey 属性名 证号 书号 归还日期 操作类别 罚款金额 5.2.12 图书预约信息: 图书预约信息: 目的: 目的: 建立管理员登录
23、信息,提供安全机制。 关联其她数据对象: 关联其她数据对象:图书信息、借书证、借书证分类 属性阐明: 属性阐明: PrimaryKey ForeignKey UniqueKey IndexKey 属性名 证号 书号 预约日期 6业务规则模型 6.1借出: 借出: 借出 关联对象:关联对象 图书信息、读者信息、读者借阅级别、图书借阅级别、图书借出信息 规则阐明 读者已借书数未超过最大借书数、该书有库存,并且该读者拥有借阅该书权限,则执行 该操作。 6.2 罚款: 罚款: 关联对象:图书编目、读者借阅级别、图书借阅级别、流通信息、罚款信息 规则阐明: 规则阐明: 1.超期罚款:超期天数超期罚款率。
24、 2.丢失罚款:图书价格丢失赔率16证号、书号 证号、书号、归还日期、操作类别、罚款金额 证号、书号 类型.长度 2字节20 2字节20 年+月+日 2字节2 “0.00”. “400.00” 值域 阐明证号、书号 证号、书号、预约日期 证号、书号 类型.长度 2字节20 2字节20 年+月+日 值域 阐明7.环境 环境 7.1 网络环境 以太局域网 7.2 硬件环境 开发硬件环境: 计算机数量:3 台。 每台机器配备: 解决器:733 内存:256 硬盘:20G 输入输出设备:打印机等。 网络设备:Hub、网卡、网线等。 运营硬件环境: 计算机数量:30 台 本系统采用 C/S 体系构造,由
25、一台服务器与各种客户机构成, 配备如下: 服务器: 硬件:80x86 系列微机 CPU:733 以上 内存:256M 以上 硬盘空间:40G 以上 软件:Windows Server、Access 等 工作站: 硬件:80x86 系列微机 CPU:166 以上 内存:16以上 硬盘空间:2G 以上 软件:Windows 9x 或 Windows professional 、Access 等 。 输入输出设备:扫描仪、打印机等。 网络设备:Hub、网卡、网线等。 7.3 软件环境 应用软件开发环境: 应用软件开发环境: 操作系统:Windows professional 数据库软件:Access 编程工具、编程语言:Java 应用软件使用运营环境: 应用软件使用运营环境: 操作系统:Windows 9X/ 数据库软件:Access 7.4 外部接口 和其她软件系统数据接口:ODBC 8. 安全保密 提供顾客登录机制,不同级别顾客拥有不同权限。