




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、详细设计说明书1引言1. 1编写目的根据需求规格说明书、概要设计说明书,在仔细考虑讨论之后,我们对图书管理系统软件的功能划分、数据结构、软件总体结构的实现有了进一步的想法。我们将这些想法记录下来,作为详细设计说明书,为进一步设计软件、编写代码打下基础。1.2 背景随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管
2、理需要有效的图书管理软件。本图书管理系统软件是一套功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的DOSWINDOWS列等操作系统上使用1.3 定义文档中采用的专门术语的定义及缩略词简要如下:LMS:LibraryManagementSystem,图书管理系统1.4 参考资料1 费贤举关于图书管理系统的批文2 郑人杰,殷人昆,陶永雷。实用软件工程(第二版)。北京:清华大学出版社,1997。3 王立福,麻志毅。软件工程(第二版)。北京:北京大学出版社,2001。4 唐学忠,王文。VisualBasi
3、c程序设计教程北京:中国电力出版社,2002。402程序系统的结构3程序(标识符)设计说明3.1主模块功能建立与数据库连接获取系统设置运行主对话框根据输入调用子模块退出系统时断开与数据库的连接输入项目用户鼠标点击输入程序逻辑见右图存储分配内部数据:数据库连接系统设置子对话框测试要点初始化还书模块图书查询模块系统查询模块音模块m_pConnectionm_IsConnectedmMaxLBNumm_MaxLBDaym_BookOutDlgm_BookInDlgm_BookQuiryDlgm_SysDlgConnectionPtrBOOLintintCBookOutDlgCBooklnDlgCBo
4、okQuiryDlgCSysDlg数据库连接指针数据库连接指示可借图书数上限借书天数上限借书对话框还书对话框图书查询对话框系统操作对话框数据库连接情况:正常情况,数据库文件缺少,外部系统异常。系统设置获取:正常情况,外部系统异常。对用户输入的响应:合法输入,能够正常调用子模块;非法输入,系统能否辨别,并作出响应(提出警告);子模块的异常状况,系统能否及时做出响应。3.2借书模块功能查验输入的读者证号运行借书对话框获取该读者的相关信息查验输入的图书号登记借书输入项目读者证号、图书书号(用户输入)输出项目读者信息(姓名);读者已借图书信息(书名、借书日期);程序逻辑接口调用形式:voidCBook
5、Dlg:LendBook(const_ConnectionPtrpConnection,constintMaxLBNum)传入参数:pConnection数据库连接指针MaxLBNum系统参数(可借图书上限)传出参数:无存储分配内部数据:数据库m_pConnection_ConnectionPtr数据库连接指针用户界面m_strReaderNameCString读者姓名m_strLBInfCString已借图书信息m_strLBNumCString已借图书数显示m_lBookIDlong欲借图书书号内部参数m_lReaderIDlong当前读者证号m_MaxLBNumint可借图书数上限测试要
6、点模块正常运行流程用户输入数据检查(读者证号、图书书号),包括数据合理性检查,以及合法性检查数据库操作数据库连接异常时的响应情况3.2.1 读者查验模块功能查验输入的读者证号是否合法(即是否存在与该读者证号对应的读者记录)输入项目读者证号(整型常数),读者姓名(引用型字符串)输出项目查验结果(BOOL值)程序逻辑生成数据库查询语句调用数据库查询模块IF返回结果集为空(不存在该读者证号)置读者姓名字符串为空返回”非法读者证号”ELSE置读者姓名字符串返回”合法读者证号”接口调用形式:BOOLCheckReader(constlongReaderID,CString&strReaderName)传
7、入参数:ReaderID(常量参数传入)待查验的读者证号m_pConnection(借书模块内的全局变量)数据库连接指针传出参数:读者证号存在/不存在标志(返回值)strReaderName(传入的引用参数)读者证号对应的读者姓名(读者证号不存在时置为空)存储分配局部变量:数据库数据库pReader_RecordsetPtr数据库查询结果集指针查询参数vtQuiry_variant_t查询命令vNull_variant_t查询连接类型转换strQuiryCstring查询命令类型转换vtemp_variant_t查询结果类型转换测试要点数据库连接正常时输入合理合法参数输入参数不合理输入参数不合
8、法数据库连接异常;数据库数据异常(读者姓名为空)3.2.2 图书查验模块功能查验输入的图书书号是否合法输入项目图书书号(整型常量)输出项目查验结果(BOOL值)程序逻辑生成数据库查询语句调用数据库查询模块IF返回结果集为空(不存在该图书书号)返回”非法图书书号”ELSE返回”合法图书书号”存储分配局部变量:数据库pBook_RecordsetPtr数据库查询结果集指针查询参量vtQuiry_variant_t查询字符串vNull_variant_t查询连接参量类型转换strQuiryCstring查询命令类型转换测试要点数据库连接正常数据库数据正常输入的书号合理合法输入的书号不合理输入的书号不
9、合法数据库数据异常数据库连接异常3.2.3 相关信息获取模块功能获取合法读者的借书记录输入项目合法读者证号(整型常量);读者已借图书信息(引用型字符串)输出项目查询操作结果(BOOL值)程序逻辑生成数据库查询语句调用数据库查询模块IF操作成功WHILE查询结果集未读至文件尾读取各项值置入读者已借图书信息字符串返回”操作成功”ELSE置空读者已借图书信息字符串返回”操作失败”接口调用形式:BOOLGetLBInf(constlongReaderID,CString&strLBInf)传入参量:ReaderID(整型常量)查询参数strLBInf(引用型字符串)返回用的格式化的查询信息传出参量:查
10、询成功/失败标志(BOOL值)查询操作结果信息存储分配局部变量:数据库pRecords_RecordsetPtr数据库查询结果集指针查询参数vtQuiry_variant_t查询命令字符串vNull_variant_t查询连接参量类型转换strQuiryCString查询命令类型转换测试要点数据库连接正常数据库数据正常输入正常(读者证号合法)输入异常(读者证号非法)数据库数据异常数据库连接异常3.2.4 借书登记模块功能登录借书信息输入项目读者证号(整型常量);图书书号(整型常量)输出项目操作Z果(BOOL值)程序逻辑生成数据库操作命令调用数据库操作模块IF操作成功返回”操作成功”ELSE返回
11、”操作失败”接口调用形式:BOOLWriteBlrecord(constlongReaderID,constlongBookID)传入参数:ReaderID(整型常量)操作参数(借阅者读者证号)BookID(整型常量)操作参数(借阅图书书号)传出参数:操作成功/失败标志(返回值)存储分配局部变量:操作命令参数vRecsAffected_variant_t操作影响vtCommand_variant_t操作命令类型转换strCommandCString操作命令类型转换strTodayCString借书日期类型转换oleTodayCOleDateTime!借书日期测试要点数据库连接正常数据库操作正常
12、输入参数合法输入参数非法数据库操作异常数据库连接异常4还书模块功能运行还书对话框查验输入的图书书号对合法输入登录还书信息显示相关信息(本次还书操作信息,尚未归还图书的相关信息,读者信息)输入项目图书书号(用户输入)输出项目相关信息(本次还书操作信息,尚未归还的图书信息,读者信息)程序逻辑接口调用形式:CBookInDlg:ReturnBook(const_ConnectionPtrpConnection,constintMaxLBDay)传入参量:pConnection(数据库连接指针常量)提供数据库连接MaxLBDay(整型常量)系统参数(借书天数上限)传出参量:无存储分配内部变量:数据库m
13、_pConnection_ConnectionPtr数据库连接指针m_pRecords_RecordsetPtr数据库查询结果集指针用户界面m_lBookIDlong欲还图书书号m_strLenderIDCString借阅者图书证号显示m_strLenderCString借阅者姓名m_strRBInfCString已还图书信息显示m_strNRBInfCString未还图书信息显示m_strRBNumCString已还图书数显示m_strNRBNumCString未还图书数显示内部参数m_lCurrIDlong当前还书者读者证号m_intRBNumint已还图书计数m_MaxLBDayint借
14、书天数上限测试要点模块正常工作流程对输入的查验,包括输入值的合法性与合理性检验数据库连接异常能否做出适当处理数据库数据异常时能否判断并给予适当处理4.1 借书记录查验模块功能查验借书记录是否存在(即是否存在与指定书号相对应的借书记录)输入项目图书书号(传入参数)输出项目查验结果(返回值);查询结果集(图书书号、书名、状态、出借日期)程序逻辑生成数据库查询语句调用数据库查询模块IF操作成功IF查询结果集不为空(存在该借书记录)返回”记录存在”ELSE警告”记录不存在”ELSE警告”查询失败”返回”记录不存在”接口调用形式:BOOLCheckBlrcord(constlongBookID)传入参量
15、:BookID(整型常量)传出参量:书号合法/非法标志(BOOL型)存储分配局部变量:查询参数vtQuiry_variant_t查询命令4.2vNull类型转换strQuiry引用的全局变量:m_pConnectionm_pRecords测试要点数据库连接正常数据库数据正常合法的图书书号不合法的图书书号数据库数据异常数据库连接异常相关信息获取模块功能获取指定读者图书的总本数。_variant_t查询连接CString查询命令类型转换_ConnectionPtr使用_RecordsetPtr写(打开)返回“真”查验结果返回“假”查验结果,给出警告提示返回“假”查验结果,给出数据异常警告返回“假”
16、查验结果,给出数据库连接异常警告(读者证号)的借书记录,获取的信息包括所借图书书名,借书日期以及所借输入项目读者证号(传入参数);相关(借书)信息(公共变量)输出项目已借图书数(返回值)程序逻辑生成数据库查询命令IF操作成功初始化(相关信息字符串置为空已借图书计数置为0)WHILE未读至查询结果集尾置相关信息字符串计数累加返回计数值ELSE置相关信息字符串为”操作异常”返回”失败标志”(-1)接口调用形式:intGetLBInf(constlongReaderID)传入参数:ReaderID(整型常量)指定的读者证号传出参数:获取的相关记录数(整型)如发生异常,返回值置为负返回值置为负存储分配
17、局部变量:查询参数vtQuiry_variant_t查询命令vNull_variant_t查询连接类型转换strQuiryCString查询命令类型转换vtemp_variant_t查询结果类型转换oleDateCOleDateTime借书时间类型转换记录计数countint计算获取的记录数引用的全局变量:m_pConnection_ConnectionPtr使用m_pRecords_RecordsetPtr写(打开、关闭)m_strNRBInfCString写测试要点 数据库连接正常 数据库数据正常数据库数据异常数据库连接异常可获取的借书记录数为零 可获取的借书记录数不为零返回结果为0,引用
18、字符串置空返回记录数,并将相关信息记录在引用字符串中返回异常指示,给出警告返回异常指示,给出警告4.4 还书信息记录模块功能记录本次还书操作的信息,包括图书书名,超期天数。输入项目包含相关信息(书名、借书日期)的查询结果集(公共变量)输出项目更新后的格式化还书信息(公共变量)程序逻辑WHILE传入的查询结果集未读至文件尾读取书名,置入还书信息字符串读取借书日期计算超期天数置入还书信息字符串光标移至下一个记录接口调用形式:voidSaveRBInf(void)传入参数:无传出参数:无存储分配局部变量:类型转换vtemp_variant_t查询结果类型转换strExcessCString超期天数类
19、型转换计算变量oleDateCOleDateTime借书日期oleExcessCOleDateTimeSpan超期天数intExcessint超期天数引用的全局变量:m_pRecords_RecordsetPtr读(关闭记录集)m_strRBInfCString更新m_MaxLBDayint读测试要点查询结果集正常查询结果集异常4.5 还书登记模块功能登记还书(删除借书记录,更新图书状态)输入项目图书书号(输入参数)输出项目操作成功/失败标志(返回值)程序逻辑生成数据库操作命令(更新)IF操作成功生成数据库操作命令(删除)IF操作成功返回”操作成功”返回”操作失败”接口调用形式:BOOLDel
20、Blrecord(constlongBookID)传入参数:BookID(整型常量)返还图书书号传出参数:操作成功/失败标志(BOOL值)存储分配局部变量:操作参数vtCommand_variant_tvRecsAffected_variant_t类型转换strCommandCString弓I用的全局变量:m_pConnection_ConnectionPtr测试要点数据库连接正常图书书号合法图书书号不合法数据库连接异常图书查询模块操作命令操作影响参数操作命令类型转换使用功能根据给定查询条件,查询数据库,获取图书信息输入项目查询方式指定以及查询关键字输出项目查询结果列表显不程序逻辑接口调用形式
21、:CBookQuiryDlg:QuiryBook(const_ConnectionPtrpConnection)传入参数:pConnection(数据库连接指针)传出参数:无存储分配内部变量:数据库m_pBooks_RecordsetPtr数据库查询结果集指针用户界面m_strAuthorCString作者关键字m_bAuthorBOOL作者查询选择状态m_strBookNameCString书名关键字m_bBookNameBOOL书名查询选择状态m_strPublisherCString出版社关键字m_bPublisherBOOL出版社查询选择状态m_intYear1int出版时间关键字m_
22、intYear2int出版时间关键字m_intMonth1int出版时间关键字m_intMonth2int出版时间关键字m_bPubTimeBOOL出版时间查询选择状态m_intTimeTypeint出版时间查询方式选择局部变量:查询参数vtQuiry_variant_t查询命令vNull_variant_t查询连接类型转换strQuiryCString查询命令类型转换测试要点数据库连接正常数据库数据正常获得正确的查询结果并显示数据库数据异常土口山声口数据库连接异常汩山育口5.1查询命令生成模块功能根据用户界面的输入生成查询命令输入项目用户界面的输入值(公共变量)输出项目查询命令(返回值)程序
23、逻辑读取各复选框的值IF选中AND关键字不为空生成查询条件生成数据库查询命令返回生成的查询命令接口调用形式:CStringGetQuiryString()传入参数:无传出参数:查询命令(CString)存储分配局部变量:strQuiryCString查询命令字符串strTempCString临时字符串测试要点用户输入合理用户输入不合理(没有指定查询方式,没有输入查询关键字)5.2 数据库查询模块功能根据输入的查询命令查询数据库输入项目查询命令(传入参数)输出项目数据库查询结果(返回值);数据库查询结果集(公共变量)程序逻辑查询数据库IF操作成功返回”操作成功”ELSE返回”操作失败”接口调用形
24、式:BOOLDBQuiry(constCStringstrQuiry)传入参数:strQuiry(字符串型常量)数据库查询命令传出参数:查询操作成功/失败标志(BOOL值)存储分配局部变量:查询参数vtQuiryvRecsAffected引用的全局变量:m_pConnectionm_pBooks测试要点数据库连接正常输入查询命令合法获取非空查询结果集返回“真”返回值,查询结果保存在查询结果集中获取空查询结果集返回“真”返回值,查询结果集为空输入查询命令不合法返回“假”返回值,查询结果集指针指向空,给出警告数据库连接异常_varaint_t数据库查询命令_variant_t数据库查询连接_Con
25、nectionPtr使用_RecordsetPtr读返回值,查询结果保存在查询结果集中返回值,查询结果集为空“假”返回值,查询结果集指针指向空,给出警告5.3 数据显示模块功能按一定格式列表显示查询结果,并根据用户要求重排列输入项目查询结果集(传入参数);输出项名称(传入参数);查询结果表参数,包括行数、列数(传入参数)输出项目用户界面显示程序逻辑初始化(设置行数、列数、列名称,载入输入的查询结果集内的数据)显示列表WHILE用户未输入“返回”IF用户拖动列的标题栏重新设置列的位置排序刷新显示返回接口测试要点查询结果正常查询结果集为空查询结果集不为空 查询结果异常显示消息框提示正常显示结果列表
26、,并根据用户输入调整输出显示警告调用形式:CListShowDlg:ShowList(const_RecordsetPtrpRecords,传入参数:CString*strArray,constintcols,constintrows)pRecords(数据库查询结果集指针)需要显示的查询结果传出参数:无存储分配内部数据:数据库strArray(字符串数组头指针)显示项的名称(列名)cols(整型常量)列表列数rows(整型常量)列表行数无m_pRecords_RecordsetPtr数据库查询结果集内部参数m_strArrayCString20列名存储数组m_intColsint列表列数m_
27、intRowsint列表行数m_cltFGridCMSFlexGrid列表控件m_iMouseColint用户鼠标所在列系统操作模块功能验证输入的系统操作员账号以及口令,完成权限管理运行系统操作对话框,根据用户输入调用各子模块,完成:图书库操作(浏览、修改、增加、删除);读者库操作(浏览、修改、增加、删除);数据统计;更改口令;系统管理(修改系统设置,浏览、修改、增加、删除系统操作员);输入项目数据库连接(传入参数)输出项目无程序逻辑接口调用形式:CSysDlg:ManageSys(const_ConnectionPtrpConnection)传出参数:无存储分配内部数据:数据库m_pConn
28、ection_ConnectionPtr子模块m_BookDlgCBookDlgm_ReaderDlgCReaderDlgm_QuiryDlgCQuiryDlgm_SysSettingDlg CSysSettingDlg内部参数m_strCurrUserCStringm_RightLevelint局部变量:输入pwdDlgCPasswordDlg测试要点数据库连接正常正常执行过程传入参数:pConnection (数据库连接指针)数据库连接指针 图书库操作子模块 读者库操作子模块 数据统计子模块 系统设置子模块 当前操作者账号 操作权限账号口令输入对话框根据权限进行显示控制,正常调用各子模块曜
29、a育口输入的账号口令合法输入的账号口令不合法数据库连接异常6.1 系统操作权限查验模块功能查验输入的系统操作员账号以及口令是否合法,并返回合法操作员的权限级别输入项目系统操作员口令(传入参数)输出项目操作员权限级别(返回值)程序逻辑生成数据库查询命令查询数据库IF操作成功IF查询结果集非空返回权限级别ELSE显示警告”非法的账号或口令”返回-1ELSE显示警告”不能查询数据库”返回-1接口调用形式:CheckRight(constCStringoldPwd)传入参数:oldPwd(字符串常量)待查验的系统操作员口令传出参数:系统操作权限系统操作权限(整型,0-7)如口令非法,置为-1存储分配局
30、部变量:数据库数据库pTemp_RecordsetPtr数据库查询结果集指针查询参数vNull_variant_t数据库查询连接vtQuiry_variant_t数据库查询命令类型转换strQuiryCString查询命令类型转换内部参数resultint权限级别引用的全局变量:m_pConnection_ConnectionPtr数据库连接指针m_strCurrUserCString当前操作员账号测试要点数据库连接正常获取相应的权限级别返回错误指示,给出警告数据库数据正常合法的账号口令非法的账号口令数据库数据异常数据库连接异常6.2 图书库操作模块功能根据输入提供对图书库的浏览、数据修改、增
31、加、删除记录等操作增加记录时,提供对生成的图书书号的唯一性验证删除记录时,提供对所删除记录的相关性检验输入项目数据库连接(传入参数)输出项目无程序逻辑初始(获取数据库连接,显示对话框)WHILE用户未输入退出IF用户输入”下一个”更新当前记录移动至下一个记录刷新显示IF用户输入”上一个”更新当前记录移动至上一个记录刷新显示IF用户输入”移动到”更新当前记录要求输入图书书号IF该书号存在移动到指定的记录刷新显示ELSE显示警告”该图书书号不存在”IF用户输入”加入”更新当前记录要求输入图书书号IF该书号已存在显示警告”该书号已存在”ELSE插入指定图书书号的新记录记录总数加一光标移动至新记录处I
32、F用户输入”删除”更新当前记录给出警告”确定继续”IF用户确认继续IF该图书借出给出警告”删除相关借书记录”IF用户确认删除相关借书记录ELSE中止操作删除该图书记录记录总数减一IF最后一条记录被删除移动至前一条记录ELSE移动至下一条记录 显示刷新更新记录接口调用形式:CBookDlg:ManageBooks(const_ConnectionPtrpConnection)传入参数:pConnection(数据库连接指针)传出参数:无 存储分配 内部数据:数据库数据库m_pConnection_ConnectionPtr数据库连接指针m_pRs_RecordsetPtr数据库查询结果集指针用户
33、界面m_lBookIDlong当前记录中书号项m_strAuthorCString当前记录中作者项m_strBookNameCString当前记录中书名项m_strPublisherCString当前记录中出版社项m_uPublishYearUINT当前记录中出版年项m_uPublishMonth UINT当前记录中出版月项m_intStatusint当前记录中状态项m_fBookPricefloat当前记录中单价项m_strCurrentBookCString当前记录位置显示m_strTotalBookCString记录总数显示内部参数m_intPositionint当前记录位置计数m_lR
34、ecordCountlong记录总数计数无测试要点是否工作状态正常对各种用户输入的响应数据库连接正常记录集为空记录集非空数据库连接异常6.2.1 获取图书记录集模块功能获取所有图书记录,置记录总数以及当前位置的初始值输入项目操作成功/失败标志(返回值)输出项目图书记录集(公共变量);记录总数(公共变量);当前位置(公共变量)程序逻辑生成数据库查询命令查询数据库IF操作成功返回”成功”ELSE返回”失败”接口调用形式:BOOLOpenRecords()传入参数:无 传出参数:操作成功 引用的全局变量:存储分配局部变量:查询参数/失败标志(BOOL值) m_pRs m_intPosition m_
35、lRecordCountvNullvtQuiry类型转换 strQuiry测试要点数据库连接正常_RecordsetPtr int long_variant_t _variant_t CString写(打开 )写写查询连接查询命令查询命令类型转换图书记录集为空图书记录集非空数据库连接异常6.2.2 更新显示模块功能更显当前显示输入项目图书记录集(公共变量);用户界面显示字符串(公共变量)输出项目更新后的用户界面显示字符串(公共变量)程序逻辑逐项读取记录中的数据域置入显示字符串中IF当前记录为第一条禁止”前一个”按钮IF当前记录为最后一条禁止”后一个”按钮IF记录总数为0禁止”加入”以外的所有按
36、钮刷新显示界面接口调用形式:voidRefreshDataView()传入参数:无传出参数:无引用的全局变量:m_pRs_RecordsetPtr读m_lBookIDlong写m_strAuthorCString写m_strBookNameCString写m_strPublisherCString写m_uPublishYearUINT写m_uPublishMonthUINT写m_intStatusint写m_fBookPricefloat写m_strCurrentBookCString写m_strTotalBookCString写存储分配局部变量:类型转换vtemp_variant_t记录集数
37、据域类型转换测试要点记录集正常记录集为空记录集非空记录集异常6.2.3 更新当前记录模块功能根据用户界面的输入更新当前记录输入项目用户界面的输入,即用户界面各显示变量的值(公共变量)输出项目数据库中更新后的图书记录(存储文件);操作成功/失败标志(返回值)程序逻辑保存当前图书书号读入界面的值IF书号发生变化给出警告”不能更改图书书号”恢复图书书号的值生成数据库更新语句IF更新操作成功重新获取记录集光标移动到原位置返回”成功”ELSE给出警告”操作失败”返回”失败”接口调用形式:BOOLRefreshData()传入参数:无传出参数:操作成功/失败标志(BOOL值)引用的全局变量:m_pConn
38、ection_ConnectionPtr使用m_pRs_RecordsetPtr写m_lBookIDlong读写m_strAuthorCString读m_strBookNameCString读m_strPublisherCString读m_uPublishYearUINT读m_uPublishMonthUINT读m_intStatusint读m_fBookPricefloatm_strCurrentBookCStringm_strTotalBookCString存储分配局部变量:操作参数vtCommand_varaint_tvRecsAffected_variant_tstrCommandCS
39、tring内部参数currBookIDlong测试要点数据库连接正常输入数据合法合理输入数据不合理输入数据不合法(更改图书书号)数据库连接异常读读读操作命令操作连接操作命令类型转换当前图书书号保存6.2.4获取相关记录模块功能查验是否存在相关的借书记录输入项目图书书号(传入参数)输出项目相关借书记录存在/不存在标志(返回值)程序逻辑生成数据库查询命令,执行查询IF操作成功IF查询结果集为空返回”不存在”ELSE返回”存在”ELSE处中跳a”给出警告不能查询数据库不能查询数据库”返回”存在”接口调用形式:传入参数:BookID(整型常量)待查验的图书书号传出参数:查验结果查验结果(BOOL值)引
40、用的全局变量:m_pConnection使用存储分配局部变量:数据库数据库pLBook_RecordsetPtr数据库查询结果集指针查询参数vtQuiry_variant_t查询命令vNull_variant_t查询连接类型转换strQuiryCString查询命令类型转换BOOLRelatedExisted(constlongBookID)测试要点数据库连接正常相关记录存在返回“真”相关记录不存在返回“假”数据库连接异常6.3 读者库操作模块功能根据输入提供对读者库的浏览、数据修改、增加、删除记录等操作增加记录时,提供对生成的读者证号的唯一性验证删除记录时,提供对所删除记录的相关性检验输入项
41、目数据库连接(传入参数)输出项目无程序逻辑初始化(获取数据库连接,显示对话框)WHILE用户未输入退出IF用户输入”下一个”更新当前记录移动至下一个记录刷新显示IF用户输入”上一个”更新当前记录移动至上一个记录刷新显示IF用户输入”第一个”更新当前记录移动至第一个记录刷新显示IF用户输入”最后一个”更新当前记录移动至最后一个记录刷新显示IF用户输入”移动到”更新当前记录要求输入读者证号IF该读者证号存在移动到指定的记录刷新显示ELSE显示警告”该读者证号不存在”IF用户输入”加入”更新当前记录要求输入读者证号IF该读者证号已存在显示警告”该读者证号已存在”ELSE插入指定读者证号的新记录记录总
42、数加一光标移动至新记录处IF 用户输入”删除”更新当前记录给出警告”确定继续”IF 用户确认继续IF 该读者已借图书信息不为空给出警告”有未还图书 , 不能删除”ELSE删除该图书记录记录总数减一IF 最后一条记录被删除移动至前一条记录ELSE移动至下一条记录显示刷新更新记录接口 调用形式: 传入参数: 传出参数:无 存储分配 内部变量:数据库void CReaderDlg:ManageReader(const _ConnectionPtr pConnection)pConnection无ConnectionPtr数据库连接指针攵据库m_pConnection_ConnectionPtr数据库
43、连接指针m_pReaders_RecordsetPtr数据库查询结果集指针用户界面m_lReaderIDlong当前记录中读者证号项m_strAttatchmentCString当前记录中联系方法项m_strReaderNameCString当前记录中读者姓名项m_strRelateInfCString当前记录相关信息显示m_strPositionCString当前记录位置显示m_strTotalNumCString记录总数显示内部数据m_intPositionint当前记录位置计数m_lReaderNumlong记录总数计数测试要点 数据库连接正常 数据库连接异常程序正常运行流程,根据输入调
44、用各子模块根据输入调用各子模块6.3.1 获取读者记录集模块功能获取所有读者记录输入项目无输出项目操作成功/失败标志(返回值);读者记录集(公共变量)程序逻辑生成数据库查询命令查询数据库IF操作成功返回”成功”ELSE返回”失败”接口调用形式:BOOLOpenRs()传入参数:无传出参数:操作成功/失败标志(BOOL值)引用的全局变量:m_pReaders_RecordsetPtr写m_intPositionint写m_lReaderNumlong写存储分配局部变量:查询参数bstrQuery_bstr_t查询命令vtNull_variant_t查询连接测试要点数据库连接正常记录集为空返回“真
45、”,记录集为空,位置计数与记录总数为0记录集非空返回“真”,记录集非空,位置计数为1数据库连接异常6.3.2 更新显示模块功能更新当前记录的显示输入项目记录集当前记录各项值(公共变量);未更新的用户界面显示字符串(公共变量)输出项目更新后的用户界面显示字符串(公共变量)程序逻辑逐项读取记录中的数据域置入显示字符串中IF当前记录为第一条禁止”前一个”按钮、”第一个”按钮IF当前记录为最后一条禁止”后一个”按钮、”最后一个”按钮IF记录总数为0禁止”加入”以外的所有按钮调用相关信息获取模块,置相关借书信息字符串刷新显示界面接口调用形式:voidRefreshDataView()传入参数:无传出参数
46、:无引用的全局变量:m_pReaders_RecordsetPtr读m_lReaderIDlong写m_strReaderNameCString写m_strAttatchmentCString写m_lReaderNumlong读m_intPositionlong读m_strTotalNumCString写m_strPositionCString写m_strRelatedInfCString写存储分配局部变量:类型转换vtemp_variant_t记录数据域类型转换测试要点数据集正常获取相应的数据项,并显示数据集异常给出警告6.3.3 更新当前记录模块功能根据用户界面的输入,更新当前记录的各数据
47、域输入项目用户界面编辑变量值(公共变量)输出项目更新后的数据域值(存储文件);操作成功/失败标志(返回值)程序逻辑保存当前读者证号读入界面的值IF读者证号发生变化给出警告”不能更改读者证号”恢复读者证号的值生成数据库更新语句IF更新操作成功重新获取记录集光标移动到原位置返回”成功”ELSE给出警告”操作失败”返回”失败”接口调用形式:BOOLRefreshData()传入参数:无传出参数:操作成功/失败标志(BOOL值)引用的全局变量:m_pConnection_ConnectionPtr使用m_lReaderIDlong读写存储分配局部变量:操作参数类型转换数据保存测试要点数据库连接正常输入数据合法m_strReaderName m_strAttatchmentvtCommand vRecsAffected strCommand CurrRIDCString CString_varaint_t _variant_t CString long读 读操作命令 操作结果影响 操作命令类型转换 当前记录中读者证号保存根据输入数据更新数据库记录输入数据不合法给出警告数据库连接异常6.3.4 获取相关记录模块功能获取相关的借书记录输入项目读者证号(传入参数)输出项目操作成功/失败标志(返回值);相关记录信息(公共变量)程序逻辑生成数据库查询命令IF操
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新能源行业应用:储能技术在电网稳定性提升策略报告
- 外包软件开发及实施服务合同
- 2025年新能源电动观光车景区应用前景分析报告
- 2025年新能源电动观光船旅游航线船舶节能减排技术与应用报告
- 农业产业科技创新项目合作协议
- 办公通讯系统建设与维护合同
- 办公用品采购供应长期合作协议
- 企业网络设备外包服务协议
- 急救天使医疗器械2023年度ESG行动报告:供应链合作伙伴ESG指南
- 厨房全面管理工作承包合同书8篇
- Ⅲ类射线装置辐射工作人员培训考试题(附答案)
- 素描不锈钢茶壶画法课件
- “一带一路”倡议下的企业出海战略研究
- 辽宁沈阳地铁有限公司所属公司招聘笔试题库完整参考答案详解
- 2025年教科版新教材科学三年级上册教学计划(含进度表)
- 工管人才面试宝典:高级管理面试题目及答案解析
- 医务人员职业暴露的应急预案与处理流程
- 2025-2026学年外研版(2024)初中英语七年级上册(全册)教学设计(附目录)
- 2025-2030中国金属丝绳行业发展状况及趋势前景预判报告
- 土石方工程施工技术规范
- 煤矿防治水课件教学
评论
0/150
提交评论