練習 2.10:建立 Cash Check 序列圖

在這個練習中,您將建立 Cash Check 序列圖。 Cash Check 序列圖顯示 Cash Check 功能作業的工作流程。

Cash Check Participants 圖型會建立 Cash Check 功能作業中的類別結構的模型。這個圖型也會顯示 每一個類別之間的關係;然而,它並不會說明功能作業的工作流程。使用案例實現會使用序列圖來說明這個靜態資訊。

Cash Check 序列圖會顯示當使用者按一下主功能表的 Cash Check 時所發生的步驟。圖型會將使用案例參與者建立成生命線模型, 並且將資料流程建立成訊息模型,以指出使用案例的工作流程。 當您為序列圖中的使用案例工作流程建立模型時,您會探索每一個類別中存在的作業。當您在 Cash Check 序列圖中探索和建立作業時,您可以完成 Cash Check 參與者圖型。

建立系統模型是一個反覆的程序。當您在探索系統詳細資料時,您隨時可以修改序列圖。在這個指導教學中,您將建立完整的 Cash Check 序列圖。

建立 Cash Check 序列圖和生命線

在建立工作流程的模型之前,您必須先建立序列圖的生命線的模型。 使用案例參與者會組成序列圖的生命線。

建立序列圖和生命線:
  1. 模型瀏覽器視圖中, 展開 Account Operations,展開 «use case realization» Transfer Money,展開 «use case realization» Cash Check - Basic Flow,然後按兩下 «use case realization» Cash Check - Basic Flow 圖型。
  2. 模型瀏覽器視圖中,展開使用案例模型, 展開 Account Operations,按一下 Teller 動作者,然後將他拖曳到圖型中。
  3. 模型瀏覽器視圖中,展開 Account Operations Analysis Elements,按一下 MenuForm 類別, 然後將它拖曳到 Teller 生命線的右邊。
  4. 模型瀏覽器視圖的分析模型中, 在 Account Operations Analysis Elements 套件中,按一下 CashCheckForm 類別, 然後將它拖曳到 MenuForm 生命線的右邊。
  5. 模型瀏覽器視圖的 Account Operations Analysisi Elements 套件中, 按一下 CashCheckSummaryForm 類別,然後將它拖曳到 CashCheckForm 生命線的右邊。
  6. 模型瀏覽器視圖的Account Operations Analysisi Elements 套件中, 按一下 CashCheckControl 類別,然後將它拖曳到 CashCheckSummaryForm 生命線的右邊。
  7. 模型瀏覽器視圖的 Account Operations Analysisi Elements 套件中, 按一下 Account 類別,然後將它拖曳到 CashCheckControl 生命線的右邊。
  8. 按一下 Account 生命線,然後在內容視圖中的一般頁面上, 將生命線命名為 credit
  9. 模型瀏覽器視圖的 Account Operations Analysisi Elements 套件中,按一下 CityBank 類別,然後將它拖曳到 Account 生命線的右邊。
  10. 模型瀏覽器視圖中,展開 Use CaseModel,展開Account Operations, 按一下 CityBank 動作者,然後將它拖曳到 Account 生命線的右邊。

您現在已經建立 Cash Check 序列圖的生命線。生命線代表您在 Cash Check Participants 圖型中所識別的參與者。生命線會照順序來組織, 並且根據圖型左側的主要訊息起始類別來排列。CityBank 生命線有兩個。第一個 CityBank 生命線代表用來驗證 PiggyBank 交易的 CityBank 銀行系統。第二個 CityBank 生命線代表 CityBank 機構,它會參照您在使用案例圖中所建立的 CityBank 動作者。

建立訊息流程的模型

這個練習會建立序列圖中的訊息流程的模型。序列圖中的訊息是指系統中的類別之間的資料流程。

建立 select Cash Check 訊息:
  1. 在「選用區」中,按一下非同步訊息
  2. 在圖型編輯器中,按一下 Teller 生命線, 然後將游標拖曳到 MenuForm 生命線。
  3. 在圖型編輯器中,按一下任何一處。
  4. 輸入作業名稱視窗中, 將訊息命名為 select Cash Check

