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

相关推荐
rolt4 天前
利用AI识别损毁程度是愿景吗《软件方法》第2章
产品经理·需求分析·uml
rolt4 天前
[pdf]《软件方法》全流程引领AI-电子书共435页202601更新
产品经理·ddd·架构师·uml·领域驱动设计
:mnong4 天前
跟着《软件需求分析和设计实践指南》成长
学习·需求分析·uml·软件需求
JaredYe5 天前
node-plantuml-2:革命性的纯Node.js PlantUML渲染器,告别Java依赖!
java·开发语言·node.js·uml·plantuml·jre
LDtPLYZgoAu6 天前
在LABVIEW中调用Bartender API子程序:探索自动化标签打印新旅程
uml
Warren2Lynch8 天前
利用 AI 协作优化软件更新逻辑:构建清晰的 UML 顺序图指南
人工智能·uml
rolt11 天前
软件需求设计方法学全程实例剖析幻灯片04-系统用例图和用例规约[202601更新]
产品经理·需求分析·uml
workflower15 天前
和测试角色相关的问题
软件工程·软件构建·开源软件·uml·软件需求
rolt16 天前
软件需求设计方法学全程实例剖析幻灯片02-愿景[202512更新]
产品经理·需求分析·架构师·uml
rolt16 天前
软件需求设计方法学全程实例剖析幻灯片03-业务用例图和业务序列图[202601更新]
产品经理·需求分析·uml