---
# System prepended metadata

title: 系統分析 CH6
tags: [系統分析]

---

# 系統分析 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: `系統分析`

