UML 2.0 - 概述



UML 2.0 在統一建模語言的世界中是一個完全不同的維度。它更加複雜和廣泛。與 UML 1.5 版本相比,文件的範圍也增加了。UML 2.0 添加了新功能,使其用途更加廣泛。

UML 2.0 添加了形式化和完全定義語義的定義。這種新的可能性可用於模型的開發,並且可以從這些模型生成相應的系統。但是,要利用這個新維度,必須付出相當大的努力來獲取知識。

UML 2.0 的新維度

在最新的 UML 2.0 版本中,UML 的結構和文件進行了徹底的修訂。現在有兩個文件可以描述 UML:

  • UML 2.0 基礎結構定義了 UML 基於的語言的基本構造。本節與 UML 使用者沒有直接關係。這更多地針對建模工具的開發者。本教程不包含此方面的內容。

  • UML 2.0 超結構定義了 UML 2.0 的使用者構造。這意味著 UML 的那些元素將被使用者在直接級別使用。這是 UML 使用者社群的主要關注點。

UML 的這次修訂是為了實現一個目標,即重組和改進 UML,以便簡化可用性、實現和適應。

UML 基礎結構用於:

  • 提供可重用的元語言核心。這用於定義 UML 本身。

  • 提供調整語言的機制。

UML 超結構用於:

  • 為基於元件的開發提供更好的支援。

  • 改進架構規範的構造。

  • 為行為建模提供更好的選項。

需要注意的重要一點是上面描述的主要劃分。這些劃分用於提高 UML 的可用性並明確其用途。

在這個新版本中已經提出了另一個維度。這是一個關於全新的物件約束語言 (OCL) 和圖交換的提案。這些功能共同構成了完整的 UML 2.0 包。

UML 2.0 中的建模圖

建模互動

UML 2.0 中描述的互動圖與早期版本不同。但是,基本概念與早期版本相同。主要區別在於 UML 2.0 中的圖增加了增強功能和附加功能。

UML 2.0 透過以下四種不同的方式對物件互動進行建模。

  • 序列圖是對物件之間互動的時間依賴檢視,以實現系統的行為目標。時間順序與早期版本的序列圖類似。可以在系統設計的任何抽象級別設計互動,從子系統互動到例項級別。

  • 通訊圖是 UML 2.0 中新增的新名稱。通訊圖是從 UML 1.4 和早期版本的協作圖概念中獲取的物件之間訊息傳遞的結構檢視。這可以定義為協作圖的修改版本。

  • 互動概述圖也是 UML 2.0 中的新增內容。互動概述圖描述了組合成邏輯序列的一組互動的高階檢視,包括用於在互動之間導航的流程控制邏輯。

  • 時序圖也是 UML 2.0 中新增的。它是一個可選的圖,旨在指定在互動過程中傳送和接收的訊息的時間約束。

從上述描述中,需要注意的是所有圖的目的都是傳送/接收訊息。這些訊息的處理對物件來說是內部的。因此,物件也有接收和傳送訊息的選項,這裡出現另一個重要的方面,稱為介面。現在這些介面負責相互接受和傳送訊息。

因此可以得出結論,UML 2.0 中的互動以不同的方式描述,這就是為什麼新的圖名稱出現的原因。如果我們分析新的圖,很明顯所有圖都是基於早期版本中描述的互動圖建立的。唯一的區別是 UML 2.0 中新增的附加功能,使圖更有效率和麵向目標。

建模協作

正如我們已經討論過的,協作用於模擬物件之間常見的互動。我們可以說協作是一種互動,其中一組訊息由具有預定義角色的一組物件處理。

需要注意的重要一點是早期版本和 UML 2.0 版本中協作圖的區別。為了區分,UML 2.0 中協作圖的名稱已更改。在 UML 2.0 中,它被稱為通訊圖

因此,協作定義為具有屬性(特性)和行為(操作)的類。協作類上的隔間可以由使用者定義,並可用於互動(序列圖)和結構元素(組合結構圖)。

下圖將觀察者設計模式建模為可觀察項角色中的物件與任意數量的物件作為觀察者之間的協作。

Collaboration diagram

建模通訊

通訊圖與早期版本的協作圖略有不同。我們可以說它是早期 UML 版本的簡化版本。通訊圖的區分因素是物件之間的連結。

這是一個視覺化連結,在序列圖中缺少。在序列圖中,即使物件之間沒有連結,也只顯示物件之間傳遞的訊息。

通訊圖用於透過使用物件圖格式作為訊息傳遞的基礎來防止建模者犯此錯誤。通訊圖上的每個物件都稱為物件生命線。

通訊圖中的訊息型別與序列圖中的相同。通訊圖可以對同步、非同步、返回、丟失、找到和物件建立訊息進行建模。

下圖顯示了一個具有三個物件和兩個連結的物件圖,它們構成了通訊圖的基礎。通訊圖上的每個物件都稱為物件生命線。

Communication diagram

建模互動概述

在實際使用中,序列圖用於模擬單個場景。許多序列圖用於完成整個應用程式。因此,在模擬單個場景時,可能會忘記整個過程,這可能會引入錯誤。

為了解決這個問題,新的互動概述圖結合了活動圖中的控制流程和序列圖中的訊息規範。

活動圖使用活動和物件流來描述一個過程。互動概述圖使用互動和互動出現。序列圖中發現的生命線和訊息僅出現在互動或互動出現中。但是,參與互動概述圖的生命線(物件)可以與圖名一起列出。

下圖顯示了一個具有決策菱形、框架和終止點的互動概述圖。

Interaction diagram

建模時序圖

該圖的名稱本身就描述了該圖的目的。它基本上處理整個生命週期中事件的時間。

因此,時序圖可以定義為一種特殊用途的互動圖,用於關注物件在其生命週期中的事件。它基本上是狀態機和互動圖的混合體。時序圖使用以下時間線:

  • 狀態時間線

  • 一般值時間線

時序圖中的生命線在框架的內容區域內形成一個矩形空間。它通常水平對齊,從左到右讀取。多個生命線可以堆疊在同一個框架內以模擬它們之間的互動。

Timing diagram

總結

UML 2.0 是一個增強的版本,其中添加了新功能以使其更易於使用和更高效。UML 2.0 有兩大類,一個是 UML 超結構,另一個是 UML 基礎結構。儘管新的圖基於舊的概念,但它們仍然具有一些附加功能。

UML 2.0 提供了四種互動圖:序列圖、通訊圖、互動概述圖和可選的時序圖。所有四個圖都使用框架符號來包含互動。框架的使用支援將互動作為互動出現重用。

廣告