http://bbs.csdn.net/topics/391890120
将现实问题经过几次抽象(细化)处理,最后到求解域中只是一些简单的算法描述和算法实现问题。即将系统功能按层次进行分解,每一层不断将功能细化,到最后一层都是功能单一、简单易实现的模块。求解过程可以划分为若干个阶段,在不同阶段采用不同的工具来描述问题。在每个阶段有不同的规则和标准,产生出不同阶段的文档资料。
逐步求精是个非常古老和原始的编程思路,也是 pascal 编程强调的风格。它实际上是说,任何函数(方法),首先只关心其输入输出接口定义,然后第二层选择一个比较简单和直观的逻辑分解形式,也就是把这个函数(方法)的实现分为2个、3个、几个很少的函数(方法)的连缀计算。如此迭代,将这些新的函数(方法)的独立的定义再去分解.....直到你觉得函数(方法)实在是太简单了,那么就到达“底”了。
这是最原始的一个概念。它其实与复杂系统无关,它简洁地描述了自古就有的符号数学归纳方式,用到了50年前的计算机编程教材上了。没错,50年前的计算机编程教材,主要是讲这类。而如今,编成所需要学习的基本设计知识早就比那时候复杂100倍了。