觀察實現(Realize)使用案例的系統內部物件之間的互動合作

使用案例(Use Case)是表達系統的外觀,即系統功能,以滿足參與者使用系統的目的。

使用案例是需求分析很重要的關鍵技術,也是採用以物件導向思維的方式來開發系統的重要前導工具。但請記得,使用案例無法表達系統內部的結構(Structure)。

系統內部有其結構的分析與設計。以物件導向思維的模式來開發系統時,結構的分析與設計即在於建立物件模型(Object Model),並利用互動(interaction)圖來描述物件之間的合作情形。

我們可以把使用案例當作是一個個小型的迷你系統,然後利用如下圖的表達方式,即以虛線的橢圓形連結實線的橢圓形,其內的名稱均填上同樣的使用案例名稱,例如 “Place Orader”。
虛線的橢圓形表達其內有許多各類不同角色的物件來參與完成,或稱之為實現(Realize)使用案例。

所以,虛線的橢圓形所參與的物件,已經牽涉到了系統內部的結構分析與設計。

觀察下圖,會發現參與實現使用案例的物件有不同的圖示表達,也就代表了系統內部的物件,不僅僅是從功能面來區分物件,更因為是觀察系統變更的程度而區分出物件的生命週期:

  • 處於系統及它的參與者(Actors)之間的界限(boundary)。
  • 系統使用的資訊(information)。
  • 系統的控制邏輯(control logic)。
  • 擔負控制邏輯的責任,是為 “控制物件(Control Object)”。
  • 基於擔負著分隔變動週期界線,是為 “邊界物件(Boundary Object)”。例如 UI Form 物件、負責連結資料庫的永續性物件(persistent object)。
  • 擔負領域(Domain)內企業邏輯(Business logic)的物件,稱之為 “實體或本質(Entity)物件”。整個物件群中,實體物件具最穩定的本質,因為一般它與領域上的概念(Domain Concept)是一致的,所以可重用性(Reuse) 的程度也是最高的。

使用案例的實現會包含上述三種分析類別的參與,使得系統更具彈性度與延展性。

系統內部物件之間的互動合作以實現使用案例