統一塑模語言(Unified Modeling Language, UML)是一種將軟體的各個元件、模組、機能串接在一起,變成一幅完整運作流程的視覺化內容;而UML有各式各樣的模組、分歧點、條件式、箭頭等圖形,可以讓軟體開發人員按部就班了解每個環節的運作流程,奠定開發、維運、問題排除的基本功。
現在隨著生成式人工智慧(Generative AI)的流行,AI也可用於UML的繪製上,就像AI生成圖畫那樣,以下達提示詞(Prompt)的方式,在很短的時間內產出內容完整且有一定準確度的UML圖形;在敏捷開發和DevOps的領域中,AI不但能自動撰寫程式碼,還能自動產生UML流程圖,讓開發和維運團隊能一目了然掌握軟體運作流程,實現奠定基本功、站穩馬步之功效。
技術發展背景
UML能以圖像化的方式,描述軟體運作開始到結束的所有流程,例如軟體運作時會用到哪些元件、各別功能運作時的條件式,以及軟體運作邏輯的走向;完整的UML流程圖可以進行機能錯誤/未滿足條件的走向推演,並視情況調整軟體模組機能、串接和走向,以預防錯誤發生,省下後續補救時間和成本。
另外,生成式AI藉由即時偵錯和自動修正原始碼的特性,獲得敏捷團隊、DevOps團隊的注目,希望能模仿ChatGPT/Copilot能以下達Prompt自動產生原始碼的方式,來自動產生UML架構和流程圖,以省下絞盡腦汁的漫長時間,同時預防大部分的人為失誤,讓軟體跑得又快又準確。
技術介紹與應用現況
在ChatGPT剛問世的時候,就已經有人嘗試對ChatGPT輸入Prompt來產生UML圖形,再加上最早期的ChatGPT僅支援文字輸出功能,因此ChatGPT則以符號、表格等方式來呈現類似於UML的介面。

圖 1 以ChatGPT初步產生的銀行業務系統UML圖形
資料來源: Cámara, Troya, Burgueño, & Vallecillo, 2023
後來有研究團隊發現可以利用開源UML工具「PlantUML」來繪製UML圖形,該團隊先在ChatGPT用一段Prompt開立需求,轉譯為PlantUML的格式和指令,再將ChatGPT產出的PlantUML指令,匯入PlantUML程式並繪製為UML圖形 (Cámara, Troya, Burgueño, & Vallecillo, 2023)。

圖 2 以ChatGPT Prompt轉譯出PlantUML指令,再繪製為UML圖形
資料來源: Cámara, Troya, Burgueño, & Vallecillo, 2023
現在坊間也出現輸入Prompt直接產出UML圖形的服務,例如Miro、DiagrammingAI等,除了可以直接用Prompt來描述製圖架構和運作流程,省下調校、轉譯等工程;部分AI UML繪製工具甚至提供商業化的收費模式以及進階功能,例如可多人協作共編UML,更進一步將敏捷開發、DevOps應用在UML製圖,藉由團隊成員集思廣益,建立更完整的軟體開發藍圖和流程。

圖 3 AI生成UML圖形服務:Miro
資料來源:https://miro.com/ai/uml-diagram-ai/

圖 4 AI生成UML圖形服務:DiagrammingAI
資料來源:https://diagrammingai.com
未來展望/挑戰
在AI的輔助下,軟體開發團隊在繪製UML架構和流程不再像以前那樣複雜,並且AI具有一目十行的強大理解和轉譯能力,除了自動繪製UML以外,也能在執行UML流程時,與軟體實際運作進行同步驗證,並且AI能依據驗證結果,除自動調校原始碼以外,也能同步調整UML各模組機能和運作邏輯。
未來隨著CI/CD(持續整合暨持續交付)、RPA(機器人流程自動化)、Pipeline(部署管線)等AI運用更為廣泛,以AI繪製的UML可望發展出自我調整的能力,並在瞬息萬變的軟體開發趨勢中,有條不紊、因勢利導,讓軟體開發品質和安全性漸趨穩定、流暢,滿足開發維運團隊和使用者的需求與期待。
封面圖片來源:123RF
參考資料來源:
- Cámara, J., Troya, J., Burgueño, L., & Vallecillo, A. (2023, May 22). On the assessment of generative AI in modeling tasks: an experience report with ChatGPT and UML. (B. Rumpe, J. Gray, & B. Combemale, Eds.) Software Systems and Modeling, 22(3), pp. 781-793. doi:10.1007/s10270-023-01105-5
- Makwana, D. (2024, April 7). Create UML Diagrams With Chat GPT. Retrieved from Medium: https://medium.com/@dakshmakwana2146/create-uml-diagrams-with-chat-gpt-03d40b265cf4
- Ridder, L. d. (2023, April 17). Generating PlantUML Diagrams with ChatGPT. Retrieved from Medium: https://medium.com/@Empanado/generating-plantuml-diagrams-with-chatgpt-7905a34b6c14
- (2024, September 3). Diagram as Code - Use AI to generate UML Diagrams. Retrieved from Topview: https://www.topview.ai/blog/detail/diagram-as-code-use-ai-to-generate-uml-diagrams