一、模块分解的基本原则
模块化程序设计(Modular programming)思想最早出现在汇编语言中,在结构程序设计概念提出以后,逐步完善并形成了模块化程序设计方法。按照模块化程序设计的思想,无论多么复杂的任务,都可以划分为若干个子任务。若子任务较复杂,还可以将子任务继续分解,直到分解为一些容易解决的子任务为止。可见,若要完成大规模的程序设计,必须掌握模块化程序设计方法。
C语言中的函数时功能相对独立的用于模块化程序设计的最小单位,因此,在C语言中可以把每个子任务设计成一个子函数,总任务由一个主函数和若干个子函数组成的程序完成,主函数起着任务调度的总控作用。
无论结构化方法还是面向对象方法,模块化的基本指导思想都是“信息隐藏”,即不把需要调用者直到的信息都封装在模块内部,使模块的实现细节对外不可见。按照这一指导思想,模块分解的基本原则是:高聚合、低耦合,保证每个模块的相对独立和单一。
模块化程序设计的好处是,可以先将模块各个击破,最后再将他们集成在一起完成总任务,这样不仅便于进行单个模块的设计、开发、调试、测试和维护等工作,而且还可以使得开发人员能够团队合作,按模块分配和完成任务,实现并行开发,有利于缩短软件开发的周期。
注意:模块化程序设计是指一个规模较大的系统的设计过程,表面上是将系统划分为若干子系统,任务分解为若干个子任务,其本质思想是要实现不同层次的数据或过程的抽象。在每个模块的设计过程中,可采用“自顶向下、逐步求精”的方法进行模块化程序设计。模块化程序设计是程序设计中最重要的思想之一。C语言通过模块和函数两种手段来支持这种思想。
二、自顶向下、逐步求精