详细设计说明书

详细设计说明书
详细设计说明书

疲劳驾驶检测系统详细设计说明书

2015年3月13日

目录

1. 引言 (3)

1.1 编写目的 (3)

1.2 背景 (3)

1.3 定义 (3)

1.4 参考资料 (4)

2. 程序系统的结构 (4)

3. 详细设计 (6)

3.1 程序简单描述 (7)

3.2 整体结构 (7)

3.3 性能 (7)

3.4 输入输出项 (8)

3.5 算法 (8)

3.5.1 人脸检测算法 (8)

3.5.2 OTUS最佳阈值图像分割法 (9)

3.5.3 ROBERT CROSS边缘检测 (9)

3.6 主要类的说明以及XML配置文件 (10)

3.7 存储分配 (16)

3.8 注释 (16)

3.9 测试计划 (17)

3.10 尚未解决的问题 (17)

1.引言

1.1 编写目的

此说明书在概要设计的基础上,对基于人眼的疲劳检测终端各个模块,程序分别进行了实现层面上的要求和说明。在以下的详细设计报告中将对在本阶段中队系统所做的所有详细设计进行说明。

主要工作包括:根据软件需求说明书所描述的数据,功能,运行,性能,需求,并依照概要设计说明书所确定的处理流程、总体设计、软件系统的结构设计,逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等)。

软件开发小组的产品实现成员应该阅读和参考此说明书,从而进行代码的编写,测试。

1.2 背景

说明:

A、待开发系统的名称:不规范驾驶检测系统

B、开发者:孙艳强陈浩倪四飞

用户:驾驶员或者是汽车厂商以及交通管理部门

C、项目开发背景:学生工程实践选题

定义

1、android-opencv:这是一个在android操作系统上的Opencv开源库,本系统的开发中用到了该库,加快了开发的效率,降低了开发成本。

2、系统:待开发的不规范驾驶检测系统

参考资料

《软件工程概论》

《软件文档编写》

《android应用程序设计》

《java基础》

《opencv教程》

《andorid-opencv手册—网页版》

2.程序系统的结构

本待开发的系统采用的软件层次框图如下图所示:

Android应用程序

Android-OpenCV库

Android OS

硬件平台

在前期的方案确定的时候,采用的是基于android操作系统的OpencV 开源库,因此只需要将编译好的OpenCV库导入到开发环境中即可进行开发,因此本系统的主要开发工作集中在应用程序的设计部分。

在项目的概要设计中,确定的具体的软件的主流程方案如下图所示。

开始

打开摄像头

有摄像头

获取一帧图像

图像预处理

人脸定位

人眼和嘴巴定位

状态分析

没达到

计数

达到

超出阈值

给予警示

结束

在人眼状态的判断过程中具体的步骤如下图所示。

人脸检测

人脸定位

二值化

边缘检测

闭合

3.详细设计

为了完成系统所需要的功能,我们设计了一个类来实现:FdActivity 说明如下:

FdActivity:该类是作为程序的主界面类,在该类中,将surfaceview 占据了整个界面,在该类中主要重写了onCreate()、onPause()、onDestroy()、onCameraViewStarted()、onCameraViewStopped()、onCameraFrame()、onCreateOptionsMenu()、onOptionsItemSelected()、

函数具体的分析参见程序的具体描述部分;

onCameraFrame()函数:在系统实时监测驾驶员的头像数据的时候,需要显示当前的帧率,该类就是负责帧率的显示的类,该类中,主要是实现了以下的几个功能:

从一帧图片中计算人眼的区域

绘制人眼的区域

3.1 程序简单描述

打开摄像头,实时采集脸部的帧数据,图像进行灰度变化,首先进行预处理,将背景噪声以及图像中的突刺变化去除,防止影响后面的图形计算精度;利用Opencv中的已有函数接口进行人脸和人眼的定位,在将人眼的轮廓提取出来,这里面的用的方法:Otus和Robert Cross边缘检测。利用最大垂直距离进行是否闭合的判定,组后再利用PERCLOS原理进行疲劳状态的判断。

3.2 整体结构

见概要设计说明书

3.3 性能

实时性:能基本实现实时性的要求

对人脸的判断准确度:95%以上

眼睛的判断准确度:90%以上

疲劳识别:80%以上

3.4 输入输出项

输入的数据是:摄像头采集的实时数据

输出是:预警声音

3.5 算法

人脸检测算法

传统的检测人脸分方法有很多种:基于肤色的分离、基于统计模型、或者是PCA方法,但是这些方法识别的时间较长,并且准确率不高,在本文中,采用的是OpenCV中非常成功的基于Haar-Like特征的Adaboost 算法。人脸检测分成两步:首先是训练过程产生分类器文件,再是利用分类器进行人脸检测过程[4]。训练过程:(1)准备正负样本,正样本是需要检测的目标(正脸),负样本是不含正样本特征的任何目标;(2)利用CreatSample程序准备正样本集;(3)利用Haar-Training程序训练得到分类器特征xml文件。检测过程:利用android-OpenCV中的分类器构建函数去加载该特征xml文件,利用分类器本身的成员函数[4,5]:detectMultiScale(Mat image,List objects, double scaleFactor, int minNeighbors, int flags, Size minSize)对指定的image进行检测。其函数各参数的意义:

Image:需要进行目标检测的区域.

Object:将检测到的目标标记在矩形框中.

scaleFactor:代表图像的缩放因子.

Minneighbors:指定每个候选矩阵至少包含的邻近元素个数.

Flag:标志位,默认为0.

Minsize :最小的检测窗口,如果该值设置过小,将会导致图像的计算量较大。

Otus 最佳阈值图像分割法

