PowerDesigner16 画时序图教程

article/2025/10/7 2:12:48

————————————————
版权声明:本文为CSDN博主「猪脚踏浪」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zsg88/article/details/78185049

 

文章转载于上,在此给小白(指我这种)加个怎么打开时序图的工程图

时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。时序图中包括的建模元素主要有:角色(Actor)、对象(Object)、生命线(Lifeline)、控制焦点(Focus of control)/ 激活(Activation)、消息(Message)、组合片段(Combined Fragments)/交互片段(interaction fragment)。

角色 ( Actor )
用以表示和系统进行交互的参与者角色,不一定是人也可以是物或者系统。UML用例图中用一个小人来表示角色

对象 ( Object )
对象就是类的实例。UML用例图中用矩形框来表示对象。

生命线 ( Lifeline )
生命线代表对象在某一用例中的生命周期。UML用例图中用虚线来表示生命线。


控制焦点 ( Focus of Control ) / 激活(Activation)
控制焦点代表对象在某一用例过程中执行某一操作的时间。UML用例图中用方块来表示控制焦点。


消息(Message)
消息是角色和对象或者对象与对象之间的信息传递。消息分为三种:同步消息、异步消息、返回消息。

(1) 同步消息(Synchronous Message):
把信息传递给接受者后,停止活动,等待返回结果。使用(实线)


(2) 异步消息(Asynchronous Message):
把信息传递给接受者后,不用等待返回结果。可以直接开始下一个活动。类似于打电话的过程,拨通号码后,用户变不需要继续下一步的操作,只需等待连接。UML图表示如下:

图示上与同步消息图示不同的是message的单箭头。

双击message的剪头图,弹出属性对话框,选择Detail选项卡,将Control flow 下拉选项改成Asynchronous(异步),图示就会变成单箭头。

(3) 返回消息(Return Message):

代表从过程调用返回。UML图表示如下:

使用虚线连接

(4) 自关联消息(Self-Message):

自关联消息表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。UML图表示如下:

组合片段(Combined Fragments)/交互片段(interaction fragment):
UML图表示如下:

中间方框用(Interaction fragment) 图标表示。可选择的组合有:

alt:在一组行为中根据特定的条件选择某个交互;
opt:表示一个可选的行为;
break:提供了和编程语言中的break类拟的机制;
par:支持交互片段的并发执行;
seq:强迫交互按照特定的顺序执行;
strict:明确定义了一组交互片段的执行顺序;
neg:用来标志不应该发生的交互;
region:标志在组合片段中先于其他交互片断发生的交互;
ignore:明确定义了交互片段不应该响应的消息;
consider:明确标志了应该被处理的消息
assert:标志了在交互片段中作为事件唯一的合法继续者的操作数;
loop:说明交互片段会被重复执行 

(1)抉择(Alt):抉择用来表示多个消息序列下根据不同条件互斥的选择,类似于if...else,下图就是一个抉择的例子,用户到商店里购买一件商品,如果小于50件就可以购买成功,如果大于50件,就出现货品不足无法购买的情况,这是个比较粗糙的例子,不过对于解释抉择的组合片段还是很好理解的。



(2)选项(Opt):表示一个可能存在又可能不存在的消息通信过程,例如上面购买操作,有可能用户会购买商品,也可能不购买商品,表示如下图:



(3) 循环(Loop):表示该消息通信的过程多次根据条件重复执行,类似于for,如下图示例:



(4)并行(Par):表示对象生命线中持续进行消息通信的部分,具体如下图:



(5) 中断(break):用来表示序列中如果选择一个序列则要放弃其他序列的情况,类似于switch里的break,如下图:



(6)强顺序(strict):多个操作片段必须按照顺序发生。下面就是一个典型的例子,做菜这个操作分为切菜和炒菜,这个流程是必须不可逆的,所以是强顺序。


(7)弱顺序(Seq):多个操作片段在同一生命线上必须按照片段顺序发生,如果是不同的生命线则可以是并行发生,这个就不举实例了,基本表示方法和上面一样。

一个电话拨号的时序图



————————————————
版权声明:本文为CSDN博主「猪脚踏浪」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zsg88/article/details/78185049


http://chatgpt.dhexx.cn/article/0McMr5QT.shtml

相关文章

时序图笔记

时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图 我们在画时序图时会涉及下面7种元素: 角色(Actor) 系统角色,可以是人或者其他系统和子系统。以一个小人图标表示。对象(Object) 对象位于时序图的顶部,以一个矩形…

时序图学习

时序图 时序图是很值的学习的,在梳理逻辑或者向领导汇报的时候很有用。我觉得以下两个时序图具有学习意义,一个是简洁版的,一个是复杂版的。各位可以参照这两个图来画自己公司的时序图。 微信登录时序图 微信支付时序图 参考: h…

【图形设计】手把手教你如何画好时序图

编辑导语:时序图可以有效地描述交互顺序,并帮助研发团队更清晰地理顺系统逻辑,做好流程分析,若利用得当,则可以一定程度上降低沟通成本,更快速地推进业务进行。本篇文章里,作者就时序图的构成与…

架构师必备:时序图说明及画法

用途 时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的…

记录一次帮公司搭建一次linux正式环境

