requirement - cccnqu/se107a GitHub Wiki

需求分析

About What, not How ?

技術問題留給系統分析和系統設計。

Defining

https://classroom.udacity.com/courses/ud805/lessons/1729809167/concepts/6729086590923

Application Domain : Domain Properties + Requirements Machine Domain : Hardware + Software

Application Domain (交集) Machine Domain = S-Specification

S-Specification:

  1. Machine can directly sense. ex: button pressed. Sensor activated.
  2. Machine can directly cause. ex: Image on screen. device turn on & off.

Functional v.s Non-Functional Requirement

  • Functional : 電梯到指定樓層,計算平方根 ...
  • Non-Functional : 安全性,成本,可用性,Adability,Reusability, ....

將 Non-Functional 明確的指出衡量方式,例如電梯必須在 30 秒內到達任何一個樓層 ....

User v.s System Requirement

  • User Requirement : For Customer, in Natural Language.
  • System Requirement : For Developer, in Detail, Clearly & Rigurously.

Requirement Origin (需求來源)

  • Stakeholder (利害關係人) : Customer, User, ...
  • Application Domain : Bank, School, ....
  • Documentation : Note, paper, ....

但需求分散在各地,甚至有衝突,隱瞞,誤導,....

Analyzing Requirement

https://classroom.udacity.com/courses/ud805/lessons/1729809167/concepts/6729086700923

  • Verification (Developer) : list check, complete
  • Validation (Customer) : list check, prototyping
  • Risk Analysis

Requirements Prioritization (優先順序)

https://classroom.udacity.com/courses/ud805/lessons/1729809167/concepts/6729086710923

mandatory : 強制的;必須履行的 nice to have : 有的話也不錯 sujperfluous : 多餘的,過剩的

Requirements Engineering Process

  1. Elicitation : 導出需求
  2. Analysis : 分析
  3. Modeling : 建模
  4. Negotaion : 談判

導出需求 => 談判 => 建模 => 分析 => 修改需求 ....

SRS : Software Requirement Specification

IEEE standard

  1. User requirement
  2. System requirement

Properties

  1. Simple
  2. Testable
  3. Organized
  4. Numbered (編號)