作者:X53TEDDYWON_314 | 来源:互联网 | 2023-09-10 16:13
活动图活动图是阐明了业务用例实现的工作流程。就是某一个业务是通过哪些流程完成的,就是用活动图来表现出来。1.活动图的几个基本元素1)活动状态actionstates活动状态表示在
活动图
活动图是阐明了业务用例实现的工作流程。就是某一个业务是通过哪些流程完成的,就是用活动图来表现出来。
1.活动图的几个基本元素
1) 活动状态 action states
活动状态表示在工作流程中执行某个活动或步骤
2)活动状态之间的转移 transitions
表示各种活动状态的先后顺序。
![](https://www.#.com/go/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTUxMTI3MjA1MDUzMzA3P3dhdGVybWFyay8yL3RleHQvYUhSMGNEb3ZMMkpzYjJjdVkzTmtiaTV1WlhRdi9mb250LzVhNkw1TDJUL2ZvbnRzaXplLzQwMC9maWxsL0kwSkJRa0ZDTUE9PS9kaXNzb2x2ZS83MC9ncmF2aXR5L1NvdXRoRWFzdA==)
3)判断 decisions
一种表示判断决策的特殊活动。
![](https://www.#.com/go/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTUxMTI3MjA1NDExOTA1P3dhdGVybWFyay8yL3RleHQvYUhSMGNEb3ZMMkpzYjJjdVkzTmtiaTV1WlhRdi9mb250LzVhNkw1TDJUL2ZvbnRzaXplLzQwMC9maWxsL0kwSkJRa0ZDTUE9PS9kaXNzb2x2ZS83MC9ncmF2aXR5L1NvdXRoRWFzdA==)
4)保证条件 guard conditions
只有保证条件为真时转移才能发生
5)同步条 synchronization bar
用于显示业务用例的工作流程中的并行线程
![](https://www.#.com/go/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTUxMTI3MjA1NTAxOTUzP3dhdGVybWFyay8yL3RleHQvYUhSMGNEb3ZMMkpzYjJjdVkzTmtiaTV1WlhRdi9mb250LzVhNkw1TDJUL2ZvbnRzaXplLzQwMC9maWxsL0kwSkJRa0ZDTUE9PS9kaXNzb2x2ZS83MC9ncmF2aXR5L1NvdXRoRWFzdA==)
6)起点和终点
起点有且只有一个,终点可以有一个或多个
![](https://www.#.com/go/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTUxMTI3MjA1NTI5MDQ1P3dhdGVybWFyay8yL3RleHQvYUhSMGNEb3ZMMkpzYjJjdVkzTmtiaTV1WlhRdi9mb250LzVhNkw1TDJUL2ZvbnRzaXplLzQwMC9maWxsL0kwSkJRa0ZDTUE9PS9kaXNzb2x2ZS83MC9ncmF2aXR5L1NvdXRoRWFzdA==)
![](https://www.#.com/go/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTUxMTI3MjA1NTM0NzE4P3dhdGVybWFyay8yL3RleHQvYUhSMGNEb3ZMMkpzYjJjdVkzTmtiaTV1WlhRdi9mb250LzVhNkw1TDJUL2ZvbnRzaXplLzQwMC9maWxsL0kwSkJRa0ZDTUE9PS9kaXNzb2x2ZS83MC9ncmF2aXR5L1NvdXRoRWFzdA==)
2.泳道
泳道用于对活动图中的活动进行分组,用于描述对象之间的合作关系
所谓泳道技术,是将活动用线分成一些纵向区域,这些区域成为泳道。
每个区域代表一个特定类,或者人,或者部分的负责区。
泳道技术是活动图中引入的一种面向对象机制。为提取类及分析各个对象之间的交互提供方便。
3.活动图的作用
1)描述一个操作的执行过程中所完成的工作或动作
2)描述对象内部工作
3)显示如何执行一组相关的动作,以及这些动作如何影响周围对象
4)描述用例的执行
5)处理多线程应用
4.以下场合不适用活动图
1)显示对象之间的合作
2)显示对象在其生命期内的运转情况
5.活动图的局限
很难清楚的描述动作与对象之间的关系,没有交互图直接。
状态图
状态图是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出的反应。
通常我们创建一个状态图是为了研究类、角色、子系统或组件的复杂行为。
1.状态机 State machine
描述了一个对象或一个交互在生命期内相应事件所经历的状态序列。
单个类或一组类之间协作的行为可以用状态机来描述
一个状态机涉及到一些其他元素,包括状态、转换(从一个状态到另一个状态的流)、事件
2.状态
状态是指在对象的生命期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况。
一个状态通常由名称、进入协作和退出动作、内部转换、子状态、延迟事件五部分组成。
3.转换
一个转换是两个状态之间的一种关系,表示对象将第一个状态中执行一定的动作,并在某个特定时间发生而某个特定的条件满足时进入第二状态。
一个转换通常由源状态、事件触发、监护条件、动作、目标状态五部分组成
源状态:即受转换影响的状态
目标状态:当转换完成后对象的状态
触发事件:用来为转换定义一个事件,包括调用、改变、信号、时间四类事件
监护条件:布尔表达式,决定是否激活转换
动作:转换激活时的操作
4.活动与延迟事件
活动:当对象处于一个状态时,它一般是空闲的,在等待一个事件的发生。
但在某些时间,你可能希望描述个正在进行的活动。在处于一个状态的同时,对象做着某些工作,并一直继续到被某个事件中断
延迟事件:延迟事件是一种特殊的事件,它是指该事件不会触发状态的转换,当对象处于该状态时事件不会丢失,但会被延迟执行。
活动图和状态图的区别
活动图侧重从行为的动作来描述(活动)
状态图侧重从行为的结果来描述(状态)
在实际项目中,活动图并不是必须的。一般在以下情况下需要使用活动图
1)描述一个并行过程或者行为
2)描述一个算法
3)描述一个跨越多个用例的活动
装填图描述了一个具有对象的可能状态以及他们之间的转换。