UML活动图与状态图

笔记基于《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”状态。
    • 更多UML状态图表示法

      • 转换动作和监护


        1.转换可以触发动作。在软件实现中,这可能意味着状态机图所表示对象的某个方法的调用。
        ​2.转换可以有一个条件监护逻辑测试—-或布尔测试。只有测试通过时,转换才发生。
      • 嵌套状态


        一个状态允许嵌套,以包含子状态﹔子状态继承其父状态的所有转换。
        例如,当发生某个到“active”状态的转换,“PlayingDialTone”状态被创建,并自动转换到该状态。无论对象处于“active”状态的哪一个子状态,当“on hook”事件发生时,则发生向"Idle”状态的转换。
    • 如何应用状态图

      • 状态无关和状态依赖对象
        如果一个对象对某事件的响应总相同,则认为此对象对于该事件状态无关。
        如果,对于所有事件,对象的响应总是相同的,则该对象是一个状态无关对象。相反,状态依赖对象对事件的响应根据对象的状态或模式而不同。
        只有对于这些复杂的状态依赖的问题,状态机图才有助于人们对某些方面的理解和文档化。
      • 对状态依赖对象建模
        • 1)对复杂的事件交互对象建模。
        • 2)对操作协议和语言规范的合法序列建模。
          • 示例——NextGen用例的状态机图


            上图用一个状态机图展示了用例操作的合法序列。
          • 示例——使用状态机进行UI导航建模


            用状态表示页面,事件表示引起从一个页面向另外一个页面转换的用户事件,例如按钮被按下。

思维导图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值