練習 2.8:建立 Transfer Money 序列圖

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

Transfer Money 參與者圖型會建立 Display Balance 功能作業中的類別結構的模型。這個圖型也會顯示 每一個類別之間的關係;然而,它並不會說明功能作業的工作流程。使用案例實現必須依賴序列圖來說明這個靜態資訊。

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

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

建立 Transfer Money 序列圖和生命線

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

建立序列圖和生命線:
  1. 模型瀏覽器視圖中, 展開 Account Operations,展開 «use case realization» Transfer Money,展開 «use case realization» Transfer Money - Basic Flow,然後按兩下 «use case realization» Transfer Money - Basic Flow 圖型。
  2. 模型瀏覽器視圖中,展開 Use CaseModel,然後在 Account Operations 套件中, 按一下客戶動作者,然後將他拖曳到圖型中。
  3. 模型瀏覽器視圖的 Account Operations Analysis Elements 套件中, 按一下 MenuForm 類別,然後將它拖曳到 Customer 生命線的右邊。
  4. 模型瀏覽器視圖的 Account Operations Analysis Elements 套件中, 按一下 TransferMenuForm 類別,然後將它拖曳到 MenuForm 生命線的右邊。
  5. 模型瀏覽器視圖的 Account Operations Analysis Elements 套件中, 按一下 TransferMoneySummaryForm 類別, 然後將它拖曳到 TransferMenuForm 生命線的右邊。
  6. 模型瀏覽器視圖的 Account Operations Analysis Elements 套件中, 按一下 TransferMoneyControl 類別,然後將它拖曳到 TransferMoneySummaryForm 生命線的右邊。
  7. 模型瀏覽器視圖的 Account Operations Analysis Elements 套件中, 按一下 Account 類別,然後將它拖曳到 TransferMoneySummaryForm 生命線的右邊。
  8. 按一下 Account 生命線, 然後在「內容」視圖中的一般頁面上, 將生命線命名為 debit
  9. 模型瀏覽器視圖的 Account Operations Analysis Elements 套件中, 按一下 Account 類別,然後將它拖曳到 debit:Account 生命線的右邊。
  10. 按一下 Account 生命線,然後在內容視圖中的一般頁面上, 將生命線命名為 credit
  11. 模型瀏覽器視圖的 Account Operations Analysis Elements 套件中, 按一下 Transfer 類別,然後將它拖曳到 credit:Account 生命線的右邊。

您現在已經建立 Transfer Money 序列圖的生命線。生命線代表您在 Transfer Money 參與者圖型中所識別的參與者。生命線會照順序來組織, 並且根據圖型左側的主要訊息起始類別來排列。請注意,Account 參與者在圖型中會出現兩次。一個 Account 生命線代表記入帳戶借方,另一個 Account 生命線代表記入帳戶貸方。

建立訊息流程的模型

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

建立 select Transfer Money 訊息:
  1. 在「選用區」中,按一下非同步訊息
  2. 在圖型編輯器中,按一下 Customer 生命線, 然後將它拖曳到 MenuForm 生命線。
  3. 在圖型編輯器中,按一下任何一處。
  4. 輸入作業名稱視窗中, 將訊息命名為 select Transfer Money
您已經建立 Transfer Money 功能表項目的模型,它會對應到 MenuForm 類別的 select Transfer Money 作業。當您建立訊息時,已經提示您從「建立新作業」清單中選取一個選項。當您輸入 select Transfer Money, 就已經將新的作業加入到 MenuForm 類別。

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

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

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

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

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

建立 «create»\CalledOperation\ 訊息:
  1. 在「選用區」中的非同步訊息旁, 按向下箭頭,然後按一下建立訊息
  2. 在圖型編輯器中,按一下 TransferMoneyControl 生命線, 然後將它拖曳到 Transfer 生命線。

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

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

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

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

您已經建立 Transfer Money 序列圖的模型。圖型會顯示當使用者按一下主功能表的 Transfer Money 時所發生的步驟順序。當客戶按一下 Transfer Money 時, 會在畫面中顯示一個表單。然後客戶可以填寫表單。表單資料會傳送到 TransferMoneyController 類別,該類別會將訊息與撤銷交易資訊一起傳送到 debit:Account 類別。然後 TransferMoney 類別會將存款交易資訊傳送到 credit:Account 類別。TransferMoneyController 類別會建立 Transfer Money 物件,然後傳送記入借方、記入貸方和金額資訊給該物件,使它可以執行交易。然後會顯示一則訊息給使用者。您的圖型看起來應該與下圖類似:

Transfer Money 序列圖。

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

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

如果要繼續,請至練習 2.9:建立 Cash Check 參與者圖型

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