模块化程序设计最早出现在汇编语言中,在结构程序设计的概念提出以后,逐步完善并形成了模块化的程序设计方法。按照模块化程序设计思想,无论多么复杂的任务,都可以划分为若干个子任务。若子任务较复杂,则可以继续分解,类似于解数学题一般,一道很难的题你需要分步骤按照数学语言来完成。程序更是如此,一些庞大的程序工程,就需要各模块逐个解决,方能使问题简单化,便携化。
下图是一个照明系统,这是一个遵循“自顶向下、逐步求精”的例子。
(来自百度)
逐步求精是一种具体的抽象技术,他是1971年由Wirth提出的用于结构化程序设计的一种基本方法。
为了解决一个问题,人们往往不能一开始就了解问题的全过程细节,只能对全局做一个大致的决策,设计出对问题本身较为自然的,很可能是用自然语言表达的抽象算法。这个抽象算法有一些抽象数据及其上的操作组成,仅仅表示解决问题的一般策略和问题解的一般结构。对抽象算法进一步求精,就进入下一步抽象。
每求精一步,抽象语句和数据都会进一步分解化、精细化,如此下去,直到最后能被计算机所理解。逐步求精就是按照先全局后局部,先整体后细节、先抽象后具体的过程。组织人们思维活动,从最能反映问题体系结构的概念出发,逐步精细化、具体化,逐步补充细节&#x