準則: 介面
介面用來代表系統的使用者視圖,以及將它的實作隱藏起來。這個準則提出一組用來控管介面規格的規則。
關係
主要說明

命名介面到頁面頂端

  • 指定介面名稱,以反映它在系統中所扮演的角色。
  • 名稱應該短一點,只有 1 或 2 個單字。
  • 名稱中不能含有 "interface" 這個單字;它隱含在模型元素類型中(如 interface)。

說明介面 到頁面頂端

  • 說明應該表達介面的任務。
  • 說明應該有數個句子,最多可以是一個小段落。
  • 說明不應只是重述介面的名稱,它應該闡明介面在系統中所扮演的角色。

定義作業 到頁面頂端

  • 作業名稱應該反映作業的結果。
  • 當作業會設定取得資訊時,在作業名稱中併入 setget 是多餘的。請提供作業的名稱,它與所設定或擷取的模型元素內容名稱相同。如此命名而不含參數的作業會擷取這個內容;如此命名且含有參數的作業會設定這個內容。

範例

name() 會傳回物件的名稱;name(aString) 會將物件名稱設為 aString

  • 作業的說明應該描述作業執行什麼動作,其中包括任何主要演算法以及它傳回什麼值
  • 指定作業的參數名稱來指出傳給作業的資訊。
  • 識別參數類型

建立介面說明文件 到頁面頂端

介面所定義的行為會指定成一組作業。另外,還可能需要傳遞其他資訊:

  • 作業的使用方式及其執行順序(用範例序列圖來說明)。
  • 實現介面的模型元素可能呈現的外部觀察狀態(以狀態機描述,請參閱準則:狀態圖)。
  • 測試實現介面的任何模型元素的行為之測試計劃和 Script。

為了要分組和管理這項資訊,您應該建立一個套件來包含介面和所有相關的工作成果。

提示和要訣 到頁面頂端

每個介面都代表系統中的一條「縫」,系統可以從這裡撕開,再重新建置或設計。介面代表將規格和設計或實作分開。結構良好的介面:

  • 既簡單又完整,提供所有必要作業,又足以指定單一服務
  • 容易理解,提供足以使用和實現介面的資訊,不需要檢查現有的用法或實作
  • 容易親近,提供引導使用者進入主要內容的資訊,又不會用作業的細節來淹沒使用者。

當您繪製介面時,請執行下列動作:

  • 每當您需要簡單指定系統中縫的存在時,請使用「棒棒糖」表示法。子系統通常會有這項需要,但類別不需要。
  • 當您需要呈現服務本身的詳細資料時,請使用展開的「類別」。當指定套件或子系統所提供的服務時,您通常會有這項需要。