搜 索

如何使用axure绘制uml图(初级)

  • 353阅读
  • 2022年10月23日
  • 0评论
首页 / 编程 / 正文

前言

画UML常用的软件有:Visual Paradigm(社区版)、PlantUML(代码绘图)、draw.io(开源)、ProcessOn(在线绘图)。笔者这几种平时都会用,但是有时候会对美观度有更高点的要求,而Axure作为产品原型图设计工具,比较契合我的要求。

说白了就是:我既要专业,又要好看,还要能装

PlantUML用代码画图是很geek,但给领导汇报的时候说"您看我这代码写得多漂亮",领导只会觉得你在说相声。draw.io功能强大,但默认样式总给人一种"这图是1998年画的"的感觉。ProcessOn在线协作很方便,但免费版的水印让你的架构图看起来像盗版。

所以,Axure——一个被产品经理用来画原型的工具,被我这个架构师拿来画UML图,属于是降维打击了。

什么是UML

UML(Unified Modeling Language,统一建模语言)是软件工程领域的"普通话"。就像普通话让东北人和广东人能够互相理解一样,UML让程序员和产品经理能够互相甩锅。

UML诞生于上世纪90年代,由三位大佬(Grady Booch、James Rumbaugh、Ivar Jacobson)联手打造,人称"三剑客"。他们把各自的建模方法融合在一起,创造了这套图形化语言。

UML的核心思想:与其用一万字描述一个系统,不如画一张图让大家都看不懂。

开个玩笑。UML的真正价值在于:

  • 可视化:把抽象的系统设计变成直观的图形
  • 标准化:大家用同一套符号,减少沟通成本
  • 文档化:比纯文字更容易维护和理解

UML图的分类

UML 2.0定义了14种图,但日常工作中常用的大概就那么几种。我把它们分成两大类:

结构图(静态图)

描述系统"是什么",就像给系统拍X光片:

图类型用途使用频率
类图(Class Diagram)描述类的结构和关系⭐⭐⭐⭐⭐
组件图(Component Diagram)描述系统的物理组件⭐⭐⭐
部署图(Deployment Diagram)描述系统的部署架构⭐⭐⭐
对象图(Object Diagram)类图的实例化版本⭐⭐
包图(Package Diagram)描述包之间的依赖⭐⭐

行为图(动态图)

描述系统"做什么",就像给系统录视频:

图类型用途使用频率
用例图(Use Case Diagram)描述系统功能和用户交互⭐⭐⭐⭐⭐
时序图(Sequence Diagram)描述对象之间的交互顺序⭐⭐⭐⭐⭐
活动图(Activity Diagram)描述业务流程或算法⭐⭐⭐⭐
状态图(State Diagram)描述对象的状态变化⭐⭐⭐
笔者建议:作为初学者,先掌握用例图、类图、时序图、活动图这四种就够用了,能覆盖80%的场景。剩下的等你被领导逼急了再学。

为什么用Axure画UML

在正式开始之前,让我解释一下为什么一个画原型的工具能用来画UML:

1. 元件库可扩展

Axure支持导入自定义元件库(.rplib文件),网上有大量现成的UML元件库可以白嫖。导入之后,画UML图就像搭积木一样简单。

2. 样式控制精细

Axure对颜色、字体、阴影、圆角的控制非常细腻。想让你的类图看起来像苹果的设计规范?没问题。想让时序图带点赛博朋克风?也行。

3. 交互能力强

这是Axure的杀手锏。你可以给UML图加上交互效果,比如点击某个类跳转到详细设计页面,鼠标悬停显示注释说明。汇报的时候,领导会觉得你不是在画图,而是在做艺术。

4. 一专多能

既然你已经用Axure画原型了,顺手画个UML图也不用切换软件,文件管理更方便。

Axure绘制UML实战

准备工作

Step 1:下载UML元件库

推荐几个免费的Axure UML元件库:

  • Axure官方元件库(内置,基础够用)
  • GitHub上搜索"Axure UML Library"
  • 一些设计网站如UI中国、站酷上也有分享

Step 2:导入元件库

打开Axure,在左侧"元件库"面板中:

  1. 点击"☰"菜单按钮
  2. 选择"载入元件库"
  3. 选择下载的.rplib文件

导入成功后,你就能在元件库中看到各种UML符号了。

绘制用例图

用例图是最简单的UML图,适合新手入门。

元素说明

  • 小人(Actor):代表系统的用户或外部系统
  • 椭圆(Use Case):代表系统的功能
  • 方框(System Boundary):代表系统的边界
  • 线条:代表关联关系

绘制步骤

1. 拖入一个矩形作为系统边界,设置为虚线边框
2. 在矩形顶部添加文字,写上系统名称
3. 拖入小人符号放在边界外侧
4. 拖入椭圆放在边界内,填写用例名称
5. 用连接线把小人和椭圆连起来

美化技巧

  • 小人可以用Axure的图标元件替代,显得更现代
  • 椭圆内的文字建议用"动词+名词"格式,如"提交订单"
  • 相关的用例放在一起,保持视觉平衡

绘制类图

类图是程序员最常用的UML图,也是最考验Axure功底的。

