資源描述:
《軟件需求分析方法與需求分析報告編寫》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在工程資料-天天文庫。
1、軟件需求分析方法與需求分析報告編寫軟件需求分析(SoftwareReguirementAnalysis)是研究用戶需求得到的東西,完全理解用戶對軟件需求的完整功能,確認用戶軟件功能需求,建立可確認的、可驗證的一個基本依據(jù)。軟件需求分析是一個項口的開端,也是項口實施最重要的關鍵點。據(jù)有關的機構分析結果表明,我們設計的軟件產(chǎn)品存在不完整性、不正確性等問題80%以上是需求分析錯誤所導致的,而且由于需求分析錯誤造成根本性的功能問題尤為突出。因此,一個項目的成功軟件需求分析是關鍵的一步。一、軟件需求分析理論如果我們用數(shù)學方法來描述軟件需求分析,可以將一個
2、應用軟件定義為S,可能應用軟件涉及功能性問題非常廣,我們用抽象化理論分析,可以劃分為各個功能威,可以用DI、D2、…Dn表示,那么,我們可以用一個表達式描述為S={D1,D2,D3,-Dn}但是,功能域Di依然存在著有若干個問題Pl、P2、P3、…Pm組成,并且每個功能對應于子系統(tǒng)中的一個軟構件,我們可以表示為Di二{Pl,P2,P3,-Pm}同樣,功能Pj有若干個行為Fl、F2、F3、…Fk,每個行為對應于軟構件中的實現(xiàn)方法Pj二{Fl,F2,F3,???Fk}一個軟件包含了所冇功能的集合,同吋包含了實現(xiàn)所冇功能的所冇方法和算法描述。需求分析
3、是依據(jù)于用戶需求,經(jīng)過需求問題識別,進行分析、消化與綜合,制訂規(guī)格說明,評審,分為四個階段,形成用戶需求與設計同步,設計滿足用戶需求目標。需求分析方法始終貫穿著吸收、同化、貫徹方法和手段,用商業(yè)化行為解決需求與實現(xiàn)屮存在的矛盾,解決用戶需求與商業(yè)化產(chǎn)品融通,解決規(guī)范與個性化追求。二、軟件需求分析目標軟件需求分析的主要實現(xiàn)口標:1)對實現(xiàn)軟件的功能做全面的描述,幫助用戶判斷實現(xiàn)功能的正確性、-?致性和完整性,促使用戶在軟件設計啟動之前周密地、全面地思考軟件需求;2)了解和描述軟件實現(xiàn)所需的全部信息,為軟件設計、確認和驗證提供一個基準;3)為軟件管
4、理人員進行軟件成木計價和編制軟件開發(fā)計劃書提供依據(jù);需求分析的具體內(nèi)容可以歸納為六個方而:軟件的功能需求,軟件與碩件或其他外部系統(tǒng)接口,軟件的非功能性需求,軟件的反向需求,軟件設計和實現(xiàn)上的限制,閱讀支持信息。軟件需求分析應盡量提供軟件實現(xiàn)功能需求的全部信息,使得軟件設計人員和軟件測試人員不再需要需求方的接觸。這就要求軟件需求分析內(nèi)容應正確、完整、一致和可驗證。此外,為保證軟件設計質量,便于軟件功能的休整和驗證,軟件需求表達無岔意性,具冇可追蹤性和可修改性。2?1、軟件功能需求軟件的功能需求是整個需求分析最主要、最關鍵和最復雜的部分,它描述軟件
5、的各種可能的條件下,對所有可能輸入的數(shù)據(jù)信息,應完成那些具體功能,產(chǎn)生什么樣的輸出。描述軟件功能需求是應注意下面兒點:1)功能需求的完整性和一致性對功能的描述應包含與功能相關的信息,并應具有內(nèi)在的一致性(即各種描述之間不矛盾、不沖突)。應注意以下幾點:(1)給出觸發(fā)功能的各種條件(如:控制流、運行狀態(tài)、運行模式等);(2)定義各種可能性條件下的所有可能的輸入(包括合法的輸入空間和非法的輸入空間);(3)給出各種功能間可能的相互關系(如各個功能間的控制流、數(shù)據(jù)流、信息流,功能運行關系:順序、重復、選擇、并發(fā)、同步);(4)給出功能性的主要級別(如
6、:基本功能、可由設計者選擇逐步實現(xiàn)的功能、可由設計者改變實現(xiàn)的功能等);(5)盡可能不使用“待定”這樣的詞。所有含冇待定內(nèi)容的需求都不是完整的文件,如杲出現(xiàn)待定的部分,必須進行待定部分內(nèi)容說明,落實負責人員、落實實施F1期。2)功能描述的無岔意性和可追蹤性需求功能描述的無岔意性、可追蹤性和規(guī)范化:(1)功能描述必須清晰地描述出怎樣輸入到怎樣輸出,并且輸入、輸出描述應對應冇數(shù)據(jù)流描述、控制流描述圖,這些描述必須與其它地方描述一致;(2)可以用語言、方程式、決策表、矩陣或圖等對功能的描述。如果選用語言描述必須使用結構化的語言,描述前必須說明該步驟(
7、或子功能)的執(zhí)行是順序,選擇,重復,述是并發(fā),然后說明步驟邏輯。整個描述必須單入單出。(3)描述時,每一個功能名稱和參照編號必須唯一,且不要將多個功能混在一起進行描述,這樣便于功能的追蹤和修改。(4)功能描述應注意需求說明和程序設計的區(qū)別。需求設計僅僅是軟件的功能設計,它給岀軟件運行的的外部功能描述,以及為了實現(xiàn)這一外部功能必須做哪些事情(采用和種數(shù)據(jù)結構,定義多個模塊,接口間的接口等)是設計階段的事情,功能描述不應涉及到那些細節(jié)問題,以避免給軟件設計帶來不必要的約朿。2.2、軟件與硬件或其他外部系統(tǒng)接口軟件與碩件或其它外部系統(tǒng)接口包括下述內(nèi)容
8、:(1)人機接口:說明輸入、輸出的內(nèi)容、屏幕安排、格式等要求;(2)硬件接口:說明端口號,指令集,輸入輸出信號的內(nèi)容與數(shù)據(jù)類型,初始化信號源,傳輸通道