软件工程作业二

一、瀑布模型

http://istqbexamcertification.com/what-is-waterfall-model-advantages-disadvantages-and-when-to-use-it/

瀑布模型是第一个引入的过程模型。它也称为线性序列生命周期模型。这是很容易理解和使用。在瀑布模型中,每个阶段必须在下一阶段开始之前完成。这种类型的软件开发模型基本上用于小项目,没有不确定的要求。
在每个阶段结束时,进行审查,以确定项目是否在正确的路径上,以及是否继续或丢弃项目。在这个模型中,软件测试仅在开发完成后才开始。在瀑布模型逐步执行时不能被重叠。

这里写图片描述

优缺点

优点:

  1. 模型简单,易于理解和使用
  2. 由于瀑布模型的死板,它容易管理–每个阶段都有可发行的特定成果和审查过程
  3. 在此模型中,一次处理并完成一个阶段,相互不重叠
  4. 瀑布模型适用于容易理解的小型项目

缺点:

  1. 一旦应用程序处于测试阶段,很难再回到并改变在概念阶段没有经过深思熟虑事情
  2. 没有正在工作的产品产生直到在生命周期的后期
  3. 高风险和不确定性
  4. 不是一个复杂的和面向对象项目的好模型
  5. 在长期和正在进行的项目是一个差模型
  6. 不适用于需求从中度到高度变更风险的项目

使用场景

  1. 该模型仅在需求非常清楚,清楚和固定时使用
  2. 稳定的产品定义
  3. 没有歧义的需求
  4. 小项目

二、原型模型

http://istqbexamcertification.com/what-is-prototype-model-advantages-disadvantages-and-when-to-use-it/

原型模型的基本思想是,在设计或编码之前可以继续,不是冻结需求,而是构建一个一次性原型去理解需求。这个原型是基于当前已知的要求开发的。原型模型是一个软件开发模型。通过使用这个原型,客户可以得到系统的“实际感觉”,因为与原型的交互可以能够更好地使客户理解期望系统的需求。
这里写图片描述

优缺点

优点:

  1. 用户参与开发
  2. 由于在该方法中提供了系统的工作模型,所以用户更好地理解正在开发的系统
  3. 可以更早地检测到错误
  4. 用户反馈更快
  5. 缺少的功能可以很容易地被发现
  6. 混淆或困难的功能能够被识别

缺点:

  1. 实际上,这种方法可能增加系统的复杂性,因为系统的范围可能超出原始计划
  2. 不完整的应用可能导致应用不能被使用,整个系统被设计得不完整不充分
  3. 系统的开发缺乏统一规划和标准,导致对系统的开发缺乏有效的控制

适用场景

  1. 当期望的系统需要与最终用户进行大量交互时,应当使用原型模型
  2. 通常,在线系统,Web界面与用户具有大量的交互,最适合于Prototype模型
  3. 确保用户不断地与系统一起工作,并提供反馈

三、V模型

http://istqbexamcertification.com/what-is-v-model-advantages-disadvantages-and-when-to-use-it/

RAD(Rap Application Development,快速应用开发)模型是软件开发过程中的一个重要模型,由于其模型构图形似字母V,所以又称软件测试的V模型。它通过开发和测试同时进行的方式来缩短开发周期,提高开发效率
V模型大体可以划分为以下几个不同的阶段步骤:需求分析、概要设计、详细设计、软件编码、单元测试、集成测试、系统测试、验收测试

这里写图片描述

优点

  1. 简单易用
  2. 测试活动,如规划,测试设计在编码之前发生得很好。这节省了大量的时间。因此比瀑布模型的成功机会更高。
  3. 主动跟踪缺陷 - 即在早期发现缺陷。
  4. 避免缺陷的向下流动.
  5. 适用于需要容易理解的小项目

缺点

  1. 非常死板和不灵活.
  2. 软件在实施阶段开发,因此不会产生软件的早期原型。.
  3. 如果在中途发生任何更改,则必须更新测试文档和需求文档.

适用范围

  1. V型模型应用于需要明确定义和固定的中小型项目
  2. 当有足够的技术资源和需要的技术专长时,应选择V形模型.

四、螺旋模型

http://istqbexamcertification.com/what-is-spiral-model-advantages-disadvantages-and-when-to-use-it/

螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用
这里写图片描述

优点

  1. 大量的风险分析,避免风险增加
  2. 适用于大型和关键任务项目
  3. 文档控制
  4. 可以在以后添加其他功能
  5. 软件可以在软件生命周期的早期生产。

缺点

  1. 可能是一个昂贵的使用模型
  2. 风险分析需要高度专业的专业知识
  3. 项目的成功在很大程度上取决于风险分析阶段
  4. 不适合小型项目

适用范围

  1. 当成本和风险评估很重要时
  2. 适用于中高风险项目
  3. 长期项目承诺是不明智的,因为经济优先事项可能发生变化
  4. 要求很复杂
  5. 新产品线
  6. 预期有重大变化

猜你喜欢

转载自blog.csdn.net/qq_22989777/article/details/61624002