当系统成功标记处人眼部的区域后,需要进行二值化处理,从而实现眼部提取。但是由于图像的灰度值对光线很敏感,固定的阈值势必无法满足要求,本文采用的是基于Otsu 算法的二值化处理。

Otsu 算法,又被称为最大类间法,是一种自适应的图像分割技术,它是根据最小二乘原理推导出来的,根据光线强度的不同,阈值会随之变化,能得到最优的阈值[7],其基本原理如下:将直方图在某一阈值进行分割成两组,称为“前景”和“背景”,当被分成的两组的方差最大时候,该阈值就是最佳分割阈值。方差是灰度均匀分布的一种度量,值越大,说明构成图像两部分的差别越大,当部分“前景”错分为“背景”或者“背景”错分为“前景”的时候,都会导致方差变小,因此最大类间法意味着错分的概率最小。对于图像直方图,不妨假设其灰度级为0~m ,像素点个数为N ,针对某一个分割阈值t ,那么整个图像被分割成两部分,0~t 称为“前景”,而t+1~m 称为“背景”。“前景”的权重为Wf ,均值设为Mf ,方差为Df ,“背景”的权重为Wb ,均值设为Mb ,方差为Db 。图像的整体的方差公式如式3所式。

b b f f D W D W D **+= (3)

Otsu 的最终目的就是要求出D 的最大值来,从而得到最优的分割阈值。

Robert Cross 边缘检测

边缘是图像灰度值变化剧烈的位置,因此包含了大量的有用信息,常用的边缘检测包含很多,比如:Robert Cross 边缘检测,Canny 边缘检测,Prewitt 边缘检测,Sobel 检测。但是这些方法中唯有Robert Cross 计算方便简单、快速,容易在实时系统中实现,本系统中采用的就是该检测方法,根据任意一对互相垂直方向上像素点的差分来计算梯度的原理[8,9],采用

对角线方向相邻像素灰度差。如式4所示:

|

