晚上同老婆聊SVN版本控制和管理的时候,和我讲了一下软件工程中的瀑布模型。瀑布模型是最基本的也是最有效的软件工程开发模型之一,讲完后才豁然于我们现阶段软件工作中人员的分工。先上我画的瀑布模型图:
从需求到编码,是实现的过程,是自上而下的过程,而从编码到产品,是验证的过程,是自下而上的过程。
从需求到编码,是实现的过程,是实际研发的过程,需要经过需求分析、系统设计和详细设计这几个部分,工作基本上会由产品经理(分为市场和研发)、系统工程师(大型项目为架构师)、软件工程师和程序员来完成。而编码到产品,是验证的过程,是测试的过程,需要经过单元测试、继承测试和系统测试三个部分,分别验证了详细设计、系统设计和概要设计的正确性,此测试过程中基本均为白盒测试,部分测试需要研发人员自行完成,比如单元测试。而黑盒测试则基本上是对最终产品是否符合当初需求做一个验证。瀑布模型中的每一个环节都紧密相扣,一旦哪一环节出问题,则需要向上推将上一环节的设计货编码做正确,并再重新走一遍瀑布流程。
由此可见,软件工程是一个多么复杂的工程,而现在才明白,从需求到产品,最难的还是需求分析和架构设计,所以若没有一个优秀的产品团队和一个优秀的系统/架构工程师,则在产品开发和测试过程中寸步难行,由此可见产品经理和架构师是重中之重,产品经理和架构师直接决定了产品能否实现和产品好坏。希望开发过程真能如瀑布模型所示,那么,我相信这一定会开发出一个好的产品。
来源:http://www.cnblogs.com/Tangf/archive/2011/08/27/2155413.html