可行性研究及需求分析_第1頁
可行性研究及需求分析_第2頁
可行性研究及需求分析_第3頁
可行性研究及需求分析_第4頁
可行性研究及需求分析_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第3章可行性研究及需求分析本章目標(biāo)

了解可行性研究的目的、意義和內(nèi)容掌握可行性研究的主要步驟了解需求分析的任務(wù)熟悉進(jìn)行需求分析的步驟和方法了解需求管理掌握需求分析的原則熟悉需求分析的常用方法學(xué)習(xí)編寫軟件開發(fā)計(jì)劃書學(xué)習(xí)編寫需求規(guī)格說明書3.1可行性研究

3.1.1項(xiàng)目立項(xiàng)概述任何一個(gè)完整的軟件工程項(xiàng)目都是從項(xiàng)目立項(xiàng)開始的。項(xiàng)目立項(xiàng)包括項(xiàng)目發(fā)起、項(xiàng)目論證、項(xiàng)目審核和項(xiàng)目立項(xiàng)四個(gè)過程。在發(fā)起一個(gè)項(xiàng)目時(shí),項(xiàng)目發(fā)起人或單位為尋求他人的支持,要以書面材料的形式遞交給項(xiàng)目的支持者和領(lǐng)導(dǎo),使其明白項(xiàng)目的必要性和可行性。項(xiàng)目論證過程,也就是可行性研究過程??尚行匝芯烤褪侵冈陧?xiàng)目進(jìn)行開發(fā)之前,根據(jù)項(xiàng)目發(fā)起文件和實(shí)際情況,對(duì)該項(xiàng)目是否能在特定的資源、時(shí)間等制約條件下完成做出評(píng)估,并且確定它是否值得去開發(fā)。項(xiàng)目經(jīng)過可行性研究并且認(rèn)為可行后,還需要報(bào)告主管領(lǐng)導(dǎo)或單位,以獲得項(xiàng)目的進(jìn)一步審核,并得到他們的支持。項(xiàng)目通過可行性研究和主管部門的批準(zhǔn)后,將其列入項(xiàng)目計(jì)劃的過程,叫做項(xiàng)目立項(xiàng)。經(jīng)過項(xiàng)目發(fā)起、項(xiàng)目論證、項(xiàng)目審核和項(xiàng)目立項(xiàng)四個(gè)過程后,一個(gè)軟件工程項(xiàng)目就正式啟動(dòng)了。3.1可行性研究

3.1.2可行性研究的內(nèi)容

可行性研究需要從多個(gè)方面進(jìn)行評(píng)估,主要包括:戰(zhàn)略可行性操作可行性計(jì)劃可行性技術(shù)可行性社會(huì)可行性市場可行性經(jīng)濟(jì)可行性風(fēng)險(xiǎn)可行性3.1可行性研究

3.1.3可行性研究的步驟進(jìn)行可行性研究的步驟不是固化的,而是根據(jù)項(xiàng)目的性質(zhì)、特點(diǎn)以及開發(fā)團(tuán)隊(duì)的能力有所區(qū)別。一個(gè)典型的可行性研究的步驟可以歸結(jié)為以下幾步,其示意圖如圖所示。3.2需求分析

3.2.1需求分析的任務(wù)

為什么需要需求分析

為了開發(fā)出真正滿足用戶需要的軟件產(chǎn)品,明確地了解用戶需求是關(guān)鍵。雖然在可行性研究中,已經(jīng)對(duì)用戶需求有了初步的了解,但是很多細(xì)節(jié)還沒有考慮到??尚行匝芯康哪康氖窃u(píng)估系統(tǒng)是否值得去開發(fā),問題是否能夠解決,而不是對(duì)需求進(jìn)行定義。如果說可行性分析是要決定“做還是不做”,那么需求分析就是要回答“系統(tǒng)必須做什么”這個(gè)問題。需求分析是一個(gè)非常重要的過程,它完成的好壞直接影響了后續(xù)軟件開發(fā)的質(zhì)量。3.2需求分析

1.確定系統(tǒng)的運(yùn)行環(huán)境要求

系統(tǒng)運(yùn)行時(shí)的硬件環(huán)境要求,如對(duì)計(jì)算機(jī)的CPU、內(nèi)存、存儲(chǔ)器、輸入/輸出方式、通信接口和外圍設(shè)備等的要求;軟件環(huán)境要求,如操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)和編程語言等的要求。3.2需求分析

2.確定系統(tǒng)的功能性需求和非功能性需求需求可以分為兩大類,功能性需求和非功能性需求,前者定義了系統(tǒng)做什么,后者定義了系統(tǒng)工作時(shí)的特性。功能需求是軟件系統(tǒng)的最基本的需求表述,包括對(duì)系統(tǒng)應(yīng)該提供的服務(wù),如何對(duì)輸入做出反應(yīng),以及系統(tǒng)在特定條件下的行為描述。在某些情況下,功能需求還必須明確系統(tǒng)不應(yīng)該做什么,這取決于開發(fā)的軟件類型、軟件未來的用戶、以及開發(fā)的系統(tǒng)類型。所以,功能性的系統(tǒng)需求,需要詳細(xì)地描述系統(tǒng)功能特征、輸入和輸出接口、異常處理方法等。非功能性需求包括對(duì)系統(tǒng)提出的性能需求、可靠性和可用性需求、系統(tǒng)安全以及系統(tǒng)對(duì)開發(fā)過程、時(shí)間、資源等方面的約束和標(biāo)準(zhǔn)等。性能需求指定系統(tǒng)必須滿足的定時(shí)約束或容量約束,一般包括速度(響應(yīng)時(shí)間)、信息量速率(吞吐量、處理時(shí)間)和存儲(chǔ)容量等方面的需求。3.2需求分析

