软件测试开发技术UML:为工作流建模[2]

发表于:2009-11-06来源:作者:点击数: 标签:软件测试umlUML工作流技术
软件测试 开发 技术UML:为工作流建模[2] UML模型 关键字:UML 建模 工作流 本着“高内聚、低耦合”原则,研究人员开始把那些本身并不完整、依附于过程模型且为之提供支持的数据、组织、功能、资源等信息分离出来或加以补充,而形成具有相当独立性的模型。 比

软件测试开发技术UML:为工作流建模[2]  UML模型

关键字:UML 建模 工作流

  本着“高内聚、低耦合”原则,研究人员开始把那些本身并不完整、依附于过程模型且为之提供支持的数据、组织、功能、资源等信息分离出来或加以补充,而形成具有相当独立性的模型。

  比较典型的有ARIS模型、WIDE工作流模型等。ARIS模型包括功能视图、组织视图、数据视图、输出视图和控制视图。WIDE工作流模型由组织模型、信息模型与过程模型这三个子模型共同组成。青鸟工作流模型JBDelta由过程模型(Process mode1)、组织模型(Organizationmode1)、数据模型(Data mode1)和功能模型(Function mode1)四个子模型共同组成。

  其中,过程模型是核心,其他模型为之提供支持。在各模型建立完后,需要按各模型间的关系把它们合成一体,从而得到完整的工作流过程模型。

  根据软件工程的“问题分离”原则,为了灵活地表达复杂的过程逻辑并实现变化影响的局部化。青鸟工作流模型对工作流管理联盟WFMC制定的工作流过程定义元模型作了适当的改进,把汇聚、分支结构和它们的约束(AND、OR、XOR)从活动规约中提取出来。引入了一种新的元模型元素——连接符(Connector),即把所有控制信息规约从活动规约中独立出来。图1是青鸟改进的工作流过程定义元模型。

  

  在改进的元模型中。核心元素是连接符(Connector)。根据化繁为简的原则,我们约束一个连接符的前模式或后模式至少有一个为顺序(SEQ)模式,从而定义了顺序(SEQ)连接符(可以省略),与(AND)连接符、或(OR)连接符和互斥(XOR)连接符。

  UML活动图

  活动图是UML中用于描述业务流程的最重要的工具,它提供了一系列的图形符号来支持对业务流程的建模,并提供对条件、并行和反复的逻辑行为的支持,常常用于对系统动态方面建模。

  UML活动图本质上是一个流程图。它可以用于描述活动到活动的控制流。除此之外,还可以定义参与到活动中的对象及其角色、状态和属性的变化。UML活动图一般包括以下几个元素,而这些元素在概念上和工作流过程元素有很多相似甚至相同之处:

  状态:一个活动图是一个特殊的状态机。其中所有的状态(或者至少大多数)都是动作状态或活动状态。动作状态代表一个可执行的原子计算,一个动作执行;活动状态代表非原子的,可以进一步分解的复合计算。所以在为工作流建模时,我们利用活动图中的状态建模工作流过程活动(原子活动和非原子的块、子流程)。活动是工作流过程中的一个逻辑步骤或任务,是工作流过程的重要组成部分。

  转换:规约的是流转关系,显示从一个活动或动作状态到下一个活动或动作状态的传递。对应于工作流模型中的转移,描述了流程的路径。转换上所附的监护条件是转移发生的条件,对应于工作流中的转移上附着条件。用来决定工作流执行路径。

  对象:描述一个活动图中涉及的事物,可能是活动的输入或输出。在UML活动图中,用带有向箭头的虚线表示了对象和对它们进行创建、撤销、修改和使用的活动之间的依赖关系。

  在控制逻辑方面,活动图提供分支和同步棒对业务逻辑的条件和并发行为进行描述。分支是多个控制流中的排它选择。只有一个控制流被选择,而同步棒描述的是并发的控制流。它们分别代表了工作流中的互斥连接符和与连接符。

  为了表示业务的开始和结束,活动图使用了开始活动和结束活动的符号。我们继续沿用活动图中开始和结束活动的概念,标志工作流过程的开始和结束,不针对具体任务的空活动。

  通过前文的介绍,我们可以发现活动图建模工作流的便利之处。但是用活动图描述工作流,还存在着不足。

  例如并不是所有的用于汇聚或者叉分控制流的连接都能用活动图直接的建模。活动图中存在和与连接符、互斥连接符等同的构造模型,但是没有构造型和或连接符等同;组织元素对于活动的职责可以通过把活动放在代表组织元素的泳道中来实现,但是泳道不足以建模准确的组织职责,而这些职责对用于支持工作流管理系统的执行的工作流定义是很重要的;而且活动图中没有对工作流所需应用的建模支持。

  工作流过程图

  为了增强活动图为工作流建模的完整性和准确性,我们提出了对活动图进行扩展。在活动图为工作流建模时,我们发现用户常常关注与活动进行协作的信息实体的描述。也就是说,在活动图的这种应用中,对对象和对象流的建模显得特别重要。所以我们在扩展活动图时,也突出强调了对对象和对象流的扩展。

  在扩展后的工作流过程图中,我们把对活动负责的组织元素从泳道中脱离出来,用参与者(Org—element)独立表示。

 

原文转自:http://www.ltesting.net