[例子]详细设计说明书

上传人:gbs****77 文档编号:9294502 上传时间:2020-04-04 格式:DOC 页数:35 大小:176KB
返回 下载 相关 举报
[例子]详细设计说明书_第1页
第1页 / 共35页
[例子]详细设计说明书_第2页
第2页 / 共35页
[例子]详细设计说明书_第3页
第3页 / 共35页
点击查看更多>>
资源描述
1 详细设计说明书 1 引言 1 1 编写目的 根据 需求规格说明书 概要设计说明书 在仔细考虑讨论之后 我们对 图书管理 系统 软件的功能划分 数据结构 软件总体结构的实现有了进一步的想法 我们将这些想法 记录下来 作为详细设计说明书 为进一步设计软件 编写代码打下基础 1 2 背景 随着社会信息量的与日俱增 作为信息存储的主要媒体之一图书 数量 规模比以往任何 时候都大的多 不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍 在计算机日益普及的今天 对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍 会方便许多 对图书管理部门而言 以前单一的手工检索已不能满足人们的要求 为了便于图 书资料的管理需要有效的图书管理软件 本图书管理系统软件是一套功能比较完善的数据管理软件 具有数据操作方便高效迅速等 优点 该软件采用功能强大的数据库软件开发工具进行开发 具有很好的可移植性 可在 应用范围较广的 DOS WINDOWS 系列等操作系统上使用 1 3 定义 文档中采用的专门术语的定义及缩略词简要如下 LMS Library Management System 图书管理系统 1 4 参考资料 1 费贤举关于图书管理系统的批文 2 郑人杰 殷人昆 陶永雷 实用软件工程 第二版 北京 清华大学出版社 1997 3 王立福 麻志毅 软件工程 第二版 北京 北京大学出版社 2001 4 唐学忠 王文 Visual Basic 程序设计教程 北京 中国电力出版社 2002 2 2 程序系统的结构 3 程序 标识符 设计说明 3 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 系统操作对话框 测试要点 数据库连接情况 正常情况 数据库文件缺少 外部系统异常 系统设置获取 正常情况 外部系统异常 对用户输入的响应 合法输入 能够正常调用子模块 非法输入 系统能否辨别 并作出响应 提出警告 系 统 操 作 模 块 系统 设置 图书查询 更改 口令 系统操作 读者库 操作 数据 统计 读者查 询 输 入 输 出 图书库 操作 数据 备份 数据 恢复 初始化 借书模块 还书模块 图书查询模块 系统查询模块 3 子模块的异常状况 系统能否及时做出响应 3 2 借书模块 功能 查验输入的读者证号 运行借书对话框 获取该读者的相关信息 查验输入的图书号 登记借书 输入项目 读者证号 图书书号 用户输入 输出项目 读者信息 姓名 读者已借图书信息 书名 借书日期 程序逻辑 接口 调用形式 void CBookDlg LendBook const ConnectionPtr pConnection const int MaxLBNum 传入参数 pConnection 数据库连接指针 MaxLBNum 系统参数 可借图书上限 对话框初始化 输入读者证号 操作取消 输入不合理查 验 借书对话框 点击返回 查验 出错 借书登记 更新相关信息及显示 关闭对话框 4 传出参数 无 存储分配 内部数据 数据库 m pConnection ConnectionPtr 数据库连接指针 用户界面 m strReaderName CString 读者姓名 m strLBInf CString 已借图书信息 m strLBNum CString 已借图书数显示 m lBookID long 欲借图书书号 内部参数 m lReaderID long 当前读者证号 m MaxLBNum int 可借图书数上限 测试要点 模块正常运行流程 用户输入数据检查 读者证号 图书书号 包括数据合理性检查 以及合法性检查 数据库操作 数据库连接异常时的响应情况 3 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 Cstring 查询命令类型转换 vtemp variant t 查询结果类型转换 测试要点 5 数据库连接正常时 输入合理合法参数 输入参数不合理 输入参数不合法 数据库连接异常 数据库数据异常 读者姓名为空 3 2 2 图书查验模块 功能 查验输入的图书书号是否合法 输入项目 图书书号 整型常量 输出项目 查验结果 BOOL 值 程序逻辑 生成数据库查询语句 调用数据库查询模块 IF 返回结果集为空 不存在该图书书号 返回 非法图书书号 ELSE 返回 合法图书书号 接口 调用形式 BOOL CheckBook const long BookID 传入参数 BookID 整型常量 带查验的图书书号 传出参数 书号合法 不合法标志 返回值 查验结果 存储分配 局部变量 数据库 pBook RecordsetPtr 数据库查询结果集指针 查询参量 vtQuiry variant t 查询字符串 vNull variant t 查询连接参量 类型转换 strQuiry Cstring 查询命令类型转换 测试要点 数据库连接正常 数据库数据正常 输入的书号合理合法 输入的书号不合理 输入的书号不合法 数据库数据异常 数据库连接异常 3 2 3 相关信息获取模块 功能 获取合法读者的借书记录 输入项目 合法读者证号 整型常量 读者已借图书信息 引用型字符串 输出项目 查询操作结果 BOOL 值 程序逻辑 6 生成数据库查询语句 调用数据库查询模块 IF 操作成功 WHILE 查询结果集未读至文件尾 读取各项值 置入读者已借图书信息字符串 返回 操作成功 ELSE 置空读者已借图书信息字符串 返回 操作失败 接口 调用形式 BOOL GetLBInf const long ReaderID CString strLBInf 传入参量 ReaderID 整型常量 查询参数 strLBInf 引用型字符串 返回用的格式化的查询信息 传出参量 查询成功 失败标志 BOOL 值 查询操作结果信息 存储分配 局部变量 数据库 pRecords RecordsetPtr 数据库查询结果集指针 查询参数 vtQuiry variant t 查询命令字符串 vNull variant t 查询连接参量 类型转换 strQuiry CString 查询命令类型转换 测试要点 数据库连接正常 数据库数据正常 输入正常 读者证号合法 输入异常 读者证号非法 数据库数据异常 数据库连接异常 3 2 4 借书登记模块 功能 登录借书信息 输入项目 读者证号 整型常量 图书书号 整型常量 输出项目 操作结果 BOOL 值 程序逻辑 生成数据库操作命令 调用数据库操作模块 IF 操作成功 返回 操作成功 ELSE 返回 操作失败 接口 7 调用形式 BOOL WriteBlrecord const long ReaderID const long BookID 传入参数 ReaderID 整型常量 操作参数 借阅者读者证号 BookID 整型常量 操作参数 借阅图书书号 传出参数 操作成功 失败标志 返回值 存储分配 局部变量 操作命令参数 vRecsAffected variant t 操作影响 vtCommand variant t 操作命令 类型转换 strCommand CString 操作命令类型转换 strToday CString 借书日期类型转换 oleToday COleDateTime 借书日期 测试要点 数据库连接正常 数据库操作正常 输入参数合法 输入参数非法 数据库操作异常 数据库连接异常 4 还书模块 功能 运行还书对话框 查验输入的图书书号 对合法输入登录还书信息 显示相关信息 本次还书操作信息 尚未归还图书的相关信息 读者信息 输入项目 图书书号 用户输入 输出项目 相关信息 本次还书操作信息 尚未归还的图书信息 读者信息 程序逻辑 接口 调用形式 CBookInDlg ReturnBook const ConnectionPtr pConnection 初始对话框 借书记录查验模块 点击退出 出错返回 登记还书 更新还书信息及显示 关闭对话框 8 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 借书天数上限 测试要点 模块正常工作流程 对输入的查验 包括输入值的合法性与合理性检验 数据库连接异常能否做出适当处理 数据库数据异常时能否判断并给予适当处理 4 1 借书记录查验模块 功能 查验借书记录是否存在 即是否存在与指定书号相对应的借书记录 输入项目 图书书号 传入参数 输出项目 查验结果 返回值 查询结果集 图书书号 书名 状态 出借日期 程序逻辑 生成数据库查询语句 调用数据库查询模块 IF 操作成功 IF 查询结果集不为空 存在该借书记录 返回 记录存在 ELSE 警告 记录不存在 ELSE 警告 查询失败 返回 记录不存在 接口 调用形式 BOOL CheckBlrcord const long BookID 9 传入参量 BookID 整型常量 传出参量 书号合法 非法标志 BOOL 型 存储分配 局部变量 查询参数 vtQuiry variant t 查询命令 vNull variant t 查询连接 类型转换 strQuiry CString 查询命令类型转换 引用的全局变量 m pConnection ConnectionPtr 使用 m pRecords RecordsetPtr 写 打开 测试要点 数据库连接正常 数据库数据正常 合法的图书书号 返回 真 查验结果 不合法的图书书号 返回 假 查验结果 给出警告提示 数据库数据异常 返回 假 查验结果 给出数据异常警告 数据库连接异常 返回 假 查验结果 给出数据库连接异常警告 4 2 相关信息获取模块 功能 获取指定读者 读者证号 的借书记录 获取的信息包括所借图书书名 借书日期以及所借 图书的总本数 输入项目 读者证号 传入参数 相关 借书 信息 公共变量 输出项目 已借图书数 返回值 程序逻辑 生成数据库查询命令 IF 操作成功 初始化 相关信息字符串置为空 已借图书计数置为 0 WHILE 未读至查询结果集尾 置相关信息字符串 计数累加 返回计数值 ELSE 置相关信息字符串为 操作异常 返回 失败标志 1 接口 调用形式 int GetLBInf const long ReaderID 传入参数 ReaderID 整型常量 指定的读者证号 传出参数 获取的相关记录数 整型 如发生异常 返回值置为负 存储分配 局部变量 查询参数 vtQuiry variant t 查询命令 vNull variant t 查询连接 类型转换 strQuiry CString 查询命令类型转换 vtemp variant t 查询结果类型转换 oleDate COleDateTime 借书时间类型转换 10 记录计数 count int 计算获取的记录数 引用的全局变量 m pConnection ConnectionPtr 使用 m pRecords RecordsetPtr 写 打开 关闭 m strNRBInf CString 写 测试要点 数据库连接正常 数据库数据正常 可获取的借书记录数为零 返回结果为 0 引用字符串置空 可获取的借书记录数不为零 返回记录数 并将相关信息记录在引用字 符串中 数据库数据异常 返回异常指示 给出警告 数据库连接异常 返回异常指示 给出警告 4 4 还书信息记录模块 功能 记录本次还书操作的信息 包括图书书名 超期天数 输入项目 包含相关信息 书名 借书日期 的查询结果集 公共变量 输出项目 更新后的格式化还书信息 公共变量 程序逻辑 WHILE 传入的查询结果集未读至文件尾 读取书名 置入还书信息字符串 读取借书日期 计算超期天数 置入还书信息字符串 光标移至下一个记录 接口 调用形式 void SaveRBInf void 传入参数 无 传出参数 无 存储分配 局部变量 类型转换 vtemp variant t 查询结果类型转换 strExcess CString 超期天数类型转换 计算变量 oleDate COleDateTime 借书日期 oleExcess COleDateTimeSpan 超期天数 intExcess int 超期天数 引用的全局变量 m pRecords RecordsetPtr 读 关闭记录集 m strRBInf CString 更新 m MaxLBDay int 读 测试要点 查询结果集正常 查询结果集异常 11 4 5 还书登记模块 功能 登记还书 删除借书记录 更新图书状态 输入项目 图书书号 输入参数 输出项目 操作成功 失败标志 返回值 程序逻辑 生成数据库操作命令 更新 IF 操作成功 生成数据库操作命令 删除 IF 操作成功 返回 操作成功 返回 操作失败 接口 调用形式 BOOL DelBlrecord const long BookID 传入参数 BookID 整型常量 返还图书书号 传出参数 操作成功 失败标志 BOOL 值 存储分配 局部变量 操作参数 vtCommand variant t 操作命令 vRecsAffected variant t 操作影响参数 类型转换 strCommand CString 操作命令类型转换 引用的全局变量 m pConnection ConnectionPtr 使用 测试要点 数据库连接正常 图书书号合法 图书书号不合法 数据库连接异常 5 图书查询模块 功能 根据给定查询条件 查询数据库 获取图书信息 输入项目 查询方式指定以及查询关键字 输出项目 查询结果列表显示 程序逻辑 初始化对话框 查询 生成查询命令 12 接口 调用形式 CBookQuiryDlg QuiryBook const ConnectionPtr pConnection 传入参数 pConnection 数据库连接指针 传出参数 无 存储分配 内部变量 数据库 m pBooks RecordsetPtr 数据库查询结果集指 针 用户界面 m strAuthor CString 作者关键字 m bAuthor BOOL 作者查询选择状态 m strBookName CString 书名关键字 m bBookName BOOL 书名查询选择状态 m strPublisher CString 出版社关键字 m bPublisher BOOL 出版社查询选择状态 m intYear1 int 出版时间关键字 m intYear2 int 出版时间关键字 m intMonth1 int 出版时间关键字 m intMonth2 int 出版时间关键字 m bPubTime BOOL 出版时间查询选择状态 m intTimeType int 出版时间查询方式选择 局部变量 查询参数 vtQuiry variant t 查询命令 vNull variant t 查询连接 类型转换 strQuiry CString 查询命令类型转换 测试要点 数据库连接正常 数据库数据正常 获得正确的查询结果并显示 数据库数据异常 给出警告 数据库连接异常 给出警告 5 1 查询命令生成模块 功能 根据用户界面的输入生成查询命令 输入项目 用户界面的输入值 公共变量 输出项目 查询命令 返回值 程序逻辑 查询数据库 显示结果列表 退 出 13 读取各复选框的值 IF 选中 AND 关键字不为空 生成查询条件 生成数据库查询命令 返回生成的查询命令 接口 调用形式 CString GetQuiryString 传入参数 无 传出参数 查询命令 CString 存储分配 局部变量 strQuiry CString 查询命令字符串 strTemp CString 临时字符串 测试要点 用户输入合理 用户输入不合理 没有指定查询方式 没有输入查询关键字 5 2 数据库查询模块 功能 根据输入的查询命令查询数据库 输入项目 查询命令 传入参数 输出项目 数据库查询结果 返回值 数据库查询结果集 公共变量 程序逻辑 查询数据库 IF 操作成功 返回 操作成功 ELSE 返回 操作失败 接口 调用形式 BOOL DBQuiry const CString strQuiry 传入参数 strQuiry 字符串型常量 数据库查询命令 传出参数 查询操作成功 失败标志 BOOL 值 存储分配 局部变量 查询参数 vtQuiry varaint t 数据库查询命令 vRecsAffected variant t 数据库查询连接 引用的全局变量 m pConnection ConnectionPtr 使用 m pBooks RecordsetPtr 读 测试要点 数据库连接正常 输入查询命令合法 获取非空查询结果集 返回 真 返回值 查询结果保存在查询结果集中 获取空查询结果集 返回 真 返回值 查询结果集为空 输入查询命令不合法 返回 假 返回值 查询结果集指针指向空 给出警告 14 数据库连接异常 5 3 数据显示模块 功能 按一定格式列表显示查询结果 并根据用户要求重排列 输入项目 查询结果集 传入参数 输出项名称 传入参数 查询结果表参数 包括行数 列数 传入参数 输出项目 用户界面显示 程序逻辑 初始化 设置行数 列数 列名称 载入输入的查询结果集内的数据 显示列表 WHILE 用户未输入 返回 IF 用户拖动列的标题栏 重新设置列的位置 排序 刷新显示 返回 接口 调用形式 CListShowDlg ShowList const RecordsetPtr pRecords CString strArray const int cols const int rows 传入参数 pRecords 数据库查询结果集指针 需要显示的查询结果 strArray 字符串数组头指针 显示项的名称 列名 cols 整型常量 列表列数 rows 整型常量 列表行数 传出参数 无 存储分配 内部数据 数据库 m pRecords RecordsetPtr 数据库查询结果集 内部参数 m strArray CString 20 列名存储数组 m intCols int 列表列数 m intRows int 列表行数 m cltFGrid CMSFlexGrid 列表控件 m iMouseCol int 用户鼠标所在列 测试要点 查询结果正常 查询结果集为空 显示消息框提示 查询结果集不为空 正常显示结果列表 并根据用户输入调整输出 查询结果异常 显示警告 6 系统操作模块 功能 15 验证输入的系统操作员账号以及口令 完成权限管理运行系统操作对话框 根据用户输入 调用各子模块 完成 图书库操作 浏览 修改 增加 删除 读者库操作 浏览 修改 增加 删除 数据统计 更改口令 系统管理 修改系统设置 浏览 修改 增加 删除系统操作员 输入项目 数据库连接 传入参数 输出项目 无 程序逻辑 接口 调用形式 CSysDlg ManageSys const ConnectionPtr pConnection 传入参数 pConnection 数据库连接指针 传出参数 无 存储分配 内部数据 数据库 m pConnection ConnectionPtr 数据库连接指针 子模块 m BookDlg CBookDlg 图书库操作子模块 m ReaderDlg CReaderDlg 读者库操作子模块 m QuiryDlg CQuiryDlg 数据统计子模块 m SysSettingDlg CSysSettingDlg 系统设置子模块 内部参数 m strCurrUser CString 当前操作者账号 m RightLevel int 操作权限 局部变量 输入 pwdDlg CPasswordDlg 账号口令输入对话框 测试要点 数据库连接正常 正常执行过程 输入的账号口令合法 根据权限进行显示控制 正常调用各子模块 初始化 要求输入账号口令 系统操作权限查验模块 初始化系统操作对话框 关闭对话框 返回 操作取消 UNTIL 输入 返回 图书操作模块 读者操作模块 数据统计模块 系统设置模块 数据备份 数据恢复 更改口令 警告 返回账号口令错误 16 输入的账号口令不合法 警告 数据库连接异常 6 1 系统操作权限查验模块 功能 查验输入的系统操作员账号以及口令是否合法 并返回合法操作员的权限级别 输入项目 系统操作员口令 传入参数 输出项目 操作员权限级别 返回值 程序逻辑 生成数据库查询命令 查询数据库 IF 操作成功 IF 查询结果集非空 返回权限级别 ELSE 显示警告 非法的账号或口令 返回 1 ELSE 显示警告 不能查询数据库 返回 1 接口 调用形式 CheckRight const CString oldPwd 传入参数 oldPwd 字符串常量 待查验的系统操作员口令 传出参数 系统操作权限 整型 0 7 如口令非法 置为 1 存储分配 局部变量 数据库 pTemp RecordsetPtr 数据库查询结果集指针 查询参数 vNull variant t 数据库查询连接 vtQuiry variant t 数据库查询命令 类型转换 strQuiry CString 查询命令类型转换 内部参数 result int 权限级别 引用的全局变量 m pConnection ConnectionPtr 数据库连接指针 m strCurrUser CString 当前操作员账号 测试要点 数据库连接正常 数据库数据正常 合法的账号口令 获取相应的权限级别 非法的账号口令 返回错误指示 给出警告 数据库数据异常 数据库连接异常 6 2 图书库操作模块 功能 根据输入提供对图书库的浏览 数据修改 增加 删除记录等操作 17 增加记录时 提供对生成的图书书号的唯一性验证 删除记录时 提供对所删除记录的相关性检验 输入项目 数据库连接 传入参数 输出项目 无 程序逻辑 初始化 获取数据库连接 显示对话框 WHILE 用户未输入退出 IF 用户输入 下一个 更新当前记录 移动至下一个记录 刷新显示 IF 用户输入 上一个 更新当前记录 移动至上一个记录 刷新显示 IF 用户输入 移动到 更新当前记录 要求输入图书书号 IF 该书号存在 移动到指定的记录 刷新显示 ELSE 显示警告 该图书书号不存在 IF 用户输入 加入 更新当前记录 要求输入图书书号 IF 该书号已存在 显示警告 该书号已存在 ELSE 插入指定图书书号的新记录 记录总数加一 光标移动至新记录处 IF 用户输入 删除 更新当前记录 给出警告 确定继续 IF 用户确认继续 IF 该图书借出 给出警告 删除相关借书记录 IF 用户确认 删除相关借书记录 ELSE 中止操作 18 删除该图书记录 记录总数减一 IF 最后一条记录被删除 移动至前一条记录 ELSE 移动至下一条记录 显示刷新 更新记录 接口 调用形式 CBookDlg ManageBooks const ConnectionPtr pConnection 传入参数 pConnection 数据库连接指针 传出参数 无 存储分配 内部数据 数据库 m pConnection ConnectionPtr 数据库连接指针 m pRs RecordsetPtr 数据库查询结果集指针 用户界面 m lBookID long 当前记录中书号项 m strAuthor CString 当前记录中作者项 m strBookName CString 当前记录中书名项 m strPublisher CString 当前记录中出版社项 m uPublishYear UINT 当前记录中出版年项 m uPublishMonth UINT 当前记录中出版月项 m intStatus int 当前记录中状态项 m fBookPrice float 当前记录中单价项 m strCurrentBook CString 当前记录位置显示 m strTotalBook CString 记录总数显示 内部参数 m intPosition int 当前记录位置计数 m lRecordCount long 记录总数计数 测试要点 数据库连接正常 记录集为空 是否工作状态正常 记录集非空 对各种用户输入的响应 数据库连接异常 6 2 1 获取图书记录集模块 功能 获取所有图书记录 置记录总数以及当前位置的初始值 输入项目 操作成功 失败标志 返回值 输出项目 图书记录集 公共变量 记录总数 公共变量 当前位置 公共变量 程序逻辑 生成数据库查询命令 查询数据库 IF 操作成功 返回 成功 19 ELSE 返回 失败 接口 调用形式 BOOL OpenRecords 传入参数 无 传出参数 操作成功 失败标志 BOOL 值 引用的全局变量 m pRs RecordsetPtr 写 打开 m intPosition int 写 m lRecordCount long 写 存储分配 局部变量 查询参数 vNull variant t 查询连接 vtQuiry variant t 查询命令 类型转换 strQuiry CString 查询命令类型转换 测试要点 数据库连接正常 图书记录集为空 图书记录集非空 数据库连接异常 6 2 2 更新显示模块 功能 更显当前显示 输入项目 图书记录集 公共变量 用户界面显示字符串 公共变量 输出项目 更新后的用户界面显示字符串 公共变量 程序逻辑 逐项读取记录中的数据域置入显示字符串中 IF 当前记录为第一条 禁止 前一个 按钮 IF 当前记录为最后一条 禁止 后一个 按钮 IF 记录总数为 0 禁止 加入 以外的所有按钮 刷新显示界面 接口 调用形式 void RefreshDataView 传入参数 无 传出参数 无 引用的全局变量 m pRs RecordsetPtr 读 m lBookID long 写 m strAuthor CString 写 m strBookName CString 写 m strPublisher CString 写 20 m uPublishYear UINT 写 m uPublishMonth UINT 写 m intStatus int 写 m fBookPrice float 写 m strCurrentBook CString 写 m strTotalBook CString 写 存储分配 局部变量 类型转换 vtemp variant t 记录集数据域类型转换 测试要点 记录集正常 记录集为空 记录集非空 记录集异常 6 2 3 更新当前记录模块 功能 根据用户界面的输入更新当前记录 输入项目 用户界面的输入 即用户界面各显示变量的值 公共变量 输出项目 数据库中更新后的图书记录 存储文件 操作成功 失败标志 返回值 程序逻辑 保存当前图书书号 读入界面的值 IF 书号发生变化 给出警告 不能更改图书书号 恢复图书书号的值 生成数据库更新语句 IF 更新操作成功 重新获取记录集 光标移动到原位置 返回 成功 ELSE 给出警告 操作失败 返回 失败 接口 调用形式 BOOL RefreshData 传入参数 无 传出参数 操作成功 失败标志 BOOL 值 引用的全局变量 m pConnection ConnectionPtr 使用 m pRs RecordsetPtr 写 m lBookID long 读写 m strAuthor CString 读 m strBookName CString 读 21 m strPublisher CString 读 m uPublishYear UINT 读 m uPublishMonth UINT 读 m intStatus int 读 m fBookPrice float 读 m strCurrentBook CString 读 m strTotalBook CString 读 存储分配 局部变量 操作参数 vtCommand varaint t 操作命令 vRecsAffected variant t 操作连接 strCommand CString 操作命令类型转换 内部参数 currBookID long 当前图书书号保存 测试要点 数据库连接正常 输入数据合法合理 输入数据不合理 输入数据不合法 更改图书书号 数据库连接异常 6 2 4 获取相关记录模块 功能 查验是否存在相关的借书记录 输入项目 图书书号 传入参数 输出项目 相关借书记录存在 不存在标志 返回值 程序逻辑 生成数据库查询命令 执行查询 IF 操作成功 IF 查询结果集为空 返回 不存在 ELSE 返回 存在 ELSE 给出警告 不能查询数据库 返回 存在 接口 调用形式 BOOL RelatedExisted const long BookID 传入参数 BookID 整型常量 待查验的图书书号 传出参数 查验结果 BOOL 值 引用的全局变量 m pConnection 使用 存储分配 局部变量 数据库 pLBook RecordsetPtr 数据库查询结果集指针 查询参数 vtQuiry variant t 查询命令 22 vNull variant t 查询连接 类型转换 strQuiry CString 查询命令类型转换 测试要点 数据库连接正常 相关记录存在 返回 真 相关记录不存在 返回 假 数据库连接异常 6 3 读者库操作模块 功能 根据输入提供对读者库的浏览 数据修改 增加 删除记录等操作 增加记录时 提供对生成的读者证号的唯一性验证 删除记录时 提供对所删除记录的相关性检验 输入项目 数据库连接 传入参数 输出项目 无 程序逻辑 初始化 获取数据库连接 显示对话框 WHILE 用户未输入退出 IF 用户输入 下一个 更新当前记录 移动至下一个记录 刷新显示 IF 用户输入 上一个 更新当前记录 移动至上一个记录 刷新显示 IF 用户输入 第一个 更新当前记录 移动至第一个记录 刷新显示 IF 用户输入 最后一个 更新当前记录 移动至最后一个记录 刷新显示 IF 用户输入 移动到 更新当前记录 要求输入读者证号 IF 该读者证号存在 移动到指定的记录 刷新显示 ELSE 显示警告 该读者证号不存在 23 IF 用户输入 加入 更新当前记录 要求输入读者证号 IF 该读者证号已存在 显示警告 该读者证号已存在 ELSE 插入指定读者证号的新记录 记录总数加一 光标移动至新记录处 IF 用户输入 删除 更新当前记录 给出警告 确定继续 IF 用户确认继续 IF 该读者已借图书信息不为空 给出警告 有未还图书 不能删除 ELSE 删除该图书记录 记录总数减一 IF 最后一条记录被删除 移动至前一条记录 ELSE 移动至下一条记录 显示刷新 更新记录 接口 调用形式 void CReaderDlg ManageReader const ConnectionPtr pConnection 传入参数 pConnection ConnectionPtr 数据库连接指针 传出参数 无 存储分配 内部变量 数据库 m pConnection ConnectionPtr 数据库连接指针 m pReaders RecordsetPtr 数据库查询结果集指针 用户界面 m lReaderID long 当前记录中读者证号项 m strAttatchment CString 当前记录中联系方法项 m strReaderName CString 当前记录中读者姓名项 m strRelateInf CString 当前记录相关信息显示 m strPosition CString 当前记录位置显示 m strTotalNum CString 记录总数显示 内部数据 m intPosition int 当前记录位置计数 m lReaderNum long 记录总数计数 测试要点 数据库连接正常 程序正常运行流程 根据输入调用各子模块 数据库连接异常 6 3 1 获取读者记录集模块 24 功能 获取所有读者记录 输入项目 无 输出项目 操作成功 失败标志 返回值 读者记录集 公共变量 程序逻辑 生成数据库查询命令 查询数据库 IF 操作成功 返回 成功 ELSE 返回 失败 接口 调用形式 BOOL OpenRs 传入参数 无 传出参数 操作成功 失败标志 BOOL 值 引用的全局变量 m pReaders RecordsetPtr 写 m intPosition int 写 m lReaderNum long 写 存储分配 局部变量 查询参数 bstrQuery bstr t 查询命令 vtNull variant t 查询连接 测试要点 数据库连接正常 记录集为空 返回 真 记录集为空 位置计数与记录总数为 0 记录集非空 返回 真 记录集非空 位置计数为 1 数据库连接异常 6 3 2 更新显示模块 功能 更新当前记录的显示 输入项目 记录集当前记录各项值 公共变量 未更新的用户界面显示字符串 公共变量 输出项目 更新后的用户界面显示字符串 公共变量 程序逻辑 逐项读取记录中的数据域置入显示字符串中 IF 当前记录为第一条 禁止 前一个 按钮 第一个 按钮 IF 当前记录为最后一条 禁止 后一个 按钮 最后一个 按钮 IF 记录总数为 0 禁止 加入 以外的所有按钮 25 调用相关信息获取模块 置相关借书信息字符串 刷新显示界面 接口 调用形式 void RefreshDataView 传入参数 无 传出参数 无 引用的全局变量 m pReaders RecordsetPtr 读 m lReaderID long 写 m strReaderName CString 写 m strAttatchment CString 写 m lReaderNum long 读 m intPosition long 读 m strTotalNum CString 写 m strPosition CString 写 m strRelatedInf CString 写 存储分配 局部变量 类型转换 vtemp variant t 记录数据域类型转换 测试要点 数据集正常 获取相应的数据项 并显示 数据集异常 给出警告 6 3 3 更新当前记录模块 功能 根据用户界面的输入 更新当前记录的各数据域 输入项目 用户界面编辑变量值 公共变量 输出项目 更新后的数据域值 存储文件 操作成功 失败标志 返回值 程序逻辑 保存当前读者证号 读入界面的值 IF 读者证号发生变化 给出警告 不能更改读者证号 恢复读者证号的值 生成数据库更新语句 IF 更新操作成功 重新获取记录集 光标移动到原位置 返回 成功 ELSE 给出警告 操作失败 返回 失败 接口 调用形式 BOOL RefreshData 26 传入参数 无 传出参数 操作成功 失败标志 BOOL 值 引用的全局变量 m pConnection ConnectionPtr 使用 m lReaderID long 读写 m strReaderName CString 读 m strAttatchment CString 读 存储分配 局部变量 操作参数 vtCommand varaint t 操作命令 vRecsAffected variant t 操作结果影响 类型转换 strCommand CString 操作命令类型转换 数据保存 CurrRID long 当前记录中读者证号保存 测试要点 数据库连接正常 输入数据合法 根据输入数据更新数据库记录 输入数据不合法 给出警告 数据库连接异常 6 3 4 获取相关记录模块 功能 获取相关的借书记录 输入项目 读者证号 传入参数 输出项目 操作成功 失败标志 返回值 相关记录信息 公共变量 程序逻辑 生成数据库查询命令 IF 操作成功 初始化 相关信息字符串置为空 已借图书计数置为 0 WHILE 未读至查询结果集尾 置相关信息字符串 计数累加 置已借图书数字符串 返回 操作成功 ELSE 置相关信息字符串为 操作异常 返回 操作失败 接口 调用形式 BOOL GetRelatedInf const long ReaderID 传入参数 ReaderID 整型常量 指定的读者证号 传出参数 操作成功 失败标志 BOOL 值 引用的全局变量 m pConnection ConnectionPtr 使用 m strRelatedInf CString 写 存储分配 局部变量 数据库 pBLent RecordsetPtr 数据库查询结果集指针 27 查询参数 vtNull variant t 查询连接 vQuiry variant t 查询命令 类型转换 strQuiry CString 查询命令类型转换 vtemp variant t 数据域读取类型转换 oleDate COleDateTime 时间项读取类型转换 strDate CString 时间项赋值类型转换 内部参数 count int 记录计数 测试要点 数据库连接正常 查询结果集为空 返回 真 信息字符串置为空 查询结果集非空 返回 真 信息字符串记录查询结果 数据库连接异常 返回 假 信息字符串置为异常信息 6 4 数据统计模块 功能 根据输入的要求统计数据库中各种信息 生成结果列表显示 输入项目 数据库连接 传入参数 输出项目 无 程序逻辑 初始化 获取数据库连接 显示对话框 WHILE 用户未输入 返回 显示控制 IF 用户输入 开始 禁止 开始 按钮 生成数据库查询命令 查询数据库 显示查询结果 使能 开始 按钮 关闭对话框 接口 调用形式 void CQuiryDlg QuiryInf const ConnectionPtr pConnection 传入参数 pConnection 数据库连接指针 传出参数 无 存储分配 内部数据 数据库 m pResults RecordsetPtr 数据库连接指针 m pConnection ConnectionPtr 数据库查询结果集指针 用户界面 m bAddress BOOL 联系方法条件核选状态 m bAuthor BOOL 作者条件核选状态 m bBookID BOOL 图书书号条件核选状态 m bBookName BOOL 书名条件核选状态 m bBooks BOOL 图书相关条件核选状态 28 m bOutdate BOOL 借书日期条件核选状态 m bPrice BOOL 单价条件核选状态 m bPublisher BOOL 出版社条件核选状态 m bPubtime BOOL 出版时间条件核选状态 m bReaderID BOOL 读者证号条件核选状态 m bReaderName BOOL 读者姓名条件核选状态 m bReaders BOOL 读者相关条件核选状态 m bStatus BOOL 图书状态条件核选状态 m b2Address BOOL 联系方法输出核选状态 m b2Author BOOL 作者输出核选状态 m b2BookID BOOL 图书书号输出核选状态 m b2BookName BOOL 书名条件输出状态 m b2Books BOOL 图书相关输出核选状态 m b2Outdate BOOL 借书日期输出核选状态 m b2Price BOOL 单价输出核选状态 m b2Publisher BOOL 出版社输出核选状态 m b2Pubtime BOOL 出版时间输出核选状态 m b2ReaderID BOOL 读者证号输出核选状态 m b2ReaderName BOOL 读者姓名输出核选状态 m b2Readers BOOL 读者相关输出核选状态 m b2Status BOOL 图书状态输出核选状态 m comAddress CString 联系方法条件选择 m comAuthor CString 作者条件选择 m comBookID CString 图书书号条件选择 m comBookName CString 书名条件选择 m comOutdate CString 借书日期条件选择 m comPrice CString 图书单价条件选择 m comPublisher CString 出版社条件选择 m comPubtime CString 出版时间条件选择 m comReaderID CString 读者证号条件选择 m comReaderName CString 读者姓名条件选择 m comStatus CString 图书状态条件选择 m strAddress CString 联系方法条件变量 m oleOutdate1 COleDateTime 借书日期条件变量 m oleOutdate2 COleDateTime 借书日期条件变量 用于介于选项 m lReaderID long 读者证号条件变量 m strReaderName CString 读者姓名条件变量 m strAuthor CString 图书作者条件变量 m strBookName CString 图书书名条件变量 m lBookID long 图书书号条件变量 m fPrice float 图书单价条件变量 m intPubMonth1 UINT 出版时间条件变量 m intPubMonth2 UINT 出版时间条件变量 29 m intPubYear1 UINT 出版时间条件变量 m intPubYear2 UINT 出版时间条件变量 m intType int 出版时间条件类型 m strPublisher CString 出版社条件变量 内部参数 m intCols int 输出列计数 m strArray CString 20 输出列名称记录 局部变量 临时参数 strQuiry CString 查询命令字符串 RowNum long 列表行数计数 测试要点 数据库连接正常 模块正常流程 对用户界面的控制 对子模块的调用 数据库连接异常 给出警告 6 4 1 查询命令生成模块 功能 根据用户界面的输入生成查询命令 并提供一定的对输入数据的检验 输入项目 用户界面的各个输入变量 公共变量 输出项目 数据库查询命令 返回值 程序逻辑 读入界面的设置 生成查询条件 生成输出项 生成查询语句 返回查询语句 接口 调用形式 CString GetQuiryString 传入参数 无 传出参数 查询命令 字符串 引用的全局变量 m strArray CString 20 写 m intCols int 写 读取的用户界面输入 m bBookID m comBookID m lBookID m bBookName m comBookName m strBookName m bAuthor m comAuthor m strAuthor m bPrice m fPrice m bStatus m comStatus m bPublisher m comPublisher m strPublisher m bPubtime m comPubtime m intPubYear1 m intPubMonth1 m intPubYear2 m intPubMonth2 m intType m bReaderID m comReaderID m lReaderID 30 m bReaderName m comReaderName m strReaderName m bAddress m comAddress m strAddress m bOutdate m comOutdate m oleOutdate1 m oleOutdate2 m b2BookID m b2BookName m b2Author m b2Price m b2Publisher m b2Status m b2Pubtime m b2ReaderID m b2ReaderName m b2Address m b2Books m b2Readers m b2Outdate 存储分配 局部变量 命令生成 strQuiry CString 查询命令字符串 格式转换 strTemp CString 数据格式转换 测试要点 用户输入数据合理合法 生成正确的数据库查询语句 用户输入数据不合理或不合法 给出警告 6 4 2 数据库查询模块 功能 根据输入的数据库查询命令 查询数据库数据 生成查询结果集 输入项目 查询命令 传入参数 输出项目 查询成功 失败标志 返回值 查询结果集 公共变量 程序逻辑 查询数据库 IF 操作成功 返回 操作成功 ELSE 返回 操作失败 接口 调用形式 BOOL GetQuiryResult const CString strQuiry 传入参数 strQuiry 字符串常量 查询命令 传出参数 查询成功 失败标志 BOOL 值 引用的全局变量 m pResults RecordsetPtr 写 打开 存储分配 局部变量 查询参数 vtQuiry variant t 查询命令 vNull variant t 查询连接 测试要点 数据库连接正常 查询命令合法 获取的结果集为空 返回 真 结果集为空 获取的结果集非空 返回 假 结果集记录相应结果 查询
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!