详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。
传统软件开发方法的详细设计主要是用结构化程序设计法。详细设计的表示工具有图形工具和语言工具。图形工具有程序流程图、
PAD
(
Problem Analysis Diagram
)图、
NS
(由
Nassi
和
Shneidermen
开发,简称
NS
)图。语言工具有伪码和
PDL
(
Program Design Language
)等。
主要任务:
1
.为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;
2
.确定每一模块使用的数据结构;
3
.确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。
在详细设计结束时,应该把上述结果写入详细设计说明书,并且通过复审形成正式文档。交付给下一阶段(编码阶段)的工作依据。
4
.要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期望输出等内容。
详细设计的工具:
1
.图形工具
利用图形工具可以把过程的细节用图形描述出来。
2
.表格工具
可以用一张表来描述过程的细节,在这张表中列出了各种可能的操作和相应的条件。
3
.语言工具
用某种高级语言(称之为伪码)来描述过程的细节。