requirement.md - cccnqu/se106a 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:
- Machine can directly sense. ex: button pressed. Sensor activated.
- 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
- Elicitation : 導出需求
- Analysis : 分析
- Modeling : 建模
- Negotaion : 談判
導出需求 => 談判 => 建模 => 分析 => 修改需求 ....
SRS : Software Requirement Specification
IEEE standard
- User requirement
- System requirement
Properties
- Simple
- Testable
- Organized
- Numbered (編號)