状态图
状态图可以展现一个对象拥有的状态,还可以说明事件如何随着时间的推移来影响这些状态。
状态
状态是给定类的对象的一组属性值,这组属性值对所发生的事件具有相同性质的反应。
转换
转换是状态间的关联。当一个特定事件发生或者某些条件得到满足时,一个源状态下的对象在完成一定的动作后将发生状态转变,转向另一个称为目标状态的状态。一般状态之间的转移是由事件触发的。
事件
事件表示在某一特定的时间或空间出现的能够引发状态改变的运动变化。
活动图
活动图可以用于描述系统的工作流程和并发行为,它用于展现参与行为的类所进行的各种活动的顺序关系。
活动图中活动的改变不需要事件触发,原活动执行完毕后自动触发转移,转到下一活动。
活动图的组成元素
活动图中的组成元素主要有:动作状态(activity state),活动状态(action state),判定(decisions),转换(transition),动作流(action flow),分支(branch)与合并(merge),分叉(fork)与汇合(john),泳道(swimlane),以及对象流(object flow)。
动作状态
对象的动作状态是活动图的最小单位的构造块,是指执行原子的、博客中断的动作,并在此动作完成后通过转换向另一个状态的状态。
活动状态
活动状态用于表达一个非原子的运行。对象的活动状态可以被理解成一个组合,它的控制流由其他活动状态或动作状态组成。
和动作状态不同,活动状态可以有人口动作和出口动作也可以有内部转移。
判定
一个活动序列几乎总是要达到某一点,在这一点处要做出判定。一组条件引发一条执行路径,另一组条件则引发另一条执行路径,并且这两组执行条件是互斥。
转换与动作流
当一个动作状态或活动状态结束时,该状态就会转换到一个状态这就是无触发转移称为自动转移。所有动作状态之间的转换流称为动作流。
分支与合并
在活动图中,对于同一个触发,可以根据触发条件转移到不同的活动,每个可能的转移就是一个分支。分支一般用于表示对象类所具有的条件行为,合并表示从对应的分支开始的条件行为的结束。
分叉与汇合
分叉用于将动作流分为两个或者多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事物的目的。
泳道
泳道时活动图中水平方向的区域划分,根据每个活动的职责对所有活动的职责进行划分,每个泳道代表一个责任区,泳道关心的是所代表的职责。
时序图
时序图描述系统中类和类之间的交互,以及对象之间消息交互的时间顺序,也可称为顺序图。
时序图组成元素
时序图是一种强调消息的时序交互图,它由活动者,对象消息,生命线和控制焦点组成。
对象
对象是类的实例,具有特定的属性和操作。如果对象位于时序图的顶部,则说明在交互开始之前该对象已经存在了。如果对象是在交互的过程中创建的,那么它应当位于图的中间部分。
生命线
生命线是一条垂直的虚线表示时序图中的对象在一段时间内
控制焦点
控制焦点是对象生命线上的一个窄矩形,用于装饰对象生命线表示对象执行一个动作所经历的时间长度。矩形的顶部表示动作的开始,底部表示动作的结束。
消息
消息定义的是对象之间的某种形式的通信,它可以激发某个操作,唤起信号或导致目标对象的创建或撤销,简单地说,消息就是对象与对象,参与者与参与者,或者对象与参与者之间的某种通信方式。
协作图
协作图显示了一系列的对象和这些对象之间的联系,以及对象间发送和接收的消息。协作图也是一种交互图。强调的是发送和接收消息的对象之间的组织结构。
协作图组成元素
协作图是用于描述系统的行为是如何由系统的成分协作实现的图。协作图中包括的建模元素有对象,消息,链等。
时序图和协作图的互换
打sequence框图,按f5(rose软件)
时序图与协作图的比较
时序图和协作图都属于交互图,都用于描述系统中对象之间的动态关系。协作图以对象图的方式描绘各个参与对象,强调的是交互的语境与参与交互的对象的整体组织;时序图可以描述对象的创建和撤销情况,强调的是交互的时间顺序。
组件图
组件是系统高层的可重用的组成部件。组件图描述软件组件,以及组件之间的关系,组件本身是代码的物理模块,组件则显示了代码的结构。