📜  敏捷模型(软件工程)

📅  最后修改于: 2021-01-09 14:45:05             🧑  作者: Mango

敏捷模型

敏捷的含义是快速的或通用的。“敏捷过程模型”是指基于迭代开发的软件开发方法。敏捷方法将任务分解为较小的迭代,或者部分不直接涉及长期计划。在开发过程的开始就确定了项目范围和要求。事先明确定义了有关迭代次数,每次迭代的持续时间和范围的计划。

每次迭代都被视为敏捷流程模型中的短时间“框架”,通常持续一到四个星期。将整个项目分成较小的部分有助于最大程度地降低项目风险,并减少总体项目交付时间要求。每次迭代都涉及一个团队,在整个软件开发生命周期中进行工作,包括计划,需求分析,设计,编码和测试,然后再向客户展示可运行的产品。

敏捷模型的阶段:

以下是敏捷模型中的阶段,如下所示:

  • 需求收集
  • 设计需求
  • 构建/迭代
  • 测试/质量保证
  • 部署方式
  • 反馈

1.需求收集:在此阶段,您必须定义需求。您应该解释商机,并计划构建项目所需的时间和精力。根据此信息,您可以评估技术和经济可行性。

2.设计需求:确定项目后,与利益相关者一起定义需求。您可以使用用户流程图或高级UML图来显示新功能的工作,以及显示新功能如何应用于现有系统。

3.构建/迭代:当团队定义需求时,工作就开始了。设计师和开发人员开始着手他们的项目,该项目旨在部署有效的产品。该产品将经历各个改进阶段,因此它包括简单,最少的功能。

4.测试:在此阶段,质量保证团队检查产品的性能并查找错误。

5.部署:在此阶段,团队为用户的工作环境发布产品。

6.反馈:发布产品后,最后一步是反馈。这样,团队将收到有关产品的反馈,并通过反馈进行工作。

敏捷测试方法:

  • Scrum
  • 水晶
  • 动态软件开发方法(DSDM)
  • 功能驱动开发(FDD)
  • 精益软件开发
  • 极限编程(XP)

Scrum

SCRUM是一个敏捷开发过程,主要关注在基于团队的开发条件下管理任务的方式。

其中有三个角色,它们的职责是:

  • Scrum Master: Scrum可以组建主人团队,安排会议并消除流程中的障碍
  • 产品负责人:产品负责人进行产品积压,确定延迟的优先级,并负责每次重复的功能分配。
  • Scrum团队:该团队管理其工作并组织工作以完成冲刺或周期。

极限编程(XP)

当客户不断变化的需求或要求或不确定系统性能时,可以使用这种方法。

水晶:

此方法有三个概念-

  • 包机:此阶段涉及多种活动,例如组建开发团队,进行可行性分析,制定计划等。
  • 循环交付:在此之下,又包含两个周期,分别是:
    • 团队更新发布计划。
    • 集成产品交付给用户。
  • 总结:根据用户环境,此阶段执行部署,部署后。

动态软件开发方法(DSDM):

DSDM是用于软件开发的快速应用程序开发策略,并提供了敏捷的项目分发结构。 DSDM的基本功能是必须积极地联系用户,并且已赋予团队制定决策的权利。 DSDM中使用的技术是:

  • 时间拳击
  • MoSCoW规则
  • 原型制作

DSDM项目包含七个阶段:

  • 前期项目
  • 可行性研究
  • 商业研究
  • 功能模型迭代
  • 设计和构建迭代
  • 实作
  • 项目后

功能驱动开发(FDD):

此方法侧重于“设计和构建”功能。与其他智能方法相比,FDD描述了每个函数应单独获得的工作的小步骤。

精益软件开发:

精益软件开发方法遵循“准时生产”的原则。精益方法表明软件开发的速度不断提高,并且降低了成本。精益开发可以分为七个阶段。

  • 消除浪费
  • 加强学习
  • 推迟承诺(尽早决定)
  • 提早交货
  • 赋予团队权力
  • 建筑诚信
  • 优化整体

何时使用敏捷模型?

  • 需要频繁更改时。
  • 有一支高素质和经验丰富的团队。
  • 当客户准备一直与软件团队开会时。
  • 当项目规模较小时。

敏捷方法的优点:

  • 频繁交货
  • 与客户面对面的交流。
  • 高效的设计并满足业务需求。
  • 随时可以接受更改。
  • 它减少了总的开发时间。

敏捷模型的缺点:

  • 由于缺少正式文件,因此会造成混乱,并且各个团队成员随时可能会误解贯穿各个阶段做出的重要决定。
  • 由于缺乏适当的文档,一旦项目完成并且开发人员被分配到另一个项目,完成的项目的维护就会变得很困难。