wangfeng00 2010-07-06
本文和大家重点讨论一下UML状态图与UML活动图,UML状态图表示某个类所处的不同状态和该类的状态转换信息。而UML活动图表示在处理某个活动时,两个或者更多类对象之间的过程控制流。
UML基础专题之UML状态图与UML活动图
UML状态图
UML状态图表示某个类所处的不同状态和该类的状态转换信息。每个类都有状态,但不是每个类都应该有一个UML状态图。只有当行为的改变和状态有关时才创建UML状态图。一般只描述在系统活动期间具有三个或更多潜在状态的类的UML状态图。
UML状态图的符号集包括5个基本元素:初始起点,它使用实心圆来绘制;状态之间的转换,它使用带箭头的线段来绘制;状态,它使用圆角矩形来绘制;判断点,它使用空心圆来绘制;一个或者多个终止点,它们使用内部包含实心圆的圆来绘制。要想绘制UML状态图,首先需要绘制起点和一条指向该类的初始状态的转换线段。状态本身可以在图上的任意位置绘制,然后只需使用状态转换线条将它们连接起来。
下图显示了一个培训班的UML状态图。图的中心有一个判断点,如果有学员退学,则需要判断是否还有学员继续学习:如果还有,则培训班继续,否则只好被迫停止。
一个培训班的UML状态图
序列图示例
UML活动图
UML活动图表示在处理某个活动时,两个或者更多类对象之间的过程控制流。UML活动图可用于在业务单元的级别上对更高级别的业务过程进行建模,或者对低级别的内部类操作进行建模。
UML活动图的符号集与UML状态图中使用的符号集类似。像UML状态图一样,UML活动图也从一个连接到初始活动的实心圆开始。活动是通过一个圆角矩形(活动的名称包含在其内)来表示的。活动可以通过转换线段连接到其他活动,或者连接到判断点,这些判断点连接到由判断点的条件所保护的不同活动。结束过程的活动连接到一个终止点(就像在UML状态图中一样)。作为一种选择,活动可以分组为泳道(swimlane),泳道用于表示实际执行活动的对象。
图6-10中显示的UML活动图有两个泳道,因为有两个对象控制着各自的活动:乐队经理和报告工具。整个过程首先从乐队经理选择查看他的乐队销售报告开始。然后报告工具检索并显示他管理的所有乐队,并要求他从中选择一个乐队。在乐队经理选择一个乐队之后,报告工具就检索销售信息并显示销售报告。该UML活动图表明,显示报告是整个过程中的最后一步。