这篇博客是有助于软考理解质量特性和维护性里面非常容易混淆的概念。软件质量特性和维护性有很多概念,经常是被搞得晕头转向。下面来分析一下
质量管理
【官方】软件质量特性是指最终产品或系统满足规定或隐含需求的能力的特征和特性全体。
【民间】给用户的产品,或者做出 的软件,满足了现在提出的需求,也可以满足以后对它的需求。
质量特性使用了两个质量模型:ISO/IEC 9126 和McCall
ISO/IEC 9126
1、可靠性
子特性:成熟性、容错性、易恢复性。
可靠性是指一定时间和条件,能够维持一定特性的能力。它的子特性也是 围绕着这个主特性展开,比如软件发生故障,软件仍可以维持原特性进行运行。怎么理解这几个概念,通俗来讲,咱们拿一个人来说,形容一个人比较可靠,咱们都会想到它是一个成熟、遇到问题不退缩、即使事情没有做好,也会在最短的时间内进行补救。这样的特性和软件可靠性非常相似。
2、可移植性
子特性:适应性、易安装性、一致性、易替换性。
软件可从一个环境转移到另外一个环境的能力。下面说说我的理解,适应性:环境变化了,如何处理自身适应环境;易安装性:在哪安装都比较容易;一致性:软件移植是有标准规定的,只要和规定相一致就行;易替换性:可以替换掉其他的软件的能力。
3、功能性
子特性:适应性、准确性、互用性、依从性、安全性
功能性,最能特性质量特性的管理,它也是质量管理最主要的方面。这里也有一个适应性,但是功能方面,准确性怎么理解?也是说最后系统能够正确理解了用户的需求。互用性,这个和复用性很像,软件当然是和其他软件连接使用最好了,比如你使用某一个软件,电脑上可以用,手机上可以用,ipad上也可以用,有网无网都能用,这个软件就比那种只能在特定环境下的软件互用性高啦。依从性,这个和可移植性行里面的一致性有些像,但是这里里面不单单是标准还有法律法规、约定等等更大更多的标准。
安全性就是没有授权的用户坚决不能使用。
4、易使用性
子特性:易理解性、易学性、易操作性
为使用所需的女里和由一组规定或隐含的用户对这样使用所作的个别评价有关的一组特性。这个方面的考虑就是对用户的,跟用户逻辑相似的,就能让用户快速上手,而且能让用户在很短的时间能就能操作,操作的步骤也不复杂,这样的软件质量也说是杠杠的。
5、效率
子特性:时间、资源
规定条件下,软件的性能水平与所用资源量之间的关系有关的软件属性。
6、可维护性
子特性:易分析性、易改变性、稳定性、易测试性
进行规定的修改所需要的努力。在软件完成以后,或许需求变化,或许出现错误,或许环境改变,要对软件进行修改或者测试。
Mc Call
Mc Call从软件产品的运行、修正、转移三个方面11个特性,给出了一个三层模型框架,第一层质量特性,第二层评价准则,第三层是度量指标。
维护