1、2程序系统的结构3程序(标识符)设计说明3.1主模块 功能建立与数据库连接获取系统设置运行主对话框根据输入调用子模块退出系统时断开与数据库的连接 输入项目用户鼠标点击输入 程序逻辑见右图 存储分配内部数据: 数据库连接 m_pConnection _ConnectionPtr 数据库连接指针 m_IsConnected BOOL 数据库连接指示 系统设置 m_MaxLBNum int 可借图书数上限 m_MaxLBDay int 借书天数上限 子对话框 m_BookOutDlg CBookOutDlg 借书对话框 m_BookInDlg CBookInDlg 还书对话框 m_BookQuiry
2、Dlg CBookQuiryDlg 图书查询对话框 m_SysDlg CSysDlg 系统操作对话框 测试要点数据库连接情况:正常情况,数据库文件缺少,外部系统异常。系统设置获取:正常情况,外部系统异常。对用户输入的响应: 合法输入,能够正常调用子模块; 非法输入,系统能否辨别,并作出响应(提出警告); 子模块的异常状况,系统能否及时做出响应。3.2借书模块查验输入的读者证号运行借书对话框获取该读者的相关信息查验输入的图书号登记借书读者证号、图书书号(用户输入) 输出项目读者信息(姓名);读者已借图书信息(书名、借书日期); 接口调用形式:void CBookDlg:LendBook(cons
3、t _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 可借图书
4、数上限模块正常运行流程用户输入数据检查(读者证号、图书书号),包括数据合理性检查,以及合法性检查数据库操作数据库连接异常时的响应情况3.2.1 读者查验模块查验输入的读者证号是否合法(即是否存在与该读者证号对应的读者记录)读者证号(整型常数),读者姓名(引用型字符串)查验结果(BOOL值)生成数据库查询语句调用数据库查询模块IF返回结果集为空(不存在该读者证号) 置读者姓名字符串为空返回”非法读者证号”ELSE 置读者姓名字符串返回”合法读者证号”BOOL CheckReader(const long ReaderID,CString &strReaderName)ReaderID(常量参数传
5、入) 待查验的读者证号 m_pConnection(借书模块内的全局变量) 数据库连接指针读者证号存在/不存在标志(返回值) strReaderName(传入的引用参数) 读者证号对应的读者姓名(读者证号不存在时置为空)局部变量:数据库 pReader _RecordsetPtr 数据库查询结果集指针 查询参数 vtQuiry _variant_t 查询命令 vNull _variant_t 查询连接 类型转换 strQuiry Cstring 查询命令类型转换 vtemp _variant_t 查询结果类型转换数据库连接正常时输入合理合法参数输入参数不合理输入参数不合法数据库连接异常;数据库
6、数据异常(读者姓名为空)3.2.2 图书查验模块查验输入的图书书号是否合法图书书号(整型常量)IF返回结果集为空(不存在该图书书号)返回”非法图书书号”返回”合法图书书号”调用形式: BOOL CheckBook(const long BookID)传入参数: BookID(整型常量) 带查验的图书书号传出参数: 书号合法/不合法标志(返回值) 查验结果局部变量: 数据库 pBook _RecordsetPtr 数据库查询结果集指针 查询参量 vtQuiry _variant_t 查询字符串 vNull _variant_t 查询连接参量 类型转换 strQuiry Cstring 查询命令类
7、型转换数据库连接正常数据库数据正常输入的书号合理合法输入的书号不合理输入的书号不合法数据库数据异常数据库连接异常3.2.3 相关信息获取模块获取合法读者的借书记录合法读者证号(整型常量);读者已借图书信息(引用型字符串)查询操作结果(BOOL值)IF 操作成功 WHILE 查询结果集未读至文件尾 读取各项值 置入读者已借图书信息字符串 返回”操作成功” 置空读者已借图书信息字符串 返回”操作失败”BOOL GetLBInf(const long ReaderID,CString &strLBInf)传入参量:ReaderID(整型常量) 查询参数 strLBInf(引用型字符串) 返回用的格式
8、化的查询信息传出参量:查询成功/失败标志(BOOL值) 查询操作结果信息 数据库 pRecords _RecordsetPtr 数据库查询结果集指针 查询参数 vtQuiry _variant_t 查询命令字符串 类型转换 strQuiry CString 查询命令类型转换输入正常(读者证号合法)输入异常(读者证号非法)3.2.4 借书登记模块登录借书信息读者证号(整型常量);操作结果(BOOL值)生成数据库操作命令调用数据库操作模块 返回”操作成功” 返回”操作失败”BOOL WriteBlrecord(const long ReaderID,const long BookID)Reader
9、ID(整型常量) 操作参数(借阅者读者证号) BookID(整型常量) 操作参数(借阅图书书号)操作成功/失败标志(返回值) 操作命令参数 vRecsAffected _variant_t 操作影响 vtCommand _variant_t 操作命令 类型转换 strCommand CString 操作命令类型转换 strToday CString 借书日期类型转换 oleToday COleDateTime 借书日期数据库操作正常输入参数合法输入参数非法数据库操作异常4 还书模块运行还书对话框查验输入的图书书号对合法输入登录还书信息显示相关信息(本次还书操作信息,尚未归还图书的相关信息,读者
10、信息)图书书号(用户输入)相关信息(本次还书操作信息,尚未归还的图书信息,读者信息)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 借书天数上限模块正常工作流程对输
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1