`
mfcai
  • 浏览: 409080 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

软件原型方法探讨

阅读更多

在进行需求分析时,总会遇到这样几种情况:
(1)客户说不清楚需求;
(2)由于政策,业务原因,需要对需求进行变动;
(3)分析人员或客户理解有误。
这些情况往往是在完成编码时暴露出来的。直接的后果就是要求程序人员返工,重新编码。为了赶进度,要求程序员加班加点的干,造成手下人员怨声载道。如果反复如此,就会直接打击大家对这个项目的信心,使这个项目趋于失败。
怎样才能避免这样的情况发生呢?
    我认为用户应该尽早地介入项目是其中的关键因素。但是我们也不应该忘记一点就是用户不太懂电脑技术,你和他们讲uml的术语:什么用例,什么类图,什么活动图,效果肯定不会太好。我们需要令外一种和用户更方便的交互方法,这就是软件原型方法。

1.软件原型方法概述
在软件开发过程中,原型是软件的一个早期运行的版本,它最终反映系统的部分重要特性。如果在获得一组基本需求说明后,通过快速分析构造出一个小型的软件系统,满足用户的基本要求。使得用户可在试用原型的过程中得到亲身感受和受到启发,做出反应和评价。然后开发者根据用户的意见对原型加以改进。


2.软件原型方法处理方式
  原型方法的处理方式基本上有2种不同类型,即抛弃型和演化型。
如果用户认为这个版本和用户的期望有较大偏差,那么就可以抛弃原型。在取得用户更明确需求基础上重新开始设计与开发;如果用户认为这个版本和用户的期望比较吻合,那么就在原型的基础上继续开发,并获取新的需求。
原型系统不同于最终系统,他要求快速实现,投入运行。所以,必须注意功能上和性能上的取舍

3.原型方法基本要求
对原型的基本要求包括:
* 体现主要的功能;
* 提供基本的界面风格;
* 各主要功能模块之间能够建立相互连接。

4.原型方法实施的关键
我认为原型方法实施的关键是需要专门的需求分析人员,他既要懂业务,又要懂技术,还要和用户关系比较好。
主要职责:
能把业务问题转化为技术问题,避免程序员对业务问题不了解,做无用的编码
能把用户的不合理要求,用委婉的方法给用户解释,让用户放弃不切实际的想法。
了解客户的心理,能把用户急需的功能和急需的解决的问题先整理出来。

5. 原型方法和其它方法或过程的关系
  生命周期法中并不包括原型,或者说没有明确提供原型的概念和定义。原型可以认为是需求分析中的一个子部分。另外,应该说原型方法是对生命周期法的有益补充和完善。
  RUP中是最优化的统一软件过程,但RUP中似乎没有提到原型,RUP的核心过程是在迭代中精化。我个人的见解是,原型非常类似于第一次迭代的过程和结果。实际上,如果把原型看作为第一轮交付的成果,那么原型的很多不利之处,诸如花费前期成本等等,这些担心都将变得不复存在。
  XP方法对原型非常推崇,这是因为XP方法非常强调需求的重要性,甚至要求客户参与开发过程。但原型方法和XP也有区别。XP是分批交付,先做一个几个功能点的版本,完成后再每个开发周期往上面加其它功能点,而原型法一般要求做出比较完整,能覆盖主要功能点的粗略的版本。XP方法仁者见仁,智者见智,不一而举。

6. 如何避免项目团队做原型的时候出现部分人员闲置
  在项目管理中,对人力资源的调配应和项目进展相匹配。实际上在用户接触到原型制作的同时,可以进行项目计划、架构设计、技术培训以及技术难点攻关等等。如果从广义上理解原型的话,架构设计者甚至可以设计出一种用户开发团队使用的所谓框架原型,包含了主要的设计成分、模板和示例。比较理想的结果是,当原型完成后,需求分析、架构设计和界面风格设计都趋于完成,从这一点可以看到,原型方法可以作为快速软件开发的重要手段。

 本文欢迎转载,但转载时请注明出处

 

 
分享到:
评论
5 楼 basicbest 2008-01-03  
诺铁 写道
引用
XP方法对原型非常推崇,这是因为XP方法非常强调需求的重要性,甚至要求客户参与开发过程。但原型方法和XP也有区别。XP是分批交付,先做一个几个功能点的版本,完成后再每个开发周期往上面加其它功能点,而原型法一般要求做出比较完整,能覆盖主要功能点的粗略的版本。XP方法仁者见仁,智者见智,不一而举。

XP一点都不推崇原型。XP的逐次交付和原型法完全不同,原型对质量没有要求,对形式也没有要求,只要能达成沟通需求的目的皆可,XP的每一次迭代都是同样的高质量要求。

引用
比较理想的结果是,当原型完成后,需求分析、架构设计和界面风格设计都趋于完成,从这一点可以看到,原型方法可以作为快速软件开发的重要手段。

这需要由经验丰富的架构师领衔.有希望达到这样理想的结果。


所谓逐次交付和进化式原型可以认为是一样的。
4 楼 citysir 2008-01-02  
RUP每一次迭代是需要交付可运行的软件的,它只是原型的一部分,也是系统的一部分,而不是全部
3 楼 snowolf 2007-12-04  
引用
我觉得不要化太多的精力在原型上,这可能会造成项目成本的浪费,原型完全可以借鉴既有项目或一些框架来完成,目的是完善用户需求。

不赞同你的看法。在很多情况下,软件的开发都是摸着石头过河,前期我们不知道会有怎样的“额外需求”,如运营方面的需求、市场方面的需求,以及项目本身功能完善方面的需求,我们无法预知。因此,采用原型开发模式恰到好处。
2 楼 诺铁 2007-11-30  
引用
XP方法对原型非常推崇,这是因为XP方法非常强调需求的重要性,甚至要求客户参与开发过程。但原型方法和XP也有区别。XP是分批交付,先做一个几个功能点的版本,完成后再每个开发周期往上面加其它功能点,而原型法一般要求做出比较完整,能覆盖主要功能点的粗略的版本。XP方法仁者见仁,智者见智,不一而举。

XP一点都不推崇原型。XP的逐次交付和原型法完全不同,原型对质量没有要求,对形式也没有要求,只要能达成沟通需求的目的皆可,XP的每一次迭代都是同样的高质量要求。

引用
比较理想的结果是,当原型完成后,需求分析、架构设计和界面风格设计都趋于完成,从这一点可以看到,原型方法可以作为快速软件开发的重要手段。

这需要由经验丰富的架构师领衔.有希望达到这样理想的结果。
1 楼 javali 2007-11-26  
我觉得不要化太多的精力在原型上,这可能会造成项目成本的浪费,原型完全可以借鉴既有项目或一些框架来完成,目的是完善用户需求。

相关推荐

    原型方法论---关于软件原型方法若干问题的讨论

    ### 原型方法论——关于软件原型方法若干问题的讨论 #### 一、引言 随着信息技术的快速发展,软件开发方法也在不断演进。在众多的开发方法中,原型方法因其灵活性和有效性受到了广泛关注。本文旨在从作者的实践...

    物流管理系统原型(html)

    在这个HTML版本的原型中,我们可以深入探讨几个关键的知识点: 1. **HTML(HyperText Markup Language)**:HTML是网页开发的基础语言,用于定义网页的结构和内容。在物流管理系统的原型中,HTML被用来构建页面布局...

    原型法和面向对象的分析与设计方法

    在现代软件开发中,尽管敏捷和快速开发方法盛行,但原型法仍然具有很高的价值。它提供了灵活的方法来适应变化,降低了由于需求不明确导致的风险。通过结合原型法与面向对象分析与设计,开发者能够更有效地构建高质量...

    蚂蚁金服原型设计

    本文将深入探讨蚂蚁金服所采用的原型设计工具及其应用,以便我们从中汲取灵感,提升自己的设计实践。 “蚂蚁金服原型设计”这一主题,暗示了这款工具在金融科技创新领域的广泛使用。作为阿里巴巴集团的重要组成部分...

    软件工程-方法及实践许家珆习题答案.doc

    本习题集主要围绕软件工程的基本概念、方法和实践进行探讨,旨在帮助学习者理解和掌握软件工程的核心知识。 1. 软件的主要特性: - 无形性:软件是无形的,无法触摸,主要表现为逻辑和信息。 - 高成本:软件开发...

    axure (广告行业)后台管理系统原型(RP8可用).rar

    本篇将围绕“axure (广告行业)后台管理系统原型”进行深入解析,探讨其设计原理、功能模块以及使用技巧。 首先,广告行业后台管理系统的核心在于整合广告管理、内容管理和权限管理三大模块。广告管理模块是系统的...

    [精彩毕设]基于异构跨平台技术的GIS 软件原型设计与开发

    本研究旨在探讨如何利用Java等跨平台技术构建一个高效的GIS软件原型,实现“一次编译,多处运行”的目标。 #### 二、异构跨平台GIS软件技术研究现状及技术进展 ##### 2.1 研究现状 目前,国内外对于跨平台技术的...

    《具有涂鸦风格的产品原型设计软件》(Balsamiq Mockups)

    纸上的原型设计在可用性上能起到很大作用,也有专门一本书介绍和探讨,这就不多说了。 但是这也有它们本身的不足。首先是没法很好地保留设计和讨论的内容,我曾经尝试用数码相机把白板上的内容拍下来,但仅仅是为了...

    支付宝原型设计低保真-Axure9.zip

    下面我们将详细探讨这个主题,包括支付宝原型设计的特点、低保真原型设计的概念以及Axure9的使用方法。 支付宝作为国内领先的移动支付平台,其原型设计需要考虑的因素众多,包括但不限于用户界面(UI)的简洁性、...

    FPGA-Based Prototyping Methodology Manual 基于 FPGA 的原型方法手册

    ### 基于FPGA的原型设计方法论 #### 一、引言 《基于FPGA的原型设计方法论》(FPMM)是一本全面且实用的手册,它旨在指导如何利用现场可编程门阵列(FPGA)作为片上系统(SoC)开发与验证的平台。该手册不仅覆盖了...

    原型图文档资料

    根据提供的文件信息,我们可以从多个角度来探讨与“原型图文档资料”相关的IT知识点。以下内容将围绕“原型图”的概念、用途、制作方法以及如何通过相关资源进行深入学习等方面展开。 ### 原型图的基本概念 原型图...

    数据库原型设计软件,好用的

    在本文中,我们将深入探讨PowerDesigner的功能、使用方法以及其在数据库原型设计中的应用。 PowerDesigner是一款由Micro Focus公司开发的全面数据建模工具,它支持从概念数据模型(CDM)到物理数据模型(PDM)的...

    高保真原型图

    本文将深入探讨高保真原型图的定义、作用、制作工具以及相关技巧。 一、什么是高保真原型图 高保真原型图(High-Fidelity Prototype)是产品设计过程中的一个阶段,它比低保真原型更加详尽,接近实际产品的视觉...

    软件实例分析生鲜电商平台原型和需求分析期末作业.zip

    在IT行业中,软件开发是一项复杂的过程,涉及到多个阶段,其中包括原型设计和需求分析。本案例以"生鲜电商平台"为背景,让我们深入探讨这两个关键步骤。 首先,Axure是一款广泛使用的原型设计工具,它允许设计师...

    思维导图用于原型化设计

    本文将基于“思维导图用于原型化设计”的主题,结合部分提供的内容,深入探讨如何利用思维导图来优化原型化设计流程。 #### 二、基础知识:思维导图概述 思维导图是一种以图形方式呈现信息的工具,由英国心理学家...

    axure原型手机壳.zip

    Axure是一款广泛应用于产品经理、交互设计师和UI设计师手中的原型设计软件,以其强大的交互功能和快速原型制作能力受到业界好评。对于手机壳的设计,我们可以通过Axure构建详尽的用户体验流程,模拟实际操作,以便在...

    前方位、完整原型-跨境电商业务大数据产品原型设计

    产品原型是任何软件或应用开发过程中的关键阶段,它定义了产品的功能、布局和用户体验。在这个跨境电商的大数据产品设计中,原型可能包括各种交互式元素,如图表、表格和仪表盘,以直观地展示复杂的商业数据。例如,...

    软件方法 上 业务建模和需求 潘加宇

    《软件方法 上 业务建模和需求》是潘加宇先生的一部著作,该书深入探讨了软件开发过程中的业务建模与需求分析这一关键环节。业务建模旨在理解和表述组织的业务流程,而需求分析则是为了明确软件系统应具备的功能和...

    交互原型设计:走进页面区域.pptx

    在“走进页面区域”这一主题中,我们探讨了页面区域在交互原型设计中的核心作用及其重要性。 页面区域通常位于软件界面的左上方,其主要功能是管理和展示页面。它由两部分构成:功能菜单和页面展示。功能菜单提供了...

    手机APP原型图例子

    本文将深入探讨“手机APP原型图例子”,特别是针对B2B电商网站的移动应用设计,以及如何利用Axure进行原型制作。 首先,手机APP原型图是设计师在开发应用程序前创建的初步设计方案,它呈现了应用的功能布局和交互...

Global site tag (gtag.js) - Google Analytics