软件工程中的原型模型

什么是原型模型?

原型模型是一种软件开发模型,其中构建、测试和修改原型,直到获得可接受的原型。它也为生成最终系统或软件奠定了基础。当项目需求未详细了解时,它效果最好。它是一种迭代的、反复试验的方法,在开发人员和客户之间进行。

原型模型阶段

Prototyping Model Phases

原型模型有以下六个 SDLC 阶段:

步骤 1:需求收集和分析

原型模型从需求分析开始。在此阶段,详细定义了系统的需求。在此过程中,访谈系统用户以了解他们对系统的期望。

步骤 2:快速设计

第二阶段是初步设计或快速设计。在此阶段,创建了系统的简单设计。但是,它不是完整的设计。它向用户提供了系统的简要概念。快速设计有助于开发原型。

步骤 3:构建原型

在此阶段,根据从快速设计收集的信息设计了一个实际的原型。它是所需系统的一个小型工作模型。

步骤 4:初步用户评估

在此阶段,将建议的系统提交给客户进行初步评估。这有助于找出工作模型的优点和缺点。从客户那里收集评论和建议,并提供给开发人员。

步骤 5:改进原型

如果用户对当前原型不满意,则需要根据用户反馈和建议来改进原型。

此阶段将不会结束,直到满足用户指定的所有要求。一旦用户对已开发的原型感到满意,就可以基于批准的最终原型开发最终系统。

步骤 6:实施产品和维护

基于最终原型开发最终系统后,对其进行彻底测试并部署到生产环境。系统经过例行维护,以最大程度地减少停机时间并防止大规模故障。

原型模型的类型

有四种原型模型:

  1. 快速原型(一次性)
  2. 演进式原型
  3. 增量式原型
  4. 极端原型

快速原型(一次性原型)

快速原型是基于初步需求的。它被快速开发出来,以展示需求在视觉上会是什么样子。客户的反馈有助于驱动需求的变更,并且在需求基线化之前会再次创建原型。

在此方法中,已开发的原型将被丢弃,并且不会成为最终接受的原型的一部分。此技术对于探索想法和获取客户需求的即时反馈很有用。

演进式原型

在这里,已开发的原型会根据客户的反馈进行增量式改进,直到最终被接受。它可以为您节省时间和精力。因为为过程的每次交互从头开始开发原型有时会非常令人沮丧。

此模型对于使用一项未被充分理解的新技术的项目很有帮助。它也用于复杂的项目,其中必须检查每个功能。当需求不稳定或在初始阶段未被清晰理解时,它很有帮助。

增量式原型

在增量式原型中,最终产品被分解为不同的原型并单独开发。最终,不同的原型被合并到一个产品中。此方法有助于缩短用户与应用程序开发团队之间的反馈时间。

极端原型

极端原型方法主要用于 Web 开发。它包含三个顺序阶段。

  1. 以 HTML 格式显示所有现有页面的基本原型。
  2. 您可以使用原型服务层模拟数据处理。
  3. 实现服务并将其集成到最终原型中。

原型设计的最佳实践

以下是在原型设计过程中需要注意的一些事项:

  • 当需求不明确时,您应该使用原型设计
  • 进行计划和控制的原型设计非常重要。
  • 定期会议对于按时完成项目和避免代价高昂的延误至关重要。
  • 用户和设计人员应了解原型设计的问题和陷阱。
  • 在非常早期的阶段,您需要批准一个原型,然后才能允许团队进入下一步。
  • 在软件原型方法中,如果您需要部署新想法,永远不要害怕改变先前的决定。
  • 您应该为每个版本选择合适的步长。
  • 尽早实现重要功能,这样如果时间不够,您仍然会有一个有价值的系统。

原型模型的优点

以下是使用原型模型的重要优点/好处:

  • 用户积极参与开发。因此,可以在软件开发过程的早期阶段检测到错误。
  • 可以识别缺失的功能,这有助于降低失败的风险,因为原型设计也被认为是 SDLC 中的一项风险降低活动。
  • 有助于团队成员有效沟通
  • 客户满意度存在,因为客户可以在早期阶段感受到产品。
  • 软件被拒绝的可能性几乎为零。
  • 更快的用户反馈可帮助您实现更好的软件开发解决方案。
  • 允许客户比较软件代码是否与软件规范匹配。
  • 它有助于您找出系统中缺失的功能。
  • 它还可以识别复杂或困难的功能。
  • 鼓励创新和灵活的设计。
  • 它是一个简单的模型,易于理解。
  • 无需专业专家即可构建模型
  • 原型可作为派生系统规范的基础。
  • 原型有助于更好地理解客户的需求。
  • 原型可以更改甚至丢弃。
  • 原型还可以作为操作规范的基础。
  • 原型可以为软件系统的未来用户提供早期培训。

原型模型的缺点

以下是原型模型的重要缺点/劣势:

  • 原型设计是一个缓慢且耗时的过程。
  • 开发原型的成本是浪费的,因为原型最终被丢弃了。
  • 原型设计可能会鼓励过度的变更请求。
  • 有时客户可能不愿意在较长时间内参与迭代周期。
  • 当客户每次都评估原型时,软件需求可能会有太多的变化。
  • 文档质量差,因为客户的需求在不断变化。
  • 软件开发人员很难满足客户要求的所有更改。
  • 在看到早期原型模型后,客户可能会认为最终产品很快就会交付给他们。
  • 如果客户对初始原型不满意,他们可能会对最终产品失去兴趣。
  • 想要快速构建原型的开发人员可能最终会构建次优的开发解决方案。

摘要

  • 在软件工程中,原型方法是一种软件开发模型,其中构建、测试然后根据需要进行修改,直到获得可接受的原型。
  • 1) 需求收集和分析,2) 快速设计,3) 构建原型,4) 初步用户评估,5) 改进原型,6) 实施产品和维护;是原型化过程的 6 个步骤。
  • 原型模型类型包括 1) 快速原型(一次性)2) 演进式原型 3) 增量式原型 4) 极端原型
  • 定期会议对于按时完成项目和避免原型方法的代价高昂的延误至关重要。
  • 可以识别缺失的功能,这有助于降低失败的风险,因为原型设计也被认为是 SDLC 中的一项风险降低活动。
  • 原型设计可能会鼓励过度的变更请求。