概要设计详细设计范例图书管理系统.docx
《概要设计详细设计范例图书管理系统.docx》由会员分享,可在线阅读,更多相关《概要设计详细设计范例图书管理系统.docx(67页珍藏版)》请在冰豆网上搜索。
概要设计详细设计范例图书管理系统
文档编号:
版本号:
V
文档名称:
概要设计说明书
项目名称:
图书管理系统
引言:
编写目的:
确定图书馆管理系统的总体设计、总体结构、模块设计、接口设计为详细设计奠定基础。
项目背景:
说明:
本项目的名称:
图书管理系统
本项目的应用范围:
中型图书室
开发者:
电信科学技术研究院研究生部
用户:
开发人员
定义:
LMS:
LibraryManagementSystem
Title:
记录图书馆内所有类图书的信息并可进行查询。
Item:
记录馆内每一本图书的状态,并提供查询、统计、打印功能。
BorrowerInformation:
记录读者信息并可进行查询。
Loan:
对图书的出借、归还、续借进行管理并可进行查询。
Reservation:
提供预约与取消预约功能。
参考资料:
《实用软件工程》(第二版)郑人杰殷人昆陶永雷清华大学出版社
《软件工程——Java语言实现》StephenR.Schach机械工业出版社
《实践者的研究方法》RogerS.Pressman机械工业出版社
《需求分析规格说明书》
2.任务概述:
目标:
该《图书管理系统》针对的用户是中型图书室,藏书的种类包括中、英、俄、德、日文书籍和期刊,读者的数量和来源仅限于本单位职工及通过馆际互借认可的读者。
相应的需求有:
1>能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:
图书信息的录入、删除及修改。
图书信息的多关键字检索查询。
图书的出借、返还和资料统计。
图书的远程预约和续借。
馆际互借(通过电子邮件或现场录入)
2>能够对一定数量的读者进行相应的信息存储与管理,这其中包括:
读者信息的登记、删除及修改。
读者资料的统计与查询。
3>能够对需要的统计结果提供打印输出。
4>能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。
运行环境:
本系统采用C/S体系结构,由一台服务器与多个客户机组成,
配置如下:
服务器:
硬件:
80x86系列微机
CPU:
733以上
内存:
256M以上
硬盘空间:
40G以上
软件:
WindowsServer、Access等
工作站:
硬件:
80x86系列微机
CPU:
166以上
内存:
16M以上
硬盘空间:
2G以上
软件:
Windows9x或Windows2000professional、Access等。
网络设备:
网卡、HUB、网线等。
需求概述:
通过计算机实现对图书馆图书入库、借阅、归还、检索、读者管理、查询的管理功能。
条件与限制:
要求图书管理员会个般的计算机操作,会中文输入。
要求用户界面有好,提供帮助。
3.总体设计:
处理流程:
3.1.1主程序:
3.1.2图书编目:
3.1.3图书入库:
3.1.4读者信息管理:
3.1.5图书操作:
3.1.6系统管理:
3.1.7读者远程图书操作
总体结构:
1.总体结构:
2.业务对象:
3.用户接口:
功能分配:
1.图书管理员:
浏览
添加
修改
删除
查询
授权
添加记录
★
删除记录
★
更改记录
★
显示记录
★
★
★
★
查询
★
★
★
★
★
2.出版社:
浏览
添加
修改
删除
查询
添加记录
★
删除记录
★
更改记录
★
显示记录
★
★
★
★
查询
★
★
★
★
3.图书分类:
浏览
添加
修改
删除
查询
添加记录
★
删除记录
★
更改记录
★
显示记录
★
★
★
★
查询
★
★
★
★
4.图书编目:
浏览
添加
修改
删除
查询
添加记录
★
删除记录
★
更改记录
★
显示记录
★
★
★
★
查询
★
★
★
★
5.图书借阅等级:
浏览
添加
修改
删除
查询
添加记录
★
删除记录
★
更改记录
★
显示记录
★
★
★
★
查询
★
★
★
★
6.图书库存信息:
浏览
添加
修改
删除
查询
添加记录
★
删除记录
★
更改记录
★
显示记录
★
★
★
★
查询
★
★
★
★
7.读者借阅等级:
浏览
添加
修改
删除
查询
添加记录
★
删除记录
★
更改记录
★
显示记录
★
★
★
★
查询
★
★
★
★
8.读者信息:
浏览
添加
修改
删除
查询
添加记录
★
删除记录
★
更改记录
★
显示记录
★
★
★
★
查询
★
★
★
★
9.图书操作:
借出
续借
归还
丢失
预约
查询
统计
打印
借出
★
续借
★
归还
★
丢失
★
★
添加记录
★
★
★
★
★
删除记录
★
更改记录
★
★
★
★
显示记录
★
★
★
★
★
★
★
★
查询
★
★
★
★
★
★
★
★
4.接口设计:
外部接口:
用户界面:
1.登录界面:
2.主界面:
3.
图书编目界面:
4.图书库存管理界面:
5.
读者管理界面:
6.系统管理界面:
图书管理员管理:
出版社:
图书借阅等级:
读者借阅等级:
图书状态:
类别:
7.图书操作界面:
借阅:
预约:
8.查询界面:
软件接口:
使用ODBC连接数据库
硬件接口:
鼠标、打印机
内部接口:
(模块之间的接口)
模块间采取数据耦合方式,通过参数表传递数据,交换信息。
5.数据结构设计:
逻辑结构设计:
采用线性表结构
物理结构设计:
采用链表结构
数据结构与程序的关系:
数据的录入、修改、删除、统计都要涉及记录结构定义。
数据的查询在涉及多个数据文件之间的关系;错误信息结构为显示错误信息带来方便。
6.运行设计:
运行模块的组合:
通过主应用程序组合,模块均可独立操作存储文件。
运行控制:
通过键盘或鼠标选择控制相应功能,通过键盘输入记录信息,查询要求等。
运行时间:
更新处理时间≤1ms
检索业务响应时间≤1s
数据传输时间≤1s
7.出错处理设计:
出错输出信息:
根据不同的错误提供不同的借误提示信息
出错处理对策:
1.一般错误:
显示错误信息,提示用户重新操作
2.严重错误:
重新启动,必要时启用备份恢复数据
8.安全保密设计:
提供用户登录机制,不同级别的用户拥有不同的权限。
9.维护设计
可以在软件交付后根据用户反馈意见修必类模块功能。
文档编号:
版本号:
文档名称:
详细设计说明书
项目名称:
图书管理系统
项目负责人:
编写:
校对:
审核:
批准:
开发单位:
1.
引言:
编写目的:
给出详细设计,供软件编程人员参考。
项目背景:
说明:
本项目的名称:
图书管理系统
本项目的应用范围:
中型图书室
开发者:
***
用户:
开发人员
定义:
LMS:
LibraryManagementSystem
Title:
记录图书馆内所有类图书的信息并可进行查询。
Item:
记录馆内每一本图书的状态,并提供查询、统计、打印功能。
BorrowerInformation:
记录读者信息并可进行查询。
Loan:
对图书的出借、归还、续借进行管理并可进行查询。
Reservation:
提供预约与取消预约功能。
参考资料:
《实用软件工程》(第二版)郑人杰殷人昆陶永雷清华大学出版社
《软件工程——Java语言实现》StephenR.Schach机械工业出版社
《实践者的研究方法》RogerS.Pressman机械工业出版社
《需求分析规格说明书》
《概要设计说明书》
2.总体设计:
需求概述:
该《图书管理系统》针对的用户是中型图书室,藏书的种类包括中、英、俄、德、日文书籍和期刊,读者的数量和来源仅限于本单位职工及通过馆际互借认可的读者。
相应的需求有:
1>能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:
图书信息的录入、删除及修改。
图书信息的多关键字检索查询。
图书的出借、返还和资料统计。
图书的远程预约和续借。
馆际互借(通过电子邮件或现场录入)
2>能够对一定数量的读者进行相应的信息存储与管理,这其中包括:
读者信息的登记、删除及修改。
读者资料的统计与查询。
3>能够对需要的统计结果提供打印输出。
4>能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。
软件结构:
(给出软件系统的结构图)
3.总体结构:
2.业务对象:
3.用户接口:
4.程序描述:
:
Title类
4.1.1添加编目信息:
类名:
Title
方法名:
addTitle
类型修饰符:
Publicvoid
参数:
ISDN
出错消息:
ISDN已存在或记录不符合要求
访问的文件:
Title
改变的文件:
Title
调用的方法:
查找记录将新记录写入图书编目文件
程序逻辑:
接口:
调用形式:
VoidaddTitle(){}
传入参数:
记录字段值
传出参数:
错误信息
存储分配:
每条记录180字节
限制条件:
无
测试要点:
对不合条件的记录是否有错误判断能力
4.1.2更新编目信息:
类名:
Title
方法名:
updateTitle
类型修饰符:
Publicvoid
参数:
记录
出错消息:
记录不符合要求
访问的文件:
Title
改变的文件:
Title
调用的方法:
更新图书编目文件
程序逻辑:
接口:
调用形式:
VoidupdateTitle(){}
传入参数:
记录字段值
传出参数:
错误信息
存储分配:
无
限制条件:
无
测试要点:
对不合条件的记录是否有错误判断能力
4.1.3删除编目信息:
类名:
Title
方法名:
deleteTitle
类型修饰符:
Publicvoid
参数:
无
出错消息:
其它表中包含了相关记录,无法删除
访问的文件:
Title
改变的文件:
Title
调用的方法:
删除图书编目文件
程序逻辑:
接口:
调用形式:
VoiddeleteTitle(){}
传入参数:
无
传出参数:
错误信息
存储分配:
无
限制条件:
无
测试要点:
能否正常删除记录,对错误删除的判断能力
4.1.4查询编目信息:
类名:
Title
方法名:
queryTitle
类型修饰符:
Publicvoid
参数:
SQL查询语句
出错消息:
无
访问的文件:
Title
改变的文件:
无
调用的方法:
查询图书编目文件
程序逻辑:
接口:
调用形式:
VoidqueryTitle(){}
传入参数:
记录字段值
传出参数:
相关记录
存储分配:
动态分配
限制条件:
无
测试要点:
能否实现多关键字查询
:
Item类
4.2.1添加图书库存信息:
类名:
Item
方法名:
addItem
类型修饰符:
Publicvoid
参数:
ISBN、ID
出错消息:
ISBN不存在,ISBN、ID已存在或记录不符合要求
访问的文件:
Item、Title
改变的文件:
Item
调用的方法:
查找记录,将新记录写入图书库存信息文件
程序逻辑:
接口:
调用形式:
VoidaddItem(){}
传入参数:
记录字段值
传出参数:
错误信息
存储分配:
每条记录100字节
限制条件:
无
测试要点:
对不合条件的记录是否有错误判断能力
4.2.2更新图书库存信息:
类名:
Item
方法名:
updateItem
类型修饰符:
Publicvoid
参数:
记录
出错消息:
记录不符合要求
访问的文件:
Item
改变的文件:
Item
调用的方法:
更新图书库存信息文件
注释:
如记录符合要求,更新该记录,否则报错。
程序逻辑:
接口:
调用形式:
VoidupdateItem(){}
传入参数:
记录字段值
传出参数:
错误信息
存储分配:
无
限制条件:
无
测试要点:
对不合条件的记录是否有错误判断能力
4.2.3删除图书库存信息:
类名:
Item
方法名:
deleteItem
类型修饰符:
Publicvoid
参数:
无
出错消息:
其它表中包含了相关记录,无法删除
访问的文件:
Item
改变的文件:
Item
调用的方法:
删除图书库存信息文件中相关记录
程序逻辑:
接口:
调用形式:
VoiddeleteItem(){}
传入参数:
无
传出参数:
错误信息
存储分配:
无
限制条件:
无
测试要点:
能否正常删除记录,对错误删除的判断能力
4.2.4查询图书库存信息信息:
类名:
Item
方法名:
queryItem
类型修饰符:
Publicvoid
参数:
SQL查询语句
出错消息:
无
访问的文件:
Item
改变的文件:
无
调用的方法:
查询图书库存信息文件
注释:
根据查询条件对图书库存信息文件进行查询,显示符合条件的记录。
程序逻辑:
接口:
调用形式:
VoidqueryItem(){}
传入参数:
记录字段值
传出参数:
相关记录
存储分配:
动态分配
限制条件:
无
测试要点:
能否实现多关键字查询
Borrower类:
4.3.1添加读者信息:
类名:
Borrower
方法名:
addBorrower
类型修饰符:
Publicvoid
参数:
证号
出错消息:
证号已存在或记录不符合要求
访问的文件:
Borrower
改变的文件:
Borrower
调用的方法:
查找记录将新记录写入读者信息文件
程序逻辑:
接口:
调用形式:
VoidaddBorrower(){}
传入参数:
记录字段值
传出参数:
错误信息
存储分配:
每条记录200字节
限制条件:
无
测试要点:
对不合条件的记录是否有错误判断能力
4.3.2更新读者信息:
类名:
Borrower
方法名:
updateBorrower
类型修饰符:
Publicvoid
参数:
记录
出错消息:
记录不符合要求
访问的文件:
Borrower
改变的文件:
Borrower
调用的方法:
更新读者信息文件
程序逻辑:
接口:
调用形式:
VoidupdateBorrower(){}
传入参数:
记录字段值
传出参数:
错误信息
存储分配:
无
限制条件:
无
测试要点:
对不合条件的记录是否有错误判断能力
4.3.3删除读者信息:
类名:
Borrower
方法名:
deleteBorrower
类型修饰符:
Publicvoid
参数:
无
出错消息:
其它表中包含了相关记录,无法删除
访问的文件:
Borrower
改变的文件:
Borrower
调用的方法:
删除读者信息文件中相关记录
程序逻辑:
接口:
调用形式:
VoiddeleteBorrower(){}
传入参数:
无
传出参数:
错误信息
存储分配:
无
限制条件:
无
测试要点:
能否正常删除记录,对错误删除的判断能力
4.3.4查询读者信息:
类名:
Borrower
方法名:
queryBorrower
类型修饰符:
Publicvoid
参数:
SQL查询语句
出错消息:
无
访问的文件:
Borrower
改变的文件:
无
调用的方法:
查询图书读者文件
程序逻辑:
接口:
调用形式:
VoidqueryBorrower(){}
传入参数:
记录字段值
传出参数:
相关记录
存储分配:
动态分配
限制条件:
无
测试要点:
能否实现多关键字查询
Reservation类:
4.4.1添加预约信息:
类名:
Reservation
方法名:
addReservation
类型修饰符:
Publicvoid
参数:
ISBN、证号
出错消息:
该书有库存,或记录不符合要求
访问的文件:
Reservation
改变的文件:
Reservation
调用的方法:
查找记录将新记录写入图书预约信息文件
程序逻辑:
接口:
调用形式:
VoidaddReservation(){}
传入参数:
记录字段值
传出参数:
错误信息
存储分配:
每条记录40字节
限制条件:
无
测试要点:
能否判断有无库存,能否预约
4.4.2删除预约信息:
类名:
Reservation
方法名:
deleteReservation
类型修饰符:
Publicvoid
参数:
无
出错消息:
其它表中包含了相关记录,无法删除
访问的文件:
Reservation
改变的文件:
Reservation
调用的方法:
删除图书预约信息文件
程序逻辑:
接口:
调用形式:
VoiddeleteReservation(){}
传入参数:
无
传出参数:
错误信息
存储分配:
无
限制条件:
无
测试要点:
能否正常删除记录,对错误删除的判断能力
Loan:
4.5.1借出:
类名:
Loan
方法名:
Lend
类型修饰符:
Publicvoid
参数:
ISBN、证号
出错消息:
ISBN不存在、证号不存在、无借阅权限或图书无库存
访问的文件:
流通信息、预约信息、读者借阅等级、图书库存信息
改变的文件:
流通信息、预约信息、图书库存信息
调用的方法:
查找流通信息、读者借阅等级、图书库存信息文件,如记录符合要求将新记录写入流通信息文件同时更新图书库存信息,有预约的更新预约信息
程序逻辑:
接口:
调用形式:
VoidLend(){}
传入参数:
记录字段值
传出参数:
错误信息
存储分配:
每条记录100
限制条件:
无
测试要点:
对不合条件的记录是否有错误判断能力,能否在添加借出信息的同时修改图书库存状态
4.5.2归还:
类名:
Loan
方法名:
Return
类型修饰符:
Publicvoid
参数:
ISBN、证号、id
出错消息:
相关借出记录不存在
访问的文件:
流通信息、读者借阅等级、图书库存信息、罚款信息
改变的文件:
流通信息、图书库存信息、罚款信息
调用的方法:
查找记录,如果没有超期,更新流通信息与图书库存信息,如果超期,先计算罚款,收取罚款后更新流通信息与图书库存信息
程序逻辑:
接口:
调用形式:
VoidReturn(){}
传入参数:
记录字段值
传出参数:
错误信息
存储分配:
每条记录100字节
限制条件:
无
测试要点:
是否能正常归还图书,判断超期图书,计算罚款,判断输入有误
4.5.3丢失:
类名:
Loan
方法名:
Lost
类型修饰符:
Publicvoid
参数:
ISBN、证号、id
出错消息:
相关借出记录不存在
访问的文件:
流通信息、读者借阅等级、图书库存信息、罚款信息
改变的文件:
流通信息、图书库存信息、罚款信息
调用的方法:
查找记录,计算罚款,收取罚款后更新流通信息与图书库存信息
程序逻辑:
接口:
调用形式:
VoidLost(){}
传入参数:
记录字段值
传出参数:
错误信息
存储分配:
每条记录100字节
限制条件:
无
测试要点:
能否计算罚款,更新图书状态,归还图书
4.5.4续借:
类名:
Loan
方法名:
Resume
类型修饰符:
Publicvoid
参数:
ISBN、证号、id
出错消息:
相关记录不存在
访问的文件:
流通信息
改变的文件:
流通信息
调用的方法:
查找记录将新记录写入流通信息文件
程序逻辑:
接口:
调用形式:
VoidResume(){}
传入参数:
记录字段值
传出参数:
错误信息
存储分配:
动态分配
限制条件:
无
测试要点:
能否续借
4.5.5查询流通信息:
类名:
Loan
方法名:
queryLoan
类型修饰符:
Publicvoid
参数:
SQL语句
出错消息:
无
访问的文件:
流通信息、图书编目信息、图书库存信息、读者信息
改变的文件:
无
调用的方法:
查询流通信息、图书编目信息、图书库存信息、读者信息
程序逻辑:
接口:
调用形式:
VoidqueryLoan(str){}