设计模式就像是语言果树上产出的水果,有人把它摘取下来、洗好、命名然后拿出来叫卖。而产出这些水果的果树才是重要的,虽然买到水果,我们就能做水果拼盘啦。
学好编程语言是开发软件的基础,开发软件是某些时间片断上连续的活动。客户最终的需要是能满足需求的软件,而软件就是用语言写就的。所以可以认为直接去编程的是最短的捷径,然而软件是反映需求的载体。这样,就必须有人去需要了解做什么。谁该去了解需求,从广泛范围来讲,所有参与开发活动的人都该去了解需求。需求对于开发人员就是责任,他必须完成规定的需求。所以需求就必须责任到人,责任明确,明白自己做什么、为别人做什么。这样,就有了编程前的需求设计工作。而程序开发总是在灰色地带行走,没有人能在参与项目前就能给团队指引一条正确道路,国内外大量失败的开发项目作证。一般情况下,总可以设定编码中有这样或那样的失误,这就又需要在编程后的验证工作,验证结果再次反馈给编程来促进编程。
从上面讨论可以看出,最省的开发过程也必须包含以上三个方面,那么对以上三个方面的深入研究并且形式化表述、规范化、制度化,就是指导通向软件产出的捷径。
愿与同道友好交流各个阶段有效的形式化表述!