摘 要 随着国民经济的发展,信息化建设的加速以及互联网普及,各行各业都在信息系统以及软件开发上投入了大量的人力和物理。本文通过对软件质量保证的相关介绍和一些误区分析,并结合CMMI(Capability Maturity Model Integration)、GJB、ISO9000等软件质量有效性模型和GQM范式工具化、制度化,提出了一些符合我国信息化建设的软件质量保证方法和工具。针对于软件质量保证将GQM范式工具化、制度化让全员参与将是对其开发过程有效性的强有力支撑。
【关键词】软件管理 质量管理 有效性评价
随着国民经济的发展,信息化建设的加速以及互联网普及,各行各业都在信息系统以及软件开发上投入了大量的人力和物理。其已经成为了国家的基础性、战略性产业,在经济生成生活中软件扮演着及其重要的角色,也是国家重点鼓励及支持的领域。一方面软件规模的不断增长,另一方面从事软件开发的相关技术人员也在不断增长,这就给软件企业以及相关项目的管理带来了新的挑战。
计算机软件的开发主要是人的创造力活动,其产出的不同于传统的加工制造产品,而是信息工具、知识工具,所以软件开发是一个将专业人员的专业知识通过脑力转化为产品的过程。某种意义上,其从业人员的专业化程度将决定其产出产品的结果。因此,在软件产品的质量保证上与传统的工业制品的质量保证有着极大的不同。本文通过对软件质量保证的相关介绍,并结合CMMI(Capability Maturity Model Integration)、GJB、ISO9000等软件质量有效性模型和GQM范式工具化、制度化,提出了一些符合我国信息化建设的软件质量保证方法和工具。
1 软件质量保证的发展状况
软件质量保证是将管理理论运用到软件开发中的实践过程。因此,其也与其它管理过程类似,要制定计划通过系统的方法,既要面向管理层拟定质量保证目标、步骤,也要面向执行者提出具体实践方法才能够正确的被项目所采纳执行。
就有效性而言,其概念早在2000版的ISO9000术语中被加入,其也可以看作是企业越来越关注改善质量管理体系有效性的里程碑。其是用于衡量产品或项目完成策划的活动和达到策划结果的程度。就现行的2000版的ISO9000已经加入了如配置管理、计划管理、评审管理等适用于信息化企业的标准,至此ISO9000变得越来越适用于软件企业和信息化项目。
在软件工程领域里,随着工程项目的开展大量大型软件项目越来越多的需要一套管理体系来保障项目的管理和执行。于是在1994年美国国防部和卡内基-梅隆大学共同开发和研制了软件工程管理实践模型CMMI,即软件能力成熟度集成模型就此诞生。我国在不断的工程实践过程中紧跟国际步伐,于2003年开发了GJB5000-2003《军用软件能力成熟度模型》,并于2008年与时俱进修订再版了GJB5000A。其模型参考CMMI模型,并调整使之更加符合中国特色的社会主义建设。
总的来说,针对软件开发过程其管理趋势越来越趋于对有效性的衡量和度量。主要是从三个方面对管理思路提出了新的认识:
(1)从以往只针对软件开发过程的测试活动转变为对软件质量保证和开发过程的度量;
(2)软件质量保证从以往针对于软件开发后的补救措施转变为系统性的整体预防措施;
(3)软件质量保证活动不在是软件开发过程的某个串行阶段而是两者并行执行,从源头起进行支撑与保障。
2 管理体系与工具
目前软件企业和软件项目组织的目标不谋而合,那么采用何种工具何总思路就成为了关键。
随着软件组织的规模扩大,也是将以往依靠个人“能力”向现在依靠“过程能力”在转变。那么定义一套流程执行一些列工作,并由工具来驱动,已经是目前软件企业管理的主流思路。也就是说,一旦建立了质量管理体系后,组织内部也就具有了一套度量和评价机制。组织可以依靠这套机制不断完善和持续改进。而工具本身既包含模型,由包含一套自动化的程序,辅助管理者和执行者将数据填充到模型中,使模型可以合理的度量和评价。
就度量方法而言,1984年马里兰大学的Basili和Rombach就提出了著名的GQM范式。其通过三个层次来定义度量方法,即概念级、操作级和定量级。这三个层次自顶向下,从抽象到具体,逐步定义度量细则。概念级提出目标,对各种动机及对象逐个定义目标;操作级对目标提出特征问题,通过问题说明目标;定量级针对问题收集数据,给问题定量,通过定量分析问题。
针对于软件质量保证将GQM范式工具化、制度化让全员参与将是对其开发过程有效性的强有力支撑。首先,软件质量保证就是尽早尽快的发现软件的错误和缺陷,那么将其目标定义为“质量保证过程的有效性”以衡量测试策划过程、测试策略、测试执行效果、测试效率和测试质量。如此就建立了一个概念级的目标。
然后,通过访谈和与项目参与者沟通,鉴别并确立度量问题,找到围绕项目质量目标关心的问题。如每个阶段、每个过程的产出物有哪些?这些产出物符合什么标准?产出物是否满足最终的用户或者商业目标?只有提出了这些问题,才可以根据问题建立度量元,这个过程也就完成了操作级的任务。
最后,选择合适的度量元就是针对性的收集各种基础数据,以基础数据作为参考度量过程与目标结合。就目前实践而言可以从三个方面进行收集,第一测试过程的有效性,第二测试环境的有效性,第三测试用例的有效性。
完成了上述通过GQM范式对软件成熟度模型的定义和结合,接下来就是设计一套自动化工具,全员参与将所给出的各个环节逐一执行,并通过工具自动度量,这个自动的过程完全符合上述设计的每个分支项目。如对测试用例的度量,对测试文档合格率的度量,对测试过程的执行效果的度量,对测试发现缺陷数量的度量。通过上述度量,工具还可以生成报表通知给相关责任人及管理人员做参考数据,便于汇总及汇报。
3 总结
作为软件企业的管理者必须对软件质量保证有清醒的认识,建立质量管理体系是对软件开发过程有效性的强力保证,也是企业质量文化的根基。本文结合实践,对实践中运用CMMI(Capability Maturity Model Integration)、GJB、ISO9000框架的过程中缺少明确度量方法的问题,提出了结合GQM范式进行工具化、流程化的过程提出了一些实践指导。希望能够推动软件质量保证管理工作的有效性,推动国产软件业的健康成长。
参考文献
[1]Perry WE.软件测试的有效方法[M].北京:机械工业出版社,2004.
[2]杨玲萍.军用软件测试过程模糊决策技术研究及应用[D].南京:东南大学软件学院,2006:19-29.
[3]Black R.软件测试过程管理[M].北京:机械工业出版社,2003.
作者简介
刘杨赫(1981-),女,吉林省白山市人。现为中国航发集团航空动力控制系统研究所工程师,主要从事软件测试、软件质量保证、软件配置管理等工作。
作者单位
中国航发集团航空动力控制系统研究所 江苏省无锡市 214063