系统设置 m MaxLBNum int 可借图书数上限 借书天数上限 子对话框 m_ BookOutDlg CBookOutDlg借书对话框 m BooklnDlg CBookInDlg还书对话框 m BookQuiryDlg CBookQuiryDlg图书查询对话框 n Sys saLg 系统操作对话框 测试要点 数据库连接情况:正常情况,数据库文件缺少,外部系统异常, 系统设置获取:正常情况,外部系统异常 对用户输入的响应:合法输入,能够正常调用子模块 非法输入,系统能否辨别,并作出响应(提出警告) 子模块的异常状况,系统能否及时做出响应。 2.借书模块 功能 查验输入的读者证号 运行借书对话框 获取该读者的相关信息 查验输入的图书号 登记借书 输入项目 读者证号、图书书号(用户输入) 输出项目 读者信息(姓名):读者已借图书信息(书名、借书日期) 程序逻辑 初始化 要求输入读者证号 返回 操作取消“ 警告 输入不合理? 图书查验模块 返回 读者查验模块 返回 查验结果为不能出借? 警告 查验结果为该号不存在? 返回 借书登记 更新相关信息 借书对话框初始化 更新显示 UNL输入返回”:确3t( ConnectionPtr cOnnection 关闭借书对话框
系统设置 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, 初始化 要求输入读者证号 读者查验模块 借书对话框初始化 关闭借书对话框 返回 操作取消? 输入不合理? 警告 返回 查验结果为该号不存在? 警告 返回 UNTIL 输入”返回” 输入确认? 图书查验模块 借书登记 更新相关信息 更新显示 查验结果为不能出借? 返回
const int MaxLBNum) 传入参数: cOnnection 数据库连接指针 MaxlBNum系统参数(可借图书上限) 传出参数:无 存储分配 内部数据:数据库 m cOnnection_ Connectionptr数据库连接指针 用户界面 m strReader Name CString 读者姓名 mstrLBInf CString 已借图书信息 m-strLBNum CString 已借图书数显示 m IBookid 欲借图书书号 内部参数m1 Readers 当前读者证号 m MaxlBNum 可借图书数上限 测试要点 模块正常运行流程 用户输入数据检查(读者证号、图书书号),包括数据合理性检査,以及合法性检査 数据库操作 数据库连接异常时的响应情况 2.1读者查验模块 功能 查验输入的读者证号是否合法(即是否存在与该读者证号对应的读者记录) 输入项目 读者证号(整型常数),读者姓名(引用型字符串 输出项目 查验结果(BOOL值) 程序逻辑 生成数据库查询语句 调用数据库査询模块 IF返回结果集为空(不存在该读者证号) 置读者姓名字符串为空 返回”非法读者证号 ELSE 置读者姓名字符串 返回”合法读者证号” 接口 调用形式: BOoL Check Reader( const long ReaderID, CString& strReaderName) 传入参数: Readerld(常量参数传入) 待查验的读者证号 m_ cOnnection(借书模块内的全局变量) 数据库连接指针 传出参数:读者证号存在/不存在标志(返回值) strReaderName(传入的引用参数)读者证号对应的读者姓名 (读者证号不存在时置为空) 存储分配 局部变量:数据库 pReade RecordsetPtr数据库査询结果集指针 查询参数 eqUiry variant t 查询命令 nUll varlan 查询连接
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 可借图书数上限 ⚫ 测试要点 模块正常运行流程 用户输入数据检查(读者证号、图书书号),包括数据合理性检查,以及合法性检查 数据库操作 数据库连接异常时的响应情况 2.1 读者查验模块 ⚫ 功能 查验输入的读者证号是否合法(即是否存在与该读者证号对应的读者记录) ⚫ 输入项目 读者证号(整型常数),读者姓名(引用型字符串) ⚫ 输出项目 查验结果(BOOL 值) ⚫ 程序逻辑 生成数据库查询语句 调用数据库查询模块 IF 返回结果集为空(不存在该读者证号) 置读者姓名字符串为空 返回”非法读者证号” ELSE 置读者姓名字符串 返回”合法读者证号” ⚫ 接口 调用形式:BOOL CheckReader(const long ReaderID,CString &strReaderName) 传入参数:ReaderID(常量参数传入) 待查验的读者证号 m_pConnection(借书模块内的全局变量) 数据库连接指针 传出参数:读者证号存在/不存在标志(返回值) strReaderName(传入的引用参数) 读者证号对应的读者姓名 (读者证号不存在时置为空) ⚫ 存储分配 局部变量:数据库 pReader _RecordsetPtr 数据库查询结果集指针 查询参数 vtQuiry _variant_t 查询命令 vNull _variant_t 查询连接
类型转换 strQuiry Estrin 查询命令类型转换 vtemp variant t 查询结果类型转换 测试要点 数据库连接正常时 输入合理合法参数 输入参数不合理 输入参数不合法 数据库连接异常:数据库数据异常(读者姓名为空) 2.2图书查验模块 功能 查验输入的图书书号是否合法 输入项目 图书书号(整型常量) 输出项目 查验结果(BOL值 程序逻辑 生成数据库査询语句 调用数据库查询模块 IF返回结果集为空(不存在该图书书号) 返回”非法图书书号 ELSE 返回”合法图书书号 接口 调用形式: BooL Checkbook( const long Book Id) 传入参数: BookID(整型常量) 带查验的图书书号 传出参数:书号合法/不合法标志(返回值)查验结果 存储分配 局部变量:数据库 Recordsetptr数据库查询结果集指针 查询参量 vtQuiry variant t 查询字符串 variant t 查询连接参量 类型转换 strQuiry Cstring 查询命令类型转换 测试要点 数据库连接正常 数据库数据正常 输入的书号合理合法 输入的书号不合理 输入的书号不合法 数据库数据异常 数据库连接异常 2.3相关信息获取模块 功能 获取合法读者的借书记录 输入项目 合法读者证号(整型常量):读者已借图书信息(引用型字符串)
类型转换 strQuiry Cstring 查询命令类型转换 vtemp _variant_t 查询结果类型转换 ⚫ 测试要点 数据库连接正常时 输入合理合法参数 输入参数不合理 输入参数不合法 数据库连接异常;数据库数据异常(读者姓名为空) 2.2 图书查验模块 ⚫ 功能 查验输入的图书书号是否合法 ⚫ 输入项目 图书书号(整型常量) ⚫ 输出项目 查验结果(BOOL 值) ⚫ 程序逻辑 生成数据库查询语句 调用数据库查询模块 IF 返回结果集为空(不存在该图书书号) 返回”非法图书书号” ELSE 返回”合法图书书号” ⚫ 接口 调用形式: BOOL CheckBook(const long BookID) 传入参数: BookID(整型常量) 带查验的图书书号 传出参数: 书号合法/不合法标志(返回值) 查验结果 ⚫ 存储分配 局部变量: 数据库 pBook _RecordsetPtr 数据库查询结果集指针 查询参量 vtQuiry _variant_t 查询字符串 vNull _variant_t 查询连接参量 类型转换 strQuiry Cstring 查询命令类型转换 ⚫ 测试要点 数据库连接正常 数据库数据正常 输入的书号合理合法 输入的书号不合理 输入的书号不合法 数据库数据异常 数据库连接异常 2.3 相关信息获取模块 ⚫ 功能 获取合法读者的借书记录 ⚫ 输入项目 合法读者证号(整型常量);读者已借图书信息(引用型字符串)
输出项目 查询操作结果(BOOL值) 程序逻辑 生成数据库查询语句 调用数据库查询模块 IF操作成功 WHILE查询结果集未读至文件尾 读取各项值 置入读者已借图书信息字符串 返回”操作成功 ELSE 置空读者已借图书信息字符串 返回”操作失败 接口 调用形式: BOOL GetLBInf( const long Reader ID, CString& strlBInf) 传入参量: Reader(整型常量 查询参数 strlBInf(引用型字符串)返回用的格式化的查询信息 传出参量:查询成功/失败标志(B00L值)查询操作结果信息 存储分配 局部变量:数据库 rEcords RecordsetPtr数据库查询结果集指针 查询参数 vtQuiry variant t 查询命令字符串 variant t查询连接参量 类型转换 strQuiry CString 查询命令类型转换 测试要点 数据库连接正常 数据库数据正常 输入正常(读者证号合法) 输入异常(读者证号非法) 数据库数据异常 数据库连接异常 2.4借书登记模块 功能 登录借书信息 输入项目 读者证号(整型常量):图书书号(整型常量) 输出项目 操作结果(BOOL值) 程序逻辑 生成数据库操作命令 调用数据库操作模块 IF操作成功 返回”操作成功
⚫ 输出项目 查询操作结果(BOOL 值) ⚫ 程序逻辑 生成数据库查询语句 调用数据库查询模块 IF 操作成功 WHILE 查询结果集未读至文件尾 读取各项值 置入读者已借图书信息字符串 返回”操作成功” ELSE 置空读者已借图书信息字符串 返回”操作失败” ⚫ 接口 调用形式:BOOL GetLBInf(const long ReaderID,CString &strLBInf) 传入参量:ReaderID(整型常量) 查询参数 strLBInf(引用型字符串) 返回用的格式化的查询信息 传出参量:查询成功/失败标志(BOOL 值) 查询操作结果信息 ⚫ 存储分配 局部变量: 数据库 pRecords _RecordsetPtr 数据库查询结果集指针 查询参数 vtQuiry _variant_t 查询命令字符串 vNull _variant_t 查询连接参量 类型转换 strQuiry CString 查询命令类型转换 ⚫ 测试要点 数据库连接正常 数据库数据正常 输入正常(读者证号合法) 输入异常(读者证号非法) 数据库数据异常 数据库连接异常 2.4 借书登记模块 ⚫ 功能 登录借书信息 ⚫ 输入项目 读者证号(整型常量);图书书号(整型常量) ⚫ 输出项目 操作结果(BOOL 值) ⚫ 程序逻辑 生成数据库操作命令 调用数据库操作模块 IF 操作成功 返回”操作成功
返回操作失败” 接囗 调用形式: BOoL Writeblrecord( const long Reader ID, const long BookID) 传入参数: Reader(整型常量) 操作参数(借阅者读者证号) BookID(整型常量 操作参数(借阅图书书号) 传出参数:操作成功/失败标志(返回值) 存储分配 局部变量:操作命令参数 RecsAffected variant t操作影响 variant t操作命令 类型转换 strCommand 操作命令类型转换 CString借书日期类型转换 oleToday COleDateTime借书日期 测试要点 数据库连接正常 数据库操作正常 输入参数合法 输入参数非法 数据库操作异常 数据库连接异常 3.还书模块 功能 运行还书对话框 查验输入的图书书号 对合法输入登录还书信息 显示相关信息(本次还书操作信息,尚未归还图书的相关信息,读者信息) 输入项目 图书书号(用户输入) 输出项目 相关信息(本次还书操作信息,尚未归还的图书信息,读者信 程序逻辑 初始化 借书记录查验模块 警告 初始化还书对话框 该借书记录不存在 返回 登记还书 TL输入”返回 输入确认 记录还书信息模块 关闭还书对话框 接口 获取相关信息模块 调用形式: CBookInDlg: Returnbook( const Connectie lon 新显
ELSE 返回”操作失败” ⚫ 接口 调用形式:BOOL WriteBlrecord(const long ReaderID,const long BookID) 传入参数:ReaderID(整型常量) 操作参数(借阅者读者证号) BookID(整型常量) 操作参数(借阅图书书号) 传出参数:操作成功/失败标志(返回值) ⚫ 存储分配 局部变量: 操作命令参数 vRecsAffected _variant_t 操作影响 vtCommand _variant_t 操作命令 类型转换 strCommand CString 操作命令类型转换 strToday CString 借书日期类型转换 oleToday COleDateTime 借书日期 ⚫ 测试要点 数据库连接正常 数据库操作正常 输入参数合法 输入参数非法 数据库操作异常 数据库连接异常 3. 还书模块 ⚫ 功能 运行还书对话框 查验输入的图书书号 对合法输入登录还书信息 显示相关信息(本次还书操作信息,尚未归还图书的相关信息,读者信息) ⚫ 输入项目 图书书号(用户输入) ⚫ 输出项目 相关信息(本次还书操作信息,尚未归还的图书信息,读者信息) ⚫ 程序逻辑 ⚫ 接口 调用形式:CBookInDlg::ReturnBook(const _ConnectionPtr pConnection, 初始化 初始化还书对话框 关闭还书对话框 输入确认 借书记录查验模块 登记还书 记录还书信息模块 获取相关信息模块 更新显示 警告 该借书记录不存在 返回 UNTIL 输入”返回