為什麼軟件行業對 UML 圖愛恨交加
已發表: 2017-05-19UML 是一種通用的可視化語言,用於對軟件系統進行建模。 軟件行業對 UML 圖的使用意見不一。 雖然有些人認為它是軟件系統和開發的一個組成部分,但也有相當多的人認為它完全沒有必要。
在這篇文章中,我們探討了這個論點的兩個方面(UML 的優點和缺點),並試圖了解軟件行業與 UML 設計圖的愛恨交織關係。
UML 的優點
最常用和靈活
UML 是一個高度認可和理解的軟件設計平台。 它是軟件開發人員之間的標準符號。 您可以放心地假設大多數軟件專業人士至少會熟悉(即使不是精通)UML 圖,從而使其成為解釋軟件設計模型的首選替代方案。
使 UML 非常適合和非常需要軟件開發的原因在於它的靈活性。 您可以在 UML 圖中自定義建模元素和交互,以適應您正在使用的領域或技術。
軟件架構必須有效溝通
軟件架構是系統的藍圖。 它是系統及其流程的效率所依賴的框架。 但是,這個框架只有在正確地傳達給所有使用它和工作的人時才有效。 這就是統一建模語言 (UML) 發揮作用的地方。
UML 是一種豐富而廣泛的語言,不僅可用於建模面向對象的軟件工程,還可用於建模應用程序結構和行為以及業務流程。 軟件玩家已經同意我們不能取消架構文檔。 這很重要。 它有助於評估性能、安全性、跟踪,並為正在運行的任務提供重要的指導方針。
由於其廣泛的範圍,UML 是一種完美的視覺語言,可以將有關架構的詳細信息傳達給最多的用戶。
你只需要知道語言的一部分就可以使用它
儘管有 14 種不同類型的 UML 圖用於建模應用程序,但開發人員只使用三到四種來記錄軟件系統。 類圖、序列圖和用例圖仍然是最流行的。
這意味著您只需要了解 20% 的 UML 語言即可解釋 80% 的建模需求。 您無需了解或理解整個符號,即可使用 UML 圖進行有效溝通。 知道符號的一個子集就可以很好地裝備你。
豐富的 UML 工具
UML 工具是 UML 得到如此廣泛使用的最重要原因之一。 UML 工具的範圍從免費的開源軟件到價值數百萬美元的軟件。 這些工具涵蓋了許多領域,而不僅僅是繪製圖表。 他們可以從設計中生成代碼、應用設計模式、挖掘需求、逆向工程代碼,並執行影響和復雜性分析。
這些優勢和豐富的 UML 工具本身使 UML 成為軟件工程領域的首選建模和開發語言。
儘管 UML 有無數的用途和好處,但並不是所有人都喜歡 UML。 事實上,相當一部分軟件開發者,對不使用UML 和堆重批評是一樣的。 讓我們看看反對使用 UML 的論點。
UML 的缺點:針對 UML 的推理
不需要正式的符號
反對 UML 的最有力論據是,您實際上並不需要 UML 圖來傳達您的設計。 您可以使用在 PowerPoint、Visio 或白板中創建的非正式的框線圖產生相同的影響和效果。 由於編碼本身就是一種形式語言,許多開發人員不喜歡架構級別的複雜性和形式性,這不鼓勵使用 UML,並已成為其缺點之一。
複雜度遞增
從開始到現在,UML 的複雜性和規模都在增長。 UML 的龐大規模讓很多人一開始就緊張,他們覺得自己無法學習它,沒有它會更好。
在“建築無關設計”中不是必需的
George Fairbanks 創造了一個術語,“架構無關設計”是一種認為不需要 UML 的情況。
架構無關設計的核心是簡單和基本的軟件架構,不需要任何復雜的圖表來表示或解釋設計。 如果公司更重視形式編碼,並且存在一種流行的最少設計文檔文化,那麼 UML 被認為是不必要的。
解讀這種愛恨交織的關係:
雖然在軟件行業中有很多關於 UML 冗餘的討論,但不可否認的是,迄今為止,還沒有 UML 的整體或適當的替代品。 為了對 UML 的重要性和命運有一個公正的看法,我們採訪了與軟件行業密切聯繫但觀點中立的硬件巨頭。
“沒有設計文檔在短期內很好,但從長遠來看,當您需要將設計傳達給另一個國家的開發人員或六個月後將加入團隊的人時,這可能會成為一個問題. 在這種情況下,UML 成為一個巨大的幫助,並減輕了設計的歧義和問題。” Sconect, Female Header Manufacturer 的代表認為。
“我們可能會討論用於視覺建模的特定領域語言,但事實仍然是它們都沒有被廣泛接受,這只能斷言 UML 仍然是視覺語言方面的最佳替代方案。” Scondar 的一位代表非常有趣地提出了這一觀察結果,該公司專門製造排針連接器。
來自 Ismolex 代表的意見恰當地總結了軟件行業對 UML 設計圖的愛恨交織的案例。 “可能有一千種反對使用 UML 的論據,但由於它能夠捕捉有關設計架構信息的細微差別,並且隨著設計文檔的重要性日益增加,UML 仍然是不可替代的。”
UML 的優缺點:你站在哪一邊?
否認和堅持 UML 圖將在軟件界繼續存在。 但是,UML 將繼續存在。 然而,UML 圖需要不斷升級,以便它們的使用不僅限於架構描述和通信,而是擴展到表示和創建可以適應動態變化的系統。
關於作者
我是 Rachel Oliver,過去幾年我一直是一名自由撰稿人,目前與 Ismolex – Pin header 製造商有聯繫。 雖然我喜歡寫陽光下的所有事物,包括能源、商業、體育、家居裝修和時尚,但我對商業、技術和電子產品尤其充滿熱情。 您可以通過 Google+、Facebook 和 Twitter 與我聯繫。