软件可信性是一个反映软件质量状态的、复杂的、综合性的概念,除了可靠性,它还包含可用性、防危性、安全性、可维护性等特征,而且还在不断地延伸和扩充。
软件的可信性指的是系统在规定的时间与环境内可交付可信服务的能力。
那么,如何来评价软件的可信性呢?这里介绍一个软件可信性评估模型——QUEST模型。这个模型共有五层,分别是:软件可信性、可信属性、子属性、可信度量、度量指标。如下图所示:
其中软件可信性被分解为可用性、效能性、可靠性、安全性、实时性、可维护性、可生存性等七个可信属性;然后,每个可信属性又被分解为若干可信子属性;接着,将每个可信子属性分解为若干可信度量;最后,为每个可信度量设计若干可信度量指标,而每个度量指标可以定性或定量地度量。
定性度量的度量指标可以通过专家归一化的打分来转化为定量的度量。
在收集可信性度量数据的时候,应与软件开发生存周期结合起来,在软件需求分析阶段、软件设计阶段、编码实现阶段、软件测试阶段等各阶段分别进行产品和过程两个方面的可信性数据采集。
在采集到大量的原始的评估数据后,采用适合的数据分析和推理方法(评估方法),最终得到软件可信性评估结果。
软件可信性使用下面的数学模型进行评估:
Y=W*R
其中Y为评估得分,W为权值矩阵,R为各可信子属性度量数据。
当考虑软件全生命周期,以及过程的可信性评估时,最终的Y是各阶段的可信性评估值与过程可信性评估值的乘积之和。
具体的评估方法主要包括三个方面的内容:
如:
技术复杂度 |
可用性 |
效能性 |
安全性 |
可靠性 |
可生存性 |
实时性 |
可维护性 |
1 |
0.27 |
0.16 |
0.11 |
0.16 |
0.08 |
0.16 |
0.03 |
2 |
0.24 |
0.15 |
0.12 |
0.17 |
0.10 |
0.15 |
0.07 |
3 |
0.23 |
0.16 |
0.11 |
0.18 |
0.09 |
0.16 |
0.07 |
4 |
0.20 |
0.16 |
0.12 |
0.18 |
0.16 |
0.10 |
0.08 |
5 |
0.19 |
0.17 |
0.13 |
0.17 |
0.09 |
0.17 |
0.09 |
这正是:
可信评估有多难,数学模型不一般
好在已有前行者,学习使用还好办
文章来自,软件工程之思
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!