UML软件工程组织

项目管理中风险评价的必要性
作者:何云 选自:www.iteer.net

摘要:在项目管理实践中,风险是时时存在的。 因此,如何评价、度量风险的大小,确定可接受风险和不可接受风险,对不可接受风险作进一步分析,制定补偿措施,将风险减至最小或可以接受的水平,是一个急需解决的课题。本文从风险评价的意义出发,探讨了风险评价的基本方法。
关键词:风险评价 项目管理 必要性

一 风险评价的意义
在项目管理实践中,风险主要指危险事件的风险,所以也称危险的风险。软件系统在设计和运行过程中存在不安全因素,会造成对设备,环境和人的伤害及任务损失,风险则是对这些不安全因素所造成的伤害和损失的一种量度。
风险评价近二十年来发展成为安全性分析的基本部分。虽然在设计方面有严格的标准、规则和实施准则要求,但总有一些因素被自觉或不自觉地引入、进入系统,造成潜在的危险存在,这些因素主要存在于三个方面:
(1)设备水平、实施规则通常是针对有代表性的、典型的问题来制定的,一些外来的、偶然的事件往往没有考虑。
(2)在设计中引入了不成熟水平及其潜在的危险。
(3)人的因素和计算机因素可能会在系统设计、制造、结构工艺、操作运行、维护等方面导致危险。
因此,风险是时时存在的。 虽然如此,但风险的大小是可以评价度量的,确定可接受风险和不可接受风险,对不可接受风险作进一步分析,制定补偿措施,将风险减至最小或可以接受的水平。
在实践中,人们通常把危险风险定义为:用危险的可能性(即危险的发生概率)和危险后果的严重性表示的、未来某一确定条件下发生事故的可能程度。即,危险事件的风险R是该事件发生的概率P和损失程度C的函数:即 R = f(P,C)。所以,我们进行危险分析的目的是为了风险评价。如果不进行风险评价,那么安全性评价就没有什么意义,至少可以说是它是不完全的。
安全性评价又称危险评价或风险分析,它以保障安全为目的,按照科学的程序和方法,对系统中固有的或潜在的危险及严重性进行预先的安全分析与评估,并在条件许可的前提下,以既定的指数、等级或概率值做出定量的表示,为制订基本的防护措施和安全管理提供科学的依据。安全评价主要从产生损失和伤害的可能性、影响范围及严重程度着手,具有预测的性质和特点,其目的是通过系统的安全性分析(主要是危险分析),挖掘系统中的事故隐患,寻求有效的安全对策和措施,以消除或减低危险,并与安全指标相对照,研究安全措施是否有效,并在预测事故发生可能性的基础上,掌握事故发生的一般规律,做出定性、定量的评价,以便提出有效的安全控制措施,减少并控制事故的发生。
通常情况下,对软件项目进行安全性评价至少应包括以下一些内容:
考察软件项目的应用背景,确定其运行条件和运行环境;
根据软件项目的设计目标和原理,确定软件项目的开发流程、系统结构和操作过程;
依据系统的功能、工作特点和技术要求,确定对于系统而言所不希望发生的事件或事件状态,以及这些事件可能会给系统造成的危害后果,并将这些事件列为系统的不期望事件,以便作为开展系统的危险鉴别的依据与标准;
鉴别潜在于系统中的各种危险源,包括因材料、设备、工艺、操作、维护等各个方面中固有的、潜在的或人为造成的各种危险状态和危险事件;
对确定的危险进行危害性分析,考察系统的故障处理、危险控制措施的有效性;
立足于系统的整体性,综合评价系统的现有安全性水平,给出期望的安全性水平,并据此提出相应的安全性建议和措施。
以上内容,是针对广义上的安全性评价而言,包括了危险分析和危险评价两方面的主要工作。本文主要研究所谓的狭义安全性评价,即危险评价过程,主要工作为进行上述内容中的第六项,目的是评价系统的安全性现状,评价经过危险分析后所鉴别的各种危险是否在控制之下或者应当采取怎样的安全性措施,将其纳入系统安全性的整体目标之中。
二 风险评价的方法
对系统进行风险分析,首先鉴别出系统中的危险之后,然后进行风险评价。根据风险评价方法的不同,可分为定性风险评价和定量风险评价。
1.定性评价方法
定性风险评价可以根据系统层次按次序揭示系统、分系统和设备中的危险,作到不漏任何一项,并按风险的可能性和严重性分类,以便分别按轻重缓急采取安全措施。在实践中,有两种定性风险估算方法 ,即风险评价指数(Risk Assessment Code: RAC)法、总风险暴露指数(Total Risk Exposure Code: TREC)法。
(1)RAC法
RAC法是定性风险估算常用的方法,它是将决定危险事件的风险的两种因素——危险严重性和危险可能性,按其特点划分为相对的等级,形成一种风险评价矩阵,并赋以一定的加权值来定性地衡量风险大小。
危险严重性等级——由于系统、分系统或设备的故障、环境条件、设计缺陷、操作规程不当、人为差错均可能引起有害后果,将这些后果的严重程度相对定性地分为若干级,称为危险事件的严重性等级。通常将严重性等级分为四级,如表1所示。
表1 危险事件严重性等级
等级 等级说明 事故后果说明
Ⅰ 灾难性的 人员死亡或系统报废
Ⅱ 严重的 人员严重受伤、严重职业病或系统严重损坏
Ⅲ 轻度的 人员轻度受伤、轻度职业病或系统轻度损坏
Ⅳ 轻微的 人员受伤和系统损坏轻于Ⅲ级
根据危险事件发生的频繁程度,将危险事件发生的可能性定性地分为为若干等级,称为危险事件的可能性等级。通常可能性等级分为五级,如表2所示。
表2 危险事件可能性等级
等级 等级说明 个体发生情况 总体发生情况
A 频繁 频繁发生 连续发生
B 很可能 在寿命期内会出现若干次 频繁发生
C 有时 在寿命期内可能有时发生 发生若干次
D 极少 在寿命期内不易发生,但有可能发生 不易发生,但有理由可预期发生
E 不可能 很不容易发生,以至于可以认为不会发生 不易发生,但有可能发生
将上述危险严重性和可能性等级制成矩阵并分别给以定性的加权指数,形成风险评价指数矩阵,表3为一种风险评价指数矩阵的实例。
表3 风险评估指数矩阵实例
严重性等级\可能性等级 Ⅰ(灾难的)
Ⅱ(严重的)
Ⅲ(轻度的)
Ⅳ(轻微的)

