和任何其他工程项目一样,软件工程项目的开发也存在各种各样的风险,有些风险甚至是灾难性的.我们关心的问题是,什么风险会导致软件项目的彻底失败?
1:
首先看几个基本概念
潜伏缺陷(Latent Defect):一个实际存在但由于触发条件不满足而没有导致系统失效的缺陷。
隐蔽缺陷(Masked Defect):一个实际存在的缺陷,由于其他缺陷导致它所在的代码没有得到执行,因而没有引起系统失效。
潜伏缺陷(Latent Defect):一个实际存在但由于触发条件不满足而没有导致系统失效的缺陷。
隐蔽缺陷(Masked Defect):一个实际存在的缺陷,由于其他缺陷导致它所在的代码没有得到执行,因而没有引起系统失效。
风险分析是指识别、估计和评价风险的过程
软件风险分析的目标:确定测试对象、测试的优先级以及测试的深度
理想状况下,风险分析工作应该由交叉学科的专家小组来负责。 (包括开发员、测试员、用户、客户、销售人员和其他 )风险分析工作应该在软件生命周期内尽早进行。因为需求、资源和其他因素可能会发生变动,必须要在项目进行的过程中时时对分析结果进行评审.
2.
风险分析步骤
•步骤1:成立头脑风暴小组,包括最终用户、开发员、测试员、销售人员和业务分析师。
•步骤2:编制系统功能列表 编制系统范围内的特征和属性列表。
•步骤3:确定系统失效的可能性,为失效的可能性赋一个相对值。该特征或属性不能正常运行的可能性有多大?
•步骤4:确定影响,为影响赋一个相对值。如果该特征或特性发生失灵,将会对用户造成什么样的影响?
•步骤5:赋数值,根据在上述第3和第4步所赋的相对值赋数值。
•步骤6:计算风险优先级,将赋给失效可能性和影响可能性的值求和。
•步骤7:评审/修改值,根据复杂性、新的或修改过的特征、开发方法、环境可达性、可使用性和小组历史等信息来评审和修改优先级。
•步骤8:排定特征的优先级,根据风险优先级重新组织特征和属性列表。
•步骤9:确定“分割线”,建立“分割线”,将特征分成“待测”特征和“不予测试的”特征。
•步骤10:考虑缓解风险,决定哪些风险(如果有的话)能够通过增加资源、变换开发方法等方式得到缓解。
•步骤1:成立头脑风暴小组,包括最终用户、开发员、测试员、销售人员和业务分析师。
•步骤2:编制系统功能列表 编制系统范围内的特征和属性列表。
•步骤3:确定系统失效的可能性,为失效的可能性赋一个相对值。该特征或属性不能正常运行的可能性有多大?
•步骤4:确定影响,为影响赋一个相对值。如果该特征或特性发生失灵,将会对用户造成什么样的影响?
•步骤5:赋数值,根据在上述第3和第4步所赋的相对值赋数值。
•步骤6:计算风险优先级,将赋给失效可能性和影响可能性的值求和。
•步骤7:评审/修改值,根据复杂性、新的或修改过的特征、开发方法、环境可达性、可使用性和小组历史等信息来评审和修改优先级。
•步骤8:排定特征的优先级,根据风险优先级重新组织特征和属性列表。
•步骤9:确定“分割线”,建立“分割线”,将特征分成“待测”特征和“不予测试的”特征。
•步骤10:考虑缓解风险,决定哪些风险(如果有的话)能够通过增加资源、变换开发方法等方式得到缓解。