<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>协作图 on Liangweidong's blog</title><link>https://liangweidonggood.github.io/tags/%E5%8D%8F%E4%BD%9C%E5%9B%BE/</link><description>Recent content in 协作图 on Liangweidong's blog</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Thu, 04 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://liangweidonggood.github.io/tags/%E5%8D%8F%E4%BD%9C%E5%9B%BE/index.xml" rel="self" type="application/rss+xml"/><item><title>UML 建模（用例图/时序图/协作图/三种模型）</title><link>https://liangweidonggood.github.io/p/uml-jian-mo/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://liangweidonggood.github.io/p/uml-jian-mo/</guid><description>&lt;img src="https://liangweidonggood.github.io/p/uml-jian-mo/image/cover.jpg" alt="Featured image of post UML 建模（用例图/时序图/协作图/三种模型）" /&gt;&lt;h1 id="uml-建模用例图--时序图--协作图--三种模型"&gt;UML 建模（用例图 / 时序图 / 协作图 / 三种模型）
&lt;/h1&gt;
 &lt;blockquote&gt;
 &lt;p&gt;系统架构师考试 | UML 建模专题
对应 2021 年下半年案例分析 试题二
阅读时长：约 12 分钟&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="前言"&gt;前言
&lt;/h2&gt;&lt;p&gt;UML（Unified Modeling Language，统一建模语言）是面向对象分析和设计的事实标准。系统架构师考试中，UML 主要考&amp;quot;看图填空&amp;quot;——给定一张图，让你填参与者、用例、对象、消息等。本篇系统梳理高频 UML 图：&lt;strong&gt;用例图、时序图、协作图&lt;/strong&gt;，以及面向对象的&lt;strong&gt;三种模型&lt;/strong&gt;（对象模型 / 动态模型 / 功能模型）。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="一用例图use-case-diagram"&gt;一、用例图（Use Case Diagram）
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;：描述系统的&lt;strong&gt;功能边界&lt;/strong&gt;——谁用系统、能做什么。&lt;/p&gt;
&lt;h3 id="11-元素构成"&gt;1.1 元素构成
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;元素&lt;/th&gt;
					&lt;th&gt;图形&lt;/th&gt;
					&lt;th&gt;说明&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;参与者（Actor）&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;火柴人&lt;/td&gt;
					&lt;td&gt;系统外部的交互方（人、外部系统、定时器）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;用例（Use Case）&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;椭圆&lt;/td&gt;
					&lt;td&gt;系统提供的一个完整功能&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;系统边界&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;矩形&lt;/td&gt;
					&lt;td&gt;框定系统范围，参与者在外、用例在内&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;关联&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;实线&lt;/td&gt;
					&lt;td&gt;参与者与用例之间的连线&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;包含（include）&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;虚线 + &lt;code&gt;&amp;lt;&amp;lt;include&amp;gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;A 包含 B（B 是 A 的一部分，必执行）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;扩展（extend）&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;虚线 + &lt;code&gt;&amp;lt;&amp;lt;extend&amp;gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;A 扩展 B（B 在特定条件下触发）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;泛化（generalization）&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;实线 + 空心三角&lt;/td&gt;
					&lt;td&gt;用例或参与者之间的继承关系&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="12-答题套路"&gt;1.2 答题套路
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;识别参与者&lt;/strong&gt;——题目里&amp;quot;谁&amp;quot;用这个系统？通常是 2-3 个角色&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;识别用例&lt;/strong&gt;——题目里&amp;quot;做什么&amp;quot;？每个动词短语 = 一个用例&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;区分主用例 vs 辅助用例&lt;/strong&gt;——包含/扩展关系&lt;/li&gt;
&lt;li&gt;画图时参与者放&lt;strong&gt;两侧&lt;/strong&gt;，用例放中间&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="13-实战预约挂号系统2021-真题"&gt;1.3 实战：预约挂号系统（2021 真题）
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;参与者：(1) &lt;strong&gt;患者&lt;/strong&gt; / (2) &lt;strong&gt;医院管理员&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;患者侧用例（6 个）：注册登录、信息浏览、账号管理、预约挂号、查询与取消预约、报告查询&lt;/li&gt;
&lt;li&gt;管理员侧用例（4 个）：号源管理、预约管理、报表管理、信用管理&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;技巧&lt;/strong&gt;：左侧用例往往来自&amp;quot;前台操作&amp;quot;（面向 C 端用户），右侧用例来自&amp;quot;后台管理&amp;quot;（面向 B 端运维）。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="二时序图sequence-diagram"&gt;二、时序图（Sequence Diagram）
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;：描述&lt;strong&gt;对象之间消息的时间顺序&lt;/strong&gt;——谁先调用谁、调用什么、返回什么。&lt;/p&gt;
&lt;h3 id="21-元素构成"&gt;2.1 元素构成
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;元素&lt;/th&gt;
					&lt;th&gt;图形&lt;/th&gt;
					&lt;th&gt;说明&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;对象&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;顶部矩形&lt;/td&gt;
					&lt;td&gt;写 &lt;code&gt;对象名:类名&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;生命线&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;垂直虚线&lt;/td&gt;
					&lt;td&gt;从对象向下延伸&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;激活条&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;细长矩形&lt;/td&gt;
					&lt;td&gt;表示对象正在执行&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;同步消息&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;实线 + 实心三角箭头&lt;/td&gt;
					&lt;td&gt;必须等返回才继续&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;异步消息&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;实线 + 空心箭头&lt;/td&gt;
					&lt;td&gt;不等返回就继续&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;返回消息&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;虚线 + 空心箭头&lt;/td&gt;
					&lt;td&gt;方法返回值&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;自调用&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;回路箭头&lt;/td&gt;
					&lt;td&gt;对象调用自身方法&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="22-答题套路"&gt;2.2 答题套路
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;识别对象&lt;/strong&gt;——题干里所有&amp;quot;实体&amp;quot;（界面、数据库访问类、表、控制器）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;识别消息&lt;/strong&gt;——动词 = 消息名（&amp;ldquo;发起请求&amp;rdquo;/&amp;ldquo;加载数据&amp;rdquo;/&amp;ldquo;返回结果&amp;rdquo;）&lt;/li&gt;
&lt;li&gt;时间顺序：消息&lt;strong&gt;从上到下&lt;/strong&gt;排列&lt;/li&gt;
&lt;li&gt;实参/返回值标注在消息名附近&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="23-实战预约挂号流程"&gt;2.3 实战：预约挂号流程
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;预约人员 -&amp;gt; 预约界面 : 发起预约挂号请求
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;预约界面 -&amp;gt; 数据库访问类 : 获取医生信息
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;数据库访问类 -&amp;gt; 医生列表 : 加载医生信息
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;医生列表 -&amp;gt; 医生出诊时段表 : 加载医生出诊时段
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;医生出诊时段表 --&amp;gt; 预约界面 : 返回医生可预约时段
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;预约界面 --&amp;gt; 预约人员 : 显示医生可预约时段
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;预约人员 -&amp;gt; 预约界面 : 选择医生/就诊时间确认预约
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;预约界面 -&amp;gt; 数据库访问类 : 写入预约信息
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;数据库访问类 --&amp;gt; 预约界面 : 返回预约结果
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;预约界面 --&amp;gt; 预约人员 : 显示预约结果
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="三协作图communication-diagram"&gt;三、协作图（Communication Diagram）
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;：与时序图等价，但&lt;strong&gt;强调对象之间的链接结构&lt;/strong&gt;而非时间顺序。&lt;/p&gt;
&lt;h3 id="31-元素构成"&gt;3.1 元素构成
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;对象&lt;/strong&gt;：矩形&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;链接&lt;/strong&gt;：对象之间的实线（表示它们之间有消息往来）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;消息&lt;/strong&gt;：链接上的带序号的箭头（1、1.1、1.2、2、2.1&amp;hellip;）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;消息顺序&lt;/strong&gt;：通过&lt;strong&gt;嵌套编号&lt;/strong&gt;表达&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="32-时序图-vs-协作图核心区别必考"&gt;3.2 时序图 vs 协作图（核心区别，必考）
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;维度&lt;/th&gt;
					&lt;th&gt;时序图（Sequence Diagram）&lt;/th&gt;
					&lt;th&gt;协作图（Communication Diagram）&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;强调重点&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;消息的时间顺序&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;对象之间的链接结构&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;布局&lt;/td&gt;
					&lt;td&gt;纵向（时间向下）&lt;/td&gt;
					&lt;td&gt;自由（空间）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;消息编号&lt;/td&gt;
					&lt;td&gt;隐式（按位置）&lt;/td&gt;
					&lt;td&gt;显式（1、1.1、1.2）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;易读性&lt;/td&gt;
					&lt;td&gt;易看&amp;quot;执行次序&amp;quot;&lt;/td&gt;
					&lt;td&gt;易看&amp;quot;对象关系&amp;quot;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;转换&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;可相互转换&lt;/strong&gt;（UML 规范支持）&lt;/td&gt;
					&lt;td&gt;同左&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;软考答题要点&lt;/strong&gt;：两者描述&lt;strong&gt;同一信息&lt;/strong&gt;，UML 工具（Enterprise Architect、StarUML、PlantUML）支持&lt;strong&gt;自动互转&lt;/strong&gt;。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="四面向对象三种模型"&gt;四、面向对象三种模型
