UML-状态图

目录

状态图

状态图的图符

状态机

状态

​转换

电话机状态图

活动图和状态图区别:


状态图

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

状态图的图符

-状态

-转移

-起点

-终点

状态机

·状态机是这样一种行为,它描述了一个对象或一个交互在生命周内响应事件所经历的状态序列

·单个类或一组类之间协作的行为可以用状态机来描述

·一个状态机涉及到一些其他元素,包括状态、转换(从一个状态到另一个状态的流)、事件(触发转换的)

状态

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

·一个状态有以下几部分:

(1)名称Name

(2)进入协作和退出动作entry action/exit action

(3)内部转换 Internal transition

(4)子状态substate

(5)延迟事件deferred event

状态

·特殊状态
  -初始状态
  -终止状态



转换

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

·一个转换有5部分组成:
  -源状态source state
  -事件触发event trigger
  -监护条件guard condition
  -动作action
 -目标状态targer state

电话机状态图

活动图和状态图区别:


·状态图侧重从行为的结果来描述(状态)
 状态图是描述一个状态到另一个状态的流程,是外部事件的参与

·活动图侧重从行为的动作来描述(活动)
 活动图主要表现从一个活动到另一个活动的控制流,是内部驱动的流程



总结:
    适用活动图的范围
    -描述一个并行的过程或者行为
    -描述一个算法
    -描述一个跨越多个用例的活动

   

 

  

   

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/35428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jmeter设置中文的两种方式,建议使用第二种

