資源描述:
《需求分析(傳統(tǒng)結(jié)構(gòu)化方法)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、2.2 需求分析需求分析是通過開發(fā)人員的分析概括,抽象為完整的需求定義,再形成一系列文檔的過程。2.2.1 需求分析的目的與意義需求分析是一個非常重要的過程,它完成的好壞直接影響后續(xù)軟件開發(fā)的質(zhì)量。有效的需求分析通常都具有一定的難度。需求分析不僅僅是屬于軟件開發(fā)生命周期早期的一項工作,而且還應(yīng)該貫穿于整個生命周期中,它應(yīng)該隨著項目的深入而不斷地變化。此外,為了方便后續(xù)的評審和測試等工作,需求的描述應(yīng)該盡量做到:具體、詳細、可以測量和可以實現(xiàn),并且基于時間。2.2.2 需求分析的步驟遵循科學的需求分析步驟可以使需求分析工作更高效。需求分析的一般
2、步驟如圖2-3所示。?圖2-3 需求分析的步驟需求涉及的方面:在功能方面,需求包括系統(tǒng)要做什么,相對于原系統(tǒng)目標系統(tǒng)需要進行哪些修改,目標用戶有哪些,以及不同用戶需要通過系統(tǒng)完成何種操作等。在性能方面,需求包括用戶對于系統(tǒng)執(zhí)行速度、響應(yīng)時間、吞吐量和并發(fā)度等指標的要求。在運行環(huán)境方面,需求包括目標系統(tǒng)對于網(wǎng)絡(luò)設(shè)置、硬件設(shè)備、溫度和濕度等周圍環(huán)境的要求,以及對操作系統(tǒng)、數(shù)據(jù)庫和瀏覽器等軟件配置的要求。在界面方面,需求涉及數(shù)據(jù)的輸入/輸出格式的限制及方式、數(shù)據(jù)的存儲介質(zhì)和顯示器的分辨率要求等問題。1.獲取需求,識別問題開發(fā)人員從功能、性能、界面和
3、運行環(huán)境等多個方面識別目標系統(tǒng)要解決哪些問題,要滿足哪些限制條件,這個過程就是對需求的獲取。開發(fā)人員通過調(diào)查研究,要理解當前系統(tǒng)的工作模型和用戶對新系統(tǒng)的設(shè)想與要求。遺漏需求是最難修訂的需求錯誤。獲取需求是需求分析的基礎(chǔ)。為了能有效地獲取需求,開發(fā)人員應(yīng)該采取科學的需求獲取方法。在實踐中,獲取需求的方法有很多種,比如,問卷調(diào)查、訪談、實地操作、建立原型和研究資料等。15問卷調(diào)查法是采用調(diào)查問卷的形式來進行需求分析的一種方法。通過對用戶填寫的調(diào)查問卷進行匯總、統(tǒng)計和分析,開發(fā)人員便可以得到一些有用的信息。采用這種方法時,調(diào)查問卷的設(shè)計很重要。一
4、般在設(shè)計調(diào)查問卷時,要合理地控制開放式問題和封閉式問題的比例。開放式問題的回答不受限制,自由靈活,能夠激發(fā)用戶的思維,使他們能盡可能地闡述自己的真實想法。但是,對開放式問題進行匯總和分析的工作會比較復(fù)雜。封閉式問題的答案是預(yù)先設(shè)定的,用戶從若干答案中進行選擇。封閉式問題便于對問卷信息進行歸納與整理,但是會限制用戶的思維。訪談通過開發(fā)人員與特定的用戶代表進行座談,進而了解到用戶的意見,是最直接的需求獲取方法。為了使訪談有效,在進行訪談之前,開發(fā)人員要首先確定訪談的目的,進而準備一個問題列表,預(yù)先準備好希望通過訪談解決的問題。在訪談的過程中,開發(fā)
5、人員要注意態(tài)度誠懇,并保持虛心求教的姿態(tài),同時還要對重點問題進行深入的討論。由于被訪談的用戶身份可能多種多樣,開發(fā)人員要根據(jù)用戶的身份特點,進行提問,給予啟發(fā)。當然,進行詳細的記錄也是訪談過程中必不可少的工作。訪談完成后,開發(fā)人員要對訪談的收獲進行總結(jié),澄清已解決的和有待進一步解決的問題。關(guān)注用戶的行為而不是他們的言語。為了深入地了解用戶需求,有時候開發(fā)人員還會以用戶的身份直接參與到現(xiàn)有系統(tǒng)的使用過程中,在親身實踐的基礎(chǔ)上,更直接地體會現(xiàn)有系統(tǒng)的弊端以及新系統(tǒng)應(yīng)該解決的問題,這種需求獲取方法就是實地操作。通過實地操作得到的信息會更加準確和真實
6、,但是這種方法會比較費時間。當用戶本身對需求的了解不太清晰的時候,開發(fā)人員通常采用建立原型系統(tǒng)的方法對用戶需求進行挖掘。原型系統(tǒng)就是目標系統(tǒng)的一個可操作的模型。在初步獲取需求后,開發(fā)人員會快速地開發(fā)一個原型系統(tǒng)。通過對原型系統(tǒng)進行模擬操作,開發(fā)人員能及時獲得用戶的意見,從而對需求進行明確。利用原型系統(tǒng)獲取需求的方法的示意圖如圖2-4所示。?(點擊查看大圖)圖2-4 利用原型系統(tǒng)獲取需求2.分析需求,建立目標系統(tǒng)的邏輯模型在獲得需求后,開發(fā)人員應(yīng)該對問題進行分析抽象,并在此基礎(chǔ)上從高層建立目標系統(tǒng)的邏輯模型。模型是對事物高層次的抽象,通常由一組
7、符號和組織這些符號的規(guī)則組成。常用的模型圖有數(shù)據(jù)流圖、E-R圖、用例圖和狀態(tài)轉(zhuǎn)換圖等,不同的模型從不同的角度或不同的側(cè)重點描述目標系統(tǒng)。繪制模型圖的過程,既是開發(fā)人員進行邏輯思考的過程,也是開發(fā)人員更進一步認識目標系統(tǒng)的過程。3.將需求文檔化15獲得需求后要將其描述出來,即將需求文檔化。對于大型的軟件系統(tǒng),需求階段一般會輸出三個文檔:系統(tǒng)定義文檔(用戶需求報告);系統(tǒng)需求文檔(系統(tǒng)需求規(guī)格說明書);軟件需求文檔(軟件需求規(guī)格說明書)。對于簡單的軟件系統(tǒng)而言,需求階段只需要輸出軟件需求文檔(即軟件需求規(guī)格說明書)就可以了。軟件需求規(guī)格說明書主要
8、描述軟件的需求,從開發(fā)人員的角度對目標系統(tǒng)的業(yè)務(wù)模型、功能模型和數(shù)據(jù)模型等內(nèi)容進行描述。作為后續(xù)的軟件設(shè)計和測試的重要依據(jù),需求階段的輸出文檔應(yīng)該具有清晰性、無二義