zoukankan      html  css  js  c++  java
  • UML中的状态图

      1.定义及作用

         状态图说明对象在它的生命期中响应事件所经历的状态系列,以及对那些事件的响应

         状态图可是说是用例图的一种扩充。用于Actor、类、子系统和组件的复杂特性.为实时系统建立模型

      2.状态图的组成

          2.1 状态:对象的状态是指在这个对象的生命期中的一个条件或状况。在此期间对象满足某些条件、执行某些活动,或等待某些事件.

          2.2 转移:转移指的是对象由一种状态到另外一种状态的迁移。而这种迁移由事件来触发。对一个类来说,转移通常是调用了一个可以引起状态发生重要变化操作的结果。

      3.状态图中事物及解释

        

    状态

    上格放置名称,下格说明处于该状态时,系统或对象要做的工作(见可选活动表)  

     

     

    转移

    转移上标出触发转移的事件表达式。如果转移上未标明事件则表示在源状态的内部活动执行完毕后自动触发转移

     

    开始

    初始状态(一个)

     

      黑圆圈

    结束

    终态(可以多个)

     

      黑圆圈外还有个圆圈

        

      4.状态图的可选活动表

        

    转换种类

    描述

    语法

    入口动作

    进入某一状态时执行的动作

    entry/action

    出口动作

    离开某一状态时执行的动作

    exit/action

    外部转换

    引起状态转换或自身转换,同时执行一个具体的动作,包括引起入口动作和出口动作被执行的转换

    e(a:T)[exp]/action

    内部转换

    引起一个动作的执行但不引起状态的改变或不引起入口动作或出口动作的执行

    e(a:T)[exp]/action

     

      5.一个简单的例子

          

      电梯开始在第一层,然后经过上升到达了上升状态,它可能上升在某一层的时候停下,此时电梯就达到了空闲状态。随后它可能继续上升/下降,上升依然是上升状态,下降可以下降到某层或者直接下降到一层了哈。。。电梯就是三个状态如此反复循环运行中的。。。

     

     

      如果以上例子不是特别明白的,可以看看下面的一个哦.

     

     

               图中包含以下状态

    初始状态

    Available状态

    Locked状态

    Sold状态

       状态间的转移

    初始状态àAvailable状态

    票被预订(lock)AvailableàLocked

    预定后付款(buy)LockedàSold

    预定解除(unlock)LockedàAvailable

    预定过期(time out)LockedàAvailable

    直接购买(assigned to)AvailableàSold

    换其它票(exchang) ,该票重有效:SoldàAvailable

     写到这里了基本也完了,最后祝大家天天开心。。。

     

     

  • 相关阅读:
    [导入]C#中将字符串转成 Base64 编码
    [导入]GridView中实现并列排名的例子
    VB.net编程中可能用到的边边角角(二) —— 取Mac地址、取某String的MD5值、多线程、RAR压缩、ADOX生成数据库、加载工程内的Form、一个滚动条控制两个DataGridView
    (转)Setup Factory 打包工具部分功能代码解析
    (转)SQL 优化原则
    VB.net编程中可能用到的边边角角(一) —— 反射添加Form、向Excel中写值
    自写的简单屏蔽特定字符的TextBox和数字TextBox
    spring import resource 文件后bean找不到问题解决
    mysql插入记录后获取插入数据的id值
    cookie+memcached实现单点登陆
  • 原文地址:https://www.cnblogs.com/huzi007/p/3082784.html
Copyright © 2011-2022 走看看