软件开发模型分析图示 (软件开发中设计模型包括)

软件开发模型是指软件开发全部过程、活动和任务的结构框架,它能清晰、直观地表达软件开发全过程,明确规定了主要活动和任务,是软件项目工作的基础。

一、瀑布模型

1.概念

最早出现的软件开发模型,核心思想是按工序化简问题,将功能实现与设计分开,便于分工协作。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,逐级下落。

2.优点

a.为项目提供按阶段划分的检查点

b.当前一阶段完成后,只需要去关注后续阶段

c.可在迭代模型中应用

3.缺点

a.项目各个阶段间极少有反馈

b.在项目生命周期的后期才能看到结果

c.通过过多的强制完成日期和里程碑来跟踪各个项目阶段

统一软件开发过程模型,原软件开发的4种常见模型

二、迭代模型

1.概念

某种程度上,开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。

2.使用条件

a.项目开发早期需求可能有所变化

b.分析设计人员对应用领域很熟悉

c.高风险项目

d.用户可不同程度地参与整个项目的开发过程

e.使用面向对象的语言或统一建模语言

f.使用CASE工具,如Rose

g.具有高素质的项目管理者和软件研发团队

3.优点(与瀑布模型相比)

a.降低在一个增量上的开支风险

b.降低产品无法按照既定进度进入市场的风险

c.加快整个开发工作的进度

d.由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中不断细化的。因此,迭代过程这种模式使适应需求的变化会更容易些。

统一软件开发过程模型,原软件开发的4种常见模型

三、螺旋模型

适合于大型复杂的系统和新近开发,需求不明确的情况。由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。

1.限制条件

a.往往适应于内部的大规模软件开发

b.软件开发人员应擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险

2.缺点

难以让用户相信结果是可控制的。建设周期长,而软件技术发展比较快,容易出现软件开发完毕后,和当前的技术水平有较大的差距,无法满足当前用户需求。

统一软件开发过程模型,原软件开发的4种常见模型