面对一个复杂庞大的项目任务时,人们常常觉得无处下手,因为当其难度大而分散时,以正常人大脑的处理能力来说是无法进行统筹计算的。所以,这就要求我们拥有分散难度的能力,从各个维度延伸出去,将难度控制在一定区域内,从而提供给我们寻找薄弱点逐个击破的机会。而“自顶向下”就是这样一种解决问题的方法。
首先我们要明确目标,依据结果找方法,而这也是“自顶向下”与“面向对象”最本质的区别。大目标确定之后,就到了Q&A环节,进一步确定难度区域和难度大小,细致分析工作重点应该放在哪里,这样我们对后期工作就有了一个初步的了解。紧接着,我们就需要类比之前做过的项目案例,挖掘共同点,寻找共通之处,从而尽可能的节约人力和物资资源,而这也是一家网络公司得以生存的极为重要的一点。以上就是方案的前期策划过程,下面我们谈谈具体的方案制作。
完成了前期策划,我们就可以从自身团队的能力和项目期限出发,将项目分解成力所能及的一个个小模块,分解的方法通常是SIZE型或者TIME型,当然其他一些方法例如SPACE型也完全可以,并不强求。之后从模块入手,具体把子项目分配到个人,从而全方位低损耗的解决问题。
基本的介绍就是这样,下面我提供一张Web上找到的程序框图便于理解:
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
此外,“自顶向下”解决问题的一个典型实例就是洗衣机了
其基本模块即为:
0)选择洗衣模式:对应水位,注水时间
1)注水, 水位计计水位
2)浸泡, 计时器计时
3)电机转动, 左3次,右3次
4)排水, 水位计计水位
5)电机转动(脱水)
6)结束
简单、有效,这就是“自顶向下”方法难以被磨灭的优点。