UML之父 架構業務需求與軟體開發的橋梁

2021-06-16 04:02:33 字數 2793 閱讀 9267

【51cto獨家特稿】在天文學領域,他是最知名的計算機大師;在計算機領域,他聞名於世的不止是天文學家的稱號,還有資料流計算機體系結構和uml(統一建模語言)。他就是世界著名的軟體開發方法學家james rumbaugh(詹姆斯-朗博)。

51cto開發頻道年終鉅獻:架構師最怕程式設計師知道的十件事

2023年出生在美國的james rumbaugh擁有麻省理工學院的物理學學士學位和電腦科學博士學位,同時,他還是加利福尼亞理工學院的天文學碩士。按照omg(標準化組織物件管理組)的評價,他是「全世界最早與計算機深入接觸的人類」。

早在上世紀七十年,rumbaugh博士就開始研究軟體方法學以及相關的工具和概念,那時他在紐約斯卡奈塔第的通用電氣研發中心工作,主要進行一些大型it專案的設計和開發。

那是乙個大型機橫行的年代,遍布機房的儲存裝置和繁瑣的控制操作經常讓人感到無法適從;但rumbaugh卻樂在其中,他為自己的指令能與隔壁房間 的龐然大物交流而感到興奮,為自己的**能被完整的對映到現實世界並解決實際的問題而榮幸。但在每個軟體系統開發之前,他們這群「最早與計算機深入交流的 人」都要面對乙個困惑,如何把現實世界的問題轉化到計算機裡解決。

業務需求與軟體需求

無論當時還是現在,業務領域跟計算機領域之間的概念存在著很大差別。一般來說,業務是用自然的語言來表述,但是軟體有可能是用一些非常低階的計算機 語言來表述的。構建乙個軟體需要寫很多的**,要寫很多的控制邏輯,有很多複雜的東西在裡面。正如目前很多的企業都在把業務與it相結合作為一項重要的任 務來做一樣,其根本是要業務與軟體之間建起一座橋梁。

為了建起這座橋梁,rumbaugh博士開始探索新的需求分析和軟體架構方法,提高軟體開發效率。現在,我們把這門學問成為軟體方法學,是指軟體設計的原理和原則,以及基於這些原理、原則的方法和技術。其關注的中心問題是如何設計正確的軟體和高效率地設計軟體。

ge歲月

在通用電氣研究發展中心,rumbaugh博士陸續開發了dsm(domain-specific modeling)物件導向程式設計語言、omt物件建模符號以及object modeling tool圖形編輯器等。

dsm(domain-specific modeling)領域定義建模,是通過使用領域概念直接指定解決方案的軟體業務需求方法。dsm提高了超越程式**之上的抽象層次,最終軟體產品將從高 層次的設計中直接自動產生,這樣乙個自動過程是可以實現的,因為 語言和**產生器可以滿足某乙個公司或領域的需求,建模專家使用定義這個自動機器,而程式設計師只管使用即可。

omt是object modeling technology的縮寫, 意為物件建模技術,我們可以將其堪稱uml的前身。它從三個方面對系統進行建模,每個模型從乙個側面反映系統的特性,三個模型分別是:物件模型、動態模型 和功能模型。目前,omt法是目前最為成熟和實用的建模方法之一。rumbaugh博士不止為omt設計了完備的建模符號系統,還同時開發了omt的圖形 編輯器。

uml統一建模語言

2023年,rumbaugh博士來到rational軟體公司,在此,他遇到了uml的另外兩位創始人,同樣為軟體工程和軟體方法學的專家grady booch和ivar jacobson。

左起分別是:grady booch、ivar jacobson和james rumbaugh

grady booch自rational於2023年建立以來,就擔任重要職位,是多個rational產品的最初開發人員之一。grady曾擔任全世界許多複雜精 深軟體專案的架構師和架構指導。rational被ibm收購後,他一直擔任ibm rational的首席科學家,並於2023年3月榮獲ibm名士(ibm fellow)稱號。

ivar jacobson 在軟體工程學領域非常有名,他在使用物件方法設計大型實時系統方面已經有超過25年的經驗。在大規模架構重用方面也做了大量的工作,這是愛立信的axe遠端通訊交換機取得成功的關鍵因素。

早期的rational軟體介面

在rational期間,rumbaugh博士總結了自己在對dsm和omt的研究,並在grady booch和ivar jacobson的共同努力下推出uml(unified modeling language)統一建模語言。

uml的目標是以物件導向圖的方式來描述任何型別的系統,具有很寬的應用領域。其中最常用的是建立軟體系統的模型,但它同樣可以用於描述非軟體領域 的系統,如機械系統、企業機構或業務過程,以及處理複雜資料的資訊系統、具有實時要求的工業系統或工業過程等。總之,uml是乙個通用的標準建模語言,可 以對任何具有靜態結構和動態行為的系統進行建模。

2023年,一些機構將uml作為其商業策略已日趨明顯。uml的開發者得到了來自公眾的正面反應,並倡議成立了uml成員協會,以完善、加強和促 進uml的定義工作。當時的成員有dec、hp、i-logix、 itellicorp、 ibm、icon computing、mci systemhouse、microsoft、oracle、rational software、ti以及unisys。2023年,uml被物件管理組織(omg)正式確定為國際標準。

目前,uml已經成為軟體架構的核心工具,隨之產生的ibm rational和微軟vsts等工具也成為主流的軟體開發工具。在rational公司2023年被ibm收購後,rumbaugh博士一直擔任ibm 建模工具的核心架構師,並成為享譽全球的軟體開發方法學大師。

軟體開發與UML的關係

今天,我們上 統一建模語言uml 課上老師給我們講解了軟體開發與uml之間的關係 uml常用於建立軟體系統的模型,適用於系統開發的不同階段。uml的應用貫穿於系統開發的不同階段。1.需 求分析。可以使用用例來捕獲使用者的需求。用例圖從使用者的角度來描述系統的功能。通過用例建模,描述對系統感興趣的外部...

軟體開發總結 需求與開發

需求不是越多越好,也不是越詳細越好。使用者價值是不允許討論 妥協 的,具體實現方案是允許討論 妥協 的。實現和預想之間可能存在差距 例如時間,複雜度,難度,可能性 所以開發人員應該也是需求參與者,負責向需求提出者反饋這些問題,以利於需求提出者做出進一步決策。一是完備性 需求需要明確為什麼樣的使用者提...

軟體開發 非功能需求與功能需求

需求定義 需求 requirement 就是系統 更廣義的說法是專案 必須提供的能力和必須遵從的條件。需求分類 1 在一般使用中,需求按照功能性 行為的 和非功能性 其它所有的行為 來分類。功能性需求是說有具體的完成內容的需求。非功能性需求是指軟體產品為滿足使用者業務需求而必須具有且除功能需求以外的...