A3 題型分析:行為塑模 (活動圖與狀態機圖) 解題詳解
歷屆 A3 試題的考核核心完全固定為「行為塑模(Behavior Modeling)」。題目會給定一段使用者與系統互動的操作流程,要求學生將文本解構,並分別畫出著重流程先後順序的活動圖 (Activity Diagram),以及著重系統狀態轉換的狀態機圖 (State Machine Diagram)。
一、標準解題 3 步驟 (解構流程與事件)
Step 1: 文本拆解與標註
閱讀題目時,將句子拆分為「使用者動作 (Actor input / Event)」與「系統回應 (System response / Action)」。圈出所有的條件判斷(例如:如果密碼正確、如果不夠分數),這些將成為「決策節點」與「防衛條件」。
Step 2: 繪製 (a) 活動圖 (Activity Diagram)
著重於「動作的先後順序」。將每個步驟轉換為圓角矩形,並以「動詞 + 名詞」命名(如:enter password)。遇到條件分支時畫出菱形,射出的箭頭旁務必用中括號寫上條件 [condition]。
Step 3: 繪製 (b) 狀態機圖 (State Machine Diagram)
著重於「系統處於什麼情況」。將活動圖的動作轉換為「等待中」的狀態(形容詞或 V-ing,如 Waiting for login)。最關鍵的是精準標示箭頭上的「轉換標籤(Transition)」。
二、致命考點:狀態機圖「轉換 (Transition)」黃金公式
★ A3(b) 死穴:沒有寫對格式會大量失分 ★
Event [Guard Condition] / Action
( 觸發事件 [防衛條件] / 系統動作 )
範例:press button [cancel button pressed] / display login screen
範例:login [correct id and password] / display department list
三、活動圖 (Activity Diagram) 符號與擴充考點
除了基礎流程,必須防範突襲考出迴圈或並行處理:
enter password
動作狀態
(Action state)
需為"動詞+名詞"
決策節點/分支
(Decision node)
箭頭須帶 [condition]
分岔與會合
(Fork & Join)
代表並行處理(Concurrency)
- 迴圈 (Loop / Iteration): 歷屆常考輸入錯誤返回上一步,畫法是將帶有
[condition](如 [invalid password])的箭頭直接指回先前的動作節點。
- 物件流 (Object Flow) (擴充): 活動圖可畫出資料物件傳遞,物件畫在直角矩形中,並用虛線箭頭與動作連接。
四、狀態機圖 (State Machine) 符號與擴充考點
狀態代表物件滿足某種條件的屬性值抽象化,會佔據一段時間。
entry / readCard
do / verifyData
exit / ejectCard
狀態內部詳細行為 (擴充)
若題目描述「進入/離開時做什麼」必寫
- 內部動作三大關鍵字 (觸類旁通必背):
entry / action (進入時立刻執行一次)、
do / activity (停留期間持續進行)、
exit / action (離開時執行一次)。
- 複合狀態與循序子狀態 (Composite State) (擴充): 當狀態(如 dispensing)內部還包含多個步驟,可畫一個大方塊,裡面包著完整的子流程。
- 並行子狀態 (Concurrent Substates) (擴充): 複合狀態內有互不干擾的兩組變化同時進行,在大框內畫一條虛線 (Dashed line)分隔。
- 歷史狀態 (History State) (擴充): 以包含字母
H 的圓圈表示。系統中斷離開後若返回,會跳回上次中斷前的最後子狀態,而非重頭開始。