论文部分内容阅读
软件过程建模是指对软件过程建立模型并利用该模型对软件产品的开发过程进行管理和改进。软件过程建模技术为软件过程的设计、描述、实施、分析以及改进提供了工具,从而为软件组织实现以过程为中心的软件开发管理提供了有力的支持,对于保证软件组织的软件产品质量,提高开发效率具有重要的理论价值和实践价值。 软件过程的一个重要特征是极大地依赖于软件开发人员的能力。传统的软件过程建模方法中,人被作为过程的执行者或者过程资源而被动地在预定义的模式下实施软件开发活动,这样的模型忽视了开发人员能力对软件过程的主导性,难以适应软件过程的动态多变性、不确定性、自治性以及主动协同性等特点。本文认为,对于软件生产来说,人不仅仅是过程的执行者,更是决定过程能力的基本要素,软件过程应该表现为一组目标驱动的自治实体间的协同工作。从这个观点出发,本文提出了一种基于Agent的软件过程建模方法。该方法将软件过程中生产者(开发人员、开发团队或者软件组织)描述为具有软件过程相关知识和行为能力的过程Agent。这些过程Agent能够根据其对环境的感知,基于其过程知识和推理机制自治地为实现目标确定所要实施的活动,建立计划,并通过协商确定彼此间的协同关系。过程执行出现偏差时,过程Agent能够自治地对计划以及相互间的协同关系进行调整。 本文在组织上采用了从理论到实现的逻辑结构。首先,本文给出了一个形式化模型,该模型描述了基于Agent的软件过程模型的概念结构,过程Agent基于其信念、愿望、意图和规划实现其目标驱动的自治行为的方法,以及过程Agent基于协商建立协同关系的方法,从而为本文研究提供了理论基础。在该形式化模型的基础上,本文提出了一个软件过程建模语言ISPML(Intelligent Software Process Modeling Lauguage)并开发了一个PSEE(Process-Centered Software Engineering Environment)原型系统ISPMS(Intelligent Software Process Management System),从而为软件组织使用本文方法构建基于Agent的软件过程模型以及在实际的软件项目中实施该模型提供了工具支持。 ISPML语言是一个基于XML(Extendible Markup Language)的描述语言,用来对过程Agent Profile进行定义。过程Agent Profile通过对与过程Agent相关的过程知识、过程活动、过程数据、过程制品、参与者以及过程应用的定义来描述过程Agent的特征。一组使用ISPML描述的过程Agent Profile构成了一个基于Agent的软件过程模型。 ISPMS能够将使用ISPML语言描述的软件过程模型实例化为一组过程Agent,并在这些过程Agent实例的支持下实现软件项目计划的自治制定、跟踪以及变更。在该系统的支持下,本文提出的方法能够很好地支持软件过程的自治性、动态多变性以及基于协商的协同特性。同时,本文也通过一个模拟实验验证了过程Agent使用本文所提出的方法进行协同时,实现目标的总的性能较高。