软考72-上午题-【面向对象技术2-UML】-UML中的图3

news/2024/7/27 15:21:49/文章来源:https://blog.csdn.net/qq_31532983/article/details/136587813

一、状态图

1-1、状态图的定义

状态图,展现了一个状态机,由:状态转换事件活动组成,是系统的动态视图。

活动(动作) 可以在状态内执行也可以在状态转换(迁移) 时执行。

状态图强调:行为的事件顺序。

1-2、状态图的组成

1、状态

状态图通常包括:简单状态、组合状态。

状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。

状态规定了系统对事件的响应方式。系统对事件的响应,既可以是做一个(或一系列)动作,也可以是仅仅改变系统本身的状态,还可以是既改变状态,又做动作

在状态转换图中定义的状态主要有:初态(即初始状态)、终态(即最终状态)和中间状态。

初态用一个黑圆点表示,终态用黑圆点外加一个圆表示。一张状态图中只能有一个初态,而终态可以没有,也可以有多个。

状态图中的状态用一个圆角四边形表示(可以用两条水平横线把它分成上、中、下3个部分。上面部分为状态的名称,这部分是必须有的;中间部分为状态变量的名称和值,这部分是可选的;下面部分是活动表,这部分也是可选的 ),状态之间为状态转换,用一条带箭头的线表示。带箭头的线上的事件发生时,状态转换开始(有时也称之为转换“点火”或转换被“触发”)。

