10.4.1 模块化程序设计

  
把一个程序分成具有多个明确任务的程序模块,分别编制、调试后再把它们连接在一起形成一个完整的程序,这样的程序设计方法称为模块化程序设计。其优点如下:

   · 单个程序模块易于编写、调试及修改。
   · 不同模块可以分配给不同的程序员来编写及调试,有利于加快工作进度。
   · 程序的易读性好。
   · 程序的修改可局部化。
   · 频繁使用的任务可以编制成模块存在库里供多个任务使用。

  模块化程序设计的关键是模块的划分。层次图和模块说明是划分模块所使用的工具。

  层次图是一个方块图,用来表示模块和子模块之间的关系。


 
模块说明应简要地写出模块的功能、所用基本算法、模块的输入输出以及它们的数据结构等。

  应该考虑程序中哪些数据应放在公共数据区,可以由所有模块访问;哪些数据则应该在有直接从属关系的模块间传送等。

  一般说来,有了层次图和各个模块的模块说明后,划分模块的工作就完成了。

  划分模块是一个从顶向下(top-down)的程序设计过程。

  主模块是一个总控模块,所以划分模块的第一步是要确定主要的子模块,也就是说要把总任务划分成几个主要的子任务。

  例如,一般说来,一个任务可以分成输入任务、输出任务和一个或几个进行处理或计算的子任务。

  在划分子模块的过程中,应该弄清楚每个模块的功能、数据结构及相互之间的关系;

  第二步,对这些主要的子模块中的一些专门的子任务再划分给下一层的子模块去做,当然也要弄清楚它们相互之间的关系;

  第三步,重复上述过程,一直细分到程序已经分成易于理解和易于实现的小块为止。