菜鸟实战UML——状态图

菜鸟实战UML——状态图状态图状态图 StatechartDi 是描述一个实体基于事件反应的动态行为 显示了该实体如何根据当前所处的状态对不同的事件做出反应 通常我们创建一个 UML 状态图是为了以下的研究目的 研究类 角色 子系统 或组件的复杂行为 理解 状态图其实就是用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移 状态图的图符 状态 转移 起点 终点状态状态

状态图

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

理解:状态图其实就是用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移。

在这里插入图片描述

状态图的图符

-状态

-转移

-起点

-终点

状态

状态:是指在对象的生命周期中满足某些条件,执行某些活动或等待某些事件时的一个条件或状态。

举例:

一个状态有以下几部分内容:

子状态和组合状态

并发状态和并发中的同步

转移

转移(transition):是一个状态向另一个状态的转换,对象处在源状态时,发生一个时间,如果条件满足,则执行相应的动作 ,对象由源状态转移到目标状态。

在这里插入图片描述

-转移用箭头表示,如果没有标注事件,则本转移为自动转移。

转移的组成

转移类型

1、自转移:源状态和目标状态为同一状态的转移。

在这里插入图片描述

2、自动转移:一个状态根据本状态的有关情况,自动触发进入目标状态,在转移上没有事件。

在这里插入图片描述

3、条件转移:通过分支判断所确定的转移。

在这里插入图片描述

状态机

事件

事件(event):是指在确定的时间和位置所发生的对对象起作用的事情,事件的发生将引起一些动作,使对象发生状态的转移。

动作:动作是对象类中的一个操作的执行,动作具有中间性和不可中断特性。

事件的类型

在这里插入图片描述

状态图的作用

状态图是用来描述一个对象在其生命周期中所表现出来的状态和行为。当在系统建模过程中需要描述某个事物或对象的不同状态,以及状态之间转移的事件和动作时,用状态图。但是状态图并不是对每一个对象都需要的。

实战——机房收费系统

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232003.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql 触发器介绍「建议收藏」

    mysql 触发器介绍「建议收藏」触发器(Trigger)是MySQL中非常实用的一个功能,它可以在操作者对表进行「增删改」之前(或之后)被触发,自动执行一段事先写好的SQL代码。本教程带领大家在实践中学习,你将学到触发器

    2022年7月3日
    28
  • sim卡 热拔插_sim卡热插拔是什么

    sim卡 热拔插_sim卡热插拔是什么1.device/prize/pri6737t_66_m0/ProjectConfig.mk关闭:MTK_SIM_HOT_SWAP=no打开:MTK_SIM_HOT_SWAP=yes2.ker

    2022年8月5日
    7
  • IDEA下Log4j使用教程

    IDEA下Log4j使用教程 2015年12月14日15:30:21阅读数:13467Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIXSyslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些…

    2025年9月14日
    5
  • python zipfile.zipfile_python解析json文件

    python zipfile.zipfile_python解析json文件从简单的角度来看的话,zip格式会是个不错的选择,而且python对zip格式的支持够简单,够好用。1)简单应用如果你仅仅是希望用python来做压缩和解压缩,那么就不用去翻文档了,这里提供一个简单的用法,让你一看就能明白。importzipfilef=zipfile.ZipFile(‘filename.zip’,’w’,zipfile.ZIP_DEFLATED)f.write(‘fil…

    2025年12月14日
    5
  • 字符串匹配算法_字符串模式匹配算法

    字符串匹配算法_字符串模式匹配算法目录Brute-Force算法Knuth-Morris-Pratt算法确定有限状态自动机部分匹配表Boyer-Moore算法Rabin-Karp算法总结网络信息中充满大量的字符串,对信息的搜寻至关重要,因此子字符串查找(即字符串匹配)是使用频率非常高的操作:给定一段长度为N的文本和长度为M的模式字符串(N≥M),在文本中找到一个和模式串相匹配的子串。由这个问题可以延…

    2022年4月19日
    64
  • GoLang入门1-安装-配置

    GoLang入门1-安装-配置Go的三种安装方式Go有多种安装方式,你可以选择自己喜欢的。这里我们介绍三种最常见的安装方式:Go源码安装:这是一种标准的软件安装方式。对于经常使用Unix类系统的用户,尤其对于开发者来说,从源码安装是最方便而熟悉的。Go标准包安装:Go提供了方便的安装包,支持Windows、Linux、Mac等系统。这种方式适合初学者,可根据自己的系统位数下载好相应的安装包,一路next就可以轻松安装了

    2022年6月25日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号