1、1详细设计说明书1 引言1. 1 编写目的根据需求规格说明书 、 概要设计说明书 ,在仔细考虑讨论之后,我们对图书管理系统软件的功能划分、数据结构、软件总体结构的实现有了进一步的想法。我们将这些想法记录下来,作为详细设计说明书,为进一步设计软件、编写代码打下基础。1.2 背景随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于
2、图书资料的管理需要有效的图书管理软件。本图书管理系统软件是一套功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的 DOS、WINDOWS 系列等操作系统上使用1.3 定义文档中采用的专门术语的定义及缩略词简要如下:LMS:Library Management System,图书管理系统1.4 参考资料1费贤举关于图书管理系统的批文 2郑人杰,殷人昆,陶永雷。 实用软件工程 (第二版) 。北京:清华大学出版社,1997。3王立福,麻志毅。 软件工程 (第二版) 。北京:北京大学出版社,2001。4唐学
3、忠,王文。 Visual Basic 程序设计教程北京:中国电力出版社,2002。22 程序系统的结构3 程序(标识符)设计说明3.1 主模块 功能建立与数据库连接获取系统设置运行主对话框根据输入调用子模块退出系统时断开与数据库的连接 输入项目用户鼠标点击输入 程序逻辑见右图 存储分配内部数据: 数据库连接 m_pConnection _ConnectionPtr 数据库连接指针m_IsConnected BOOL 数据库连接指示系统设置 m_MaxLBNum int 可借图书数上限m_MaxLBDay int 借书天数上限子对话框 m_BookOutDlg CBookOutDlg 借书对话框
4、m_BookInDlg CBookInDlg 还书对话框m_BookQuiryDlg CBookQuiryDlg 图书查询对话框m_SysDlg CSysDlg 系统操作对话框 测试要点数据库连接情况:正常情况,数据库文件缺少,外部系统异常。系统设置获取:正常情况,外部系统异常。对用户输入的响应: 合法输入,能够正常调用子模块;非法输入,系统能否辨别,并作出响应(提出警告);系 统 操 作 模 块系统设置图书查询更改口令系统操作读者库操作数据统计读者查询输入输出图书库操作数据备份数据恢复初始化借书模块 还书模块 图书查询模块 系统查询模块3子模块的异常状况,系统能否及时做出响应。3.2 借书模
5、块 功能查验输入的读者证号运行借书对话框获取该读者的相关信息查验输入的图书号登记借书 输入项目读者证号、图书书号(用户输入) 输出项目读者信息(姓名);读者已借图书信息(书名、借书日期); 程序逻辑 接口调用形式:void CBookDlg:LendBook(const _ConnectionPtr pConnection, const int MaxLBNum)传入参数:pConnection 数据库连接指针MaxLBNum 系统参数(可借图书上限)对话框初始化输入读者证号操作取消输入不合理查 验借书对话框 点击返回查验 出错借书登记更新相关信息及显示关闭对话框4传出参数:无 存储分配内部数
6、据: 数据库 m_pConnection _ConnectionPtr 数据库连接指针用户界面 m_strReaderName CString 读者姓名m_strLBInf CString 已借图书信息m_strLBNum CString 已借图书数显示m_lBookID long 欲借图书书号内部参数 m_lReaderID long 当前读者证号m_MaxLBNum int 可借图书数上限 测试要点模块正常运行流程用户输入数据检查(读者证号、图书书号),包括数据合理性检查,以及合法性检查数据库操作数据库连接异常时的响应情况3.2.1 读者查验模块 功能查验输入的读者证号是否合法(即是否存在
7、与该读者证号对应的读者记录) 输入项目读者证号(整型常数),读者姓名(引用型字符串) 输出项目查验结果(BOOL 值) 程序逻辑生成数据库查询语句调用数据库查询模块IF 返回结果集为空(不存在该读者证号)置读者姓名字符串为空返回”非法读者证号”ELSE置读者姓名字符串返回”合法读者证号” 接口调用形式:BOOL CheckReader(const long ReaderID,CString &strReaderName)传入参数:ReaderID(常量参数传入) 待查验的读者证号m_pConnection(借书模块内的全局变量) 数据库连接指针传出参数:读者证号存在/不存在标志(返回值)str
8、ReaderName(传入的引用参数) 读者证号对应的读者姓名(读者证号不存在时置为空) 存储分配局部变量:数据库 pReader _RecordsetPtr 数据库查询结果集指针查询参数 vtQuiry _variant_t 查询命令vNull _variant_t 查询连接类型转换 strQuiry Cstring 查询命令类型转换vtemp _variant_t 查询结果类型转换 测试要点5数据库连接正常时输入合理合法参数输入参数不合理输入参数不合法数据库连接异常;数据库数据异常(读者姓名为空)3.2.2 图书查验模块 功能查验输入的图书书号是否合法 输入项目图书书号(整型常量) 输出项
9、目查验结果(BOOL 值) 程序逻辑生成数据库查询语句调用数据库查询模块IF 返回结果集为空(不存在该图书书号)返回”非法图书书号”ELSE返回”合法图书书号” 接口调用形式: BOOL CheckBook(const long BookID)传入参数: BookID(整型常量) 带查验的图书书号传出参数: 书号合法/不合法标志(返回值) 查验结果 存储分配局部变量: 数据库 pBook _RecordsetPtr 数据库查询结果集指针查询参量 vtQuiry _variant_t 查询字符串vNull _variant_t 查询连接参量类型转换 strQuiry Cstring 查询命令类型
10、转换 测试要点数据库连接正常数据库数据正常输入的书号合理合法输入的书号不合理输入的书号不合法数据库数据异常数据库连接异常3.2.3 相关信息获取模块 功能获取合法读者的借书记录 输入项目合法读者证号(整型常量);读者已借图书信息(引用型字符串) 输出项目查询操作结果(BOOL 值) 程序逻辑6生成数据库查询语句调用数据库查询模块IF 操作成功WHILE 查询结果集未读至文件尾读取各项值置入读者已借图书信息字符串返回”操作成功”ELSE置空读者已借图书信息字符串返回”操作失败” 接口调用形式:BOOL GetLBInf(const long ReaderID,CString &strLBInf)
11、传入参量:ReaderID(整型常量) 查询参数strLBInf(引用型字符串) 返回用的格式化的查询信息传出参量:查询成功/失败标志(BOOL 值) 查询操作结果信息 存储分配局部变量: 数据库 pRecords _RecordsetPtr 数据库查询结果集指针查询参数 vtQuiry _variant_t 查询命令字符串vNull _variant_t 查询连接参量类型转换 strQuiry CString 查询命令类型转换 测试要点数据库连接正常数据库数据正常输入正常(读者证号合法)输入异常(读者证号非法)数据库数据异常数据库连接异常3.2.4 借书登记模块 功能登录借书信息 输入项目读
12、者证号(整型常量);图书书号(整型常量) 输出项目操作结果(BOOL 值) 程序逻辑生成数据库操作命令调用数据库操作模块IF 操作成功返回”操作成功”ELSE返回”操作失败” 接口7调用形式:BOOL WriteBlrecord(const long ReaderID,const long BookID)传入参数:ReaderID(整型常量) 操作参数(借阅者读者证号)BookID(整型常量) 操作参数(借阅图书书号)传出参数:操作成功/失败标志(返回值) 存储分配局部变量: 操作命令参数 vRecsAffected _variant_t 操作影响vtCommand _variant_t 操作
13、命令类型转换 strCommand CString 操作命令类型转换strToday CString 借书日期类型转换oleToday COleDateTime 借书日期 测试要点数据库连接正常数据库操作正常输入参数合法输入参数非法数据库操作异常数据库连接异常4 还书模块 功能运行还书对话框查验输入的图书书号对合法输入登录还书信息显示相关信息(本次还书操作信息,尚未归还图书的相关信息,读者信息) 输入项目图书书号(用户输入) 输出项目相关信息(本次还书操作信息,尚未归还的图书信息,读者信息) 程序逻辑 接口调用形式:CBookInDlg:ReturnBook(const _Connection
14、Ptr pConnection,初始对话框借书记录查验模块点击退出出错返回登记还书更新还书信息及显示关闭对话框8const int MaxLBDay)传入参量:pConnection(数据库连接指针常量) 提供数据库连接MaxLBDay(整型常量) 系统参数(借书天数上限)传出参量:无 存储分配内部变量:数据库 m_pConnection _ConnectionPtr 数据库连接指针m_pRecords _RecordsetPtr 数据库查询结果集指针用户界面 m_lBookID long 欲还图书书号m_strLenderID CString 借阅者图书证号显示m_strLender CSt
15、ring 借阅者姓名m_strRBInf CString 已还图书信息显示m_strNRBInf CString 未还图书信息显示m_strRBNum CString 已还图书数显示m_strNRBNum CString 未还图书数显示内部参数 m_lCurrID long 当前还书者读者证号m_intRBNum int 已还图书计数m_MaxLBDay int 借书天数上限 测试要点模块正常工作流程对输入的查验,包括输入值的合法性与合理性检验数据库连接异常能否做出适当处理数据库数据异常时能否判断并给予适当处理4.1 借书记录查验模块 功能查验借书记录是否存在(即是否存在与指定书号相对应的借书
16、记录) 输入项目图书书号(传入参数) 输出项目查验结果(返回值);查询结果集(图书书号、书名、状态、出借日期) 程序逻辑生成数据库查询语句调用数据库查询模块IF 操作成功IF 查询结果集不为空(存在该借书记录)返回”记录存在”ELSE警告”记录不存在”ELSE警告”查询失败”返回”记录不存在” 接口调用形式:BOOL CheckBlrcord(const long BookID)9传入参量:BookID(整型常量)传出参量:书号合法/非法标志(BOOL 型) 存储分配局部变量: 查询参数 vtQuiry _variant_t 查询命令vNull _variant_t 查询连接类型转换 strQ
17、uiry CString 查询命令类型转换引用的全局变量:m_pConnection _ConnectionPtr 使用m_pRecords _RecordsetPtr 写(打开) 测试要点数据库连接正常数据库数据正常合法的图书书号 返回“真”查验结果不合法的图书书号 返回“假”查验结果,给出警告提示数据库数据异常 返回“假”查验结果,给出数据异常警告数据库连接异常 返回“假”查验结果,给出数据库连接异常警告4.2 相关信息获取模块 功能获取指定读者(读者证号)的借书记录,获取的信息包括所借图书书名,借书日期以及所借图书的总本数。 输入项目读者证号(传入参数);相关(借书)信息(公共变量) 输
18、出项目已借图书数(返回值) 程序逻辑生成数据库查询命令IF 操作成功初始化(相关信息字符串置为空 已借图书计数置为 0)WHILE 未读至查询结果集尾置相关信息字符串计数累加返回计数值ELSE置相关信息字符串为”操作异常”返回”失败标志”(-1) 接口调用形式:int GetLBInf(const long ReaderID)传入参数:ReaderID(整型常量) 指定的读者证号传出参数:获取的相关记录数(整型) 如发生异常,返回值置为负 存储分配局部变量:查询参数 vtQuiry _variant_t 查询命令vNull _variant_t 查询连接类型转换 strQuiry CStrin
19、g 查询命令类型转换vtemp _variant_t 查询结果类型转换oleDate COleDateTime 借书时间类型转换10记录计数 count int 计算获取的记录数引用的全局变量: m_pConnection _ConnectionPtr 使用m_pRecords _RecordsetPtr 写(打开、关闭)m_strNRBInf CString 写 测试要点数据库连接正常数据库数据正常可获取的借书记录数为零 返回结果为 0,引用字符串置空可获取的借书记录数不为零 返回记录数,并将相关信息记录在引用字符串中数据库数据异常 返回异常指示,给出警告数据库连接异常 返回异常指示,给出警
20、告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 读 测试要点查询结果集正常查询结果集异常
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。