您的位置:首页 > Web前端

[UML][Feel]系统约定:用UML描述工作流管理

2006-05-09 10:35 232 查看
原文见:http://www.yesky.com/SoftChannel/72342393403211776/20040605/1805086.shtml

对此文的理解

1.业务系统的描述由流程和静态结构的描述组成。
流程最直观的模型就是一个活动或任务的序列,按照顺序完成以到达某个目标。因此,UML的序列图和活动图很适用于友好、准确、详细地描述业务流程,如组织图之类的静态结构,没有实现细节,可以用UML的静态结构图描述。

2.业务对象在UML中用类和对象表示
类描 :述没有特性(identity)的业务对象,如发票(invoice)。
对象描述:有特性的业务对象,比如编号为VM4/55的发票(VM 4/55: invoice)。

3.业务流程用用例和用例实例来描述
用例 :根据目标、职责、前置条件和后置条件来描述。
用例对象:是具体的事件序列。
工作流是自动化的业务流程,用带有构造型 <<workflow>> 的用例或用例实例描述。

4.用类和对象描述团队角色(team roles)
类 :描述团队角色的类型。
对象:描述担任该角色的具体工人(worker)
如果团队表示为对象,团队和角色之间的关系为组装关系,那么根据UML元模型概念,一个特定的角色实例不能同时属于多于一个团队。如果团队表示为包,特定的角色实例可以同时属于几个团队。

5.眼见为实

A.序列图描述业务流程的实例

描述了业务流程的实例。角色客户(customer) 下了一份定单,然后销售(sales)部门中的某个工人确认此定单。如果定单有效,此工人调用另一业务流程“公司运输物品(company ships an item)”的实例。这个类型的图在UML表示法指南中没有明确的提到,然而,它符合UML的元模型。
在对象生命线顶部的符号代表分类器角色。

B.用例图描述业务流程之间的静态关系

UML用例图,描述了业务流程之间的静态关系。业务流程描述组织(organization)与角色客户(customer)的协作。
注意在UML的1.1版本中,用例不能相互联系而总是由角色发送信号触发。这给建模环境带来困难,一个用例在运行期间,当特殊条件出现时,另一个用例也开始启动。
在这种情况下,角色通过与另一个用例的联系初始化此用例而不需发出任何特定的开始信号。
例如,如果客户的请求被评估为有效,用例公司运输物品(company ships an item)被组织中的对象触发。这个用例实例不直接由客户触发。

C.序列图描述业务流程和执行者(Actor)之间的交互

D.UML交互图描述业务流程和角色之间的交互和关系

角色可以通过特殊顺序启动用例的方法来使用系统。像这样的场景——用例实例序列——可以用顺序图或协作图描述
对照对象交互图,场景被描述为消息序列,用例交互图把场景描述为用例序列。这个图仅仅是由其他场景的实例组成的一个场景的UML图。在图5中消息调用(invoke)表示用例构造器和映射为从角色到用例的信号。根据每个用例的最开始操作,如调用请求(invoke request), 调用运输(invoke shipment)和调用付款(invoke payment),可以命名这些消息,除了这些消息之外,用例交互图能表示角色与系统间其他消息的交互,并描述了用例与角色的全部交谈。

E.活动图描述业务流程的允许的顺序

用例交互图:描述的仅仅是由用例实例组成的一种典型场景。因此它不能表达用例实例所有允许的顺序,属于用例包的用例实例所允许的顺序可以在用例包生命周期内详细说明。
活动图 :描述了用例包订单管理(order management)的生命周期。
在活动图中的活动与图B、C、D中的用例相对应。

用例交互模型和用例生命周期还有一个显著的区别——它们在项目知识库中的位置不同,并且与其它设计工件的关系不同。
工件用例交互模型与工件用例模型相关,工件用例包生命周期与工件用例包相关,后者的抽象级别比相对应的用例模型和用例交互模型高。

F.在项目知识库里的用例视图中工件之间的关系

6.项目知识库的结构化
这部分内容比较抽象,需要更多的理解。

G.结构化项目知识库的设计工件模式

H. 在每一抽象级的每一视图中,都可以用四种设计工件描述软件产品。

  UML分类器是:类、接口、用例、节点、子系统和组件。

  分类器模型(classifier model)
指定了分类器之间的静态关系。分类器模型可以是一组静态结构图(如果分类器是子系统,类或接口),可以是一组用例图(如果分类器是用例和执行者),可以是一组部署图(如果分类器是节点),还可以是一组组件图(如果分类器是组件)。

  分类器交互模型(classifier interaction model)
指定了分类器之间的交互。分类器交互模型可以用交互图表示:序列图或协作图。UML表示指南(UML Notation Guide)仅仅描述了那些分类器是对象的交互图,并不描述那些分类器是用例、子系统、节点或组件的交互图。

  设计工件叫做分类器(classifier)
指定了分类器的职责、角色和分类器接口的静态属性(例如,分类器的操作表,有前置条件和后置条件)。分类器还可以用结构化的文字表示,如CRC卡。

  分类器生命周期(classifier lifecycle)
指定了分类器状态机和分类器接口的动态属性(例如所允许的有顺序的操作和事件)。分类器生命周期可以用状态图、活动图和状态转移表来表示。

  可以把分类器模型的一个实例链接到分类器交互模型的几个实例上,所有这些实例都链接到分类器的实例上,分类器的实例链接到分类器生命周期的实例上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: