论文部分内容阅读
软件工程在现代软件开发中已经成为指导性的关键因素,软件过程则是软件工程的基础,在软件开发中,一个严格定义、可重复、可度量和不断优化的软件过程,是软件产品质量的重要保障。在可以预计的将来,随着软件联盟、虚拟企业、分布式软件开发的广泛施行,管理和支持一个分散的、动态的软件过程的需求变得越来越现实和急切。
协同软件工程(CooperativeSoftwareEngineering,CSE)是指在一个分布式的组织中或者组织间实现的、大规模的软件开发与维护的过程。CSE所研究的软件过程是分布的、组织相对松散的特殊的软件过程。在引入“过程片”的概念后,协同软件过程就具备了可复用的特性。
由于协同软件过程自身的特性,其软件过程是分布的、动态的、可变更的,同时协同软件过程还强调过程的协同特性,要支持软件过程的执行,就必须能够适应这些特点。已有的应用集成的研究都集中在如何将应用工具集成到一个系统中,是一种固化死板的集成方式,这些研究并不特别针对协同软件过程的应用集成,因此不能很好地支持协同软件过程系统是难免的。现有的应用集成机制大多也没有提供某种自适应机制。在这样的背景下,本文提出了支持协同软件工程的应用集成机制IMCSP(IntegrationMechanismsupportingCSP),试图通过应用新技术来实现对协同软件过程进行应用集成上的支持(在本文中若非指明,应用集成都是指应用工具的应用集成)。本文研究的重点是如何将应用工具集成到系统中,并进行应用工具的协同,以及提供一定的自适应性。本文主要解决了支持协同软件过程的应用集成问题,支持协同软件过程的应用集成问题分为如下几个方面:1.应用工具的集成框架,从概念层次来看,IMCSP是一个三层结构的应用集成框架,即最底层的WebServices封装的应用工具层、底层本地应用集成层和高层全局应用集成层。从分布的角度来看,IMCSP也可以分为两层:本地层和网络层;
2.应用集成的控制,已有的工作流系统在严格控制的过程方面可以进行很好的支持,在引入了过程片的概念后,过程片可以由工作流进行控制,在软件过程片级别,应用集成就变成了以工作流为驱动的集成方式;
3.应用工具的协同,Multi-Agent技术已被证明可以很好地进行协同管理,由于本文涉及的ROSPE系统可以很好地支持基本的并发、同步与反馈协同,因此本文关注的是这三种协同之外的较复杂形式的协同;
4.应用工具的统一封装,WebServices技术提供了一种构件化的标准,通过在应用系统之外封装一层WebServices层可以实现对具体系统细节的屏蔽。对应用工具的配置就变成了对WebServices应用的配置。