B2 題型分析:領域塑模與文本分析詳解

歷屆 B2 試題的考核核心完全固定為「領域塑模與文本分析(Domain Modeling & Textual Analysis)」。旨在測驗學生如何從一段需求描述(Problem Statement)中,淬取出系統的靜態結構。通常分為 (a) 文本分析(填寫類別與理由)(b) 繪製初步類別圖

一、標準解題 5 步驟 (文本分析標準作業流程)

Step 1: 尋找名詞 (Find Nouns) 仔細閱讀 Problem Statement,把所有的名詞與名詞片語圈出來。這些名詞包含了潛在的類別、屬性、或是干擾項。
Step 2: 過濾名詞並分類 (解答 B2a 的關鍵) 將圈出的名詞進行篩選。如果是系統中需要獨立存在的實體,列為「候選類別」,並根據 6 大分類填入理由。若只是特徵或系統本身,則捨棄。
Step 3: 尋找動詞以建立關聯 (Identify Associations) 重新閱讀文章,尋找連接兩個候選類別的「動詞或動詞片語」(如:Customer orders Coffee),這將成為初步類別圖中的實線與關聯名稱。
Step 4: 建立繼承結構 (Inheritance) 觀察是否有「是一種 (is-a-kind-of)」的關係。例如 Normal Course 與 Signature Course 都是 Training Course 的子類別。
Step 5: 繪製初步類別圖 (解答 B2b 的關鍵) 畫出矩形框,只寫類別名稱,不寫屬性與方法。用實線連接並標上動詞名稱。若題目有要求,則補上多重性。

二、(B2a 必背) 候選類別的 6 大合法分類 (Categories)

當你在 B2(a) 被要求寫出 "Reason" 或 "Category" 時,絕對不能自己發明詞彙,必須從以下 6 個標準類別中挑選並背誦其英文:

分類英文 (必背) 中文意義 常見範例 (Examples)
Tangible things 實體事物 / 物理物件 Classroom, Tennis court, Assessor, Coffee, Vaccine
Conceptual things 概念事物 (非物理存在) Course, Module, Subscription, Member
Events / Transactions 事件 / 交易紀錄 (發生在特定時間) Booking, Trade order, Payment, Test, Delivery
Roles played 人或組織扮演的角色 Customer, Buyer, Seller, Clinic Nurse, Manager
Outside organizations 外部組織機構 Publisher, Supplier, Stock exchange
Other systems 互動的外部電腦系統 Payment Gateway, SMS gateway, Grade reporting system

三、(觸類旁通) 應被排除的名詞與 7 大理由 (Reasons for Omission)

若考題突襲問你「為何某個名詞不能選為類別?」,必須精準寫出以下 7 大排除理由之一:

排除理由 (Reason for Omission) 說明與範例
Redundant classes (重複/同義) 兩個詞代表同個東西,應選擇最具描述性的 (如 order 與 trade order 同義,保留 trade order)。
Irrelevant classes (不相關/超出範圍) 與系統要解決的問題無直接關係 (如 monthly charge, sports club 公司本身)。
Vague classes (模糊不清) 定義過於寬鬆或模糊的詞 (如 information, details)。
Attributes (屬性) 只是用來描述某物件的特徵 (如 ID, address, closing date, price)。
Operations (操作/動作) 實際上是某個類別要執行的動作 (如 registration process, bidding process)。
Implementation constructs (實作細節) 屬於底層開發的技術名詞,不該出現在領域分析 (如 computer, database)。
Instances (實例/具體物件) 它是某個類別的具體資料,而不是類別藍圖 (如 Hong Kong Bank 是銀行的一個實例)。

四、(B2b 重點) 初步類別圖圖解與高階關係

⚠️ B2(b) 畫圖致命陷阱:
題目通常會標註 "Attributes/methods of classes and association classes are NOT required"。請畫最簡單的空方塊(只有頂層類別名稱)。畫蛇添足寫出屬性反而會增加寫錯被扣分的風險!
Customer
orders ▶
1 0..*
Subscription
contains ▶
0..* 1
Coffee

進階關係擴充 (觸類旁通):

五、(觸類旁通) 結構塑模的完整 7 步驟與繼承推導

歷屆 B2 其實是從「結構塑模 7 步驟」中抽考了其中幾步。為了應付簡答題,請背誦完整流程: