软件工程实践者的研究方法讲义_第1页
软件工程实践者的研究方法讲义_第2页
软件工程实践者的研究方法讲义_第3页
软件工程实践者的研究方法讲义_第4页
软件工程实践者的研究方法讲义_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

软件工程第22章风险管理主要内容被动风险策略和主动风险策略软件风险风险识别风险预测风险求精风险缓解、监测和管理RMMM方案小结风险管理很多问题都会困扰软件工程,风险分析和风险管理就是一系列步骤,用来帮助软件团队管理和管理不确定的事物。风险是潜在的——它可能发生也可能不发生。但是,不管发生还是不发生,我们都应该去识别它,评估它发生的概率,估算它的影响,并制定它实际发生时的应急方案。风险管理软件工程所涉及的每一个人——管理者、软件工程师和共利益者——都要参与风险分析和风险管理。软件工程是一项困难重重的任务,大量的事情可能出错。为此,时刻准备着——理解风险、采取主动的措施去回避或管理风险——是一个好的软件工程管理者应具备的根本条件。风险管理第一步称为“风险识别〞,即区分出什么情况下可能会出现问题。第二步,分析每个风险,确定其可能发生的概率以及发生时将带来的危害。了解这些信息之后,就可以按照可能发生的概率和危害程度对风险进行排序。第三步,制定一个方案来管理那些出现概率高和危害程度大的风险。风险管理工作产品是风险缓解、监测和管理方案或一且风险信息表单。所要分析和管理的风险,应该通过彻底研究人员、产品、过程和工程来确定。RMMM方案应该随着工程的进展而修订,以保证所考虑的风险是近期可能发生的。风险管理的应急方案应该是符合实际的。风险管理首先,风险涉及的是未来将要发生的事情。今天和昨天的事情已不再关心。问题是:我们是否能够通过改变今天的行为,而为一个不同的、充满希望的、更美好的明天创造时机。其次,风险涉及改变。如思想、观念、行为、地点的改变……第三,风险涉及选择,而选择本身就具有不确定性。[CHA89]风险管理对于软件工程领域中的风险,以上三条概念定义是显而易见的。未来是我们所关心的——什么样的风险会导致软件工程彻底失败?改变也是我们所关心的——客户需求、开发技术、目标环境以及所有其他与工程相关因素的改变将会对进度安排和总体成功产生什么影响?最后,我们必须抓住选择时机——应该采用什么方法及工具?需要多少人员参与?对质量的要求要到达什么程度才是“足够的〞?当没有方法消除风险,甚至连试图降低该风险也存在疑问时,这个风险就是真正的风险了。“在弄清楚软件工程中的〞真正风险“之前,识别出所有对管理者及开发者而言显而易见的风险是很重要的。被动风险策略和主动风险策略大多数软件工程团队还是仅仅依赖于被动的风险策略。被动策略最多不过是针对可能发生的风险来监测工程,直到风险发生时,才会拨出资源来处理它们。大多数情况下,软件工程团队对风险不闻不问,直到出现了问题。这时,工程团队才赶紧采取行动,试图迅速纠正错误,这通常叫做〞救火模式“。当这样的努力失败后,〞危机管理“接管一切,这时工程已经处于真正的危机中了。被动风险策略和主动风险策略对于风险管理,更好的是主动风险策略。主动风险策略早在技术工作开始之前就已经启动了。识别出潜在的风险,评估它们发生的概率及产生的影响,并按其重要性进行排序。然后,软件工程团队就可以制定一个方案来管理风险。方案的主要目标是回避风险,但不是所有的风险都能够回避,所以工程团队必须制定一个应急方案,使其在必要时能够以可控和有效的方式做出反响。软件风险一般认为软件风险包含两个特性:不确定性——风险可能发生也可能不发生;损失——如果风险发生,就会产生恶性后果或损失。进行风险分析时,重要的是量化每个风险的不确定程度和损失程度。为了实现这点,必须考虑不同类型的风险。工程风险威胁到工程方案。如果工程风险发生,就有可能会拖延工程的进度和增加工程的本钱。工程风险是指预算、进度、人员、资源、利益相关方、需求等方面的潜在问题以及它们对软件工程的影响。软件风险技术风险威胁到要开发软件的质量及交付时间。如果技术风险发生,开发工作就可能变得很困难或根本不可能。技术风险是指设计、实现、接口、验证和维护等方面的潜在问题。此外,规格说明的歧义性、技术的不确定性、技术陈旧以及〞前沿“技术也是技术风险因素。技术风险的发生是因为问题比我们所设想的更加难以解决。软件风险商业风险威胁到要开发软件的生存能力。商业风险常常会危害到工程或产品。五个主要的商业风险是:(1)开发了一个没有人真正需要的优良产品或系统;(2)开发的产品不再符合公司的整体商业策略;(3)开发了一个销售部门不知道如何去销售的产品;(4)由于重点的转移或人员的变动而失去了高级管理层的支持;(5)没有得到预算或人员上的保证。软件风险另一种常用的分类方式是由[CHA89]提出的。风险是通过仔细评估工程方案、开发工程的商业及技术环境以及其他可靠的信息来源之后可以发现的那些风险。可预测风险能够从过去工程的经验中推断出来。不可预测风险可能会真的出现,但很难事先加以识别。风险管理的七个原那么风险识别风险识别试图系统化地指出对工程方案的威胁。通过识别的和可预测的风险,工程管理者首先要做的是在可能时回避这些风险,在必要时控制这些风险。识别风险的一种方法是建立风险条目检查表。该检查表可用于风险识别,并且主要用来识别以下几种类型中的一些的和可预测的风险。风险识别产品规模商业影响客户特性过程定义开发环境开发技术人员才干及经验评估整体工程风险下面的提问来源于对世界各地的有经验的软件工程管理人员的调查而得到的风险资料,根据各个问题对工程成功的相对重要性将问题进行了排序。1.高层的软件管理者和客户管理者已经正式承诺支持该工程了吗?2.最终用户对工程和待开发的系统/产品热心支持吗?3.软件工程团队及其客户充分理解需求了吗?4.客户已经完全地参与到需求定义中了吗?5.最终用户的期望现实吗?

