版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 图书管理系统图书管理系统 设计说明书设计说明书 编写: 校对: 审核: 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 目录目录 1 引言引言.1 2 程序系统的结构程序系统的结构.2 3 程序(标识符)设计说明程序(标识符)设计说明.2 4 还书模块还书模块.7 5 图书查询模块图书查询模块.11 6 系统操作模块系统操作模块.15 参考资料.36 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 1 1 引言引言 1. 1 1 目的目的 根据需求规格说明书 、 概要设计说明书 ,在仔细考虑讨论之后,我们对图书
2、管理 系统软件的功能划分、数据结构、软件总体结构的实现有了进一步的想法。我们将这些想法 记录下来,作为详细设计说明书,为进一步设计软件、编写代码打下基础。 1.21.2 概述概述 随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何 时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。 在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍, 会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图 书资料的管理需要有效的图书管理软件。 本图书管理系统软件是一套功能比较完善的数据管理软
3、件,具有数据操作方便高效迅速等 优点。该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在 应用范围较广的 DOS、WINDOWS 系列等操作系统上使用 1.31.3 定义定义 文档中采用的专门术语的定义及缩略词简要如下: LMS:Library Management System,图书管理系统 2 2 程序系统的结构程序系统的结构 系 统 操 作 模 块 系统 设置 图书查询 更改 口令 系统操作 读者库 操作 数据 统计 读者查 询 输 入 输 出 图书库 操作 数据 备份 数据 恢复 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 3 3 程序(标识符)设
4、计说明程序(标识符)设计说明 3.13.1 主模块主模块 功能功能 建立与数据库连接 获取系统设置 运行主对话框 根据输入调用子模块 退出系统时断开与数据库的连接 输入项目输入项目 用户鼠标点击输入 程序逻辑程序逻辑 见右图 存储分配存储分配 内部数据:数据库连接m_pConnection_ConnectionPtr数据库连接指针 m_IsConnectedBOOL数据库连接指示 系统设置m_MaxLBNumint可借图书数上限 m_MaxLBDayint借书天数上限 子对话框m_BookOutDlgCBookOutDlg借书对话框 m_BookInDlgCBookInDlg还书对话框 m_B
5、ookQuiryDlgCBookQuiryDlg图书查询对话框 m_SysDlgCSysDlg系统操作对话框 测试要点测试要点 数据库连接情况:正常情况,数据库文件缺少,外部系统异常。 系统设置获取:正常情况,外部系统异常。 对用户输入的响应:合法输入,能够正常调用子模块; 非法输入,系统能否辨别,并作出响应(提出警告); 子模块的异常状况,系统能否及时做出响应。 3.23.2 借书模块借书模块 功能功能 查验输入的读者证号 运行借书对话框 获取该读者的相关信息 查验输入的图书号 登记借书 输入项目输入项目 读者证号、图书书号(用户输入) 输出项目输出项目 读者信息(姓名);读者已借图书信息(
6、书名、借书日期); 程序逻辑程序逻辑 初始化 借书模块 还书模块 图书查询模块 系统查询模块 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 接口接口 调用形式:void CBookDlg:LendBook(const _ConnectionPtr pConnection, const int MaxLBNum) 传入参数:pConnection数据库连接指针 MaxLBNum系统参数(可借图书上限) 传出参数:无 存储分配存储分配 内部数据:数据库m_pConnection_ConnectionPtr数据库连接指针 用户界面m_strReaderName CString读者姓名
7、m_strLBInfCString已借图书信息 m_strLBNumCString已借图书数显示 m_lBookIDlong欲借图书书号 内部参数m_lReaderIDlong当前读者证号 m_MaxLBNumint可借图书数上限 测试要点测试要点 模块正常运行流程 用户输入数据检查(读者证号、图书书号),包括数据合理性检查,以及合法性检查 数据库操作 数据库连接异常时的响应情况 对话框初始化 输入读者证号 操作取消 输入不合理查 验 借书对话框点击返回 查验出错 借书登记 更新相关信息及显示 关闭对话框 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 3.2.13.2.1 读者查
8、验模块读者查验模块 功能功能 查验输入的读者证号是否合法(即是否存在与该读者证号对应的读者记录) 输入项目输入项目 读者证号(整型常数),读者姓名(引用型字符串) 输出项目输出项目 查验结果(BOOL 值) 程序逻辑程序逻辑 生成数据库查询语句 调用数据库查询模块 IF 返回结果集为空(不存在该读者证号) 置读者姓名字符串为空 返回”非法读者证号” ELSE 置读者姓名字符串 返回”合法读者证号” 接口接口 调用形式:BOOL CheckReader(const long ReaderID,CString &strReaderName) 传入参数:ReaderID(常量参数传入)待查验的读者证
9、号 m_pConnection(借书模块内的全局变量)数据库连接指针 传出参数:读者证号存在/不存在标志(返回值) strReaderName(传入的引用参数) 读者证号对应的读者姓名 (读者证号不存在时置为空) 存储分配存储分配 局部变量:数据库pReader_RecordsetPtr数据库查询结果集指针 查询参数vtQuiry_variant_t查询命令 vNull_variant_t查询连接 类型转换strQuiryCstring查询命令类型转换 vtemp_variant_t查询结果类型转换 测试要点测试要点 数据库连接正常时 输入合理合法参数 输入参数不合理 输入参数不合法 数据库连
10、接异常;数据库数据异常(读者姓名为空) 3.2.23.2.2图书查验模块图书查验模块 功能功能 查验输入的图书书号是否合法 输入项目输入项目 图书书号(整型常量) 输出项目输出项目 查验结果(BOOL 值) 程序逻辑程序逻辑 生成数据库查询语句 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 调用数据库查询模块 IF 返回结果集为空(不存在该图书书号) 返回”非法图书书号” ELSE 返回”合法图书书号” 接口接口 调用形式:BOOL CheckBook(const long BookID) 传入参数:BookID(整型常量)带查验的图书书号 传出参数:书号合法/不合法标志(返回值
11、)查验结果 存储分配存储分配 局部变量:数据库pBook_RecordsetPtr数据库查询结果集指针 查询参量vtQuiry_variant_t查询字符串 vNull_variant_t查询连接参量 类型转换strQuiryCstring查询命令类型转换 测试要点测试要点 数据库连接正常 数据库数据正常 输入的书号合理合法 输入的书号不合理 输入的书号不合法 数据库数据异常 数据库连接异常 3.2.33.2.3相关信息获取模块相关信息获取模块 功能功能 获取合法读者的借书记录 输入项目输入项目 合法读者证号(整型常量);读者已借图书信息(引用型字符串) 输出项目输出项目 查询操作结果(BOO
12、L 值) 程序逻辑程序逻辑 生成数据库查询语句 调用数据库查询模块 IF 操作成功 WHILE 查询结果集未读至文件尾 读取各项值 置入读者已借图书信息字符串 返回”操作成功” ELSE 置空读者已借图书信息字符串 返回”操作失败” 接口接口 调用形式:BOOL GetLBInf(const long ReaderID,CString &strLBInf) 传入参量:ReaderID(整型常量)查询参数 strLBInf(引用型字符串)返回用的格式化的查询信息 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 传出参量:查询成功/失败标志(BOOL 值) 查询操作结果信息 存储分配存
13、储分配 局部变量:数据库pRecords_RecordsetPtr数据库查询结果集指针 查询参数vtQuiry_variant_t查询命令字符串 vNull_variant_t查询连接参量 类型转换strQuiryCString 查询命令类型转换 测试要点测试要点 数据库连接正常 数据库数据正常 输入正常(读者证号合法) 输入异常(读者证号非法) 数据库数据异常 数据库连接异常 3.2.43.2.4借书登记模块借书登记模块 功能功能 登录借书信息 输入项目输入项目 读者证号(整型常量);图书书号(整型常量) 输出项目输出项目 操作结果(BOOL 值) 程序逻辑程序逻辑 生成数据库操作命令 调用
14、数据库操作模块 IF 操作成功 返回”操作成功” ELSE 返回”操作失败” 接口接口 调用形式:BOOL WriteBlrecord(const long ReaderID,const long BookID) 传入参数:ReaderID(整型常量)操作参数(借阅者读者证号) BookID(整型常量)操作参数(借阅图书书号) 传出参数:操作成功/失败标志(返回值) 存储分配存储分配 局部变量:操作命令参数vRecsAffected_variant_t操作影响 vtCommand_variant_t操作命令 类型转换strCommandCString操作命令类型转换 strTodayCStri
15、ng借书日期类型转换 oleTodayCOleDateTime借书日期 测试要点测试要点 数据库连接正常 数据库操作正常 输入参数合法 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 输入参数非法 数据库操作异常 数据库连接异常 4 4 还书模块还书模块 功能功能 运行还书对话框 查验输入的图书书号 对合法输入登录还书信息 显示相关信息(本次还书操作信息,尚未归还图书的相关信息,读者信息) 输入项目输入项目 图书书号(用户输入) 输出项目输出项目 相关信息(本次还书操作信息,尚未归还的图书信息,读者信息) 程序逻辑程序逻辑 接口接口 调用形式:CBookInDlg:ReturnBo
16、ok(const _ConnectionPtr pConnection, const int MaxLBDay) 传入参量:pConnection(数据库连接指针常量)提供数据库连接 MaxLBDay(整型常量)系统参数(借书天数上限) 传出参量:无 存储分配存储分配 内部变量:数据库m_pConnection_ConnectionPtr数据库连接指针 m_pRecords_RecordsetPtr数据库查询结果集指针 用户界面m_lBookIDlong欲还图书书号 m_strLenderIDCString借阅者图书证号显示 m_strLenderCString借阅者姓名 m_strRBInf
17、CString已还图书信息显示 m_strNRBInfCString未还图书信息显示 初始对话框 借书记录查验模块 点击退出 出错返回 登记还书 更新还书信息及显示 关闭对话框 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! m_strRBNumCString已还图书数显示 m_strNRBNumCString未还图书数显示 内部参数m_lCurrIDlong当前还书者读者证号 m_intRBNumint已还图书计数 m_MaxLBDayint借书天数上限 测试要点测试要点 模块正常工作流程 对输入的查验,包括输入值的合法性与合理性检验 数据库连接异常能否做出适当处理 数据库数据异
18、常时能否判断并给予适当处理 4.14.1 借书记录查验模块借书记录查验模块 功能功能 查验借书记录是否存在(即是否存在与指定书号相对应的借书记录) 输入项目输入项目 图书书号(传入参数) 输出项目输出项目 查验结果(返回值);查询结果集(图书书号、书名、状态、出借日期) 程序逻辑程序逻辑 生成数据库查询语句 调用数据库查询模块 IF 操作成功 IF 查询结果集不为空(存在该借书记录) 返回”记录存在” ELSE 警告”记录不存在” ELSE 警告”查询失败” 返回”记录不存在” 接口接口 调用形式:BOOL CheckBlrcord(const long BookID) 传入参量:BookID
19、(整型常量) 传出参量:书号合法/非法标志(BOOL 型) 存储分配存储分配 局部变量:查询参数vtQuiry_variant_t查询命令 vNull_variant_t查询连接 类型转换strQuiryCString查询命令类型转换 引用的全局变量:m_pConnection_ConnectionPtr使用 m_pRecords_RecordsetPtr写(打开) 测试要点测试要点 数据库连接正常 数据库数据正常 合法的图书书号返回“真”查验结果 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 不合法的图书书号返回“假”查验结果,给出警告提示 数据库数据异常返回“假”查验结果,给
20、出数据异常警告 数据库连接异常返回“假”查验结果,给出数据库连接异常警告 4.2 相关信息获取模块相关信息获取模块 功能功能 获取指定读者(读者证号)的借书记录,获取的信息包括所借图书书名,借书日期以及所借 图书的总本数。 输入项目输入项目 读者证号(传入参数);相关(借书)信息(公共变量) 输出项目输出项目 已借图书数(返回值) 程序逻辑程序逻辑 生成数据库查询命令 IF 操作成功 初始化(相关信息字符串置为空 已借图书计数置为 0) WHILE 未读至查询结果集尾 置相关信息字符串 计数累加 返回计数值 ELSE 置相关信息字符串为”操作异常” 返回”失败标志”(-1) 接口接口 调用形式
21、:int GetLBInf(const long ReaderID) 传入参数:ReaderID(整型常量)指定的读者证号 传出参数:获取的相关记录数(整型)如发生异常,返回值置为负 存储分配存储分配 局部变量:查询参数vtQuiry_variant_t查询命令 vNull_variant_t查询连接 类型转换strQuiryCString查询命令类型转换 vtemp_variant_t查询结果类型转换 oleDateCOleDateTime借书时间类型转换 记录计数countint计算获取的记录数 引用的全局变量: m_pConnection_ConnectionPtr使用 m_pRecor
22、ds_RecordsetPtr写(打开、关闭) m_strNRBInfCString写 测试要点测试要点 数据库连接正常 数据库数据正常 可获取的借书记录数为零返回结果为 0,引用字符串置空 可获取的借书记录数不为零返回记录数,并将相关信息记录在引用字 符串中 数据库数据异常返回异常指示,给出警告 数据库连接异常返回异常指示,给出警告 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 4.44.4 还书信息记录模块还书信息记录模块 功能功能 记录本次还书操作的信息,包括图书书名,超期天数。 输入项目输入项目 包含相关信息(书名、借书日期)的查询结果集(公共变量) 输出项目输出项目 更
23、新后的格式化还书信息(公共变量) 程序逻辑程序逻辑 WHILE 传入的查询结果集未读至文件尾 读取书名,置入还书信息字符串 读取借书日期 计算超期天数 置入还书信息字符串 光标移至下一个记录 接口接口 调用形式:void SaveRBInf(void) 传入参数:无 传出参数:无 存储分配存储分配 局部变量:类型转换vtemp_variant_t查询结果类型转换 strExcessCString超期天数类型转换 计算变量oleDateCOleDateTime借书日期 oleExcessCOleDateTimeSpan超期天数 intExcessint超期天数 引用的全局变量:m_pRecord
24、s_RecordsetPtr读(关闭记录集) m_strRBInfCString更新 m_MaxLBDayint读 测试要点测试要点 查询结果集正常 查询结果集异常 4.54.5 还书登记模块还书登记模块 功能功能 登记还书(删除借书记录,更新图书状态) 输入项目输入项目 图书书号(输入参数) 输出项目输出项目 操作成功/失败标志(返回值) 程序逻辑程序逻辑 生成数据库操作命令(更新) IF 操作成功 生成数据库操作命令(删除) 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! IF 操作成功 返回”操作成功” 返回”操作失败” 接口接口 调用形式:BOOL DelBlrecord(
25、const long BookID) 传入参数:BookID(整型常量)返还图书书号 传出参数:操作成功/失败标志(BOOL 值) 存储分配存储分配 局部变量:操作参数vtCommand_variant_t操作命令 vRecsAffected_variant_t操作影响参数 类型转换strCommandCString操作命令类型转换 引用的全局变量:m_pConnection_ConnectionPtr使用 测试要点测试要点 数据库连接正常 图书书号合法 图书书号不合法 数据库连接异常 5 5 图书查询模块图书查询模块 功能功能 根据给定查询条件,查询数据库,获取图书信息 输入项目输入项目 查
26、询方式指定以及查询关键字 输出项目输出项目 查询结果列表显示 程序逻辑程序逻辑 初始化对话框 查询 生成查询命令 查询数据库 显示结果列表 退 出 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 接口接口 调用形式:CBookQuiryDlg:QuiryBook(const _ConnectionPtr pConnection) 传入参数:pConnection(数据库连接指针) 传出参数:无 存储分配存储分配 内部变量:数据库m_pBooks_RecordsetPtr数据库查询结果集指 针 用户界面m_strAuthorCString作者关键字 m_bAuthorBOOL作者查询
27、选择状态 m_strBookNameCString书名关键字 m_bBookNameBOOL书名查询选择状态 m_strPublisherCString出版社关键字 m_bPublisherBOOL出版社查询选择状态 m_intYear1int出版时间关键字 m_intYear2int出版时间关键字 m_intMonth1int出版时间关键字 m_intMonth2int出版时间关键字 m_bPubTimeBOOL出版时间查询选择状态 m_intTimeTypeint出版时间查询方式选择 局部变量:查询参数vtQuiry_variant_t查询命令 vNull_variant_t查询连接 类型
28、转换strQuiryCString查询命令类型转换 测试要点测试要点 数据库连接正常 数据库数据正常获得正确的查询结果并显示 数据库数据异常给出警告 数据库连接异常给出警告 5.15.1 查询命令生成模块查询命令生成模块 功能功能 根据用户界面的输入生成查询命令 输入项目输入项目 用户界面的输入值(公共变量) 输出项目输出项目 查询命令(返回值) 程序逻辑程序逻辑 读取各复选框的值 IF 选中 AND 关键字不为空 生成查询条件 生成数据库查询命令 返回生成的查询命令 接口接口 调用形式:CString GetQuiryString() 传入参数:无 传播优秀 Word 版文档 ,希望对您有帮
29、助,可双击去除! 传出参数:查询命令(CString) 存储分配存储分配 局部变量:strQuiryCString查询命令字符串 strTempCString临时字符串 测试要点测试要点 用户输入合理 用户输入不合理(没有指定查询方式,没有输入查询关键字) 5.25.2 数据库查询模块数据库查询模块 功能功能 根据输入的查询命令查询数据库 输入项目输入项目 查询命令(传入参数) 输出项目输出项目 数据库查询结果(返回值);数据库查询结果集(公共变量) 程序逻辑程序逻辑 查询数据库 IF 操作成功 返回”操作成功” ELSE 返回”操作失败” 接口接口 调用形式:BOOL DBQuiry(con
30、st CString strQuiry) 传入参数:strQuiry(字符串型常量)数据库查询命令 传出参数:查询操作成功/失败标志(BOOL 值) 存储分配存储分配 局部变量:查询参数vtQuiry_varaint_t数据库查询命令 vRecsAffected_variant_t数据库查询连接 引用的全局变量:m_pConnection_ConnectionPtr使用 m_pBooks_RecordsetPtr读 测试要点测试要点 数据库连接正常 输入查询命令合法 获取非空查询结果集返回“真”返回值,查询结果保存在查询结果集中 获取空查询结果集返回“真”返回值,查询结果集为空 输入查询命令不
31、合法返回“假”返回值,查询结果集指针指向空,给出警告 数据库连接异常 5.35.3 数据显示模块数据显示模块 功能功能 按一定格式列表显示查询结果,并根据用户要求重排列 输入项目输入项目 查询结果集(传入参数);输出项名称(传入参数); 查询结果表参数,包括行数、列数(传入参数) 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 输出项目输出项目 用户界面显示 程序逻辑程序逻辑 初始化(设置行数、列数、列名称,载入输入的查询结果集内的数据) 显示列表 WHILE 用户未输入“返回” IF 用户拖动列的标题栏 重新设置列的位置 排序 刷新显示 返回 接口接口 调用形式:CListSho
32、wDlg:ShowList(const _RecordsetPtr pRecords, CString *strArray, const int cols,const int rows) 传入参数:pRecords(数据库查询结果集指针)需要显示的查询结果 strArray(字符串数组头指针)显示项的名称(列名) cols(整型常量)列表列数 rows(整型常量)列表行数 传出参数:无 存储分配存储分配 内部数据:数据库m_pRecords_RecordsetPtr数据库查询结果集 内部参数m_strArrayCString20列名存储数组 m_intColsint列表列数 m_intRows
33、int列表行数 m_cltFGridCMSFlexGrid列表控件 m_iMouseColint用户鼠标所在列 测试要点测试要点 查询结果正常 查询结果集为空显示消息框提示 查询结果集不为空正常显示结果列表,并根据用户输入调整输出 查询结果异常显示警告 6 6 系统操作模块系统操作模块 功能功能 验证输入的系统操作员账号以及口令,完成权限管理运行系统操作对话框,根据用户输入 调用各子模块,完成: 图书库操作(浏览、修改、增加、删除); 读者库操作(浏览、修改、增加、删除); 数据统计;更改口令;系统管理(修改系统设置,浏览、修改、增加、删除系统操作员); 输入项目输入项目 传播优秀 Word
34、版文档 ,希望对您有帮助,可双击去除! 数据库连接(传入参数) 输出项目输出项目 无 程序逻辑程序逻辑 接口接口 调用形式:CSysDlg:ManageSys(const _ConnectionPtr pConnection) 传入参数:pConnection (数据库连接指针) 传出参数:无 存储分配存储分配 内部数据:数据库m_pConnection_ConnectionPtr数据库连接指针 子模块m_BookDlgCBookDlg图书库操作子模块 m_ReaderDlgCReaderDlg读者库操作子模块 m_QuiryDlgCQuiryDlg数据统计子模块 m_SysSettingDl
35、g CSysSettingDlg系统设置子模块 内部参数m_strCurrUserCString当前操作者账号 m_RightLevelint操作权限 局部变量:输入pwdDlgCPasswordDlg账号口令输入对话框 测试要点测试要点 数据库连接正常正常执行过程 输入的账号口令合法根据权限进行显示控制,正常调用各子模块 输入的账号口令不合法警告 数据库连接异常 6.16.1 系统操作权限查验模块系统操作权限查验模块 功能功能 查验输入的系统操作员账号以及口令是否合法,并返回合法操作员的权限级别 输入项目输入项目 初始化 要求输入账号口令 系统操作权限查验模块 初始化系统操作对话框 关闭对话
36、框 返回 操作取消 UNTIL 输入”返回” 图书操作模块 读者操作模块 数据统计模块 系统设置模块 数据备份 数据恢复 更改口令 警告 返回账号口令错误? 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 系统操作员口令(传入参数) 输出项目输出项目 操作员权限级别(返回值) 程序逻辑程序逻辑 生成数据库查询命令 查询数据库 IF 操作成功 IF 查询结果集非空 返回权限级别 ELSE 显示警告”非法的账号或口令” 返回 -1 ELSE 显示警告”不能查询数据库” 返回 -1 接口接口 调用形式:CheckRight(const CString oldPwd) 传入参数:oldPw
37、d(字符串常量)待查验的系统操作员口令 传出参数:系统操作权限(整型,0-7)如口令非法,置为-1 存储分配存储分配 局部变量:数据库pTemp_RecordsetPtr数据库查询结果集指针 查询参数vNull_variant_t数据库查询连接 vtQuiry_variant_t数据库查询命令 类型转换strQuiryCString查询命令类型转换 内部参数resultint权限级别 引用的全局变量:m_pConnection_ConnectionPtr数据库连接指针 m_strCurrUserCString当前操作员账号 测试要点测试要点 数据库连接正常 数据库数据正常 合法的账号口令获取相
38、应的权限级别 非法的账号口令返回错误指示,给出警告 数据库数据异常 数据库连接异常 6.26.2 图书库操作模块图书库操作模块 功能功能 根据输入提供对图书库的浏览、数据修改、增加、删除记录等操作 增加记录时,提供对生成的图书书号的唯一性验证 删除记录时,提供对所删除记录的相关性检验 输入项目输入项目 数据库连接(传入参数) 输出项目输出项目 无 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 程序逻辑程序逻辑 初始化(获取数据库连接,显示对话框) WHILE 用户未输入退出 IF 用户输入”下一个” 更新当前记录 移动至下一个记录 刷新显示 IF 用户输入”上一个” 更新当前记录
39、 移动至上一个记录 刷新显示 IF 用户输入”移动到” 更新当前记录 要求输入图书书号 IF 该书号存在 移动到指定的记录 刷新显示 ELSE 显示警告”该图书书号不存在” IF 用户输入”加入” 更新当前记录 要求输入图书书号 IF 该书号已存在 显示警告”该书号已存在” ELSE 插入指定图书书号的新记录 记录总数加一 光标移动至新记录处 IF 用户输入”删除” 更新当前记录 给出警告”确定继续” IF 用户确认继续 IF 该图书借出 给出警告”删除相关借书记录” IF 用户确认 删除相关借书记录 ELSE 中止操作 删除该图书记录 记录总数减一 IF 最后一条记录被删除 移动至前一条记录
40、 ELSE 移动至下一条记录 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 显示刷新 更新记录 接口接口 调用形式:CBookDlg:ManageBooks(const _ConnectionPtr pConnection) 传入参数:pConnection(数据库连接指针) 传出参数:无 存储分配存储分配 内部数据:数据库m_pConnection_ConnectionPtr数据库连接指针 m_pRs_RecordsetPtr数据库查询结果集指针 用户界面m_lBookIDlong当前记录中书号项 m_strAuthorCString当前记录中作者项 m_strBookName
41、CString当前记录中书名项 m_strPublisherCString当前记录中出版社项 m_uPublishYearUINT当前记录中出版年项 m_uPublishMonth UINT当前记录中出版月项 m_intStatusint 当前记录中状态项 m_fBookPricefloat当前记录中单价项 m_strCurrentBookCString当前记录位置显示 m_strTotalBookCString记录总数显示 内部参数m_intPositionint当前记录位置计数 m_lRecordCountlong记录总数计数 测试要点测试要点 数据库连接正常 记录集为空是否工作状态正常
42、记录集非空对各种用户输入的响应 数据库连接异常 6.2.16.2.1获取图书记录集模块获取图书记录集模块 功能功能 获取所有图书记录,置记录总数以及当前位置的初始值 输入项目输入项目 操作成功/失败标志(返回值) 输出项目输出项目 图书记录集(公共变量);记录总数(公共变量);当前位置(公共变量) 程序逻辑程序逻辑 生成数据库查询命令 查询数据库 IF 操作成功 返回”成功” ELSE 返回”失败” 接口接口 调用形式:BOOL OpenRecords() 传入参数:无 传出参数:操作成功/失败标志(BOOL 值) 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 引用的全局变量:m
43、_pRs_RecordsetPtr写(打开) m_intPositionint写 m_lRecordCountlong写 存储分配存储分配 局部变量:查询参数vNull_variant_t查询连接 vtQuiry_variant_t查询命令 类型转换strQuiryCString查询命令类型转换 测试要点测试要点 数据库连接正常 图书记录集为空 图书记录集非空 数据库连接异常 6.2.26.2.2更新显示模块更新显示模块 功能功能 更显当前显示 输入项目输入项目 图书记录集(公共变量);用户界面显示字符串(公共变量) 输出项目输出项目 更新后的用户界面显示字符串(公共变量) 程序逻辑程序逻辑
44、逐项读取记录中的数据域置入显示字符串中 IF 当前记录为第一条 禁止”前一个”按钮 IF 当前记录为最后一条 禁止”后一个”按钮 IF 记录总数为 0 禁止”加入”以外的所有按钮 刷新显示界面 接口接口 调用形式:void RefreshDataView() 传入参数:无 传出参数:无 引用的全局变量:m_pRs_RecordsetPtr读 m_lBookIDlong写 m_strAuthorCString写 m_strBookNameCString写 m_strPublisherCString写 m_uPublishYear UINT写 m_uPublishMonth UINT写 m_int
45、Status int写 m_fBookPricefloat写 m_strCurrentBookCString写 m_strTotalBook CString写 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 存储分配存储分配 局部变量:类型转换vtemp_variant_t记录集数据域类型转换 测试要点测试要点 记录集正常 记录集为空 记录集非空 记录集异常 6.2.36.2.3更新当前记录模块更新当前记录模块 功能功能 根据用户界面的输入更新当前记录 输入项目输入项目 用户界面的输入,即用户界面各显示变量的值(公共变量) 输出项目输出项目 数据库中更新后的图书记录(存储文件);操
46、作成功/失败标志(返回值) 程序逻辑程序逻辑 保存当前图书书号 读入界面的值 IF 书号发生变化 给出警告”不能更改图书书号” 恢复图书书号的值 生成数据库更新语句 IF 更新操作成功 重新获取记录集 光标移动到原位置 返回”成功” ELSE 给出警告”操作失败” 返回”失败” 接口接口 调用形式:BOOL RefreshData() 传入参数:无 传出参数:操作成功/失败标志(BOOL 值) 引用的全局变量:m_pConnection_ConnectionPtr使用 m_pRs_RecordsetPtr写 m_lBookIDlong读写 m_strAuthorCString读 m_strBo
47、okNameCString读 m_strPublisherCString读 m_uPublishYearUINT读 m_uPublishMonth UINT读 m_intStatusint读 m_fBookPricefloat读 m_strCurrentBookCString读 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! m_strTotalBookCString读 存储分配存储分配 局部变量:操作参数vtCommand_varaint_t操作命令 vRecsAffected_variant_t操作连接 strCommandCString操作命令类型转换 内部参数currBoo
48、kIDlong当前图书书号保存 测试要点测试要点 数据库连接正常 输入数据合法合理 输入数据不合理 输入数据不合法(更改图书书号) 数据库连接异常 6.2.46.2.4获取相关记录模块获取相关记录模块 功能功能 查验是否存在相关的借书记录 输入项目输入项目 图书书号(传入参数) 输出项目输出项目 相关借书记录存在/不存在标志(返回值) 程序逻辑程序逻辑 生成数据库查询命令,执行查询 IF 操作成功 IF 查询结果集为空 返回”不存在” ELSE 返回”存在” ELSE 给出警告”不能查询数据库” 返回”存在” 接口接口 调用形式:BOOL RelatedExisted(const long B
49、ookID) 传入参数:BookID(整型常量)待查验的图书书号 传出参数:查验结果(BOOL 值) 引用的全局变量:m_pConnection使用 存储分配存储分配 局部变量:数据库pLBook_RecordsetPtr数据库查询结果集指针 查询参数 vtQuiry_variant_t查询命令 vNull_variant_t查询连接 类型转换strQuiryCString查询命令类型转换 测试要点测试要点 数据库连接正常 相关记录存在返回“真” 相关记录不存在 返回“假” 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 数据库连接异常 6.36.3 读者库操作模块读者库操作模块
50、功能功能 根据输入提供对读者库的浏览、数据修改、增加、删除记录等操作 增加记录时,提供对生成的读者证号的唯一性验证 删除记录时,提供对所删除记录的相关性检验 输入项目输入项目 数据库连接(传入参数) 输出项目输出项目 无 程序逻辑程序逻辑 初始化(获取数据库连接,显示对话框) WHILE 用户未输入退出 IF 用户输入”下一个” 更新当前记录 移动至下一个记录 刷新显示 IF 用户输入”上一个” 更新当前记录 移动至上一个记录 刷新显示 IF 用户输入”第一个” 更新当前记录 移动至第一个记录 刷新显示 IF 用户输入”最后一个” 更新当前记录 移动至最后一个记录 刷新显示 IF 用户输入”移
51、动到” 更新当前记录 要求输入读者证号 IF 该读者证号存在 移动到指定的记录 刷新显示 ELSE 显示警告”该读者证号不存在” IF 用户输入”加入” 更新当前记录 要求输入读者证号 IF 该读者证号已存在 显示警告”该读者证号已存在” ELSE 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 插入指定读者证号的新记录 记录总数加一 光标移动至新记录处 IF 用户输入”删除” 更新当前记录 给出警告”确定继续” IF 用户确认继续 IF 该读者已借图书信息不为空 给出警告”有未还图书,不能删除” ELSE 删除该图书记录 记录总数减一 IF 最后一条记录被删除 移动至前一条记录
52、ELSE 移动至下一条记录 显示刷新 更新记录 接口接口 调用形式:void CReaderDlg:ManageReader(const _ConnectionPtr pConnection) 传入参数:pConnection_ConnectionPtr数据库连接指针 传出参数:无 存储分配存储分配 内部变量:数据库m_pConnection_ConnectionPtr数据库连接指针 m_pReaders_RecordsetPtr数据库查询结果集指针 用户界面m_lReaderIDlong当前记录中读者证号项 m_strAttatchmentCString当前记录中联系方法项 m_strRea
53、derName CString当前记录中读者姓名项 m_strRelateInf CString当前记录相关信息显示 m_strPosition CString当前记录位置显示 m_strTotalNum CString记录总数显示 内部数据m_intPositionint当前记录位置计数 m_lReaderNumlong记录总数计数 测试要点测试要点 数据库连接正常程序正常运行流程,根据输入调用各子模块 数据库连接异常 6.3.16.3.1获取读者记录集模块获取读者记录集模块 功能功能 获取所有读者记录 输入项目输入项目 无 输出项目输出项目 操作成功/失败标志(返回值);读者记录集(公共变
54、量) 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 程序逻辑程序逻辑 生成数据库查询命令 查询数据库 IF 操作成功 返回”成功” ELSE 返回”失败” 接口接口 调用形式:BOOL OpenRs() 传入参数:无 传出参数:操作成功/失败标志(BOOL 值) 引用的全局变量:m_pReaders_RecordsetPtr写 m_intPositionint写 m_lReaderNumlong写 存储分配存储分配 局部变量:查询参数bstrQuery_bstr_t查询命令 vtNull_variant_t查询连接 测试要点测试要点 数据库连接正常 记录集为空返回“真” ,记录集
55、为空,位置计数与记录总数为 0 记录集非空返回“真” ,记录集非空,位置计数为 1 数据库连接异常 6.3.26.3.2更新显示模块更新显示模块 功能功能 更新当前记录的显示 输入项目输入项目 记录集当前记录各项值(公共变量);未更新的用户界面显示字符串(公共变量) 输出项目输出项目 更新后的用户界面显示字符串(公共变量) 程序逻辑程序逻辑 逐项读取记录中的数据域置入显示字符串中 IF 当前记录为第一条 禁止”前一个”按钮、 ”第一个”按钮 IF 当前记录为最后一条 禁止”后一个”按钮、 ”最后一个”按钮 IF 记录总数为 0 禁止”加入”以外的所有按钮 调用相关信息获取模块,置相关借书信息字
56、符串 刷新显示界面 接口接口 调用形式:void RefreshDataView() 传入参数:无 传出参数:无 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 引用的全局变量:m_pReaders_RecordsetPtr读 m_lReaderIDlong写 m_strReaderNameCString写 m_strAttatchmentCString写 m_lReaderNumlong读 m_intPositionlong读 m_strTotalNumCString写 m_strPositionCString写 m_strRelatedInfCString写 存储分配存储分配
57、局部变量:类型转换vtemp_variant_t记录数据域类型转换 测试要点测试要点 数据集正常获取相应的数据项,并显示 数据集异常给出警告 6.3.36.3.3更新当前记录模块更新当前记录模块 功能功能 根据用户界面的输入,更新当前记录的各数据域 输入项目输入项目 用户界面编辑变量值(公共变量) 输出项目输出项目 更新后的数据域值(存储文件);操作成功/失败标志(返回值) 程序逻辑程序逻辑 保存当前读者证号 读入界面的值 IF 读者证号发生变化 给出警告”不能更改读者证号” 恢复读者证号的值 生成数据库更新语句 IF 更新操作成功 重新获取记录集 光标移动到原位置 返回”成功” ELSE 给
58、出警告”操作失败” 返回”失败” 接口接口 调用形式:BOOL RefreshData() 传入参数:无 传出参数:操作成功/失败标志(BOOL 值) 引用的全局变量:m_pConnection_ConnectionPtr使用 m_lReaderIDlong读写 m_strReaderNameCString读 m_strAttatchmentCString读 传播优秀 Word 版文档 ,希望对您有帮助,可双击去除! 存储分配存储分配 局部变量:操作参数vtCommand_varaint_t操作命令 vRecsAffected_variant_t操作结果影响 类型转换strCommandCSt
59、ring操作命令类型转换 数据保存CurrRIDlong当前记录中读者证号保存 测试要点测试要点 数据库连接正常 输入数据合法根据输入数据更新数据库记录 输入数据不合法给出警告 数据库连接异常 6.3.46.3.4获取相关记录模块获取相关记录模块 功能功能 获取相关的借书记录 输入项目输入项目 读者证号(传入参数) 输出项目输出项目 操作成功/失败标志(返回值);相关记录信息(公共变量) 程序逻辑程序逻辑 生成数据库查询命令 IF 操作成功 初始化(相关信息字符串置为空 已借图书计数置为 0) WHILE 未读至查询结果集尾 置相关信息字符串 计数累加 置已借图书数字符串 返回”操作成功” E
60、LSE 置相关信息字符串为”操作异常” 返回”操作失败” 接口接口 调用形式:BOOL GetRelatedInf(const long ReaderID) 传入参数:ReaderID(整型常量)指定的读者证号 传出参数:操作成功/失败标志(BOOL 值) 引用的全局变量:m_pConnection_ConnectionPtr使用 m_strRelatedInfCString写 存储分配存储分配 局部变量:数据库pBLent_RecordsetPtr数据库查询结果集指针 查询参数vtNull_variant_t查询连接 vQuiry_variant_t查询命令 类型转换strQuiryCStr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水电站挖机手招聘合同
- 《业绩评价》课件
- 食品安全危害及其预防
- 关于文员实习日记模板合集七篇
- 《品牌导向战略》课件
- 2024年度云计算服务深度合作与运营管理合同
- 2024年丙丁双方关于航空物流服务平台建设与运营合同
- 新学期的总结范文(30篇)
- 心理健康演讲稿范文8篇
- 幼师公开课心得体会
- 幼教培训课件:《幼儿园班级区域创设》
- 中医技能考核评分表
- 李中莹亲密关系全面技巧
- 中国儿童严重过敏反应诊断与治疗建议(2022年)解读
- 动火作业安全规范AQ3022-2008
- Unit 1 Our living planet Reading 课件-2022-2023学年高中英语牛津译林版(2020)选修第一册
- 如何做好谈话笔录演示文稿
- 耐酸泵厂家排名前十耐酸碱泵十大品牌
- 小学道德与法治人教三上册安全护我成长心中的(吴运芝)
- 主通风机司机巡回检查制度
- 出监教育内容2
评论
0/150
提交评论