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对应

ISA-95(S95)标准详解 ISA-95是制造业系统集成的“通用语言”,通过分层模型和信息流规范,打通企业计划层与设备控制层,成为实现数字化工厂的核心标准之一。其与ISA-88的协同应用,可进一步优化生产执行与资源管理的效率。标准,旨在解决企业商业系统(如ERP)与工业控制系统(如MES、SCADA)之间的集成问题。 阅读详情

相关推荐

全局子程序 参数调用

为什么要子程序: 为了实现程序结构化,我们尽量使用不同功能的功能块来实现一些特定的功能, 子程序接口: 使用过程的注意事项,尤其是数组使用时的注意事项 从一个主程序中可以将参数传递到局部或全局子程序和函数中。 怎样传递参数有 2 种方式: 作为 IN 参数 变量值在主程序中保持不变。 这种传递方式也称为“ 值传递 (Call by Value)”。 作为 OUT 参数 子程序读取并更改该值,然后将新值写回到主程序中。 这种传递方式也称为“Call by Reference”。 举例说明 1 DEF MY

Eric_Yang1024的博客 1095

UML类图与顺序图

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

lingchen336的博客 6302

将一维数据(序列)转化为二维数据(图像)的方法汇总GAFS, MTF, Recurrence plot,STFT

虽然深度学习方法(1D CNN, RNN, LSTM 等)可以直接处理一维数据,但是当前的深度学习方法主要还是处理二维结构数据的,特别是在计算机视觉CV以及自然语言处理NLP领域,各种各样的方法层出不穷。因此,如果能够将一维序列数据转化为二维(图像)数据, 则可以直接结合CV以及NLP领域的方法,是不是很有趣! GAF, GASF, GADF, MTF, Recurrence Plot, STFT, 短时傅里叶变换

MasterQKK 5万+

基于类图的顺序图

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

weixin_46694417的博客 3069

保姆级教程:手把手教你从NASA Earthdata下载ASTER L2地表温度数据(附shp文件拖拽技巧)

本文提供了一份详细的NASA Earthdata平台ASTER L2地表温度数据下载教程,涵盖账号注册、数据筛选、shp文件拖拽技巧及质量检查等关键步骤。特别适合遥感领域初学者,帮助快速掌握高效获取ASTER L2T数据的方法,适用于城市热岛效应和农业监测等研究。

weixin_30736301的博客 470

从零开始:Basler相机与pylon Viewer的工业视觉入门指南

本文详细介绍了Basler相机与pylon Viewer在工业视觉系统中的入门指南,涵盖硬件连接、软件安装、核心功能解析及实战案例。通过pylon Viewer的全面控制和参数调整功能,帮助新手快速掌握工业视觉检测技术,提升生产效率。

julia4scientist的博客 1136

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

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

m0_58111460的博客 2万+

抖音风控参数‘bd-ticket-guard-client-data’深度解析:从X.509证书到请求签名的完整链路

本文深度解析抖音风控参数‘bd-ticket-guard-client-data’的技术实现,从X.509证书体系到请求签名的完整安全链路。通过Python代码示例,揭示证书生成、签名算法及票据封装等核心机制,帮助开发者理解现代平台风控系统的多层防御架构设计。

weixin_42525738的博客 433

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

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

Channy_的博客 1万+

人像抠图 + OpenGL ES 还能这样玩?没想到吧(附带源码)

OpenGL ES 利用抠图算法实现人像留色。

字节流动 3万+

【NVIDIA-GB200-1】国内第一份生产环境实战安装配置教程,配置安装脚本,nvidia gb200配置教程-复制即用;gb200驱动安装

GB200 的高性能通信依赖。

jundao1997的专栏 705

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

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

Learning_xzj的博客 958

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

UML类图和时序图

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

oiobee 1909

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

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

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

qq_41686190的博客 1581

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

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

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

qq_43269093的博客 4万+

看懂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、付费专栏及课程。

余额充值