软件过程模型的优缺点和适用范围

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件过程模型

1、4种模型的对比

瀑布模型:

优点:文档驱动

缺点:阶段划分固定,大量文档;开发成果最后出增加风险;不适应用户的变化适用范围:需求准确无重大变化的软件项目开发

快速原型模型:

优点:关注了客户的需求,降低了开发风险

缺点:可能导致系统设计差,难维护;不宜用原型产生最终产品,最终产品还是要考虑质量和可维护性

适用范围:需求复杂,难以确定、动态变化的系统

增量模型:

优点:分批提交产品;减少新软件对用户的冲击;可维护性增加,需求变更只需要更改构件

缺点:构件逐渐加入,不能破坏已经构造的系统,要求软件具备开放式结构;需求变化时,适应性大于瀑布和快速原型,但容易退化为边做边盖,失去整体控制性;有无法集成的风险;

适用范围:风险较大用户需求较稳得大型软件系统

螺旋模型:

优点:1)设计上的灵活性,可以在项目的各个阶段进行变更。

2)以小的分段来构建大型系统,使成本计算变得简单容易。

3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。

4)随着项目推进,客户始终掌握项目的最新信息, 从而他或她能够和管理层有效地交互。

5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。

缺点:建设周期长,和当前技术水平差距大,无法满足需求;

适用范围:庞大复杂并具有高风险的系统,特别适合内部开发的大规模软件项目

2、喷泉模型

特点:无明显边界、阶段内迭代

优点:各阶段无明显界限,开发人员同步进行,提高项目开发效率

缺点:重叠的项目不利于项目管理,审核难度加大

适用:面向对象的软件过程

3、重用构件模型

4、RUP

通用的过程框架

4个阶段

9个核心工作流

前6个为核心过程,后3个是核心支撑

特点:(1)以用例驱动(2)以架构为中心(3)强调迭代和渐增

优点:1. RUP是建立在非常优秀的软件工程原则基础上的,例如迭代,需求驱动,基于结构化的过程开发。

2. RUP提供了几个方法,例如每一次迭代产生一个工作原型,在每一个阶段的结束决定项目是否继续,这些方法提供了对开发过程的非常直观的管理。

3. rational公司已经并将继续对RUP进行开发,使这个基于html的软件工程能够被裁减以适合你的组织的实际需要

简洁和清晰的过程结构,为开发过程提供较大的通用性

缺点:RUP仅仅包含了开发过程。它没有完全覆盖软件过程,从图1能够明显看出,它丢失了维护和技术支持这两个重要的阶段。2. RUP不支持组织内的多项目开发,导致组织内的大范围的重用无法实现。3. RUP缺少开发商的支持。你能自动完成软件过程的每一个方面?rational提供了所有的工具供你选择,例如是否有rational help desk或者rational persistence modeling 4. RUP在度量管理,重用管理,人员管理和测试上有缺陷

适用范围:大型软件团队开发大型项目

5、敏捷过程

4条宣言

优点:敏捷确实是项目进入实质开发迭代阶段,用户很快可以看到一个基线架构版的产品。敏捷注重市场快速反应能力,也即具体应对能力,客户前期满意度高。缺点:敏捷注重人员沟通,忽略文档,若项目人员变动太大,则给维护带来不少难度。

适用范围:开发可用资源及开发时间都比较苛刻的小型项目

6、微软过程

是被几十年实践证明是非常成功且行之有效的微软解决方案框架

综合了rup和敏捷很多优点,不足为对方法、工具和产品等方面不如RUP和敏捷全面

相关文档
最新文档