类的表示

一个标准的类用三层矩形表示:

┌─────────────────────┐
│     <<interface>>   │  ← 构造型(可选)
│        Animal       │  ← 类名
├─────────────────────┤
│  - name: String     │  ← 属性
│  - age: int         │
├─────────────────────┤
│  + eat(): void      │  ← 方法
│  + sleep(): void    │
└─────────────────────┘

可见性符号

  • + 公有(public)
  • - 私有(private)
  • # 保护(protected)
  • ~ 包内可见(package)

Axure绘制方法

  1. 拖入一个矩形,调整大小
  2. 右键选择"转换为动态面板"(方便复用)
  3. 添加两条水平线,把矩形分成三部分
  4. 在各部分添加文字

类之间的关系

这是类图的精髓,也是最容易画错的地方:

关系线条样式箭头含义示例
继承实线空心三角is-a猫 → 动物
实现虚线空心三角implements类 → 接口
关联实线普通箭头has-a订单 → 商品
依赖虚线普通箭头use类A用到类B
聚合实线空心菱形弱拥有班级 ◇→ 学生
组合实线实心菱形强拥有人 ◆→ 心脏
记忆口诀:空心可分离,实心不能分。学生可以离开班级,心脏不能离开人体。

绘制时序图

时序图用来描述对象之间的交互顺序,在做接口设计和系统联调时特别有用。

元素说明

  • 参与者(Participant):顶部的方框或小人
  • 生命线(Lifeline):从参与者向下延伸的虚线
  • 消息(Message):参与者之间的交互
  • 激活框(Activation):生命线上的窄矩形,表示对象正在执行

消息类型

  • 同步消息:实线实心箭头 →
  • 异步消息:实线开放箭头 →
  • 返回消息:虚线开放箭头 ←--

绘制步骤

1. 在顶部横向排列参与者(方框+名称)
2. 从每个参与者下方画一条虚线(生命线)
3. 用横向箭头表示消息传递
4. 在箭头上方标注消息内容
5. 在接收方生命线上画激活框

美化技巧

  • 消息命名用"动词"或"动词+名词",如"查询用户"
  • 复杂的交互可以用"分组框"框起来,标注循环或条件
  • 返回值用虚线箭头,放在调用箭头下方

绘制活动图

活动图类似于流程图,用来描述业务流程或算法逻辑。

元素说明

  • 实心圆:开始节点
  • 圆环套实心圆:结束节点
  • 圆角矩形:活动(动作)
  • 菱形:判断节点
  • 粗横线:分叉/汇合(并行处理)

泳道(Swimlane)

活动图可以用泳道来区分不同的角色或系统:

┌─────────────┬─────────────┬─────────────┐
│    用户     │    系统     │   第三方    │
├─────────────┼─────────────┼─────────────┤
│             │             │             │
│  [提交订单] │             │             │
│      │      │             │             │
│      ├──────┼→ [校验库存] │             │
│             │      │      │             │
│             │      ├──────┼→ [调用支付] │
│             │             │             │
└─────────────┴─────────────┴─────────────┘

Axure绘制方法

  1. 用矩形画出泳道边界
  2. 在泳道顶部标注角色名称
  3. 在泳道内拖入活动元件
  4. 用连接线把活动串起来
  5. 添加判断节点和条件标注

实用技巧总结

1. 善用母版(Master)

把常用的元素做成母版,比如:

  • 标准类图模板
  • 时序图参与者模板
  • 通用图例说明

这样画图效率能提升50%。

2. 建立样式规范

给不同类型的元素定义统一的样式:

  • 接口类用蓝色
  • 实体类用绿色
  • 工具类用灰色

既美观又专业。

3. 利用网格和对齐

打开Axure的网格显示,设置合适的间距。画完后用"对齐"和"分布"功能,让图形整整齐齐。

强迫症福音。

4. 添加图例

在图的角落加上图例说明,解释各种符号和颜色的含义。别人看你的图不用猜。

5. 版本管理

UML图也是代码的一部分,建议:

  • 文件名带上版本号,如订单系统类图_v1.2.rp
  • 在图上标注"最后更新日期"
  • 重大改动另存为新版本

写在最后

坦白说,用Axure画UML图属于"非主流"操作。在正经的软件工程项目中,用专业的UML工具(如Enterprise Architect、Visual Paradigm)会更规范、更有保障。

但如果你和我一样:

  • 不想为画几张图多装一个软件
  • 对图的颜值有执念
  • 已经在用Axure了

那么,Axure是一个值得尝试的选择。

毕竟,工具服务于目的。能把事情说清楚的图,就是好图。


作者碎碎念

写这篇文章的时候,我回想起刚入行时画的第一张UML图。那是一张类图,用Word的自选图形画的,箭头歪歪扭扭,方框大小不一,被技术总监说"这是什么抽象派艺术"。

十年过去了,我用过的UML工具换了一茬又一茬,但有一点始终没变——画图的目的是沟通,不是炫技

希望这篇文章对你有帮助。如果你画出了好看的UML图,欢迎分享出来让我学习学习。

评论区
暂无评论
avatar