C语言程序设计
上QQ阅读APP看书,第一时间看更新

1.2.2 自顶而下的模块设计方法

结构化程序设计的总体思想是采用模块化结构,自顶而下、逐步求精,即首先把一个复杂的大问题分解为若干相对独立的小问题。如果小问题仍较复杂,则可以把这些小问题又继续分解成若干子问题。这样不断地分解,使得小问题或子问题简单到能够直接用程序的3种基本结构表达为止。然后,对应每一个小问题或子问题编写出一个功能上相对独立的程序块,这种像积木一样的程序块被称为模块。每个模块逐一击破,最后再统一组装,这样,对一个复杂问题的解决就变成了对若干简单问题的求解。这就是自顶而下、逐步求精的程序设计方法。

确切地说,模块是程序对象的集合,模块化就是把程序划分成若干模块,每个模块完成一个确定的子功能,把这些模块集中起来组成一个整体,就可以完成对问题的求解。这种用模块组装起来的程序被称为模块化结构程序。在模块化结构程序设计中,采用自顶而下、逐步求精的设计方法便于对问题的分解和模块的划分,所以,它是结构化程序设计的基本原则。其基本要点如下:

1.采用自顶而下、逐步求精的程序设计方法

在需求分析、概要设计中,都采用了自顶向下、逐步求精的方法。

2.使用3种基本控制结构构造程序

任何程序都可由顺序、选择、循环3种基本控制结构构造。

(1)用顺序方式对过程分解,确定各部分的执行顺序。

(2)用选择方式对过程分解,确定某个部分的执行条件。

(3)用循环方式对过程分解,确定某个部分进行重复的开始和结束条件。

(4)对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下来。

当然,使用结构化程序设计方法也有其自身的优缺点。其主要优点有:

①整体思路清楚,目标明确。

②设计工作中阶段性非常强,有利于系统开发的总体管理和控制。

③在系统分析时可以诊断出原系统中存在的问题和结构上的缺陷。

缺点有:

①用户要求难以在系统分析阶段准确定义,致使系统在交付使用时产生许多问题。

②用系统开发每个阶段的成果来进行控制,不能适应事物变化的要求。

③系统的开发周期长。