您的位置:首页 > 其它

过程绩效评估系统---(1)软件级指标体系建立

2013-02-06 15:53 363 查看
如何将软件质量进行定量度量,目前已经有很多成熟理论。
(1) McCall软件质量模型

McCall等认为,特性是软件质量的反映,软件属性可用做评价准则,定量化地度量软件属性可知软件质量的优劣。

提出了表明软件质量的11个质量特性,它们是A(正确性)、B(可靠性)、C(可用性)、D(完整性)、E(可维护性)、F(灵活性)、G(可移植性)、H(可复用性)、效率、可测试性和互联性。这个11个特性分为3个组。分别隶属于产品修正、产品转移和产品运行3个方面。

将质量模型分为三层:因素、衡量准则、度量,并对软件质量因素进行了研究,认为软件质量是正确性、可靠性、效率等构成的函数,而正确性、可靠性、效率等被称为软件质量因素,或软件质量特征,它表现了系统可见的行为化特征。每一因素又由一些准则来衡量,而准则是跟软件产品和设计相关的质量特征的属性。例如,正确性由可跟踪性、完全性、相容性来判断;每一准则又有一些定量化指标来计量,指标是捕获质量准则属性的度量。McCall认为软件质量可从两个层次去分析,其上层是外部观察的特性,下层是软件内在的特性。McCall定义了11个软件外部质量特性,称为软件的质量要素,它们是正确性、可靠性、效率、完整性、可使用性、可维护性、可测试性、灵活性、可移植性、重复使用性和连接性。同时,还定义了23个软件的内部质量特征,称之为软件的质量属性,它们是完备性、一致性、准确性、容错性、简单性、模块性、通用性、可扩充性、工具性、自描述性、执行效率、存储效率、存取控制、存取审查、可操作性、培训性、通信性、软件系统独立性、机独立性、通信通用性、数据通用性和简明性,软件的内部质量属性通过外部的质量要素反映出来。然而,实践证明以这种方式获得的结果会有一些问题。例如,本质上并不相同的一些问题有可能会被当成同样的问题来对待,导致通过模型获得的反馈也基本相同。这就使得指标的制定及其定量的结果变得难以评价。



(2)Boehm模型
由Boehm等在1978年提出来的质量模型,在表达质量特征的层次性上它与McCall模型是非常类似的。
Boehm用公式RE=P(UO)*L(UO)对风险进行定义,其中RE表示风险或者风险所造成的影响,P(UO)表示令人不满意的结果所发生的概率,L(UO)表示糟糕的结果会产生的破坏性的程度。在风险管理步骤上,Boehm基本沿袭了传统的项目风险管理理论,指出风险管理由风险评估和风险控制两大部分组成,风险评估又可分为识别、分析、设置优先级3个子步骤,风险控制则包括制定管理计划、解决和监督风险3步。

Boehm思想的核心是10大风险因素列表,其中包括人员短缺、不合理的进度安排和预算、不断的需求变动等。针对每个风险因素,Boehm都给出了一系列的风险管理策略。在实际操作时,以10大风险列表为依据,总结当前项目具体的风险因素,评估后进行计划和实施,在下一次定期召开的会议上再对这10大风险因素的解决情况进行总结,产生新的10大风险因素表,依此类推。

10大风险列表的思想可以将管理层的注意力有效地集中在高风险、高权重、严重影响项目成功的关键因素上,而不需要考虑众多低优先级的细节问题。而且,这个列表是通过对美国几个大型航空或国防系统软件项目的深入调查,编辑整理而成的,因此有一定的普遍性和实际性。但是它只是基于对风险因素集合的归纳,尚未有文章论述其具体的理论基础、原始数据及其归纳方法。另外,Boehm也没有清晰明确地说明风险管理模型到底要捕获哪些软件风险的特殊方面,因为列举的风险因素会随着多个风险管理方法而变动,同时也互相影响。这就意味着风险列表需要改进和扩充,管理步骤也需要优化。

不过,它是基于更为广泛的一系列质量特征,它将这些特征最终合并成19个标准。Boehm提出的概念的成功之处在于它包含了硬件性能的特征,这在McCall模型中是没有的。但是,其中与McCall模型类似的问题依然存在。

(3)ISO9126质量模型
主要从三个层次来分析即内部质量,外部质量和使用质量,这三者之间都是互相影响互相依赖。其中内在质量和外在质量的六个特征,它们还可以再继续分成更多的子特征。这些子特征在软件作为计算机系统的一部分时会明显地表现出来,并且会成为内在的软件属性的结果。另一方面的使用质量主要有四点:有效性,生产率,安全性,满意度。这个模型中第一层(质量特性)和第二层(准则)关系非常清楚,没有像McCall模型和Boehm模型的那种交叉关系。 下面是内部质量和外部质量给出的软件的六个质量特征:
(1)功能性(Functionality):软件是否满足了客户功能要求; (2)可靠性(Reliability):软件是否能够一直在一个稳定的状态上满足可用性; (3)使用性(Usability):衡量用户能够使用软件需要多大的努力; (4)效率(Efficiency):衡量软件正常运行需要耗费多少物理资源; (5)可维护性(Maintainability):衡量对已经完成的软件进行调整需要多大的努力; (6)可移植性(Portability):衡量软件是否能够方便地部署到不同的运行环境中。

目前,基于过程的软件开发注重对过程的质量定量度量,根据需求、设计、编码、测试四个标准阶段,对各个阶段的软件质量采用关键指标进行度量。



当建立关键指标后,需要对每个关键指标建立度量计划,实施度量。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