论文部分内容阅读
近年来,研究人员逐渐认识到:软件过程在提高软件质量和软件开发生产力方面发挥着重要的作用;而为软件过程提供自动化支持的过程支持系统则能有效地提高软件过程实施和管理的效率。
在过程支持系统的设计和实现中,过程执行模式是一个较为重要的问题,它影响着过程支持系统的设计及其实用范围。而为了支持软件过程的自动化执行,过程支持系统应该采用一种易于使用易于理解又颇具实用性的执行模式。而现有过程支持系统所采用的过程执行模式在实用性方面存在一定的不足。
针对现有过程执行模式的不足,本文设计了一种分层的过程执行模式。在该模式中,将软件过程分成两个抽象的层次,分别采用不同的执行模式。这种分层过程执行模式能较好的符合软件过程的应用实践;并且由于该模式使用了分层模型,简化了问题的复杂性,因而是一种较容易理解和使用,且是轻量化的设计策略。
本文的具体工作主要包括:
1.对过程执行模式的现状进行了分析和总结
本文将现有过程支持系统所采用的过程执行模式归纳为前摄式执行模式、反应式执行模式以及混合执行模式三种,并从灵活性、易用性、实现难度、执行效率等方面分析了这三种过程执行模式的不足:前摄式执行模式容易使用和理解,但是灵活性较差;反应式执行模式具有较强的灵活性,但是使用和理解较为困难;混合执行模式提供了一个强大的机制,但却过于复杂,使用和理解比较困难,同时不是一个轻量化的设计策略,实现的难度较大。
2.提出了一种分层的过程执行模式
一般认为,软件过程是一个分层的结构。而我们认为在实践中不同层次的软件过程具有不同的特性:底层过程具有结构化程度较高的特性,通常可以预先确定执行的流程;而高层过程多是半结构化和非结构化的,通常难以预先确定执行的流程,而应该以一种反应式的方式组织,使其能快速响应变化的情况。
针对这一现象,本文提出一种分层的过程执行模式,该模式将软件过程分为两个层次,并且不同层次的软件过程采用不同的执行模式:底层采用前摄式执行模式;而高层采用了反应式执行模式。
在对软件过程实际执行的需求进行分析的基础上,本文给出了该过程执行模式的详细设计。
3.实现了支持上述分层过程执行模式的执行引擎
对应于分层过程执行模式,该执行引擎也是一个分层的架构:底层引擎用于支持底层过程的自动化执行,它采用面向对象的设计方法,能在增加过程元素或是过程元素的行为发生变化的情况下较为方便地进行扩展,并且具有较高的健壮性,能够在遭遇故障后恢复过程的执行;而高层引擎用于支持高层过程的自动化执行,它将根据过程片段的定义在事件产生时作出适当的反应。
4.将分层过程执行模式部分应用于过程支持系统CPMS中
CPMS是一个由国家863计划资助开发并已得到实际应用的过程支持系统。我们在该系统中部分应用了本文提出的分层过程执行模式。使用情况表明,这种分层过程执行模式为系统提供了一定的灵活性,具有较高的实用价值。