开发模型分别有瀑布模型,快速原型模型,增量模型,螺旋模型。
瀑布模型,是一种分工很细,力求每个环节都做到最好,前一个环节没做完不进入下一阶段的一种开发模型。就好比建房子,从设计图开始,确定后打地基,砌外墙,然后是里面每个小房间的建设。可是,瀑布模型有一个不好的地方,就是一旦前面的环节出错了,后面环节发现后得从该环节修改开始。这就增大了每个环节的严谨性。就好像设计图错了,建到一半的大楼就得停工或者是重做。
快速原型模型,是一种用建立原型的方法来明确软件需求的开发模型。在一些设计上,可能客户也不太清楚其需求或者是需求获取时候容易出错。这时候,快速原型模型就很适用。只要快读的建立一个原型,让客户看到软件实现后的大概功能,客户就能反馈有用的信息并明确需求。可是,顾客可能会把原型认为是最后的产品。
增量模型,是先完成软件的基本功能,然后再按照客户或者用户的需求,在软件上增加各种增量的开发模型。就好像一家小卖部一样,先是卖基本用品,然后顾客需要零食,我就加卖零食,顾客需要文具,我就加卖文具,顾客认为我的东西不好,我就改进等等。这样能够有效的满足人们变化的需求。不过,增量式模型的难点是软件的兼容性要好,不能让开发的增量不能在软件上运行。
螺旋模型是一种和瀑布模型差不多的开发模型,只是其在每环节的最后,都加上了风险评估。这就像我做生意,先打算下这样值不值,值的话再开始工作。螺旋模型大大减小了风险性,可是却对风险评估人员的技能有很大的要求。
联系:后几种模型都是在瀑布模型的基础上开发出来的。瀑布模型的风险太大,需求分析不明,所以提出了快速原型模型。其次,瀑布模型完成时间长,需求容易发生变化,所以有了增量模型。每个增量其实就是一个小的瀑布模型。软件开发的风险大,所以在每个环节后面加上了风险分析,所以有了螺旋模型。
我觉得,开发软件可以不用拘束于一种模型,比如快速原型模型的需求明确性很好,那么我们可以在增量模型的基础上加入快速原型模型,虽然原型需要花费一定的经费,如果我们只有在需求不明确的时候再用,那么我们能花费小额的经费来明确需求,这是很划算的。再或者,在增量模型上加入螺旋模型的风险分析。在每个增量计划决定前,加入风险分析,看看其是否划算。不过这可能会加大我们的费用,却能保证其适用性,是否使用得看时机情况。