软件开发与项目管理KC0210000003图书管理系统需求分析.docx
《软件开发与项目管理KC0210000003图书管理系统需求分析.docx》由会员分享,可在线阅读,更多相关《软件开发与项目管理KC0210000003图书管理系统需求分析.docx(29页珍藏版)》请在冰点文库上搜索。
软件开发与项目管理KC0210000003图书管理系统需求分析
模块二需求分析案例
——图书管理系统需求分析
1.引言
1.1编写目的
确定图书管理系统的功能及有效性需求,以供软件开发人员参考。
1.2项目背景
本项目的名称:
图书管理系统;
本项目的应用范围:
中型图书室;
开发者:
电信科学技术研究院研究生部;
用户:
开发人员。
1.3定义
LMS:
LibraryManagementSystem
Title:
记录图书馆内所有类图书的信息并可进行查询。
Item:
记录馆内每一本图书的状态,并提供查询、统计、打印功能。
BorrowerInformation:
记录读者信息并可进行查询。
Loan:
对图书的出借、归还、续借进行管理并可进行查询。
Reservation:
提供预约与取消预约功能。
1.4参考资料
(1)《实用软件工程》(第二版)郑人杰殷人昆陶永雷清华大学出版社;
(2)《软件工程——Java语言实现》StephenR.Schach机械工业出版社;
(3)《实践者的研究方法》RogerS.Pressman机械工业出版社。
2.任务概述
2.1目标
该《图书管理系统》针对的用户是中型图书室,藏书的种类包括中、英、俄、德、日文书籍和期刊,读者的数量和来源仅限于本单位职工及通过馆际互借认可的读者。
相应的需求有:
1.能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:
●图书信息的录入、删除及修改;
●图书信息的多关键字检索查询;
●图书的出借、返还和资料统计;
●图书的远程预约和续借;
●馆际互借(通过电子邮件或现场录入)。
2.能够对一定数量的读者进行相应的信息存储与管理,这其中包括:
●读者信息的登记、删除及修改;
●读者资料的统计与查询。
3.能够对需要的统计结果提供打印输出。
4.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。
2.2运行环境
本系统采用C/S体系结构,由一台服务器与多个客户机组成,配置如下:
(1)服务器
硬件:
80x86系列微机
CPU:
733以上
内存:
256M以上
硬盘空间:
40G以上
软件:
WindowsServer、Access等
(2)工作站
硬件:
80x86系列微机
CPU:
166以上
内存:
16M以上
硬盘空间:
2G以上
软件:
Windows9x或Windows2000professional、Access等。
(3)输入输出设备:
扫描仪、打印机等。
(4)网络设备:
Hub、网卡、网线等。
2.3需求概述
通过计算机实现对图书馆图书入库、借阅、归还、检索、读者管理、查询的管理功能。
2.4条件与限制
要求图书管理员会个般的计算机操作,会中文输入。
要求用户界面有好,提供帮助。
3.功能模型:
3.1用例
图1 图书管理系统用例图
∙借出书目(LendItem)
∙返回书目(ReturnItem)
∙预约(MakeReservation)
∙删除预约(RemoveReservation)
∙续借(ContinueLend)
∙查询(Query)
∙统计(Statistic)
∙打印(Print)
∙读者检索(BorrowerQuery)
∙远程预约(RemoteReservation)
∙远程续借(RemoteContinueLend)
∙增加标题(AddTitle)
∙更新或删除标题(UpdateorRemoveTitle)
∙增加书目(AddItem)
∙更新或删除书目(RemoveItem)
∙增加读者(AddBorrower)
∙更新或删除读者(UpdateorRemoveBorrower)
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或Windows2000professional、Access等。
输入输出设备:
扫描仪、打印机等。
网络设备:
Hub、网卡、网线等。
7.3软件环境
应用软件开发环境:
操作系统:
Windows2000professional
数据库软件:
Access
编程工具、编程语言:
Java
应用软件使用运行环境:
操作系统:
Windows9X/2000
数据库软件:
Access
7.4外部接口
和其他软件系统的数据接口:
ODBC
8.安全保密
提供用户登录机制,不同级别的用户拥有不同的权限。