解析:
本题考查的是常见的软件开发模型的基本概念。
瀑布模型给出了软件生存周期中制订开发计划、需求分析、软件设计、编码、测试和维护等阶段以及各阶段的固定顺序,上一阶段完成后才能进入到下一阶段,整个过程如同瀑布流水。该模型为软件的开发和维护提供了一种有效的管理模式,但在大量的实践中暴露出其缺点,其中最为突出的是缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。这些问题有可能导致开发出的软件并不是用户真正需要的,并且这一点只有在开发过程完成后才能发现。因此,瀑布模型适用于需求明确且很少发生较大变化的项目。
为了克服瀑布模型的上述缺点,演化模型允许在获取了一组基本需求后,通过快速分析构造出软件的一个初始可运行版本(被称为原型),然后根据用户在适用原型的过程中提出的意见对原型进行改进,从而获得原型的新版本。这一过程重复进行,直到得到令用户满意的软件。该模型和螺旋模型、喷泉模型等适用于对软件需求缺乏明确认识的项目。
螺旋模型将瀑布模型和演化模型进行结合,在保持二者优点的同时,增加了风险分析,从而弥补了二者的不足。该模型沿着螺线旋转,并通过笛卡尔坐标的四个象限分别表示四个方面的活动:制订计划、风险分析、实施工程、客户评估。螺旋模型为项目管理人员及时调整管理决策提供了方便,进而可降低开发风险。
喷泉模型是以面向对象的软件开发方法为基础,以用户需求为动力,以对象来驱动的模型。该模型主要用于描述面向对象的开发过程,体现了面向对象开发过程的迭代和无间隙特性。迭代指模型中的活动通常需要重复多次,相关功能在每次迭代中被加入新的系统。无间隙指在各开发活动(如分析、设计、编码)之间没有明显边界。
参考答案:D