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