概念:原型
原型是系统解决方案或部分系统解决方案的缩小型初始版本,它在短时间内构建并在一些迭代中进行了改进,用于测试和评估用来解决特定问题的整体设计的有效性。
关系
主要描述

使用方法

原型以某种指定的方式用来降低风险。原型可以减少环境的不确定性:

  • 所开发的产品的商业生存能力
  • 关键技术的稳定性或性能
  • 项目投入或融资:建立小型概念验证原型
  • 对需求的了解
  • 产品外观和产品可使用性。

原型可通过显示对于用户、客户和管理员来说具体而可执行的方式,来帮助为产品建立支持。

但是,原型的性质和目标在它的整个生命期中都必须保持明确。如果不打算将原型发展成实际产品,就不要突然认定由于原型起作用,因此它应该成为最终产品。一个探索性的行为原型旨在非常快速地试验某个用户界面,而很少发展成强大、灵活的产品。

原型类型

您可以按两种方式查看原型:“原型探索什么”和“原型如何发展或它们的结果是什么”。

在第一个视图的环境(原型探索什么)中,主要有两种原型:

  • 行为原型,侧重于探索系统的特定行为。
  • 结构原型,探索某些体系结构或技术问题。

在第二个视图的环境(原型结果)中,也有两种原型:

  • 探索性原型,它在完成后被抛弃,也称为抛弃原型。
  • 演进式原型,它逐渐发展为真正的系统。

探索性原型

探索性原型被设计成像一个小“试验”,来测试关于项目的某个关键假设(功能和/或技术)。它可能像几百行代码一样小,被创建用于测试关键软件或硬件组件的性能。或者它可能是某种阐明需求的方式,即一个被开发来确定开发人员是否了解特定行为或技术需求的小型原型。

探索性原型倾向于有意“抛弃”,并且它们的测试倾向于非正式。探索性原型的设计倾向于非常不正式,同时倾向于最多由一个或两个开发人员进行。

演进式原型

演进式原型正如名称所示,从一个迭代发展到下一个迭代。它们的代码在最初时不具备生产质量,因而倾向于在产品的发展过程中再作返工。为了保持修改工作的可管理性,它们倾向于经过更正式的设计并适当接受正式的测试,甚至在早期阶段就如此。 随着产品的发展,测试就像设计通常经历的一样,变得正式化。

行为原型

行为原型倾向于采用探索性原型;它们没有试图重现所开发系统的体系结构,而是侧重于用户看到系统将做什么(“表面”)。 通常,这种原型是“快速而随意”,不依照项目标准构建。例如,Visual Basic 可用作建立原型的语言,而 C++ 计划用于开发项目。探索性原型是暂时的,只投入最少的工作量,并且一旦实现它们的用途就被抛弃。

结构原型

结构原型倾向于采用演进式原型;它们更可能使用最终系统的基础结构(“骨架”),并更可能发展成为真正的系统。如果原型是使用“生产”语言和工具集完成的,那么就会带来更多的优势:能够测试开发环境并让某些人员熟悉新工具和过程。