UML画图技巧

1.类图

属性:

类之间的关系:

关联关系:两个类之间没有依赖关系

聚合:用于说明整体和部分的关系

组合:部分不能存在于整体之外

2.时序图

时序图可直观显示出系统内外交互的过程

生命线:生命线是一条虚线,生命线从上往下表示时间顺序的先后

参与者是一个小人图标,对象是矩形

虚线表示返回消息,或从接收对象返回到请求对象的消息

请求消息用实线表示

激活框:激活框显示对象执行期间的时间

参与者是外部对象不需要激活框

3.流程图

开始/结束 椭圆

操作处理 矩形

条件判断 菱形

数据输入/输出 平行四边形

4.系统架构图

系统架构图(System Architecture Diagram)是软件系统设计的"蓝图",用来展示系统的整体结构、组件关系、数据流、部署方式等。它不是代码级细节,而是高层视图,帮助团队沟通、评审和文档化。

常见类型与画法步骤
  1. 准备阶段

    • 明确目的:是整体概览、微服务结构、部署视图,还是数据流?
    • 收集信息:组件(模块、服务、数据库)、交互(API、消息队列)、边界(外部系统、用户)。
    • 选择标准:推荐 C4 Model(Context 系统上下文、Containers 容器、Components 组件、Code 代码级),最实用、分层清晰。
  2. 画图步骤

    • 用矩形/圆形表示组件(方框:服务/模块;圆筒:数据库;云形:外部系统)。
    • 用箭头表示交互(实线:同步调用;虚线:异步消息;带标签:协议如HTTP/gRPC/DDS)。
    • 分层布局:从上到下(用户 → 前端 → 后端 → 数据库),或左右分域。
    • 加标注:版本、QoS、负载、瓶颈点。
    • 保持简洁:一张图不超过15-20个元素,避免太复杂。
  3. 功能需求与实现的最大区别

功能需求描述"系统要做什么"(What),实现描述"系统怎么做"(How)。

功能需求是从用户/系统视角看的外部行为,必须可验证、可测试,不涉及内部技术细节。 实现(设计/代码)是开发人员内部视角,涉及具体算法、框架、协议等。

功能需求与功能安全需求的区别

功能安全需求例子:

  1. 用例设计怎么设计(Test Case Design)

用例设计(Test Case Design)是软件测试的核心环节,目标是用最少的用例覆盖最多的代码路径、需求点和风险点

相关推荐
KobeSacre13 小时前
UML 学习
学习·uml
hssfscv3 天前
软件设计师2021上、下上午题错题解析+2022上、下下午题训练5道 练习真题训练16
笔记·设计模式·uml
_codemonster4 天前
UML静态图之构件图(也叫组件图)详解
uml
_codemonster8 天前
UML静态图之类图详解
uml
深念Y8 天前
我在 Trae 里用 UML-mcp-renderer 画图,发现了 MCP 跟 CLI+Skills 的区别
agent·uml·cli·幻觉·mcp·trae·skills
hssfscv9 天前
软件设计师下午题训练1-3题+2019上上午题错题解析 练习真题训练13
笔记·设计模式·uml
今儿敲了吗12 天前
面向对象(二)——UML基础
笔记·uml
程序猿多布15 天前
UML 类图
uml
Wyc7240916 天前
UML建模
uml·个人学习
rolt16 天前
[答疑]把缺省伪状态和历史伪状态合并可行吗
软件工程·架构师·uml