UML2——行为图

news2024/11/18 23:28:13

目录

一、前言

二、活动图

 三、交互图

3.1 一般序列图

3.2 时间约束序列图 

 3.3 协作图

四、用例图

五、状态图


一、前言

UML 是由视图(View)、图(Diagrams)、模型元素(Model elements)和通用机制等几个部分构成。一个完整的模型图需要一定数量的视图,每个视图表示系统一个特殊方面即可;视图的内容是图,UML可以描述9中不同图类型,其中活动图来表达基本的流程图。模型元素包括面对对象的类、对象、消息和关系,是图的基本元素。通用机制包括表示其他消息,如注释等。

行为图 包括活动图、交互图、用例图(系统工程师)等。

二、活动图

活动图描述了满足用例要求所要进行的活动及活动间的约束关系,强调对象间的控制流程。它的目的是绘制活动流程系统,描述系统并行,分支,并发流。

一个活动是系统执行的功能,首先了解活动本身,确定活动元素之间的约束条件。

黑色圆点表示一个活动开始或者结束,矩形框表示执行的活动,菱形表示条件检查, 虚线关联一个执行活动的注释

 活动图也可以将执行对象和执行动作结合起来构建一个活动图

 三、交互图

交互图描述的是对象之间的动态合作关系以及合作过程中的行为次序。交互图常常用来描述一个用例的行为,显示该用例中所涉及的对象以及这些对象之间的消息传递情况,即一个用例的实现过程。交互图分为序列图和协作图。序列图 :显示对象之间的关系,强调对象之间消息的时间顺序,显示对象之间的交互。协作图 :描述对象之间的交互关系。

绘制交互图:

  1. 参与互动的对象

  2. 对象之间的消息流

  3. 消息的顺序流程

  4. 对象的组织

3.1 一般序列图

垂直长虚线代表一个对象的生命周期,垂直矩形表示一个活动,实线表示发送,虚线表返回。

3.2 时间约束序列图 

对于带有强时间约束的对象活动图,需要在对象矩形活动期间标出执行时间,对象在活动图期间出现各种情况,触发的动作

同步消息:发送人在它继续之前,将等待同步消息响应

异步消息:在发送方继续之前,无需等待响应的消息

组合片段用来解决交互执行的条件及方式。它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。常用的组合片段:

片段类型

名称

说明

Opt

选项

包含一个可能发生或可能不发生的序列。 可以在临界中指定序列发生的条件。

Alt

抉择

包含一个片段列表,这些片段包含备选消息序列。 在任何场合下只发生一个序列。

可以在每个片段中设置一个临界来指示该片段可以运行的条件。 else 的临界指示其他任何临界都不为 True 时应运行的片段。 如果所有临界都为 False 并且没有 else,则不执行任何片段。

Loop

循环

片段重复一定次数。 可以在临界中指示片段重复的条件。

Loop 组合片段具有 “Min” 和 “Max” 属性,它们指示片段可以重复的最小和最大次数。 默认值是无限制。

Break

中断

如果执行此片段,则放弃序列的其余部分。 可以使用临界来指示发生中断的条件。

Par

并行

并行处理。 片段中的事件可以交错。

Critical

关键

用在 Par 或 Seq 片段中。 指示此片段中的消息不得与其他消息交错。

Seq

弱顺序

有两个或更多操作数片段。 涉及同一生命线的消息必须以片段的顺序发生。 如果消息涉及的生命线不同,来自不同片段的消息可能会并行交错。

Strict

强顺序

有两个或更多操作数片段。 这些片段必须按给定顺序发生。

默认情况下,序列图表明可能发生的一系列消息。 在运行的系统中,可能会出现您未选择显示在关系图上的其他消息。消息描述为:

片段类型

名称

说明

Consider

考虑

指定此片段描述的消息列表。 其他消息可发生在运行的系统中,但对此描述来说意义不大。

在 “Messages” 属性中键入该列表。

Ignore

忽略

此片段未描述的消息列表。 这些消息可发生在运行的系统中,但对此描述来说意义不大。

在 “Messages” 属性中键入该列表。

Assert

断言

操作数片段指定唯一有效的序列。 通常用在 Consider 或 Ignore 片段中。

Neg

否定

