概述

    质量:一组固有特性满足要求的程度,指产品或服务满足规定或潜在需要的特征和特性的总和。它既包括有形产品也包括无形产品;既包括产品内在的特性、也包括产品外在的特性。即包括了产品的适用性和符合性的全部内涵。

    软件质量:与软件产品满足明确或隐含需求的能力有关的特征和特征的总和。有四个含义:1、能满足给定需要的特性之全体;2、具有所希望的各种属性的组合的程度;3、顾客或用户认为能满足其综合期望的程度;4、软件的组合特性,它确定软件在使用中将满足顾客预期要求的程度。

    从用户感兴趣的的角度来说,软件质量可以从三个不同的角度来看待:如何使用软件、使用效果如何、软件性能如何;从软件开发的团队的角度来说,不仅要生产出满足质量要求的软件,也对中间产品的质量感兴趣,也对如何运用少的的资源、快的进度生产出质量优的产品感兴趣;从软件维护者的角度看,对软件维护方面的特性感兴趣;对企业的管理层来说,注重的是总体效益和长远利益,是说质量好的软件一般可以帮助企业扩大市场;反之,质量差的软件一般会造成企业市场萎缩。

    软件质量特性:根据《GB/T16260-1996(idt ISO/IEC9126:1991)信息技术 软件产品评价 质量特性及其使用指南》软件的质量特性包括功能性、可靠性、易用性、效率、可维护性、可移植性等六个方面,每个方面都包含若干个子特性:

    功能性:适合性、准确性、互操作性、依从性、安全性;

    可靠性:成熟性、容错性、易恢复性;

    易用性:易理解性、易学性、易操作性;

    效率:时间特性、资源特性;

    可维护性:易分析性、易改变性、稳定性、易测试性;

    可移植性:适应性、易安装性、遵循性、易替换性;

    质量管理:在质量方面指挥和控制组织的协调的活动,指对确定和达到质量所必须的全总职能和活动的管理,其管理职能主要包括制定质量方针和质量目标以及质量策划、质量控制、质量保证和质量改进。

    软件开发质量管理,是为了开发出符合质量要求的软件产品,贯穿于软件开发生存期过程的质量管理工作。

    软件开发质量管理层次初步划分如下:

    1、技术层次(数据、编程、文档)

    2、方法体系层次(措施、项目、过程)

    3、社会因素层次(质量环境、技术标准、业务标准、人员)

    软件开发质量管理层次模型如下图:

    技术层次

    1、数据质量管理层次

    多数情况下,软件系统的终目的是对用户关心的各类数据(信息)完成各种各样静态或者动态的处理或管理任务,为用户创造他们所期望和额外的价值。因此数据质量是用户为关心的,数据质量也反映了软件系统产品的质量。数据质量是数据抽取、数据转换、数据整合、数据仓库以及管理信息系统开发等项目中质量控制和质量保证必须考虑的主要工作。数据质量管理可分为人工比对、程序比对、统计分析三个层次。

    1.1 人工比对

    为了检查数据的正确性,测试人员打开相关数据库,对转换前和转换后的数据进行直接的比对,发现其不一致性,通知相关人员进行纠正。

    1.2 程序比对

    为了自动化地检查数据的质量,更好地进行测试对比,程序员编写查询比对程序给测试人员使用。测试人员使用此程序对转换前和转换后的数据进行比对,发现其不一致性,通知相关人员进行纠正。

    1.3 统计分析

    为了更加全面地从总体上检查数据的质量,需要通过统计分析的方法,主要通过对新旧数据不同角度、不同视图的统计对数据转换的正确程度进行量化的分析,发现其在某个统计结果的不一致性,通知相关人员进行纠正。

    2、编程质量管理层次

    软件系统是靠“编”出来的,为了确保软件产品的质量,必须确保软件程序代码的质量。为了提高编程质量,应检查源码的逻辑、属性、对象命名标准、语言代码布局等内容;代码的编译、链接、集成和构建必须得到验证和确认。编程质量管理层次可分为黑盒测试、灰盒测试、白盒测试、编译检查、编程规范、编程逻辑、编程优化。