什麼是使用案例?附範例與免費工具

使用案例是一種用於識別系統商業目標的工具。識別使用案例有助於定義系統範圍,確保所發現的需求均與商業價值、需求和策略保持一致。


什麼是使用案例?

使用案例代表某人、某些團體或某些子系統透過與系統互動而要達成的高階商業目標,該系統可以是正在開發的系統,也可以是需要維護的系統,取決於您的軟體專案性質。

Use case

使用案例既不是系統需求,也不是需要實現的功能。事實上,將使用案例與需求分開非常重要,因為你需要一組清晰的使用案例,以幫助你定義商業目標和系統範圍。事實上,需求的收集應在識別使用案例(巨集)之後進行,並進一步拆解為一組對應的使用者故事(商業目標)。

使用案例的圖形化形式

使用案例可以以 UML 使用案例圖來呈現。使用案例在圖中以橢圓形表示,其名稱位於形狀中央。除了使用案例外,典型的使用案例圖還包含另外兩個元素——參與者與連結。

Use case diagram

參與者是一種角色,透過與系統互動來達成一個或多個由使用案例所代表的商業目標。參與者與使用案例之間的互動以關聯(連結)表示。需要注意的是,參與者不一定代表具體的實體(例如:約翰),而僅代表一種角色(例如:客戶)。實際上,一個角色可由不同的人擔任,反之,一個人也可擔任多個角色。

如何識別使用案例?

使用案例是透過與企業所有者或公司高階主管溝通來發現的。我們通常稱他們為商業利益相關者。與商業利益相關者一起識別使用案例非常重要,而不是其他人,因為他們清楚公司的發展方向與實際運作情況。他們也擁有做出商業決策所需的權限與資訊。因此,所識別的使用案例均與公司的商業價值、需求和策略保持一致。

為什麼要使用使用案例?

許多人認為識別使用案例是一個多餘的步驟,他們更願意直接進入系統需求的識別。那麼,使用案例的方法真的無用嗎?

當你準備開發一個大型系統時,通常會涉及許多利益相關者,他們對最終系統有不同的期望,結果導致需求集合龐大且難以管理。使用案例可作為一個佔位符,用來容納一組相關的使用者故事,這些故事共享一個更大的共同商業目標與範圍。

請記住,使用案例是透過與企業所有者及高階主管溝通而發現的,他們負責監督公司成長並具備制定戰略商業決策的能力。由於此原因,使用案例直接反映了目標系統必須達成的商業目標。透過基於使用案例來尋找需求,這些需求極有可能落在系統範圍內,從而實現所有者所期望的商業價值。此外,使用案例也有助於對需求進行有意義的分類。所提出的軟體功能可根據使用案例的重要性來規劃,而非僅依賴一線利益相關者的意見,這些意見可能與企業所有者的期望不完全一致。

使用案例範例

以下是一些用以說明使用案例應用的範例。這裡提供的範例僅供說明之用,並無固定方式可確定針對特定目標系統應識別哪些使用案例。使用案例識別過程的原則始終是與商業利益相關者積極參與和投入的結果。

系統

使用案例

  • 自動櫃員機
    • 提領現金、轉帳、捐款、繳付帳單、更換 PIN
  • 線上相簿
    • 上傳照片、分享照片、刪除照片
  • 健康追蹤應用程式
    • 記錄運動、產生運動統計、挑戰目標

根據上述範例,我們可能會有以下討論:

使用案例產生可觀察的目標

使用案例範例 – 自動櫃員機

自動櫃員機是解釋使用案例或使用案例分析概念的經典範例。你可能會疑惑,為什麼沒有『登入』的使用案例,而這本是所有自動櫃員機操作中不可或缺的步驟。如前所述,使用案例是需要達成的商業目標,它會為與系統互動以達成使用案例的參與者產生可觀察的結果。在此情境中,『登入』只是其他操作的一部分,『登入』本身並不會產生任何可觀察的結果——沒有人只登入自動櫃員機就離開吧?因此,我們不將『登入』視為一個使用案例。