此片段中显示的序列不得发生。 通常用在 Consider 或 Ignore 片段中。

 3.3 协作图

序列图中未介绍的对象组织,而协作图中示出的对象的组织。两种图示侧重强调类型不同,如果时间序列是很重要的使用序列图,如果需要表达对象组织的相互作用,那么使用协作图。

四、用例图

用例图是动态的,有一些内部或外部因素进行交互,这些内部和外部代理被称为Actor。用例图由Actor,用例及其关系组成。该图用于对应用程序的系统/子系统进行建模。

用例图的目的是收集系统要求,获取系统外部视图,确定影响系统的外部和内部因素;用例图可用于需求分析和高层设计;模拟系统的上下文。

 关联:表示参与者与用例之间的通信,任何一方都可发送或接受消息

泛化:子用例将继承父用例的所有结构、行为和关系

包含:包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤

扩展:扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能

五、状态图

状态图描述了从一个状态到另一个状态的控制流程。状态被定义为一个对象存在的条件,并且当某个事件被触发时它会改变。状态图的最重要的目的是将对象的生命周期从创建到终止。

状态图的主要目的 

  1. 模拟系统的动态方面。

  2. 模拟反应系统的使用寿命。

  3. 描述物体在其使用寿命期间的不同状态。

  4. 定义状态机以对对象的状态进行建模。

如何绘制状态图:识别重要对象,识别对象在不同生命时刻的状态,识别状态改变的内部外部事件或者条件。

参考:

UML架构_w3cschool

UML教程_lingengy的博客-CSDN博客_uml教程

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

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

相关文章

(图像分割)基于图论的归一化分割

解释:将图像映射成图,以图为研究对象,利用图的理论知识获得图像的分割。 下面介绍:图的基本理论,基于图论的归一化分割算法 一、图的基本理论 图G=(V,E,)&…

《管理世界》数据复现:国有资本参股如何影响民营企业?——基于债务融资视角的研究

摘要: 本文以债务融资为切入点,从“未阐明的规则”和“阐明的规则”两个层面探讨了国有资本参股的“反向混改”是否以及如何影响民营企业。研究发现:国有资本参股可以显著降低民营企业的债务融资成本,扩大债务融资规模。…

性能测试——LoadRunner: Controller的使用

Controller Controller是用来创建测试环境,执行在VUG中编写的测试脚本 可以直接点击Controller的快捷方式打开,也可以在VUG中打开 这里将虚拟用户数设置为3,比较适合自己的电脑性能 整个controller分为下面几个模块 这里先设置左下角的目标计划 设置初始化:双击…

PHP 8.1.14升级低版本openssl扩展的操作方法

问题背景: PHP8.1.4内嵌openssl源码编译出来的openssl库版本号是1.0.2.x系列,低版本的openssl扩展存在安全漏洞,需要将该扩展升级openssl 社区最新版本3.0.8 操作步骤: 安装最新版本的openssl wget https://github.com/openssl…

Java面试总结(四)

