当前位置: 首页 > news >正文

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.lryc.cn/news/117851.html

相关文章:

  • chrome插件开发实例07- Vue调试插件vue-devtools
  • HTML <span> 标签
  • 【PythonGIS】Python处理矢量数据的基本操作(查询、修改、删除、新建)
  • 15.2 【Linux】仅执行一次的工作调度
  • 时间复杂度与空间复杂度的详解
  • 每日一学:什么是 Harbor ?
  • 灰度均衡变换之c++实现(qt + 不调包)
  • flink1.17 自定义trigger ContinuousEventTimeTrigger
  • AIGC:【LLM(五)】——Faiss:高效的大规模相似度检索库
  • 自然语言处理从入门到应用——LangChain:记忆(Memory)-[记忆的类型Ⅱ]
  • 桥接模式-java实现
  • Linux systemd管理常用的几个小案例
  • 38、IPv6过渡技术
  • HMMER-序列分析软件介绍
  • 【项目学习1】如何将java对象转化为XML字符串
  • nginx负载均衡
  • 【毕业项目】自主设计HTTP
  • 关于安卓jar包修改并且重新发布
  • Java课题笔记~ AspectJ 对 AOP 的实现(掌握)
  • npm 报错 cb() never called!
  • finally有什么作用以及常用场景
  • Python web实战之Django URL路由详解
  • 10-数据结构-队列(C语言)
  • 面试之快速学习C++11 - 右值 移动构造 std::move
  • vue实现5*5宫格当鼠标滑过选中的正方形背景颜色统一变色
  • 2023-08-09 LeetCode每日一题(整数的各位积和之差)
  • EditPlus连接Linux系统远程操作文件
  • JVM 垃圾回收
  • 编程中的宝藏:二分查找
  • 计算机网络 数据链路层