一次性原型和进化原型之间有什么区别?


12

我注意到了各种原型制作方法,并且在Internet上找到了几种定义,但是我想确认一下我学到了什么。

我知道一次性原型是从规范的概述中开发出来的,交付并修改了各种原型,直到客户对其功能满意为止。

另一方面,演化原型是根据最终用户收集的基本要求构建的。最初的原型将提供给用户并进行评估。根据反馈修改原型,直到客户满意为止。

它是否正确?有没有更好的抛弃式和进化原型的定义?


2
然后,似乎原型往往演变为最终产品。从来没有真正听说过一次性与进化。
itsmatt 2011年

1
嗨,Mifas,很抱歉,这个迁移了,但是如果您是从网络上获得定义的,则要求网络确认定义是否正确是循环的,在这里不是很实际。

1
@MarkTrapp如果删除定义,可以重新打开吗?就短语的正式定义而言,帖子中的定义以及现有答案都是错误的。Stack Overflow上有重复项,但我在这里找不到,我认为至少对于不要在互联网上发布更多虚假信息至关重要。
Thomas Owens

@Mifas如果删除定义,那么问题就没有了,是吗?如果Mifas遵循此处的问题并对其进行更新以解释他正在尝试做的事情,这会让他询问这些定义,那将是一个非常好的问题。

1
@马克棒极了。谢谢。正在处理我的答案。
Thomas Owens

Answers:


11

当您不完全了解系统的某些方面时,将使用两种原型方法。但是,关键区别在于您使用的生命周期方法。使用进化原型,您通常会了解系统的某些方面,而对其他方面则不确定。在一次性原型制作中,您通常缺乏在构建可投入生产的系统之前需要完成的理解。

请注意,有很多种类的一次性原型制作,并且都不限于整个系统。例如,使用用户界面的纸或白板草图可被认为是一次性原型。是的,您可能要经过几次迭代并放弃以前的设计,但是您也不会在系统中使用最终的原型(对于一个人而言,这在物理上是不可能的)。

如果您对一般软件工程主题和SE的广度感兴趣,我强烈建议您阅读我引用的Sommerville书。这对于涵盖话题的范围确实非常有用。如果您对过程模型和方法以及如何将其应用于各种项目更感兴趣,我会推荐McConnell的书-它有一整章专门介绍演化原型,另一章专门介绍一次性原型。

我也快速浏览了Wikipedia上有关软件原型的文章。它的某些部分有些奇怪(至少在我的快速阅读中),但是似乎没有什么我完全不同意的。其中有些只是侧重于某个特定方面,但是我认为这实际上并不是错误的。我更喜欢下面的定义,但这可能是有关各种原型制作的有趣读物。


进化原型

探索性开发,该过程的目标是与客户一起探索其需求并交付最终系统。开发从了解系统的各个部分开始。该系统通过添加客户提出的新功能来发展。(Sommerville:软件工程,第8版)


进化原型是一种生命周期模型,在该模型中,系统是逐步开发的,因此可以根据最终用户和客户的反馈轻松地对其进行修改。大多数进化原型设计工作都是从对用户界面进行原型设计开始,然后从中发展出完整的系统,但是原型设计可以从任何高风险领域开始。进化原型与抛弃式原型并不相同,正确选择开发进化原型还是抛弃式原型是成功的关键。成功的其他关键包括使用经验丰富的开发人员,管理进度和预算期望以及管理原型活动本身。(麦康奈尔:快速开发:驯服野性软件时间表)


一次性原型:

一次性原型是演化开发过程的目标,旨在了解客户的需求,从而为系统开发更好的需求定义。该原型专注于试验人们所了解的客户需求。(Sommerville:软件工程,第8版)


借助Throwaway Prototyping,可以开发代码来探索对系统成功至关重要的因素,然后将这些代码丢弃。原型实现使用编程语言或开发实践,或两者都比目标语言和实践快得多。用户界面的原型设计远比系统的任何其他部分更为通用,但是某些系统的其他部分也可以从原型设计中受益。当用作需求规格说明的辅助工具时,一次性原型实践可以加速基于传统生命周期模型的项目,例如DoD项目。它可以在管理级别或技术级别启动。(麦康奈尔:快速开发:驯服野性软件时间表)


-2

一次性原型-使用此系统的一小部分进行开发,然后提供给客户和最终用户以对其进行评估。用户提供的反馈可以迅速与主系统的开发配合使用

进化原型-是一种生命周期模型,在该模型中,系统是逐步开发的,因此可以根据最终用户和客户反馈轻松进行修改


1
在2011年提出了这个问题。您所获得的答案并没有增加多少。
Jan Doggen '17
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.