方案一 进入jmeter图像化界面,选择Options下的Choose Language,再选择Chinese(Simplified)。这个就是选择语言为简体中文(缺陷:这个只是在本次使用时为中文,下次打开默认还是英文的) 方案二(…

Mybatis框架

Mybatis框架 Mybatis的含义:Mybatis框架是一个持久层框架,几乎解决了jdbc代码在手动设置参数和对结果集的手动获取问题,原本是apache公司的开源项目,最后转给Google公司。Mybatis会将参数封装在一个对象中传递给数据库&am…

数学建模(二)线性规划

课程推荐:6 线性规划模型基本原理与编程实现_哔哩哔哩_bilibili 目录 一、线性规划的实例与定义 1.1 线性规划的实例 1.2 线性规划的定义 1.3 最优解 1.4 线性规划的Mathlab标准形式 1.5 使用linprog函数 二、线性规划模型建模实战与代码 2.1 问题提出 2.2…

机器学习深度学习——seq2seq实现机器翻译(详细实现与原理推导)

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——seq2seq实现机器翻译(数据集处理) 📚订阅专栏:机器学习&…

机器学习编译系列

机器学习编译MLC 1. 引言2. 机器学习编译--概述2.1 什么是机器学习编译 1. 引言 陈天奇目前任教于CMU,研究方向为机器学习系统。他是TVM、MXNET、XGBoost的主要作者。2022年夏天,陈天奇在B站开设了《机器学习编译》的课程。   《机器学习编译》课程共分…

立即开始使用 3D 图像

一、说明 这个故事介绍了使用这种类型的数据来训练机器学习3D模型。特别是,我们讨论了Kaggle中可用的MNIST数据集的3D版本,以及如何使用Keras训练模型识别3D数字。 3D 数据无处不在。由于我们希望构建AI来与我们的物理世界进行交互,因此使用3…

了解 Langchain️是个啥?:第 1 部分

一、说明 在日常生活中,我们主要致力于构建端到端的应用程序。我们可以使用许多自动 ML 平台和 CI/CD 管道来自动化 ml 管道。我们还有像Roboflow和Andrew N.G.的登陆AI这样的工具来自动化或创建端到端的计算机视觉应用程序。 如果我们想在OpenAI或拥抱脸的帮助下创…

Day 26 C++ list容器(链表)

文章目录 list基本概念定义结构双向迭代器优点缺点List和vector区别存储结构内存管理迭代器稳定性随机访问效率 list构造函数——创建list容器函数原型示例 list 赋值和交换函数原型 list 大小操作函数原型示例 list 插入和删除函数原型示例 list 数据存取函数原型注意示例 lis…

论文详解 ——《SNR-Aware Low-light Image Enhancement》

文章目录 Abstract1.Introduction2. Related Work3. Our Method3.1 Long- and Short-range Branches3.2 SNR-based Spatially-varying Feature Fusion3.3 SNR-guided Attention in Transformer3.4 Loss Function 4. Experiments4.1. Datasets and Implementation Details4.2 Co…

SpringBoot | 使用newWorkStealingPool和CompletableFuture进行并发异步处理

关注wx: CodingTechWork 需求 一个列表操作需要异步处理每个元素,最终需要将列表各个元素的操作结果统一返回,无需关注该列表中的顺序执行。这个线程池不会保证任务的顺序执行,即为WorkStealing抢占式的工作。 开发模板 线程池…

基于SpringBoot实现MySQL备份与还原

基于SpringBoot实现MySQL备份与还原,需求是在页面上对所有的平台数据执行备份和恢复操作,那么就需要使用代码去调用MySQL备份和恢复的指令,下面是具体实现步骤; MySQL备份表设计 CREATE TABLE IF NOT EXISTS mysql_backups (id …

6.1 安全漏洞与网络攻击

数据参考:CISP官方 目录 安全漏洞及产生原因信息收集与分析网络攻击实施后门设置与痕迹清除 一、安全漏洞及产生原因 什么是安全漏洞 安全漏洞也称脆弱性,是计算机系统存在的缺陷 漏洞的形式 安全漏洞以不同形式存在漏洞数量逐年递增 漏洞产生的…

前端开发:数组对象判断重复的方法详解

前言 在前端开发过程中,关于数据处理是非常常用的操作,尤其是通过算法处理从后端获取的数据甚为重要。而且在前端开发中,两大类型的数据处理是必备的:数组和对象。与其说是数据处理,不如说是数组和对象的处理。实际开发中,关于数组数据的处理所占比例更高,尤其是涉及到表…

使用Flask.Request的方法和属性,获取get和post请求参数(二)

1、Flask中的request 在Python发送Post、Get等请求时,我们使用到requests库。Flask中有一个request库,有其特有的一些方法和属性,注意跟requests不是同一个。 2、Post请求:request.get_data() 用于服务端获取客户端请求数据。注…

理解ConcurrentSkipListMap(有点类似于并发的TreeMap)

是一个分层的结构。 从最上面开始查找,最后层层往下查。 插入和删除有可能会引起节点Level的变更。 key是有序的,因此可以看做是并发的TreeMap

ubuntu18.04下配置muduoC++11环境

1.安装muduo依赖的编译工具及库 Cmake sudo apt-get install cmakeBoost sudo apt-get install libboost-dev libboost-test-devcurl、c-ares DNS、google protobuf sudo apt-get install libcurl4-openssl-dev libc-ares-dev sudo apt-get install protobuf-compiler libp…

带你了解SpringBoot支持的复杂参数--自定义对象参数-自动封装

😀前言 本篇博文是关于SpringBoot 在响应客户端请求时支持的复杂参数和自定义对象参数,希望您能够喜欢😊 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章…

go struct 的常见问题

go struct 的常见问题 1. 什么是struct?2. 如何声明、定义和创建一个struct?3. struct和其他数据类型(如数组、切片、map等)有什么区别?4. 如何访问struct字段?5. struct是否支持继承,是否支持重…

JavaWeb_xml

文章目录 1.xml是什么?2.xml的用途 1.xml是什么? xml 是可扩展的标记性语言 2.xml的用途 1、用来保存数据,而且这些数据具有自我描述性 2、它还可以做为项目或者模块的配置文件 3、还可以做为网络传输数据的格式(现在 JSON 为主…