1. 什么是状态图

状态图是一个类对象所可能经历的所有历程的模型图。状态图由对象的各个状态和连接这些状态的转换组成。说明对象在它的生命期中响应事件所经历的状态序列,以及它们对那些事件的响应。

2. 状态图的作用

1). 状态图描述了状态之间的转换顺序,通过状态的转换顺序也就可以看出事件的执行顺序。
2). 更好的描述工作流,不同的条件进入不同的工作流。
3). 显示类对象的生存周期。
4). 对类图的进一步完善。

3. 状态图的组成

1). 状态:
       对象的状态是指在这个对象的生命期中的一个条件或状况,在此期间对象将满足某些条件、执行某些活动,或等待某些事件。
       状态的组成: 上格放的是状态的名称,下格放的是当处在这个状态的时候要做的一些事情Action,具体如下图。

: e(a:T)[exp]/action 表示事件–> 事件 ( 参数 )[ 监护条件 ]/ 动作
例如 : 从改图可以看出状态名称: 座位无预定。这个状态内部要做的动作:当进入这个状态时通知航空公司。

2). 转移: (实线+箭头表示,箭头方向表示是要转移到的状态)
       转移是由一种状态到另一种状态的迁移。这种转移由被建模实体内部或外部事件触发。 对一个类来说,转移通常是调用了一个可以引起状态发生重要变化的操作的结果。
       转移上标出触发转移的事件表达式。如果转移上未标明事件,则表示在源状态的内部活动执行完毕后自动触发转移。

3). 事件:状态转移说明文字。
       事件的组成:事件(参数)[监护条件]/动作

4). 起始状态: 只有一个起始状态。

5). 终止状态: 可以有0个或者多个终止状态。

5. 状态图的建模过程

1). 确定对象的所有的状态。
2). 确定什么条件进入什么状态(监护条件)。

6. 例子

航空公司订票系统简单状态图状态图

UML 状态图 statechart diagram相关推荐

  1. 【UML】状态图Statechart diagram(转)

    前言 UML由动态图和静态图组成,状态图就是属于动态图中较为重要的一张图. 定义 用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移. 目的 研究类.角色.子系统.或组件的 ...

  2. UML状态图和活动图

    转载于https://www.cnblogs.com/jingwhale/p/4230235.html UML状态图和活动图 UML状态图和活动图 统一建模语言UML(Unified Modeling ...

  3. 菜鸟实战UML——状态图

    状态图 状态图(Statechart Diagram):是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应.通常我们创建一个UML状态图是为了以下的研究目的: ...

  4. UML建模之状态图(Statechart Diagram)

     状态图目录: 一.状态图简介(Brief introduction) 二.状态图元素(State Diagram Elements) 1.状态(States) 2.转移(Transitions) 3 ...

  5. [UML建模]状态图(Statechart Diagram)

    绘图工具 StarUML 3.2.2 1.什么是状态图? UML 状态图是图表本身的名称,主要用于描述对象具有的各种状态.状态之间的转换过程以及触发状态转换的各种事件和条件. 2.状态机的目的 为了模 ...

  6. [UML]UML系列——状态机图statechart diagram

    [UML]UML系列--状态机图statechart diagram 原文:[UML]UML系列--状态机图statechart diagram 系列文章 [UML]UML系列--用例图Use Cas ...

  7. UML状态图 2021.07.18

    概述 UML状态图主要用于描述对象具有的各种状态.状态之间的转换过程以及触发状态转换的各种事件和条件. UML 状态图的目的: UML 状态图可以捕获对象.子系统和系统的生命周期,可以告知一个对象可以 ...

  8. Visual Studio UML Use Case Diagram(1)

    前几天我们介绍了Visual Studio UML Activity Diagram,今天我们介绍Visual Studio UML Use Case Diagram的内容.通常RUP按照动态划分,分 ...

  9. 【转】超详细的UML状态图符号,初学者也能轻松看懂状态图

    UML状态图,用于显示状态机,即描述一个对象所处的可能状态以及状态之间的转移.用状态图建模可以帮助开发人员分析复杂对象的各种状态的转换,以及对象何时执行怎样的动作.那状态图又是怎样表示这些信息的呢?要 ...

最新文章

  1. MySQL 创建用户与修改密码
  2. VTK:直线用法实战
  3. IntelliJ IDEA 中文官方文档
  4. 服务器安装lnmp的时候出现client_loop: send disconnect: Connection reset by peer
  5. Spring项目在启动时报Error running 'ProviderC': Cannot start process, the working directory 'E:\ ' does not
  6. Sql 正确删除用户过期的数据
  7. IIS由于出现权限不足而无法读取配置文件解决方案
  8. 借助Squid代理服务器,建立灵活的访问控制系统
  9. CCNA学习指南第六章
  10. Adobe Photoshop CC 使用过程中图层出现部分图像缺失
  11. JAVA中Object类中的equal方法
  12. 游戏产业链:游戏引擎
  13. SQL server不能用IP登录
  14. 使用R语言 4秒对10万行qq群聊天记录进行基本的清洗整理
  15. 乐博Android客户端(新浪微博)1.01发布,欢迎各位童鞋试用
  16. MinGW 和 MSYS 的手动安装与环境配置
  17. MacBook进水记
  18. dojo引用html模板,深入浅出dojo/request-本地HTML文件 带参数方案-遮罩层《一》_169IT.COM...
  19. python 制作二维码
  20. 数据结构(c++)--炸弹人游戏(BFS)

热门文章

  1. ZBrush是做什么的?跟次世代3D建模什么关系
  2. Unity UGUI打字机文本渐变
  3. idea pom依赖失败_maven多模块和依赖冲突问题汇总记录
  4. c语言 单词变复数_德语速记法:巧记名词复数变化
  5. NLP英文伪原创工具
  6. matlab 跳频序列,一种新的混沌宽间隔跳频序列的构造方法及其Matlab仿真分析
  7. 创业开公司不知道怎么选办公室?办公室租赁需要知道的26条常识
  8. Windows 2003架设邮件服务器大全
  9. 分析影响网速变慢的原因
  10. 循环赛日程表 (递归与分治)