`
softstone
  • 浏览: 490418 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
阅读更多

如何评价软件的质量

裴华明 (转载自计算机世界网)
  我们常说某某软件好用,某软件功能全、结构合理、层次分明。这些表述很含糊,用来评价软件质量不够确切,不能作为企业选购软件的依据。对于企业来说,开发单位按照企业的需求,开发一个应用软件系统,按期完成并移交使用,系统正确执行用户规定的功能,仅仅满足这些是远远不够的。因为企业在引进一套软件过程中,常常会出现如下问题:

  ● 定制的软件可能难于理解,难于修改,在维护期间,企业的维护费用大幅度增加;

  ● 企业对外购的软件质量存在怀疑,企业评价软件质量没有一个恰当的指标,对软件可靠性和功能性指标了解不足;

  ● 软件开发商缺乏历史数据作为指南,所有关于进度和成本的估算都是粗略的。因为没有切实的生产率指标,没有过去关于软件开发过程的数据,企业无法精确评价开发商的工作质量。

  为此,有必要先了解软件的质量评价体系。美国的B.W.Boehm和R.Brown 先后提出了三层次的评价度量模型:软件质量要素、准则、度量。随后G.Mruine提出了自己的软件质量度量SQM技术,波音公司在软件开发过程中采用了SQM技术,日本的NEC公司也提出了自己的SQM工具,即SQMAT,并且在成本控制和进度安排方面取得了良好的效果。
第一层是软件质量要素,软件质量可分解成六个要素,这六个要素是软件的基本特征:

  1. 功能性:软件所实现的功能满足用户需求的程度.功能性反映了所开发的软件满足用户称述的或蕴涵的需求的程度,即用户要求的功能是否全部实现了。

  2. 可靠性:在规定的时间和条件下,软件所能维持其性能水平的程度。可靠性对某些软件是重要的质量要求,它除了反映软件满足用户需求正常运行的程度,且反映了在故障发生时能继续运行的程度。

  3. 易使用性:对于一个软件,用户学习、操作、准备输入和理解输出时,所做努力的程度。易使用性反映了与用户的友善性,即用户在使用本软件时是否方便。

  4. 效率:在指定的条件下,用软件实现某种功能所需的计算机资源(包括时间)的有效程度。效率反映了在完成功能要求时,有没有浪费资源,此外"资?quot;这个术语有比较广泛的含义,它包括了内存、外存的使用,通道能力及处理时间。

  5. 可维修性:在一个可运行软件中,为了满足用户需求、环境改变或软件错误发生时,进行相应修改所做的努力程度。可维修性反映了在用户需求改变或软件环境发生变更时,对软件系统进行相应修改的容易程度。一个易于维护的软件系统也是一个易理解、易测试和易修改的软件,以便纠正或增加新的功能,或允许在不同软件环境上进行操作。

  6. 可移植性:从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度。

  第二层是评价准则,可分成22点。包括精确性(在计算和输出时所需精度的软件属性);健壮性(在发生意外时,能继续执行和恢复系统的软件属性);安全性(防止软件受到意外或蓄意的存取、使用、修改、毁坏或泄密的软件属性);以及通信有效性、处理有效性、设备有效性、可操作性、培训性、完备性、一致性、可追踪性、可见性、硬件系统无关性、软件系统无关性、可扩充性、公用性、模块性、清晰性、自描述性、简单性、结构性、产品文件完备性。评价准则的一定组合将反映某一软件质量要素,软件质量要素与评价准则间的关系如下图:

  第三层是度量:根据软件的需求分析、概要设计、详细设计、实现、组装测试、确认测试和维护与使用七个阶段,制定了针对每一个阶段的问卷表,以此实现软件开发过程的质量控制。对于企业来说,不管是定制,还是外购软件后的二次开发,了解和监控软件开发过程每一个环节的进展情况、产品水平都是至关重要的,因为软件质量的高低,很大程度上取决于用户的参与程度。

  这里需要说明几点:

  (1) 对于不同类型的软件,系统软件、控制软件、管理软件、CAD软件、教育软件、网络软件及不同规模的软件,对于质量要求、评价准则、度量问题的侧重点有所不同应加以区别。比如:


  软件质量保证和评价活动有其不同的侧重点。在需求分析,、概要设计、详细设计及其实现阶段,主要评价软件需求是否完备,设计是否完全反映了需求以及编码是否简洁、清晰。而且,每一个阶段都存在一份特定的度量工作表,它由特定的度量元组成,根据度量元的得分就可逐步得到度量准则,要素的得分,并在此基础上做出评价。这一点很适用于同软件开发商合作开发的企业。

  (2) 对软件质量各阶段都进行度量的根本目的是以此控制成本、进度,改善软件开发的效率和质量,但是,目前大规模的软件公司在我国并不多,大多数软件开发单位都缺乏软件质量保证与软件质量评价的专门部门,因而企业可以委托专业机构参与帮助软件质量控制与保证。如美国的METRTQS公司就是专门从事软件质量评价的公司,而日本的NEC公司是由公司内部的软件质量保证组织进行。

  (3)企业选择软件供应商、开发商,需要考察该公司是否建立起自己的软件质量度量和评价数据,数据库中是否存有与本企业所在行业相关的软件,是否具有相关的开发经验。

  软件在企业中的应用越来越广泛,获取软件的途径有四种,自行开发,直接外购,外购再二次开发,与软件开发商合作开发。而其中又以合作开发最为普遍,因为这种方式更能满足企业独特的业务流程,更有针对性。合作开发的软件是否好用,质量如何,就需要用到上文中的质量衡量标准。目前有一些比较好的软件质量评价平台,如上海计算机软件评测重点实验室的SQTF,就是根据被测软件的类型和特点,针对软件六大质量特性,21项子特性,选择不同的度量元,形成的评价体系,以此为依据,对被测软件进行定性、定量、独立的技术测试,注重的是用数字说话,更具科学性。例如,企业选购财务软件,首先是要满足功能性,其次是可靠性。软件可靠性的依据不是软件已经过多少周的测试、调试,而是在可靠性预测模型中,定量的估计出软件中每千行代码尚存在多少个错误没有被消除,即KLOC的大小。更进一步,通过软件质量测量,用户知道该财务软件在今后使用中的平均失效前工作时间(MTTF)和平均失效间隔时间(MTBF),这样,企业评价一套软件,就有据可依了。

  评价软件的另一个依据就是软件开发商的实力和知名度。目前我国软件企业有数千家,除100多家外资、合资企业外,绝大多数企业的规模在50人左右,少数达到200人,已初具规模的只有北大方正、联想软件开发公司、东大阿尔派、用友集团、和托普集团。少数几家已取得CMM2的认证书,其余软件公司均处于CMM1的水平。而美国是世界软件市场的霸主,印度则有几家企业已达到CMM5的要求,相比之下,差距很明显。因此,选购进口软件,CMM的等级是个很好的指标;选购国产软件,要看企业的行业背景,是否有开发相关行业的经验、企业规模、人员素质、企业知名度等。

分享到:
评论

相关推荐

    如何评价软件质量.docx

    ### 如何评价软件质量 #### 一、引言 软件质量是衡量软件产品是否满足用户需求和期望的重要标准。在当今信息化社会中,高质量的软件不仅能够提升用户体验,还能为企业带来竞争优势。然而,如何准确评价软件质量却...

    软件质量管理.ppt

    软件质量管理是软件开发过程中至关重要的一部分,软件质量概念、软件质量的定义、软件质量特性、软件质量模型、软件质量的度量和评价等都是软件质量管理的重要组成部分。只有关注这些方面,才能确保软件产品的质量和...

    软件质量评价标准.docx

    软件质量评价标准 软件质量评价标准是衡量软件质量的重要指标。根据 B.W.Boehm 和 R.Brown 的三层次评价度量模型,软件质量可以分解成六个要素:功能性、牢靠性、易用法性、效率、可修理性和可移植性。这些要素是...

    国家标准软件质量评价

    国家标准软件质量评价主要聚焦在软件工程的各个环节,旨在确保软件产品的质量和可靠性。这些标准由国家相关部门制定,为软件开发和测试提供了权威的指导框架。在描述中提到的两个国家标准文件,很可能是GB/T 16260...

    软件质量控制-软件质量概念、质量保证、配置管理

    在度量和评价软件质量时,通常分为预测型度量和验收型度量。预测型度量利用定量和定性方法预先估计软件的质量,而验收型度量则是在软件开发的不同阶段进行实际检查,确保符合预设的质量标准。尺度度量和结构度量是...

    如何对软件质量进行评估.docx

    在这个框架模型中,上层是面向管理的质量特征,每一个质量特征是用以描述和评价软件质量的一组属性,代表软件质量的一个方面。软件质量不仅从该软件外部表现出来的特征来确定,而且必须从其内部所具有的特征来确定。...

    软件质量测试第七章软件质量和质量保证.pptx

    资源概括信息:“软件质量测试第七章软件质量和质量保证”主要讲述了软件质量和质量保证的相关知识,包括软件质量的定义、软件质量模型、软件度量等内容,对软件开发和测试人员具有重要的参考价值。

    软件质量计划参考样例

    软件质量计划的参考资料是软件项目的重要组成部分,包括相关的标准、法规和技术规范等。 9. 管理 软件质量计划的管理包括机构、任务和职责等方面,确保软件项目的质量和交付。 10. 文档 软件质量计划的文档包括...

    软件产品质量度量

    #### 三、评价软件质量的优秀度量的特征 为了克服上述挑战,优秀的软件质量度量应当具备以下特征: 1. **准确性**:度量结果应当准确反映软件的真实状况。 2. **稳定性**:在相同的条件下,度量结果应当保持一致。...

    软件质量保证与测试.pdf

    本资源主要介绍了软件质量保证和测试的相关概念和方法。共分为四章,分别介绍了质量管理、软件测试、软件开发和质量成本。 第一章主要介绍了质量管理的基本概念,包括质量的定义、分类、特征和特征、质量改进的方法...

    质量管理--软件质量管理与质量保证.pptx

    本章节将从软件质量管理的概念、软件质量的定义、软件质量的评价标准、软件质量保证的实施、技术评审、软件可靠性和质量管理等方面进行详细的介绍。 软件质量管理的概念 软件质量管理是指在软件开发和生产过程中,...

    系统与软件工程 系统与软件质量要求和评价(SQuaRE)第51部分 就绪可用软件产品(RUSP)的质量要求和测试细则.docx

    系统与软件工程 系统与软件质量要求和评价

    微软2005 TechEd 演讲 SDM312_软件产品质量度量

    #### 三、评价软件质量的优秀度量的特征 优秀的度量方法应该具备以下特征: 1. **准确性**:度量结果必须准确反映实际情况。 2. **稳定性**:度量结果应随时间保持一致,不易受外界干扰。 3. **可验证性**:度量...

    软件质量管理体系建设方案.doc

    在软件质量管理体系建设中,软件企业需要遵守相关的标准和规范,例如《cmmi3 级软件过程改进方法与规范》、《 ISO9001:2000 标准》等。同时,软件企业还需要学习和借鉴业界同行的优秀经验和做法,例如业界同行写的...

    软件质量管理计划模板.pdf

    软件质量管理计划通常包括以下几个关键要素: 1. 质量目标:明确软件产品要达成的质量目标,这些目标通常需要与项目的业务目标相一致,并且要具体、可度量,比如错误率要低于某个值,或者系统稳定性要达到某个...

    软件工程 软件产品质量要求与评价

    GBT25000的目的是帮助软件开发者、评估者和用户理解和定义软件质量,以及如何对软件质量进行客观的评价。 为了实现上述目标,GBT25000标准将软件质量定义为满足明确和隐含需要的程度。其中,明确的需求包括功能性和...

    中国应用软件质量管理白皮书

    - **人才需求增长**:随着软件质量管理重要性的提升,对相关人才的需求也在增加。 - **专业化方向**:测试工程师的专业化程度越来越高,具备特定领域知识的人才更受欢迎。 **6.4 软件测试工具未来发展趋势** - **...

    软件质量保证方案

    ### 软件质量保证方案的关键知识点 #### 一、软件质量保证(SQA)概览 **软件质量保证(SQA)**是一种确保软件产品及其开发过程满足既定标准的有效方法。它通过以下方式实现这一目标: - **过程与产品审查**:客观...

    软件质量基础理论

    【软件质量基础理论】是软件工程领域中的核心概念,它涉及到软件开发的全过程,旨在确保软件产品能够满足用户的期望和需求。本理论主要包括以下几个关键点: 1. **软件质量概念**:质量一词在最简单的理解中,可以...

Global site tag (gtag.js) - Google Analytics