面向物件分析與設計 - UML行為圖



UML行為圖用於視覺化、指定、構造和記錄系統的動態方面。行為圖可分為以下幾類:用例圖、互動圖、狀態圖和活動圖。

用例模型

用例

用例描述了系統執行的一系列動作,併產生可見的結果。它展示了系統外部的事物與系統本身的互動。用例可以應用於整個系統,也可以應用於系統的一部分。

參與者

參與者表示用例的使用者所扮演的角色。參與者可以是人(例如學生、客戶)、裝置(例如工作站)或其他系統(例如銀行、機構)。

下圖顯示了一個名為“學生”的參與者和一個名為“生成績效報告”的用例的符號。

Notations for Actor and use case

用例圖

用例圖從外部視角展示了系統中元素的行為方式以及如何在上下文中使用它們。

用例圖包括:

  • 用例
  • 參與者
  • 關係,如依賴、泛化和關聯

用例圖用於:

  • 透過將系統的所有活動都包含在一個矩形中,並關注與系統互動的外部參與者來對系統的上下文進行建模。

  • 從外部視角對系統的需求進行建模。

示例

讓我們考慮一個自動交易房屋系統。我們假設系統具有以下功能:

  • 交易所與兩種型別的客戶進行交易,個人客戶和公司客戶。

  • 客戶下單後,由銷售部門處理,並向客戶提供賬單。

  • 系統允許經理管理客戶賬戶並回答客戶提出的任何查詢。

Use Case for Automated Trading House

互動圖

互動圖描述了物件之間的互動及其關係。它們還包括物件之間傳遞的訊息。互動圖有兩種型別:

  • 順序圖
  • 協作圖

互動圖用於對以下內容進行建模:

  • 使用順序圖按時間順序對控制流進行建模。

  • 使用協作圖對控制流的組織進行建模。

順序圖

順序圖是互動圖,它根據時間順序說明訊息的順序。

符號 - 這些圖採用二維圖表的形式。發起互動的物件放置在x軸上。這些物件傳送和接收的訊息放置在y軸上,按照從上到下時間遞增的順序排列。

示例 - 自動交易房屋系統的順序圖如下所示。

Sequence Diagram

協作圖

協作圖是互動圖,它說明了傳送和接收訊息的物件的結構。

符號 - 在這些圖中,參與互動的物件使用頂點表示。連線物件的連結用於傳送和接收訊息。訊息顯示為帶標籤的箭頭。

示例 - 自動交易房屋系統的協作圖如下所示。

Collaboration Diagram

狀態圖

狀態圖顯示了一個狀態機,該狀態機描述了物件從一個狀態到另一個狀態的控制流。狀態機描繪了物件由於事件而經歷的狀態序列以及它們對事件的響應。

狀態圖包括:

  • 狀態:簡單或複合
  • 狀態之間的轉換
  • 導致轉換的事件
  • 由於事件而採取的動作

狀態圖用於對本質上是反應性的物件進行建模。

示例

在自動交易房屋系統中,讓我們將訂單建模為物件並跟蹤其序列。下圖顯示了相應的狀態圖。

State Chart Diagram

活動圖

活動圖描述了在狀態機中正在進行的非原子操作的活動流。活動導致原子操作。

活動圖包括:

  • 活動狀態和動作狀態
  • 轉換
  • 物件

活動圖用於對以下內容進行建模:

  • 參與者眼中看到的流程。
  • 使用流程圖詳細說明操作或計算。

示例

下圖顯示了自動交易房屋系統一部分的活動圖。

Activity Diagram
廣告