UML 可以隨心所欲地使用。 Martin Fowler 描述了人們傾向於使用 UML 的三種常見方式:
- UML as a sketch — 使用 UML 製作簡短的草圖以傳達關鍵點。這些是一次性草圖,它們可以寫在白板上,甚至可以在緊縮時寫在啤酒杯墊上。在開發的早期階段,使用 UML 作為草圖非常有效,可以用作開發人員可以就係統設計進行頭腦風暴的協作工具。
- UML 作為藍圖 ——使用 UML 圖提供系統的詳細規範。這些圖表不是一次性的,而是使用 UML 工俱生成的。UML 可以作為藍圖,開發人員可以按照它來生成代碼。使用簡單的草圖對他們來說是不夠的,因為這需要他們填寫空白。這種方法通常與軟件系統相關聯,通常涉及使用正向和反向工程來保持模型與代碼同步。
- UML 作為一種編程語言 ——這直接從 UML 模型到可執行代碼(不僅僅是與正向工程一樣的部分代碼),這意味著系統的每個方面都被建模。從理論上講,您可以無限期地保留您的模型,並使用轉換和代碼生成來部署到不同的環境。Fowler 認為,UML 作為一種編程語言在今天的生產力並不比使用任何其他語言的生產力好,因此 UML 很難成為主流。他還認為,高度詳細的藍圖是無效的,因為它們很難做到,而且會減慢開發速度。
概括
使用的方法取決於您正在構建的應用程序的類型、設計審查的嚴格程度、您是否正在開發軟件系統,以及,如果是軟件,您正在使用的軟件開發過程。
在某些行業,例如醫療和國防,軟件項目傾向於將 UML 作為藍圖,因為需要高質量。軟件設計經過大量審查,因為它可能是關鍵任務:您不希望您的心臟監護儀突然顯示“藍屏死機”。
一些項目可以通過較少的建模而僥倖成功。事實上,一些商業行業發現過多的建模很麻煩,並且會降低生產力。對於此類項目,使用 UML 作為草圖並讓您的模型包含一些架構圖和一些類圖和序列圖來說明關鍵點是有意義的。
推薦的 UML 參考