笔记基于《UML和模式应用》教材
-
UML活动图
-
基本的UML表示法
基本的UML活动图表示法,包括动作、分区、分叉点、连接点和对象节点等。分区有助于观察多个参与者以及业务过程中涉及的并行动作,对象节点可以描述动作周围移动的事物。 -
其他UML活动图表示法
-
耙子,决策,合并
当某个活动需要在另外一个活动图中展开时,如何表示?可以使用耙子符号来表示。
如何表示条件分支?决策符号。与之相关的是合并符号,用来表示分支流能够汇合到一起。 -
信号
当你需要对时间触发动作或取消请求等诸如此类的事件建模时,信号非常有用。
-
- 数据流图与UML活动图
从20世纪70年代开始,数据流图(DFD)就已经成为数据流建模的流行方法。
数据流图(DFD)用于对软件系统过程中所涉及的主要步骤和数据进行可视化。
尽管理论上讲DFD可以用于业务过程建模,但其通常用于表示计算机系统中的数据流。
对于文档化和探索来说,DFD模型所提供的信息都具有效用,但UML中并没有包含DFD表示法。幸运地是,UML活动图能够满足同一目的---用于数据流建模,从而代替传统的DFD表示法。注意,除对象节点 (object node)以外,UML数据存储节点(datastore node)也适用于表示数据流。- 数据流图(DFD)
-
-
-
UML状态图
-
基本UML状态图表示法
- 事件(event)
是指-一件值得注意的事情的发生。
例如:·电话接线员拿起话筒。 - 状态( state)
是指对象在事件发生之间某时刻所处的情形。
例如:·接线员挂机之后再次拿起话简之前电话处于“idle”状态。 - 转换(transition)
是两个状态之间的关系。它表明当某事件发生时,对象从先前的状态转换到后来的状态。
例如:·当事件“off hook”发生时,电话从“idle”状态转换为“active”状态。
- 事件(event)
-
更多UML状态图表示法
-
转换动作和监护
1.转换可以触发动作。在软件实现中,这可能意味着状态机图所表示对象的某个方法的调用。
2.转换可以有一个条件监护逻辑测试—-或布尔测试。只有测试通过时,转换才发生。 -
嵌套状态
一个状态允许嵌套,以包含子状态﹔子状态继承其父状态的所有转换。
例如,当发生某个到“active”状态的转换,“PlayingDialTone”状态被创建,并自动转换到该状态。无论对象处于“active”状态的哪一个子状态,当“on hook”事件发生时,则发生向"Idle”状态的转换。
-
-
如何应用状态图
- 状态无关和状态依赖对象
如果一个对象对某事件的响应总相同,则认为此对象对于该事件状态无关。
如果,对于所有事件,对象的响应总是相同的,则该对象是一个状态无关对象。相反,状态依赖对象对事件的响应根据对象的状态或模式而不同。
只有对于这些复杂的状态依赖的问题,状态机图才有助于人们对某些方面的理解和文档化。 - 对状态依赖对象建模
- 1)对复杂的事件交互对象建模。
- 2)对操作协议和语言规范的合法序列建模。
- 示例——NextGen用例的状态机图
上图用一个状态机图展示了用例操作的合法序列。 - 示例——使用状态机进行UI导航建模
用状态表示页面,事件表示引起从一个页面向另外一个页面转换的用户事件,例如按钮被按下。
- 示例——NextGen用例的状态机图
- 状态无关和状态依赖对象
-
思维导图