统一建模语言UML整理之开篇
引言:
這段時間將致力于寫UML方面的博客,由于個人能力的有限,如果博客中出現錯誤的地方還請廣大博友批評指正。為了更好地了解一個過程或者事物,人們通常根據所研究對象的某些特征(形狀、結構、或行為等)建立相關的模型(Model)。模型是從一個特定的視點對系統進行的抽象,它可以是實物模型,例如建筑模型,教學模型、玩具等,也可以是抽象數字或圖示模型,例如數學公式或圖形等。模型建立的目的不是復制真實的原物,而是幫助人們更好的理解復雜的事物本質,反應過程或事物內部各種因素執念的相互關系。下面就讓我們進入UML的學習中吧!首先先介紹一下它的發展史。
發展史:
公認的面向對象建模語言出現于70年代中期。從1989年到1994年,其數量從不到十種增加到了五十多種。在眾多的建模語言中,語言的創造者努力推崇自己的產品,并在實踐中不斷完善。但是,OO方法的用戶并不了解不同建模語言的優缺點及相互之間的差異,因而很難根據應用特點選擇合適的建模語言,于是爆發了一場"方法大戰"。90年代中,一批新方法出現了,其中最引人注目的是Booch1993、OOSE和OMT-2等。Booch是面向對象方法最早的倡導者之一,他提出了面向對象軟件工程的概念。1991年,他將以前面向Ada的工作擴展到整個面向對象設計領域。Booch1993比較適合于系統的設計和構造。Rumbaugh等人提出了面向對象的建模技術(OMT)方法,采用了面向對象的概念,并引入各種獨立于語言的表示符。這種方法用對象模型、動態模型、功能模型和用例模型,共同完成對整個系統的建模,所定義的概念和符號可用于軟件開發的分析、設計和實現的全過程,軟件開發人員不必在開發過程的不同階段進行概念和符號的轉換。OMT-2特別適用于分析和描述以數據為中心的信息系統。jacobson于1994年提出了OOSE方法,其最大特點是面向用例(Use-Case),并在用例的描述中引入了外部角色的概念。用例的概念是精確描述需求的重要武器,但用例貫穿于整個開發過程,包括對系統的測試和驗證。OOSE比較適合支持商業工程和需求分析。此外,還有Coad/Yourdon方法,即著名的OOA/OOD,它是最早的面向對象的分析和設計方法之一。該方法簡單、易學,適合于面向對象技術的初學者使用,但由于該方法在處理能力方面的局限,目前已很少使用。概括起來,首先,面對眾多的建模語言,用戶由于沒有能力區別不同語言之間的差別,因此很難找到一種比較適合其應用特點的語言;其次,眾多的建模語言實際上各有千秋;第三,雖然不同的建模語言大多類同,但仍存在某些細微的差別,極大地妨礙了用戶之間的交流。因此在客觀上,極有必要在精心比較不同的建模語言優缺點及總結面向對象技術應用實踐的基礎上,組織聯合設計小組,根據應用需求,取其精華,去其糟粕,求同存異,統一建模語言。1994年10月,GradyBooch和JimRumbaugh開始致力于這一工作。他們首先將Booch93和OMT-2統一起來,并于1995年10月發布了第一個公開版本,稱之為統一方法UM0.8(UnitiedMethod)。1995年秋,OOSE的創始人IvarJacobson加盟到這一工作。經過Booch、Rumbaugh和Jacobson三人的共同努力,于1996年6月和10月分別發布了兩個新的版本,即UML0.9和UML0.91,并將UM重新命名UML(UnifiedModelingLanguage)。這是UML發展又前進了一步。1996年,一些機構將UML作為其商業策略已日趨明顯。UML的開發者得到了來自公眾的正面反應,并倡議成立了UML成員協會,以完善、加強和促進UML的定義工作。當時的成員有DEC、HP、I-Logix、Itellicorp、IBM、ICONComputing、MCISystemhouse、Microsoft、Oracle、RationalSoftware、TI以及Unisys。這一機構對UML1.0(1997年1月)及UML1.1(1997年11月17日)的定義和發布起了重要的促進作用。面向對象技術和UML發展過程可用上圖來表示,標準建模語言的出現是其重要成果。在美國,截止1996年10月,UML獲得了工業界、科技界和應用界的廣泛支持,已有700多個公司表示支持采用UML作為建模語言。1996年底,UML已穩占面向對象技術市場的85%,成為可視化建模語言事實上的工業標準。1997年11月17日,OMG采納UML1.1作為基于面向對象技術的標準建模語言。UML代表了面向對象方法的軟件開發技術的發展方向,具有巨大的市場前景,也具有重大的經濟價值和國防價值。下圖描述了它的發展史。
什么是統一建模語言:
UML融合了以往眾多建模語言方法中的基本概念,而且這些基本概念與其他面向對象技術中的基本概念大多相同,因而,UML必然成為這些方法以及其他方法的使用者樂于采用的一種簡單一致的建模語言;其次,UML不僅僅是上述方法的簡單匯合,而是在這些方法的基礎上廣泛征求意見,集眾家之長,幾經修改而完成的,UML擴展了現有方法的應用范圍;第三,UML是標準的建模語言,而不是標準的開發過程。盡管UML的應用必然以系統的開發過程為背景,但由于不同的組織和不同的應用領域,需要采取不同的開發過程。UML作為一種建模語言,UML的定義包括UML語義和UML表示法兩個部分。(1) UML語義 描述基于UML的精確元模型定義。元模型為UML的所有元素在語法和語義上提供了簡單、一致、通用的定義性說明,使開發者能在語義上取得一致,消除了因人而異的最佳表達方法所造成的影響。此外UML還支持對元模型的擴展定義。(2) UML表示法 定義UML符號的表示法,為開發者或開發工具使用這些圖形符號和文本語法為系統建模提供了標準。這些圖形符號和文字所表達的是應用級的模型,在語義上它是UML元模型的實例。UML精確的元模型定義和簡單統一的符號表示,也成為其被廣泛采用的一個原因。
UML的主要內容:
下圖展示了UML的各種圖的分類,同時也告知了UML的圖示建模工具被分為兩大類共13種圖形。
第一類是結構圖。在結構圖中,UML2.0有6中圖示建模工具:類圖、構件圖、對象圖、復合結構圖、部署圖、和包圖。
第二類是行為圖。在行為圖中,UML2.0有7中圖時間么工具:活動圖、用例圖、狀態圖、以及4種交互圖--順序圖、通信圖、交互綜合圖和時間配置圖。
?
UML的應用領域:
UML的目標是以面向對象圖的方式來描述任何類型的系統,具有很寬的應用領域。其中最常用的是建立軟件系統的模型,但它同樣可以用于描述非軟件領域的系統,如機械系統、企業機構或業務過程,以及處理復雜數據的信息系統、具有實時要求的工業系統或工業過程等。總之,UML是一個通用的標準建模語言,可以對任何具有靜態結構和動態行為的系統進行建模。此外,UML適用于系統開發過程中從需求規格描述到系統完成后測試的不同階段。在需求分析階段,可以用用例來捕獲用戶需求。通過用例建模,描述對系統感興趣的外部角色及其對系統(用例)的功能要求。分析階段主要關心問題域中的主要概念(如抽象、類和對象等)和機制,需要識別這些類以及它們相互間的關系,并用UML類圖來描述。為實現用例,類之間需要協作,這可以用UML動態模型來描述。在分析階段,只對問題域的對象(現實世界的概念)建模,而不考慮定義軟件系統中技術細節的類(如處理用戶接口、數據庫、通訊和并行性等問題的類)。這些技術細節將在設計階段引入,因此設計階段為構造階段提供更詳細的規格說明。編程(構造)是一個獨立的階段,其任務是用面向對象編程語言將來自設計階段的類轉換成實際的代碼。在用UML建立分析和設計模型時,應盡量避免考慮把模型轉換成某種特定的編程語言。因為在早期階段,模型僅僅是理解和分析系統結構的工具,過早考慮編碼問題十分不利于建立簡單正確的模型。UML模型還可作為測試階段的依據。系統通常需要經過單元測試、集成測試、系統測試和驗收測試。不同的測試小組使用不同的UML圖作為測試依據:單元測試使用類圖和類規格說明;集成測試使用部件圖和合作圖;系統測試使用用例圖來驗證系統的行為;驗收測試由用戶進行,以驗證系統測試的結果是否滿足在分析階段確定的需求。總之,標準建模語言UML適用于以面向對象技術來描述任何類型的系統,而且適用于系統開發的不同階段,從需求規格描述直至系統完成后的測試和維護。
參考資料:
?
?
轉載于:https://www.cnblogs.com/cyysu/p/4877538.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的统一建模语言UML整理之开篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css sprint 生成工具 bg2c
- 下一篇: web页面分块加载