需求的三個層次:
1.業務需求-------------------組織或客戶高層次的目標,一般來自專案的投資人,購買產品的客戶,實際使用者的管理者,市場營銷部門或產品策劃部門
輸出文件------《產品前景和專案範圍》
業務需求決定了應用的廣度和深度,廣度只應用能完成哪些工作(即用例);而深度則說明將各項用例實現到何種程度。
當依據業務需求確定每項用例不在專案範圍之內時,便是在進行廣度的決策。業務需求將哪些用例要求穩定和全面的功能實現;哪些只需要
簡單的實現,只是最初時是這樣。當使用者需求和功能需求存在不明確時已業務需求為主。業務需求明確的專案的邊界。
2.使用者需求------------------描述使用者的目標 或使用者要求系統必須能完成的任務。描述了使用者能使用系統來做什麼,是一種高度抽象的需求,不關注細節
使用用例、場景描述表達。
輸出文件-----《用例文件》包括用例圖和用例規約
3.功能需求 或 行為需求-----------------面向軟體人員,規定開發人員在產品中實現的軟體功能,使用者利用這些功能來完成任務,滿足業務需求。
規定了開發人員需要實現什麼。
輸出文件-------------《軟體需求規格》包括 功能需求+質量屬性+約束
質量屬性:
面向使用者的質量屬性(或執行期質量屬性):可用性,有效性,靈活性,完整性,互操作性,可靠性,健壯性,易用性
面向開發人員的質量屬性(或開發時質量屬性):可維護性,可移植性,可重用性,可測試性
約束: 包括 技術專利,開發時間 和 成本 等
開發人員實現的不是業務需求 或用例,而是功能性需求。 功能性需求是讓使用者得以執行用例兵達成目標的系統行為,
用例是從角色的角度來描述系統行為,省略了很多細節。
用例描述的是使用者的觀點,以使用者為中心。因此用例中不能包括開發人員編寫軟體所需的全部資訊。
乙個用例推導出多個功能需求,
廣義的軟體需求包括:業務需求+使用者需求+功能需求
狹義的軟體需求包括:功能需求+質量屬性+約束
需求關注系統做什麼,而設計關注怎麼做 即解決方案,
但需求 如何 過度到設計 卻存在乙個灰色過渡區,所以有時在需求分析階段 架構師可能會參與進來。
需求是一門工程 :
需求工程=需求開發+需求管理
需求開發=需求獲取+需求分析+編寫需求規格+需求驗證
需求獲取:
1.與潛在使用者溝通
2.描述現有產品或競爭產品的文件
3.現場客戶訪問
4.業務流程分析
5.工作流程分析和任務分析
6.事件列表
7.根據現有系統推導出需求
8.回顧以往專案
推薦書籍 《軟體需求》第二版,經典之作。
軟體需求分析
本章共分為四個部分,一軟體需求的任務和過程 二結構化分析方法 三,原型化方法四,動態分析方法。本章學習的要點是 1。了解軟體需求分析的目標和任務 2.了解軟體需求的獲得方法 3.掌握結構化的分析方法 4.了解需求規格說明和需求評審的主要內容。軟體需求分析的主要任務 深入描述軟體的功能和效能 確定軟體...
軟體需求分析
軟體需求分析所要做的工作是深入描述軟體的功能和效能,確定軟體設計的限制和軟體同其它系統元素的介面細節,定義軟體的其它有效性需求。進行需求分析時,應注意一切資訊與需求都是站在使用者的角度上。盡量避免分析員的主觀想象,並盡量將分析進度提交給使用者。在不進行直接指導的前提下,讓使用者進行檢查與評價。從而達...
軟體需求分析
軟體需求分析是把軟體計畫期間建立的 軟體可行性分析 求精和細化,分析各種可能的解法,並且分配給各個軟體元素 軟體需求分析的任務 深入描述軟體的功能和i效能 確定軟體設計的約束和軟體 同其他系統元素的介面細節 定義軟體的其他有效性需求 任務 從現有的模型中匯出目標系統的邏輯模型,解決目標系統的 做什麼...