UML 类图和时序图

画图理解软件工程-UML统一建模语言-类图和时序图(四) 首先我们再整理一下合理软件开发的流程 一、需求分析阶段 需求是产品优劣的关键 二、系统设计阶段 三、开发阶段 四、测试阶段 五、维护阶段        发布系统,维护系统(备份系统数据),数据软件系统运行是出问题,与开发人员合作修复问题。 ====================================================== 阅读详情

UML类图

在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Composition), 依赖(Dependency)

泛化(Generalization)

【泛化关系】:是一种继承关系, 表示一般与特殊的关系, 它指定了子类如何特化父类的所有特征和行为. 例如:老虎是动物的一种, 即有老虎的特性也有动物的共性.
【箭头指向】:带三角箭头的实线,箭头指向父类

这里写图片描述

实现(Realization)

【实现关系】:是一种类与接口的关系, 表示类是接口所有特征和行为的实现.
【箭头指向】:带三角箭头的虚线,箭头指向接口
这里写图片描述

关联(Association)

【关联关系】:是一种拥有的关系, 它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子
关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
【代码体现】:成员变量
【箭头及指向】:带普通箭头的实心线,指向被拥有者

这里写图片描述

上图中,老师与学生是双向关联,老师有多名学生,学生也可能有多名老师。但学生与某课程间的关系为单向关联,一名学生可能要上多门课程,课程是个抽象的东西他不拥有学生。

聚合(Aggregation)

【聚合关系】:是整体与部分的关系, 且部分可以离开整体而单独存在. 如车和轮胎是整体和部分的关系, 轮胎离开车仍然可以存在.
聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。
【代码体现】:成员变量
【箭头及指向】:带空心菱形的实心线,菱形指向整体
这里写图片描述

组合(Composition)

【组合关系】:是整体与部分的关系, 但部分不能离开整体而单独存在. 如公司和部门是整体和部分的关系, 没有公司就不存在部门.
组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期
【代码体现】:成员变量
【箭头及指向】:带实心菱形的实线,菱形指向整体
这里写图片描述

依赖(Dependency)

【依赖关系】:是一种使用的关系, 即一个类的实现需要另一个类的协助, 所以要尽量不使用双向的互相依赖.
【代码表现】:局部变量、方法的参数或者对静态方法的调用
【箭头及指向】:带箭头的虚线,指向被使用者
这里写图片描述

总结

各种关系的强弱顺序:
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
下面这张UML图,比较形象地展示了各种类图关系:

这里写图片描述

UML时序图

时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。

时序图中包括的建模元素主要有:角色(Actor)、对象(Object)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等等。

角色(Actor)

系统角色,可以是人、及其甚至其他的系统或者子系统。

对象(Object)

对象包括三种命名方式:
第一种方式包括对象名和类名;
第二中方式只显示类名不显示对象名,即表示他是一个匿名对象;
第三种方式只显示对象名不显示类明。

生命线(Lifeline)

生命线在顺序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间,如下图
这里写图片描述

控制焦点(Focus of Control)

控制焦点是顺序图中表示时间段的符号,在这个时间段内对象将执行相应的操作。用小矩形表示。如下图表示:
这里写图片描述

消息(Message)

消息一般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message).如下图所示:

这里写图片描述

  • 同步消息=调用消息(Synchronous Message)
    消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。

  • 异步消息(Asynchronous Message)
    消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。

  • 返回消息(Return Message)
    返回消息表示从过程调用返回

  • 自关联消息(Self-Message)
    表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。
    这里写图片描述

    Combined Fragments组合片段

    表示带有一些特定条件发送的消息。
    这里写图片描述

如上图,就表示为循环(loop)发送GetProperty消息获得属性。在使用Astah画时序图时,选择一个Combined Fragments之后,可以在其对应的属性面板更改对应的发送条件。里面介绍了很多,此处列举一二:

Alternative fragment(denoted “alt”) 与 if…then…else对应
Option fragment (denoted “opt”) 与 Switch对应
Parallel fragment (denoted “par”) 表示同时发生
Loop fragment(denoted “loop”) 与 for 或者 Foreach对应

用Multisim和AD2复刻经典:手把手教你搭建μA741三角波-方波发生器(附完整避坑指南) 本文详细介绍了如何使用Multisim和AD2搭建基于μA741运算放大器的三角波-方波发生器,包括电路原理、Multisim仿真流程、AD2硬件搭建及调试技巧。通过对比理论计算、仿真和实测数据,深入分析器件非理想特性的影响,并提供16个典型问题的解决方案,帮助读者掌握波形发生器的设计原理和工程调试经验。 阅读详情

相关推荐

实战指南:用Python实现ONVIF WS-Discovery设备发现(附完整代码)

