谁是“低VS高保真原型”辩论赢了? 应该原型零(P0)成为最终产品的第一个版本?或者应该是P-0总是暴殄天物?什么方法是有利于行业?

这维基百科文章外观极好:软件原型

有帮助吗?

解决方案

一个原型应该始终采用一次性 - 一个原型被用来快速验证其概念,并影响实际产品的设计。因此,有很多东西是一个真正的产品(一个深思熟虑的架构和设计,可靠性,安全性,可维护性等),重要的手下败将。如果你把这些东西考虑建立你的原型的时候,你没有真正建立一个原型了。

我与原型体验,直接演变成实际产品的代码表明,最终结果受到的缘故吧 - 缺乏真正的结构导致了大量的玩票代码,必须不断地砍死添加新功能。我甚至见过的情况下,选择为原型的快速发展原有技术不是为实际产品的最佳选择,和完全重新编写是必要的V2。

其他提示

写原型,然后保持重构它,直到它成为产品。 关键是要毫不犹豫必要时进行重构。

它有助于有几个人工作就可以了最初。有太多的人打交道的东西,重构变得更加困难。

我认为我们的学究,已经失去了这个特殊的战斗 - 所谓的“原型”(其中的定义应该从头开始重写!!! - )实际上被“进化”成(经常半生不熟 “贝塔”),等等。

即使到了今天,我在我的一个同事智能企图夺回叫好的概念的,即使该术语是败仗:他对于证据设立方式概念,以开发小型项目(如果这个概念没有得到证实,转移到软件工程师真正的原型,然后发展)。

我们的想法是,在我们的部门,我们有很多的人谁不(并且不事实上的应该的是 - !)的软件开发人员,但很聪明,精通电脑,并与“战壕”现实的日常接触 - 他们是谁最有可能嗅到了一些潜在创新可能曾经实施的“生产 - 实际影响的机会的那些准备好了”软件项目。销售人员,客户经理,业务分析师,技术管理人员 - 在我们公司,他们都经常符合这一描述

但是他们不会在C ++编程,几乎在所有的在Java中,也许在Python,但英里远从“产品化” - 事实上他们更可能掀起概念的智能证明在PHP中, JavaScript的,PERL,庆典时,Excel + VBA,以及其他种种 “快速和肮脏” 技术,我们甚至不希望的梦想的有关productionizing直到永远支持 - !)

所以,通过调用他们的原型“概念验证”,我们希望鼓励他们要体现在具体的形式他们大胆的概念(模糊自然语言blabberings和手是最无用的和外来公司的文化反正很多飘动; - ),但大幅表明,这样的项目,如果促进了软件工程师的目标和优先事项存在,确实有从头开始编程 - 证明的概念服务,充其量是一个很好的草案/草图规范什么工程师们瞄准了,绝对不被逐步丰富,但是从根本上去重做 - !)

这是言之过早如何这种想法的作品 - 问我在三个月内,当我们评估该季度的努力(现在,我们只是为他们提供一个蓝图,在评估的高跟鞋热的末页的季度的部 - 和公司明智的事业 - !)

这BUNDALLAH,HAMISI响应

一个原型通常仅模拟的最终节目的特征的几个方面,并且可以是从最终执行完全不同。 相反的是,我的其他同事以上建议,我不会建议我的老板选择了扔掉样机模型。我与梅艳芳这一点。鉴于这两个原型模型和提供的情况,我会强烈建议管理(我的老板)来选择的进化样机模型。该公司是大给定,如代码的复杂性的所有其他变量,要使用的编程语言的新奇,我不会用扔掉样机模型。该扔掉原型模式成为出发点,用户可以重新审视他们的期望,并澄清他们的要求。当这个已经实现,该样机模型,“扔掉”,该系统是基于确定的要求(Crinnion,1991年)正式开发。但这种情况下,用户可能不知道一下子由于在这种特殊情况下给出的因素非常复杂的要求。进化原型是逐步细化的过程开发一个计算机系统的过程。该系统的每一个细化包含一个系统规范和软件开发阶段。相较于既有传统的瀑布模型和增量原型,这需要每个人都获得的一切权利第一次遇到这种方法允许参与者反思的经验教训,从上一个周期(一个或多个)的经验教训。它通常要经过逐步细化的三个这样的周期。但是,有什么能够阻止不断演进的一个过程,往往是许多系统的情况。据戴维斯(1992年),进化原型承认,我们并不了解所有的需求(如我们上面已经该系统是复杂的说,该公司是大,代码将是复杂的,而语言是相当新的编程团队)。使用进化原型时,主要目标是在一个结构化的方式建立一个非常强大的原型,并不断完善它。这样做的原因是,进化原型,建造时,形成新的系统的心脏,并改进和进一步的要求将建成。这种技术允许开发团队增加新的功能,或使该无法在需求和设计阶段设想的变化。对于一个系统是有用的,它必须通过在其预期的操作环境中使用的演变。一个产品是从来没有“完成的;”它总是作为成熟的使用环境的变化。开发人员经常尝试定义使用自己最熟悉的参考框架体系 - 他们目前(或者说,当前的系统状态)。他们做出的业务会进行的方式和技术基础上的企业将实施的假设。一个计划颁布的开发能力,并且,早晚类似的东西所设想的系统交付。 (SPC,1997)。 进化原型有优势的,因为它们是功能系统丢掉原型。虽然他们可能没有所有的用户计划的特性,他们可能会在临时的基础上,直到最后系统交付使用。 在进化原型,开发者可以专注自己开发他们,而不是理解上开发整个系统工作的系统的组成部分。为了最大限度地减少风险,开发商不执行知之甚少的特点。该部分系统被发送到客户的网站。当用户的系统中工作,他们发现机会的新功能,给使用这些功能的开发人员的要求。开发商再捎这些增强要求自己,用完善的配置管理实践来改变软件的需求规范,更新设计,重新编码并重新测试。 (Bersoff和Davis,1991)。 然而,随着进化原型的主要问题是由于管理不善:缺乏定义的里程碑,缺乏成就 - 总是推迟这将是本原型机,直到下一个,缺乏适当的评估,原型之间缺乏明确的一个实现的系统,缺乏来自用户的持续承诺。这个过程需要持续的承诺,从用户更长的时间跨度更大程度比通常需要。用户必须随时了解为正在发生的事情,并完全意识到的“原型”的预期。

参考

Bersoff,E.,戴维斯,A。(1991)。软件配置管理的生命周期模型的影响。通讯。 ACM。

Crinnion,J。(1991)。进化系统开发,实用指南结构化的系统方法内使用原型。 Plenum出版社,纽约。

戴维斯,A.(1992)。操作原型:一个新的发展途径。 IEEE软件

软件生产力联盟(SPC)。 (1997年)。进化快速发展。 SPC记录SPC-97057-CMC,版本01.00.04

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top