A(频繁) 1 3 7 13
B(很可能) 2 5 9 16
C(有时) 4 6 11 18
D(极少) 8 10 14 19
E(不可能) 12 15 17 20
矩阵中的加权指数称为风险评估指数,指数1到20是根据危险事件可能性和严重性水平综合而确定的,通常将最高风险指数定为1,相对应于危险事件是频繁发生的并是有灾难性的后果的。最低风险指数20,对应于危险事件几乎不可能发生并且后果是轻微的,数字等级的划发具有随意性,但要便于区别各种风险的档次,划分得过细或过粗都不便于风险的决策,因此需要根据具体对象制定。
矩阵中的指数给出四种不同类别的决策结果,也可称为风险接受准则。其中指数为1~5,为不可接受的风险;6~9为不希望有的风险,需由订购方决策;10~17是有控制的接受的风险,需要订购方评审后方可接受;18~20是不经评审即可接受的风险。
风险评估指数通常是主观制定的,而且定性的指标有时没实际意义,它是这种评估的一大缺点。因为无论是对危险事件的严重性或是可能性做出严格的定性量度是很困难的。例如严重性的最高等级通常是损失费用几百万元或一、二人死亡,但是很多危险事件可能导致成百或成千人的死亡和上亿元的财产损失,这种情况是无法用最高等级来表达其风险大小的。因而,这种指数的实用价值就受到影响。RAC法的另一个缺点是:风险评估指数通常是主观制定,而且定性指标有时没实际意义。
(2)TREC法
TREC(Total risk exposure code)法是RAC法的改进。TREC和RAC之间显著不同点是将严重性尺度范围扩大了,并将所有的损失转化为货币,在评价矩阵中,“暴露”尺度代替了“概率”尺度。暴露指数确定的方法是:单一危险事件的概率(通常是每10,000暴露小时所发生的事件数表示)乘以寿命周期内总暴露小时的估计值和该系统生产的总量。
TREC法将严重性分为10个等级,均以货币计算,从最小100元以下到最大1010元以上。每一严重性等级的尺度以一定大小次序递增。这种表示方法可以评价较宽范围的损失。表4列出了TREC法的各严重性指数的范围和平均值。
表4 严重性指数
严重性指数 范 围 (元) 平均值(元)
10 > 10×109 5×1010
9 (1~10)×109 5×109
8 100×106~109 5×108
7 (10~100)×106 5×107
6 (1~10)×106 5×106
5 100,000~1,000,000 5×105
4 10,000~100,000 5×104
3 1,000~10,000 5×103
2 100~1,000 5×102
1 < 100 5×101
暴露指数分10级,如表5所示。暴露指数表明系统事故总数的估计值。指数的最小值1表示在系统寿命期中危险事件所导致一定大小的某种事故的可能性估计值低于0.00001(100,000次中发生1次);指数的最大值为10,它估计在系统寿命期中危险事件将导致发生大于1,000次事故。虽然危险事件的暴露单位是以暴露时间计算的(小时、年、循环次数等均可),但为了使用方便,单位可以在计算中省去。
表5 暴露指数
暴露指数 范 围 平均值
10 >1,000 5×103
9 100~1,000 5×102
8 10~100 5×101
7 1~10 5×100
6 0.1~1 5×10-1
5 0.01~0·1 5×10-2
4 0.001~0·01 5×10-3
3 0.0001~0·001 5×10-4
2 0.00001~0·0001 5×10-5
1 <0.00001 5×10-6
总风险暴露指数可由严重性指数和暴露指数相加而得。表6为一个总风险暴露指数矩阵。
表6 总风险暴露指数矩阵
暴露指数

