关于UML时序图与类图的学习(程序开发)

2023-11-05

时序图

时序图可以帮助我们更加清晰地看到一个系统之中各个对象的运行情况,有助于我们
梳理业务代码的结构
梳理一些框架的源码理清启动流程以及各个层次之间的关系

在绘制时序图的时候 我们需要接触七种元素
角色(Actor)
对象(Object)
生命线(LifeLine)
控制焦点(Activation)
消息(Message)
自关联消息
组合片段(用得不多)

1.角色(Actor)
系统角色,可以是人或者其他系统和子系统。以一个小人图标表示。

2.对象(Object)
对象位于时序图的顶部,以一个矩形表示。对象的命名方式一般有三种:
类名与对象名
对象名
类名

3.生命线(LifeLine)
时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线(对象的时间线)。以一条垂直的虚线表。

4. 控制焦点(Activation)
控制焦点代表时序图中在对象时间线上某段时期执行的操作。以一个很窄的矩形表示。

5. 消息(Message)
表示对象之间发送的信息。消息分为三种类型。
同步消息(Synchronous Message)消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。以一条实线和实心箭头表示。
异步消息(Asynchronous Message)消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。以一条实线和大于号表示。
返回消息(Return Message)返回消息表示从过程调用返回。以小于号和虚线表示。

6. 自关联消息
表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。以一个半闭合的长方形+下方实心剪头表示。

7.组合片段
此处不做介绍 可自行百度

时序图示例
请添加图片描述

推荐UML在线画图工具ProcessOn

上述内容参考自原文

类图(偷个懒)

类图相关

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于UML时序图与类图的学习(程序开发) 的相关文章

  • 如何用UML绘制NoSQL数据库(面向文档)?

    我是 NoSQL 使用的初学者 目标是构建一个超级数据库 是否可以使用 UML 绘制 CouchDB 数据库 面向文档 特别是如何进行联接 或者还有其他更适合 NoSQL 数据库建模的替代方案吗 您可以使用UML 类图对应用程序域的实体和聚
  • 如何在UML类图中描述包含的映射?

    我有一个 MyServer 类 其中包含一个 Map 其键是 MyClientType 对象 其值是 MyClient 对象 我想在类图中描述这种关系 但我找不到一种干净的方法来做到这一点 您可以使用合格的协会 1 MyServer Key
  • 我可以使用 UML 来建模网站导航吗

    我可以使用 UML 对网站导航进行建模吗 如果是的话 有人给我一些书籍 链接以供参考 网站的 UML 之类的 如果不是的话 有哪些工具可以实现这一点 基本上我是一名程序员 当我设计以前的网站时 我只是在纸上勾勒出不同的页面设计想法 然后选择
  • 如何使用 NetBeans 6.8 UML 模块创建类图?

    在我看来 NetBeans 的 UML 模块隐藏得有点太多了 在 NetBeans 6 5 中 创建 UML 图非常容易 无需安装插件或其他东西 喜欢 读my post http karussell wordpress com 2010 0
  • 用例图包括

    我有一个关于用例图的问题 如图所示 用户可以输入或更新他的姓名和问题 正如您所看到的 用户在第一次输入信息时需要输入姓名和问题 因此包括在内 但是 如果他希望更新他的信息 图表是否表明他必须修改名称和问题 因为它们包含在内 例如 如果他拼错
  • 类图转换为关系模型;继承和匹配表

    对于一个学校项目 我应该设计上学期项目的系统 我们使用 UML 创建一个极其简单的用例图 没有 lt
  • 主动类与被动类

    在 UML 规范上层结构 2 5 仍为 Beta 第 203 页 中 可以通过将 isActive 设置为 true 来指定类为活动类 即 它的每个实例都是一个活动对象 当 isActive 为 false 时 类是被动的 即 它的每个实例
  • 如何快速理解任何产品的设计和代码流程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 学习 UML 的最佳来源是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 UML 中建模协变关联类?

    In short 我想对两个类之间的协变关联进行建模 每个类都可以专门化 我需要展示相关关联类的专业化 但我想避免我的模型可能意味着存在冗余关联 即泛化之间的关联和专业化之间的关联 问题的逐步解释 我在 UML 类图中有一个多对多关联Per
  • 多个参与者,相同的用例 [用例]

    我试图描述一个用例 其中系统内的多个参与者可以执行相同的活动 例如 假设 作为示例 我想要使用 更新客户端 用例 但几个已确定的参与者可以执行此操作 Manager Chief Executive Customer Service Repr
  • 在 Papyrus UML 模型中使用 MARTE GQAM 构造型

    我正在尝试使用 MARTE GQAM 构造型来构造模型的某些元素 但在为其某些属性赋值时遇到麻烦 例如 我将两条生命线之间的消息定型为 我想为其 hostDemand 属性分配一个值 该属性应为 NFP Duration 实例 我看不到如何
  • 关联注入还是依赖注入?

    我正在研究依赖注入模式 我看过很多例子 其中一个典型的例子就是以XxxService XxxRepository为例 但我认为 根据UML概念 类XxxRepository应该是类XxxService的关联 为什么不称这种情况为关联注入 但
  • 如何在 UML 序列图中显示实例化?

    如何显示 Web 服务器实例化视图并重新获得流的控制权 也许我没有使用正确的图表类型 非常感谢 Ruben 的答案中的图表是正确的 但缺少一般的 UML 答案 当 创建 线 在本例中为虚线 连接到所创建生命线的框 标签 顶部时 它会创建另一
  • 如何*真正*编写 UML 基数?

    我想一劳永逸地知道如何编写 UML 基数 因为我经常不得不争论它们 所以非常欢迎证明和来源 如果我想解释一下a Mother可以有几个Children but a Child有且仅有一个Mother 我应该写 Mother 1 Child
  • 如何使用 js/uml 对 JavaScript 文件进行逆向工程?

    Goal 我的目标是从我的 JavaScript 项目 由多个 js 文件组成 中获取 UML 模型并将其存储为 XMI 我已经走了多远 我在网上搜索了一下 发现js uml是第一个去的地方 我已经设法让 js uml 插件与 Eclips
  • 绘制 UML 时何时使用属性(属性)而不是关联/聚合/组合

    好吧 我有点困惑 当尝试在 UML 图中显示关系时 我应该向类添加属性 还是绘制与类的关联 例如 假设我有一个 DFA 类 其中包含 10 个状态对象 每个状态对象都有一组不同的通往 DFA 中各种状态的路径 我应该绘制从 DFA 到 St
  • UML - 关联或聚合(简单的代码片段)

    有多少书自相矛盾 真让我抓狂 Class A class B void UseA A a some say this is an association no reference is held but communication is p
  • 有没有办法在 Visual Studio 或 MATLAB 中“映射”程序执行顺序?

    我所说的 地图 是指我有一个 主 函数 它调用内部的许多其他程序 我希望能够看到哪个文件首先运行 第二个 第三个等等 基本上 我希望能够请参阅这个大型 OOP 设计程序 创建者没有为其制作 UML 类图 中的依赖项列表和顺序 以帮助破译代码
  • 如何表示类的实例与将其作为输入的类之间的关系?

    我有一堂课叫House 这个类的实例是house class House def init self height length self height height self length length def housePlan hou

