需求分析的步驟

遵循科學的需求分析步驟可以使需求分析工作更高效。需求分析的一般步驟如圖2-3所示。

                                                                 

需求涉及的方面有很多。

     在功能方面,需求包括系統要做什麼,相對於原系統目標系統需要進行哪些修改,目標用戶有哪些,以及不同用戶需要通過系統完成何種操作等。

在性能方面,需求包括用戶對於系統執行速度、響應時間、吞吐量和併發度等指標的要求。

在運行環境方面,需求包括目標系統對於網絡設置、硬件設備、溫度和溼度等周圍環境的要求,以及對操作系統、數據庫和瀏覽器等軟件配置的要求。

在界面方面,需求涉及數據的輸入/輸出格式的限制及方式、數據的存儲介質和顯示器的分辨率要求等問題。

1. 獲取需求,識別問題

       開發人員從功能、性能、界面和運行環境等多個方面識別目標系統要解決哪些問題,要滿足哪些限制條件,這個過程就是對需求的獲取。開發人員通過調查研究,要理解當前系統的工作模型和用戶對新系統的設想與要求。

此外,在需求的獲取時,還要明確用戶對系統的安全性、可移植性和容錯能力等其他要求。比如,多長時間需要對系統做一次備份,系統對運行的操作系統平臺有何要求,發生錯誤後重啓系統允許的最長時間是多少等。

       遺漏需求是最難修訂的需求錯誤。  --Robert L. Glass

       獲取需求是需求分析的基礎。爲了能有效地獲取需求,開發人員應該採取科學的需求獲取方法。在實踐中,獲取需求的方法有很多種,比如,問卷調查、訪談、實地操作、建立原型和研究資料等。

       問卷調查法是採用調查問卷的形式來進行需求分析的一種方法。通過對用戶填寫的調查問卷進行彙總、統計和分析,開發人員便可以得到一些有用的信息。採用這種方法時,調查問卷的設計很重要。一般在設計調查問卷時,要合理地控制開放式問題和封閉式問題的比例。

      開放式問題的回答不受限制,自由靈活,能夠激發用戶的思維,使他們能儘可能地闡述自己的真實想法。但是,對開放式問題進行彙總和分析的工作會比較複雜。

封閉式問題的答案是預先設定的,用戶從若干答案中進行選擇。封閉式問題便於對問卷信息進行歸納與整理,但是會限制用戶的思維。

      訪談通過開發人員與特定的用戶代表進行座談,進而瞭解到用戶的意見,是最直接的需求獲取方法。爲了使訪談有效,在進行訪談之前,開發人員要首先確定訪談的目的,進而準備一個問題列表,預先準備好希望通過訪談解決的問題。在訪談的過程中,開發人員要注意態度誠懇,並保持虛心求教的姿態,同時還要對重點問題進行深入的討論。由於被訪談的用戶身份可能多種多樣,開發人員要根據用戶的身份特點,進行提問,給予啓發。當然,進行詳細的記錄也是訪談過程中必不可少的工作。訪談完成後,開發人員要對訪談的收穫進行總結,澄清已解決的和有待進一步解決的問題。

      關注用戶的行爲而不是他們的言語。--Jakob Nielsen

      爲了深入地瞭解用戶需求,有時候開發人員還會以用戶的身份直接參與到現有系統的使用過程中,在親身實踐的基礎上,更直接地體會現有系統的弊端以及新系統應該解決的問題,這種需求獲取方法就是實地操作。通過實地操作得到的信息會更加準確和真實,但是這種方法會比較費時間。

       當用戶本身對需求的瞭解不太清晰的時候,開發人員通常採用建立原型系統的方法對用戶需求進行挖掘。原型系統就是目標系統的一個可操作的模型。在初步獲取需求後,開發人員會快速地開發一個原型系統。通過對原型系統進行模擬操作,開發人員能及時獲得用戶的意見,從而對需求進行明確。利用原型系統獲取需求的方法的示意圖如圖2-4所示。

  
(點擊查看大圖)圖2-4 利用原型系統獲取需求

2. 分析需求,建立目標系統的邏輯模型

      在獲得需求後,開發人員應該對問題進行分析抽象,並在此基礎上從高層建立目標系統的邏輯模型。模型是對事物高層次的抽象,通常由一組符號和組織這些符號的規則組成。常用的模型圖有數據流圖、E-R圖、用例圖和狀態轉換圖等,不同的模型從不同的角度或不同的側重點描述目標系統。繪製模型圖的過程,既是開發人員進行邏輯思考的過程,也是開發人員更進一步認識目標系統的過程。

3. 將需求文檔化

    獲得需求後要將其描述出來,即將需求文檔化。對於大型的軟件系統,需求階段一般會輸出三個文檔:

    系統定義文檔(用戶需求報告);

    系統需求文檔(系統需求規格說明書);

    軟件需求文檔(軟件需求規格說明書)。

   對於簡單的軟件系統而言,需求階段只需要輸出軟件需求文檔(即軟件需求規格說明書)就可以了。軟件需求規格說明書主要描述軟件的需求,從開發人員的角度對目標系統的業務模型、功能模型和數據模型等內容進行描述。作爲後續的軟件設計和測試的重要依據,需求階段的輸出文檔應該具有清晰性、無二義性和準確性,並且能夠全面和確切地描述用戶需求。

4. 需求驗證

      需求驗證是對需求分析的成果進行評估和驗證的過程。爲了確保需求分析的正確性、一致性、完整性和有效性,提高軟件開發的效率,爲後續的軟件開發做好準備,需求驗證的工作非常必要。

     在需求驗證的過程中,可以對需求階段的輸出文檔進行多種檢查,比如,一致性檢查、完整性檢查和有效性檢查等。同時,需求評審也是在這個階段進行的。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章