详细设计说明书1.引言1.1编写目的本说明书描述了图书馆管理系统软件的设计需求,读者为该管理系统软件的设计人员、代码编写人员、测试人员、维护人员和该项目的审核验收人员。1.2项目背景该项目的委托单位为清华大学计算机系;开发单位为IceWindDale工作室;主管部门为信息产业部第15研究所.该软件与其他系统不存在关系。1.3参考资料:名称作者编号发布日期出版单位或资料来源太极计算机公司程序文件太极计算机公司质量部JL-4。2.3—042002—5内部资料计算机系统软件产品文件编制指南华北计算技术研究所2001—1《计算机与信息处理标准化》编辑部Sw00。ppt殷人昆2002-5清华大学工程硕士研究生班讲义SQLServer2000系统管理员宝典MarciFrohockGarcia;JamieReding;EdwardWhalen;SteveAdrienDeLucaISBN:7-900635—84-X2001—7清华大学出版社2.总体设计2.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_**rLBInfCString已借图书信息m_strLBNumCString已借图书数显示m_lBookIDlong欲借图书书号内部参数m_lReaderIDlong当前读者证号m_MaxLBNumint可借图书数上限测试要点模块正常运行流程用户输入数据检查(读者证号、图书书号),包括数据合理性检查,以及合法性检查数据库操作数据库连接异常时的响应情况3.读者查验模块程序逻辑生成数据库查询语句调用数据库查询模块IF返回结果集为空(不存在该读者证号)置读者姓名字符**空返回”非法读者证号”ELSE置读者姓名字符**回”合法读者证号”接口调用形式:BOOLCheckReader(constlongReaderID,CString&strReaderName)传入参数:ReaderID(常量参数传入)待查验的读者证号m_pConnection(借书模块内的全局变量)数据库连接指针传出参数:读者证号存在/不存在标志(返回值)strReaderName(传入的引用参数)读者证号对应的读者姓名(读**号不存在时置为空)存储分配局部变量:数据库pReader_RecordsetPtr数据库查询结果集指针查询参数vtQuiry_variant_t查询命令vNull_variant_t查询连接类型转换strQuiryCstring查询命令类型转换vtemp_variant_t查询结果类型转换测试要点数据库连接正常时输入合理合法参数输入参数不合理输入参数不合法数据库连接异常;数据库数据异常(读者姓名为空)4**书查验模块程序逻辑生成数据库查询语句调用数据库查询模块IF返回结果集为空(不存在该图书书号)返回”非法图书书号"ELSE返回”合法图书书号”接口调用形式:BOOLCheckBook(constlongBookID)传入参数:BookID(整型常量)带查验的图书书号传出参数:书号合法/不合法标志(返回值)查验结果存储分配局部变量:数据库pBook_RecordsetPtr数据库查询结果集指针查询参量vtQuiry_variant_t查询字符串vNull_variant_t查询连接参量类型转换strQuiryCstring查询命令类型转换测试要点数据库连接正常数据库数据正常输入的书号合理合法输入的书号不合理输入的书号不合法数据库数据异常数据库连接异常5.相关信息获取模块程序逻辑生成数据库查询语句调用数据库查询模块操作成功WHILE查询结果集未读至文件尾读取各项值置入读者已借图书信息字符串返回"操作成功”ELSE置空读者已借图书信息字符串返回”操作失败"接口调用形式:BOOLGetLBInf(constlongReaderID,CString&strLBInf)传入参量:ReaderID(整型常量)查询参数strLBInf(引用型字符串)返回用的格式化的查询信息传出参量:查询成功/失败标志(BOOL值)查询操作结果信息存储分配局部变量:数据库pRecords_RecordsetPtr数据库查询结果集指针查询参数vtQuiry_variant_t查询命令字符串vNull_variant_t查询连接参量类型转换strQuiryCString查询命令类型转换测试要点数据库连接正常数据库数据正常输入正常(读者证号合法)输入异常(读者证号非法)数据库数据异常数据库连接异常6.借书登记模块程序逻辑生成数据库操作命令调用数据库操作模块操作成功返回”操作成功”ELSE返回”操作失败”接口调用形式:BOOLWriteBlrecord(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查询结果集不为空(存在该借书记录) 返回”记录存在" ELSE 警告"记录不存在" ELSE 警告”查询失败” 返回”记录不存在” 接口调用形式:BOOL CheckBlrcord(const long BookID) 传入参量:BookID(整型常量) 传出参量:书号合法/非法标志(BOOL型) 存储分配局部变量: 查询参数 vtQuiry _variant_t 查询命令 vNull _variant_t 查询连接 类型转换 strQuiry CString 查询命令类型转换 引用的全局变量: m_pConnection _ConnectionPtr 使用 m_pRecords _RecordsetPtr 写(打开) 测试要点数据库连接正常 数据库数据正常 合法的图书书号 返回“真”查验结果