3.進(jìn)行有效的需求分析一般情況下,用戶并不熟悉計(jì)算機(jī)的相關(guān)知識(shí),而軟件開發(fā)人員對(duì)相關(guān)的業(yè)務(wù)領(lǐng)域也不甚了解,用戶與開發(fā)人員之間對(duì)同一問題理解的差異和習(xí)慣用語的不同往往會(huì)為需求分析帶來很大的困難。所以,開發(fā)人員和用戶之間充分和有效的溝通在需求分析的過程中至關(guān)重要。有效的需求分析通常都具有一定的難度,這一方面是由于交流障礙所引起的,另一方面是由于用戶通常對(duì)需求的陳述不完備、不準(zhǔn)確和不全面,并且還可能在不斷的變化。所以開發(fā)人員不僅需要在用戶的幫助下抽象現(xiàn)有的需求,還需要挖掘隱藏的需求。此外,把各項(xiàng)需求抽象為目標(biāo)系統(tǒng)的高層邏輯模型對(duì)日后的開發(fā)工作也至關(guān)重要。合理的高層邏輯模型是系統(tǒng)設(shè)計(jì)的前提。3.2需求分析

4.在需求分析的過程中應(yīng)該遵守一些原則首先,需求分析是一個(gè)過程,它應(yīng)該貫穿于系統(tǒng)的整個(gè)生命周期中,而不是僅僅屬于軟件生命周期早期的一項(xiàng)工作。其次,需求分析應(yīng)該是一個(gè)迭代的過程。由于市場環(huán)境的易變性以及用戶本身對(duì)于新系統(tǒng)要求的模糊性,需求往往很難一步到位。通常情況下,需求是隨著項(xiàng)目的深入而不斷變化的。所以需求分析的過程還應(yīng)該是一個(gè)迭代的過程。此外,為了方便評(píng)審和后續(xù)的設(shè)計(jì),需求的表述應(yīng)該具體、清晰,并且是可測(cè)量的、可實(shí)現(xiàn)的。最好能夠?qū)π枨筮M(jìn)行適當(dāng)?shù)牧炕1热纾合到y(tǒng)的響應(yīng)時(shí)間應(yīng)該低于0.5秒;系統(tǒng)在同一時(shí)刻最多能支持30000個(gè)用戶。3.2需求分析

5.需求分析的兩個(gè)任務(wù)。

首先,是需求分析的建模階段,即在充分了解需求的基礎(chǔ)上,要建立起系統(tǒng)的分析模型。

其次,是需求分析的描述階段,就是把需求文檔化,用軟件需求規(guī)格說明書的方式把需求表達(dá)出來。3.2需求分析

6.軟件需求規(guī)格說明書

軟件需求規(guī)格說明書是需求分析階段的輸出,它全面、清晰地描述了用戶需求,因此是開發(fā)人員進(jìn)行后續(xù)軟件設(shè)計(jì)的重要依據(jù)。軟件需求規(guī)格說明書應(yīng)該具有清晰性、無二義性、一致性和準(zhǔn)確性等特點(diǎn)。同時(shí),它還需通過嚴(yán)格的需求驗(yàn)證、反復(fù)修改的過程才能最終確定。3.2需求分析

3.2.2

需求分析的步驟為了準(zhǔn)確獲取需求,需求分析必須遵循一系列的步驟。只有采取了合理的需求分析的步驟,開發(fā)人員才能更有效地獲取需求。一般來說,需求分析分為需求獲取、分析建模、需求描述和需求驗(yàn)證4步。以下將分步進(jìn)行介紹。3.2需求分析

1) 需求獲取需求獲取就是收集并明確用戶需求的過程。系統(tǒng)開發(fā)方人員通過調(diào)查研究,要理解當(dāng)前系統(tǒng)的工作模型、用戶對(duì)新系統(tǒng)的設(shè)想與要求。在需求獲取的初期,用戶提出的需求一般模糊而且凌亂,這就需要開發(fā)人員能夠選取較好的需求分析的方法,提煉出邏輯性強(qiáng)的需求。而且不同用戶的需求有可能發(fā)生沖突,對(duì)于發(fā)生沖突的需求必須仔細(xì)考慮并做出選擇。獲取需求的方法有多種,比如問卷調(diào)查、訪談、實(shí)地操作、建立原型等。3.2需求分析

