1. 引言:
1.1 编写目的:
确定图书管理系统的功能及有效性需求,以供软件开发人员参考。
1.2 项目背景:
本项目的名称:图书管理系统
本项目的应用范围:中型图书室
开发者:电信科学技术研究院研究生部
用户:开发人员
1.3 定义:
LMS :Library Management System
Title:记录图书馆内所有类图书的信息并可进行查询。
Item:记录馆内每一本图书的状态,并提供查询、统计、打印功能。
BorrowerInformation:记录读者信息并可进行查询。
Loan:对图书的出借、归还、续借进行管理并可进行查询。
Reservation:提供预约与取消预约功能。
1.4 参考资料:
《实用软件工程》(第二版) 郑人杰 殷人昆 陶永雷 清华大学出版社
《软件工程——Java语言实现》 Stephen R. Schach 机械工业出版社
《实践者的研究方法》 Roger S. Pressman 机械工业出版社
2. 任务概述:
2.1目标:
该《图书管理系统》针对的用户是中型图书室,藏书的种类包括中、英、俄、德、日文书籍和期刊,读者的数量和来源仅限于本单位职工及通过馆际互借认可的读者。相应的需求有:
1>能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:
* 图书信息的录入、删除及修改。
* 图书信息的多关键字检索查询。
* 图书的出借、返还和资料统计。
* 图书的远程预约和续借。
* 馆际互借(通过电子邮件或现场录入)
2>能够对一定数量的读者进行相应的信息存储与管理,这其中包括:
* 读者信息的登记、删除及修改。
* 读者资料的统计与查询。
3>能够对需要的统计结果提供打印输出。
4>能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。
2.2运行环境:
本系统采用C/S体系结构,由一台服务器与多个客户机组成,
配置如下:
服务器:
硬件:80x86系列微机
CPU:733以上
内存:256M以上
硬盘空间:40G以上
软件:WindowsServer、Access等
工作站:
硬件:80x86系列微机
CPU:166以上
内存:16M以上
硬盘空间:2G以上
软件:Windows9x或Windows 2000 professional 、Access等 。
输入输出设备:扫描仪、打印机等。
网络设备:Hub、网卡、网线等。
2.3需求概述:
通过计算机实现对图书馆图书入库、借阅、归还、检索、读者管理、查询的管理功能。
2.4条件与限制:
要求图书管理员会个般的计算机操作,会中文输入。要求用户界面有好,提供帮助。
3.功能模型:
3.1用例:
· 借出书目(Lend Item)
· 返回书目 (Return Item)
· 预约 (Make Reservation)
· 删除预约 (Remove Reservation)
· 续借(Continue Lend)
· 查询 (Query)
· 统计 (Statistic)
· 打印 (Print)
· 读者检索 (Borrower Query)
· 远程预约 (Remote Reservation)
· 远程续借 (Remote Continue Lend)
· 增加标题 (Add Title)
· 更新或删除标题 (Update or Remove Title)
· 增加书目 (Add Item)
· 更新或删除书目 (Remove Item)
· 增加读者 (Add Borrower)
· 更新或删除读者 (Update or Remove Borrower)
3.2类模型:
3.3:动态建模:
【借出书目】
(1)借书者没有预约:
输入标题 |
显示该标题下的书目 |
输入借书者 |
增加一条新的借书记录 |
(2)借书者已预约
输入标题 |
显示该标题下的书目 |
输入借书者 |
增加一条新的借书记录 |
删除预约记录 |
【返还书目】
(1)没有超期:
输入标题 |
显示该标题下的书目 |
输入书目 |
输入借书者 |
增加一条新的还书记录 |
更新该书目的记录 |
(2)已超期或丢失
输入标题 |
显示该标题下的书目 |
输入书目 |
输入借书者 |
计算罚款金额 |
增加一条新的罚款记录 |
增加一条新的还书记录 |
更新该书目的记录 |
【预约】
输入标题 |
输入借书者 |
增加一条新的预约记录 |
【取消预约】
输入标题 |
输入借书者 |
删除该预约记录 |
【续借】(再借一次)
输入标题 |
显示该标题下的书目 |
输入书目 |
输入读者 |
增加一条新的还书记录 |
增加一条新的借书记录 |
【查询】
(1)书目查询:
输入与书目相关的关键值 |
显示符合条件的书目 |
(2)读者信息查询
输入与读者相关的关键值 |
显示符合条件的读者信息 |
(3)书目借出情况查询
输入标题 |
显示符合条件的借阅信息 |
(4)读者借阅情况查询
输入读者 |
显示符合条件的借阅信息 |
【统计】(图书状态统计)
输入统计条件 |
显示统计结果 |
【读者检索】
输入与标题相关的关键值 |
提交 |
显示该标题下符合条件的书目 |
【远程预约】
输入标题 |
输入借书者 |
提交 |
增加一条新的预约记录 |
【远程续借】
输入标题 |
显示该标题下的书目 |
输入书目 |
输入读者 |
提交 |
增加一条新的还书记录 |
增加一条新的借书记录 |
【增加标题】
输入标题 |
增加一条新的标题记录 |
【更新或删除标题】
输入标题 |
显示该标题记录 |
更新或删除标题该记录 |
【增加书目】
输入标题 |
输入书目 |
增加一条新的书目记录 |
【更新或删除标题】
输入标题 |
显示该标题下的书目 |
输入书目 |
显示该书目记录 |
更新或删除该书目记录 |
【增加读者】
输入读者 |
增加一条新的读者记录 |
【更新或删除读者】
输入读者 |
显示该读者记录 |
更新或删除该读者记录 |
3.4功能建模:
5.数据对象模型:
5.1对象关联图(ERD):
5.2对象规范说明:
5.2.1图书管理员信息:
目标:建立管理员登录信息,提供安全机制。
关联其他数据对象:无
属性说明:
PrimaryKey |
用户名 |
||
ForeignKey |
无 |
||
UniqueKey |
|
||
IndexKey |
用户名 |
||
属性名 |
类型.长度 |
值域 |
说明 |
用户名 |
2{字节}30 |
|
|
密码 |
2{字节}30 |
|
|
级别 |
2字节 |
|
|
描述 |
0{字节}50 |
|
|
5.2.2 图书编目信息:
目标:便于管理、查找、查询。
关联其他数据对象:图书编目
属性说明:
PrimaryKey |
类别 |
||
ForeignKey |
无 |
||
UniqueKey |
类别 |
||
IndexKey |
类别 |
||
属性名 |
类型.长度 |
值域 |
说明 |
类别编码 |
2{字节}10 |
|
|
类别 |
2{字节}10 |
|
|
备注 |
0{字节}50 |
|
|
5.2.3 标题:
目标:建立图书标题库,便于图书的管理。
关联其他数据对象:
图书分类、出版社、图书库存信息。
属性说明:
PrimaryKey |
书号 |
||
ForeignKey |
|
||
UniqueKey |
|
||
IndexKey |
书号 |
||
属性名 |
类型.长度 |
值域 |
说明 |
ISBN |
2{字节}30 |
|
|
书名 |
2{字节}30 |
|
|
查询名称 |
2{字节}30 |
|
|
类别 |
2{字节}10 |
|
|
出版日期 |
年+月+日 |
|
|
定价 |
“0000.01”.. “9999.99” |
|
|
作者 |
2{字节}12 |
|
|
出版社 |
2{字节}10 |
|
|
内容简介 |
2{字节}50 |
|
|
数
数据量预测说明:
年数椐量 |
数据增长率 |
极限数据量 |
备注 |
2M |
1% |
10M |
每年约增加图书2万本 |
5.2.4 出版社:
目标:
记录出版社信息。
关联其他数据对象:图书编目
属性说明:
PrimaryKey |
用户名 |
||
ForeignKey |
|
||
UniqueKey |
|
||
IndexKey |
用户名 |
||
属性名 |
类型.长度 |
值域 |
说明 |
出版社编号 |
2{字节}4 |
|
|
出版社名称 |
2{字节}30 |
|
|
电话 |
2{字节}10 |
|
|
地址 |
2{字节}30 |
|
|
5.2.5 图书借阅等级:
目标:
将图书划分为不同级别,提供不同的借阅权限。
关联其他数据对象:图书库存信息
属性说明:
PrimaryKey |
用户名 |
||
ForeignKey |
|
||
UniqueKey |
|
||
IndexKey |
用户名 |
||
属性名 |
类型.长度 |
值域 |
说明 |
借阅等级 |
2{字节}4 |
|
|
借阅等级说明 |
2{字节}30 |
|
|
借阅天数 |
2{字节}2 |
|
|
超期罚款 |
“0000.01”.. “9999.99” |
|
|
遗失赔率 |
“1.00”..”20” |
|
|
备注 |
2{字节}30 |
|
|
5.2.6 图书库存信息(书目):
目标:建立图书库存信息,便于图书的借阅、管理。
关联其他数据对象:
图书编目、图书借出信息、图书归还信息
属性说明:
PrimaryKey |
书号 |
||
ForeignKey |
|
||
UniqueKey |
|
||
IndexKey |
书号 |
||
属性名 |
类型.长度 |
值域 |
说明 |
ISBN |
2{字节}30 |
|
|
id |
2{字节}10 |
|
|
借阅等级 |
2{字节}10 |
|
|
状态 |
2{字节}2 |
|
|
数据量预测说明:
年数椐量 |
数据增长率 |
极限数据量 |
备注 |
20M |
1% |
100M |
每年约增加图书2万本 |
5.2.7 读者借阅等级:
目标:
将读者划分为不同级别,给予不同读者不同的借阅权限。
关联其他数据对象:读者信息、图书借出信息、图书归还信息、图书预约信息
属性说明:
PrimaryKey |
用户名 |
||
ForeignKey |
|
||
UniqueKey |
|
||
IndexKey |
用户名 |
||
属性名 |
类型.长度 |
值域 |
说明 |
借阅等级 |
2{字节}2 |
|
|
借阅等级说明 |
2{字节}10 |
|
|
最大借书数 |
2{字节}2 |
|
|
最长借书时间 |
2{字节}2 |
|
|
最大续借次数 |
2{字节}2 |
|
|
押金 |
“0.00”.. “400.00” |
|
|
租金 |
“0.00”.. “400.00” |
|
|
5.2.8 读者信息:
目标:
记录读者信息。
关联其他数据对象:读者借阅等级、图书借出信息、图书归还信息、图书预约信息
属性说明:
PrimaryKey |
证号 |
||
ForeignKey |
|
||
UniqueKey |
|
||
IndexKey |
证号 |
||
属性名 |
类型.长度 |
值域 |
说明 |
证号 |
2{字节}15 |
|
|
姓名 |
2{字节}20 |
|
|
性别 |
2{字节}2 |
|
|
借阅等级 |
2{字节}2 |
|
|
证件名称 |
2{字节}15 |
|
|
证件编号 |
2{字节}20 |
|
|
电话 |
2{字节}20 |
|
|
家庭住址 |
2{字节}30 |
|
|
年数据量预测说明:
年数椐量 |
数据增长率 |
极限数据量 |
备注 |
1M |
10% |
4M |
|
5.2.9 图书流通信息:
目标:
记录图书流通信息。
关联其他数据对象:图书信息、读者信息
属性说明:
PrimaryKey |
证号、书号 |
||
ForeignKey |
|
||
UniqueKey |
证号、书号 |
||
IndexKey |
证号、书号 |
||
属性名 |
类型.长度 |
值域 |
说明 |
证号 |
2{字节}20 |
|
|
书号 |
2{字节}15 |
|
|
借出时间 |
年+月+日 |
|
|
应还时间 |
年+月+日 |
|
|
年数据量预测说明:
年数椐量 |
数据增长率 |
极限数据量 |
备注 |
40M |
10% |
100M |
|
5.2.10 图书续借信息:
目标:
记录读者续借信息
关联其他数据对象:图书库存信息、读者信息、图书借出信息
属性说明:
PrimaryKey |
证号、书号 |
||
ForeignKey |
无 |
||
UniqueKey |
证号、书号、续借日期、应还日期、续借次数 |
||
IndexKey |
证号、书号 |
||
属性名 |
类型.长度 |
值域 |
说明 |
证号 |
2{字节}15 |
|
|
书号 |
2{字节}15 |
|
|
续借日期 |
年+月+日 |
|
|
应还日期 |
年+月+日 |
|
|
续借次数 |
2{字节}2 |
|
|
5.2.11 图书罚款信息:
目标:
记录读者罚款信息
关联其他数据对象:图书库存信息、读者信息、读者借阅等级、图书借出信息、图书续借信息、图书超期罚款、图书遗失赔率。
属性说明:
PrimaryKey |
证号、书号 |
||
ForeignKey |
|
||
UniqueKey |
证号、书号、归还日期、操作类别、罚款金额 |
||
IndexKey |
证号、书号 |
||
属性名 |
类型.长度 |
值域 |
说明 |
证号 |
2{字节}20 |
|
|
书号 |
2{字节}20 |
|
|
归还日期 |
年+月+日 |
|
|
操作类别 |
2{字节}2 |
|
|
罚款金额 |
“0.00”.. “400.00” |
|
|
5.2.12 图书预约信息:
目标:
建立管理员登录信息,提供安全机制。
关联其他数据对象:图书信息、借书证、借书证分类
属性说明:
PrimaryKey |
证号、书号 |
||
ForeignKey |
|
||
UniqueKey |
证号、书号、预约日期 |
||
IndexKey |
证号、书号 |
||
属性名 |
类型.长度 |
值域 |
说明 |
证号 |
2{字节}20 |
|
|
书号 |
2{字节}20 |
|
|
预约日期 |
年+月+日 |
|
|
6.业务规则模型
6.1借出:
关联对象:
图书信息、读者信息、读者借阅等级、图书借阅等级、图书借出信息
规则说明
读者已借书数未超过最大借书数、该书有库存,而且该读者拥有借阅该书的权限,则执行该操作。
6.2 罚款:
关联对象:图书编目、读者借阅等级、图书借阅等级、流通信息、罚款信息
规则说明:
1.超期罚款:超期天数*超期罚款率。
2.丢失罚款:图书价格*丢失赔率
7.环境
7.1 网络环境
以太局域网
7.2 硬件环境
开发硬件环境:
计算机数量:3台。
每台机器的配置:
处理器:733
内存:256
硬盘:20G
输入输出设备:打印机等。
网络设备:Hub、网卡、网线等。
运行硬件环境:
计算机数量:30台
本系统采用C/S体系结构,由一台服务器与多个客户机组成,
配置如下:
服务器:
硬件:80x86系列微机
CPU:733以上
内存:256M以上
硬盘空间:40G以上
软件:WindowsServer、Access等
工作站:
硬件:80x86系列微机
CPU:166以上
内存:16M以上
硬盘空间:2G以上
软件:Windows9x或Windows 2000 professional 、Access等 。
输入输出设备:扫描仪、打印机等。
网络设备:Hub、网卡、网线等。
7.3 软件环境
应用软件开发环境:
操作系统:Windows 2000 professional
数据库软件:Access
编程工具、编程语言:Java
应用软件使用运行环境:
操作系统:Windows 9X/2000
数据库软件:Access
7.4 外部接口
和其他软件系统的数据接口:ODBC
8. 安全保密
提供用户登录机制,不同级别的用户拥有不同的权限。
文档编号:LMS_1
版 本 号:V1.0
文档名称:概要设计说明书
项目名称:图书管理系统
项目负责人:计敏 胡杰
编 写:计敏 胡杰 2002年5月24日
校 对:胡杰
审 核:
批 准:
开发单位:电信科学技术研究院研究生部2001级
引言:
1.1 编写目的:
确定图书馆管理系统的总体设计、总体结构、模块设计、接口设计为详细设计奠定基础。
1.2 项目背景:
说明:
本项目的名称:图书管理系统
本项目的应用范围:中型图书室
开发者:电信科学技术研究院研究生部
用户:开发人员
1.3 定义:
LMS :Library Management System
Title:记录图书馆内所有类图书的信息并可进行查询。
Item:记录馆内每一本图书的状态,并提供查询、统计、打印功能。
BorrowerInformation:记录读者信息并可进行查询。
Loan:对图书的出借、归还、续借进行管理并可进行查询。
Reservation:提供预约与取消预约功能。
1.4 参考资料:
《实用软件工程》(第二版) 郑人杰 殷人昆 陶永雷 清华大学出版社
《软件工程——Java语言实现》 Stephen R. Schach 机械工业出版社
《实践者的研究方法》 Roger S. Pressman 机械工业出版社
《需求分析规格说明书》
2. 任务概述:
2.1目标: