论文部分内容阅读
按照ISO/IEC12207:1995标准,从合同的角度可将软件项目中的众多干系人(Stakeholder)分为供方和需方两类。供方提供软件产品或服务,通常是软件开发机构;而需方则是采购或使用软件产品或服务的机构,包含买主、顾客、拥有者、用户或采购者等多种角色。为了使软件项目在工期、成本和质量上获得好的绩效,供方和需方都需要遵从定义良好的过程模型,即供方软件工程过程(简称:供方过程)和需方软件工程过程(简称:需方过程),并在统一的软件工程过程框架下密切配合。 现有软件过程研究较多的关注于供方过程,而对需方过程关注较少。然而,相关研究和工程实践都表明,需方过程对软件项目的绩效有重要影响,如何定义适宜的需方过程是一个亟待解决的问题。另一方面,需方过程定义(Definition)是一项知识密集型的工作,复用历史项目中积累的过程知识能够大幅度提高需方过程定义的效率和质量,是解决需方过程定义问题的有效途径。 要复用过程知识,需要解决过程知识的来源和表示问题。过程挖掘为过程知识提供了一种良好的获取技术。过程挖掘采用严格的定量分析方法,从客观存在的过程数据中发现、权衡过程知识,给出了专家经验之外另一种获取、选择知识的方式。然而,现有过程挖掘研究主要以过程模型为挖掘对象,由于过程模型的粒度过大,限制了挖掘成果的可复用程度。另一方面,过程模式为过程知识提供了一种良好的表示机制。过程模式以问题为中心组织过程知识,给出了将过程分解为可复用单元的较好视角。然而,现有过程模式研究将专家经验作为模式获取和模式选择的前提条件,在需方过程定义场景下难以适用。 本文认为,过程挖掘和过程模式彼此具有高度互补性。过程挖掘为过程模式提供了一种专家经验之外的知识获取和选择技术。过程模式则为过程挖掘提供了将软件过程分解为可复用单元的机制。为此,本文以过程模式为中心,结合过程模式和过程挖掘各自的优点,提出一种基于模式的需方过程定义方法。该方法以复用需方过程定义知识为目标,将过程模式作为需方过程定义知识的表示机制,通过挖掘客观存在的历史项目数据为需方过程定义知识的获取和选择给予支持,并充分考虑需方过程的特点,为需方过程定义知识提供便捷的应用方式。为此,需要研究需方过程模式的获取、选择以及应用技术。 本文的主要研究成果包括: 1.提出了一种通过挖掘历史项目数据抽取候选需方过程模式的方法。从过程模式的基本特征出发,将频繁、极大作为候选模式的判定条件。针对软件过程活动间存在复杂时序关系的特性,设计参与图来刻画需方过程。在此基础上,提出了将需方过程数据转换为参与图,并利用模式抽取问题的向下封闭特性,逐步迭代求精的模式抽取方法。 2.提出了一种根据项目特征、基于数据分析进行模式推荐的方法。以同时给出相关的模式和反模式作为需方过程模式推荐的目标,进而将需方过程模式的语境看作从场景到应用效果的映射关系。依据这一思路,首先根据新项目的自身特征,找到与之相似的历史项目;随后考察各模式在相似历史项目中的应用效果,建立模式语境并为新项目给出推荐结果。 3.提出了一种基于过程Aspect的需方过程模式应用方法。该方法将需方过程模式融入供方过程模型,为供需双方定义出统一的软件工程过程模型。鉴于需方过程模式的横切式特性,将需方过程模式的解决方案建模为过程Aspect,并以SPEM2.0作为供方过程模型的建模语言,实现了一种自动织入机制,包括2条映射规则、16种织入操作。 4.基于上述研究成果,提出了一种系统化的基于模式的需方软件过程定义方法。该方法覆盖了需方过程模式的生产、管理和复用。详细定义了每一部分的目标、制品和活动,为方法实施提供了指南。 综上所述,本文以过程模式作为知识表示机制,将过程分解为可复用单元,为需方过程定义中共性知识的提取和应用奠定了基础;以过程挖掘作为知识抽取和推荐技术,降低了需方过程定义对专家经验的依赖,进而有效规避了需方和供方因立场差异而产生的争议;将需方过程模式自动织入供方过程模型,为促进供需双方协作创造了条件。本文开发了相应的支持工具,并从11家软件企业中收集了37个电子政务项目案例,对本文方法进行了实例研究。