嵌入式系统软件的全过程质量保证

发表于:2009-09-01来源:作者:点击数: 标签:质量嵌入式系统软件
质量是产品的生命 当今随着软、硬件技术的发展, 嵌入式 系统广泛应用于航空航天、国防军事、电子通信等行业,其中软件也越来越复杂。而这些领域应用特点,决定了嵌入式系统往往是高 安全 、任务关键的系统,软件的微小瑕疵就可能严重威胁到生命和国家的安全

质量是产品的生命

  当今随着软、硬件技术的发展,嵌入式系统广泛应用于航空航天、国防军事、电子通信等行业,其中软件也越来越复杂。而这些领域应用特点,决定了嵌入式系统往往是高安全、任务关键的系统,软件的微小瑕疵就可能严重威胁到生命和国家的安全、天文数字的巨额财产损失。这就使得保证嵌入式软件的质量和可靠性,变得至关重要。而在这些领域,对产品质量从来就保持着高度的重视,有将“质量视为产品的生命”的传统。这样,相关行业的高层管理人员和开发人员对于软件的质量也逐渐提高了重视程度。近年来,在组织上,建立了完善的软件测试体系;在开发和测试方法上,建立了中国的软件过程成熟度的评价体系GJB5000;在自动化工具方面,投入了大量的经费和人员在测试设备的开发、购置和建设方面。应该说,软件作为嵌入式产品主要的组成部分之一,对其质量的重视是目前相关行业的一个共识。

  IBM Rational多年来在软件工程和质量保证方面积累了丰富的方法和经验。本文依据部分嵌入式开发机构对软件质量保证工作的一些理解,分析相应开发机构工作中可能的问题,并提出以RUP为核心的全过程质量管理的思想和具体的实现方式,提出不同单位的过程改进方法,以一种渐进的方式,从简单的工作开始,逐渐深入地改进组织的软件质量管理水平。

定义质量

  对于任何一个组织,定义共同的对质量的理解是重要的第一步。软件开发组织经常按照一种不精确的、概括的质量观念来运转。

  在IBM Rational统一过程中,质量定义如下:

  满足或超出认定的一组需求;
  使用经过认可的评测方法和标准来评估;
  使用认定的流程来生产。
  在这个定义中,我们首先看需求,IBM Rational的软件质量在用户需求方面的定义分为五个方面:易用性、可靠性、性能、可支持和功能。

  质量保证,归根结底就是为客户提供更高品质的产品,更好地满足客户的需求。另一方面,这个质量定义中明确指出,质量更体现在软件开发的整个过程和一个标准的评价方式上。

  软件开发过程质量就是指为了生成工件而对可接受流程的实施和遵守程度,体现在三个层次:

  产品本身和用来生产、组装软件产品的零部件质量;
  在软件开发过程的标准化、流程化、自动化程度和团队基本协作平台的效率,各个过程对质量的承诺;
  软件产品验收的评测手段应该是被业界广泛认可和接受的方法,所构筑的质量评价标准。
  一个软件生产企业的过程质量一般可以用它的软件过程成熟度等级来评估。

RUP全过程质量保证

  Rational Unified Process(RUP)是一个可以通过Web来使用的软件工程过程。作为软件工业事实上的标准,它回答了我们以下问题:在整个软件开发的各个过程中,谁(角色)应该在什么时候(详细工作流程)做什么(任务)和产生什么样的开发结果(工件),以完成整个项目的开发目标。建立有效的工作过程,可以提高团队的生产效率,控制开发过程中的风险,保证软件开发进度并且提高软件产品质量。同时通过为所有重要的开发活动提供全面的指南、模板和示例,使整个软件开发团队能够有效共享成功经验,提高团队效率,最终保证软件开发质量。

全过程质量保证思想

  RUP把整个软件开发过程分解成:业务建模、需求管理、分析设计、实施、测试、部署、配置与变更管理、项目管理和环境等九个核心工作流程。每个核心工作规程由多个详细工作流程组成。RUP使用角色、任务和作为输入/输出的工件来组织每个详细工作流程,实现软件开发组织内部人、资源和流程的融合。RUP通过建立完整的软件开发过程,使得产品的质量由项目团队的每个成员所代表的角色共同负责,具体体现在:每个工作流程设定相应的工作指南和工作检查点,每个角色承担相应的质量任务。

  在RUP中,整个软件开发过程如图1所示,它以指定的工件为输入,通过软件开发角色和标准化的软件开发活动,生产出满足质量要求的输出工件。

原文转自:http://www.ltesting.net