论文摘要
软件过程技术通过描述、运作、监控、度量和演化过程模型,对软件开发者提供实际的指导和控制,是支持软件开发、项目管理和质量保证的关键技术。软件过程技术的关键特征就是计算机化的过程支持,即利用相关的工具来定义、修改、分析和执行过程模型。软件过程支持系统PSEE(Process-centered Software Engineering Environment)中的核心部件是过程引擎,用来实现解释过程定义、控制管理过程实例、支持用户交互、维护控制数据、在应用程序间或用户间传递相关信息等功能。 本文针对当前软件过程引擎存在的主要问题进行了研究,目标是实现一个能支持地理上分布的各成员间合作的、与项目管理相结合的、柔性运作的软件过程引擎。这个基于Web的软件过程引擎WSPE主要特点如下: 首先,采用B/S结构,基于J2EE平台搭建 过程引擎WSPE在过程建模语言ReAc等已有工作的基础上,采用基于Web的编程,使用Java语言,基于J2EE平台搭建。Web方式简单易用,采用“瘦客户端”的模式,用户不需要任何客户端软件,就可以通过浏览器实现和服务器的联接。这种方式便于实现地理上分布的软件开发人员相互交流信息,在同一平台下实现协作,共同开发大型的软件项目。 其次,建立事件触发机制 事件提供了一种松散的、间接的、松耦合的“生产者/消费者”的通信模式。事件(包括活动完成、资源增减、人员变更等)出现后,通过判断相应的条件,来决定相应的动作,实现采用ECA规则描述的控制流。在WSPE中,通过在参与者和引擎间采用Push模式,实现了引擎的反应式控制,从而克服了主动式过程引擎的各种缺点,使软件过程的柔性运作成为可能。 再次,实现过程引擎和项目管理结合 WSPE不仅仅是一个过程模型的解释器,已经成为一个能同时管理多个项目的信息化平台。过程引擎不再机械地执行模型规定的流程,通过过程管理模块,WSPE能实现流程的变更、人员的变动和资源的动态分配。