前言: 什麼是 UML
UML == ‘Unified Modeling Language’ == ‘統一塑模語言’
它是一種標準化的標記語言
使開發者在對其他部門說明軟體系統時能更具體
並以視覺化的方式來建構流程
同時將這個流程給文件化
相較於常見的流程圖
UML 可能會會更有助於工程師與其他部門協助 (如 UI/UX)
不過
還是得視情況決定什麼圖表最適合
以我的經驗來說
如果某一個功能牽涉的範圍或部門較廣
使用 UML 可能就是一個比較合適的方式
另外
UML 又有很多種不一樣的類型
以下將以循序圖 (Sequence Diagrams) 做說明
流程圖 vs 循序圖
流程圖
這是個很常見流程圖
若沒有發生跨部門、跨類別處理的話還滿簡明的
但若遇到的狀況是比較複雜
須要串接到各個模組的話
e.g., 某註冊流程要驗證帳密、要串第三方 API、要連動 EMAIL 系統
那可能就比較不容易使用流程程圖來區分各個模組負責的東西
這時我們就可以出動循序圖了
循序圖
—
角色
下圖分成 4個角色
分別是
- 前端 front-end
- server API
- 第三方登入 API
- 第三方發信 API
片段型態
常見的有
- alt (Alternatives) : 任何情況只有一個序列發生,是互斥的條件
- par (Parallel) : 平行處理,片段中的事件可以交錯執行
- opt (Option) : 選擇項,不一定會發生的序列(要符合條件)
- loop : 重複片段。可以設立重複的條件,若未設定最小級最大重複次數,預設表示無限制
- ref (Reference) : 表示參考另一個互動循序圖
下圖只有用到 opt
其他可以參考這篇文章
如此以來
我們就可以很清楚知道4個角色之間的權責是什麼
以及其流程中發生了什麼事
同時
和 UIUX 溝通的時候
也可以較清楚知道 UIUX 設定的流程和軟體設定端這邊的是否一致
真的皆大歡喜啊 (應該吧)
參考
wiki: https://zh.wikipedia.org/wiki/%E7%BB%9F%E4%B8%80%E5%BB%BA%E6%A8%A1%E8%AF%AD%E8%A8%80
文章: https://dotblogs.com.tw/wasichris/2016/03/17/232341
畫圖的網站: https://online.visual-paradigm.com/