本文提供了一份详细的实战指南,介绍如何使用Python实现基于ONVIF标准的WS-Discovery设备发现协议。文章深入解析了协议原理、网络通信模型,并提供了完整的代码实现,帮助开发者快速构建智能安防和物联网应用中的设备自动发现工具,有效提升网络设备集成与管理的效率。

chair的专栏 1114

UML类图与顺序图

UML的简单使用 (本文参考文献 《java多线程设计模式》--结城 浩 《java多线程编程实战指南》--黄文海) 一、综述 UML(Unified Modeling Language,统一建模语言)是软件工程领域一种标准化通用图形化建模语言,它被设计用于以可视化的方式来描述软件系统。它是站在可视化的观点来看待程序系统,将规格和重点写下来的表现形式。 UML定义的图形可以分为结构型(Structural UML Diagram)和行为型(Behavioral UML Diagram) 结构型UM

lingchen336的博客 6302

局域网tcp通信实验

IPv4 地址 . . . . . . . . . . . . : 192.168.92.79。IPv4 地址 . . . . . . . . . . . . : 192.168.92.59。子网掩码 . . . . . . . . . . . . : 255.255.255.0。子网掩码 . . . . . . . . . . . . : 255.255.255.0。使用这篇文章的小工具。

weixin_51883798的博客 434

基于类图的顺序图

目录一、顺序图的基本构成二、等价通讯图三、顺序图简单逻辑表示(一)“opt”:可选的内容(二)“loop”:循环结构(三)“alt”:对多分支的条件进行选择 一、顺序图的基本构成 注意新建对象位置低于其他对象; 生命线上矩形方框为控制焦点,表示对象当前为激活状态。 二、等价通讯图 1、对象表示方式相同,对象间的关联 2、消息发送的顺序、嵌套用数字和拓展数位进行表示 3、 关注对象间关联结构,与顺序图等价 三、顺序图简单逻辑表示 (一)“opt”:可选的内容 表示在满足方括号条件的情况下,对应部分就会被

weixin_46694417的博客 3069

解决 Clawdbot 对接 Minimax 出现 401 (Token is unusable) 的问题排查与修复

即便确认 API Key 有效且余额充足,该问题仍可能在 Clawdbot 中持续出现,而在其他工具(如 curl 或 Postman)中测试正常。

hampeter的博客 3075

Linux 桌面虚拟化技术 KVM

Linux 桌面虚拟化技术 KVM

高飞的博客 36万+

UML顺序图(序列图、时序图)

用例是一个系统提供给参与者的外部接口,代表着一系列交互步骤,最终目标是要实现参与者的目标。用例的表达有条简洁至上的原则,即越朴素越好,越不涉及代码知识越好,而且用例很难与类、接口等元素一一对应。因此,为了方便开发人员统筹和协调各个类和对象顺序图用于描述系统功能的各个不同角色之间相互协作、传递消息的顺序关系。顺序图也被称作序列图、时序图)是按时间顺序显示对象交互的图,具体来说,它显示了参与交互的对象和所交换信息的先后顺序,用来表示用例中的行为,并将这些行为建模成信息交换。

m0_58111460的博客 2万+

AI Agent在保险行业落地:从智能客服到核保理赔的实践路径

AI Agent作为大模型技术的核心应用形态,正从通用对话走向垂直行业深度落地。其本质是让机器理解自然语言、处理非结构化文档,并在复杂业务流程中辅助人类完成信息抽取、内容生成与多轮交互。在保险这一强监管、高客单价的行业中,智能客服与销售助手率先验证了降本增效的价值,核保与理赔环节则进一步展示了AI在文档理解与风控辅助上的高价值潜力。从技术原理到商业闭环,垂直场景正在成为AI应用的主战场。本文以保险行业为样本,剖析AI Agent如何嵌入真实业务流程,梳理可复用的三阶段落地路径,为企业在医疗、金融等类似高文本

weixin_29039773的博客 365

UML入门 之 交互图 -- 时序图 类图详解

