---
# System prepended metadata

title: Ch02 - 需求工程
tags: [Software Engineering]

---

---
tags: Software Engineering
---

# Ch02 - 需求工程

## 需求的種類

### 使用者需求和系統需求

- 使用者需求
    - 來自使用者
    - 企業目的為導向
    - 較抽象
    - 為系統建置的目標
- 系統需求
    - 較明確
    - 系統導向的思考和分析

### 功能性需求和非功能性需求

- 功能性
    - 有或沒有，不存在程度的差別
    - 例如:
        - 有搜尋功能
        - 有使用者介面
- 非功能性
    - 通常和功能性需求有關
    - 但會有 "程度" 上的要求
    - 例如:
        - 快速的搜尋
        - 好用的介面

## 軟體品質

- 產品操作
    - 正確、可靠、效率、整合、可使用性
- 產品開發
    - 可維護、可測試、彈性
- 產品移交
    - 可移植、可再利用、互助運作性

## 需求工程

### 需求擷取

取得使用者對系統的需求

- 面談
- 問卷
- 使用者觀察
- 研討會
- 腦力激盪
- 使用案例
- 雛形法
    - 捨棄式: 雛形系統會直接捨棄
    - 漸進式: 雛形系統慢慢發展成產品

### 需求分析

- 是否正確
- 是否完整
- 衝突性分析

#### 資料流程分析

- 系統功能面的分析
- 資料於 **程序** 間的轉換
- 資料在系統中如何運算

#### 關聯實體分析

- 資料面的分析
- 有助於資料庫設計

### 需求規格化

把需求寫成具體的文件，作為後續簽約的依據

### 需求確認


