定义:指软件开发全部过程、活动和任务的结构框架
阶段:需求、设计、编码和测试,有时还包括维护
( 1 )边做边修改模型
缺点:
缺少规划和设计环节,软件的结构随着不断的修改越来越糟,导致无法继续修改忽略需求环节,给软件开发带来很大的风险没有考虑测试和程序的可维护性,也没有任何文档,软件的维护十分困难( 2 )瀑布模型
定义:将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落
优点:以文档作为驱动,强迫开发人员采用规范的方法,严格规定了各阶段必须提交的文档;要求每一阶段结束后都要进行严格的评审。与它最相适应的开发方法是结构化方法
缺点:不适用户需求的改动,系统可能不满足客户的需求
( 3 )快速原型模型
步骤:
①建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求,通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么
②在第一步的基础上开发客户满意的软件产品
优点:克服瀑布模型的缺点,关注满足客户需求,减少由于软件需求不明确带来的开发风险,具有显著的效果
缺点:可能导致系统设计差、效率低,难以维护
特点:尽可能快速地建造出软件原型,一旦确定了客户的真正需求,所建造的原型将被丢弃
( 4 )增量模型
定义:软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成
优点:开发早期反馈及时,易于维护
缺点:需要开放式体系结构,可能会设计差、效率低
适用:
软件产品可以分批次地进行交付待开发的软件系统能够被模块化软件开发人员对应用领域不熟悉,难以一次性地进行系统开发项目管理人员把握全局的水平较高( 5 )螺旋模型
特点:将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于开发大型复杂的系统。
优点:风险驱动
缺点:风险分析人员需要有经验且经过充分训练
螺旋模型沿着螺线进行若干次迭代,其中,四个象限代表了以下活动:
制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件风险分析:分析评估所选方案,考虑如何识别和消除风险实施工程:实施软件开发和验证客户评估:评价开发工作,提出修正建议,制定下一步计划( 6 )演化模型
适用:主要针对事先不能完整定义需求的软件开发,这个模型可被看做是重复执行的多个“瀑布模型”。
( 7 ) 其他模型
喷泉模型:适合于面向对象的开发方法
A.瀑布 B.演化 C.螺旋 D.喷泉
下列关于软件开发模型的叙述,不正确的是__B__。A.软件开发模型用以指导软件的开发
B.瀑布模型典型地刻画了软件生存周期的阶段划分,与其最相适应的软件开发方法是快速原型化方法
C.螺旋模型综合了瀑布模型和演化模型的优点,并增加了风险分析
D.喷泉模型描述的是面向对象的开发过程,反映了软件开发过程的迭代和无间隙特征