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)是软件测试的核心环节,目标是用最少的用例覆盖最多的代码路径、需求点和风险点

相关推荐
rolt6 天前
[pdf]406页《分析模式》漫谈文集202606更新
ddd·架构师·uml·领域驱动设计
rolt7 天前
EA17.1和PlantUML操作 -202606更新《软件方法》第3章
产品经理·架构师·uml
小bo波9 天前
形式化方法 × UML
java·软件工程·uml·面向对象·形式化方法·tla+
lsyeei9 天前
UML 状态机图
软件工程·uml
Warren2Lynch9 天前
破局“伪敏捷”:UML诊断视角下的微服务转型与架构重构——以EcoStream为例
微服务·架构·uml
rolt9 天前
[pdf]《软件方法》全流程引领AI-电子书共560页202606更新
产品经理·架构师·uml
rolt10 天前
[pdf、epub]370道《软件方法》强化自测题业务建模需求分析共310页(202606更新)
产品经理·架构师·uml
lipengxs10 天前
PlantUML、Mermaid、SQL ER、OpenAPI 在线预览工具整理
ai·编辑器·流程图·uml
lsyeei13 天前
UML建模在软件生命周期中的应用
软件工程·uml
艾利克斯冰14 天前
Java设计模式详解-七大设计原则(持续更新中)
设计模式·uml·开闭原则