做好需求分析
做好需求分析,是需要有一定的方式方法的,我總結的方法流程為:獲取使用者 需求→分析使用者需求→編寫需求文件→評審需求文件→管理需求。
獲取使用者需求
這是該階段的乙個最重要的任務。以下為獲取使用者需求需要執行的活動
了解客戶方的所有使用者型別以及潛在的型別。然後,根據他們的要求來確定系統的整體目標和系統的工作範圍。
對使用者進行訪談和調研。交流的方式可以是會議 、 **、電子郵件、小組討論、模擬演示等不同形式。需要注意的是,每一次交流一定要有記錄,對於交流的結果還可以進行分類,便於後續的分析活動。例如,可以 將需求細分為功能需求、非功能需求(如響應時間、平均無故障工作時間、自動恢復時間等)、環境限制、設計約束等型別。
需求分析人員對收集到的使用者需求做進一步的分析和整理。
⑴對於使用者提出的每個需求都要知道「為什麼」,並判斷使用者提出的需求是否有充足的理由;
⑵將那種以「如何實現」的表述方式轉換為「實現什麼」的方式,因為需求分析階段關注的目標是「做什麼」,而不是「怎麼做」;
⑶分析由使用者需求衍生出的隱含需求,並識別使用者沒有明確提出來的隱含需求(有可能是實現使用者需求的前提條件),這一點往往容易忽略掉,經常因為對隱含需求考慮得不夠充分而引起需求變更。
⑴明確標識出那些未確定的需求項(在需求分析初期往往有很多這樣的待定項);
⑵使需求符合系統的整體目標;
⑶保證需求項之間的一致性,解決需求項之間可能存在的衝突。
分析使用者需求
在很多情形下,分析使用者需求是與獲取使用者需求並行的,主要通過建立模型的方式來描述使用者的需求,為客戶、使用者、開發方等不同參與方提供乙個交流的渠道。這些模型是對需求的抽象,以視覺化的方式提供乙個易於溝通 的橋梁。使用者需求的分析與獲取使用者需求有著相似的步驟,區別在於分析使用者需求時使用模型來描述,以獲取使用者更明確的需求。分析使用者需求需要執行下列活動:
以圖形表示的方式描述系統的整體結構,包括系統的邊界與介面;
通過原型、頁面流或其它方式向使用者提供視覺化的介面,使用者可以對需求做出自己的評價;
系統可行性分析,需求實現的技術可行性、環境分析、費用分析、時間分析等;
以模型描述系統的功能項、資料實體、外部實體、實體之間的關係、實體之間的狀態轉換等方面的內容。
1、編寫需求文件
需求文件可以使用自然語言或形式化語言來描述,還可以新增圖形的表述方式和模型表徵的方式。需求文件應該包括使用者的所有需求(功能性需求和非功能性需求)。
2、評審需求文件
需求文件完成後,需要經過正式評審,以便作為下一階段工作的基礎。一般的評審分為使用者評審和同行評審兩類。使用者和開發方對於軟體專案內容的描述,是以需求規格說明書作為基礎的;使用者驗收的標準 則是依據需求規格說明書中的內容來制訂,所以評審需求文件時使用者的意見是第一位的。而同行評審的目的,是在軟體專案初期發現那些潛在的缺陷或錯誤,避免這些錯誤和缺陷遺漏到專案的後續階段。
3、管理需求
需求的變更是不可避免的,如何以可控的方式管理軟體的需求,對於專案的順利進行有著重要的意義。如果匆匆忙忙地完成使用者調研與分析,則往往意味著不穩定的 需求。所以需求管理要保證需求分析各個活動都得到了充分的執行。對於需求變更的管理,則主要使用需求變更流程和需求跟蹤矩陣的管理方式。
軟體需求來自系統工程與客戶兩個方面,其中客戶是主要的需求提供者(系統工程需求也來自於客戶)。客戶需要蒐集其終端使用者的需求並考慮自身的需求,然後再提供給開發方。假如客戶並未去認真蒐集終端使用者的需求,開發方便需要做到這一點,因為系統最終要滿足終端使用者的需求。
怎樣做好需求分析 需求分析學習筆記
需求分析之了解背景 背景這東西比較籠統,簡單地說就是這個專案的來由,我們需要用說故事的方式講清楚專案的背景。1.為什麼為有這個專案?2.客戶為什麼想做這樣乙個專案?3.如果沒有這個專案會怎樣?4.使用者和客戶是誰,專案 5.投資預算,重要程度。需求分析之客戶需要 需要就是客戶真正想要的東東,是高層次...
如何做好需求分析
產品的構思初期,我們會羅列盡可能多需求,也會收集到很多需求。但有些需求是偽需求,有些需求也不具備實現價值,那我們如何做判斷呢?每天有無數產品誕生,也有無數產品隕落,很多時候會談到乙個原因,沒有把握住使用者需求,吸引不了使用者。那如何把握住使用者需求呢?各種各樣的需求,如何毫無克制地載入功能去滿足使用...
如何做好專案需求分析?
專案需求分析,看了聽棠的 客戶需求何時休 深有感觸,何曾自己不是被這個問題整天困擾 客戶需求,為什麼總在變阿?做專案真辛苦阿!這樣的感嘆 整天都掛在口上。客戶需求變動確實是乙個軟體開發永遠不變的話題。為什麼小的軟體企業面對經常變動的需求是如此的狼狽?到底要怎麼做才能滿足客戶的需求?聽棠的 客戶需求何...