UML建模語言入門教程
本節向大家介紹一下UML建模語言,在軟件開發過程中UML建模語言經常用來建立模型,這里和大家分享一下UML建模語言的有關知識,希望通過本節的介紹你UML建模語言有全面的認識。
新一代建模語言-UML慨述
UML是一種定義良好、易于表達、功能強大且普遍適用的建模語言。它溶入了軟件工程領域的新思想、新方法和新技術。UML將是面向對象技術領域內占主導地位的標準建模語言,目前UML獲得了工業界、科技界和應用界的廣泛支持,成為可視化建模語言事實上的工業標準。UML代表了面向對象方法的軟件開發技術的發展方向,具有巨大的市場前景,也具有重大的經濟價值。
UML建模語言的誕生
目前人們普遍開始采用面向對象的分析與設計,但是很少有開發人員使用形象化的設計方法,其主要原因就是缺乏統一的語言語義來為復雜軟件系統的組件定義、可視化、構建和編制文檔。而UML的出現徹底的改變了這一現狀,并成為了面向對象建模的標準語言。
UML建模語言的行業特性
UML在各個行業都得到了廣泛的應用,并迅速成為了一個事實上的工業標準,它成為人們用來為各種系統建模、描述系統架構、商業架構和商業過程的統一工具。
UML之所以得到普及的主要原因不外乎以下幾點:
1UML是國際統一的標準,用它表示的產品符合國際標準,產品能夠得到廣泛的認可。
2作為國際標準,國際軟件業和商業對UML的支持也相當普遍因而采用它將可以得到最廣泛的技術支持和工具支持。
3UML采用圖的形式來表述系統的視圖,圖形化易于理解的優勢使得不同知識背景的客戶用戶、領域專家、系統分析以及開發人員可以方便的交流。
4UMl是一種標準的表示方法,任何方或者過程都可以采用UML,它與具體的方法和過程無關,具有通用性。
5UML具有良好的可擴展性,可適用到不同的領域,在具有通用性的同時還具有使自身專用化的能力。
6UML與最好的軟件實踐經驗集成,其自身雖然沒有表述任何方法或過程,但是卻要求使用它的過程具有以下的特征:以架構為中心、用例驅動、支持迭代和遞增地開發。這些特征體現了軟件開發的成功經驗。
7UML對軟件設計和分析實踐中涌現出來的新思想和新方法提供了很好的支持,它支持模式、框架和組件等概念,提供從“概念模型到現時代碼”的可跟蹤性。
什么是UML建模語言?
UML(UnifiedModelingLanguage)是一種標準的圖形化建模語言,它是面向對象分析與設計的一種標準表示。UML不是一種可視化的程序設計語言,而是一種可視化的建模語言;UML不是工具或者是知識庫的規格說明,而是一種語言規格說明,是一種表示的標準;UML不是過程和方法,但是允許任何一種過程和方法使用它。
UML建模語言的使用目的
1UML易于使用,能夠進行可視化建模;
2與具體的實現無關,可應用于任何語言平臺和工具平臺;
3與具體的過程無關,可應用于任何軟件開發的過程;
4簡單并且可擴展,具有擴展和專有化機制,便于擴展,無須對核心概念進行修改;
5為面相對象的設計與開發中涌現出的高級概念提供支持,強調軟件在開發過程中對架構、框架、模式和組件的重用;
6與最好的軟件工程實踐經驗集成;
7有利于面對對象工具的市場成長;
UML建模語言的架構
UML是由圖和元模型組成的。圖是UML的語法,而元模型則給出圖的意思,是UML的語義。UML的語義是定義在一個四層建模概念框架中的,其層結構如下:
1元元模型層,組成UML的基本元素“事物”,代表要定義的所有事物;
2元模型層,組成了UML的基本元素,包括面向對象和面向組件的概念。這一層的每一個概念都是元元模型中“事物”概念的實例;
3模型層,組成了UML的模型,這一層的每個概念都是元模型中概念的一個實例,這一層的模型通常叫做類模型或者類型模型;
4用戶模型層,這個層中的所有所有元素都是UML模型的例子。這一層中的每個概念都是模型層的一個實例,也是元模型的一個實例。這一層的模型通常叫做對象模型或實例模型。
UML建模語言的主要內容
客觀世界是一個復雜巨系統,需要從不同的角度來考察,才能真正理解這個系統。為了能支持從不同角度來考察系統,標準建模語言UML定義了下列5類、共10種模型圖:
第一類是用例圖,從用戶角度描述系統功能,并指出各功能的操作者。
第二類是靜態圖(Staticdiagram),包括類圖、對象圖和包圖。
UML建模語言中類圖描述系統中類的靜態結構。不僅定義系統中的類,表示類之間的聯系如關聯、依賴、聚合等,也包括類的內部結構(類的屬性和操作)。類圖描述的是一種靜態關系,在系統的整個生命周期都是有效的。
對象圖是類圖的實例,幾乎使用與類圖完全相同的標識。他們的不同點在于對象圖顯示類的多個對象實例,而不是實際的類。一個對象圖是類圖的一個實例。由于對象存在生命周期,因此對象圖只能在系統某一時間段存在。
包由包或類組成,表示包與包之間的關系。包圖用于描述系統的分層結構。
第三類是行為圖(Behaviordiagram),描述系統的動態模型和組成對象間的交互關系。
其中狀態圖描述類的對象所有可能的狀態以及事件發生時狀態的轉移條件。通常,狀態圖是對類圖的補充。在實用上并不需要為所有的類畫狀態圖,僅為那些有多個狀態其行為受外界環境的影響并且發生改變的類畫狀態圖。而活動圖描述滿足用例要求所要進行的活動以及活動間的約束關系,有利于識別并行活動。
第四類是交互圖(Interactivediagram),描述對象間的交互關系。
UML建模語言中順序圖顯示對象之間的動態合作關系,它強調對象之間消息發送的順序,同時顯示對象之間的交互;合作圖描述對象間的協作關系,合作圖跟順序圖相似,顯示對象間的動態合作關系。除顯示信息交換外,合作圖還顯示對象以及它們之間的關系。如果強調時間和順序,則使用順序圖;如果強調上下級關系,則選擇合作圖。這兩種圖合稱為交互圖。
第五類是實現圖(Implementationdiagram)。
其中構件圖描述代碼部件的物理結構及各部件之間的依賴關系。一個部件可能是一個資源代碼部件、一個二進制部件或一個可執行部件。它包含邏輯類或實現類的有關信息。部件圖有助于分析和理解部件之間的相互影響程度。
配置圖定義系統中軟硬件的物理體系結構。它可以顯示實際的計算機和設備(用節點表示)以及它們之間的連接關系,也可顯示連接的類型及部件之間的依賴性。在節點內部,放置可執行部件和對象以顯示節點跟可執行軟件單元的對應關系。
從應用的角度看,當采用面向對象技術設計系統時,首先是描述需求;其次根據需求建立系統的靜態模型,以構造系統的結構;第三步是描述系統的行為。其中在第一步與第二步中所建立的模型都是靜態的,包括用例圖、類圖(包含包)、對象圖、組件圖和配置圖等五個圖形,是標準建模語言UML的靜態建模機制。其中第三步中所建立的模型或者可以執行,或者表示執行時的時序狀態或交互關系。它包括狀態圖、活動圖、順序圖和合作圖等四個圖形,是標準建模語言UML的動態建模機制。因此,標準建模語言UML的主要內容也可以歸納為靜態建模機制和動態建模機制兩大類。#p#
UML建模語言的應用領域
1在不同類型系統中應用
UML的目標是以面向對象圖的方式來描述任何類型的系統,具有很寬的應用領域。其中最常用的是建立軟件系統的模型,但它同樣可以用于描述非軟件領域的系統,如機械系統、企業機構或業務過程,以及處理復雜數據的信息系統、具有實時要求的工業系統或工業過程等。總之,UML是一個通用的標準建模語言,可以對任何具有靜態結構和動態行為的系統進行建模。
以下是常見的UML應用:
系統信息--向用戶提供信息的存儲、檢索、交換和提交。處理存放在關系或對象數據庫中大量具有復雜關系的數據;
技術系統--處理和控制技術設備,它們必須處理設計的特殊接口,標準軟件相對較少,技術系統通常是實時系統;
嵌入式實時系統--在嵌入到其它設備硬件上執行的系統。通常是通過低級程序設計進行的,需要實時支持;
分布式系統--分布在一組機器上運行的系統,數據很容易從一臺機器傳到另一臺計其。需要同步通信機制來確定數據完整性,通常是建立在對象機制上的。
2在軟件開發過程中的應用
UML建模語言適用于系統開發過程中從需求規格描述到系統完成后測試的不同階段。在需求分析階段,可以用用例來捕獲用戶需求。通過用例建模,描述對系統感興趣的外部角色及其對系統(用例)的功能要求。分析階段主要關心問題域中的主要概念(如抽象、類和對象等)和機制,需要識別這些類以及它們相互間的關系,并用UML類圖來描述。為實現用例,類之間需要協作,這可以用UML動態模型來描述。在分析階段,只對問題域的對象(現實世界的概念)建模,而不考慮定義軟件系統中技術細節的類(如處理用戶接口、數據庫、通訊和并行性等問題的類)。這些技術細節將在設計階段引入,因此設計階段為構造階段提供更詳細的規格說明。
編程(構造)是一個獨立的階段,其任務是用面向對象編程語言將來自設計階段的類轉換成實際的代碼。在用UML建立分析和設計模型時,應盡量避免考慮把模型轉換成某種特定的編程語言。因為在早期階段,模型僅僅是理解和分析系統結構的工具,過早考慮編碼問題十分不利于建立簡單正確的模型。
UML模型還可作為測試階段的依據。系統通常需要經過單元測試、集成測試、系統測試和驗收測試。不同的測試小組使用不同的UML圖作為測試依據;單元測試使用類圖和類規格說明;集成測試使用部件圖和合作圖;系統測試使用用例圖來驗證系統的行為;驗收測試由用戶進行,以驗證系統測試的結果是否滿足在分析階段確定的需求。
總之,標準建模語言UML適用于以面向對象技術來描述任何類型的系統,而且適用于系統開發的不同階段,從需求規格描述直至系統完成后的測試和維護。
【編輯推薦】