個人感受:
過去的做法:
根據自己的想法來編輯程式程式碼,實現相關功能。
這樣做的缺陷:
使用者不喜歡,達不到使用者的要求。
解決方法:
在開發軟體之前要對使用者進行充分的調查需求,按照使用者的需求來進行程式設計,使用者才是第一主觀因素。
重點記錄:
尋找需求:
1. 獲取和引導需求
軟體團隊需要找到軟體的利益相關者,瞭解和挖掘他們對軟體的需求,引導他們表達出對軟體的需求。
2. 分析和定義需求
這是指對從各個方面獲取的需求進行規整,定義需求的內涵,從各個角度將需求量化(需求實現的最後期限,實現需求大致所需的時間和資源成本,各個不同需求的優先順序,需求帶來的收益,等等)。
3. 驗證需求
軟體團隊要跟利益相關者溝通,通過分析報告、技術原型、使用者調查或演示等形式向他們驗證軟體團隊對於這些需求的認知。
4. 在軟體產品的生命週期中管理需求
在軟體的生命週期中,需求在傳送變化,技術在發展,團隊成員的能力在提高。
對軟體需求的劃分:
1. 對產品功能性的需求:要求產品必須實現某些功能。
2. 對產品開發過程的需求:要求軟體的開發流程必須滿足某些約束條件,例如,開發過程必須產生某種型別的文件,必須在某個時間點達到某個狀態,必須對原始碼施以某種約束(安全性檢查、程式碼版權核查、程式碼規範和支援文件的核查)
3. 非功能性需求:例如:執行時間限制等。
4. 綜合需求:可能牽涉到其他系統的情況。
軟體產品的利益相關者:
使用者:
顧客:購買這個軟體或者根據合同或規定接收軟體的人。這些人不一定是軟體的直接使用者。
市場分析師:市場部門要代表“典型使用者”的需求。
監管機構:
軟體工程師:工程師也是軟體需求階段的一個重要角色,軟體的各種約束、特性會影響到他們的工作效率、開發難度和軟體維護的難度。他們應積極參與到軟體需求階段中來。