練習 2.2:識別類別

在這個練習中,您將識別組成 PiggyBank 線上銀行系統的主要物件。您可以將這些物件描述成類別, 因為 UML 類別提供了一個便利的範本來說明物件的屬性和關係。您可以藉由分析專案需求文件以及強調顯示所有的名詞, 來探索主要的 PiggyBank 物件。您可以將通用的名詞組成一份清單, 然後將它們當作實體、控制器或界限類型的類別來加以識別。這些類別會建立領域圖型, 之後這些圖型會組成設計模型的基礎。

分析模型的其中一個重要輸出是領域模型。領域模型會試圖建立應用程式的靜態結構模型, 方法為參與功能作業的主要動作者和實體建立模型。領域模型是由一或多個基本類別圖型所組成, 它們會說明類別名稱以及用來說明其規則的一或兩個主要屬性。領域圖型是系統的大致藍圖。

在建立您的領域圖型之前,您必須識別在專案使用案例文件中說明的 PiggyBank 線上銀行系統主要類別。 通常,這個步驟是反覆的,因為在您瞭解系統組件彼此之間的運作方式之前, 可能很難識別系統的適當結構並且建立其模型。在分析使用案例文件期間,您會建立物件清單, 然後在建置系統動態模型時,您可以藉由新增、移除或重組類別來修改您的清單。這個指導教學中已經為您識別需求文件中所說明的主要類別。

如果要識別主要的 PiggyBank 物件,就必須先分析使用案例文件,然後列出所有發生的名詞。這份清單提供組成領域圖型的實體、 控制器和界限元素的基礎。下列清單包含 PiggyBank 使用案例文件中所說明的全部名詞:

  • 客戶
  • 帳戶 (Account)
  • 擁有者 (Owner)
  • 客戶 ID (Customer ID)
  • 帳號 (Account number)
  • 帳戶餘額 (Account balance)
  • 貸方帳戶號碼 (Credit account number)
  • 借方帳戶號碼 (Debit account number)
  • 金額 (Amount)
  • 支票 (Check)
  • 支票參照 (Check reference)
  • 支票金額 (Check amount)
  • 記入貸方金額 (Amount to credit)
  • CityBank 帳戶 (CityBank account)
  • 轉帳 (Transfer)

如果要修正這份清單,您可以除去代表物件實例、其他物件所屬物件、重複或相關物件, 以及代表系統非重要組件的任何其他物件的名詞。請記住, 這是一個反覆的程序。在實際的狀況中,您在完成領域模型時會修正這份清單, 而當您開始為分析模型的動態元素建立模型時也會修正。在這個指導教學中,提供了下列候選類別的修正清單:

  • 客戶
  • 帳戶
  • 支票
  • 轉帳

領域模型的基礎是由四個類別組成。這份修正過的物件清單可能是代表實體類別, 因為實體類別通常是最容易探索的。剩餘的類別(可能是實例或這些類別的屬性)則說明主要類別的詳細資料, 另外也提供類別之間的關係的相關資訊。

套用 RUP 造型至類別

在識別類別清單後, 您可以套用造型,以根據類別的規則來組織它們。造型可根據物件的類似特性或功能來組織它們, 使物件一般化。RUP® 分析造型可將類別分類成三種造型來說明類別的行為:實體、界限或控制器。 您可以使用這些已套用造型的類別來為您的系統建立領域圖型。下表說明 RUP 分析元素:

元素 說明
RUP 分析元素:界限類別

界限類別說明系統和動作者之間的介面。如果動作者是人類, 則界限類別通常是說明存取系統的軟體或硬體介面。如果動作者是系統(如電腦或其他軟體應用程式), 則界限類別通常是代表軟體介面,例如 API。

RUP 分析元素:控制類別

控制類別包含商業規則與邏輯的實作。控制類別是刻意由使用者擷取的, 而且只有界限類別可以存取它們。控制類別可以和一或多個實體類別互動。

RUP 分析元素:實體類別

實體類別會攫取系統中的資料。

您可以將這些基本造型套用至您的類別清單中,來進一步瞭解系統的結構和功能。當您根據類別的功能來組織它們時, 就可以開始區別系統領域以及實作的詳細資料。在下列練習中,您可以使用這些造型來建立領域圖型和序列圖。

如果要繼續,請繼續進行練習 2.3:建立 PiggyBank 領域模型圖型

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