图书馆管理系统详细设计说明书.docx
- 文档编号:29278297
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:60
- 大小:156.34KB
图书馆管理系统详细设计说明书.docx
《图书馆管理系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统详细设计说明书.docx(60页珍藏版)》请在冰豆网上搜索。
图书馆管理系统详细设计说明书
详细设计说明书
1.引言
1.1编写目的
本说明书描述了图书馆管理系统软件的设计需求,读者为该管理系统软件的设计人员、代码编写人员、测试人员、维护人员和该项目的审核验收人员。
1.2项目背景
该项目的委托单位为清华大学计算机系;
开发单位为IceWindDale工作室;
主管部门为信息产业部第15研究所。
该软件与其他系统不存在关系。
1.3参考资料:
名称
作者
编号
发布日期
出版单位或资料来源
太极计算机公司程序文件
太极计算机公司质量部
JL-4.2.3-04
2002-5
内部资料
计算机系统软件产品文件编制指南
华北计算技术研究所
无
2001-1
《计算机与信息处理标准化》编辑部
Sw00.ppt
殷人昆
无
2002-5
清华大学工程硕士研究生班讲义
SQLServer2000系统管理员宝典
MarciFrohockGarcia;
JamieReding;
EdwardWhalen;
SteveAdrienDeLuca
ISBN:
7-900635-84-X
2001-7
清华大学出版社
2.总体设计
2.1需求概述
图书管理系统针对中型图书室,藏书的种类包括中、英、俄、德、日文书籍和期刊,读者的数量和来源仅限于本单位职工及通过馆际互借认可的读者。
要求:
能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理;
能够对一定数量的读者进行相应的信息存储与管理;
能够对要求的统计结果打印输出;
能够提供一定的安全机制;
1)
软件结构
2.2程序描述
1.主模块
●功能:
建立与数据库连接
获取系统设置
运行主对话框
根据输入调用子模块
退出系统时断开与数据库的连接
●输入项目
用户鼠标点击输入
●程序逻辑
见右图
●存储分配
内部数据:
数据库连接m_pConnection_ConnectionPtr
数据库连接指针m_IsConnectedBOOL数据库连接指示
系统设置m_MaxLBNumint可借图书数上限
m_MaxLBDayint借书天数上限
子对话框m_BookOutDlgCBookOutDlg借书对话框
m_BookInDlgCBookInDlg还书对话框
m_BookQuiryDlgCBookQuiryDlg图书查询对话框
m_SysDlgCSysDlg系统操作对话框
●测试要点
数据库连接情况:
正常情况,数据库文件缺少,外部系统异常。
系统设置获取:
正常情况,外部系统异常。
对用户输入的响应:
合法输入,能够正常调用子模块;
非法输入,系统能否辨别,并作出响应(提出警告);
子模块的异常状况,系统能否及时做出响应。
2.书模块
●功能:
查验输入的读者证号
运行借书对话框
获取该读者的相关信息
查验输入的图书号
登记借书
●输入项目:
读者证号、图书书号(用户输入)
●输出项目:
读者信息(姓名);读者已借图书信息(书名、借书日期);
●
程序逻辑
●接口
调用形式:
voidCBookDlg:
:
LendBook(const_ConnectionPtrpConnection,constintMaxLBNum)
传入参数:
pConnection数据库连接指针
MaxLBNum系统参数(可借图书上限)
传出参数:
无
●存储分配
内部数据:
数据库m_pConnection_ConnectionPtr数据库连接指针
用户界面m_strReaderNameCString读者姓名
m_strLBInfCString已借图书信息
m_strLBNumCString已借图书数显示
m_lBookIDlong欲借图书书号
内部参数m_lReaderIDlong当前读者证号
m_MaxLBNumint可借图书数上限
●测试要点
模块正常运行流程
用户输入数据检查(读者证号、图书书号),包括数据合理性检查,以及合法性检查
数据库操作
数据库连接异常时的响应情况
3.读者查验模块
●功能:
查验输入的读者证号是否合法(即是否存在与该读者证号对应的读者记录)
●输入项目:
读者证号(整型常数),读者姓名(引用型字符串)
●输出项目:
查验结果(BOOL值)
●程序逻辑
生成数据库查询语句
调用数据库查询模块
IF返回结果集为空(不存在该读者证号)
置读者姓名字符串为空
返回”非法读者证号”
ELSE
置读者姓名字符串
返回”合法读者证号”
●接口
调用形式:
BOOLCheckReader(constlongReaderID,CString&strReaderName)
传入参数:
ReaderID(常量参数传入)待查验的读者证号
m_pConnection(借书模块内的全局变量)数据库连接指针
传出参数:
读者证号存在/不存在标志(返回值)
strReaderName(传入的引用参数)读者证号对应的读者姓名(读者证号不存在时置为空)
●存储分配
局部变量:
数据库pReader_RecordsetPtr数据库查询结果集指针
查询参数vtQuiry_variant_t查询命令
vNull_variant_t查询连接
类型转换strQuiryCstring查询命令类型转换
vtemp_variant_t查询结果类型转换
●测试要点
数据库连接正常时
输入合理合法参数
输入参数不合理
输入参数不合法
数据库连接异常;数据库数据异常(读者姓名为空)
4.图书查验模块
●功能:
查验输入的图书书号是否合法
●输入项目:
图书书号(整型常量)
●输出项目:
查验结果(BOOL值)
●程序逻辑
生成数据库查询语句
调用数据库查询模块
IF返回结果集为空(不存在该图书书号)
返回”非法图书书号”
ELSE
返回”合法图书书号”
●接口
调用形式:
BOOLCheckBook(constlongBookID)
传入参数:
BookID(整型常量)带查验的图书书号
传出参数:
书号合法/不合法标志(返回值)查验结果
●存储分配
局部变量:
数据库pBook_RecordsetPtr数据库查询结果集指针
查询参量vtQuiry_variant_t查询字符串
vNull_variant_t查询连接参量
类型转换strQuiryCstring查询命令类型转换
●测试要点
数据库连接正常
数据库数据正常
输入的书号合理合法
输入的书号不合理
输入的书号不合法
数据库数据异常
数据库连接异常
5.相关信息获取模块
●功能:
获取合法读者的借书记录
●输入项目:
合法读者证号(整型常量);读者已借图书信息(引用型字符串)
●输出项目:
查询操作结果(BOOL值)
●程序逻辑
生成数据库查询语句
调用数据库查询模块
IF操作成功
WHILE查询结果集未读至文件尾
读取各项值
置入读者已借图书信息字符串
返回”操作成功”
ELSE
置空读者已借图书信息字符串
返回”操作失败”
●接口
调用形式:
BOOLGetLBInf(constlongReaderID,CString&strLBInf)
传入参量:
ReaderID(整型常量)查询参数
strLBInf(引用型字符串)返回用的格式化的查询信息
传出参量:
查询成功/失败标志(BOOL值)查询操作结果信息
●存储分配
局部变量:
数据库pRecords_RecordsetPtr数据库查询结果集指针
查询参数vtQuiry_variant_t查询命令字符串
vNull_variant_t查询连接参量
类型转换strQuiryCString查询命令类型转换
●测试要点
数据库连接正常
数据库数据正常
输入正常(读者证号合法)
输入异常(读者证号非法)
数据库数据异常
数据库连接异常
6.借书登记模块
●功能:
登录借书信息
●输入项目:
读者证号(整型常量);图书书号(整型常量)
●输出项目:
操作结果(BOOL值)
●程序逻辑
生成数据库操作命令
调用数据库操作模块
IF操作成功
返回”操作成功”
ELSE
返回”操作失败”
●接口
调用形式:
BOOLWriteBlrecord(constlongReaderID,constlongBookID)
传入参数:
ReaderID(整型常量)操作参数(借阅者读者证号)
BookID(整型常量)操作参数(借阅图书书号)
传出参数:
操作成功/失败标志(返回值)
●存储分配
局部变量:
操作命令参数vRecsAffected_variant_t操作影响
vtCommand_variant_t操作命令
类型转换strCommandCString操作命令类型转换
strTodayCString借书日期类型转换oleTodayCOleDateTime借书日期
●测试要点
数据库连接正常
数据库操作正常
输入参数合法
输入参数非法
数据库操作异常
数据库连接异常
7.还书模块
●功能:
运行还书对话框
查验输入的图书书号
对合法输入登录还书信息
显示相关信息(本次还书操作信息,尚未归还图书的相关信息,读者信息)
●输入项目:
图书书号(用户输入)
●输出项目:
相关信息(本次还书操作信息,尚未归还的图书信息,读者信息)
●
程序逻辑
●接口
调用形式:
CBookInDlg:
:
ReturnBook(const_ConnectionPtrpConnection,constintMaxLBDay)
传入参量:
pConnection(数据库连接指针常量)提供数据库连接
MaxLBDay(整型常量)系统参数(借书天数上限)
传出参量:
无
●存储分配
内部变量:
数据库m_pConnection_ConnectionPtr数据库连接指针
m_pRecords_RecordsetPtr数据库查询结果集指针
用户界面m_lBookIDlong欲还图书书号
m_strLenderIDCString借阅者图书证号显示
m_strLenderCString借阅者姓名
m_strRBInfCString已还图书信息显示
m_strNRBInfCString未还图书信息显示
m_strRBNumCString已还图书数显示
m_strNRBNumCString未还图书数显示
内部参数m_lCurrIDlong当前还书者读者证号
m_intRBNumint已还图书计数
m_MaxLBDayint借书天数上限
●测试要点
模块正常工作流程
对输入的查验,包括输入值的合法性与合理性检验
数据库连接异常能否做出适当处理
数据库数据异常时能否判断并给予适当处理
8.借书记录查验模块
●功能:
查验借书记录是否存在(即是否存在与指定书号相对应的借书记录)
●输入项目:
图书书号(传入参数)
●输出项目:
查验结果(返回值);查询结果集(图书书号、书名、状态、出借日期)
●程序逻辑
生成数据库查询语句
调用数据库查询模块
IF操作成功
IF查询结果集不为空(存在该借书记录)
返回”记录存在”
ELSE
警告”记录不存在”
ELSE
警告”查询失败”
返回”记录不存在”
●接口
调用形式:
BOOLCheckBlrcord(constlongBookID)
传入参量:
BookID(整型常量)
传出参量:
书号合法/非法标志(BOOL型)
●存储分配
局部变量:
查询参数vtQuiry_variant_t查询命令
vNull_variant_t查询连接
类型转换strQuiryCString查询命令类型转换
引用的全局变量:
m_pConnection_ConnectionPtr使用
m_pRecords_RecordsetPtr写(打开)
●测试要点
数据库连接正常
数据库数据正常
合法的图书书号返回“真”查验结果
不合法的图书书号返回“假”查验结果,给出警告提示
数据库数据异常返回“假”查验结果,给出数据异常警告
数据库连接异常返回“假”查验结果,给出数据库连接异常警告
9.相关信息获取模块
●功能:
获取指定读者(读者证号)的借书记录,获取的信息包括所借图书书名,借书日期以及所借图书的总本数。
●输入项目:
读者证号(传入参数);相关(借书)信息(公共变量)
●输出项目:
已借图书数(返回值)
●程序逻辑
生成数据库查询命令
IF操作成功
初始化(相关信息字符串置为空,已借图书计数置为0)
WHILE未读至查询结果集尾
置相关信息字符串
计数累加
返回计数值
ELSE
置相关信息字符串为”操作异常”
返回”失败标志”(-1)
●接口
调用形式:
intGetLBInf(constlongReaderID)
传入参数:
ReaderID(整型常量)指定的读者证号
传出参数:
获取的相关记录数(整型)如发生异常,返回值置为负
●存储分配
局部变量:
查询参数vtQuiry_variant_t查询命令
vNull_variant_t查询连接
类型转换strQuiryCString查询命令类型转换
vtemp_variant_t查询结果类型转换
oleDateCOleDateTime借书时间类型转换
记录计数countint计算获取的记录数
引用的全局变量:
m_pConnection_ConnectionPtr使用
m_pRecords_RecordsetPtr写(打开、关闭)
m_strNRBInfCString写
●测试要点
数据库连接正常
数据库数据正常
可获取的借书记录数为零返回结果为0,引用字符串置空
可获取的借书记录数不为零返回记录数,并将相关信息记录在引用字符串中
数据库数据异常返回异常指示,给出警告
数据库连接异常返回异常指示,给出警告
10.还书信息记录模块
●功能:
记录本次还书操作的信息,包括图书书名,超期天数。
●输入项目:
包含相关信息(书名、借书日期)的查询结果集(公共变量)
●输出项目:
更新后的格式化还书信息(公共变量)
●程序逻辑
WHILE传入的查询结果集未读至文件尾
读取书名,置入还书信息字符串
读取借书日期
计算超期天数
置入还书信息字符串
光标移至下一个记录
●接口
调用形式:
voidSaveRBInf(void)
传入参数:
无
传出参数:
无
●存储分配
局部变量:
类型转换vtemp_variant_t查询结果类型转换
strExcessCString超期天数类型转换
计算变量oleDateCOleDateTime借书日期
oleExcessCOleDateTimeSpan超期天数
intExcessint超期天数
引用的全局变量:
m_pRecords_RecordsetPtr读(关闭记录集)
m_strRBInfCString更新
m_MaxLBDayint读
●测试要点
查询结果集正常
查询结果集异常
11.还书登记模块
●功能:
登记还书(删除借书记录,更新图书状态)
●输入项目:
图书书号(输入参数)
●输出项目:
操作成功/失败标志(返回值)
●程序逻辑
生成数据库操作命令(更新)
IF操作成功
生成数据库操作命令(删除)
IF操作成功
返回”操作成功”
返回”操作失败”
●接口
调用形式:
BOOLDelBlrecord(constlongBookID)
传入参数:
BookID(整型常量)返还图书书号
传出参数:
操作成功/失败标志(BOOL值)
●存储分配
局部变量:
操作参数vtCommand_variant_t操作命令
vRecsAffected_variant_t操作影响参数
类型转换strCommandCString操作命令类型转换
引用的全局变量:
m_pConnection_ConnectionPtr使用
●测试要点
数据库连接正常
图书书号合法
图书书号不合法
数据库连接异常
12.图书查询模块
●功能:
根据给定查询条件,查询数据库,获取图书信息
●输入项目:
查询方式指定以及查询关键字
●输出项目:
查询结果列表显示
●程序逻辑
●接口
调用形式:
CBookQuiryDlg:
:
QuiryBook(const_ConnectionPtrpConnection)
传入参数:
pConnection(数据库连接指针)
传出参数:
无
●存储分配
内部变量:
数据库m_pBooks_RecordsetPtr数据库查询结果集指针
用户界面m_strAuthorCString作者关键字
m_bAuthorBOOL作者查询选择状态
m_strBookNameCString书名关键字
m_bBookNameBOOL书名查询选择状态
m_strPublisherCString出版社关键字
m_bPublisherBOOL出版社查询选择状态
m_intYear1int出版时间关键字
m_intYear2int出版时间关键字
m_intMonth1int出版时间关键字
m_intMonth2int出版时间关键字
m_bPubTimeBOOL出版时间查询选择状态
m_intTimeTypeint出版时间查询方式选择
局部变量:
查询参数vtQuiry_variant_t查询命令
vNull_variant_t查询连接
类型转换strQuiryCString查询命令类型转换
●测试要点
数据库连接正常
数据库数据正常获得正确的查询结果并显示
数据库数据异常给出警告
数据库连接异常给出警告
13.查询命令生成模块
●功能:
根据用户界面的输入生成查询命令
●输入项目:
用户界面的输入值(公共变量)
●输出项目:
查询命令(返回值)
●程序逻辑
读取各复选框的值
IF选中AND关键字不为空
生成查询条件
生成数据库查询命令
返回生成的查询命令
●接口
调用形式:
CStringGetQuiryString()
传入参数:
无
传出参数:
查询命令(CString)
●存储分配
局部变量:
strQuiryCString查询命令字符串
strTempCString临时字符串
●测试要点
用户输入合理
用户输入不合理(没有指定查询方式,没有输入查询关键字)
14.数据库查询模块
●功能:
根据输入的查询命令查询数据库
●输入项目:
查询命令(传入参数)
●输出项目:
数据库查询结果(返回值);数据库查询结果集(公共变量)
●程序逻辑
查询数据库
IF操作成功
返回”操作成功”
ELSE
返回”操作失败”
●接口
调用形式:
BOOLDBQuiry(constCStringstrQuiry)
传入参数:
strQuiry(字符串型常量)数据库查询命令
传出参数:
查询操作成功/失败标志(BOOL值)
●存储分配
局部变量:
查询参数vtQuiry_varaint_t数据库查询命令
vRecsAffected_variant_t数据库查询连接
引用的全局变量:
m_pConnection_ConnectionPtr使用
m_pBooks_RecordsetPtr读
●测试要点
数据库连接正常
输入查询命令合法
获取非空查询结果集返回“真”返回值,查询结果保存在查询结果集中
获取空查询结果集返回“真”返回值,查询结果集为空
输入查询命令不合法返回“假”返回值,查询结果集指针
指向空,给出警告
数据库连接异常
15.数据显示模块
●功能:
按一定格式列表显示查询结果,并根据用户要求重排列
●输入项目:
查询结果集(传入参数);输出项名称(传入参数);
查询结果表参数,包括行数、列数(传入参数)
●输出项目:
用户界面显示
●程序逻辑
初始化(设置行数、列数、列名称,载入输入的查询结果集内的数据)
显示列表
WHILE用户未输入“返回”
IF用户拖动列的标题栏
重新设置列的位置
排序
刷新显示
返回
●接口
调用形式:
CListShowDlg:
:
ShowList(const_RecordsetPtrpRecords,CString*strArray,constintcols,constintrows)
传入参数:
pRecords(数据库查询结果集指针)需要显示的查询结果
strArray(字符串数组头指针)显示项的名称(列名)
cols(整型常量)列表列数
rows(整型常量)列表行数
传出参数:
无
●存储分配
内部数据:
数据库m_pRecords_RecordsetPtr数据库查询结果集
内部参数m_strArrayCString[20]列名存储数组
m_intColsint列表列数
m_intRowsint列表行数
m_cltFGridCMSFlexGrid列表控件
m_iMouseColint用户鼠标所在列
●测试要点
查询结果正常
查询结果集为空显示消息框提示
查询结果集不为空正常显示结果列表,并根据用户输入调整输出
查询结果异常显示警告
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 管理 系统 详细 设计 说明书
![提示](https://static.bdocx.com/images/bang_tan.gif)