# 系統分析 CH6 ## 使用案例圖 * 描述系統功能跟其提供的服務 * 強調系統能做甚麼事而不是如何做這些事 * ![圖片名稱](https://img.onl/iuYWxh "游標顯示") * 可以幫助 > 需求擷取:增加一個使用案例表示擷取到一個新需求 > 建立使用案例模型 > 與客戶溝通的橋樑 > 產生測試計畫 * 使用的符號 > 動作者 > 使用案例 > 連接線 > 系統邊界 ## 範例 ![圖片名稱](https://img.onl/ohP2TB "游標顯示") ### 動作者(Actor) * 系統外部與系統溝通的觀察者 * 動作者代表: >角色:通常是職稱(經理、校長、教授) >實體:動作者可能是一個東西或是外部系統,ex:帳務系統 * 在案例圖中可以分為兩種 > 主要動作者:系統服務的==主要使用者==(ex:圖書銷售系統的作者、電商系統的賣家) > 支援動作者:提供++服務++或++資訊++給系統的人(ex:資料庫系統) > 通常是用火柴人表示或是用《Actor》表示,表示actor模板 ### 使用案例(Use Cases) * 描述++動作者++和++系統++互動產生的可能操作 * 動作者可以幹嘛?系統需要提供甚麼服務? * 情節的摘要 * 使用案例是==以使用者或客戶角度來看系統== * 通常用橢圓形來表示(像上面的圖書業績等) ### 連接線(Communication Lines) * 連接動作者和使用案例 * ++==無方向性==++ ### 系統邊界(System Boundaries) * 標示系統範圍,用長方形框包圍使用案例(上圖的圖書銷售系統) * 須讓動作者在系統邊界外 ## 各種關係 ### 包含 * 用《include》標示的==虛線==箭頭 * 可以讓我們重複使用案例 * ex:購票《include》------>投幣 ### 延伸 * 《extend》==虛線== * 目的是延伸使用案例的功能,不影響原來的使用案例,只是增加一些選項的==行為或功能== * 延伸是完全獨立的系統,可以想成隨身碟 * ex:購票《extend》<------取消購票(!!!比較特別要注意!!!) ### 一般關係(Generalization) * 使用==實線和空心三角箭頭== * 類似類別架構的繼承觀念,父使用案例可以被子繼承 * 當使用案例有**共同行為、需求、限制、假設**時,我們稱它為一般使用案例,然後用一般關係描述不同的特殊使用案例 * ex:搜尋圖書<---以作者and書名搜尋 * ex:使用者<---會員and管理員(Actor也可以用一般關係表示喔) ### 實現關係(Realization) * 描述特殊使用案例怎麼實現 * 用==虛線空心三角箭頭== * ex:購買商品<----訂單處理 ###### tags: `系統分析`