UML簡介(原創)

2022-03-09 09:21:43 字數 1595 閱讀 6206

臭雞蛋什麼的等下再扔,uml是個很大的主題,輪不到我來做什麼總結,只是談談我的觀點

軟體工程領域在2023年至2023年取得了前所未有的進展,其成果超過軟體工程領域過去15年來的成就總和。其中最重要的、具有劃時代重大意義的成果之一就是統一建模語言(uml:unified modeling language)的出現。(書上說的)

它對軟體工業產生和將要產生什麼樣的影響呢?

規範化了軟體設計規則

我始終認為,軟體工業是與傳統工業具有共同特徵的工業,注意:僅僅是工業而已,並不是像一些人叫囂的「軟體設計是科學」、「軟體設計是藝術」。軟體——就是設計來滿足某種特定需要的工業產品,從這個角度來看,軟體與錄音機、水杯子並沒有什麼區別。

那究竟是什麼讓軟體工業、軟體工程如此之難又如此具有魅力呢?關鍵是軟體設計的創造性和複雜性。我們仍然熱衷於軟體工程和軟體設計的探索,很大程度上是因為它的複雜性和不確定性。換句話說,由於軟體工業發展時間短、本身的邏輯體系比較複雜,以致於到目前為止,還沒有任何人或者任何技術能夠完整的歸納軟體設計的體系。舉個例子,大家有沒有想過在化工領域,幾十年以前,人們對分子結構、分子式表達都沒有概念時,化學工業是個什麼樣子呢?不確定、依靠大量實驗總結規律、複雜,難以解釋的現象一定不比現在的軟體工業問題少。

所以說,uml是軟體工業的一項革命性的探索和嘗試,它的設計理念並不新鮮,無非就是分子式之於化工、機械製圖於機械設計製造。它給軟體工業帶來的,是一門共同語言,形成基本的可相互理解的語言平台。

使得團隊間溝通更加順暢

軟體團隊最主要的工作和問題是什麼?相信不論是老教授、軟體個體戶還是上百人的大開發團隊都有乙個共識——交流。然而在過往的經歷中,我們付出了太多的溝通代價,許多簡單的問題,卻要花費大量的精力來溝通以達成一致。

uml的出現,使得很多複雜設計可以用快速的圖示方法表現出來,形成可以「觀賞」的設計圖稿。要知道,人對於具象影像的理解和記憶能力,要遠遠大於抽象的文字元號和語義。

加快了設計模式、最佳實踐的推廣和普及

軟體開發,**重用是基本,也是每個程式設計師都必須掌握的技能,那軟體設計呢?概念重用,最大限度的重用現有設計概念,也會大大簡化和加快設計的進度。design pattern大家都聽說過了吧,大量的設計模式和最佳實踐可以被反覆重用,極大的提高設計的質量和效率。

如果沒有uml,

首先,pattern是什麼,恐怕就會難到一大片設計員了。記得第一次看design pattern的時候,乙個字——暈,很多概念非常難以理解(天資魯頓,又沒文化

),uml表現的pattern,相對就簡單多了,也更容易為軟體設計人員所接受了。

其次,任何時候,設計師只要想利用原有模式或者創造新的模式,只需要簡單的勾劃uml草圖,這較之偽**要高效的多了。其他參與人員也非常容易利用uml設計圖紙,理解設計師的概念。

另外,xp軟體工程所倡導的refactor(重構),需要對設計進行經常性的迭代式更新,uml的設計圖紙會使得這類設計變更更加容易實現。

提高了軟體的設計質量

有了這樣的統一設計工具之後,才能夠真正談得上設計軟體,否則,恐怕只能叫做「編」軟體,編到**就算**,誰也不知道軟體最終是個啥樣。

結合xp工程的test driven(測試驅動)模式,在軟體設計階段就結合需求,設計軟體的測試用例**。這是對測試的深刻理解,是降低測試代價最佳方案,當然,也是最終軟體產品的強有力的保障。

(原創)UML要點總結

今天我們總結要點 我們就從這張圖慢慢講。一。類圖部分 基礎 類圖 長方形表示。類名在最上欄,下面是資料,第三欄是方法。其存在兩種關係 關聯和泛化 屬性 全形 可見性 名 型別 重數 預設 特性串 例子 名 string untlitled readonly 表示公 用和私用 關聯 是兩個類之間的一條...

UML學習筆記(一) UML簡介

統一建模語言 unified modeling language uml 一些術語 系統 system 指的是硬體和軟體的結合體,它能提供業務問題的解決方案。系統開發 system development 是為客戶建立乙個系統的過程。客戶 client 是需要解決問題的人。系統分析員 analyst...

UML學習筆記(一) UML簡介

統一建模語言 unified modeling language uml 一些術語 系統 system 指的是硬體和軟體的結合體,它能提供業務問題的解決方案。系統開發 system development 是為客戶建立乙個系統的過程。客戶 client 是需要解決問題的人。系統分析員 analyst...