&lt;/h2&gt;&lt;p&gt;OOA（面向对象分析）需要建立&lt;strong&gt;三个相互独立又相互依赖的模型&lt;/strong&gt;：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;模型&lt;/th&gt;
					&lt;th&gt;关注点&lt;/th&gt;
					&lt;th&gt;主要元素&lt;/th&gt;
					&lt;th&gt;回答的问题&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;对象模型&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;静态结构&lt;/td&gt;
					&lt;td&gt;对象、类、属性、操作、关联、聚合、泛化&lt;/td&gt;
					&lt;td&gt;&amp;ldquo;是什么&amp;rdquo;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;动态模型&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;动态行为&lt;/td&gt;
					&lt;td&gt;状态、事件、状态转换（状态图）&lt;/td&gt;
					&lt;td&gt;&amp;ldquo;什么时候发生&amp;rdquo;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;功能模型&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;数据变换&lt;/td&gt;
					&lt;td&gt;加工、数据流、数据存储（DFD）&lt;/td&gt;
					&lt;td&gt;&amp;ldquo;做什么&amp;rdquo;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="41-三者关联关系必考"&gt;4.1 三者关联关系（必考）
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;对象模型&lt;/strong&gt; = 静态骨架&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;动态模型&lt;/strong&gt; = 在骨架上跑&amp;quot;时序&amp;quot;（对象 = 状态机主体）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;功能模型&lt;/strong&gt; = 在骨架上做&amp;quot;变换&amp;quot;
&lt;ul&gt;
&lt;li&gt;DFD 中的&lt;strong&gt;加工&lt;/strong&gt; ≈ 对象模型中&lt;strong&gt;类的方法&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;DFD 中的&lt;strong&gt;数据存储&lt;/strong&gt; ≈ 对象模型中&lt;strong&gt;类的属性&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;三者必须并建&lt;/strong&gt;，缺一不可&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="42-哪些用于需求分析"&gt;4.2 哪些用于需求分析？
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;功能模型&lt;/strong&gt;：需求分析&lt;strong&gt;最核心&lt;/strong&gt;（DFD 直接描述系统功能需求）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;对象模型&lt;/strong&gt;：用于需求分析（识别候选对象和类）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;动态模型&lt;/strong&gt;：用于系统分析阶段（控制流、状态转换），部分用例的动态行为也在需求分析中识别&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;结论&lt;/strong&gt;：&lt;strong&gt;功能模型主要用于需求分析&lt;/strong&gt;；对象模型和动态模型主要用于系统分析（OOA 阶段）。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="五2024-视角"&gt;五、2024+ 视角
&lt;/h2&gt;&lt;h3 id="51-自动化画图工具"&gt;5.1 自动化画图工具
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;工具&lt;/th&gt;
					&lt;th&gt;特点&lt;/th&gt;
					&lt;th&gt;适用&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;PlantUML&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;文本式画图，写代码生成 UML&lt;/td&gt;
					&lt;td&gt;程序员、技术评审&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Mermaid&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Markdown 友好，GitHub/Hugo 原生支持&lt;/td&gt;
					&lt;td&gt;文档嵌入&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Draw.io&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;图形化拖拽，免费&lt;/td&gt;
					&lt;td&gt;非程序员、白板&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Structurizr DSL&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;C4 模型首选&lt;/td&gt;
					&lt;td&gt;架构图&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Mermaid Live Editor&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;浏览器实时预览&lt;/td&gt;
					&lt;td&gt;快速原型&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="plantuml-画时序图示例"&gt;PlantUML 画时序图示例
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;@startuml
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;actor 患者
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;participant &amp;#34;预约界面&amp;#34; as UI
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;participant &amp;#34;数据库访问类&amp;#34; as DAO
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;database &amp;#34;医生列表&amp;#34; as DB1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;database &amp;#34;医生出诊时段表&amp;#34; as DB2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;患者 -&amp;gt; UI : 发起预约挂号请求
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;UI -&amp;gt; DAO : 获取医生信息
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;DAO -&amp;gt; DB1 : 加载医生信息
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;DB1 -&amp;gt; DB2 : 加载医生出诊时段
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;DB2 --&amp;gt; UI : 返回医生可预约时段
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;UI --&amp;gt; 患者 : 显示医生可预约时段
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;患者 -&amp;gt; UI : 选择医生/时间确认预约
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;UI -&amp;gt; DAO : 写入预约信息
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;DAO --&amp;gt; UI : 返回预约结果
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;UI --&amp;gt; 患者 : 显示预约结果
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;@enduml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id="mermaid-画时序图示例"&gt;Mermaid 画时序图示例
&lt;/h4&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;sequenceDiagram
 actor 患者
 患者-&gt;&gt;预约界面: 发起预约挂号请求
 预约界面-&gt;&gt;数据库访问类: 获取医生信息
 数据库访问类-&gt;&gt;医生列表: 加载医生信息
 医生列表-&gt;&gt;医生出诊时段表: 加载出诊时段
 医生出诊时段表--&gt;&gt;预约界面: 返回可预约时段
 预约界面--&gt;&gt;患者: 显示医生可预约时段
 患者-&gt;&gt;预约界面: 确认预约
 预约界面-&gt;&gt;数据库访问类: 写入预约信息
 数据库访问类--&gt;&gt;预约界面: 返回结果
 预约界面--&gt;&gt;患者: 显示预约结果&lt;/pre&gt;&lt;h3 id="52-uml-在云原生时代的变化"&gt;5.2 UML 在云原生时代的变化
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;C4 模型&lt;/strong&gt;（Simon Brown）逐渐取代传统 UML 4+1 视图——更贴近代码、易维护&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ADR（架构决策记录）&lt;/strong&gt; + &lt;strong&gt;Fitness Function&lt;/strong&gt;：UML 静态图 → 架构可执行验证&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;大模型生成 UML&lt;/strong&gt;：GPT-4 / Claude 直接从需求文档生成用例图、时序图&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;领域驱动设计（DDD）&lt;/strong&gt;：UML 类图 → 限界上下文、聚合根、领域事件&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Arc42 文档模板&lt;/strong&gt;：UML 图 + 架构决策 + 质量场景一体化&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="53-软考答题趋势"&gt;5.3 软考答题趋势
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;2024+ 软考更注重&lt;strong&gt;实战应用&lt;/strong&gt;——只背图元素不够，要会从需求中&amp;quot;识别&amp;quot;和&amp;quot;画图&amp;quot;&lt;/li&gt;
&lt;li&gt;题目经常给&lt;strong&gt;业务描述&lt;/strong&gt;，让你画 UML 图（不再只是填空）&lt;/li&gt;
&lt;li&gt;协作图考频下降（被时序图替代），但&lt;strong&gt;区别对比题&lt;/strong&gt;仍是送分题&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="六答题套路总结软考专用"&gt;六、答题套路总结（软考专用）
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;题型&lt;/th&gt;
					&lt;th&gt;套路&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;填参与者&lt;/td&gt;
					&lt;td&gt;看动作的&lt;strong&gt;发起方&lt;/strong&gt;（&amp;ldquo;谁登录/谁查询&amp;rdquo;）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;填用例&lt;/td&gt;
					&lt;td&gt;提取功能描述里的&lt;strong&gt;动词短语&lt;/strong&gt;（每个动词 = 一个用例）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;填对象&lt;/td&gt;
					&lt;td&gt;提取题干里的&lt;strong&gt;实体名词&lt;/strong&gt;（界面、类、表、控制器）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;填消息&lt;/td&gt;
					&lt;td&gt;提取&lt;strong&gt;动词&lt;/strong&gt;（&amp;ldquo;发起/加载/返回/传送&amp;rdquo;）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;区别对比题&lt;/td&gt;
					&lt;td&gt;答&amp;quot;强调重点 / 表示方法 / 布局 / 易读性&amp;quot; 4 个维度&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;三种模型题&lt;/td&gt;
					&lt;td&gt;答&amp;quot;关注点 / 主要元素 / 解决什么问题&amp;quot; 3 个维度 + &lt;strong&gt;关联关系&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="参考资料"&gt;参考资料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;2021 年下半年系统架构设计师考试真题（下午案例分析 试题二）&lt;/li&gt;
&lt;li&gt;《系统架构设计师教程》第 7 章 软件工程&lt;/li&gt;
&lt;li&gt;UML 2.5 规范（OMG 官方）&lt;/li&gt;
&lt;li&gt;《UML 用户指南》Grady Booch、James Rumbaugh、Ivar Jacobson&lt;/li&gt;
&lt;li&gt;《PlantUML 官方文档》https://plantuml.com/&lt;/li&gt;
&lt;li&gt;《Mermaid 官方文档》https://mermaid.js.org/&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>