爲什麼要做好需求分析??

1、爲什麼要做需求分析

需求分析就是分析軟件用戶的需求是什麼,用戶通過軟件可以實現那些功能,完成那些操作。如果我們投入大量的人力物力,但是最後產出的軟件根本沒有用戶願意使用,或者根本不能滿足用戶的需要,那麼這種結果無疑是痛心的,爲什麼在軟件開發領域,能夠最終優秀交付的只有14%,57%最多是合格,剩下29%則完全是失敗??很多原因是因爲我們都是一廂情願的認爲用戶要的是什麼,而沒有搞清楚用戶到底需要什麼。

需求分析,建立需求模型,一方面是便於和客戶溝通,因爲客戶可以通過模型能夠比較直觀的看到你對自己所提出需求的理解程度,一方面也是自己對客戶需求的一個完整梳理過程。因此是一個項目成敗的關鍵步驟。現在很多項目一上來就從代碼開始,然而客戶看不懂代碼,最終只能通過結果發現你實現的並非自己需要的,這種情況導致的失敗現象非常嚴重和普遍。

2、需求分析的任務:

簡而言之,就是弄清楚用戶要解決什麼問題。從用戶提供的,用戶未提供但潛在存在的等方面全面地理解、挖掘、分析出用戶真實、準確的需求。

3、需求分析的過程

有效的需求分析過程可以從四個方面出發:用戶問題識別、綜合分析、確認需求規格、評審。

問題識別就是從系統角度來理解軟件,確定所要開發系統的綜合要求,並提出這些需求的實現條件,以及需求應該達到的標準。

這些需求包括:

功能需求(需要實現什麼);

性能需求(什麼指標);

環境需求(如服務器機型、操作系統、數據庫等);

可靠性需求(發生故障的情況和概率);

安全保密需求;

用戶界面需求;

資源需求(所需的內存、CPU、帶寬等);

軟件成本消耗與開發進度需求;

預先估計以後可能增加擴展的內容;

系統可能達到的目標等;

其中除了功能需求外其他需求是很容易一次性識別和評估的,而功能需求需要我們通過多種方式方法來逐步識別和完善,後面的綜合分析中就要針對功能需求進行逐步的確定和完善。

    綜合分析需要逐步細化所有的軟件功能,找出系統各元素間的聯繫,接口特性和設計上的限制,分析他們是否滿足需求,剔除不合理部分,增加需要部分。

無論是進行需求的結構化過程,在Trufun Bacon工具中進行功能性需求、性能性需求、接口性需求等結構化管理,並且進行關聯設置,針對有關聯的需求變更的預警。還是進行需求的模型化描述(UML模型),Trufun SDP都可以做到完美的結合和統一。

綜合分析結果就是得到完整的從不同方面不同重點描述用戶項目的模型和文檔,他們是我們和用戶不斷的展開討論、溝通,並確認產生的最終結果。最終產生的結構化需求條目、視圖、模型等都是我們以後設計、開發、測試等過程的唯一準確的依據。並且,最終可以利用以上工具生成規範的需求規格說明書等標準文檔。

4、需求模型的作用

    需求模型可幫助你:

l 將系統的外部行爲與其內部設計區分開來進行重點關注。

l 與使用自然語言相比,在描述用戶和利益干係人的需求方面產生的歧義更少。

l 定義可供用戶、開發人員和測試人員使用的一致術語詞彙表。

l 減小要求的差距和不一致性。

l 減少對更改要求作出響應所需的工作量。

l 計劃未來開發各種功能的順序。

使用模型作爲系統測試的基礎,明確測試和要求之間的關係。  要求發生改變時,這種關係將幫助你正確地更新測試。  這可以確保系統滿足新的要求。

同時,我們在需求分析過程中還可以綜合成系統的解決方案,給出後面要開發的系統的詳細設計模型,這些都是以準確的需求爲基礎的,都將成爲整個項目的唯一參考標準,也是後面的開發到測試的標準,也是項目完成保存的最有價值的東西。

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