2) 分析建模獲取到需求后,下一步就應(yīng)該對(duì)開發(fā)的系統(tǒng)建立分析模型了。模型就是為了理解事物而對(duì)事物做出的一種抽象,通常由一組符號(hào)和組織這些符號(hào)的規(guī)則組成。對(duì)待開發(fā)系統(tǒng)建立各種角度的模型有助于人們更好地理解問題。通常,從不同角度描述或理解軟件系統(tǒng),就需要不同的模型。常用的建模方法有數(shù)據(jù)流圖、實(shí)體關(guān)系圖、狀態(tài)轉(zhuǎn)換圖、控制流圖、用例圖、類圖、對(duì)象圖等。3.2需求分析

3) 需求描述需求描述就是指編制需求分析階段的文檔。一般情況下,對(duì)于復(fù)雜的軟件系統(tǒng),需求階段會(huì)產(chǎn)生3個(gè)文檔:系統(tǒng)定義文檔(用戶需求報(bào)告)、系統(tǒng)需求文檔(系統(tǒng)需求規(guī)格說明書)、軟件需求文檔(軟件需求規(guī)格說明書)。而對(duì)于簡單的軟件系統(tǒng)而言,需求階段只需要輸出軟件需求文檔就可以了。軟件需求規(guī)格說明書主要描述軟件部分的需求,簡稱SRS(SoftwareRequirementSpecification),它站在開發(fā)者的角度,對(duì)開發(fā)系統(tǒng)的業(yè)務(wù)模型、功能模型、數(shù)據(jù)模型、行為模型等內(nèi)容進(jìn)行描述。經(jīng)過嚴(yán)格的評(píng)審后,它將作為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)的基線。3.2需求分析

文檔與軟件規(guī)模的對(duì)應(yīng)關(guān)系3.2需求分析

4) 需求驗(yàn)證

需求分析的第四步是驗(yàn)證以上需求分析的成果。需求分析階段的工作成果是后續(xù)軟件開發(fā)的重要基礎(chǔ),為了提高軟件開發(fā)的質(zhì)量,降低軟件開發(fā)的成本,必須對(duì)需求的正確性進(jìn)行嚴(yán)格的驗(yàn)證,確保需求的一致性、完整性、現(xiàn)實(shí)性、有效性。確保設(shè)計(jì)與實(shí)現(xiàn)過程中的需求可回溯性,并進(jìn)行需求變更管理。3.2需求分析

3.2.3需求管理為了更好的進(jìn)行需求分析并記錄需求結(jié)果,需要進(jìn)行需求管理。需求管理是一種用于查找、記錄、組織和跟蹤系統(tǒng)需求變更的系統(tǒng)化方法??捎糜冢韩@取、組織和記錄系統(tǒng)需求使客戶和項(xiàng)目團(tuán)隊(duì)在系統(tǒng)變更需求上達(dá)成并保持一致

有效需求管理的關(guān)鍵在于維護(hù)需求的明確闡述、每種需求類型所適用的屬性,以及與其他需求和其他項(xiàng)目工件之間的可追蹤性。3.2需求分析

3.2.4需求分析的常用方法需求分析的方法有多種,下面只簡單介紹功能分解方法、結(jié)構(gòu)化分析方法、信息建模方法和面向?qū)ο蟮姆治龇椒ā#?)功能分解方法功能分解方法是將一個(gè)系統(tǒng)看成是由若干功能模塊組成的,每個(gè)功能又可分解為若干子功能及接口,子功能再繼續(xù)分解,即功能、子功能和功能接口成為了功能分解方法的3個(gè)要素。功能分解方法采用的是自頂向下、逐步求精的理念。3.2需求分析

(2)結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法是一種從問題空間到某種表示的映射方法,其邏輯模型由數(shù)據(jù)流圖和數(shù)據(jù)詞典構(gòu)成并表示。它是一種面向數(shù)據(jù)流的需求分析方法。它主要適用于數(shù)據(jù)處理領(lǐng)域問題。第4章將詳細(xì)介紹這種方法。3.2需求分析

(3)信息建模方法模型是用某種媒介對(duì)相同媒介或其他媒介里的一些事物的表現(xiàn)形式。從一個(gè)建模角度出發(fā),模型就是要抓住事物的最重要方面而簡化或忽略其他方面。簡而言之,模型就是對(duì)現(xiàn)實(shí)的簡化。建立模型的過程,稱為建模。建??梢詭椭斫庹陂_發(fā)的系統(tǒng),這是需要建模的一個(gè)基本理由。并且,人對(duì)復(fù)雜問題的理解能力是有限的。建??梢詭椭_發(fā)者縮小問題的范圍,每次著重研究一個(gè)方面,進(jìn)而對(duì)整個(gè)系統(tǒng)產(chǎn)生更加深刻的理解??梢悦鞔_地說,越大、越復(fù)雜的系統(tǒng),建模的重要性也越大。信息建模方法常用的基本工具是E-R圖,其基本要素由實(shí)體、屬性和關(guān)系構(gòu)成。它的核心概念是實(shí)體和關(guān)系,它的基本策略是從現(xiàn)實(shí)中找出實(shí)體,然后再用屬性對(duì)其進(jìn)行描述。3.2需求分析

(4)面向?qū)?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論