详细设计
一、详细设计的任务
详细设计的目的是为软件结构图(SC图或HC图)中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。
这一阶段的主要任务:
1.为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;
2.确定每一模块使用的数据结构;
3.确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。
在详细设计结束时,应该把上述结果写入详细设计说明书,并且通过复审形成正式文档。交付给下一阶段(编码阶段)的工作依据。
4.要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期望输出等内容。
二、详细设计的原则
1.由于详细设计的蓝图是给人看的,所以模块的逻辑描述要清晰易读、正确可靠。
2.采用结构化设计方法,改善控制结构,降低程序的复杂程度,从而提高程序的可读性、可测试性、可维护性。其基本内容归纳为如下几点。
(1) 程序语言中应尽量少用GOTO语句,以确保程序结构的独立性。
(2) 使用单人口单出口的控制结构,确保程序的静态结构与动态执行情况相一致。保证程序易理解。
(3) 程序的控制结构一般采用顺序、选择、循环三种结构来构成,确保结构简单。
(4) 用自顶向下逐步求精方法完成程序设计。结构化程序设计的缺点是存储容量和运行时间增加10-20%,但易读易维护性好。
(5) 经典的控制结构为顺序,IF THEN ELSE分支,DO-WHILE循环。扩展的还有多分支CASE,DO-UNTIL循环结构,固定次数循环DOWHILE。
3.选择恰当描述工具来描述各模块算法。
三、详细设计的方法
详细设计的工具:
1.图形工具
利用图形工具可以把过程的细节用图形描述出来。
2.表格工具
可以用一张表来描述过程的细节,在这张表中列出了各种可能的操作和相应的条件。
3.语言工具
用某种高级语言(称之为伪码)来描述过程的细节。
四、程序流程图
程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达工具。它独立于任何一种程序设计语言,比较直观和清晰地描述过程的控制流程,易于学习掌握。因此,至今仍是软件开发者最普遍采用的一种工具。
流程图也存在一些严重的不足。
流程图中只能使用下述的五种基本控制结构。
1、顺序型
顺序型由几个连续的处理步骤依次排列构成。
2、选择型
选择型是指由某个逻辑判断式的取值决定选择两个处理中的一个。
3、while型循环
while型循环是先判定型循环,在循环控制条件成立时,重复执行特定的处理。
4、until型循环
until型循环是后判定型循环,重复执行某些特定的处理,直到控制条件成立为止。
5、多情况型选择
多情况型选择列举多种处理情况,根据控制变量的取值,选择执行其一。
五、N-S图
盒图是一种符合结构化程序设计原则的图形描述工具,又称之为N-S图。在N-S图中,为了表示五种基本控制结构,规定了五种图形构件。
1、 顺序型
在顺序型中,先执行A,后执行B。
2、选择型
在选择型结构中,如果条件P成立,则可执行T下面的A的内容,当条件P不成立时,则执行F下的内容。
3、WHILE重复型
在WHILE重复型循环结构中,先判断P的值,再执行S。其中P是循环条件,S是循环体。
4、UNTIL重复型
在UNTIL重复型循环结构中,先执行S,后判断P的值。
5、多分支选择型
六、PAD图
PAD是用结构化程序设计思想表现程序逻辑结构的图形工具。
PAD也设置了五种基本控制结构的图示,并允许递归使用。
1、顺序型
按顺序先执行A,再执行B。
下图给出了判断条件为P的选择型结构。当P为真值时执行上面的A框,P取假值时执行下面的B 框中的内容。如果这种选择型结构只有A 框,没有B框,表示该选择结构中只有THEN后面有可执行语句A,没有ELSE部分。
|
3、WHILE重复型和UNTIL重复型
P是循环判断条件,S是循环体。循环判断条件框的右端为双纵线,表示该矩形域是循环条件,以区别于一般的矩形功能域。
4、多分支选择型
多分支选择型是CASE型结构。当判定条件P等于1时执行A1框的内容,P等于2时执行A2框的内容,P等于N时执行An框的内容。
七、PDL(过程设计语言)
PDL是所有非正文形式的过程设计工具的统称,到目前为止已出现多种PDL语言。PDL具有“非纯粹”的编程语言的特点。
1、PDL语言的特点
(1)关键字采用固定语法并支持结构化构件、数据说明机制和模块化;
(2)处理部分采用自然语言描述;
(3)可以说明简单和复杂的数据结构;
(4)子程序的定义与调用规则不受具体接口方式的影响。
2、PDL描述选择结构
3、PDL描述循环结构
4、子程序
5、输入/输出
八、HIPO图
HIPO图是由一组IPO图加一张HC图组成。它是美国IBM公司在软件设计中使用的主要表达工具。HC图是层次图(Hierarchy chart)的英文缩写,用于表示软件的分层结构。HC图中的每一个模块,均可用一张IPO图来描述。IPO 图由输入、处理和输出三个框组成,需要时还可以增加一个数据文件框。
用HC图描述软件结构,用IPO图描述程序过程,使HIPO图成为一套自成体系的设计表达工具。不仅如此,在需求分析阶段还可以用IPO图来描述加工策略。
九、详细设计工具的选择
十、详细设计规格说明与复审