[系統開發生命週期]Use Case Diagram補完
前一篇文章寫完後感謝專業的水瓶大幫我補了一些內容,我這邊再把他所說的內容補完一下。
系統邊界
Use Case Diagram在專案管理上,除了協助釐清客戶需求外,很大的一個重點在於界定系統邊界(System Boundary),告訴客戶那些是這個案子我們要做的,除此之外全都不是,以避免客戶到了專案後期持續的添加需求,我們以下方的範例來說明:
若我們今天要開發的是一個Course System,我們在找出關鍵的Actor(Student、Professor、Registrar、Billing System)後,我們也找出了關鍵的Use Case(Login、Submit Grades、Register for Course、View Report Card、Course Registration、Close Registration),由於Billing System是客戶家本來就有的系統,會在我們進行Close Registration後將該課程註銷。
若今天我們接的案子是做好Course System,而非負責開發Course System+Billing System,那我們在使用Use Case Diagram跟客戶確認需求時我們就需要將Billing System視為一個外部系統,雖然是一個Actor,但我們只負責觸發Close Registration並執行完這個Use Case該做的工作,至於觸發後Billing System要做什麼樣的處理我們就不管了。
從這樣的定義中,我們可以劃分出我們系統的邊界在那邊,我只做哪些功能,哪些我們是不做的,一目瞭然。
Scenarios
好了,當我們將Use Case畫出來後,需求就分析完了嗎?當然還沒了,Use Case只是一個高階的需求描述,若要跟使用者做進一步的需求確認,我們需要將每個Use Case做較為詳細的描述,這部分我們可以透過Activity Diagram與Use Case Specification來協助我們。
基本流程 & 替代流程
在畫Activity Diagram之前,我們大致上會先訂出每個Use Case的起始點、過程、結束點,而這個流程(Flow),我們又依狀況分為基本流程(Basic Flow)與替代流程(Alternative Flow),基本流程代表的是正常情況下會執行的流程,替代流程代表的則是基本流程中出現異常或例外狀況時會執行的流程,舉例來說:
Login一個系統的基本流程為:按下登入-->輸入帳號密碼-->進入系統
替代流程可能為:按下登入-->輸入帳號密碼-->帳號密碼錯誤-->輸入帳號密碼-->進入系統
Activity Diagram
Activity Diagram較為單純,我們以下簡單說明一下,我們在Activity Diagram中會用到的圖大致如下,其意義非常的簡潔扼要。
我們再看一個實際範例,下面這是Login的Use Case所畫成的Activity Diagram,下面這張圖就可以呼應到前面我們寫的Login的基本流程與替代流程的情境。
Use Case Specification
這部分我們使用的較少,大多數溝通時我們會以Activity Diagram來溝通即可,較特殊的功能我們才會以Use Case Specification來作為需求描述的補強,這部分大致上會將Use Case執行的前置條件(Pre-Conditions)、後置條件(Post-Conditions)與各種主要流程與替代流程的列出,到時候測試時就要將這些流程都測過才算一個完整個測試。
前置條件(Pre-Conditions):代表允許開始使用案例的系統狀態,進入Use Case前,應檢查前置條件,若不符合前置條件,應引發例外處理(Exception)。
後置條件(Post-Conditions):使用案例結束後可能的系統狀態,程序結束後,應檢查後置條件,若不符合後置條件,應引發例外處理(Exception)。
我們可以使用下面的圖示來描述一下前置條件、Use Case、後置條件的關係。
以上幫Use Case做些補充,愈寫發現可以延伸的部分愈多,再一步一步慢慢補上來吧。
游舒帆 (gipi) 探索原力Co-founder,曾任TutorABC協理與鼎新電腦總監,並曾獲選兩屆微軟最有價值專家 ( MVP ),離開職場後創辦探索原力,致力於協助青少年培養面對未來的能力。認為教育與組織育才其實息息相關,都是在為未來儲備能量,2018年起成立為期一年的專題課程《職涯躍升的關鍵24堂課》,為培養台灣未來的領袖而努力。 |