『更換 PIN』難道不夠大,無法成為一個使用案例嗎?答案是:使用案例的識別既不基於使用者需要完成的工作量,也不基於系統功能的數量。只要它是商業利益相關者希望目標系統達成的商業目標,它就是一個使用案例。在此情況下,我們將客戶透過自動櫃員機更換 PIN 視為一個使用案例。

使用案例範例 – 線上相簿

典型的線上相簿允許使用者為上傳的照片加上標籤。那麼「標記照片」是否就是一個使用案例呢?答案是:取決於情況。如果商業利益相關者希望讓使用者登入系統以標記照片,即使在該會話中不做其他任何事,那麼「標記照片」就應該是一個使用案例。然而,如果他們認為標記照片只是上傳照片流程的一部分,且之後沒有其他方式可以標記照片,那麼「標記照片」就不會是一個使用案例。另一種情況是,利益相關者僅希望讓使用者編輯他們上傳的照片,例如標題、描述、標籤等屬性。在這種情況下,很可能會建立一個使用案例「編輯照片」。因此你可以看出,使用案例的識別並非隨意的步驟。你可以想像,在使用案例「標記照片」與「編輯照片」下,支援標記照片的功能將會有截然不同的方式。

使用案例範例 – 健康追蹤應用程式

雖然使用案例並非需求,但這並不代表使用案例是抽象且缺乏焦點的。以健康追蹤應用程式為例,記錄運動、產生運動統計以及挑戰目標,這些都足以清楚定義功能的範圍。維持良好健康能否作為一個使用案例呢?其實這是一個不好的選擇,因為其範圍過於廣泛。每個健康追蹤應用程式都在努力幫助使用者達成這個目標,然而,有了這麼大的目標,我們無法確定應用程式實際上能提供哪些功能來實現它!

如何撰寫使用案例?

使用案例最簡單的形式由一個「+」或「」組成,用以描述商業目標。以下是一些範例:

  1. 註冊帳戶
  2. 下訂單
  3. 提領現金
  4. 發布職缺
  5. 調查案例失敗原因

如前所述,使用案例的設計目的是識別商業目標。不要用它來撰寫需求,也不要描述使用者與系統之間的互動。所有這些步驟都將在後續的開發活動中詳細說明,但目前還不需要。

使用使用案例與使用者故事

使用者故事也是敏捷開發中的一個重要工具。每個使用者故事都包含一段從使用者角度撰寫的簡短描述。以下是一些使用者故事的範例:

  1. 使用者希望透過信用卡支付款項。
  2. 使用者希望透過PayPal支付款項。
  3. 使用者希望在結帳時選擇性地加入運費保險。
  4. 使用者希望在結帳時選擇不同的送達地址。
  5. 使用者希望在訂單成功建立後收到簡訊通知。

使用案例是一種用來定義功能範圍的工具,而使用者故事則捕捉使用者在工作過程中所做的事或所需完成的事,最終促成某些需求的產生。我們可以運用這兩種需求收集技巧來識別正確的需求。執行此流程的步驟如下:首先,與商業利益相關者溝通,將商業目標識別為使用案例。接著,專注於某個特定使用案例,與一線使用者溝通,以識別該使用案例下的使用者故事。由於使用者故事的識別是由使用案例驅動的,因此最終所發現的需求將與商業目標保持一致。

Use case and user stories

Visual Paradigm 提供您在 敏捷軟體開發中所需的所有工具,包括 UML 使用案例圖工具(敏捷)使用者故事衝刺故事板以及 線框圖用於使用者體驗設計,任務管理工具,等等

參考資料

  1. 用例圖 – 統一塑模語言(UML)
  2. 什麼是用例圖?
  3. 建立UML用例圖
  4. 用例圖的最佳實務與範例
  5. 用例圖範本
  6. 在Visual Paradigm中使用UML的用例描述
  7. 用例圖
  8. 如何繪製用例圖?

Leave a Reply