引言
穩健性分析,最初由伊瓦爾·雅各布森的物件導向方法提出,但後來被排除在統一模型語言(UML)之外,是軟體工程中一種重要的實務。此方法涉及剖析使用案例的敘述性文字,以識別參與這些使用案例的主要物件集合,並根據其角色對這些物件進行分類。透過此方式,穩健性分析促進了使用案例與領域類別之間的無縫連結,有效契合模型-檢視-控制(MVC)軟體架構。
需要注意的是,穩健性分析並非UML的內建組成部分,但需借助特徵標記(stereotypes)才能有效應用。讓我們深入探討穩健性分析圖中所使用的關鍵符號:

1. 边界物件(或介面物件): 這些是參與者與系統互動的通訊渠道。
2. 實體物件: 通常代表領域模型中的物件,這些實體負責儲存與管理系統資料。
3. 控制物件: 作為邊界物件與實體物件之間的「黏合劑」,控制物件在協調系統功能方面扮演著關鍵角色。在MVC架構中,它們相當於控制器。
穩健性分析圖概覽
為了進一步說明此概念,讓我們以文字格式來考慮一個簡單的使用案例描述:
「從學生詳情頁面,教師點選『新增課程』按鈕,系統顯示課程清單。教師選擇課程名稱後按下『註冊』按鈕,系統將學生註冊至該課程。」
此敘述可轉化為清晰的穩健性分析圖:

此外,您可以在穩健性分析圖的右側附加文字標籤以呈現使用案例描述,提升清晰度與上下文理解。

穩健性分析圖的四項連接規則
為確保一致性並遵循最佳實務,必須記住穩健性分析圖的以下四項基本連接規則:
- 參與者只能與邊界物件互動。
- 邊界物件只能與控制器和參與者通訊。
- 實體物件只能與控制器互動。
- 控制器可以與邊界物件、實體物件及其他控制器通訊,但不能直接與參與者互動。

這些規則確保系統設計具備結構性與效率,並符合模型-檢視-控制模式的原則。
德墨忒爾法則
穩健性分析符合「德墨忒爾法則」(LoD),強調鬆散耦合並最小化軟體單元之間的知識傳遞。該法則鼓勵以下原則:
- 每個單元應對其他單元的知識保持有限,尤其是與其密切相關的單元。
- 單元應僅與其直接的「朋友」(直接合作夥伴)通訊,避免與無關或遠端的單元互動。
- 物件應盡可能少地假設其他物件的結構或特性,以促進資訊隱藏。
這些原則有助於實現模組化且易於維護的軟體設計。
建立穩健性分析的五個步驟
- 分析使用案例文字:首先逐句剖析使用案例文字。
- 識別物件:根據文字內容繪製參與者、邊界物件、實體物件和控制器。
- 建立連結:在圖示元素之間建立連結。
- 保持清晰:確保任何審查圖示的人都能輕鬆將其與使用案例文字對應。
- 精煉使用案例文字:根據需要修改使用案例文字,以消除模糊性,並明確提及邊界物件和實體物件。
穩健性分析扮演著橋樑的角色,將使用案例描述與視覺圖示連結起來,並促進對系統功能的深入理解。
使用 MVC 序列圖開發使用案例情境
在穩健性分析的基礎上,您可以使用一組遵循 MVC 格式的相關序列圖,來建立正常與替代的使用案例情境。在 MVC 序列圖中:
- 實體代表系統資料。
- 邊界作為與系統參與者互動的介面。
- 控制調解邊界與實體之間的互動,協調命令的執行。
MVC 序列圖中的控制器通常對應特定的使用案例情境,並可透過生命線上的特殊標記來視覺區分。

結論
穩健性分析是系統設計中的寶貴工具,有助於將使用案例高效轉化為清晰且結構化的軟體架構。當與 MVC 序列圖結合時,它提供了一種全面的軟體開發方法,促進模組化與可維護性。透過遵循這些實務,您可以確保更順暢的軟體開發流程,並提升專案的整體品質。