6.工程范围稳定吗?7.软件工程团队的技能搭配合理吗?8.工程需求稳定吗?9.工程团队对将实现的技术有经验吗?10.工程团队的人员数满足工程需要吗?11.所有的客户/用户对工程的重要性和待开发的系统/产品的需求有共识吗?如果对这些问题的任何一个答复是否认的,那么应务必启动缓解、监测和管理风险的步骤。风险因素和驱动因子美国空军有一本小册子,其中包含了如何很好地识别和消除软件风险的指南。他们所用的方法是要求工程管理者识别影响软件风险因素的风险驱动因子——性能、本钱、支持和进度。风险因素是以如下的方式定义的:性能风险:产品能够满足需求且符合其使用目的的不确定程度。本钱风险:能够维持工程预算的不确定程度。支持风险:开发出的软件易于纠错、修改及升级的不确定程度。进度风险:能够维持工程进度且按时交付产品的不确定程度。风险因素和驱动因子每一个风险驱动因子对风险因素的影响均可分为四个影响类别——可忽略的、轻微的、严重的或灾难的。图22-1指出了由于未识别出的软件失误而产生的潜在影响,或没有到达预期的结果所产生的潜在影响。影响类别的选择是以最符合表中描述的特征为根底的。风险因素和驱动因子图22-1影响评估风险预测风险预测,又称风险估计,试图从两个方面评估每一个风险:(1)风险发生的可能性或概率;(2)风险相关问题产生的后果。风险预测工程方案人员、其他管理人员及技术人员都要进行以下4步风险预测活动:1、建立一个尺度,以反映风险发生的可能性。2、描述风险产生的后果。3、估计风险对工程及产品的影响。4、标明风险预测的整体精确度,以免产生误解。风险求精在工程方案的早期,风险很可能只是一个大概的描述。随着时间的推移,对工程和风险的了解加深,可以将风险精化为一组更详细,在某种程度上,这些风险更易于缓解、监测和管理。实现方法之一是按条件-变迁-结果格式来表示风险,即采用如下方法来描述风险:

给定<条件>,那么有结论:(可能)<结果>风险缓解、监测和管理一个有效的风险处理策略必须考虑三个问题:风险回避。风险监测。风险管理及应急方案。如果软件团队采取主动的方法,最好的策略就是风险回避。这可以通过建立一个风险缓解方案来实现。RMMM方案风险管理策略可以包含在软件工程方案中,也可以将风险管理步骤

温馨提示

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

评论

0/150

提交评论