軟件需求分析的重要性


在軟件工程中,需求分析指的是在建立一個新的或改變一個現存的電腦系統時描寫新系統的目的、范圍、定義和功能時所要做的所有的工作。需求分析是軟件工程中的一個關鍵過程。在這個過程中,系統分析員和軟件工程師確定顧客的需要。只有在確定了這些需要后他們才能夠分析和尋求新系統的解決方法。  在軟件工程的歷史中,很長時間里人們一直認為需求分析是整個軟件工程中最簡單的一個步驟,但在過去十年中越來越多的人認識到它是整個過程中最關鍵的一個過程。假如在需求分析時分析者們未能正確地認識到顧客的需要的話,那么最后的軟件實際上不可能達到顧客的需要,或者軟件無法在規定的時間里完工。


  需求分析是一項重要的工作,也是最困難的工作。該階段工作有以下特點:
    (1)用戶與開發人員很難進行交流
  在軟件生存周期中,其它四個階段都是面向軟件技術問題,只有本階段是面向用戶的。需求分析是對用戶的業務活動進行分析,明確在用戶的業務環境中軟件系統應該"做什么"。但是在開始時,開發人員和用戶雙方都不能准確地提出系統要"做什么?"。因為軟件開發人員不是用戶問題領域的專家,不熟悉用戶的業務活動和業務環境,又不可能在短期內搞清楚;而用戶不熟悉計算機應用的有關問題。由於雙方互相不了解對方的工作,又缺乏共同語言,所以在交流時存在着隔閡。
    (2)用戶的需求是動態變化的
  對於一個大型而復雜的軟件系統,用戶很難精確完整地提出它的功能和性能要求。一開始只能提出一個大概、模糊的功能,只有經過長時間的反復認識才逐步明確。有時進入到設計、編程階段才能明確,更有甚者,到開發后期還在提新的要求。這無疑給軟件開發帶來困難。
    (3)系統變更的代價呈非線性增長
  需求分析是軟件開發的基礎。假定在該階段發現一個錯誤,解決它需要用一小時的時間,到設計、編程、測試和維護階段解決,則要花2.5、5、25、100倍的時間。  因此,對於大型復雜系統而言,首先要進行可行性研究。開發人員對用戶的要求及現實環境進行調查、了解,從技術、經濟和社會因素三個方面進行研究並論證該軟件項目的可行性,根據可行性研究的結果,決定項目的取舍。

 

任務
一、確定對系統的綜合要求
  雖然功能需求是對軟件系統的一項基本需求,但卻並不是唯一的需求,通常對軟件系統有下述幾方面的綜合要求。

  1.功能需求

  2.性能需求

  3.可靠性和可用性需求

  4.出錯處理需求

  5.接口需求

  6.約束

  7.逆向需求

  8.將來可能提出的要求
二、分析系統的數據要求
  任何一個軟件本質上都是信息處理系統,系統必須處理的信息和系統應該產生的信息很大程度上決定了系統的面貌,對軟件設計有深遠的影響,因此,必須分析系統的數據要求,這是軟件分析的一個重要任務。分析系統的數據要求通常采用建立數據模型的方法。

  復雜的數據由許多基本的數據元素組成,數據結構表示數據元素之間的邏輯關系。

  利用數據字典可以全面地定義數據,但是數據字典的缺點是不夠直觀。為了提高可理解性,常常利用圖形化工具輔助描述數據結構。用的圖形工具有層次方框圖和Warnier圖。
三、導出系統的邏輯模型
  綜合上述兩項分析的結果可以導出系統的詳細的邏輯模型,通常用數據流圖、E-R圖、狀態轉換圖、數據字典和主要的處理算法描述這個邏輯模型。
四、修正系統開發計划
  根據在分析過程中獲得的對系統的更深入的了解,可以比較准確地估計系統的成本和進度,修正以前定制的開發計划。

 

方法
  ⑴首先調查組織機構情況

  包括了解該組織的部門組成情況,各部門的職能等,為分析信息流程作准備。

  ⑵然后調查各部門的業務活動情況

  包括了解各個部門輸入和使用什么數據,如何加工處理這些數據,輸出什么信息,輸出到什么部門,輸出結果的格式是什么。

  ⑶協助用戶明確對新系統的各種要求

  包括信息要求、處理要求、完全性與完整性要求。

  ⑷確定新系統的邊界

  確定哪些功能由計算機完成或將來准備讓計算機完成,哪些活動由人工完成。由計算機完成的功能就是新系統應該實現的功能。

  常用的調查方法有:

  ⑴跟班作業

  通過親身參加業務工作來了解業務活動的情況。這種方法可以比較准確地理解用戶的需求,但比較耗費時間。

  ⑵開調查會

  通過與用戶座談來了解業務活動情況及用戶需求。座談時,參加者之間可以相互啟發。

  ⑶請專人介紹。

  ⑷詢問

  對某些調查中的問題,可以找專人詢問。

  ⑸設計調查表請用戶填寫

  如果調查表設計得合理,這種方法是很有效,也很易於為用戶接受的。

  ⑹查閱記錄

  即查閱與原系統有關的數據記錄,包括原始單據、賬簿、報表等。

  通過調查了解了用戶需求后,還需要進一步分析和表達用戶的需求。

  分析和表達用戶需求的方法主要包括自頂向下和自底向上兩類方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM