软件工程项目风险分析.doc
软件工程项目风险分析 与任何其他工程项目一样,软件工程项目的开发也存在各种各样的风险,有些风险甚至是灾难性的。 R.Charette 认为,风险与将要发生的事情有关,它涉及诸如思想、观念、行为、地点、时间等多种因素;风险随条件的变化而改变,人们改变、选择、控制与风险密切相关的条件可以减少风险,但改变、选择、控制条件的策略往往是不确定的。在软件开发过程中,人们关心的问题是,什么风险会导致软件项目的彻底失败?顾客需求、开发环境、目标机、时间、成本的改变对软件项目的风险会产生什么影响?人们必须抓住什么机会、采取什么措施才能有效地减少风 险、顺利完成任务?所有这些问题都是软件开发过程中不可避免并需要妥善处理的。软件工程的风险分析包括:风险标识、风险估算、风险评价和风险管理四部分。 1、风险标识 从宏观上看,风险可以分为项目风险、技术风险和商业风险三类。由于项目在预算、进度、人力、资源、顾客和需求等方面的原因对软件项目产生的不良影响称为项目风险。软件在设计、实现、接口、验证和维护过程中可能发生的潜在问题,如规格说明的二义性、采用陈旧或尚不成熟的技术等等,对软件项目带来的危害称技术风险。开发了一个没人需要的优质软件,或推销部门不知如 何销售这一软件产品,或开发的产品不符合公司的产品销售战略,等等,称为商业风险。这些风险有些是可以预料的,有些是很难预料的。为了帮助项目管理人员、项目规划人员全面了解软件开发过程存在的风险, Boehm 建议设计并使用各类风险检测表标识各种风险。例 1 给出一个参考性的“人员配备风险检测”。 例 1、人员配备风险检测。 ( 1)开发人员的水平如何。 ( 2)开发人员在技术上是否配套。 ( 3)开发人员的数量如何。 ( 4)开发人员是否能够自始至终地参加软件开发工作。 ( 5)开发人员是否能够集 中全部精力投入软件开发工作。 ( 6)开发人员对自己的工作是否有正确的期望。 ( 7)开发人员是否接受过必要的培训。 ( 8)开发人员的流动是否能够保证工作的连续性。 上述问题可以选用 0, 1, 2, 3, 4, 5 来回答。完全肯定取值为 0,反之为 5,中间情况分别取值 1, 2, 3, 4。值越大表示风险越大。人员配备风险检测表反映了人的因素对软件项目的影响,可以用它来估算人的因素对软件项目带来的风险。 2、风险估算 软件项目管理人员可以从影响风险的因