图书馆管理系统详细设计说明书
- 格式:doc
- 大小:192.50 KB
- 文档页数:77
详细设计说明书1.引言1.1 编写目的本说明书描述了图书馆管理系统软件的设计需求,读者为该管理系统软件的设计人员、代码编写人员、测试人员、维护人员和该项目的审核验收人员。
1.2 项目背景该项目的委托单位为清华大学计算机系;开发单位为IceWindDale工作室;主管部门为信息产业部第15研究所。
该软件与其他系统不存在关系。
1.3 参考资料:2.总体设计2.1 需求概述图书管理系统针对中型图书室,藏书的种类包括中、英、俄、德、日文书籍和期刊,读者的数量和来源仅限于本单位职工及通过馆际互借认可的读者。
要求:能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理;能够对一定数量的读者进行相应的信息存储与管理;能够对要求的统计结果打印输出;能够提供一定的安全机制;2.2 程序描述1.主模块功能:建立与数据库连接获取系统设置运行主对话框根据输入调用子模块●输入项目用户鼠标点击输入●程序逻辑见右图●存储分配内部数据:数据库连接m_pConnection _ConnectionPtr数据库连接指针m_IsConnected BOOL 数据库连接指示系统设置m_MaxLBNum int 可借图书数上限m_MaxLBDay int 借书天数上限子对话框m_BookOutDlg CBookOutDlg 借书对话框m_BookInDlg CBookInDlg 还书对话框m_BookQuiryDlg CBookQuiryDlg 图书查询对话框m_SysDlg CSysDlg 系统操作对话框●测试要点数据库连接情况:正常情况,数据库文件缺少,外部系统异常。
系统设置获取:正常情况,外部系统异常。
对用户输入的响应:合法输入,能够正常调用子模块;非法输入,系统能否辨别,并作出响应(提出警告);子模块的异常状况,系统能否及时做出响应。
2.书模块●功能:查验输入的读者证号运行借书对话框获取该读者的相关信息查验输入的图书号登记借书●输入项目:读者证号、图书书号(用户输入)●输出项目:读者信息(姓名);读者已借图书信息(书名、借书日期);●接口调用形式:void CBookDlg::LendBook(const _ConnectionPtr pConnection, const int MaxLBNum)传入参数:pConnection 数据库连接指针MaxLBNum 系统参数(可借图书上限)传出参数:无●存储分配内部数据:数据库m_pConnection _ConnectionPtr 数据库连接指针用户界面m_strReaderName CString 读者姓名m_strLBInf CString 已借图书信息m_strLBNum CString 已借图书数显示m_lBookID long 欲借图书书号内部参数m_lReaderID long 当前读者证号m_MaxLBNum int 可借图书数上限●测试要点模块正常运行流程用户输入数据检查(读者证号、图书书号),包括数据合理性检查,以及合法性检查数据库操作数据库连接异常时的响应情况3.读者查验模块●功能:查验输入的读者证号是否合法(即是否存在与该读者证号对应的读者记录)●输入项目:读者证号(整型常数),读者姓名(引用型字符串)●输出项目:查验结果(BOOL值)●程序逻辑生成数据库查询语句调用数据库查询模块IF返回结果集为空(不存在该读者证号)置读者姓名字符串为空返回”非法读者证号”ELSE置读者姓名字符串返回”合法读者证号”●接口调用形式:BOOL CheckReader(const long ReaderID,CString &strReaderName)传入参数:ReaderID(常量参数传入) 待查验的读者证号m_pConnection(借书模块内的全局变量) 数据库连接指针传出参数:读者证号存在/不存在标志(返回值)strReaderName(传入的引用参数) 读者证号对应的读者姓名(读者证号不存在时置为空)●存储分配局部变量:数据库pReader _RecordsetPtr 数据库查询结果集指针查询参数vtQuiry _variant_t 查询命令vNull _variant_t 查询连接类型转换strQuiry Cstring 查询命令类型转换vtemp _variant_t 查询结果类型转换●测试要点数据库连接正常时输入合理合法参数输入参数不合理输入参数不合法数据库连接异常;数据库数据异常(读者姓名为空)4.图书查验模块●功能:查验输入的图书书号是否合法●输入项目:图书书号(整型常量)●输出项目:查验结果(BOOL值)●程序逻辑生成数据库查询语句调用数据库查询模块IF返回结果集为空(不存在该图书书号)返回”非法图书书号”ELSE返回”合法图书书号”●接口调用形式: BOOL CheckBook(const long BookID)传入参数: BookID(整型常量) 带查验的图书书号传出参数: 书号合法/不合法标志(返回值) 查验结果●存储分配局部变量:数据库pBook _RecordsetPtr 数据库查询结果集指针查询参量vtQuiry _variant_t 查询字符串vNull _variant_t 查询连接参量类型转换strQuiry Cstring 查询命令类型转换●测试要点数据库连接正常数据库数据正常输入的书号合理合法输入的书号不合理输入的书号不合法数据库数据异常数据库连接异常5.相关信息获取模块●功能:获取合法读者的借书记录●输入项目:合法读者证号(整型常量);读者已借图书信息(引用型字符串) ●输出项目:查询操作结果(BOOL值)●程序逻辑生成数据库查询语句调用数据库查询模块IF 操作成功WHILE 查询结果集未读至文件尾读取各项值置入读者已借图书信息字符串返回”操作成功”ELSE置空读者已借图书信息字符串返回”操作失败”●接口调用形式:BOOL GetLBInf(const long ReaderID,CString &strLBInf) 传入参量:ReaderID(整型常量) 查询参数strLBInf(引用型字符串)返回用的格式化的查询信息传出参量:查询成功/失败标志(BOOL值) 查询操作结果信息●存储分配局部变量:数据库pRecords _RecordsetPtr 数据库查询结果集指针查询参数vtQuiry _variant_t 查询命令字符串vNull _variant_t 查询连接参量类型转换strQuiry CString 查询命令类型转换●测试要点数据库连接正常数据库数据正常输入正常(读者证号合法)输入异常(读者证号非法)数据库数据异常数据库连接异常6.借书登记模块●功能:登录借书信息●输入项目:读者证号(整型常量);图书书号(整型常量)●输出项目:操作结果(BOOL值)●程序逻辑生成数据库操作命令调用数据库操作模块IF 操作成功返回”操作成功”ELSE返回”操作失败”●接口调用形式:BOOL WriteBlrecord(const long ReaderID,const long BookID)传入参数:ReaderID(整型常量) 操作参数(借阅者读者证号)BookID(整型常量) 操作参数(借阅图书书号) 传出参数:操作成功/失败标志(返回值)●存储分配局部变量:操作命令参数vRecsAffected _variant_t 操作影响vtCommand _variant_t 操作命令类型转换strCommand CString 操作命令类型转换strToday CString 借书日期类型转换oleToday COleDateTime 借书日期●测试要点数据库连接正常数据库操作正常输入参数合法输入参数非法数据库操作异常数据库连接异常7.还书模块功能:运行还书对话框查验输入的图书书号对合法输入登录还书信息显示相关信息(本次还书操作信息,尚未归还图书的相关信息,读者信息)●输入项目:图书书号(用户输入)●输出项目:相关信息(本次还书操作信息,尚未归还的图书信息,读者信息)调用形式:CBookInDlg::ReturnBook(const _ConnectionPtr pConnection,const int MaxLBDay)传入参量:pConnection(数据库连接指针常量) 提供数据库连接MaxLBDay(整型常量) 系统参数(借书天数上限) 传出参量:无●存储分配内部变量:数据库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 借书天数上限●测试要点模块正常工作流程对输入的查验,包括输入值的合法性与合理性检验数据库连接异常能否做出适当处理数据库数据异常时能否判断并给予适当处理8.借书记录查验模块●功能:查验借书记录是否存在(即是否存在与指定书号相对应的借书记录)●输入项目:图书书号(传入参数)●输出项目:查验结果(返回值);查询结果集(图书书号、书名、状态、出借日期)●程序逻辑生成数据库查询语句调用数据库查询模块IF 操作成功IF查询结果集不为空(存在该借书记录)返回”记录存在”ELSE警告”记录不存在”ELSE警告”查询失败”返回”记录不存在”●接口调用形式:BOOL CheckBlrcord(const long BookID)传入参量:BookID(整型常量)传出参量:书号合法/非法标志(BOOL型)●存储分配局部变量:查询参数vtQuiry _variant_t 查询命令vNull _variant_t 查询连接类型转换strQuiry CString 查询命令类型转换引用的全局变量:m_pConnection _ConnectionPtr 使用m_pRecords _RecordsetPtr 写(打开)●测试要点数据库连接正常数据库数据正常合法的图书书号返回“真”查验结果不合法的图书书号返回“假”查验结果,给出警告提示数据库数据异常返回“假”查验结果,给出数据异常警告数据库连接异常返回“假”查验结果,给出数据库连接异常警告9.相关信息获取模块●功能:获取指定读者(读者证号)的借书记录,获取的信息包括所借图书书名,借书日期以及所借图书的总本数。