1. 程式人生 > >需求分析與需求文件

需求分析與需求文件

什麼是需求分析呢?需求分析是指對要解決的問題進行詳細的分析,弄清楚問題的要求。在網頁開發當中的“需求分析”就是確定要計算機做什麼,所以必須要搞清楚需要什麼資料,要得到什麼結果,最後輸出什麼這三方面問題。

軟體需求包括三個不同的層次:業務需求、使用者需求和功能需求。

業務需求(Business requirement)表示企業或客戶高層次的目標。業務需求描述了企業為什麼要開發一個網站,也就是希望網站達到的目標,他們通常來自專案投資人、購買產品的客戶、實際使用者的管理者、市場營銷部門或產品策劃部門。使用前景和範圍(vision and scope)文件來記錄業務需求,這份文件有時也被稱作專案輪廓圖或市場需求(project charter 或 market requirement)文件.

使用者需求(user requirement)表示的是使用者的目標,或使用者要求系統必須能完成的任務。使用者需求是從不同的視角,站在使用者的角度採集了使用者的具體需求描述,加以整理,寫出一份文件。也就是說使用者需求描述了使用者能使用系統來做些什麼。

功能需求(functional requirement)規定開發人員必須在產品中實現的軟體功能,使用者利用這些功能來完成任務,滿足業務需求。功能需求有時也被稱作行為需求(behavīoral requirement),因為習慣上總是用“應該”對其進行描述:“系統應該傳送電子郵件來通知使用者已接受其預定”。功能需求描述是開發人員需要實現什麼。

    那麼需求分析是怎麼樣的一個過程呢?通過多年工作經驗建議採用以下步驟形成網站開發需求:

獲取使用者需求→使用者需求分析→編寫需求文件→評審需求文件→管理需求。

下面我們逐步討論上述做法。

原本獲取使用者的需求是一個簡單的過程,只要客戶提供一個完整的需求說明即可,但是事實卻非如此,很多客戶對自己的需求並不是很清楚,需要您不斷引導和幫助分析。曾經有一次,我問客戶:“您做網站的目的是什麼?”他回答:“沒有目的,只是因為別人都有,我沒有!”。這樣的客戶就需要耐心說明,仔細分析,挖掘出他潛在的,真正的需求,配合客戶寫一份詳細的,完整的需求說明會花很多時間,但這樣做是值得的,而且一定要讓客戶滿意,簽字認可。把好這一關,可以杜絕很多因為需求不明或理解偏差造成的失誤和專案失敗。

得到使用者的需求還要進行深入的分析和整理。分析使用者的需求可以遵守下面幾條常見的準則:

⑴對於使用者提出的每個需求都要知道“為什麼”,並判斷使用者提出的需求是否有充足的理由;

⑵將那種以“如何實現”的表述方式轉換為“實現什麼”的方式,因為需求分析階段關注的目標是“做什麼”,而不是“怎麼做”;

⑶分析由使用者需求衍生出的隱含需求,並識別使用者沒有明確提出來的隱含需求(有可能是實現使用者需求的前提條件),這一點往往容易忽略掉,經常因為對隱含需求考慮得不夠充分而引起需求變更。

通過對客戶的需求分析要使需求說明書達到一下標準就可以了:

1.正確性:每個功能必須清楚描寫交付的功能;

2.可行性:確保在當前的開發能力和系統環境下可以實現每個需求;

3.必要性:功能是否必須交付,是否可以推遲實現,是否可以在削減開支情況發生時"砍"掉;

4.簡明性:不要使用專業的網路術語;

5.檢測性:如果開發完畢,客戶可以根據需求檢測。