为什么需要原型
建立原型的主要原因是为了解决在产品开发的早期阶段不确定的问题,利用这些不确定性来判断系统中哪一部分需要建立原型和希望从用户对原型的评价中获得什么。原型可以使他们的想象更具体化,有助于说明和纠正这些不确定性,总的来说通过原型法可以很好的减少项目风险。
水平和垂直的原型
我们和业务人员经常谈到的是水平原型,水平原型也叫做“行为原型” (behavioral prototype)。探索预期系统的一些特定行为,并达到细化需求的目的。当用户在考虑原型中所提出的功能可否使他们完成各自的业务任务时,原型使用户所探讨的问题更加具体化。它更多从业务需求着手,应用在需求阶段。
垂直原型(vertical prototype),也叫做结构化原型或概念的证明,实现了一部分应用功能。当预期实现阶段可能存在技术风险时,可以开发一个垂直原型。垂直原型通常用在生产运行环境中的生产工具构造,使其结果一目了然(更有意义)。比起在软件的需求开发阶段,垂直原型更常用于软件的设计阶段以减少风险。
抛弃型原型或进化型原型
从原型存在生命时机考虑分为抛弃型原型和进行型原型,抛弃型原型不作为最终产品的一部分,只是作为探索性的回答一些需求问题,细化需求并提高需求质量。由于在开发阶段最终将抛弃这些原型,因此不需要花太大力气去建立该原型。
进化型原型是在已经清楚地定义了需求的情况下,为开发渐进式产品提供了坚实的开发基础,作为产品的部分实现。与抛弃型原型的快速、粗略的特点相比,进化式模型一开始就必须具有健壮性和产品质量级的代码。因此,对于描述相同的功能,建立进化型原型比建立抛弃型原型所花的时间要多。一个进化型原型必须设计为易于升级和优化的,因此,你必须重视软件系统性和完整性的设计原则。要达到进化型原型的质量要求并没有捷径。进化型原型一般在处理架构时会采用。
低保真原型和高保真原型
原型分低保真原型和高保真原型,低保真原型目标在于表达工作主要内容,体现静态的元素,不需要动态交互。高保真原型目标是作出一个和实际上线后的产品差不多的样子,不仅包括静态的界面,还包括交互,甚至有的还把数据保存、逻辑验证等都包含在内。如果客户要求开发之前必须看到和实际产品一样的原型时,这时就需要做高保真原型,如果对于小型项目,或者只是用来做交流主要需求用时,就可以做低保真原型。
原型工具
需求在产品开发中的重要性已经是不需争议的事实,现在需求方法有很多, 业界最常用的一种办法就是通过原型展现需求,通过用例表达需求。业务人员掌握制作原型能够更快更清楚的表达业务,同客户和开发可以进行更直观的沟通,使得大家在理解上容易更一致。然而原型工具有非常多,比如大多数人用过的Excel、Access、Delphi、PowerPoint、Axure、Balsamiq Mockups、ForeUI、iRise、Lucid Spec、Mockup Screens、Pencil、Serena等,甚至开发工具雅奇等也可以用来做原型。工欲善其事,必先利其器,对于刚刚使用原型方法的业务人员来说,如何选择适合自己的原型工具呢?这就需要首先根据原型的目的明确做原型的粒度。
在限定时间内能够将需求表达更清晰需要一个合适的工具。业务人员一般都不会有什么编程经验,我们怎么能够做出表达静态元素界面,又能加入动态交互功能的原型呢?为了能在需求阶段都能够更好的采用原型开发方法,我搜集并使用过多种原型工具,希望找打一款比较使用简单,但又能实现一般的交互功能,最好是业务人员学个一个小时就可以完全自己动手使用了。我用过一个原型工具 GUI Design Studio ,它的主要特点就是操作简单,不需要开发人员帮助,通过半个小时的学习后你将可以自己开始做原型了。《原型工具GUI Design Studio》对这个工具的使用进行可简单介绍。
原型不仅仅是界面
我们可以通过原型来引导用户来使用系统解决问题,但原型不仅仅是需求,它还是设计、开发工具,所以作原型时不仅需要客户的参与,也需要技术人员的参与,但应该尽量由业务人员而非开发人员来实现原型的需求部分。下面是在UCD社区里面看到的一张图,原型最主要功能是表现界面,但要做好界面其实不容易,山下面还有很多东西需要考虑才能支撑界面,其实做原型的过程就是设计系统的过程。我们都希望尽量把开发工作前移,需求能做的工作就不留到开发环节做。如果软件模式一定,那么框架做得好的话就一定可以让业务人员来做一部分现在属于开发人员的工作(注:这部分工作其实本就该属于业务人员),那时大家就能体会到开发软件就如同做原型一样的乐趣了!
OpenExpressApp对原型的支持
细心的读者在《OpenExpressApp架构-信息系统开发平台》中的Roadmap图中能看到右边的OpenTool中包括对原型的支持。OEA关注点更多的是从软件工程向业务工程的转移,所以和业务相关的原型会作为一个重点工具来考虑。
使用原型有三个主要目的:
- 作为一种需求工具,明确并完善需求原型,它初步实现所理解的系统的一部分。
- 作为一种设计工具,探索设计选择方案原型,探索不同的用户界面技术,使系统达到最佳的可用性,并且可以评价可能的技术方案。
- 作为一种开发工具,发展为最终的产品原型,是产品最初子集的完整功能实现,通过一系列小规模的开发循环后可以完成整个产品的开发。
OEA的原型工具将会考虑集成需求工具、设计工具和开发工具与一体,由业务需求人员、设计师和开发人员在OpenExpressApp平台下进行连贯的开发,它做的是水平、进化型、高保真原型。
其它参考:
用户研究员对比原型有感
10款交互设计原型开发工具
非原型 不设计
一些网站设计原型图
更多内容:业务分析与需求.pdf
分享到:
相关推荐
《最新软件需求分析入门》 在信息技术领域,软件需求分析是软件开发过程中的关键环节,它为项目的成功奠定了坚实的基础。需求分析不仅是了解用户期望的过程,更是定义、记录、验证和管理软件系统功能与性能需求的...
在"AXURE RP8网站和APP原型制作从入门到精通"这本教程中,你将全面学习如何使用AXURE RP8进行原型设计。以下是主要的知识点概述: 1. **基础操作**:首先,你需要了解AXURE RP8的界面布局,包括工具箱、部件库、...
总的来说,"Java_用于帮助开发人员入门的Maven原型集合.zip"是一个非常有价值的资源,对于想学习或提高Maven技能的Java开发者来说,它可以作为一个很好的起点。通过这个集合,开发者不仅可以快速搭建项目,还可以...
5. **需求验证**:在需求分析完成后,需要通过评审和原型演示等方式验证需求的正确性和可行性。这可以帮助发现潜在问题并及时调整,避免后期更改导致的成本增加。 6. **需求管理**:需求管理包括变更控制、需求跟踪...
1. **需求分析入门**:需求分析是软件开发过程中的第一步,它涉及到识别、记录和定义项目所期望的功能和性能。在这个阶段,你需要了解需求的基本类型(功能性需求和非功能性需求),以及如何通过访谈、问卷调查、...
原型设计是产品开发的关键阶段,它允许设计师快速构建并测试用户界面的概念,从而在投入大量时间和资源开发完整产品之前发现问题并进行修正。AXURE RP提供了丰富的功能,包括页面布局、交互设计、动态面板、自定义...
《AxureRP7网站好App原型制作从入门到精通》是由金乌编著的一本教程,专注于教授读者如何使用Axure RP7这一强大的原型设计工具来创建高效的网站和应用程序原型。Axure RP7是一款广泛应用于产品设计领域的工具,它...
3. 网页原型开发: 网页原型使用HTML、CSS和JavaScript进行开发。HTML负责内容结构,CSS负责样式表现,而JavaScript则处理交互行为。保持HTML、CSS和JavaScript的分离有利于代码维护和优化。推荐的代码编辑工具有...
### 软件工程学基础入门课程:需求工程解析 #### 一、需求工程概览 **需求工程**是软件工程的重要组成部分,专注于理解和描述软件系统的行为和约束条件,以确保最终产品能够满足用户的需求。它包括了一系列活动,...
在软件开发过程中,入门软件需求分析与建模是至关重要的第一步。需求分析是软件生命周期中的核心环节,它在问题定义和可行性研究之后进行,目的是确保软件团队与用户之间对系统需求有清晰、一致的理解,避免因沟通...
### NI_LabVIEW_ARM嵌入式开发模块使用入门 #### 知识点一:LabVIEW ARM 嵌入式开发模块概述 - **模块简介**:LabVIEW ARM 嵌入式开发模块是由National Instruments(简称NI)与Keil公司合作开发的一款图形化的...
在单片机领域,MSP430系列是德州仪器(Texas Instruments,简称TI)推出的系列微控制器。...配合CCS集成开发环境和MSP430G2LaunchPad开发板,开发者能够快速上手,进行高效的产品原型设计和应用开发。
《原型设计大师:Axure RP网站与APP设计从入门到精通》是一本专注于介绍如何使用Axure RP进行高效原型设计的专业书籍。这本书旨在帮助读者掌握从基础到高级的Axure RP技能,从而能够创建出富有创新性和用户体验优良...
### Web前端开发技术实战视频教程知识点总结 #### 一、Web前端开发概述 - **定义与重要性**:Web前端开发是指通过HTML、...无论是初学者还是希望进阶的专业人士,都可以根据自身需求挑选合适的学习内容进行深入研究。
在IT行业中,中继器(Repeater)是Axure RP这款原型设计工具中的一个重要功能,它允许用户创建...同时,熟练掌握中继器的使用,还能提高工作效率,减少与开发团队之间的沟通成本,确保原型设计更贴近最终的产品需求。
### iOS开发快速入门知识点 #### 一、iOS开发概述 - **定义与背景**:iOS是苹果公司为iPhone和iPad等设备开发的操作系统。iOS以其流畅的用户体验、强大的硬件支持和丰富的应用程序生态著称。 - **开发语言**:主要...
### AMR开发工程师入门宝典:深度解析与实践指南 #### 嵌入式系统开发概览 嵌入式系统,作为现代科技的核心组件之一,以其应用为中心的设计理念,广泛应用于从智能家居到航空航天的各个领域。它以处理器为核心,...
- 敏捷开发:注重灵活适应变化,如Scrum和Kanban方法。 3. **软件质量管理**: - 质量保证:确保软件开发符合预定标准和规范。 - 质量控制:检查和度量软件产品以识别质量问题。 - 风险管理:识别潜在问题,...