UML-架构图入门介绍 starUML
2017年1月2日大约 9 分钟
UML
统一建模语言(UML)是一种标准的建模语言,用于可视化、指定、构造和文档化软件系统的各个方面。
常见的图
用例图(UseCase)
使用ASCII字符画出用例图是一种简单的方式来表示系统的功能需求和用户交互。
下面是一个简单的用例图示例,它展示了一个在线图书馆系统的几个关键用例:
+-------------------+ +------------------------+
| 用户 (User) | | 在线图书馆系统 |
| | | (Online Library System)|
+-------------------+ +------------------------+
| 搜索图书 | | 登录系统 |
|---------------->| || || || || | | 选择商品 (Select) |
+-------------------+ +-------------------+
| |
V V
+-------------------+ +-------------------+
| 登录账户 (Login) | | 添加到购物车 (Add) |
+-------------------+ +-------------------+
| |
V V
+-------------------+ +-------------------+
| 确认订单 (Confirm)| --> | 选择支付方式 (Pay) |
+-------------------+ +-------------------+
| |
+------------+------------+
|
V
+-------------------+
| 订单完成 (Order Complete) |
+-------------------+
在这个例子中:
流程开始于“开始”节点,表示购物流程的启动。
用户首先需要“选择商品”,然后可以选择“登录账户”以便进行后续操作。
登录后,用户可以选择“添加到购物车”商品,或者直接“确认订单”。
在“确认订单”节点,用户需要选择一种“支付方式”来完成支付。
支付完成后,流程到达“订单完成”节点,表示购物流程结束。
活动图使用不同的形状来表示不同类型的节点:
圆角矩形(如“选择商品”、“登录账户”等)表示活动的执行。
箭头表示流程的流向。
菱形(如“确认订单”)表示决策节点,通常包含条件逻辑。
并行条(在本例中未展示)表示活动可以同时进行。
结束节点(如“订单完成”)表示流程的结束。
序列图(Sequence)
它展示了一个简单的客户端-服务器通信场景:
+----------------+ +----------------+ +---------------+
| 客户端 (Client) | --> | 服务器 (Server) | --> | 数据库 (DB) |
+----------------+ +----------------+ +---------------+
| 请求数据 | | |
|----------------->| 处理请求 | |
| || 查询数据 |
| | |
下载->定义:
定义->使用:
js-sequence-diagrams 能够帮助你将文本转换成UML序列图。
而 flowchart 则是另一个工具。
下载
js-sequence-diagrams
依赖于 Raphaël 和 Underscore.js。定义
标题: UML 测试 A->B: 正常线条 B-->C: 虚线 C->>D: 开放箭头 D-->>A: 虚线开放箭头
使用
- 导入js文件
- 在jQuery中定义这个:
$("UML, uml").sequenceDiagram({theme: 'hand'});
然后你可以看到:
标题: UML 测试 A->B: 正常线条 B-->C: 虚线 C->>D: 开放箭头 D-->>A: 虚线开放箭头
贡献者
binbin.hou