首頁>Club>
2
回覆列表
  • 1 # Java技術架構

    一、UML簡介1.什麼是UML?

    UML是面向物件分析與設計時的行業標準,全稱為Unified Modeling Language(“同一建模語言”),其主要內容是針對面向物件的分析和設計。UML是由OMG(Object Management Group)於1997年發表的圖示式軟體設計語言,它是一個支援模型化和軟體系統開發的圖形化語言,為軟體開發的所有階段提供模型化和視覺化支援,從需求規格描述到系統完成後的測試和維護。是一種定義良好、易於表達、功能強大且普遍適用的建模語言。

    OMG是一個國際化的、開放成員的、非盈利性的計算機行業標準協會,成立於1989年。(不是LOL的戰隊哈!)

    UML具有以下重要的功能:

    視覺化功能(Visualizing)說明功能(Specifying)建造和建立文件的功能(Documenting)2.為什麼要建模?

    模型就是對現實的一種簡化。模型提供了系統的一個藍圖。其中包括了詳細的計劃,也包括了從高層次考慮的總體設計。建模就是為了能夠更好地理解正在開發的系統。透過建模可以達到如下的目的:

    模型有助於按照實際情況或按照所需要的樣式對系統進行視覺化。模型能夠規約系統的結構或行為。模型給出了指導構造系統的模板。模型對做出的決策進行文件化。3.UML由什麼組成?

    UML由圖和元模型組成,圖是語法,元模型是語義。UML主要包括三個基本構造塊:

    事物(Things)關係(Relationships)圖(Diagrams)1)事物

    事物是實體抽象化的最終結果,是模型中的基本成員。

    (1)結構事物(Structural Things)是模型中的靜態部分,主要用來呈現概念或實體的表現元素,分為以下7種:

    類(Class):指具有相同屬性、方法、關係和語義的物件的集合。介面(Interface):指類或元件所提供的的服務,描述了類或元件對外可見的動作。協作(Collaboration):描述合作完成某個特定任務的一組類及其關聯的集合,用於對使用情形的實現建模。用例(Use Case):定義了執行者和被考慮的系統之間的互動來實現一個業務目標。活動類(Active Class):活動類的物件有一個或多個程序或執行緒。活動類和類很像,只是它的物件所代表的元素的行為和其他的元素是同時存在的。元件(Component):是物理的、可替換的部分,包含介面的集合。結點(Node):是系統在執行時存在的物理元素代表一個可計算的資源,通常佔用一些記憶體和具有處理能力。

    (2)行為事物(Behavioral Things)指的是UML模型中的動態部分,代表語句裡的“動詞”,表示模型裡隨著時空不斷變化的部分,包括如下兩類:

    互動(Ineraction):互動是由一組物件之間在特定上、下文中,為了達到特定的目的而進行的一系列訊息交換而組成的動作。狀態機(State Machine):狀態機由一系列物件的狀態組成。

    (3)分組事物(Grouping Things)可以看成是一個“盒子”,模型可以在其中被分解。目前只有一種分組事物——包(Package)。結構事物、動作事物甚至分組事物都可能放在一個包中。包只存在於開發階段,而元件在執行時存在。

    (4)註釋事物(Annotational Things)是UML模型的解釋部分。

    2)關係

    關係是將事物聯絡在一起的方式,UML中有如下四種關係:

    依賴(Dependencies):兩個事物之間的語義關係,其中一個事物發生變化會影響另一個事物的語義。關聯(Association):一種描述一組物件之間連線的結構關係。泛化(Generalization):一種一般化——特殊化的關係。實現(Realization):類之間的語義關係,其中一個類指定了由另一個類保證執行的契約。3)圖

    圖是事物集合的分類,主要包含以下幾種:

    類圖(Class Diagram):描述系統所包含的類、類內部結構及類之間的關係。物件圖(Object Diagram):是類圖的一個具體例項。元件圖(Compoment Diagram):描述程式碼部件的物理結構以及各部件之間的依賴關係。部署圖(Deployment Diagram):定義系統中軟、硬體的物理體系結構。用例圖(Usecase Diagram):從使用者的角度出發描述系統的功能、需求,展示系統外部的各類角色與系統內部的各種用例之間的關係。時序圖(Sequence Diagram):表示物件之間動態合作的關係。協作圖(Collaboration Diagram):描述物件之間的協作關係。狀態圖(Statechart Diagram):描述一類物件的所有可能的狀態及事件發生時狀態的轉移條件。活動圖(Activity Diagram):描述系統中各種活動的執行順序上面的9中圖可以歸納為下表:4.UML的特點統一的標準;面向物件。UML是支援面向物件軟體開發的建模語言。視覺化、表現能力強。獨立於過程,UML不依賴於特定的軟體開發過程。概念明確,建模表示法簡潔,圖形結構清晰,容易掌握和使用。二、UML圖1.UML用例圖

    UML用例圖用於表示使用者與系統互動的場景,其中用例用橢圓表示。

    具體步驟如下所示:

    啟動StarUML軟體。建立一個空白的Use Case Diagram。(選中右上角的“Model Explorer”中的“Use Case Model”;右鍵單擊“Use Case Model”並選中彈出選單“Add Diagram”中的“Use Case Diagram”;建立了一個空的用例圖之後可以看到“Toolbox”中有“Actor”和“UseCase”等供使用者選擇使用。)繪製UML用例圖。儲存。(可以儲存為一個UML檔案,也可以儲存為一張圖片。)

    UML用例圖如下:

    2.UML類圖

    UML類圖用於表現類的特徵。類圖描述了多個類、介面的特徵,以及物件之間的協作和互動。類圖用一個或者多個矩形區域構成,每個類圖的內容包括:

    型別,即類名;屬性,是可選的;方法,是可選的。

    具體步驟如下所示:

    啟動StarUML軟體。建立一個空的Class Diagram。(選中右上角的“Model Explorer”中的“Use Case Model”;右鍵單擊“Use Case Model”並選中彈出選單“Add Diagram”中的“Class Diagram”;建立了一個空的類圖之後可以看到“Toolbox”中有“Class”和“Interface”等供使用者選擇使用。)繪製UML類圖。儲存。(可以儲存為一個UML檔案,也可以儲存為一張圖片。)

    UML類圖如下:

    3.UML物件圖

    UML物件圖用於表現物件的特徵。它能夠展現物件的特徵及物件之間的互動關係。

    具體步驟如下:

    啟動StarUML軟體。建立一個空的Class Diagram。(選中右上角的“Model Explorer”中的“Use Case Model”;右鍵單擊“Use Case Model”並選中彈出選單“Add Diagram”中的“Class Diagram”;建立了一個空的類圖之後可以看到“Toolbox”中有“Object”等供使用者選擇使用。)繪製UML物件圖。儲存。(可以儲存為一個UML檔案,也可以儲存為一張圖片。)

    UML物件圖如下:

    4.UML元件圖

    UML元件圖用於表現元件之間的關係。

    具體步驟如下:

    啟動StarUML軟體。建立一個空的Component Diagram。(選中右上角的“Model Explorer”中的“Use Case Model”;右鍵單擊“Use Case Model”並選中彈出選單“Add Diagram”中的“Component Diagram”;建立了一個空的類圖之後可以看到“Toolbox”中有“Component”等供使用者選擇使用。)繪製UML元件圖。儲存。(可以儲存為一個UML檔案,也可以儲存為一張圖片。)

    UML元件圖如下:

    5.UML部署圖

    UML部署圖用於表現軟體部署的物理裝置資訊。

    具體步驟如下:

    啟動StarUML軟體。建立一個空的Component Diagram。(選中右上角的“Model Explorer”中的“Use Case Model”;右鍵單擊“Use Case Model”並選中彈出選單“Add Diagram”中的“Deployment Diagram”;建立了一個空的類圖之後可以看到“Toolbox”中有“Node”等供使用者選擇使用。)繪製UML部署圖。儲存。(可以儲存為一個UML檔案,也可以儲存為一張圖片。)

    UML部署圖如下:

    6.UML時序圖

    UML時序圖用於表現一段時間內多個物件之間的互動資訊,時序圖強調訊息互動的時間順序。

    具體步驟如下:

    啟動StarUML軟體。建立一個空的Sequence Diagram。(選中右上角的“Model Explorer”中的“Use Case Model”;右鍵單擊“Use Case Model”並選中彈出選單“Add Diagram”中的“Sequence Diagram”;建立了一個空的類圖之後可以看到“Toolbox”中有“Object”等供使用者選擇使用。)繪製UML時序圖。儲存。(可以儲存為一個UML檔案,也可以儲存為一張圖片。)

    UML時序圖如下:

    7.UML協作圖

    UML協作圖用於表現一定範圍內物件之間協作的資訊,強調參與資訊交流的物件之間的組織結構。

    具體步驟如下:

    啟動StarUML軟體。建立一個空的Collaboration Diagram。(選中右上角的“Model Explorer”中的“Use Case Model”;右鍵單擊“Use Case Model”並選中彈出選單“Add Diagram”中的“Collaboration Diagram”;建立了一個空的類圖之後可以看到“Toolbox”中有“Object”、“ForwardSrimulus”、“ReverseStimulus”等供使用者選擇使用。)繪製UML協作圖。儲存。(可以儲存為一個UML檔案,也可以儲存為一張圖片。)

    UML協作圖如下:

    8.UML狀態圖

    UML狀態圖重點強調物件在不同事件觸發時,其內部狀態的變化過程。

    具體步驟如下所示:

    啟動StarUML軟體。建立一個空的Statechart Diagram。(選中右上角的“Model Explorer”中的“Use Case Model”;右鍵單擊“Use Case Model”並選中彈出選單“Add Diagram”中的“Statechart Diagram”;建立了一個空的類圖之後可以看到“Toolbox”中有“State”、“InitialState”、“FinalState”、“Transition”等供使用者選擇使用。)繪製UML狀態圖。儲存。(可以儲存為一個UML檔案,也可以儲存為一張圖片。)

    UML狀態圖如下:

    9.UML活動圖

    UML活動圖用於描述活動的流程。

    具體步驟如下:

    啟動StarUML軟體。建立一個空的Activity Diagram。(選中右上角的“Model Explorer”中的“Use Case Model”;右鍵單擊“Use Case Model”並選中彈出選單“Add Diagram”中的“Activity Diagram”;建立了一個空的類圖之後可以看到“Toolbox”中有“InitialState”、“FinalState”、“Decision”、“ActionState”、“Transition”等供使用者選擇使用。)繪製UML活動圖。儲存。(可以儲存為一個UML檔案,也可以儲存為一張圖片。)

    UML活動圖如下:

    三、類圖關係的圖示

    1、類與繼承泛化(Generalization)泛化關係:是一種繼承關係,表示一般與特殊的關係,它指定了特化父類的所有特徵和行為。箭頭指向:帶三角箭頭的實線,指向父類。程式碼表現:extends

    圖示如下:

    2、介面與實現(Realization)實現關係:是一種類與介面的關係,表示類是介面所有特徵和行為的實現。箭頭指向:帶三角箭頭的虛線,箭頭指向介面或者是直線連線圓圈。程式碼表現:implements

    圖示如下:

    3、依賴(Dependency)依賴關係:是一種使用的關係,即一個類的實現需要另一個類的協助,所以要儘量不適用雙向的相互依賴。箭頭指向:帶箭頭的虛線,箭頭指向需要協助的類。程式碼表現:import。

    圖示如下:

    4、關聯(Association)關聯關係:是一種擁有的關係,它使一個類知道另一個類的屬性和方法;雙向的關聯可以有兩個箭頭或者沒有箭頭,單向的關聯有一個箭頭。箭頭指向:帶普通箭頭的實心線,指向被擁有者。程式碼體現:成員變數

    圖示如下:

    5、聚合(Aggregation)聚合關係:是整體與部分的關係,且部分可以離開整體而單獨存在。箭頭指向:帶空心菱形的實心線,菱形指向整體。程式碼體現:成員變數

    圖示如下:

    6、組合(Composition)組合關係:是整體與部分的關係,但部分不能離開整體而單獨存在。箭頭指向:帶實心菱形的實線,菱形指向整體。程式碼體現:成員變數

    圖示如下:

  • 中秋節和大豐收的關聯?
  • 54歲了還想生孩子已經更年期沒月經了,還能生麼?