状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应的,状态描绘了对象的动态生命周期。在对象的整个生命周期中,它的状态是会发射功能变化的,而状态机就是用来表示一个对象在它的生命周期中响应事件所发生的状态变化以及对事件的响应。

下面来看一个实例:“人”就是一个类,而“你”,“我”都是“人”这个类的一个实例,“站着”,“躺着”等都是对象的一个状态,从不同个的角度描述就可能有不同的状态。在比如我们敲机房的时候一个卡号是否在“上机”、“退卡”等都是状态,然而在画状态图的时候离不开之前学的活动图,那么,它们有什么区别呢?

状态图与活动图区别:

状态图侧重从行为的结果来描述(状态)

活动图侧重从行为的动作来描述(活动)

左边是状态图,右边是活动图


下面通过导图来看看状态图


一、状态图的元素


二、画状态图的步骤

1.阅读需求规格说明书

2.读懂系统的用例图

3.阅读用例描述文档

4.根据用例描述文档画出状态转换图。

三、 简单状态图

一个转换是两个状态之间的一种关系,表示对象将在第一个状态中执行一定的动作,并在某个特定事件发生时满则特定条件时进入第二个状态。

四、机房实例 

1、登陆


五、小结

通过学状态图,我们可以和活动图对比来看,这样学习的效果更好点。

UML之状态图(State Diagram)相关推荐

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

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

  2. UML时序图(Sequence Diagram)学习笔记

    UML时序图(Sequence Diagram)学习笔记 原创 SuperMan-zhang 最后发布于2018-07-04 14:37:25 阅读数 94844 收藏 发布于2018-07-04 1 ...

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

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

  4. UML 状态图 statechart diagram

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

  5. plc与python之间实现通信的结构框图_Python设计模式 - UML - 通信图(Communication Diagram)...

    简介 通信图表示对象之间的消息往来,是表述时序图中信息交互的另一种UML图,介绍完时序图就要对照学习一下通信图,二者是一体两面的. 通信图和时序图可以相互转换,二者的侧重点不同,通信图侧重哪些对象发送 ...

  6. UML时序图(Sequence Diagram)

    什么是时序图 时序图(Sequence Diagram),又名序列图.循序图,是一种UML交互图.它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作. 让我们来看一看visio2016对时 ...

  7. 【工具】-10 UML时序图(Sequence Diagram)学习笔记

    为什么要绘制时序图? 我们编码的时候,知道有的用例的业务逻辑按照比较确定的时间先后顺序进行展开.这时候,我们就需要知道我们设计的系统中的不同类之间传递消息(可以认为是不同对象函数间的调用)要按照怎么样 ...

  8. UML时序图(Sequence Diagram)讲解

    什么是时序图 时序图(Sequence Diagram),又名序列图.循序图,是一种UML交互图.它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作. 时序图的元素 我们在画时序图时会涉及 ...

  9. IDEA源码阅读利器 — UML类图插件Diagram

    来源:https://www.cnblogs.com/deng-cc/p/6927447.html 最近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到 Servlet 部分时,以前学习的时候硬是把 ...

最新文章

  1. linux驱动:音频驱动(二)ASoc
  2. AI一分钟|特斯拉前员工爆料:部分汽车使用电池缺陷;小鹏汽车计划2019年底前融资300亿元...
  3. linux drupal 7安装教程,Linux下面Drupal 7.10的安装
  4. Android开发--Service开启,关闭,绑定,解除
  5. urlPatterns映射的规则
  6. HTML / img src 使用绝对路径注意事项
  7. 【JFreeChart】JFreeChart简介
  8. python的requests模块功能_python中requests模块的使用方法
  9. afc系统服务器维护,自动售检票系统AFC中央系统维护员中级业务模型.PDF
  10. 找出满足要求的三位数
  11. @media实现网页自适应中的几个关键分辨率
  12. 从C#开发人员到Windows Phone 7高级开发人员只需3周 – 序
  13. Android音视频专题(二) 在 Android 平台使用 AudioRecord 和 AudioTrack API 完成音频 PCM 数据的采集和播放,并实现读写音频 wav 文件
  14. 怎么用transmac制作mac安装盘|transmac制作苹果系统启动U盘方法
  15. PowerDesigner建立数据库模型
  16. 邹小强老师的个人目标管理分享课
  17. Springboot工程logback和log4j冲突问题的解决。
  18. selenium的常见方法及使用
  19. Elasticsearch7.3.2+Kibana7.3.2+Ubantu16安装教程
  20. go protoc 项目安装要点

热门文章

  1. 蝶梦,五种架构演变史
  2. Java中有些好的特性(一):静态导入
  3. Java , HashMap与Big-man
  4. 二〇二三-三-二十七
  5. object-c 中的 self 含义
  6. MATLAB Simulink 替代方案 scilab
  7. Pandoc 通用文档转换器
  8. php 类型 打印机,php LPR打印机类
  9. Regsvr32和Regasm注册DLL COM组件
  10. Matlab学习——基本操作与矩阵输入