UML很棒但是過於龐大了

2021-06-16 00:50:32 字數 2723 閱讀 4224

早在1997

年,統一建模語言

uml就已經作為乙個標準被採用了。這個語言的應用無所不在,適用於所有型別的軟體。它幫助許多企業更好地開發軟體。對於

uml的採用目前仍然在不斷增加,但是,沒有

5-10

年前增長得那麼快。其中乙個原因就是,

uml變得過於龐大了。無論如何,這個問題肯定是可以解決的。

最初的uml

是由乙個非常小的稱為三劍客的團隊:

grady booch

, jim rumbaugh

和我所開發的。我們的暱稱是三劍客——我沒想到會用在自己身上的乙個詞。一旦確定了我們所希望達到的目標,於是,我們開始在全球範圍內邀請其他的方法學家加入。毫無疑問,

uml的核心部分是由我們三個來實現的,同時,其他的參與者也都做出了很重要的貢獻。

grady, jim

和我經常通過遠端通訊會議進行交流,也就是通過這種方式,我們做出了大量的決策。我們的工作效率非常高。該語言的第乙個正式版本是uml1.1,它在2023年秋就被omg組織(國際物件管理組織)所採用,這距我們真正開始開發uml僅僅不到一年的時間。這簡直就是所有語言標準化嘗試的紀錄。

uml2.0

是uml

革命的下一步,它的開發過程雖然遵循標準的

omg步驟,但是與

uml1

很是不同。目前,乙個由二十多人組成的委員會接手了

uml2.0

。當初,我們是以敏捷的方式開發

uml1

,而這個委員會採用另外一種非敏捷的方式來開發

uml2

了。2023年7

月16號,uml

世界大會

在德克薩斯州,

austin

市召開,其間,在關於uml的集體討論中,

steve cook

發表的言論,給人以「uml1非常傑出,相反uml2卻很糟糕」這樣的印象。

uml2

實在是太過於龐大了。僅僅規範就大概有

1000

頁!雖然它包含著許多非常好的觀點,但是,仍然有太多的工具提供商為自己進行宣傳的篇幅。任何乙個實際操作者都不會閱讀這本說明書的。

關於uml

語言從uml1

到uml2

的發展過程,有太多的工作要做。從

uml1

發展到uml2

,uml1

需要乙個鞏固時期,以積累更多的經驗和進行細微的協調

,但是,很不幸

uml1

從來沒有經歷過這樣乙個階段。相反,

uml2

的開始卻是從極為龐大的擴充套件,新組員希望改變任何他們不喜歡的部分。

grady

和我沒有參加

uml2

的開發工作。在

uml2

的實現過程中,這個委員會

做出了很多值得置疑的修改。舉個例子,我發現該委員已經決定對用例進行修改,改變成和我最初介紹的且一直這樣被大家理解的用例完全不同的內涵。他們聲稱說我實在不懂什麼是用例,這個問題必須由他們來解決!沒錯,這確實是一件真實的事情。

當他們決定改變用例時,我立刻就知道了這件事情,於是我盡快給這個委員會寫了封郵件,表達我非常嚴肅的態度。我告訴他們,如果他們改變用例的根本意義的話,我絕不會支援

uml2

。可想而知,這封郵件根本沒有起任何作用,該委員會絲毫沒有變化!因此,我必須向

rational

公司的最高管理層表達我的擔心。

rational

公司向該委員會明確宣告,如果用例這個本質改變的話,那麼,使用者團體將對此有消極反應,而且

uml語言的聲譽也會因此受到嚴重損害。

rational

公司強調,改變用例本質這一點是不可接受的,並且或多或少威脅不再參加

uml2.0

的開發。我們參與

uml2.0

委員會的兩個成員,被委派對修改要非常謹慎,在接受任何修改之前必須先諮詢由

rational

專家所組成的小組。

對於任何參與

其中的人來說,這段

發展史是非常

具有戲劇性的。

曾經有段時間,我堅信自己必須公開指責

uml2

。幸運的是,

uml委員會回頭是岸,我也就不再需要走這戲劇化的一步了。但是,

uml在這個巨大委員會的影響下還是變得越來越龐大。現在,所有

uml的愛好者都不得不承受著這個錯誤帶來的痛苦。

不管怎麼說,

uml在根本上還是非常好的語言。基礎的技術已經經過了數年的實踐證明。舉例說明,愛立信公司曾經表明,它在

1969

年就已經開始使用

uml了,因為在那個時候,我們就開始使用元件圖、時序圖,協作圖,狀態圖以及狀態轉換圖(狀態圖和活**的組合)。

因此,一方面,

uml已經有了良好的基礎,但是另一方面,它也在不斷的增長,變得越來越笨重。我們知道,通過使用不到

uml20%

的內容,你就可以構建超過

80%的軟體系統。那麼,我們需要做的就是,抽取出人們的確需要使用的那

20%,進行精確的定義。實際上,我們已經開始做這件事情了,並一直堅持著。我們稱這部分人們經常使用的

20%的

uml為

20%essuml

。essuml

並不是一種新的語言。它甚至對

uml沒有進行一點修改。它僅僅是

uml的乙個適用子集。

注:本文是ivar jacobson先生於2023年3月30號所著。

分送但是但是

除了零零散散的一些跟注,在競技開始之前,有人突然下注兩億三千萬真靈!賭葉辰能贏,沒 有回合限制,賠率是1 3,所以 所以我們一下子賠掉了六億九千多萬!扣除押注的金額,賠了三 億多真靈!聽完施亦的話,離淵老祖出離了憤怒,氣得臉色漲得青紫,那九百萬,應該是辰夜本人下的注,倒還不至於讓離淵老祖多麼生氣,因...

開通CSDN很棒!

公司倒閉 1 年多了,而我在公司倒閉時候做的開源專案,最近卻上了 github trending,看著這個資料,真是不勝唏噓。緣起2017 年 11 月份的時候,松哥所在的公司因為經營不善要關門了,關門的是深圳分公司,北京總部還在正常運轉。然後就是北京那邊來人,和深圳的員工挨個談話,談裁員和賠償,公...

很棒的目錄遞迴處理

原來一直是通過自己實現遞迴呼叫來處理目錄,今天在 rubyprogramming 一書中看到,在ruby中居然是有專門的庫 find.rb 來實現這個功能的,非常強大。乙個例子 require find ignores 以.開頭的目錄不進行處理 def listdir top find.find t...