原型开发(英⽂:PrototypeDevelopment)
什么是原型开发(英⽂:Prototype Development)
1、什么是原型:
原型(prototype)即把系统主要功能和接⼝通过快速开发制作为“软件样机”,以可视化的形式展现给⽤户,及时征求⽤户意见,从⽽明确⽆误地确定⽤户需求。同时,原型也可⽤于征求内部意见,作为分析和设计的接⼝之⼀,可⽅便于沟通。
2、原型的主要价值:
原型法主要价值是可视化,强化沟通,降低风险,节省后期变更成本,提⾼项⽬成功率。⼀般来说,采⽤原型法后可以改进需求质量;虽然投⼊了较多先期的时间,但可以显著减少后期变更的时间;原型投⼊的⼈⼒成本代价并不⼤,但可以节省后期成本;对于较⼤型的软件来说,原型系统可以成为开发团队的蓝图;另外,原型通过充分和客户交流,还可以提⾼客户满意度。
3、对原型的基本要求包括:
* 体现主要的功能;
* 提供基本的界⾯风格;
* 展⽰⽐较模糊的部分,以便于确认或进⼀步明确,防患于未然。
* 原型最好是可运⾏的,⾄少在各主要功能模块之间能够建⽴相互连接。
4、原型的处理⽅法:
原型的处理⽅法基本上有2种不同类型,即抛弃型和演化型(不同的软件⼯程书籍称发不同,实质意义则类似)。可以抛弃原型,在取得的明确需求基础上重新开始设计与开发;也可在原型的基础上继续开发。⼀般⼩项⽬不采⽤抛弃型原型,否则成本和代价似乎会偏⾼。
5、表达⼯具
原型的表达⼯具可以有很多,如果是演化型的原型,当然优先选⽤软件本⾝的开发⼯具。否则还可以应⽤各种快速显⽰的⼯具,例
如,HTML,Powerpoint等等,只要能够充分⽽形象地表达就可以了。
在原型系统中,可以采⽤⼀些与常规不同的做法,例如,可以在界⾯上⽐较显著的地⽅写明当前模块
或界⾯的主要⽬的,由哪些⾓⾊操作,能解决其什么问题。这么做可以使得⽤户或开发团队成员⼀开始就有⾮常清楚的概念;⼜如,对于决策分析,你可以直接把⼀些分析结果画成图,并且配上⼀些⽂字说明,这样可以避免输⼊⼤量初始数据,等等。
************************************************************************
为什么需要原型
建⽴原型的主要原因是为了解决在产品开发的早期阶段不确定的问题,利⽤这些不确定性来判断系统中哪⼀部分需要建⽴原型和希望从⽤户对原型的评价中获得什么。原型可以使他们的想象更具体化,有助于说明和纠正这些不确定性,总的来说通过原型法可以很好的减少项⽬风险。
⽔平和垂直的原型
我们和业务⼈员经常谈到的是⽔平原型,⽔平原型也叫做“⾏为原型” (behavioral prototype)。探索预期系统的⼀些特定⾏为,并达到细化需求的⽬的。当⽤户在考虑原型中所提出的功能可否使他们完成各⾃的业务任务时,原型使⽤户所探讨的问题更加具体化。它更多从业务需求着⼿,应⽤在需求阶段。
垂直原型(vertical prototype),也叫做结构化原型或概念的证明,实现了⼀部分应⽤功能。当预期实现阶段可能存在技术风险时,可以开发⼀个垂直原型。垂直原型通常⽤在⽣产运⾏环境中的⽣产⼯具
构造,使其结果⼀⽬了然(更有意义)。⽐起在软件的需求开发阶段,垂直原型更常⽤于软件的设计阶段以减少风险。
抛弃型原型或进化型原型
从原型存在⽣命时机考虑分为抛弃型原型和进⾏型原型,抛弃型原型不作为最终产品的⼀部分,只是作为探索性的回答⼀些需求问题,细化需求并提⾼需求质量。由于在开发阶段最终将抛弃这些原型,因此不需要花太⼤⼒⽓去建⽴该原型。
进化型原型是在已经清楚地定义了需求的情况下,为开发渐进式产品提供了坚实的开发基础,作为产品的部分实现。与抛弃型原型的快速、粗略的特点相⽐,进化式模型⼀开始就必须具有健壮性和产品质量级的代码。因此,对于描述相同的功能,建⽴进化型原型⽐建⽴抛弃型原型所花的时间要多。⼀个进化型原型必须设计为易于升级和优化的,因此,你必须重视软件系统性和完整性的设计原则。要达到进化型原型的质量要求并没有捷径。进化型原型⼀般在处理架构时会采⽤。
低保真原型和⾼保真原型
原型分低保真原型和⾼保真原型,低保真原型⽬标在于表达⼯作主要内容,体现静态的元素,不需要动态交互。⾼保真原型⽬标是作出⼀个和实际上线后的产品差不多的样⼦,不仅包括静态的界⾯,还
包括交互,甚⾄有的还把数据保存、逻辑验证等都包含在内。如果客户要求开发之前必须看到和实际产品⼀样的原型时,这时就需要做⾼保真原型,如果对于⼩型项⽬,或者只是⽤来做交流主要需求⽤时,就可以做低保真原型。
原型⼯具
需求在产品开发中的重要性已经是不需争议的事实,现在需求⽅法有很多, 业界最常⽤的⼀种办法就是通过原型展现需求,通过⽤例表达需求。业务⼈员掌握制作原型能够更快更清楚的表达业务,同客户和开发可以进⾏更直观的沟通,使得⼤家在理解上容易更⼀致。然⽽原型⼯具有⾮常多,⽐如⼤多数⼈⽤过的Excel、Access、Delphi、PowerPoint、Axure、Balsamiq Mockups、ForeUI、iRise、Lucid Spec、Mockup Screens、Pencil、Serena等,甚⾄开发⼯具雅奇等也可以⽤来做原型。⼯欲善其事,必先利其器,对于刚刚使⽤原型⽅法的业务⼈员来说,如何选择适合⾃⼰的原型⼯具呢?这就需要⾸先根据原型的⽬的明确做原型的粒度。
在限定时间内能够将需求表达更清晰需要⼀个合适的⼯具。业务⼈员⼀般都不会有什么编程经验,我们怎么能够做出表达静态元素界⾯,⼜能加⼊动态交互功能的原型呢?为了能在需求阶段都能够更好的采⽤原型开发⽅法,我搜集并使⽤过多种原型⼯具,希望打⼀款⽐较使⽤简单,但⼜能实现⼀般的交互功能,最好是业务⼈员学个⼀个⼩时就可以完全⾃⼰动⼿使⽤了。我⽤过⼀个原型⼯具 GUI De
sign Studio ,它的主要特点就是操作简单,不需要开发⼈员帮助,通过半个⼩时的学习后你将可以⾃⼰开始做原型了。《原型⼯具GUI Design Studio》对这个⼯具的使⽤进⾏可简单介绍。
原型不仅仅是界⾯
我们可以通过原型来引导⽤户来使⽤系统解决问题,但原型不仅仅是需求,它还是设计、开发⼯具,所以作原型时不仅需要客户的参与,也需要技术⼈员的参与,但应该尽量由业务⼈员⽽⾮开发⼈员来实现原型的需求部分。下⾯是在UCD社区⾥⾯看到的⼀张图,原型最主要功能是表现界⾯,但要做好界⾯其实不容易,⼭下⾯还有很多东西需要考虑才能⽀撑界⾯,其实做原型的过程就是设计系统的过程。我们都希望尽量把开发⼯作前移,需求能做的⼯作就不留到开发环节做。如果软件模式⼀定,那么框架做得好的话就⼀定可以让业务⼈员来做⼀部分现在属于开发⼈员的⼯作(注:这部分⼯作其实本就该属于业务⼈员),那时⼤家就能体会到开发软件就如同做原型⼀样的乐趣了!
使⽤原型有三个主要⽬的:
1. 作为⼀种需求⼯具,明确并完善需求原型,它初步实现所理解的系统的⼀部分。
2. 作为⼀种设计⼯具,探索设计选择⽅案原型,探索不同的⽤户界⾯技术,使系统达到最佳的可⽤性,并且可以评价可能的技术⽅案。
3. 作为⼀种开发⼯具,发展为最终的产品原型,是产品最初⼦集的完整功能实现,通过⼀系列⼩规模的开发循环后可以完成整个产品的开发。
OEA的原型⼯具将会考虑集成需求⼯具、设计⼯具和开发⼯具与⼀体,由业务需求⼈员、设计师和开发⼈员在OpenExpressApp平台下进⾏连贯的开发,它做的是⽔平、进化型、⾼保真原型。
**************************10款交互设计原型开发⼯具**************************
1、Axure RP(Rapid Prototyping)
Axure(读⾳为Ack-Sure)⽆疑是⽬前最受关注的原型开发⼯具,其能通过组件的⽅式帮助⽹站或软件设计师快速建⽴带有注释的原型(流程图、线框图),并凭借⾃定义可重⽤的元件、动态⾯板以及丰富的script能够建⽴基本功能或页⾯逻辑的动态演⽰⽂件。
Axure借鉴了office的界⾯,能够让⽤户快速上⼿,并且提供了丰富的组件样式修改,使得通过其能够创建低保真、⾼保真甚⾄接近于实际效果的界⾯。然⽽最让⼈称道的是,Axure的丰富的脚本模式,可以通过点击和选择能够快速完成界⾯元素的交互,如链接、state切换、动态变化等效果,使得 Axure能够⽣成⼗分接近于真实产品的原型。另⼀⽅⾯,Axure能够导⼊其他⼈创建的元件库,使得Axure能够满⾜绝⼤多数类型产品的设计。
但Axure仍然有⼀个让⼈头痛的问题:对于中⽂的⽀持不太友好。在⼩部分元件上输⼊中午的时候,经常需要像碰运⽓似的反复切换输⼊法,破坏了咱们设计师的⽤户体验。
瑕不掩瑜,Axure仍然是交互设计师的⾸选原型⼯具。
2、 Microsoft Office Visio
Visio在2000年被微软收购,并在2002年成为office2003套件中的⼀个组件,最新版本是2007。Visio能够获得推荐的原因是因为Visio 的适⽤性⾮常之⼴,从⽹站界⾯、数据库模型,到平⾯布置图到⼯艺流程图,Visio都提供了相应的元件库和模板来进⾏快速创建。
相较Axure⽽⾔,Visio更适合于传统⾏业的⽣产或流程设计,或者软件及互联⽹⾏业中的信息、数据和流程的说明,⽽不太适⽤于web界⾯。因为其的基于web的元件库还是⽐较少,并且形式和结构也更类似于word中的图形⼯具,因此在原型开发效率上都有所不⾜。
3、Balsamiq Mockups
这个基于Adobe AIR Runtime的⼯具实在是有让⼈眼前⼀亮的感觉,⼿绘风格的元件样式粗犷淋漓,能创建接近于纸上⼿绘的原型⽂件。其提供了丰富的⼿绘风格的web常⽤元件,包括常⽤的html控件、以及⼀些组合控件,如多媒体控制器、标签页、列表、Iphone界⾯元件等。
Mockups最值得赞赏之处在于其提供的多数组件都可定制外观,对于中⽂的⽀持也不错(选择View > Use System Fonts)。
4、Mockflow
Mockflow和以上⼯具最⼤的不同在于Mockflow是⼀项基于Adobe Flex技术开发在线服务,提供了与Balsamiq Mockups基本相似的功能,甚⾄更丰富的组件,虽然其元件定制化不够强⼤,但其提供的元件库默认样式却⾮常适合⽤来做商业产品原型的搭建。有⼀个让我爱不释⼿的功能是模板,可以设置基于任何页⾯的模板来进⾏新的页⾯设计。
开发网站需要什么软件与其他模板⼯具相⽐,mockflow有⼀个⾮常特⾊的功能,基于web的存储可以在任意电脑上联机打开,同时可以其他⼈进⾏快速的分享,并收集在线反馈意见,⾮常适合虚拟团队的原型设计交流。
虽然在线服务的基本帐号只能创建⼀个⽂件,但单个⽂件却没有限制页数,因此也基本上⾜够使⽤。
5、Pencil sketch
Pencil 是⼀款基于Firefox的扩展组件,安装之后即可在Firefox的⼯具菜单中打开Pencil的绘图⾯板。功能⽐较简单,仅能⽤以⽇常简单⼯作的辅助说明。提供的默认元件都是基于软件⼯程,因此更适合⽤于windows桌⾯程序的简易界⾯搭建,或者是基本的页⾯功能说明,并不适⽤于严肃的原型开发,
但好在体积⼩、⼜轻便,能够⽅便将⽹页中的元素直接拖到或者复制到当前的画布中,这也是Pencil安装在Firefox所带来的便利之⼀吧。
更多⼯具...
在以上列举的原型开发⼯具都是较为常⽤的,也是在国内的交互设计师们⽐较常讨论的,但其实和Axure功能相似的软件还有很多,下⾯也就⼀些简单说明:
6、 GUI Design Studio
这是⼀款真的⾮常强⼤的原型制作⼯具,没有在上⾯推荐的原因是因为我还没有实际体验过,但冲着这⼯程级的界⾯设计就没有去尝试的冲动,但是从官⽅⽹站的截图和视频演⽰来看,这款软件的操作模式和前⾯的原型⼯具⼤有不同。Axure之类多是基于页⾯的原型设计,对于web⽹站尽管很实⽤,但是对于软件界⾯的流程设计却略显繁琐。⽽GUI Design Studio却另辟蹊径,直接以建⽴元素与元素之间的关联的⽅式来⾃动化的创建动作流程,⽽从视频演⽰来看,这样的确很⼤程度上提升了软件界⾯原型搭建的效率。
7、 Prototype Composer
Serena 公司免费提供的原型开发⼯具,功能确实强⼤,提供了基于项⽬管理主要流程的产出物⽂档模
板、原型⼯具以及开发流程控制,这个软件的开发理念⾮常好,⽤这⼀款⼯具来满⾜项⽬开发流程中各个环节的沟通和决策。但软件的学习和使⽤成本⽐较⾼,要了解其中的全部功能,貌似需要花不少时间。另外软件的效率和稳定性还有待提⾼,试⽤的过程中多次出错及停⽌响应。
8、Lucid Spec
由 Elegance科技推出的Lucid Spec是⼀款很类似Pencil的原型⼯具,仅仅是提供了更多控件。不过Lucid Spec强调了⽣成⼲净的说明⽂档的功能,这可能是针对于多数原型⼯具的⾃动化⽣成规范的冗余⽽⾔的,不过⽼实说Lucid Spec提供的原型界⾯太过简陋,并且⽣成的
说明⽂档也未见优化有怎样的提升。视频介绍
9、Irise Professional Edition
Irise与其他原型⼯具相⽐其中⼀个特⾊在于提供了样本数据的功能,这是类似于excel表的⼀个样本数据库,可以通过界⾯元素直接获取样本数据库中的数据,这样所⽣成的原型甚⾄可以使动态数据更新的。
10、Adobe Reader
Adobe reader?没错。其实理论上任何可以创建图形和⽂本的⼯具都可以⽤来原型开发,因为原型本⾝就是对于业务逻辑和功能界⾯的模拟或仿真,因此有何理由不能使⽤PDF格式呢?BoxandArrow的这篇⽂章《PDF Prototype:》提醒了我们,所有的原型⼯具都只是⼯具,⽽不是设计本⾝。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。