建立 display 訊息:
  1. 在「選用區」中,按一下非同步訊息
  2. 在圖型編輯器中,按一下 MenuForm 生命線, 然後將它拖曳到 CashCheckForm 生命線。
  3. 輸入作業名稱視窗中, 將訊息命名為 display

建立 fill in and submit 訊息:
  1. 在「選用區」中,按一下非同步訊息
  2. 在圖型編輯器中,按一下 Teller 生命線, 然後將它拖曳到 CashCheckForm 生命線。
  3. 在「內容」視圖的一般頁面中, 將訊息命名為 fill-in and submit

建立 cashCheck 訊息:
  1. 在「選用區」中,按一下非同步訊息
  2. 在圖型編輯器中,按一下 CashCheckForm 生命線, 然後將它拖曳到 CashCheckControl 生命線。
  3. 輸入作業名稱視窗中, 將訊息命名為 cashCheck

建立 findForCustomer 訊息:
  1. 在「選用區」中,按一下非同步訊息
  2. 在圖型編輯器中,按一下 CashCheckControl 生命線, 然後將它拖曳到 credit:Account 生命線。
  3. 在圖型編輯器中,按一下任何一處。
  4. 輸入作業名稱視窗中, 將訊息命名為 findForCustomer

建立 cashCheck 訊息:
  1. 在「選用區」中,按一下非同步訊息
  2. 在圖型編輯器中,按一下CashCheckControl 生命線, 然後將它拖曳到 CityBank 生命線。
  3. 在圖型編輯器中,按一下任何一處。
  4. 輸入作業名稱視窗中, 將訊息命名為 cashCheck

建立 cashCheck 訊息:
  1. 在「選用區」中,按一下非同步訊息
  2. 在圖型編輯器中,按一下 CityBank 生命線, 然後將它拖曳到 CityBank 動作者生命線。
  3. 輸入作業名稱視窗中, 將訊息命名為 cashCheck ( checkReference, amount )

建立 deposit 訊息:
  1. 在「選用區」中,按一下非同步訊息
  2. 在圖型編輯器中,按一下 CashCheckControl 生命線, 然後將它拖曳到 credit:Account 生命線。
  3. 按一下圖型編輯器中的任何一處。
  4. 輸入作業名稱視窗中, 將訊息命名為 deposit ( amount )

建立 display 訊息:
  1. 在「選用區」中,按一下非同步訊息
  2. 在圖型編輯器中,按一下 CashCheckControl 生命線, 然後將它拖曳到 CashCheckSummaryForm 生命線。
  3. 輸入作業名稱視窗中, 將訊息命名為 display

您已經建立 Cash Check 序列圖的模型。序列圖會顯示當使用者按一下主功能表的 Cash Check 時所發生的步驟順序。當出納員按一下 Cash Check 時,會傳送一則訊息給 CashCheckForm 類別, 該類別會在畫面上顯示一個表單。出納員填寫表單之後,表單會傳送到 CashCheckControl 類別來進行處理。 CashCheckControl 類別會搜尋帳戶,然後傳送一則內含交易資訊的訊息給 CityBank。 然後 CityBank 會將支票兌現。CashCheckControl 類別會呼叫 credit:Account 類別的 deposit 方法,然後在 PiggyBank 帳戶中兌現支票。之後會顯示一則訊息給使用者。 您的圖型看起來應該與下圖類似:

Cash Check 序列圖。

Cash Check 序列圖會完成 Cash Check 使用案例實現。您已經建立 Cash Check 功能作業的靜態和動態資訊的模型。如果您開啟 Cash Check 參與者圖型, 則圖型會包含您在序列圖中以訊息方式建立的作業。Cash Check 參與者圖型看起來應該與下圖類似:

Cash Check 參與者圖型。
附註:由於 Cash Check 序列圖只包含一個資料流程, 您可以從模型瀏覽器視圖中刪除 «use case realization» Cash Check - Alternative Flow n 套件。 這個套件是包含在範本中,但您不需要它。如果要刪除套件,請在模型瀏覽器視圖中, 用滑鼠右鍵按一下 «use case realization» Cash Check - Alternative Flow n 套件;然後按一下「從模型中刪除」。

如果要繼續,請繼續進行練習 2.11:記載分析類別

使用條款 | 意見
(C) Copyright IBM Corporation 2004, 2005. All Rights Reserved.