论文部分内容阅读
随着软件产业的快速发展,如何提高软件企业的生产率,保证软件产品质量成为软件行业关注的焦点,同时又是理论研究的难点。为此,国际标准化组织和研究界分别制定了可以改进软件过程,提高软件质量的标准ISO9001和CMM/CMMI。ISO 9001提供了质量保证的基本要素,CMM提供过程改进的关键过程域及其实践,然而真正的挑战是如何实现一个能够满足这些标准并适用于公司的产品、服务和文化的软件质量保证体系。本文围绕质量保障这一主题,就质量保障的几个技术展开研究。国际对象管理组织OMG(Obiect Management Group)推出的软件过程工程元模型SPEM(Software Process Engineering Metamodel),是用来描述一个具体的软件开发过程或一族相关的软件开发过程的元模型。然而它还不能满足所有的过程建模的需要,如CMMI过程定义。为了能将SPEM用于CMMI过程建模,本文对SPEM进行了扩展,建立了基于MOF(Meta-Obiect Facility,元对象设施)的SPEM重型扩展机制和基于UML Profile的SPEM轻型扩展机制,目的是既利用MOF的元建模能力,又要利用UML的表示能力及其CASE工具的支持。这种方式的CMMI建模,既能充分反映CMMI模型本身的语义,又能借用UML建模工具,使建模具有实际的可操作性。利用UML模型驱动架构(MDA),可以将CMMI模型的建立和模型的实施分离开来,从而体现出建模的关注点和模型实施的关注点的分离。软件能力成熟度模型集成CMMI由产品开发和维护活动的最佳实践组成,覆盖“概念—交付—维护”的整个产品生命周期。最新版本的CMMI V1.2集成了产品开发和维护所必须的基本知识,如软件工程、系统工程、硬件工程和获取工程。CMMI主要提出软件组织在其软件过程改进中应该“做什么”,至于“怎么做”,并没有给出过多的描述。小组软件过程TSP提出了软件开发的8个脚本,每个脚本都包含具体的目标和实施步骤,且提供了过程产品的文档类型与模板、角色类型和职责,是一个易于操作的过程框架。本文在分析TSP对CMMI的特定实践的覆盖率的基础上,总结两种模型融合的成分及其融合渠道,将CMMI和TSP融合起来,加速基于CMMI软件过程改进的实施,且基于J2EE技术,设计并实现一个基于TSP和CMMI模型融合的软件质量保障平台。本文将软件过程度量和过程产品度量相结合,提出一个新的度量模型GQ(I)M-D,解释了该模型的元素语义及其相互关系,并将其用于过程度量的实践。建立了一套软件过程和过程产品可操作的客观度:量指标,如变更、缺陷数目和类型、缺陷引入和消除的阶段、检查数、质量成本、错误成本、过程产量等,并利用统计技术,找到问题的归属原因,以达到:量化的过程管理。统一建模语言UML的普遍应用,为过程产品客观自动度量提供了可能性,介绍了UML模型和面向对象源代码的度量指标和方法。设计并实现了一个用于软件项目规模估计的源代码统计工具。软件测试是保证软件质量的关键技术之一。基于规格说明的测试可以验证程序实现是否符合系统需求,将测试提前到软件需求和设计阶段,也可以将测试和实现同步进行,更加有效地保证软件质量。统一建模语言UML成为事实上的面向对象软件设计的标准,越来越多地作为软件规格说明的描述语言。UML活动图广泛用于软件需求和设计的建模。基于UML活动图的测试受到业界的普遍欢迎。UML 2.0中活动图不再是状态图的特例,其中存在并行、循环、异常处理、中断处理、中央缓存区、流终结点等复杂结构,从UML活动图自动生成完整的测试场景\用例成为一个难点。本文定义一组从UML活动图生成测试场景的测试覆盖准则,提出了从UML活动图自动产生测试场景的自适应Agent算法和系统的形式化方法;定义了一个描述UML活动图的XML Schema,用于从UML建模工具生成的XMI、HTML、MDI等格式的文件中提取描述UML活动图的XML文档;设计并实现了一个从UML活动图自动生成测试场景的工具系统原型——TSGAD.SPEM、CMMI和UML模型都在不断演化,其版本也在不断升级。本文讨论的基于SPEM扩展的CMMI过程建模、基于TSP的CMMI实现、UML模型测试等内容都需要随着这些模型本身的不断改进而改进。