1)+j f(i, - j)1,+f(i | +

|1)+j 1,+f(i - j)f(i,| = j)G(i, (4)

G 代表的是计算之后的灰度值,而f 代表的是原始图像的灰度值。虽然Robert 检测速度很快,但是其缺点也是很明显的,对噪声敏感,并且边缘不是很光滑。

3.6 主要类的说明以及xml 配置文件

在上面的概述中,我们初步说明了在该系统的实现过程中需要实现的几个类。在这里我们详细的说明。

//思路:详细写出每个类的每个函数接口的作用以及用法

FdActivity :继承Activity ,实现了整个应用程序的界面,在该类中主要是定义了两个菜单选项,分别是mItemFace50,mItemFace40,这是选择图像的范围的两个选项,分别对应着50%和40%。 重写onCreate 函数,将fdview 作为界面加载的部分。

重写onCreateOptionsMenu ()函数,将两个菜单选项加入到菜单中; 重写onOptionsItemSelected 函数,当在屏幕上点击对应的item 时,将会自动进行item 的选择;

Init 函数接口是用来进行帧率计算的初始化函数,在该函数中主要实现获取当前的时间--getTickFrequency ,以及初始化绘制的文字的颜色信息(blue )以及大小(50)

Measure()函数是计算帧率的主要函数,获得当前的时间,减去在init函数中的初始时间,获得这段图像处理的时间,帧率的计算如下:

double fps = step * freq / (time - prevFrameTime)

再将其按照固定的格式进行输出:DecimalFormat("0.00");

Draw函数:就是指在画布上进行绘制的函数:

canvas.drawText(strfps, 20 + offsetx, 10 + 50 + offsety, paint)

抽象基类MyCvViewBase的设计:

这个类主要是为了下面的的具体的fdview类服务的,在该类中,我们是实现了surfaceholder.callback的接口以及runable接口,这样该类就可以作为一个单独的线程去运行了,从而实现了多线程的功能。

在该类的构造函数MyCvViewBase中,我们需要获得holder,添加callback 接口,进行FpsMeter的构建。

因为是实现了surfaceholder.callback的接口,因此需要重写三个函数,分别是surfacecreated,surfacechanged,surfacedestroyed。

三个函数中分别要实现的功能:

Surfacecreated()这个是在surface刚建立的时候就调用回调函数,在这个函数中,我们需要打开摄像头,在Android-OpenCV中,打开摄像头的接口的函数为mCamera=VideoCapture(ighgui.CV_CAP_ANDROID),检查是否打开,如果已经打开了,那么如下安排:

(new Thread(this)).start();

否则的话直接release掉camara。

Surfacechaged()函数,是在surfacecreated回调之后进行第一次调用,在这里我们主要是获得摄像头支持的size,然后我们不断选择最优的预览size,(这部分代码是在网上参考的)。将camara的设置成为:mCamera.set(Highgui.CV_CAP_PROP_FRAME_WIDTH, mFrameWidth); mCamera.set(Highgui.CV_CAP_PROP_FRAME_HEIGHT, mFrameHeight);

surfaceDestroyed()回调函数,就是当surface消失的时候进行回调的,因此,这里面我们需要做一些资源的释放的操作,比如说camera释放。

作为抽象的基类,我们为子类提供的接口是:

protected abstract Bitmap processFrame(int flag, VideoCapture capture); 该接口在子类中进行图像处理时详细的设计。(参见Fdview设计)

我们在该抽象基类中实现了runnable接口,因此还需要实现run函数;

首先需要完成对计量帧率的对象的初始化工作。

下面的就是不断的while循环,进行图像的处理工作:

首先从摄像头中回去实时的数据帧,该部分的接口是:mCamera.grab(),[mCameras是上面打开的摄像头]然后进行图像的处理processFrame,返回bmp对象,进行帧率的计量,锁住画布--mHolder.lockCanvas(),进行绘画,解锁画布。Bmp图像的回收。

Fdview类的设计:

该类主要是继承了抽象基类MyCvViewBase,因此主要在这一部分中,需要实现的接口函数,

protected Bitmap processFrame(int flag, VideoCapture capture)

构造函数中需要实现的是:获取xml文件资源context.getResources().openRawResource(R.raw.haarcascade_frontalface_alt);进行xml文件的读写,利用该xml文件进行分类器对象的初始化,分类器对象在OpenCV中是实现目标检测的对象,是由特征文件xml进行构造的。在该软件中需要定位人脸,人嘴和人眼,因此需要以下几个xml 文件,分别是:haarcascade_frontalface_alt.xml以及haarcascade_mcs_mouth.xml,haarcascade_righteye_2splits.xml,haarcascade_lefteye_2splits.xml文件,识别率高达95%以上,是OpenCV中自带的已经训练好的分类器特征文件。

重写surfacechanged()函数,主要是初始化了mat数据,mat可以看成是二维的保存图像的矩阵,是OpenCV中自带的数据格式。

实现processFrame接口函数,在该部分主要是关于图像处理的接口函数,是整个软件的核心函数:

首先是解析出摄像头的RGB以及灰度图像格式:capture.retrieve(mRgba,Highgui.CV_CAP_ANDROID_COLOR_FRAM

E_RGBA);

capture.retrieve(mGray,Highgui.CV_CAP_ANDROID_GREY_FRAME); 进行预处理过程:主要是进行直方图的均衡化过程,OpenCV自带接口:

Imgproc.equalizeHist();

利用OpenCV中自带的目标识别的函数mCascade.detectMultiScale[说明:mCascade是人脸的分类器对象]进行图像中目标的检测,我们首先需要定位到人脸部,并且将人脸在图像中标记出来。(绿色的标记)

如果人脸不是空的,那么开始将人脸设置成为感兴趣区域,在该区域中进行人眼的检测,,同样的还是有eyedectcade.detectMultiScale()[说明:eyedetectcade是人眼的分类器对象],如果眼睛找到了,我们将其中一只眼睛标记出来,用来进行图像处理,因为基本而言,人眼都是堆对称的,一只眼睛的状态可以代表人眼目前的状态,将该区域进行Otsu二值化处理,以及Robert Cross或者是canny边缘检测来提取人眼的轮廓,canny 在OpenCV中已经有固定的接口,而Otsu和Robert Cross检测需要自己去实现。子啊利用最大的垂直距离进行扫描,当最大的垂直距离小于40%的标记高度的时候判断是闭合状态。

附上关于Otsu以及Robert Cross边缘检测的代码:

public Mat Robert(Mat mat) {//robert cross边缘检测代码

int robbertNum = 0;

int row = mat.rows();

int col = mat.cols();

for (int i = 1; i < row - 1; i++) {

for (int j = 1; j < col - 2; j++) {

robbertNum = (int) Math.abs(mat.get(i, j)[0]

- mat.get(i + 1, j + 1)[0])

+ (int) Math.abs(mat.get(i + 1, j)[0]

- mat.get(i, j + 1)[0]);

if (robbertNum > 50) {

mat.put(i, j, 255);

} else {

mat.put(i, j, 0);

}

}

}

return mat;

}

public int Otsu(Mat mat) {//Otsu算法实现:

int[] histData = new int[256];

for (int i = 0; i < 256; i++) {

histData[i] = 0;// 初始化为0值

}

int total = mat.cols() * mat.rows();

for (int i = 0; i < mat.rows(); i++) {

for (int j = 0; j < mat.cols(); j++) {

int temp = (int) mat.get(i, j)[0];

histData[temp]++;

}

}

double sum = 0;

for (int t = 0; t < 256; t++) {

sum += t * histData[t];

}

double sumF = 0;

int WB = 0;

int WF = 0;

double varMax = 0;

int thresh = 0;

/*

* for (int i = 0;i< 256;i++) { System.out.print(i);

* System.out.println(":" + histData[i]); }

*/

for (int t = 0; t < 256; t++) {

WF += histData[t];

if (WF == 0)

continue;

WB = total - WF;

if (WB == 0)

break;

sumF += (double) (t * histData[t]);

double mF = sumF / WF;

double mB = (sum - sumF) / WB;

double varBetween = WB * WF * (mB - mF) * (mB - mF);

if (varBetween > varMax) {

varMax = varBetween;

thresh = t;

}

}

return thresh;

}

Xml文件的配置如下:

需要加入下面的权限:

3.7 存储分配

本程序在高级语言JA V A进行编码,直接的内存分配由JA V A运行时分配。

3.8 注释

在代码的适当出有中文代码注释。

3.9 测试计划

测试日期、测试人员安排请参考测试计划,测试用例的具体内容,请参考测试说明。

3.10 尚未解决的问题

1、目前实现的帧率较低,仅能达到6-7帧/s的水平,还远远达不到“实时”的要求,需要对算法进行优化。

2、在对人眼进行定位的时候,精度不够高,带着眼镜的时候会将眼镜的边框带入,影响最大的垂直距离的计算,从而影响到PERCLOS的计算精

度。

3、没能实现“自动跟踪”人眼,需要保持固定的距离才能进行人眼的定位。

(完整版)软件详细设计说明书模板

软件详细设计说明书 v1.0 200X年月XX日 修订历史记录

编制 审查 审核 批准 文档评审负责人:参加评审人员:

目录 1引言 (4) 1.1编写目的 (4) 1.2背景 (4) 1.3定义 (4) 1.4设计依据 (4) 2软件系统结构 (4) 2.1功能需求 (4) 2.2子模块划分 (4) 2.3子模块间关系 (4) 3公共数据结构 (4) 4程序设计说明 (5) 4.1程序1设计说明 (5) 4.1.1程序描述 (5) 4.1.2功能 (5) 4.1.3性能 (5) 4.1.4输入 (5) 4.1.5输出 (5) 4.1.6算法 (5) 4.1.7流程 (5) 4.2程序2设计说明 (5) 5模块重用说明 (5)

1引言 1.1编写目的 〖说明编写这份软件详细设计说明书的目的〗 1.2背景 〖说明待开发软件(子)系统的名称和此软件(子)系统所属大系统的名称; 说明任务的来源(开发背景和市场背景)等;该软件(子)系统与大系统中其他子系统的关系。〗 1.3定义 〖列出本文档中所用到的专门术语的定义和缩写词的原意〗 1.4设计依据 〖列出本文档所引用的有关设计依据(标题、文件编号、版本号、作者、发布日期、出版单位),包括本项目内部已编写的有效文档、出版刊物和国家标准或规范〗2软件系统结构 2.1功能需求 2.2子模块划分 〖说明本软件系统(或模块)的实现,即其内部的子模块划分(给出程序的名称和标识符)。建议以图形说明。〗 1.XXXXXXXX 2.XXXXXXXX 3.XXXXXXXX 4.XXXXXXXX 5.XXXXXXXX 6.XXXXXXXX 2.3子模块间关系 〖说明各子模块间的控制、顺序等耦合关系。〗 3公共数据结构 〖给出本软件系统使用的每一个公共数据结构的类型定义、存储方式,公共数据结构内各元素项的类型定义、初始取值、可能取值的范围及相应的物理含义。建议以类似C语言的数据说明格式来描述。〗

系统详细设计说明书

文档标题 文档编号BH-CSD-003 版本V1.0 密级商密 A 研发生产中心项目名称全科医生专家咨询系统 项目来源 系统详细设计说明书 (V1.0 ) 南京毗邻智慧医疗科技有限公司 二○一三年十一月

文档变更记录 序号变更( +/- )说明作者版本号日期批准1 创建Steve.ma V1.0 2013.11.15 1 引言.......................................................................... (3) 1.1 编写目 的 ......................................................................... (3) 1.2 背 景 .......................................................................... (3) 1.3 定 义 .......................................................................... (3) 1.4 参考资 料 ......................................................................... (4) 2 平台安全体系与程序系统的结构........................................................................................ (4) 2.1 平台安全体 系 ........................................................................ (4) 2.2 程序系统结 构 ........................................................................ (5) 3 程序设计说 明 ........................................................................... (5) 3.1 程序描 述 ......................................................................... (5) 功能及其接 口 ........................................................................

参考模板 - 软件详细设计规格说明书

附录D:图书管理系统软件设计规格说明书 图书管理系统 软件详细设计规格说明书 1.引言 1.1编写目的 软件设计的任务是将软件需求变换成为软件的具体设计方案。概要设计根据软件需求导出软件的体系结构;详细设计给出软件模块的内部过程描述。该文档是设计结果的详细描述,也是程序员编写程序的功能依据。 1.2项目背景 开发软件名称:图书管理系统。 项目开发者:××学院计算机科学系“图书管理系统”开发小组: ×××(×号,组长),×××(×号),…… 用户单位:××学院 1.3 定义 图书管理系统对于现代图书馆而言,是能否发挥其教学科研的作用的至关重要技术平台。对于读者和图书管理员来说,是能否方便快速获取信息的关键。所以,图书管理系统应该能够为用户提供充足的信息和快捷方便的操作手段。 1.4 参考资料 ?钱乐秋等,《软件工程》,青还大学出版社; ?张害藩,《软件工程导论》(第四版),清华大学出版社; ?王珊等,《数据库原理及设计》,清华大学出版社; ?赵池龙等,《软件工程实践教程》,电子工业出版社。 2.详细设计 2.1软件结构块层次图

图书管理系统 书籍管理读者管理借阅管理 书籍信息 管理出版社管理 书籍类别 管理注销管理读者类别 管理 读者信息 管理 还书管理借书管理 续借管理 过期罚款 管理 图书丢失 管理 2.2 模块详细设计 此处给出各用例的程序实现流程图,也可用下面的描述显示表述 (注,建议用程序流程图) 借书管理: A.输入读者编号; 提示超期未还的借阅记录; B.输入图书编号; If 选择“确定” then If 读者状态无效或改书“已”注销或已借书数>=可借书数then 给出相应提示; Else 添加一条借书记录; “图书信息表”中“现有库存量”-1; “读者信息表”中“已借书数量”+1; 提示执行情况; Endif 清空读者、图书编号等输入数据; Endif If 选择“重新输入”then 清空读者、图书编号等输入数据; Endif If 选择“退出”then 返回上一级界面; Endif 返回A.等待输入下一条;

项目详细设计说明书

详细设计说明书 当前版本号:1.0 最后更新日期:2011-11-25 作者:员工王 授权人:部门经理

版本记录:

目录 目录 (3) 1引言 (4) 1.1目的 (4) 1.2项目背景 (4) 1.3参考资料 (4) 1.4阅读对象 (4) 1.5术语解释 (4) 2设计概述 (5) 2.1任务 (5) 2.2运行环境概述 (5) 3系统详细设计 (6) 3.1系统总体框架 (6) 3.2功能模块详细设计 (6) 3.3用户界面详细设计 (6) 4存储设计 (7)

1引言 1.1目的 [阐述文档输出:描述本文档对下一环节工作的影响和作用。] 1.2项目背景 [应包括: 项目的委托单位、开发单位和主管部门 该软件系统与其他系统的关系。] 1.3参考资料 [本小节应完整列出此详细设计说明书中其他部分所引用的任何文档。列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括: 项目经核准的计划任务书、合同或上级机关的批文; 项目开发计划; 需求规格说明书; 概要设计说明书; 测试计划(初稿); 用户操作手册(初稿); 文档所引用的资料、采用的标准或规范。] 1.4阅读对象 [概述本文档的读者、用途。] 1.5术语解释 [必须提供全部需求的术语、缩写词及略语的定义,以便对本文档进行适当的解释。]

2设计概述 2.1任务 [说明详细设计的任务及详细设计所要达到的目标。] 2.2运行环境概述 [对本系统所赖于运行的硬件,包括操作系统、数据库系统、中间件、接口软件、可能的性能监控与分析等软件环境的描述,及配置要求。]

3系统详细设计 3.1系统总体框架 包含两个图:系统结构图系统运行框架 数据结构的定义 3.2功能模块详细设计 1.函数申明 ,详细说明函数的功能,参数和返回值 2.伪代码 /流程图 如: (1)短消息列表模块 For (i=0; i<短消息的条数; i++) { 打印输出 } 3.3用户界面详细设计 [规定人机界面的内容、界面风格、调用方式等,包括所谓的表单设计、报表设计和用户需要的打印输出等设计。此部分内容可能比较多。]

项目开发详细设计说明书(超好用模板)完整版

详细设计说明书XX有限公司

修订记录

目录 第一章概述........................................................................... 错误!未定义书签。 1.1.应用模块的目的....................................................... 错误!未定义书签。 1.2.应用模块总体描述................................................... 错误!未定义书签。 1.3.应用模块接口描述................................................... 错误!未定义书签。 1.4.假设条件................................................................... 错误!未定义书签。第二章设计模式(Design pattern) ................................... 错误!未定义书签。第三章类设计....................................................................... 错误!未定义书签。 3.1.分块类图................................................................... 错误!未定义书签。 <类图1> ............................................................ 错误!未定义书签。 <类图n> ............................................................ 错误!未定义书签。 3.2.整体继承关系........................................................... 错误!未定义书签。 3.3.类描述....................................................................... 错误!未定义书签。 <类名1> Class Description............................. 错误!未定义书签。 <类名n> Class Description............................. 错误!未定义书签。第四章交互图....................................................................... 错误!未定义书签。 4.1.<情景编号1: 情景名称> ........................................ 错误!未定义书签。 交互图................................................................ 错误!未定义书签。 例外情况及条件................................................ 错误!未定义书签。 4.2.<情景编号n: 情景名称> ........................................ 错误!未定义书签。第五章状态图....................................................................... 错误!未定义书签。 5.1.<状态图编号1:状态图名称> .................................. 错误!未定义书签。 5.2.<状态图编号n:状态图名称> .................................. 错误!未定义书签。第六章时序流程图............................................................... 错误!未定义书签。第七章用户界面设计说明................................................... 错误!未定义书签。 7.1.用户界面关系........................................................... 错误!未定义书签。 7.2.用户界面具体描述................................................... 错误!未定义书签。 <界面编号1:界面名称〉 ................................. 错误!未定义书签。 <界面编号N:界面名称〉 ................................ 错误!未定义书签。

网上购物系统——详细设计说明书

网上购物系统 详细设计说明书 1引言 1.1编写目的 电子商务是于九十年代初,在欧美兴起的一种全新的商业交易模式,它实现了交易的无纸化,效率化,自动化表现了网络最具魅力的地方,快速的交换信息,地理界限的模糊,这所有的一切也必将推动传统商业行为在网路时代的变革。随着电子商务,尤其是网上购物的发展,商品流通基础设施和配套行业的重点将会将对中国商品流通领域和整个经济发展带来种种影响,确实值得我们认真研究。特别是在全球经济一体化的国际背景下,在我们继续扩大国内流通领域对外开放的同时,深入研究这个问题,审慎制订相应的宏观对策,尤其重要和迫切。网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。 1.2.项目背景 软件名称:网上购物系统 开发者:宋金德,袁浩,王朝阳,许威 项目简介:本系统主要实现网上产品展示与在线定购及人员的管理, 一、不同身份有不同的权限功能(管理人员、注册用户、游客) 二、在线产品展示(分页显示) 三、在线定购 四、后台管理(用户管理、商品的管理) 1.3定义 Asp(active server pages)是微软公司推出的一种用以取代CGI的技术,基于目前绝大多数网站应用于windows平台,asp是一个位于windows服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式的web服务器应用程序以及EDI(电子数据交换)。 ADO:ActiveX Data Object, ActiveX 数据对象 SQL:Structured Query Language 1.4参考资料 [1] 谭浩强《动态网页制作ASP》北京电子工业出版社. 2001 [2] 彭万波《网页设计精彩实例》北京电子工业出版社.2002

软件工程-网上商城项目-详细设计说明书

1引言 (2) 编写目的 (2) 背景 (2) 定义 (2) 参考资料 (2) 2程序系统的结构 (2) 3程序1(标识符)设计说明 (2) 程序描述 (3) 功能 (3) 性能 (3) 输人项 (3) 输出项 (3) 算法 (3) 流程逻辑 (3) 接口 (3) 存储分配 (4) 注释设计 (4) 限制条件 (4) 测试计划 (4) 尚未解决的问题 (4) 4程序2(标识符)设计说明 (4)

详细设计说明书 1引言 编写目的 该阶段开发以正式进入软件的实际开发阶段,本阶段完成系统的详细设计并明确系统的数据结构与软件结构。 在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌。本详细设计说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。 软件开发小组的每一位参与开发成员应该阅读本说明,以清楚产品在技术方面的要求和实现策略,本手册将进行技术评审和技术的可行性检查。 背景 说明: A.软件系统的名称: BS网上商城系统 B.任务提出者: BS电子商务公司 开发者:LEI_SKY软件开发小组 C. 本系统将是一个独立的系统,目前所产生的输出都是独立的 本系统将使用MySql作为数据库的存储系统 定义 A. .B/S(Brower/Server) B. .IIS (Internet Information Server) C. .HTML(Hypertext Markup Language,超文本标记语言) D. .CSS(Cascading Style Sheets,层叠样式表单) E. .JSP(Java Server Pages) 参考资料 相关的文件包括: A. 内部文件《BS网上商城电子商务系统案例研究项目》

详细设计说明书模版

(项目名称)详细设计说明书 文件版本 编写日期 发布日期

文件修改记录 修改日期版本号变化状态修改内容修改人 *变化状态:C――创建,A——增加,M——修改,D——删除 文档审批信息 版本号提交人批准人批准日期发布日期备注

目录 1引言 (1) 1.1编写目的 (1) 1.2适用范围 (1) 1.3术语和缩写 (1) 1.4参考资料 (1) 2概述 (1) 2.1系统概述 (1) 2.2系统功能定义 (1) 3总体结构说明 (1) 3.1系统结构 (1) 3.1.1系统内外部关系图 (1) 3.1.2功能模块简要说明 (1) 3.1.3依赖的外部接口 (1) 3.1.4对外提供的接口 (1) 3.2模块程序构件结构图 (1) 4数据模型(Data Model)设计 (2) 4.1逻辑实体模型 (2) 4.1.1实体模型1 (2) 4.1.2实体模型2 (3) 4.2表结构(物理设计) (3) 4.2.1表汇总 (3) 4.2.2表1 (3) 4.2.3表2 (3) 4.3视图列表 (4) 5功能实现说明 (4) 5.1数据流类模块 (4) 5.1.1数据流程图 (4) 5.1.2实现说明 (4) 5.1.3程序设计 (4) 5.2业务处理类模块 (5) 5.2.1Object Model设计 (5)

5.2.2程序设计 (5) 6界面实现说明 (5) 6.1模块1 (5) 6.1.1总体界面结构(业务操作区)说明 (5) 6.1.2功能点1界面结构说明 (5) 6.1.3功能点2界面结构说明 (5) 6.2模块2 (6) 6.2.1总体界面结构(业务操作区)说明 (6) 6.2.2功能点1界面结构说明 (6) 6.2.3功能点2界面结构说明 (6)

系统软件详细设计说明书

系统软件详细设计说明书 1.引言 1.1编写目的 本详细设计说明书是针对网络信息体系结构的课程作业而编写。目的是对该项目进行详 细设计,在概要设计的基础上进一步明确系统结构,详细地介绍系统的各个模块,为进行后面的实现和测试作准备。本详细设计说明书的预期读者为本项目小组的成员以及对该系统感兴趣,在以后想对系统进行扩展和维护的人员。 2.系统的结构 ui :系统界面部分,负责接受用户输入,显示系统输出,负责其他模块功能的协调调用,并含有站内搜索功能,即在用户指定的已打开的ftp站点中搜索用户需要的资源。ui 部分调用common部分的功能读取xml文件中保存的界面元素属性信息,用户最近访问过的10个ftp信息,用户选择的下载的ftp内容列表及其他需要通过xml文件保存的信息。 client :实现ftp客户端的功能,ftp连接,ftp上传及下载:上传或下载用户指定的

资源,并返回相应的信息。 search: 资源实时检索部分,根据用户输入的资源名称关键字,资源类型和选择的检索方式检索用户需要的资源,并验证资源的可用性,返回可用资源及其大小,速度等相关信息。 preview :资源预览部分,显示用户选择的资源的部分内容,以使用户决定是否需要该资源。 preview部分调用comm on部分读取属性文件的内容亦显示预览资源内容的显示格式。 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 使用,用于显示文件名和文件图标。

需求分析说明书、详细设计说明书、概要设计说明书样例

以下是需求分析说明书、详细设计说明书、概要设计说明书样例 需要详细资料的去 https://www.360docs.net/doc/4c18765143.html,/BBS/view.asp?ID={CA9329C0-93C5-4417-9170-452FF61E8C DB}&page=1下载 XX系统概要设计说明书 目录 1. 文档介绍1 1.1 文档目的1 1.2 文档范围1 1.3 读者对象1 1.4 参考文献1 1.5 术语与缩写解释1 2. 系统概述2 3. 设计约束2 3.1需求约束2 3.2隐含约束2 4. 设计策略3 4.1扩展策略3

4.2复用策略3 4.3折衷策略3 5.系统总体结构3 5.1、系统总体结构3 5.2、子系统功能及接口4 6. 子系统的结构与功能5 6.1、TERMSERV 5 7. 功能需求追溯5 8. 环境的配置5 9.其它6 附录 6 A、与主机接口6 B、与终端接口6 1. 文档介绍 1.1 文档目的 编写该文档的目的在于从总体设计的角度明确xxxx系统的功能和处理模式,明确与银联的接口,使系

统开发人员和产品管理人员明确产品功能,可以有针对性的进行系统开发、测试、验收等各方面的工作。 1.2 文档范围 1.3 读者对象 该文档的读者为用户代表、软件分析人员、开发管理人员和测试人员。 1.4 参考文献 《xxxx系统需求说明书》 1.5 术语与缩写解释 无 2. 系统概述 XX系统是以触摸屏为主要交互工具,帮助用户以自助方式做业务查询。本系统的主要功能包括:话费 查询、新业务介绍、网点分布查询、自助终端分布查询、电信新闻、交易监控、设备维护和监控等。本系 统的设计目标是保证系统可以7*24小时安全、高效无故障运行;业务人员可以轻松完成设备和交易的监控 、管理工作;报表种类齐全,可以满足业务人员各种帐务需求。 3. 设计约束

项目开发详细设计说明书(超好用实用模板),完整版

实用文案 详细设计说明书 XX有限公司

修订记录

目录 第一章概述 (5) 1.1.应用模块的目的 (5) 1.2.应用模块总体描述 (5) 1.3.应用模块接口描述 (5) 1.4.假设条件 (5) 第二章设计模式(Design pattern) (6) 第三章类设计 (7) 3.1.分块类图 (8) 3.1.1.<类图1> 8 3.1.2.<类图n> 8 3.2.整体继承关系 (8) 3.3.类描述 (9) 3.3.1.<类名1> Class Description 9 3.3.2.<类名n> Class Description 10 第四章交互图 (12) 4.1.<情景编号1: 情景名称> (12) 4.1.1.交互图 12 4.1.2.例外情况及条件 13 4.2.<情景编号n: 情景名称> (13) 第五章状态图 (14) 5.1.<状态图编号1:状态图名称> (14)

5.2.<状态图编号n:状态图名称> (15) 第六章时序流程图 (16) 第七章用户界面设计说明 (18) 7.1.用户界面关系 (18) 7.2.用户界面具体描述 (18) 7.2.1.<界面编号1:界面名称〉 18 7.2.2.<界面编号N:界面名称〉 19 第八章测试考虑 (20) 第九章附录 (21) 9.1.附录A 代码举例 (21) 9.2.附录B 设计问题 (21) 9.2.1.<设计问题1> 21 9.2.2.<设计问题n> 21

第一章概述 1.1.应用模块的目的 请明确客户建立应用模块的目的。 1.2.应用模块总体描述 描述应用模块的总体功能。 1.3.应用模块接口描述 简要描述本应用模块的公共接口,具体接口会在相应的类中进行具体描述。建议采用列表的方式。 1.4.假设条件 列出在问题领域,项目方案及其它影响系统设计的可能方面内,应当成立的假设条件。包括系统的约束条件和应遵循的标准。

软件系统详细设计说明书模板

xxxxx系统详细设计说明书

版本历史

修改记录

目录 1引言 (5) 1.1编写目的 (5) 1.2背景 (5) 1.3参考资料 (5) 1.4术语定义及说明 (5) 2设计概述 (5) 2.1任务和目标 (5) 2.1.1需求概述 (5) 2.1.2运行环境概述 (5) 2.1.3条件与限制 (6) 2.1.4详细设计方法和工具 (6) 3系统详细需求分析 (6) 3.1详细需求分析 (6) 3.2详细系统运行环境及限制条件分析接口需求分析 (6) 4总体方案确认 (6) 4.1系统总体结构确认 (6) 4.2系统详细界面划分 (7) 4.2.1应用系统与支撑系统的详细界面划分 (7) 4.2.2系统内部详细界面划分 (7) 5系统详细设计 (7) 5.1系统程序代码架构设计 (7) 5.1.1UI(User Interface)用户界面表示层 (7) 5.1.2BLL(Business Logic Layer)业务逻辑层 (8) 5.1.3DAL(Data Access Layer)数据访问层 (8) 5.1.4Common类库 (8) 5.1.5Entity Class实体类 (8) 5.2系统结构设计及子系统划分 (8) 5.3系统功能模块详细设计 (9) 5.3.1XX子系统 (9) .1XX模块 (9) 列表和分页 (9) 创建XX (9) .2XX模块 (9) XX列表 (9) XX修改 (9) 5.3.2XX子系统 (9) 5.3.6.1用户管理模块 (9) 5.3.6.2角色管理模块 (14) 5.3.6.3系统设置模块 (14) 5.3.6.4系统登录注销模块 (14) 5.4系统界面详细设计 (14) 5.4.1外部界面设计 (14) 5.4.2内部界面设计 (14) 5.4.3用户界面设计 (14) 6数据库系统设计 (14) 6.1设计要求 (14) 6.2信息模型设计 (14) 6.3数据库设计 (14) 6.3.1设计依据 (14)

详细设计说明书书真正例子

详细设计说明书 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,用户显示右边的主题部分,包括右上边的搜索及服务

系统详细设计说明书

XXXXXX XXXXXXXXXXXXX 项目名称 详细设计说明书 XXX公司 二〇XX年X月

文档修改记录

目录 第一章引言............................................. 错误!未定义书签。 目的............................................. 错误!未定义书签。 背景............................................. 错误!未定义书签。 术语定义......................................... 错误!未定义书签。 参考资料......................................... 错误!未定义书签。第二章系统概述......................................... 错误!未定义书签。第三章程序1设计说明................................... 错误!未定义书签。 程序描述......................................... 错误!未定义书签。 模块架构图 ................................... 错误!未定义书签。 功能 ......................................... 错误!未定义书签。 类图 ......................................... 错误!未定义书签。 增加功能(功能点) ........................... 错误!未定义书签。 程序流程 ..................................... 错误!未定义书签。 测试和限制条件 ............................... 错误!未定义书签。 备注 ......................................... 错误!未定义书签。第四章程序2设计说明................................... 错误!未定义书签。第五章公用接口程序说明................................. 错误!未定义书签。 全局变量......................................... 错误!未定义书签。 公用界面或接口................................... 错误!未定义书签。 公用方法和过程................................... 错误!未定义书签。第六章附件............................................. 错误!未定义书签。详细设计评审意见.......................................... 错误!未定义书签。

软件开发-项目详细设计规格说明书

1引言 2 1.1编写目的 2 1.2背景 2 1.3定义 2 1.4参考资料 2 2程序系统的结构 2 3程序1(标识符)设计说明 2 3.1程序描述 3 3.2功能 3 3.3性能 3 3.4输人项 3 3.5输出项 3 3.6算法 3 3.7流程逻辑 3 3.8接口 3 3.9存储分配 4 3.10注释设计 4 3.11限制条件 4 3.12测试计划 4 3.13尚未解决的问题 4 4程序2(标识符)设计说明 4

项目详细设计规格说明书 1引言 1.1编写目的 1.2背景 待开发的软件系统的名称: 提出者: 开发者: 用户: 计算机中心: 该软件系统同其他系统或其他机构的基本的相互来往关系:根据本系统内部的各职能部门的要求,方便快捷的实现同其他机构软件有机连接,使资源最大化利用。 1.3定义 提示:列出本文件中用到的专门术语的定义和英文缩写的原词组。如: 1.4参考资料 列出有关的参考资料,如: 本文件中各处引用的文件、资料,包括所要用到的软件开发标准: 1. 实训教学PPT及相关ERP项目文档; 2. 软件开发标准按照机房配置统一标准。

2程序系统的结构 用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。 3程序1(标识符)设计说明 3.1程序描述 3.2功能 3.3性能 精度高 灵活性强 时间特性好 3.4输人项 给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。数量和频度、输入媒体、输入数据的来源和安全保密条件等等。

3.5输出项 3.6算法 3.7流程逻辑 3.8接口 3.9存储分配 3.10注释设计 模块首部的注释; 各分枝点处的注释; 各变量的功能、范围、缺省条件等所加的注释; 使用的逻辑、方法所加的注释等等。 3.11限制条件 a.所建议系统的运行寿命的最小值的限制; b.进行系统方案选择比较的时间限制; c.经费、投资方面的来源和限制; d.法律和政策方面的限制; e.硬件、软件、运行环境和开发环境方面的条件和限制;f.可利用的信息和资源; g.根据软件行业进步改革,系统具有投入使用的最晚时间

软件项目详细设计说明书

中国广东核电集团 CHINA GUANGDONG NUCLEAR POWER GROUP 记录文件 项目编号 项目名称 CGN-IT-C3-A01-01 软件项目章程 版本编写审核审定批准生效时间A/0 注:如无受控文件标识(蓝色印章)则为非有效版本,以受控文件规定为准。

修改记录页

为具体内容,或删除。文件提交时不得再含有这些内容。】

目录 1 引言 (5) 1.1 编写目的 (5) 1.2 背景 (5) 1.3 术语与缩写解释 (5) 1.4 参考资料 (5) 2 模块命名规则 (6) 3 程序系统的组织结构 (6) 3.1 子系统划分 (6) 3.2 模块划分 (6) 3.3 程序与功能需求、系统模块间的关系 (6) 4 程序1(标识符)设计说明 (6) 4.1 程序描述 (7) 4.2 功能 (7) 4.3 性能 (7) 4.4 输人项 (7) 4.5 输出项 (7) 4.6 算法 (8) 4.7 流程逻辑 (8) 4.8 接口 (8) 4.9 存储分配 (8) 4.10 注释设计 (8) 4.11 限制条件 (9) 4.12 尚未解决的问题 (9) 5 程序2(标识符)设计说明 (9)

1引言 1.1编写目的 【给出项目详细设计说明书的编写目的,同时指明读者对象。】 1.2背景 【说明: a.待开发软件系统的名称; b.本项目的任务提出者、开发者、用户和运行该程序系统的计算中心。】 1.3术语与缩写解释 【列出本文件中用到的专门术语的定义和外文首字母缩写的原词组。】 1.4参考资料 【提示:可包括:(1)本项目经核准的计划任务书、需求规格说明书、合同、项目设计概要说明书或上级机关的批文;(2)本文档所引用的资料、规范等,列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源。】

详细设计说明书规范

详细设计说明书规范

目录 1.引言 (3) 1.1编写目的 (3) 1.2项目背景 (3) 1.3术语说明 (3) 1.4参考资料 (3) 2.软件结构 (4) 2.1 需求概述 (4) 2.2 软件结构 (4) 3.程序设计说明 (5) 3.1模块描述 (5) 3.2 功能 (5) 3.3 性能 (5) 3.4 输入项 (5) 3.5 输出项 (6) 3.6 算法 (6) 3.7 程序逻辑 (6) 3.8 接口 (7) 3.9 存储分配 (7) 3.10注释设计 (7) 3.11限制条件 (8) 3.12 测试要点 (8) 1.13尚未解决的问题 (8)

1.引言 1.1 编写目的 ? 说明编写详细设计说明书的目的; ? 指名详细设计说明书的读者对象。 1.2 项目背景 ? 对开发软件的名称; ? 列出项目的任务提出者、开发者、以及与本项目开展工作直接有关的人员和用户。 1.3 术语说明 ? 列出本文档中所用到的专门术语的定义和英文缩写词的原文。 1.4 参考资料 列举编写软件详细设计说明时所参考的资料,主要包

括: ? 项目经核准的计划任务书、合同或批文; ? 引用的软件开发标准或规范; ? 项目开发计划; ? 需求规格说明; ? 概要规格说明书; ? 测试计划(初稿); ? 用户操作手册(初稿); ? 文档中引用的其它资料等。 对每一项应该给出详细的信息,包括标题、作者、版本号、发表日期、出版单位或资料来源。 2.软件结构 2.1 需求概述 建树本软件的主要功能。 2.2 软件结构 用一系列图标列出本软件系统内的每个程序(包括每个模块和子程序)的名称、标识符,以及他们之间的层次结构关系。图标常采用系统流程图的层次结构来

相关文档
最新文档