行为图就是用来描述项目行为的图形,行为图包括活动图和状态图。
活动图
活动图描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并行活动。能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图建模的商务需求。简单说,活动图就是阐明了业务用例实现的工作流程,活动图与流程图十分的类似,不同之处在于它支持并行活动。
活动图的作用:
1、描述一个操作的执行过程中所完成的工作或者动作。
2、描述对象内部的工作
3、显示如何执行一组相关的动作,以及这些动作如何影响周围对象。
4、描述用例的执行
5、处理多线程应用
活动图的基本要素:
活动状态Action states
活动状态之间的转移transitions
判断decisions:一种表示判断决策的特殊活动
保证条件:guard conditions:只有保证条件为真时转移才发生
同步条:synchronization bar:一种表示活动之间的同步的特殊活动
起点和终点:起点有且只有一个,终点可有一个或多个
活动图的图符
泳道
所谓泳道技术,是将活动用线分成一些纵向区域,这些纵向区域称为泳道。每个区域代表一个特定类,或者人,或者部门的责任区。泳道技术是活动图中引入的一种面向对象机制。可为提取类及分析各个对象之间的交互提供方便。
状态图
状态图用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移。
状态图的图符:
状态机是这样的一种行为,它描述了一个对象或一个交互在生命期内响应事件所经历的状态序列。
1、单个类或者一组类之间协作的行为可以用状态机来描述
2、一个状态机涉及到一些其他元素,包括状态、转换(从一个状态到另一个状态的流)、事件(触发转换的事务)和活动(对一个转换的响应)。
状态:
状态是指在对象的生命期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况。
一个状态有以下几个部分:
1、名称name
2、进入协作和退出动作entry action/exit action
3、内部转换internal transition
4、子状态substate
5、延迟事件deferred event
特殊状态有两个:初始状态和终止状态
转换
一个转换是两个状态之间的一种关系,表示对象在第一个状态中执行一定的动作,并在某个特定事件发生而某个特定的条件满足时进入第二个状态。
一个转换由5部分组成:
1、原状态source state
2、事件触发event trigger
3、监护条件guard condition
4、动作action
5、目标状态target state
活动图和状态图的区别
状态图侧重从行为的结果来描述(状态)
活动图侧重从行为的动作来描述(活动)
在实际项目中,活动图并不是必须的。一般在下面三种情况时需要试用活动图:
描述一个并运行的过程或者行为
描述一个算法;描述一个跨越多个用例的活动
状态图描述了一个具体对象的可能状态以及他们之间的转换。