安装JDK centos7 用yum安装java81.查看yum源中是否有相关套件yum -y list java*2.上图中可以看到有两个自己想用的套件,经过试验发现用yum install java-1.8.0-openjdk 时最后 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_6目录下只用一个jre文件&a…

Linux7启动MySQL失败_解决Linux-Centos7启动Mysql服务失败丢失mysql.sock问题

在新安装mysql后进行启动发现报错 mysql启动服务命令 Starting mysqld (via systemctl):? Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld3306.service" and "journalctl -xe" for de…

Centos离线安装Mysql

一、tar.gz文件安装Mysql 5.7 官方参考文档:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html 1.下载tar.gz文件 官网:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 根据需要选择64位or32位文件,下载完…

公司网站搭建的架构

目录 简介拓扑图需求首先先搭建好MHA集群跟新主机时间修改主机名配置所有主机之间SSH无密码验证将私钥发送到所有主机(包括本机)将下载好的软件包上传到主机配置本地yum源解压软件包在manager主机和各个node节点安装软件依赖包安装MHA manager依赖的perl…

Docker 部署 web 项目

本篇文章主要介绍将一个完整的 Web 项目(包括数据库、后端、前端)部署到 Docker 中的详细步骤 项目是前后端分离的,后端使用 SpringBoot JKD17 MySQL 8;前端使用 Vue webpack。服务器是跑在 WSL2 上的 Ubuntu 20.04.5 &#x1…

阿里巴巴 JAVA 开发手册

阿里巴巴 JAVA 开发手册 1.0.0 阿里巴巴集团技术部 2016.12.7 首次向 Java 业界公开 一、 编程规约(一) 命名规约1. 【强制】所有编程相关命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。反例: _name / __name / $Object / name_ / …

2016阿里巴巴73款开源产品全向图

阿里巴巴集团已经开源 115 个项目,加入 FSF 基金会、Apache 基金会、Linux 基金会和 Xen 的顾问团队,并在云栖大会北京峰会宣布 AliSQL 开源。 为了让大家能更好,更全面的了解和应用上阿里开源项目, 云栖社区特别制作了一张“201…

mysql8.0 启动不了mysql_8.0.11版本Mysql遇到MySQL 服务无法启动的解决方法

转:https://blog.csdn.net/iyayaqiqi/article/details/80536110 系统环境:win10(1803),64位 MySQL版本:8.0.11免安装版 MySQL下载地址:https://dev.mysql.com/downloads/mysql,在下载页面往下拉,选择自己的…

CentOS下postgres怎么恢复数据库.bak文件_数据架构选型必读:4月数据库产品技术解析...

本期要点 DB-Engines数据库排行榜 一、RDBMS MySQL发布8.0.20版本,5.6版本于2021年2月停止更新DB2发布11.5.2版本,且看容器化是否可为DB2注入新活力PostgreSQL所有版本的小版本更新到最新版,停止维护9.4OceanBase发布2.2.5版本 二、NoSQL Red…

小麦苗的常用代码--常用命令(仅限自己使用)

小麦苗的常用代码--常用命令(仅限自己使用) 囗 ■ ☑ ● •◆ ※ ☆ ★ ⊙ √ → innobackupex --help -? -h helpy systeminfo | find "系统类型" ----- editplus 替换空行: ^[ \t]*\n EDIT -> DELETE->DELETE BLANK LINES ----- ed…

Spring+SpringMVC+Mybatis分布式敏捷开发系统架构(附源码)

前言 zheng项目不仅仅是一个开发架构,而是努力打造一套从 前端模板 - 基础框架 - 分布式架构 - 开源项目 - 持续集成 - 自动化部署 - 系统监测 - 无缝升级 的全方位J2EE企业级开发解决方案。 项目介绍 基于SpringSpringMVCMybatis分布式敏捷开发系统架构&#xff0c…

2022年最新版 | Flink经典线上问题小盘点

点击上方蓝色字体,选择“设为星标” 回复”面试“获取更多惊喜 本文已经加入「大数据成神之路PDF版」中提供下载。你可以关注公众号,后台回复:「PDF」 即可获取。 2020年和2021年分别写了很多篇类似的文章,这篇文章是关于Flink生产…

Flink CDC我吃定了耶稣也留不住他!| Flink CDC线上问题小盘点

点击上方蓝色字体,选择“设为星标” 回复”面试“获取更多惊喜 我在之前的文章中已经详细的介绍过Flink CDC的原理和实践了。 如果你对Flink CDC 还没有什么概念,可以参考这里:Flink CDC 原理及生产实践。 在实际生产中相信已经有很多小伙伴尝…

MySql的Binlog日志工具分析:Canal、Maxwell、Databus、DTS

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! Canal 定位:基于数据库增量日志解析&#…

[架构设计]--让你的数据库流动起来 – 利用MySQL Binlog实现流式实时分析架构

感谢原文作者:https://aws.amazon.com/cn/blogs/china/mysql-binlog-architecture/ 数据分析特别是实时数据分析,已经越来越多的成为各行各业的分析要求与标准 – 例如,(新)零售行业可能希望通过线下POS数据与实时门店…

Flink实战 - Binlog日志并对接Kafka实战

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 大数据真好玩 点击右侧关注,大数据真好玩! 对于 Flink 数据流的处理,一般都是去直…