随机推荐

  • docker容器内修改配置文件

    一 vim修改 1 进入容器内部 docker exec it id bin bash 2 安装vim 输入命令 apt get update apt get install vim 二 替换配置文件 1 替换配置文件 docker cp
  • 最火前端Web组态软件(可视化)

    前言 随着物联网 大数据等技术高速发展 我们逐步向数字化 可视化的人工智能 AI 时代的方向不断迈进 智能时代是工业 4 0 时代 我国工业领域正努力从 制造 迈向 智造 的新跨越 正文 1 mxgraph 介绍 开源免费 但是需要解决的问
  • CososCreator (Android)-AppLovin MAX 广告聚合平台接入+Firebase统计

    CososCreator 2 4 4 Android Studio 4 2 1 接入SDK有 接max聚合及中介平台 Admob FB applovin pangle mintegral vungle unity 和Firebase 统计
  • kubernetes(k8s)介绍

    记录自己的学习历程 应用部署方式演变 在部署应用程序的方式上 主要经历了三个时代 传统部署 互联网早期 会直接将应用程序部署在物理机上 优点 简单 不需要其它技术的参与 缺点 不能为应用程序定义资源使用边界 很难合理地分配计算资源 而且程序
  • 入门Webpack,看这篇就够了

    写在前面的话 阅读本文之前 先看下面这个webpack的配置文件 如果每一项你都懂 那本文能带给你的收获也许就比较有限 你可以快速浏览或直接跳过 如果你和十天前的我一样 对很多选项存在着疑惑 那花一段时间慢慢阅读本文 你的疑惑一定一个一个都
  • 笔试

    文章目录 前言 41 关键路径与路径优化 何为关键路径 怎么进行路径优化 1 组合逻辑中插入寄存器 插入流水线 2 寄存器平衡 重定时Retiming 3 操作符平衡 加法树 乘法树 4 消除代码优先级 case代替if else 5 逻辑
  • linux通过yum和官网下载jdk安装java步骤

    1 yum方式下载安装 1 查找java相关的列表 yum y list java 或者 yum search jdk 2 安装jdk yum install java 1 8 0 openjdk x86 64 3 完成安装后验证 java
  • FreeRTOS学习(八) 延时函数

    声明及感谢 跟随正点原子资料学习 在此作为学习的记录和总结 环境 keil stm32f103 FreeRTOS延时函数有两个 分别是 vTaskDelay vTaskDelayUntil 1 vTaskDelay 任务相对延时 函数原型
  • elk笔记21--将DSL查询转为kibana短链接

    elk笔记21 将DSL查询转为kibana短链接 1 简介 2 功能实现 2 1 源码 2 2 测试 3 注意事项 4 说明 1 简介 较新版本的 kibana 前端都有一个 Share gt Short URL 的功能 用起来非常方便
  • springBoot项目与Eureka注册中心整合时候关于版本兼容问题

    java lang NoSuchMethodError org springframework boot builder SpringApplicationBuilder Ljava lang Object V 如果在搭建springboo
  • python基础总结:1.7、模块

    python基础总结 1 7 模块 文章目录 python基础总结 1 7 模块 1 更多有关模块的信息 1 1 以脚本的方式执行模块 1 2 模块搜索路径 1 3 编译过的 python文件 2 标准模块 3 dir 函数 4 包 4 1
  • 区分电角度和机械角度

    电角度的区别和联系 以下内容均来自于网络搜索 这里仅用作于自己记录笔记 解释1 机械角度意为空间几何角度 相当于360 电角度是指通过一个完整的周期内电流完成变化 从电磁分布的角度来看 永磁体 或励磁 产生的磁场空间分布呈现周期性变化 一个
  • 《SQL中有关DQL、DML、DDL、DCL的概念与区别》

    SQL Structure Query Language 结构化查询语言是数据库的核心语言 是高级的非过程化编程语言 它功能强大 效率高 简单易学易维护 SQL语言基本上独立于数据库本身 使用的机器 网络 操作系统 基于SQL的DBMS产品
  • 解决使用layui上传文件时提示“请求上传接口出现异常”

    在做网站的过程中 需要用户上传文件 接收文件的接口已经写好 经过测试确定可用 现在需要在网页上提供一个文件上传的按钮 由于原生input type file 组件太丑 考虑使用现成的框架layui 跑到layui官网上查看官方文档进行学习
  • 2023必须掌握的10大Web3技术

    2023必须掌握的10大Web3技术 1 区块链技术 Blockchain Technology 2 智能合约 Smart Contracts 3 物联网 IoT Internet of Things 4 云计算 Cloud Computi
  • git报错fatal: unable to access ‘XXX‘: SSL certificate problem: certificate has expired

    一 问题 在git bash中执行git clone xxx之后 并没有弹出登陆框 而是报以下错误 git报错fatal unable to access XXX SSL certificate problem certificate ha
  • Java中的直接赋值、浅拷贝和深拷贝

    将一个对象的引用复制给另外一个对象 一共有三种方式 第一种方式是直接赋值 第二种方式是浅拷贝 第三种是深拷贝 所以大家知道了哈 这三种概念实际上都是为了拷贝对象啊 直接赋值 好 下面我们先看第一种方式 直接赋值 在Java中 A a1 a2
  • 华为OD机试 - 数组分组(C++ & Java & JS & Python)

    描述 输入int型数组 询问该数组能否分成两组 使得两组中各元素加起来的和相等 并且 所有5的倍数必须在其中一个组中 所有3的倍数在另一个组中 不包括5的倍数 不是5的倍数也不是3的倍数能放在任意一组 可以将数组分为空数组 能满足以上条件
  • pandas.DataFrame.notnull返回非空值

    gt gt gt import pandas as pd gt gt gt df pd read csv test csv gt gt gt print df name id 0 ZhangSan 1 0 1 LiSi 2 0 2 Wang
  • 关于UML时序图与类图的学习(程序开发)

    时序图 时序图可以帮助我们更加清晰地看到一个系统之中各个对象的运行情况 有助于我们 梳理业务代码的结构 梳理一些框架的源码理清启动流程以及各个层次之间的关系 在绘制时序图的时候 我们需要接触七种元素 角色 Actor 对象 Object 生