优质文档详细设计说明书范例word范文 18页.docx
《优质文档详细设计说明书范例word范文 18页.docx》由会员分享,可在线阅读,更多相关《优质文档详细设计说明书范例word范文 18页.docx(14页珍藏版)》请在冰豆网上搜索。
优质文档详细设计说明书范例word范文18页
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!
==本文为word格式,下载后可方便编辑和修改!
==
详细设计说明书范例
篇一:
[例子]详细设计说明书
详细设计说明书
1引言
1.1编写目的
根据《需求规格说明书》、《概要设计说明书》,在仔细考虑讨论之后,我们对《图书管理系统》软件的功能划分、数据结构、软件总体结构的实现有了进一步的想法。
我们将这些想法记录下来,作为详细设计说明书,为进一步设计软件、编写代码打下基础。
1.2背景
随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。
在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。
对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。
本图书管理系统软件是一套功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。
该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的DOS、WINDOWS系列等操作系统上使用
1.3定义
文档中采用的专门术语的定义及缩略词简要如下:
LMS:
LibraryManagementSystem,图书管理系统
1.4参考资料
[1]费贤举关于图书管理系统的批文[2]郑人杰,殷人昆,陶永雷。
《实用软件工程》(第二版)。
北京:
清华大学出版社,1997。
[3]王立福,麻志毅。
《软件工程》(第二版)。
北京:
北京大学出版社,201X。
[4]唐学忠,王文。
《VisualBasic程序设计教程》北京:
中国电力出版社,201X。
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值)?
程序逻辑
篇二:
软件详细设计说明书实例
软件详细设计说明书实例
201X年5月
1引言..................................................................................................................................................................2
1.1
1.2
1.3
1.4
2编写目的...............................................................................................................................................2项目背景...............................................................................................................................................2定义.......................................................................................................................................................2参考资料...............................................................................................................................................3总体设计.........................................................................................................................................................3
2.1
2.2需求概述...............................................................................................................................................3软件结构...............................................................................................................................................4
3程序描述.........................................................................................................................................................6
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.1001登陆模块.........................................................................................................................................602管理模块...................................................................................................错误!
未定义书签。
031图书信息查询模块...............................................................................错误!
未定义书签。
032学生信息查询模块...............................................................................错误!
未定义书签。
021入库管理模块........................................................................................错误!
未定义书签。
022学生借书模块........................................................................................错误!
未定义书签。
023学生还书模块........................................................................................错误!
未定义书签。
024图书注销模块........................................................................................错误!
未定义书签。
接口设计.........................................................................................................错误!
未定义书签。
测试要点.......................................................................................................................................43
文档名称:
详细设计规格说明书
项目名称:
图书馆管理系统
项目负责人:
陈新光
编写TEST_____年_____月_____日
校对所有小组成员_____年_____月_____日
审核所有小组成员_____年_____月_____日
批准XXX_____年_____月_____日
开发单位__________________________________________
组员:
TEST1TEST2TEST3
1引言
1.1编写目的
图书管理系统详细设计是设计的第二个阶段,这个阶段的主要任务是在图书管理系统概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。
概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。
详细设计则要解决如何实现各个模块的内部功能,即模块设计。
具体的说,模块设计就是要为已经产生的图书管理各子系统设计详细的算法。
但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接翻译、转化为用某种程序设计语言书写的程序。
1.2项目背景
根据XX学校希望能够充分利用现代科技来提高图书管理的效率,在原有的办公系统基础上进行扩展,将一些可以用计算机来管理的都进行计算机化,使得图书馆管理人员工作更加方便,工作效率也更加的高。
1.3定义
?
Mysql:
数据库管理软件
?
DBMS:
数据库管理系统
?
Windows201X/201X/XP:
运行环境
?
JSP:
软件开发语言
?
Myeclipse:
开发工具
1.4参考资料
《软件工程导论——第5版》张海藩编著清华大学出版社
《实用软件工程》LeszekA.MaciaszekBrucLeeLiong著机械工业出版社
2总体设计
2.1需求概述
按照需求分析文档中的规格要求,使用条形码扫描器进书、借书、还书,使得信息传递准确、流畅。
同时,系统最大限度地实现易安装,易维护性,易操作性,运行稳定,安全可靠。
篇三:
详细设计说明书真正例子
详细设计说明书
1.引言
1.1编写目的
本详细设计说明书是针对网络信息体系结构的课程作业而编写。
目的是对该项目进行详细设计,在概要设计的基础上进一步明确系统结构,详细地介绍系统的各个模块,为进行后面的实现和测试作准备。
本详细设计说明书的预期读者为本项目小组的成员以及对该系统感兴趣,在以后想对系统进行扩展和维护的人员。
2.系统的结构
?
ui:
系统界面部分,负责接受用户输入,显示系统输出,负责其他模块功能的协调调用,
并含有站内搜索功能,即在用户指定的已打开的ftp站点中搜索用户需要的资源。
ui部分调用common部分的功能读取xml文件中保存的界面元素属性信息,用户最近访问过的10个ftp信息,用户选择的下载的ftp内容列表及其他需要通过xml文件保存的信息。
?
client:
实现ftp客户端的功能,ftp连接,ftp上传及下载:
上传或下载用户指定的
资源,并返回相应的信息。
?
search:
资源实时检索部分,根据用户输入的资源名称关键字,资源类型和选择的检索
方式检索用户需要的资源,并验证资源的可用性,返回可用资源及其大小,速度等相关信息。
?
preview:
资源预览部分,显示用户选择的资源的部分内容,以使用户决定是否需要该
资源。
preview部分调用common部分读取属性文件的内容亦显示预览资源内容的显示格式。
3.模块1(ui)设计说明
3.1模块描述
实现用户界面的包,含有11个文件51个类,是本系统中最复杂的代码。
3.2功能
负责接受用户输入,显示系统输出,其他模块功能的协调调用,并含有站内搜索功能,即在用户指定的已打开的ftp站点中搜索用户需要的资源。
3.3交互的模块
client,search,preview,common。
3.4模块设计
该模块中的主要文件,文件中包含的主要类及其功能和与其它包的交互如下:
?
MainFrame.java:
MainFrame是含有主函数的类,也是lyra客户端开始执行的类,它先后进行资源的初始化,显示主界面等工作,根据屏幕大小设置界面大小,设置界面的观感。
?
FtpFrame_AboutBox.java:
显示关于窗口的类,当用户点击帮助菜单中的关于菜单
项时会弹出关于对话框。
?
Tools.java:
FileTools是文件操作辅助类,可以实现文件的递归删除等。
?
XMLController.java:
JDOMTes是操作xml文件的类,用JDOM来操作xml文件,
实现的功能有:
(1)保存ftp服务器的文件列表(站内搜索时使用),递归的从ftp服务器读取列表,并存入一个xml文件中(文件的命名方法是:
ip+用户名.xml);以目录树的形式保存。
(2)根据文件名在文件中查找文件,站内搜索时使用。
(3)保存ftp服务器的信息:
ip,端口(默认端口21不保存),用户名(默认anonymous不保存),密码,最多存10个;存在resource\settings\serversinfor.xml文件中。
(4)读取已存储的ftp服务器信息。
(5)从type.xml读取搜索的类型。
?
Constants.java:
放置系统运行时使用的一些常量,initcontent()函数对所有常量进行
初始化,这个函数在MainFrame中被调用一次。
iconHashMap是hash表,用于存放文件的系统图标。
?
CustomizedController.java:
包含自定义的控件类,java中的控件可能不能满足需求,
需要自己定义某些属性。
这些控件会在创建界面时使用。
其中含有的类有:
(1)CustomizedJTable是表格类,设置表格的某些属性,如字体等。
(2)CustomizedTableCellRenderer是表格单元格绘制器类,主要用于显示文件的系统图标,和文件名。
(3)LeftPanel类的父类是JTabbedPane,用户显示主窗口左边的面板。
(4)RightPanel类的父类是JPanel,用户显示右边的主题部分,包括右上边的搜索及服务
器选项,和中间的显示服务器文件的TabbedPane。
.
(5)BottomPanel类是右下放显示下载和服务器信息的JTabbedPane。
(6)CustomizedJButton是定义按钮类,更改了按钮的字体,java本身默认的字体不好看。
(7)CustomizedTableModel是表格类,实现单元格的不可编辑。
(8)CustomizedTableCellRenderer_Remote类是表格绘制器,在远程文件浏览器RemoteFilesPanel使用,用于显示文件名和文件图标。
(9)FontTableCellRenderer类是表格单元格绘制器,主要功能是设置字体。
(10)FontListCellRenderer类是下拉列表框单元格绘制器,主要用于设置字体。
(11)CustomizedJLabel类是自定义标签类,重新设置了标签的字体。
(12)CustomizedJTextField类是自定义文本框类,主要用于设置文本框的显示属性。
(13)CustomizedJMenu类是自定义菜单类,重新设置了菜单的字体。
(14)CustomizedJMenuItem类是自定义菜单项类,重新设置了菜单的字体。
(15)CustomizedListCellRenderer类是JComboBox即组合框单元格绘制器,用于在本地路径选择的下拉列表中显示磁盘图标。
?
SearchResultReceiver.java,SearchResultReceiver是一个接口,主要用于返回搜索结果。
搜索完成后调用接口中的函数通知调用者。
其中主要有两个函数:
(1)OnSearchFinished(String[]keywords,ArrayList[]resultset);result是一个10维的数组表result[10],result[i]是由类型为i的资源组成的数组。
i:
0-9,和类型列表框中的顺序一致。
(2)OnSearchFinished(String[]keywords,ArrayListresultset);不分类型,将所有资源放在一个数组表中。
?
FtpFrame.java:
FtpFrame是程序主窗口类,类型为JFrame,是由三个分割窗口JSplitPane
构成的。
jSplitPane_Left是左边的分割窗口,水平分割条上边显示本地文件框,下边是预览框;jSplitPane_Right是右边的分割窗口,水平分割条上边是服务器选项和ftp服务器文件显示的窗口,下边是下载和服务器信息显示窗口;
jSplitPane_Whole是整体的分割窗口,垂直分割条,左边是jSplitPane_Lef,右边是jSplitPane_Right。
FtpFrame把LeftPanel,RightPanel,BottomPanel,PreviewWrapperPanel这几部分安装在相应的分割窗格中;LeftPanel,RightPanel,BottomPanel是在CustomizedController.Java中定义的,PreviewWrapperPanel是在Preview包中定义的。
?
LeftPanelCtrl.java:
LocalFilesPanel是本地文件面板,用表格来显示本地文件的信
息。
上边是组合框,显示了磁盘分区通过这里可以改变根目录。
表格中显示了文件的信息,包括文件名,文件的系统图标,大小,最近修改日期,属性等。
选中一个文件后可以执行上载和删除操作。
文件夹会递归的删除。
GetCurrentPath()函数返回当前的路径。
Disp