四种开发模型:
瀑布模型的特点:
各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需要的工作内容
原型模型的特点:
快速建立起来的可以在计算上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集,其主要目的是确定客户的需求
螺旋模型的特点:
将瀑布模型和原型模型结合起来,并且加入两种模型都忽略的风险分析。其特点是螺旋模型是风险驱动的,关注风险,运行风险分析后决策是否继续进行项目
增量模型的特点:
融合了瀑布模型的基本成分和原型的迭代特征,采用随着日程时间进展而交错的线性序列,把软件产品作为一系列的增量构件来分析、设计、编码、测试和发布
选择原则:
瀑布模型适用于需求明了且时间要求宽松的软件开发项目或者规模小,需求简单,功能单一的项目
原型模型适用于客户能提出一般性的目标,但不能标出详细的输入、处理和输出需求,或者开发者不能确定算法的有效性、操作系统的适应性、以及人机交互的形式的项目
螺旋模型适用于大规模软件项目,需求不明朗,风险比较高的项目
增量模型适用于需求逐渐清晰的软件项目