面向物件分析與設計 - UML 分析模型



統一建模語言 (UML) 是一種面向物件分析與設計的圖形化語言,它提供了一種標準的方式來編寫軟體系統的藍圖。它有助於視覺化、規範化、構建和記錄面向物件系統的工件。它用於描述複雜系統中的結構和關係。

簡史

它誕生於 20 世紀 90 年代,是幾種技術的融合,主要包括 Grady Booch 的面向物件分析與設計技術、James Rumbaugh 的 OMT(物件建模技術)和 Ivar Jacobson 的 OOSE(面向物件軟體工程)。UML 試圖標準化面向物件分析與設計的語義模型、語法符號和圖。

UML 中的系統和模型

系統 - 一組為了實現某些目標而組織在一起的元素構成一個系統。系統通常被劃分為子系統,並由一組模型來描述。

模型 - 模型是對系統的簡化、完整和一致的抽象,用於更好地理解系統。

檢視 - 檢視是從特定角度對系統模型的投影。

UML 的概念模型

UML 的概念模型包含三個主要元素:

  • 基本構建塊
  • 規則
  • 通用機制

基本構建塊

UML 的三個構建塊是:

  • 事物
  • 關係

事物

UML 中有四種事物:

  • 結構事物 - 這些是 UML 模型中的名詞,代表靜態元素,可以是物理的或概念的。結構事物包括類、介面、協作、用例、活動類、元件和節點。

  • 行為事物 - 這些是 UML 模型中的動詞,表示隨時間和空間變化的動態行為。兩種行為事物是互動和狀態機。

  • 分組事物 - 它們構成 UML 模型的組織部分。只有一種分組事物,即包。

  • 註釋事物 - 這些是 UML 模型中的解釋,表示用於描述元素的註釋。

關係

關係是事物之間的連線。UML 中可以表示的四種關係是:

  • 依賴 - 這是兩個事物之間的語義關係,其中一個事物的變化會導致另一個事物的變化。前者是獨立的事物,後者是依賴的事物。

  • 關聯 - 這是一種結構關係,表示具有共同結構和共同行為的一組鏈路。

  • 泛化 - 這表示泛化/特化關係,其中子類繼承自超類的結構和行為。

  • 實現 - 這是兩個或多個分類器之間的語義關係,其中一個分類器規定了一個契約,其他分類器必須遵守。

圖是對系統的圖形表示。它通常由一組元素組成,通常以圖形的形式表示。UML 總共包括九種圖:

  • 類圖
  • 物件圖
  • 用例圖
  • 序列圖
  • 協作圖
  • 狀態圖
  • 活動圖
  • 元件圖
  • 部署圖

規則

UML 有許多規則,以便模型在語義上自洽,並與系統中的其他模型和諧地關聯。UML 對以下方面有語義規則:

  • 名稱
  • 範圍
  • 可見性
  • 完整性
  • 執行

通用機制

UML 有四種通用機制:

  • 規範
  • 修飾
  • 常見劃分
  • 擴充套件機制

規範

在 UML 中,每個圖形符號背後都有一個文字語句表示語法和語義。這些是規範。規範提供了一個語義底板,其中包含系統的各個部分以及不同路徑之間的關係。

修飾

UML 中的每個元素都有唯一的圖形符號。此外,還有表示元素重要方面的符號,例如名稱、範圍、可見性等。

常見劃分

面向物件系統可以以多種方式劃分。兩種常見的劃分方式是:

  • 類和物件的劃分 - 類是對一組相似物件的抽象。物件是系統中實際存在的具體例項。

  • 介面和實現的劃分 - 介面定義了互動規則。實現是介面中定義規則的具體實現。

擴充套件機制

UML 是一種開放式語言。可以以受控的方式擴充套件 UML 的功能,以滿足系統的要求。擴充套件機制包括:

  • 構造型 - 它擴充套件了 UML 的詞彙表,透過它可以從現有構建塊建立新的構建塊。

  • 標記值 - 它擴充套件了 UML 構建塊的屬性。

  • 約束 - 它擴充套件了 UML 構建塊的語義。

廣告