synchroize的实例、静态、代码块的锁对象 修饰实例方法 修饰静态方法 修饰代码块 1、修饰实例方法 (锁当前对象实例) 给当前对象实例加锁,进入同步代码前要获得 当前对象实例的锁 。 synchronized void method() {//业务代码 }2、修饰静…

在vue中如果computed属性是一个异步操作怎么办?

在计算属性中使用异步方法时,可以使用async/await来处理异步操作。由于计算属性是基于它们的依赖缓存的,所以我们需要使用一个返回Promise的异步方法来确保计算属性能够正常运行。 下面是一个简单的示例,演示如何在计算属性中使用异步方法&am…

P6入门:P6 Professional常用快捷键/热键

目录 一 引言 Primavera P6 专业版 Primavera P6 EPPM(网络客户端) Primavera P6 Alt 键 Primavera P6 功能键 一 引言 在 Oracle Primavera P6 中,有热键命令可以节省宝贵的时间。尤其是作为一个与 Primavera P6 长打交道人熟练掌握这…

苹果手机备份的文件在电脑什么地方 苹果备份文件怎么查看

在这个网络信息时代,为手机进行定期备份已经成为了家常便饭。在使用备份软件对苹果手机进行备份后,苹果手机备份的文件在什么地方,苹果备份文件怎么查看呢?本文就带大家来了解一下。 一、苹果手机备份的文件在电脑什么地方 大家…

数据库三大范式、BC范式、第四范式

目录第一范式(1NF):原子性(存储的数据应该具有“不可再分性”)第二范式(2NF):唯一性 (消除非主键部分依赖联合主键中的部分字段)(一定要在第一范式已经满足的情况下&…

Python之flask基础

文章目录入门小案例及认识路由小总结配置文件路由系统路由支持正则cbv (用的比较少)模板渲染变量及循环请求响应pipreqs(找当前项目依赖的包)闪现(flash)请求扩展(类似中间件)猴子补…

【Redis】Redis集群之哨兵机制

【Redis】Redis集群之哨兵机制 文章目录【Redis】Redis集群之哨兵机制1. 哨兵的作用和原理1.1 哨兵的作用1.2 redis服务状态监控1.3 选举新master1.4 故障转移1.5 总结2. 搭建哨兵集群2.1 准备实例和配置2.2 启动2.3 测试3. RedisTemplate的哨兵模式1. 哨兵的作用和原理 1.1 哨…

1634_linux中把pdf拆分成独立的图片文件

全部学习汇总: GreyZhang/toolbox: 常用的工具使用查询,非教程,仅作为自我参考! (github.com) 最近工作学习之中使用pdf的频次非常高,这种格式的通用性的确是不错。在目前的很多平台上都有很好用的软件。不过&#xff…

ios设备管理软件 2.16.9官网Mac/Windows下载电脑版功能介绍

imazing 2.16.9官网Mac/Windows下载电脑版是款针对苹果设备所打造的管理工具。iMazing为用户提供多种设备管理功能,每一位用户都能以自己的形式管理苹果设备。iMazing与苹果设备连接后,用户就可以轻松传输文件,浏览保存信息等。 应用介绍 i…

Zookeeper3.5.7版本——集群启动停止脚本

目录一、Zookeeper3.5.7集群部署(linux环境-centos7)二、3台服务器信息三、Zookeeper3.5.7集群启动停止脚本3.1、编写zk.sh脚本3.2、增加脚本执行权限3.3、执行Zookeeper 集群的zk.sh脚本四、执行脚本启动Zookeeper 集群五、执行脚本查看Zookeeper 集群状…

Lesson11---分类问题

11.1 逻辑回归 11.1.1 广义线性回归 课程回顾 线性回归:将自变量和因变量之间的关系,用线性模型来表示;根据已知的样本数据,对未来的、或者未知的数据进行估计 11.1.2 逻辑回归 11.1.2.1 分类问题 分类问题:垃圾…

SS-ELM-AE与S2-BLS相关论文阅读记录

Broad learning system for semi-supervised learning 摘要:本文认为,原始BLS采用的稀疏自编码器来生成特征节点是一种无监督学习方法,这意味着忽略了标注数据的一些信息,并且难以保证同类样本之间的相似性和相邻性,同…

CentOS 7.9汇编语言版Hello World

先下载、编译nasm汇编器。NASM汇编器官网如下图所示: 可以点图中的List进入历史版本下载网址: 我这里下载的是nasm-2.15.05.tar.bz2 在CentOS 7中,使用 wget http://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2下载…

用Python Flask为女朋友做一个简单的网站(附可运行的源码)

🌟所属专栏:献给榕榕🐔作者简介:rchjr——五带信管菜只因一枚😮前言:该专栏系为女友准备的,里面会不定时发一些讨好她的技术作品,感兴趣的小伙伴可以关注一下~👉文章简介…

微信小程序原生开发功能合集四:复选框组件的封装

本章实现小程序复选框组件的封装,使用check及check-group组件实现复选框,封装数据加载过程,并自动实现数据解析及生成,实现相应方法。   另外还提供小程序开发基础知识讲解课程,包括小程序开发基础知识、组件封装、常用接口组件使用及常用功能实现等内容,具体如下:  …

k-Medoids 聚类系列算法:PAM, CLARA, CLARANS

前言 如果你对这篇文章可感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。 kkk-Means 作为一种经典聚类算法,相信大家都比较熟悉,其将簇中所有的点的均值作为簇中心&#xf…