转换:一条带箭头的线;(转换的别名:迁移

一个状态到另一个状态的转变,就是转换;

带箭头的线上的的文字,就是事件。

示例:

2、活动(活动表)

活动是由若干动作组成。

状态表中的活动表的语法结构:

事件名(参数表)/动作表达式

事件名可以是任何事件的名称。

在活动表中经常使用下述 3 种标准事件:

entry、exit 和 do。entry事件:指定进入该状态的动作;

exit事件:指定退出该状态的动作;

do事件:指定在该状态下的动作。

需要时可以为事件指定参数表(×)。

活动表中的动作表达式描述应做的具体动作。

示例:

这些活动是状态的内部活动。

3、事件

转换包括两个状态:源状态、目标状态。

事件,是在某个特定时刻发生的事情,它是对引起系统做动作、从一个状态转换到另个状态的外界事件的抽象。例如,观众使用电视遥控器,用户移动鼠标、单击鼠标等都是事件。

简而言之,事件就是引起系统做动作、转换状态的控制信息。

状态变迁通常是由事件触发的,在这种情况下,应在表示状态转换的箭头线上标出触发转换的事件表达式。

如果在箭头线上未标明事件,则表示在源状态的内部活动执行完之后自动触发转换。

事件表达式的语法如下:
事件说明[监护条件]/动作表达式


其中,事件说明的语法为:事件名 (参数表 );

监护条件是一个布尔表达式;

如果同时使用事件说明和监护条件,则当且仅当事件发生且布尔表达式为真时,状态转换才发生。

如果只有监护条件,没有事件说明,则只要监护条件为真,状态转换就发生。

动作表达式是一个过程表达式,当状态转换开始时执行该表达式。

活动(动作) 可以在状态内执行也可以在状态转换(迁移) 时执行。

示例:

1-3、状态图的概念

状态图包括:简单状态、组合状态、转换(事件、动作)。

状态是指对象的生命周期中某个条件或者状态,在此期间对象将满足某些条件、执行某些活动或等待某些事件,是对象执行了一系列活动的结果。

当某个事件发生后,对象的状态将发生变化。

嵌套在另外一个状态中的状态称为子状态,含有子状态的状态称为组合状态

转换是两个状态之间的种关系,表示对象将在源状态中执行一定的动作,并在某个特定事件发生而且某个特定的警界(监护)条件满足时进入目标状态。

动作是一个可执行的原子操作,是不可中断的,其执行时间是可忽略不计的。

直接通过进入节点进入状态,通过退出节点可以结束状态。

示例:

状态图,是对系统的动态方面建模。这些动态方面包括的是一种对象的按事件排序的行为。

当对系统、类、用例的动态方面建模时,通常是反应型对象建模

1-4、真题

真题1:

并发状态:

真题2:

真题3:

 

真题4:

真题5:

真题6:

真题7:

 

二、活动图

2-1、活动图的定义

活动图,是一种特殊的状态图。

展现了在系统内,从一个活动到另一个活动的流程

专注于系统的动态视图。

2-2、活动图的组成

监护表达式,在活动图中,是和分支在一起的。

(在状态图中是:监护条件)

活动图可以表示为:分支、合并、分岔、汇合。

2-3、区分:状态图、活动图

转换的箭头上有文字(事件),则是:状态图;

转换的箭头上没有文字,则是:状态图;

2-4、通常有两种使用活动图的方式:

1、对工作流建模;

2、对操作建模。

2-5、活动图、状态图的例子

活动图的例子:

状态图的例子:

2-6、真题

真题1:

真题2:

真题3:

真题4:

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

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

相关文章

4G安卓核心板T310_紫光展锐平台方案

紫光展锐T310应用 DynamlQ架构 12nm 制程工艺,采用 1*Cortex-A753*Cortex-A55处理器,搭载Android11.0操作系统,主频最高达2.0GHz.此外,DynamlQ融入了AI神经网络技术,新增机器学习指令,让其在运算方面的机器…

BigDL-LLM 安装指南——在iGPU集成显卡下使用BigDL-LLM大模型库加速LLM

文章目录 iGPU是什么?一、环境准备1.1 Visual Studio 2022 Community 安装1.2 安装或更新最新版本的GPU驱动程序1.3 安装英特尔oneAPI工具包2024.0版本1.4 安装Anaconda 二、BigDL -LLM 安装2.1 创建虚拟环境2.2 激活虚拟环境2.3 安装bigdl-llm[xpu] 三、运行环境配…

centos命令history设置记录10000行

今天在操作服务器的时候,用history查看操作记录的时候,发现只能查看10条,这样不行啊,我想查看所有人对服务器操作的命令。 [rootbogon ~]# history解决办法: #1、找到/etc/profile文件中的histsize 把10改成10000 […

Netty架构详解

文章目录 概述整体结构Netty的核心组件逻辑架构BootStrap & ServerBootStrapChannelPipelineFuture、回调和 ChannelHandler选择器、事件和 EventLoopChannelHandler的各种ChannelInitializer类图 Protocol Support 协议支持层Transport Service 传输服务层Core 核心层模块…

打卡学习kubernetes——kubernetes架构原理

接上一篇的内容,除了核心组件,还有一些推荐的Add-ons: kube-dns 负责为整个集群提供DNS服务Ingress Controller 为服务提供外网入口Heapster 提供资源监控(没用过这个,但是用过grafana,很方便&#xf…

【网络安全】手机不幸被远程监控,该如何破解,如何预防?

手机如果不幸被远程监控了,用三招就可以轻松破解,再用三招可以防范于未然。 三招可破解可解除手机被远程监控 1、恢复出厂设置 这一招是手机解决软件故障和系统故障的终极大招。只要点了恢复出厂设置,你手机里后装的各种APP全部将灰飞烟灭…

Ae 从入门到精通之三:合成与图层

图层 Layer是构建合成的基本单位。 一个图层上可以有一个或多个画面元素,多个图层在时间、空间上有组织地排列,从而创造丰富多彩的画面效果。 Ae 中的图层类似于 Ps 中的图层或 Pr 中的轨道。 合成 Composition是放置图层的“容器”。 每个合成都对应一个…

如何使用“Docker registry创建本地仓库,在服务器之间进行文件push和pull”?

1.1、在服务器1,运行registry docker run -d -p 5000:5000 -v ${PWD}/registry:/var/lib/registry --restart always --name registry registry:2.7.11.2、编辑/etc/docker/daemon.json 文件, 192.168.xxx.xxx 换成你自己 registry 服务的地址 sudo na…

vue 自定义组件绑定model+弹出选择支持上下按键选择

参考地址v-modelhttps://v2.cn.vuejs.org/v2/guide/components-custom-events.html#%E8%87%AA%E5%AE%9A%E4%B9%89%E7%BB%84%E4%BB%B6%E7%9A%84-v-model 原文代码 Vue.component(base-checkbox, {model: {prop: checked,event: change},props: {checked: Boolean},template: `…

通过日志恢复sql server数据库

在SQL Server中,通过日志恢复数据库是一个精细的过程,主要用于在数据库出现错误、数据丢失或需要回滚到特定时间点时恢复数据。以下是一般步骤概述: 设置恢复模式: 首先,数据库必须配置为“完整恢复模式”或“大容量…

Kubernetes专题-01 集群部署篇

kubernetes专题 注: 本教程由羞涩梦整理同步发布,本人技术分享站点:blog.hukanfa.com转发本文请备注原文链接,本文内容整理日期:2024-03-010csdn 博客名称:五维空间-影子,欢迎关注 1 集群规划…

【数据结构取经之路】快速排序及其优化

目录 简介 快速排序的实现步骤 快排的时间复杂度 快排的空间复杂度 霍尔法 证明 key > x left从key的位置出发的原因 霍尔法代码 (递归) 挖坑法 流程及其展开图 代码 (递归) 前后指针法 前后指针法的步骤及其动图 代码(递归) 快排的优化 一、三数取中 二、…

CentOS 7安装MySQL及常见问题与解决方案(含JDBC示例与错误处理)

引言 MySQL是一个流行的开源关系型数据库管理系统,广泛应用于各种业务场景。在CentOS 7上安装MySQL后,我们通常需要使用JDBC(Java Database Connectivity)连接MySQL进行后端操作。 目录 引言 CentOS 7安装MySQL 使用JDBC连接My…

什么时候去检测大数据信用风险比较合适?

什么时候去检测大数据信用风险比较合适?在当今这个数据驱动的时代,大数据信用风险检测已经成为个人的一项重要需求。本文将从贷前检测、信息泄露检测和定期检测三个方面,阐述何时进行大数据信用风险检测较为合适。 一、贷前检测 大数据信用风险检测在贷…

Python爬虫基础学习-互联网、HTTP与HTML

互联网或者叫国际网(Internet),是指网络与网络之间所串连成的庞大网络,这些网络以一组标准的网络TCP/IP协议族相连,连接全世界几十亿个设备,形成逻辑上的单一巨大国际网络。它是由从地方到全球范围内几百万…

基于深度学习的图像去雨去雾

基于深度学习的图像去雨去雾 文末附有源码下载地址 b站视频地址: https://www.bilibili.com/video/BV1Jr421p7cT/ 基于深度学习的图像去雨去雾,使用的网络为unet, 网络代码: import torch import torch.nn as nn from torchsumm…

用户数据的FLASH存储与应用(FPGA架构)

该系列为神经网络硬件加速器应用中涉及的模块接口部分,随手记录,以免时间久了遗忘。 一 背景 我们知道,在FPGA做神经网络应用加速时,涉及到权重参数的存储和加载。通常在推理过程中,会将权重参数存储在外部DDR或片上S…

Voip测试工具

SIPp是一个测试SIP协议性能的工具软件。这是一个GPL的开放源码软件。 sipp是安装在linux机器上的 SIPp可以用来测试许多真实的SIP设备,如SIP代理,B2BUAs,SIP媒体服务器,SIP/x网关,SIP PBX,等等,它也可以模…

月薪15000住家阿姨的一天 网友:这是她应得的

大家好! 我是老洪。 刚刚浏览到一则关于“月薪15000住家阿姨的一天”的新闻,内容颇为引人关注。 从网友们的反应来看,大多数人都认为这位阿姨身兼多职,包括厨师、幼师、理发师等角色,所以她所得的月薪是应得的。 毋庸置…

有来团队后台项目-解析7

sass 安装 因为在使用vite 创建项目的时候,已经安装了sass,所以不需要安装。 如果要安装,那么就执行 npm i -D sass 创建文件 src 目录下创建文件 目录结构如图所示: reset.scss *, ::before, ::after {box-sizing: border-box;border-color: currentcolor;border-st…