\严重性指数 10 9 8 7 6 5 4 3 2 1
10 20 19 18 17 16 15 14 13 12 11
9 19 18 17 16 15 14 13 12 11 10
8 18 17 16 15 14 13 12 11 10 9
7 17 16 15 14 13 12 11 10 9 8
6 16 15 14 13 12 11 10 9 8 7
5 15 14 13 12 11 10 9 8 7 6
4 14 13 12 11 10 9 8 7 6 5
3 13 12 11 10 9 8 7 6 5 4
2 12 11 10 9 8 7 6 5 4 3
1 11 10 9 8 7 6 5 4 3 2
总风险暴露指数可用于表示系统寿命期内与其有关的货币损失。采用TREC可以为系统设计管理者提供如下信息:
a.总风险暴露(TRE)——对待评价的特定危险事件所产生的风险的货币总数估计。其计算公式为:
TRE=5×10(TREC-5)
b.年风险暴露(ARE)——总风险暴露除以估计的设计寿命(以年计):
ARE=TRE/设计寿命
c.单位风险暴露(URE)——单位产品的货币损失(或每一产品分摊数),即TRE除以产品生产总数。
URE=TRE/产品数
d.风险暴露比(RER)——总风险暴露与设计费用之比。
RER=TRE/总投资
TREC的准确程度依赖于输入数据的质量。因此,系统安全性的重要任务之一是要确定和修正对故障率、暴露率、设计寿命、系统中该产品的数量等的原始估计值。当然,从上面的分析和计算可以看出,TREC已将定性的风险估算发展到了具有某些定量的水平。
2.定量评价方法
对于一个系统、装置或设备,通过定性评价,人们能对其中的危险有一个大致了解,可以了解系统中安全性薄弱环节。但是,有时需要了解到底安全水平如何,系统的改进能使安全性水平提高多少,事故发生的可能性到底有多大,后果到底有多严重等。回答这些问题,就需要对风险进行定量的评价(Quantified Risk Assessment: QRA)。QRA的用途及所担当的角色如图1所示。
定量风险评价是一种广泛使用的管理决策支持技术,定量风险评价包含五个要素:
(1) 危险识别:确定事故场景、危险、危险事件以及它们的原因和发生机理。一般由危险检查表(PHL)、初步过程危险分析(PPHA)、危险与运行分析(HAZOP)来获得识别的危险。
(2) 频率估计:确定识别的危险事件的发生频率。一般由历史数据、故障树分析(FTA)、可靠性与有效性研究、故障模式及影响分析(FMEA)来确定。
(3) 后果分析:确定识别的危险事件后果的程度和概率。由事件树分析(ETA)、事故分类/定义来确定。
(4) 风险估算:确定风险水平,就是将频率和后果进行组合。
(5) 灵敏度分析:将研究的风险划分优先次序,进一步估算那些有意义的风险水平、比较相关的风险估算、将研究的风险划分优先次序、评估独立的不确定性和设置执行进度表。
QRA通过交替循环得到评估值 。开始通过原因、后果、费用、可能的频率引出数量的估计,然后分析这些量对初始假设的灵敏度。QRA非常适合应用于与技术装备失效相关的决策问题。

图1 QRA的用途及所担当的角色
三 评价模型的建立
在对软件项目进行安全性评价时,首先应考虑的是按照怎样的原则和标准考察系统的安全性,正如在前面进行危险分析时所说:引起系统不安全的危险因素来源于系统中各个模块,因此,考虑建立基于系统中各个模块的评价模型,根据安全性评价的工作项目和内容,考查系统在各项安全性指标下的安全性水平。主要包括:
系统功能评价:系统在完成设计功能方面的有效性;
系统结构评价:评价系统结构(包括容错性、适应性、操作性、维护性、扩充性等)的危险及危险控制;
系统运行评价:评价系统在各个工作时期、不同工作条件下的危险及危险控制。包括使用、维护两种工作状态。
四 小结
世界上没有绝对安全的事物,危险事件是客观存在的。不过,有的危险事件经常发生,有的则很少发生;有的危险事件造成的后果很严重,有的则很轻微。但是,无论在何种情况下,是关系到国计民生的大系统的开发,还是影响微乎其微的小程序的编写,都存在风险评价的必要性,只是其各自的评价采取了适合项目本身的方式而已。毫无疑问,随着项目管理理论的发展,人们将越来越重视风险的因素,将出现越来越多的风险评价技术。
参考文献:
[1] 吴增玉,西宝,刘长斌。中美建设工程风险管理体系比较研究,研究探索
[2] 卢有杰,卢家义,项目风险管理[M]。北京:清华大学出版社,1998,95-98
[3] 田德录,卢凤君,风险管理要素分析。中国农业大学学报。1998,3

 

 

版权所有:UML软件工程组织