软件设计说明书图书管理系统.doc
- 文档编号:1307313
- 上传时间:2023-04-30
- 格式:DOC
- 页数:37
- 大小:131.50KB
软件设计说明书图书管理系统.doc
《软件设计说明书图书管理系统.doc》由会员分享,可在线阅读,更多相关《软件设计说明书图书管理系统.doc(37页珍藏版)》请在冰点文库上搜索。
图书管理系统
设计说明书
编写:
校对:
审核:
目录
1引言 1
2程序系统的结构 2
3程序(标识符)设计说明 2
4还书模块 7
5图书查询模块 11
6系统操作模块 15
参考资料 36
1引言
1.1目的
根据《需求规格说明书》、《概要设计说明书》,在仔细考虑讨论之后,我们对《图书管理系统》软件的功能划分、数据结构、软件总体结构的实现有了进一步的想法。
我们将这些想法记录下来,作为详细设计说明书,为进一步设计软件、编写代码打下基础。
1.2概述
随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。
在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。
对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。
本图书管理系统软件是一套功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。
该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的DOS、WINDOWS系列等操作系统上使用
1.3定义
文档中采用的专门术语的定义及缩略词简要如下:
LMS:
LibraryManagementSystem,图书管理系统
2程序系统的结构
系统操作模块
系统
设置
图书查询
更改
口令
系统操作
读者库
操作
数据
统计
读者查询
输
入
输
出
图书库
操作
数据
备份
数据
恢复
3程序(标识符)设计说明
3.1主模块
初始化
图书查询模块
还书模块
借书模块
系统查询模块
l功能
建立与数据库连接
获取系统设置
运行主对话框
根据输入调用子模块
退出系统时断开与数据库的连接
l输入项目
用户鼠标点击输入
l程序逻辑
见右图
l存储分配
内部数据:
数据库连接 m_pConnection _ConnectionPtr 数据库连接指针
m_IsConnected BOOL 数据库连接指示
系统设置 m_MaxLBNum int 可借图书数上限
m_MaxLBDay int 借书天数上限
子对话框 m_BookOutDlg CBookOutDlg 借书对话框
m_BookInDlg CBookInDlg 还书对话框
m_BookQuiryDlg CBookQuiryDlg 图书查询对话框
m_SysDlg CSysDlg 系统操作对话框
l测试要点
数据库连接情况:
正常情况,数据库文件缺少,外部系统异常。
系统设置获取:
正常情况,外部系统异常。
对用户输入的响应:
合法输入,能够正常调用子模块;
非法输入,系统能否辨别,并作出响应(提出警告);
子模块的异常状况,系统能否及时做出响应。
3.2借书模块
l功能
查验输入的读者证号
运行借书对话框
获取该读者的相关信息
查验输入的图书号
登记借书
l输入项目
读者证号、图书书号(用户输入)
l输出项目
读者信息(姓名);读者已借图书信息(书名、借书日期);
l程序逻辑
对话框初始化
操作取消
输入不合理
点击返回
出错
输入读者证号
查验
借书对话框
查验
借书登记
更新相关信息及显示
关闭对话框
l接口
调用形式:
voidCBookDlg:
:
LendBook(const_ConnectionPtrpConnection,
constintMaxLBNum)
传入参数:
pConnection 数据库连接指针
MaxLBNum 系统参数(可借图书上限)
传出参数:
无
l存储分配
内部数据:
数据库 m_pConnection _ConnectionPtr 数据库连接指针
用户界面 m_strReaderName CString 读者姓名
m_strLBInf CString 已借图书信息
m_strLBNum CString 已借图书数显示
m_lBookID long 欲借图书书号
内部参数 m_lReaderID long 当前读者证号
m_MaxLBNum int 可借图书数上限
l测试要点
模块正常运行流程
用户输入数据检查(读者证号、图书书号),包括数据合理性检查,以及合法性检查
数据库操作
数据库连接异常时的响应情况
3.2.1读者查验模块
l功能
查验输入的读者证号是否合法(即是否存在与该读者证号对应的读者记录)
l输入项目
读者证号(整型常数),读者姓名(引用型字符串)
l输出项目
查验结果(BOOL值)
l程序逻辑
生成数据库查询语句
调用数据库查询模块
IF返回结果集为空(不存在该读者证号)
置读者姓名字符串为空
返回”非法读者证号”
ELSE
置读者姓名字符串
返回”合法读者证号”
l接口
调用形式:
BOOLCheckReader(constlongReaderID,CString&strReaderName)
传入参数:
ReaderID(常量参数传入) 待查验的读者证号
m_pConnection(借书模块内的全局变量) 数据库连接指针
传出参数:
读者证号存在/不存在标志(返回值)
strReaderName(传入的引用参数) 读者证号对应的读者姓名
(读者证号不存在时置为空)
l存储分配
局部变量:
数据库 pReader _RecordsetPtr 数据库查询结果集指针
查询参数 vtQuiry _variant_t 查询命令
vNull _variant_t 查询连接
类型转换 strQuiry Cstring 查询命令类型转换
vtemp _variant_t 查询结果类型转换
l测试要点
数据库连接正常时
输入合理合法参数
输入参数不合理
输入参数不合法
数据库连接异常;数据库数据异常(读者姓名为空)
3.2.2 图书查验模块
l功能
查验输入的图书书号是否合法
l输入项目
图书书号(整型常量)
l输出项目
查验结果(BOOL值)
l程序逻辑
生成数据库查询语句
调用数据库查询模块
IF返回结果集为空(不存在该图书书号)
返回”非法图书书号”
ELSE
返回”合法图书书号”
l接口
调用形式:
BOOLCheckBook(constlongBookID)
传入参数:
BookID(整型常量) 带查验的图书书号
传出参数:
书号合法/不合法标志(返回值) 查验结果
l存储分配
局部变量:
数据库 pBook _RecordsetPtr 数据库查询结果集指针
查询参量 vtQuiry _variant_t 查询字符串
vNull _variant_t 查询连接参量
类型转换 strQuiry Cstring 查询命令类型转换
l测试要点
数据库连接正常
数据库数据正常
输入的书号合理合法
输入的书号不合理
输入的书号不合法
数据库数据异常
数据库连接异常
3.2.3 相关信息获取模块
l功能
获取合法读者的借书记录
l输入项目
合法读者证号(整型常量);读者已借图书信息(引用型字符串)
l输出项目
查询操作结果(BOOL值)
l程序逻辑
生成数据库查询语句
调用数据库查询模块
IF操作成功
WHILE查询结果集未读至文件尾
读取各项值
置入读者已借图书信息字符串
返回”操作成功”
ELSE
置空读者已借图书信息字符串
返回”操作失败”
l接口
调用形式:
BOOLGetLBInf(constlongReaderID,CString&strLBInf)
传入参量:
ReaderID(整型常量) 查询参数
strLBInf(引用型字符串) 返回用的格式化的查询信息
传出参量:
查询成功/失败标志(BOOL值) 查询操作结果信息
l存储分配
局部变量:
数据库 pRecords _RecordsetPtr 数据库查询结果集指针
查询参数 vtQuiry _variant_t 查询命令字符串
vNull _variant_t 查询连接参量
类型转换 strQuiry CString 查询命令类型转换
l测试要点
数据库连接正常
数据库数据正常
输入正常(读者证号合法)
输入异常(读者证号非法)
数据库数据异常
数据库连接异常
3.2.4 借书登记模块
l功能
登录借书信息
l输入项目
读者证号(整型常量);图书书号(整型常量)
l输出项目
操作结果(BOOL值)
l程序逻辑
生成数据库操作命令
调用数据库操作模块
IF操作成功
返回”操作成功”
ELSE
返回”操作失败”
l接口
调用形式:
BOOLWriteBlrecord(constlongReaderID,constlongBookID)
传入参数:
ReaderID(整型常量) 操作参数(借阅者读者证号)
BookID(整型常量) 操作参数(借阅图书书号)
传出参数:
操作成功/失败标志(返回值)
l存储分配
局部变量:
操作命令参数 vRecsAffected _variant_t 操作影响
vtCommand _variant_t 操作命令
类型转换 strCommand CString 操作命令类型转换
strToday CString 借书日期类型转换
oleToday COleDateTime 借书日期
l测试要点
数据库连接正常
数据库操作正常
输入参数合法
输入参数非法
数据库操作异常
数据库连接异常
4还书模块
l功能
运行还书对话框
查验输入的图书书号
对合法输入登录还书信息
显示相关信息(本次还书操作信息,尚未归还图书的相关信息,读者信息)
l输入项目
图书书号(用户输入)
l输出项目
相关信息(本次还书操作信息,尚未归还的图书信息,读者信息)
l程序逻辑
点击退出
初始对话框
出错返回
借书记录查验模块
登记还书
更新还书信息及显示
关闭对话框
l接口
调用形式:
CBookInDlg:
:
ReturnBook(const_ConnectionPtrpConnection,
constintMaxLBDay)
传入参量:
pConnection(数据库连接指针常量) 提供数据库连接
MaxLBDay(整型常量) 系统参数(借书天数上限)
传出参量:
无
l存储分配
内部变量:
数据库 m_pConnection _ConnectionPtr 数据库连接指针
m_pRecords _RecordsetPtr 数据库查询结果集指针
用户界面 m_lBookID long 欲还图书书号
m_strLenderID CString 借阅者图书证号显示
m_strLender CString 借阅者姓名
m_strRBInf CString 已还图书信息显示
m_strNRBInf CString 未还图书信息显示
m_strRBNum CString 已还图书数显示
m_strNRBNum CString 未还图书数显示
内部参数 m_lCurrID long 当前还书者读者证号
m_intRBNum int 已还图书计数
m_MaxLBDay int 借书天数上限
l测试要点
模块正常工作流程
对输入的查验,包括输入值的合法性与合理性检验
数据库连接异常能否做出适当处理
数据库数据异常时能否判断并给予适当处理
4.1 借书记录查验模块
l功能
查验借书记录是否存在(即是否存在与指定书号相对应的借书记录)
l输入项目
图书书号(传入参数)
l输出项目
查验结果(返回值);查询结果集(图书书号、书名、状态、出借日期)
l程序逻辑
生成数据库查询语句
调用数据库查询模块
IF操作成功
IF查询结果集不为空(存在该借书记录)
返回”记录存在”
ELSE
警告”记录不存在”
ELSE
警告”查询失败”
返回”记录不存在”
l接口
调用形式:
BOOLCheckBlrcord(constlongBookID)
传入参量:
BookID(整型常量)
传出参量:
书号合法/非法标志(BOOL型)
l存储分配
局部变量:
查询参数 vtQuiry _variant_t 查询命令
vNull _variant_t 查询连接
类型转换 strQuiry CString 查询命令类型转换
引用的全局变量:
m_pConnection _ConnectionPtr 使用
m_pRecords _RecordsetPtr 写(打开)
l测试要点
数据库连接正常
数据库数据正常
合法的图书书号 返回“真”查验结果
不合法的图书书号 返回“假”查验结果,给出警告提示
数据库数据异常 返回“假”查验结果,给出数据异常警告
数据库连接异常 返回“假”查验结果,给出数据库连接异常警告
4.2 相关信息获取模块
l功能
获取指定读者(读者证号)的借书记录,获取的信息包括所借图书书名,借书日期以及所借图书的总本数。
l输入项目
读者证号(传入参数);相关(借书)信息(公共变量)
l输出项目
已借图书数(返回值)
l程序逻辑
生成数据库查询命令
IF操作成功
初始化(相关信息字符串置为空 已借图书计数置为0)
WHILE未读至查询结果集尾
置相关信息字符串
计数累加
返回计数值
ELSE
置相关信息字符串为”操作异常”
返回”失败标志”(-1)
l接口
调用形式:
intGetLBInf(constlongReaderID)
传入参数:
ReaderID(整型常量) 指定的读者证号
传出参数:
获取的相关记录数(整型) 如发生异常,返回值置为负
l存储分配
局部变量:
查询参数 vtQuiry _variant_t 查询命令
vNull _variant_t 查询连接
类型转换 strQuiry CString 查询命令类型转换
vtemp _variant_t 查询结果类型转换
oleDate COleDateTime 借书时间类型转换
记录计数 count int 计算获取的记录数
引用的全局变量:
m_pConnection _ConnectionPtr 使用
m_pRecords _RecordsetPtr 写(打开、关闭)
m_strNRBInf CString 写
l测试要点
数据库连接正常
数据库数据正常
可获取的借书记录数为零 返回结果为0,引用字符串置空
可获取的借书记录数不为零 返回记录数,并将相关信息记录在引用字符串中
数据库数据异常 返回异常指示,给出警告
数据库连接异常 返回异常指示,给出警告
4.4还书信息记录模块
l功能
记录本次还书操作的信息,包括图书书名,超期天数。
l输入项目
包含相关信息(书名、借书日期)的查询结果集(公共变量)
l输出项目
更新后的格式化还书信息(公共变量)
l程序逻辑
WHILE传入的查询结果集未读至文件尾
读取书名,置入还书信息字符串
读取借书日期
计算超期天数
置入还书信息字符串
光标移至下一个记录
l接口
调用形式:
voidSaveRBInf(void)
传入参数:
无
传出参数:
无
l存储分配
局部变量:
类型转换 vtemp _variant_t 查询结果类型转换
strExcess CString 超期天数类型转换
计算变量 oleDate COleDateTime 借书日期
oleExcess COleDateTimeSpan 超期天数
intExcess int 超期天数
引用的全局变量:
m_pRecords _RecordsetPtr 读(关闭记录集)
m_strRBInf CString 更新
m_MaxLBDay int 读
l测试要点
查询结果集正常
查询结果集异常
4.5 还书登记模块
l功能
登记还书(删除借书记录,更新图书状态)
l输入项目
图书书号(输入参数)
l输出项目
操作成功/失败标志(返回值)
l程序逻辑
生成数据库操作命令(更新)
IF操作成功
生成数据库操作命令(删除)
IF操作成功
返回”操作成功”
返回”操作失败”
l接口
调用形式:
BOOLDelBlrecord(constlongBookID)
传入参数:
BookID(整型常量) 返还图书书号
传出参数:
操作成功/失败标志(BOOL值)
l存储分配
局部变量:
操作参数 vtCommand _variant_t 操作命令
vRecsAffected _variant_t 操作影响参数
类型转换 strCommand CString 操作命令类型转换
引用的全局变量:
m_pConnection _ConnectionPtr 使用
l测试要点
数据库连接正常
图书书号合法
图书书号不合法
数据库连接异常
5图书查询模块
l功能
根据给定查询条件,查询数据库,获取图书信息
l输入项目
查询方式指定以及查询关键字
l输出项目
查询结果列表显示
初始化对话框
l程序逻辑
查询
生成查询命令
查询数据库
显示结果列表
退出
l接口
调用形式:
CBookQuiryDlg:
:
QuiryBook(const_ConnectionPtrpConnection)
传入参数:
pConnection(数据库连接指针)
传出参数:
无
l存储分配
内部变量:
数据库 m_pBooks _RecordsetPtr 数据库查询结果集指针
用户界面 m_strAuthor CString 作者关键字
m_bAuthor BOOL 作者查询选择状态
m_strBookName CString 书名关键字
m_bBookName BOOL 书名查询选择状态
m_strPublisher CString 出版社关键字
m_bPublisher BOOL 出版社查询选择状态
m_intYear1 int 出版时间关键字
m_intYear2 int 出版时间关键字
m_intMonth1 int 出版时间关键字
m_intMonth2 int 出版时间关键字
m_bPubTime BOOL 出版时间查询选择状态
m_intTimeType int 出版时间查询方式选择
局部变量:
查询参数 vtQuiry _variant_t 查询命令
vNull _variant_t 查询连接
类型转换 strQuiry CString 查询命令类型转换
l测试要点
数据库连接正常
数据库数据正常 获得正确的查询结果并显示
数据库数据异常 给出警告
数据库连接异常 给出警告
5.1 查询命令生成模块
l功能
根据用户界面的输入生成查询命令
l输入项目
用户界面的输入值(公共变量)
l输出项目
查询命令(返回值)
l程序逻辑
读取各复选框的值
IF选中AND关键字不为空
生成查询条件
生成数据库查询命令
返回生成的查询命令
l接口
调用形式:
CStringGetQuiryString()
传入参数:
无
传出参数:
查询命令(CString)
l存储分配
局部变量:
strQuiry CString 查询命令字符串
strTemp CString 临时字符串
l测试要点
用户输入合理
用户输入不合理(没有指定查询方式,没有输入查询关键字)
5.2 数据库查询模块
l功能
根据输入的查询命令查询数据库
l输入项目
查询命令(传入参数)
l输出项目
数据库查询结果(返回值);数据库查询结果集(公共变量)
l程序逻辑
查询数据库
IF操作成功
返回”操作成功”
ELSE
返回”操作失败”
l接口
调用形式:
BOOLDBQuiry(constCStringstrQuiry)
传入参数:
strQuiry(字符串型常量) 数据库查询命令
传出参数:
查询操作成功/失败标志(BOOL值)
l存储分配
局部变量:
查询参数 vtQuiry _varaint_t 数据库查询命令
vRecsAffected _variant_t 数据库查询连接
引用的全局变量:
m_pConnection _ConnectionPtr 使用
m_pBooks _RecordsetPtr 读
l测试要点
数据库连接正常
输入查询命令合法
获取非空查询结果集 返回“真”返回值,查询结果保存在查询结果集中
获取空查询结果集 返回“真”返回值,查询结果集为空
输入查询命令不合法 返回“假”返回值,查询结果集指针指向空,给出警告
数据库连接异常
5.3 数据显示模块
l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件设计 说明书 图书 管理 系统