在軟件規劃階段,需求分析是軟件生命周期的重要一環,而不是分析系統在功能上需要“實現什么”,而非考慮如何“實現”。在實際需求分析工作中.每種需求分析方法都有其獨特的思路和表述方法。下面就讓小編來給大家分享一下需求分析的過程和方法是什么,讓我們一起來看看吧。
需求分析的過程和方法是什么
需求分析階段的工作,可以分為四個方面:問題識別、分析與綜合、制訂規格說明、評審。
問題識別:
就是從系統角度來理解軟件,確定對所開發系統的綜合要求,并提出這些需求的實現條件,以及需求應該達到的標準。這些需求包括:功能需求(做什么)、性能需求(要達到什么指標)、環境需求(如機型、操作系統等)、可靠性需求(不發生故障的概率)、安全保密需求、用戶界面需求、資源使用需求(軟件運行是所需的內存、CPU等)、軟件成本消耗與開發進度需求、預先估計以后系統可能達到的目標。
分析與綜合:
逐步細化所有的軟件功能,找出系統各元素間的聯系,接口特性和設計上的限制,分析他們是否滿足需求,剔除不合理部分,增加需要部分。最后綜合成系統的解決方案,給出要開發的系統的詳細邏輯模型(做什么的模型)。
制訂規格說明書:
即編制文檔,描述需求的文檔稱為軟件需求規格說明書。請注意,需求分析階段的成果是需求規格說明書,向下一階段提交。
評審:
對功能的正確性,完整性和清晰性,以及其它需求給予評價。評審通過才可進行下一階段的工作,否則重新進行需求分析。
軟件需求的分析與設計方法較多,一些大同小異,而有的則基本思路相差很大。從開發過程及特點出發,軟件開發一般采用軟件生存周期的開發方法,有時采用開發原型以幫助了解用戶需求。在軟件分析與設計時,自上而下由全局出發全面規劃分析,然后逐步設計實現。
從系統分析出發,可將需求分析方法大致分為功能分解方法、結構化分析方法、信息建模法和面向對象的分析方法。
(1)功能分解方法。
將新系統作為多功能模塊的組合。各功能義可分解為若干子功能及接口,子功能再繼續分解。便可得到系統的雛形,即功能分解——功能、子功能、功能接口。
(2)結構化分析方法。
結構化分析方法是一種從問題空間到某種表示的映射方法,是結構化方法中重要且被普遍接受的表示系統,由數據流圖和數據詞典構成并表示。此分析法又稱為數據流法。
其基本策略是跟蹤數據流,即研究問題域中數據流動方式及在各個環節上所進行的處理,從而發現數據流和加工。結構化分析可定義為數據流、數據處理或加工、數據存儲、端點、處理說明和數據字典。
(3)信息建模方法。
它從數據角度對現實世界建立模型。大型軟件較復雜;很難直接對其分析和設計,常借助模型。模型是開發中常用工具,系統包括數據處理、事務管理和決策支持。
實質上,也可看成由一系列有序模型構成,其有序模型通常為功能模型、信息模型、數據模型、控制模型和決策模型。有序是指這些模型是分別在系統的不同開發階段及開發層次一同建立的。建立系統常用的基本工具是E—R圖。經過改進后稱為信息建模法,后來又發展為語義數據建模方法,并引入了許多面向對象的特點。
信息建模可定義為實體或對象、屬性、關系、父類型/子類型和關聯對象。此方法的核心概念是實體和關系,基本工具是E-R圖,其基本要素由實體、屬性和聯系構成。該方法的基本策略是從現實中找出實體,然后再用屬性進行描述。
(4)面向對象的分析力法。
面向對象的分析方法的關鍵是識別問題域內的對象,分析它們之間的關系,并建立三類模型,即對象模型、動態模型和功能模型。
面向對象主要考慮類或對象、結構與連接、繼承和封裝、消息通信,只表示面向對象的分析中幾項最重要特征類的對象是對問題域中事物的完整映射,包括事物的數據特征(即屬性)和行為特征(即服務)。
需求分析的目標是將用戶對開發軟件所提出的“要求”或“需要”進行分析和整理,確認后形成描述完整、清晰、規范的文檔,以確定軟件需要實現哪些功能,完成哪些工作。以上就是小編為大家分享的關于“需求分析的過程和方法是什么”的全部內容啦,希望能夠給大家帶來幫助哦。
[免責聲明]
文章標題: 需求分析的過程和方法是什么
文章內容為網站編輯整理發布,僅供學習與參考,不代表本網站贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請及時溝通。發送郵件至36dianping@36kr.com,我們會在3個工作日內處理。