系统架构师考试状态图和活动图

系统架构设计师 责任编辑:sttyboy 2013-12-27

添加老师微信

备考咨询

加我微信

摘要:UML中的状态图(statechartdiagram)主要用于描述一"对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件(event),以及因状态转移而伴随的动作(action)。状态图是UML中对系统的动态行为建模的5个图之一,状态图在检查、调试和描述类的动态行为时非常有用。一般可以用状态机对一个对象的生命周期建模,状态图是用于显示状态机的,重点在于描述状态之间的控制流

6.2.5状态图和活动图

1.状态图

UML中的状态图(statechartdiagram)主要用于描述一"对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件(event),以及因状态转移而伴随的动作(action)。状态图是UML中对系统的动态行为建模的5个图之一,状态图在检查、调试和描述类的动态行为时非常有用。一般可以用状态机对一个对象的生命周期建模,状态图是用于显示状态机的,重点在于描述状态之间的控制流。

单的状态图的例子。这个状态图中描述的对象除了初态和终态外,还有Idle和Running两个状态,而keyPress、finished、shutDown等是事件。

2.活动图

活动图是对系统的动态行为建模的5个图之一。活动图可以用于描述系统的工作流程和并发行为。活动图其实可看作状态图的特殊形式,活动图中一个活动结束后将立即进入下一个活动(在状态图中状态的转移可能需要事件的触发)。

下面讨论活动图中的几个基本概念:活动、泳道、分支、分叉和汇合、对象流。

1)活动

活动(activity)表示的是某流程中的任务的执行,它可以表示某算法过程中语句的执行。在活动图中需要注意区分动作状态(actionstate)和活动状态(activitystate)这两个概念。动作状态是原子的,不能被分解,没有内部转移,没有内部活动,动作_态的工作所占用的时间是可忽略的。动作状态的目的是执行进入动作(entiyaction),然后转向另一个状态。活动状态是可分解的,不是原子的,其工作的完成需要一定的时间。可以把动作状态看作活动状态的特例。

2)泳道

泳道(swimlane)是活动图中的区域划分,根据每个活动的职责对所有活动进行划分,每个泳道代表一个责任区。泳道和类并不是一一对应的关系,泳道关心的是其所代表的职责,一个泳道可能由一个类实现,也可能由多个类实现。

3)分支

在活动图中,对于同一个触发事件,可以根据不同的瞥戒条件转向不同的活动,每个可能的转移是一个分支(branch)。

4)分叉和汇合

分支表示的是从多种可能的活动转移中选择一个,如果要表示系统或对象中的并发行为,则可以使用分叉(fork)和汇合(join)这两种建模元素。分叉表示两个或多个控制流经过分叉后,这些控制流并发进行;汇合正好与分叉相反。

5)对象流

在活动图中可以出现对象。对象可以作为活动的输入或输出。活动图中的对象流表示活动和对象之间的关系,如一个活动创建对象(作为活动的输出)或使用对象(作为活动的输入)等。如图6-13所示。

 

图6-13活动图案例


更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取