1
 软件工程
1.6.4.1 4.4.1 详细设计的任务和原则

4.4.1 详细设计的任务和原则

1.详细设计的任务

详细设计的目的是为软件结构图(SC图或HC图)中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。这一阶段的主要任务如下:

(1)为每个模块确定所采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;

(2)确定每一个模块使用的数据结构;

(3)确定模块接口的细节,包括对系统外部的接口和人-机界面,对系统内部其他模块的接口,以及模块输入数据、输出数据及局部数据的全部细节;

(4)在详细设计结束时,应该把上述结果写入详细设计说明书,并且通过复审形成正式文档,作为下一阶段(编码阶段)的工作依据。

要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据、期望输出等内容。

2.详细设计的原则

(1)由于详细设计的蓝图是供人阅读的,所以模块的逻辑描述要清晰易读、准确可靠。

(2)采用结构化设计方法,改善控制结构,降低程序的复杂程度,从而提高程序的可读性、可测试性和可维护性,其基本内容归纳为如下几点。

①程序语言中应尽量少用GOTO语句,以确保程序结构的独立性。

②使用单入口单出口的控制结构,确保程序的静态结构与动态执行情况相一致,保证程序易理解。

③程序的控制结构一般采用顺序、选择、循环等3种结构来构成,确保结构简单。

④用自顶向下逐步求精的方法完成程序设计。

⑤结构化程序设计虽然在存储容量和运行时间上增加了10%~20%,但易读、易维护性好。

⑥经典的控制结构为顺序,IF...THEN...ELSE分支,DO...WHILE循环。扩展的还有多分支CASE,DO...UNTIL循环结构。

(3)选择恰当描述工具来描述各模块的算法。