快速原型方法与软件开发中的风险管理_第1页
快速原型方法与软件开发中的风险管理_第2页
快速原型方法与软件开发中的风险管理_第3页
免费预览已结束,剩余3页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、快速原型方法与软件开发中的风险管理软件系统往往体现一定的功能,这些功能要符合一定的使用目的。 现 实世界是在不断变化的,而且变化的速度是越来越快,唯一不变的就 是“变化”的主题。这一现实也就直接影响到了实现实际功能的软件 系统,体现在需求、技术实现手段、应用环境等多个方面,这些都直 接影响到了软件系统自身的稳定性。同时,由于快速变化这一事实, 人们对于以后的预测能力也越来越有限, 有时根本难以明确未来的需 求,只能是根据环境的变化而随时调整, 因此直接导致了软件生命周 期越来越短这一现实,特别是应用软件,直接与这种变化紧密相连。 但是,软件开发往往需要一定的时间,一个软件系统从需求、设计、 开

2、发到投入使用,这一周期都不会很短,即从需求产生到实际能够投 入使用这段时间,其本身就已经成为应用软件自身的风险, 很可能当 一个软件开发完成的时候,市场需求已经发生了变化,开发出来的软 件已经不适用了。软件生命周期已经缩短,特别是应用软件,随着新 业务的市场窗口变窄的趋势,其自身的寿命周期也在缩短。快速投放 市场已经成为软件系统的首要因素。另一方面,由于快速变化的外部 环境给软件产品带来的风险,成本控制也成为软件工程管理的一个重 要方面,通过对需求变化的风险的评估来重新认识软件寿命周期,以 合理的成本完成软件开发,也已经成为对软件产品管理者的一个挑 战。在传统的软件工程方法中,主要使用瀑布式顺

3、序开发方法,包括需求 分析和定义、系统设计、实现和单元测试、系统集成测试、运行维护 等多个阶段,这一方法的优点是全面、严谨,但最大的缺陷,就是过 程一旦启动就难以适应变化。这一方法是基于一个重要的假设前提一 能够提出明确的需求。当面对快速变化、甚至是根本不明确的需求 时,这种假设根本上就不成立,因此这种传统的开发方法的缺点就越 来越突出,特别是应用软件的开发,由于它与市场的联系更加紧密, 使用这种传统的开发方法,已经难以为继。我们需要寻找一种更加快 速、成本合理的软件开发方法。快速原型方法就是这样一种开发更加迅速、更加成本合理的开发方 法。在软件开发过程中,最关键的步骤就是确切定义出需求,明确

4、软 件要实现的功能是什么,而这恰恰也是最困难的过程,因为现在许多 用户在初期只有一个隐约的、大致的考虑,根本不可能提出具体明确 的需求。这种情况下,使用快速原型进行反复交流、细化需求,就成 为一种更加有效的方法。一个软件的原型,主要是模拟重要的功能和 界面,但是一般不考虑运行效率,也不考虑系统的健壮性,出错处理 也考虑不多,它的目的只是为了实际描述概念中的结构, 使用户能够 检测与其概念的一致性和概念的可用性。目前主要有两种快速原型方法:丢弃原型(Throw-away prototyping )。其目标只是为了明确需求,使用最简单的开发方法,以最低的成本实现一个可工作的系统, 该系统只关注功能

5、,不考虑开发工具、性能、容错、未来实际运行环 境等。通过反复与客户交流和修改原型, 使原型的功能能够充分体现 客户需求。在明确了需求之后,原型就会被丢弃。以后软件的开发将 根据明确了的需求按照传统的工程化方法来开发。 进化原型( Evolutionary prototyping )。其目标就是与客户一 起工作,从一个原始的需求的轮廓开始,逐步改进,最终发展成为符 合实际需要的系统。 采用这种方法, 就需要考虑到软件未来的运行环 境等有关要求,这就要求从一开始就要对需求有一个比较清晰的认 识,不能有方向性的错误。快速原型方法存在的主要问题是: 文档容易被忽略, 建立原型过程中 的许多工作会被浪费

6、, 项目难以计划和管理。 但是这种方法的好处更 大:能够适应不明确的需求,比传统的瀑布式方法要快得多,用户的 介入更多,能够及早发现问题从而降低风险。 在软件开发过程中, 面对快速变化的市场需求和新技术发展, 最大的风险往往来自对需求 的分析和技术实现手段的选择, 通过原型化方法, 首先以合理的成本 细化需求、试验技术手段, 把最主要的风险降到最低,从而在总体上 降低软件开发的风险,加快软件产品的形成,降低软件开发的成本。 快速原型方法的过程, 特别是进化的原型方法, 与软件的版本升级有 些类似。随着市场需求的变化,软件版本不断升级,每升级一次,就 会增加新的功能, 或者引入符合发展新趋势的技

7、术手段。 但是每一个 版本都是产品化的,在产品质量方面都达到了相当的要求, 这与软件 原型是不同的,快速原型是一个由粗到细的过程, 在最终形成产品之 前,不论原型被修改了多少个版本,都还不能达到产品化的要求,不 能对外发布。使用快速原型方法的最大困难就是工程管理的问题,许多具有较强管理能力的企业对快速原型方法也感到畏惧, 根本原因就是其不确定性 所带来的风险。但是应该知道,快速原型的方法,正是为了针对主要 风险,分解风险,尽早地、低成本地降低风险。否则,如果一味地强 调软件开发必须以明确的需求为前提,采用传统的瀑布式开发方法, 则会面临更大的市场风险,如果以不明确的需求采用传统的开发方 法,软

8、件开发本身也必然面临着灾难性的风险。因此,快速原型方法 应该成为我们软件开发过程中降低风险的一种有效的方法。许多企业在新的软件开发需求提出时,实际已经建立了自己的信息系 统的基础架构,也已经开发了类似的软件系统,因此在新产品开发中 应采用的技术手段方面,已经不存在问题,这时的风险主要存在于不 明确的需求上,此时采用进化的原型方法,比丢弃的原型方法会更有 效。为了加强对原型化方法的开发过程的管理, 可以在整个原型化过 程中把每一次对需求的细化看作是一次版本升级, 在每一次升级过程 中,细化了的需求是明确的(虽然还不一定是最终的),这就可以采 用瀑布式开发管理方法,只是这一过程的周期会非常短,而且

9、只要不 是最终版本,成本就必须控制在最低。从另一个角度来说,如果企业 的规划能力比较强,对整个产品发展、信息系统建设都有比较明确的思路,这对于降低单个软件产品的风险非常有利, 限制了产品的风险, 为单个软件产品的设计开发,提供了很好的基础。因此,使用快速原 型方法,需要充分考虑到与企业原有的规划和基础设施的关系,并注意对它们的影响。下图是一种典型的快速原型方法的工作流程。因此,通过提高项目管理能力,针对不同情况,在不同阶段,正确运 用不同的工程方法,才能有效地控制风险,使软件开发保持强大的适 应变化的能力,也就保持了软件开发者的生存能力。快速原型法为我 们提供了一个很好的解决办法。最后还需要强调一点。为了是软件工程管理能够适应这种快速变化的 要求,使用相应的软件工程管理软件是十分必要的。 它主要有几个方 面的好处:1,建模工具和自动代码生成工具能够大大提高开发的速度。2,配置管理工具可以有效对对软件的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论