[https://blog.youkuaiyun.com/doniexun/article/details/38317537] 一. 时序图 (Sequence Diagram) 1.时序图的概念 时序图定义 : 描述了对象之间传递消息的时间顺序, 用来表示用例中的行为顺序, 是强调消息时间顺序的交互图; 时序图描述的事物 : 时序图描述系统中类和类之间的交互, 将这些交互建模成消息交换, 时序图描述...

Channy_的博客 1万+

数据清洗(Data Cleansing)

数据清洗(Data Cleansing)是指对数据进行处理和纠错,以去除或修复数据集中存在的错误、不致、不完整和冗余的数据,从而使数据更加准确、可靠和有用。数据清洗是数据处理和数据分析中一个非常重要的步骤,它可以帮助我们提高数据的质量,从而提高数据分析和机器学习的准确性和可靠性。数据清洗是一个重要的过程,它可以帮助我们提高数据的质量,从而提高数据分析和机器学习的准确性和可靠性。在实际应用中,我们可以使用一些工具和技术来实现数据清洗,例如 Pandas、NumPy 和 OpenRefine 等。通过数据清洗,

meimei169500的博客 1万+

Dify 本地插件安装失败?别慌,这篇教程手把手教你解决(解决 the plugin you want to install has a bad signature 报错的问题)

🤯dify安装本地插件报错 PluginDaemonBadRequestError: plugin verification has been enabled, and the plugin you want to install has a bad signature。的解决方案!

XiaoqiangClub的博客 3985

【设计模式】 UML类图与时序图详解

本专栏将从基础开始,循序渐进,由浅入深讲解常见的设计模式,希望大家都能够从中有所收获,也请大家多多支持。 专栏地址:设计模式实战 所有代码地址:代码地址 如果文章知识点有错误的地方,请指正!大家一起学习,一起进步。

Learning_xzj的博客 958

手把手教你学pcie--内存管理和保护机制(一):MPU与其他内存管理和保护机制详解

MPU(Memory Protection Unit)是一种专门用于 ​。,这些机制通常协同工作,形成多层防御体系,兼顾安全性、性能和灵活性。

MHD0815的博客 279

UML类图和时序图

文章目录定义特点分类UML2.2中一共定义了14中图示,分类如下结构式图形行为式图形交互式图形类图时序图记忆技巧UML箭头方向实线-继承|虚线-实现实线>继承虚线>实现实现-关联|虚线-依赖实现-关联虚线-依赖 定义 统一建模语言(英语:Unified Modeling Language,缩写UML) 非专利的第三代建模和规约语言 特点 UML是一种开放的方法 用于说明、可视化、...

oiobee 1909

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

UML(主要讲解类图和时序图)

UML定义特点分类结构式图形静态图类图记忆技巧对象图包图实现图组件图部署图剖面图复合结构图行为式图形活动图状态图用例图交互式图形通信图交互概述图(UML2.0)时序图(UML2.0)时间图(UML2.0)类图时序图记忆技巧 定义 统一建模语言(英语:Unified Modeling Language ,缩写为UML) 非专利的第三代建模和规约语言 特点 UML是一种开放的方法 用于说明、可视...

qq_41686190的博客 1581

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

使用IDEA自动生成UML类图和时序图

在UML设计的时候,在已经写好代码的情况下,想要得到类图除了使用processON等画图工具画图外,也还可以使用IDEA中的工具实现自动生成的类图和时序图。这里要注意的是,idea需要高级版。也就是说社区版的idea并不具备这个功能,可能需要去网上下载破解版或者自行购买。 首先打开setting(ctrl+alt+s) 将我们需要在类图中展示的属性方法和构造器都勾选上。 右键你的项目,然后找到Diagrams选择Show Diagram或者使用快捷键Ctrl+Alt+Shift+U。 选择第一个 这

qq_43269093的博客 4万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

看懂UML类图和时序图

这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系;能看懂类图中各个类之间的线条、箭头代表什么意思后,也就足够应对 日常的工作和交流;同时,我们应该能将类图所表达的含义和最终的代码对应起来;有了这些知识,看后面章节的设计模式结构图就没有什么问题了;本章所有图形使用Enterprise Architect 9.2来画,所有示例详见根目录下的design_patterns.EAP。

珍惜当下 1129

【设计相关】UML类图和时序图介绍

​ 统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML 使用面向对象设计的的建模工具,但独立于任何具体程序设计语言。

何小杰的博客 1566

一文把UML类图和时序图搞的明明白白

目录什么是UML?类图(Class Diagrams)继承关系实现关系组合关系聚合关系关联关系依赖关系类关系记忆技巧案例分析时序图时序图的作用时序图组成元素角色(Actor)对象(Object)对象的三种命名方式命名方式的选择对象的排列顺序生命线(Lifeline)控制焦点(Focus of Control)消息(Message)自关联消息组合片段1、抉择(Alt)2、选项(Opt)3、循环(Lo...

半页童话 1474

eclipse下生成Java类图和时序图,生成UML图

最近老板让我做类图和时序图,提苦恼的,完全不会,就从网上整理了些 1.安装和使用AmaterasUML 安装AmaterasUML前,需要先安装GEF 采用eclipse在线安装方式安装就好。 eclipse在线安装GEF的地址:http://download.eclipse.org/tools/gef/updates/releases/ 安装好GEF后,安装AmaterasUML

_檬小呆的博客 4万+
上一篇: EventBus3.0 性能提升之添加索引
下一篇: Okhttp3源码分析
Kerwin zhang
博客等级 码龄12年 21粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值