例子详细设计说明书.docx
- 文档编号:18219360
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:65
- 大小:103.65KB
例子详细设计说明书.docx
《例子详细设计说明书.docx》由会员分享,可在线阅读,更多相关《例子详细设计说明书.docx(65页珍藏版)》请在冰豆网上搜索。
例子详细设计说明书
详细设计说明书
1引言
1.1编写目的
根据《需求规格说明书》、《概要设计说明书》,在仔细考虑讨论之后,我们对《图书管理系统》软件的功能划分、数据结构、软件总体结构的实现有了进一步的想法。
我们将这些想法记录下来,作为详细设计说明书,为进一步设计软件、编写代码打下基础。
1.2背景
随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。
在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。
对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。
本图书管理系统软件是一套功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。
该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的DOS、WINDOWS系列等操作系统上使用
1.3定义
文档中采用的专门术语的定义及缩略词简要如下:
LMS:
LibraryManagementSystem,图书管理系统
1.4参考资料
[1]费贤举关于图书管理系统的批文
[2]郑人杰,殷人昆,陶永雷。
《实用软件工程》(第二版)。
北京:
清华大学出版社,1997。
[3]王立福,麻志毅。
《软件工程》(第二版)。
北京:
北京大学出版社,2001。
[4]唐学忠,王文。
《VisualBasic程序设计教程》北京:
中国电力出版社,2002。
2程序系统的结构
3程序(标识符)设计说明
3.1主模块
●
初始化
图书查询模块
还书模块
借书模块
系统查询模块
功能
建立与数据库连接
获取系统设置
运行主对话框
根据输入调用子模块
退出系统时断开与数据库的连接
●输入项目
用户鼠标点击输入
●程序逻辑
见右图
●存储分配
内部数据:
数据库连接m_pConnection_ConnectionPtr数据库连接指针
m_IsConnectedBOOL数据库连接指示
系统设置m_MaxLBNumint可借图书数上限
m_MaxLBDayint借书天数上限
子对话框m_BookOutDlgCBookOutDlg借书对话框
m_BookInDlgCBookInDlg还书对话框
m_BookQuiryDlgCBookQuiryDlg图书查询对话框
m_SysDlgCSysDlg系统操作对话框
●测试要点
数据库连接情况:
正常情况,数据库文件缺少,外部系统异常。
系统设置获取:
正常情况,外部系统异常。
对用户输入的响应:
合法输入,能够正常调用子模块;
非法输入,系统能否辨别,并作出响应(提出警告);
子模块的异常状况,系统能否及时做出响应。
3.2借书模块
●功能
查验输入的读者证号
运行借书对话框
获取该读者的相关信息
查验输入的图书号
登记借书
●输入项目
读者证号、图书书号(用户输入)
●输出项目
读者信息(姓名);读者已借图书信息(书名、借书日期);
●程序逻辑
对话框初始化
操作取消
输入不合理
点击返回
出错
输入读者证号
查验
借书对话框
查验
借书登记
更新相关信息及显示
关闭对话框
●接口
调用形式:
voidCBookDlg:
:
LendBook(const_ConnectionPtrpConnection,
constintMaxLBNum)
传入参数:
pConnection数据库连接指针
MaxLBNum系统参数(可借图书上限)
传出参数:
无
●存储分配
内部数据:
数据库m_pConnection_ConnectionPtr数据库连接指针
用户界面m_strReaderNameCString读者姓名
m_strLBInfCString已借图书信息
m_strLBNumCString已借图书数显示
m_lBookIDlong欲借图书书号
内部参数m_lReaderIDlong当前读者证号
m_MaxLBNumint可借图书数上限
●测试要点
模块正常运行流程
用户输入数据检查(读者证号、图书书号),包括数据合理性检查,以及合法性检查
数据库操作
数据库连接异常时的响应情况
3.2.1读者查验模块
●功能
查验输入的读者证号是否合法(即是否存在与该读者证号对应的读者记录)
●输入项目
读者证号(整型常数),读者姓名(引用型字符串)
●输出项目
查验结果(BOOL值)
●程序逻辑
生成数据库查询语句
调用数据库查询模块
IF返回结果集为空(不存在该读者证号)
置读者姓名字符串为空
返回”非法读者证号”
ELSE
置读者姓名字符串
返回”合法读者证号”
●接口
调用形式:
BOOLCheckReader(constlongReaderID,CString&strReaderName)
传入参数:
ReaderID(常量参数传入)待查验的读者证号
m_pConnection(借书模块内的全局变量)数据库连接指针
传出参数:
读者证号存在/不存在标志(返回值)
strReaderName(传入的引用参数)读者证号对应的读者姓名
(读者证号不存在时置为空)
●存储分配
局部变量:
数据库pReader_RecordsetPtr数据库查询结果集指针
查询参数vtQuiry_variant_t查询命令
vNull_variant_t查询连接
类型转换strQuiryCstring查询命令类型转换
vtemp_variant_t查询结果类型转换
●测试要点
数据库连接正常时
输入合理合法参数
输入参数不合理
输入参数不合法
数据库连接异常;数据库数据异常(读者姓名为空)
3.2.2图书查验模块
●功能
查验输入的图书书号是否合法
●输入项目
图书书号(整型常量)
●输出项目
查验结果(BOOL值)
●程序逻辑
生成数据库查询语句
调用数据库查询模块
IF返回结果集为空(不存在该图书书号)
返回”非法图书书号”
ELSE
返回”合法图书书号”
●接口
调用形式:
BOOLCheckBook(constlongBookID)
传入参数:
BookID(整型常量)带查验的图书书号
传出参数:
书号合法/不合法标志(返回值)查验结果
●存储分配
局部变量:
数据库pBook_RecordsetPtr数据库查询结果集指针
查询参量vtQuiry_variant_t查询字符串
vNull_variant_t查询连接参量
类型转换strQuiryCstring查询命令类型转换
●测试要点
数据库连接正常
数据库数据正常
输入的书号合理合法
输入的书号不合理
输入的书号不合法
数据库数据异常
数据库连接异常
3.2.3相关信息获取模块
●功能
获取合法读者的借书记录
●输入项目
合法读者证号(整型常量);读者已借图书信息(引用型字符串)
●输出项目
查询操作结果(BOOL值)
●程序逻辑
生成数据库查询语句
调用数据库查询模块
IF操作成功
WHILE查询结果集未读至文件尾
读取各项值
置入读者已借图书信息字符串
返回”操作成功”
ELSE
置空读者已借图书信息字符串
返回”操作失败”
●接口
调用形式:
BOOLGetLBInf(constlongReaderID,CString&strLBInf)
传入参量:
ReaderID(整型常量)查询参数
strLBInf(引用型字符串)返回用的格式化的查询信息
传出参量:
查询成功/失败标志(BOOL值)查询操作结果信息
●存储分配
局部变量:
数据库pRecords_RecordsetPtr数据库查询结果集指针
查询参数vtQuiry_variant_t查询命令字符串
vNull_variant_t查询连接参量
类型转换strQuiryCString查询命令类型转换
●测试要点
数据库连接正常
数据库数据正常
输入正常(读者证号合法)
输入异常(读者证号非法)
数据库数据异常
数据库连接异常
3.2.4借书登记模块
●功能
登录借书信息
●输入项目
读者证号(整型常量);图书书号(整型常量)
●输出项目
操作结果(BOOL值)
●程序逻辑
生成数据库操作命令
调用数据库操作模块
IF操作成功
返回”操作成功”
ELSE
返回”操作失败”
●接口
调用形式:
BOOLWriteBlrecord(constlongReaderID,constlongBookID)
传入参数:
ReaderID(整型常量)操作参数(借阅者读者证号)
BookID(整型常量)操作参数(借阅图书书号)
传出参数:
操作成功/失败标志(返回值)
●存储分配
局部变量:
操作命令参数vRecsAffected_variant_t操作影响
vtCommand_variant_t操作命令
类型转换strCommandCString操作命令类型转换
strTodayCString借书日期类型转换
oleTodayCOleDateTime借书日期
●测试要点
数据库连接正常
数据库操作正常
输入参数合法
输入参数非法
数据库操作异常
数据库连接异常
4还书模块
●功能
运行还书对话框
查验输入的图书书号
对合法输入登录还书信息
显示相关信息(本次还书操作信息,尚未归还图书的相关信息,读者信息)
●输入项目
图书书号(用户输入)
●输出项目
相关信息(本次还书操作信息,尚未归还的图书信息,读者信息)
●程序逻辑
点击退出
初始对话框
出错返回
借书记录查验模块
登记还书
更新还书信息及显示
关闭对话框
●接口
调用形式:
CBookInDlg:
:
ReturnBook(const_ConnectionPtrpConnection,
constintMaxLBDay)
传入参量:
pConnection(数据库连接指针常量)提供数据库连接
MaxLBDay(整型常量)系统参数(借书天数上限)
传出参量:
无
●存储分配
内部变量:
数据库m_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借书天数上限
●测试要点
模块正常工作流程
对输入的查验,包括输入值的合法性与合理性检验
数据库连接异常能否做出适当处理
数据库数据异常时能否判断并给予适当处理
4.1借书记录查验模块
●功能
查验借书记录是否存在(即是否存在与指定书号相对应的借书记录)
●输入项目
图书书号(传入参数)
●输出项目
查验结果(返回值);查询结果集(图书书号、书名、状态、出借日期)
●程序逻辑
生成数据库查询语句
调用数据库查询模块
IF操作成功
IF查询结果集不为空(存在该借书记录)
返回”记录存在”
ELSE
警告”记录不存在”
ELSE
警告”查询失败”
返回”记录不存在”
●接口
调用形式:
BOOLCheckBlrcord(constlongBookID)
传入参量:
BookID(整型常量)
传出参量:
书号合法/非法标志(BOOL型)
●存储分配
局部变量:
查询参数vtQuiry_variant_t查询命令
vNull_variant_t查询连接
类型转换strQuiryCString查询命令类型转换
引用的全局变量:
m_pConnection_ConnectionPtr使用
m_pRecords_RecordsetPtr写(打开)
●测试要点
数据库连接正常
数据库数据正常
合法的图书书号返回“真”查验结果
不合法的图书书号返回“假”查验结果,给出警告提示
数据库数据异常返回“假”查验结果,给出数据异常警告
数据库连接异常返回“假”查验结果,给出数据库连接异常警告
4.2相关信息获取模块
●功能
获取指定读者(读者证号)的借书记录,获取的信息包括所借图书书名,借书日期以及所借图书的总本数。
●输入项目
读者证号(传入参数);相关(借书)信息(公共变量)
●输出项目
已借图书数(返回值)
●程序逻辑
生成数据库查询命令
IF操作成功
初始化(相关信息字符串置为空已借图书计数置为0)
WHILE未读至查询结果集尾
置相关信息字符串
计数累加
返回计数值
ELSE
置相关信息字符串为”操作异常”
返回”失败标志”(-1)
●接口
调用形式:
intGetLBInf(constlongReaderID)
传入参数:
ReaderID(整型常量)指定的读者证号
传出参数:
获取的相关记录数(整型)如发生异常,返回值置为负
●存储分配
局部变量:
查询参数vtQuiry_variant_t查询命令
vNull_variant_t查询连接
类型转换strQuiryCString查询命令类型转换
vtemp_variant_t查询结果类型转换
oleDateCOleDateTime借书时间类型转换
记录计数countint计算获取的记录数
引用的全局变量:
m_pConnection_ConnectionPtr使用
m_pRecords_RecordsetPtr写(打开、关闭)
m_strNRBInfCString写
●测试要点
数据库连接正常
数据库数据正常
可获取的借书记录数为零返回结果为0,引用字符串置空
可获取的借书记录数不为零返回记录数,并将相关信息记录在引用字符串中
数据库数据异常返回异常指示,给出警告
数据库连接异常返回异常指示,给出警告
4.4还书信息记录模块
●功能
记录本次还书操作的信息,包括图书书名,超期天数。
●输入项目
包含相关信息(书名、借书日期)的查询结果集(公共变量)
●输出项目
更新后的格式化还书信息(公共变量)
●程序逻辑
WHILE传入的查询结果集未读至文件尾
读取书名,置入还书信息字符串
读取借书日期
计算超期天数
置入还书信息字符串
光标移至下一个记录
●接口
调用形式:
voidSaveRBInf(void)
传入参数:
无
传出参数:
无
●存储分配
局部变量:
类型转换vtemp_variant_t查询结果类型转换
strExcessCString超期天数类型转换
计算变量oleDateCOleDateTime借书日期
oleExcessCOleDateTimeSpan超期天数
intExcessint超期天数
引用的全局变量:
m_pRecords_RecordsetPtr读(关闭记录集)
m_strRBInfCString更新
m_MaxLBDayint读
●测试要点
查询结果集正常
查询结果集异常
4.5还书登记模块
●功能
登记还书(删除借书记录,更新图书状态)
●输入项目
图书书号(输入参数)
●输出项目
操作成功/失败标志(返回值)
●程序逻辑
生成数据库操作命令(更新)
IF操作成功
生成数据库操作命令(删除)
IF操作成功
返回”操作成功”
返回”操作失败”
●接口
调用形式:
BOOLDelBlrecord(constlongBookID)
传入参数:
BookID(整型常量)返还图书书号
传出参数:
操作成功/失败标志(BOOL值)
●存储分配
局部变量:
操作参数vtCommand_variant_t操作命令
vRecsAffected_variant_t操作影响参数
类型转换strCommandCString操作命令类型转换
引用的全局变量:
m_pConnection_ConnectionPtr使用
●测试要点
数据库连接正常
图书书号合法
图书书号不合法
数据库连接异常
5图书查询模块
●功能
根据给定查询条件,查询数据库,获取图书信息
●输入项目
查询方式指定以及查询关键字
●输出项目
查询结果列表显示
●
初始化对话框
程序逻辑
查询
生成查询命令
查询数据库
显示结果列表
退出
●接口
调用形式:
CBookQuiryDlg:
:
QuiryBook(const_ConnectionPtrpConnection)
传入参数:
pConnection(数据库连接指针)
传出参数:
无
●存储分配
内部变量:
数据库m_pBooks_RecordsetPtr数据库查询结果集指针
用户界面m_strAuthorCString作者关键字
m_bAuthorBOOL作者查询选择状态
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查询连接
类型转换strQuiryCString查询命令类型转换
●测试要点
数据库连接正常
数据库数据正常获得正确的查询结果并显示
数据库数据异常给出警告
数据库连接异常给出警告
5.1查询命令生成模块
●功能
根据用户界面的输入生成查询命令
●输入项目
用户界面的输入值(公共变量)
●输出项目
查询命令(返回值)
●程序逻辑
读取各复选框的值
IF选中AND关键字不为空
生成查询条件
生成数据库查询命令
返回生成的查询命令
●接口
调用形式:
CStringGetQuiryString()
传入参数:
无
传出参数:
查询命令(CString)
●存储分配
局部变量:
strQuiryCString查询命令字符串
strTempCString临时字符串
●测试要点
用户输入合理
用户输入不合理(没有指定查询方式,没有输入查询关键字)
5.2数据库查询模块
●功能
根据输入的查询命令查询数据库
●输入项目
查询命令(传入参数)
●输出项目
数据库查询结果(返回值);数据库查询结果集(公共变量)
●程序逻辑
查询数据库
IF操作成功
返回”操作成功”
ELSE
返回”操作失败”
●接口
调用形式:
BOOLDBQuiry(constCStringstrQuiry)
传入参数:
strQuiry(字符串型常量)数据库查询命令
传出参数:
查询操作成功/失败标志(BOOL值)
●存储分配
局部变量:
查询参数vtQuiry_varaint_t数据库查询命令
vRecsAffected_variant_t数据库查询连接
引用的全局变量:
m_pConnection_ConnectionPtr使用
m_pBooks_RecordsetPtr读
●测试要点
数据库连接正常
输入查询命令合法
获取非空查询结果集返回“真”返回值,查询结果保存在查询结果集中
获取空查询结果集返回“真”返回值,查询结果集为空
输入查询命令不合法返回“假”返回值,查询结果集指针指向空,给出警告
数据库连接异常
5.3数据显示模块
●功能
按一定格式列表显示查询结果,并根据用户要求重排列
●输入项目
查询结果集(传入参数);输出项名称(传入参数);
查询结果表参数,包括行数、列数(传入参数)
●输出项目
用户界面显示
●程序逻辑
初始化(设置行数、列数、列名称,载入输入的查询结果集内的数据)
显示列表
WHILE用户未输入“返回”
IF用户拖动列的标题栏
重新设置列的位置
排序
刷新显示
返
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 例子 详细 设计 说明书