
对对子软件
-
2023年3月17日发(作者:坚持到底就是胜利)1
如何评价软件的质量
我们常说某某软件好用,某软件功能全、结构合理、层
次分明。这些表述很模糊,用来评价软件质量不够准确,不能作
为企业选购软件的依据。对于企业来说,开发单位根据企业的需
求,开发一个应用软件系统,按期完成并移交使用,系统正确执
行用户规定的功能,仅仅满意这些是远远不够的。因为企业在引
进一套软件过程中,常常会出现如下问题:
定制的软件可能难于理解,难于修改,在维护期间,企业的
维护费用大幅度增加;
企业对外购的软件质量存在怀疑,企业评价软件质量没有恰
当的指标,对软件牢靠性和功能性指标了解不足;
软件开发商缺乏历史数据作为指南,全部关于进度和成本的
估算都是粗略的。因为没有切实的生产率指标,没有过去关于软
件开发过程的数据,企业无法精确评价开发商的工作质量。
为此,有必要先了解软件的质量评价体系。美国的B.W.B
oehm和先后提出了三层次的评价度量模型:软件质
量要素、准则、度量。随后提出了自己的软件质量度
量SQM技术,波音公司在软件开发过程中采用了SQM技术,
日本的NEC公司也提出了自己的SQM工具,即SQMAT,并
且在成本掌握和进度支配方面取得了良好的效果。
2
第一层是软件质量要素,软件质量可分解成六个要素,这六
个要素是软件的基本特征:
1.功能性:软件所实现的功能满意用户需求的程度.功能
性反映了所开发的软件满意用户称述的或蕴涵的需求的程度,即
用户要求的功能是否全部实现了。
2.牢靠性:在规定的时间和条件下,软件所能维持其性能
水平的程度。牢靠性对某些软件是重要的质量要求,它除了反映
软件满意用户需求正常运行的程度,且反映了在故障发生时能连
续运行的程度。
3.易使用性:对于一个软件,用户学习、操作、预备输入
和理解输出时,所做努力的程度。易使用性反映了与用户的友善
性,即用户在使用本软件时是否便利。
4.效率:在指定的条件下,用软件实现某种功能所需的计
算机资源(包括时间)的有效程度。效率反映了在完成功能要求
时,有没有铺张资源,此外"资?quot;这个术语有比较广泛的含
义,它包括了内存、外存的使用,通道能力及处理时间。
5.可修理性:在一个可运行软件中,为了满意用户需求、
环境转变或软件错误发生时,进行相应修改所做的努力程度。可
3
修理性反映了在用户需求转变或软件环境发生变更时,对软件系
统进行相应修改的简单程度。一个易于维护的软件系统也是一个
易理解、易测试和易修改的软件,以便纠正或增加新的功能,或
允许在不同软件环境上进行操作。
6.可移植性:从一个计算机系统或环境转移到另一个计算
机系统或环境的简单程度。
第二层是评价准则,可分成22点。包括精确性(在计算和
输出时所需精度的软件属性);健壮性(在发生意外时,能连续
执行和恢复系统的软件属性);安全性(防止软件受到意外或蓄
意的存取、使用、修改、毁坏或泄密的软件属性);以及通信有
效性、处理有效性、设备有效性、可操作性、培训性、完备性、
全都性、可追踪性、可见性、硬件系统无关性、软件系统无关性、
可扩充性、公用性、模块性、清楚性、自描述性、简洁性、结构
性、产品文件完备性。评价准则的一定组合将反映某一软件质量
要素,软件质量要素与评价准则间的关系如下图:
第三层是度量:依据软件的需求分析、概要设计、具体设计、
实现、组装测试、确认测试和维护与使用七个阶段,制定了针对
每一个阶段的问卷表,以此实现软件开发过程的质量掌握。对于
企业来说,不管是定制,还是外购软件后的二次开发,了解和监
控软件开发过程每一个环节的进展状况、产品水平都是至关重要
4
的,因为软件质量的凹凸,很大程度上取决于用户的参与程度。
这里需要说明几点:
(1)对于不同类型的软件,系统软件、掌握软件、管理软
件、CAD软件、教育软件、网络软件及不同规模的软件,对于
质量要求、评价准则、度量问题的侧重点有所不同应加以区分。
比如:
软件质量保证和评价活动有其不同的侧重点。在需求分析,、
概要设计、具体设计及其实现阶段,主要评价软件需求是否完备,
设计是否完全反映了需求以及编码是否简洁、清楚。而且,每一
个阶段都存在一份特定的度量工作表,它由特定的度量元组成,
依据度量元的得分就可逐步得到度量准则,要素的得分,并在此
基础上做出评价。这一点很适用于同软件开发商合作开发的企业。
(2)对软件质量各阶段都进行度量的根本目的是以此掌握
成本、进度,改善软件开发的效率和质量,但是,目前大规模的
软件公司在我国并不多,大多数软件开发单位都缺乏软件质量保
证与软件质量评价的特地部门,因而企业可以托付专业机构参与
帮助软件质量掌握与保证。如美国的METRTQS公司就是特地
从事软件质量评价的公司,而日本的NEC公司是由公司内部的
5
软件质量保证组织进行。
(3)企业选择软件供应商、开发商,需要考察该公司是否
建立起自己的软件质量度量和评价数据,数据库中是否存有与本
企业所在行业相关的软件,是否具有相关的开发经验。
软件在企业中的应用越来越广泛,猎取软件的途径有四种,
自行开发,直接外购,外购再二次开发,与软件开发商合作开发。
而其中又以合作开发最为普遍,因为这种方式更能满意企业独特
的业务流程,更有针对性。合作开发的软件是否好用,质量如何,
就需要用到上文中的质量衡量标准。目前有一些比较好的软件质
量评价平台,如X市计算机软件评测重点试验室的SQTF,就是
依据被测软件的类型和特点,针对软件六大质量特性,21项子
特性,选择不同的度量元,形成的评价体系,以此为依据,对被
测软件进行定性、定量、独立的技术测试,注意的是用数字说话,
更具科学性。例如,企业选购财务软件,首先是要满意功能性,
其次是牢靠性。软件牢靠性的依据不是软件已经过多少周的测试、
调试,而是在牢靠性预估模型中,定量的估计出软件中每千行代
码尚存在多少个错误没有被消退,即KLOC的大小。更进一步,
通过软件质量测量,用户知道该财务软件在今后使用中的平均失
效前工作时间(MTTF)和平均失效间隔时间(MTBF),这样,
企业评价一套软件,就有据可依了。
6
评价软件的另一个依据就是软件开发商的实力和知名度。目
前我国软件企业有数千家,除100多家外资、合资企业外,绝
大多数企业的规模在50人左右,少数达到200人,已初具规模
的只有北大方正、联想软件开发公司、东大阿尔派、用友集团、
和托普集团。少数几家已取得CMM2的认证书,其余软件公司
均处于CMM1的水平。而美国是世界软件市场的霸主,印度则
有几家企业已达到CMM5的要求,相比之下,差距很明显。因
此,选购进口软件,CMM的等级是个很好的指标;选购国产软
件,要看企业的行业背景,是否有开发相关行业的经验、企业规
模、人员素养、企业知名度等。