第4章需求分析_第1頁
第4章需求分析_第2頁
第4章需求分析_第3頁
第4章需求分析_第4頁
第4章需求分析_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程名稱:軟件工程課程名稱:軟件工程 第第9講講班班 級:級:日日 期:期:教教 室:室:教學(xué)題目:第教學(xué)題目:第4章章 需求分析需求分析教學(xué)目的:了解需求分析的任務(wù)和步驟、評審標準和過教學(xué)目的:了解需求分析的任務(wù)和步驟、評審標準和過 程,掌握基本技術(shù),理解需求規(guī)格說明書的程,掌握基本技術(shù),理解需求規(guī)格說明書的 作用與組成。作用與組成。教學(xué)重點:基本技術(shù)、需求規(guī)格說明書的教學(xué)重點:基本技術(shù)、需求規(guī)格說明書的 作用與組成。作用與組成。教學(xué)難點:基本技術(shù)。教學(xué)難點:基本技術(shù)。教教 具:多媒體教室、電子教案具:多媒體教室、電子教案作作 業(yè):習(xí)題業(yè):習(xí)題 3、4軟件需求是指用戶對目標軟件系統(tǒng)在功能、性

2、能、軟件需求是指用戶對目標軟件系統(tǒng)在功能、性能、行為、設(shè)計約束等方面的期望。行為、設(shè)計約束等方面的期望。需求分析就是通過對應(yīng)用問題及其環(huán)境的分析與理需求分析就是通過對應(yīng)用問題及其環(huán)境的分析與理解,采用一系列的分析方法和技術(shù),將用戶的需求解,采用一系列的分析方法和技術(shù),將用戶的需求逐步精確化、完全化、一致化,最終形成需求規(guī)格逐步精確化、完全化、一致化,最終形成需求規(guī)格說明文檔的過程。說明文檔的過程。系統(tǒng)分析階段產(chǎn)生的系統(tǒng)規(guī)格說明和項目規(guī)劃是軟系統(tǒng)分析階段產(chǎn)生的系統(tǒng)規(guī)格說明和項目規(guī)劃是軟件需求分析的基礎(chǔ),分析人員需從軟件的角度對其件需求分析的基礎(chǔ),分析人員需從軟件的角度對其進行檢查和調(diào)整,并在此基

3、礎(chǔ)上展開需求分析。進行檢查和調(diào)整,并在此基礎(chǔ)上展開需求分析。需求分析階段的成果主要是需求規(guī)格說明,該需求分析階段的成果主要是需求規(guī)格說明,該成果又是軟件設(shè)計、編碼、測試直至維護的主成果又是軟件設(shè)計、編碼、測試直至維護的主要基礎(chǔ)。要基礎(chǔ)。需求分析是系統(tǒng)分析和軟件設(shè)計的重要橋梁,需求分析是系統(tǒng)分析和軟件設(shè)計的重要橋梁,是軟件生存周期的關(guān)鍵性階段。良好的分析活是軟件生存周期的關(guān)鍵性階段。良好的分析活動能夠減少錯誤和遺漏,從而可提高軟件生產(chǎn)動能夠減少錯誤和遺漏,從而可提高軟件生產(chǎn)率和產(chǎn)品質(zhì)量、降低開發(fā)與維護成本。率和產(chǎn)品質(zhì)量、降低開發(fā)與維護成本。q本章介紹需求分析的基礎(chǔ)知識。主要包括:本章介紹需求分析

4、的基礎(chǔ)知識。主要包括:需求分析的三個主要步驟:問題分析、需求描需求分析的三個主要步驟:問題分析、需求描述、需求評審及各個步驟的主要任務(wù);述、需求評審及各個步驟的主要任務(wù);進行需求分析的一般技術(shù)和方法簡介,包括初進行需求分析的一般技術(shù)和方法簡介,包括初步需求獲取技術(shù)、需求建模技術(shù)、快速原型技步需求獲取技術(shù)、需求建模技術(shù)、快速原型技術(shù)、多視點分析方法等;術(shù)、多視點分析方法等;需求規(guī)格說明的作用和內(nèi)容及需求評審的標準需求規(guī)格說明的作用和內(nèi)容及需求評審的標準和評審過程等。和評審過程等。4.1 需求分析的任務(wù)需求分析的任務(wù) 需求分析的任務(wù)可通過問題分析、需求描述和需求需求分析的任務(wù)可通過問題分析、需求描

5、述和需求評審三個步驟來完成。評審三個步驟來完成。 1問題分析問題分析軟件系統(tǒng)分析人員在這一步驟中的任務(wù)是根據(jù)對問軟件系統(tǒng)分析人員在這一步驟中的任務(wù)是根據(jù)對問題及其環(huán)境的理解與軟件開發(fā)經(jīng)驗,改正用戶需求題及其環(huán)境的理解與軟件開發(fā)經(jīng)驗,改正用戶需求的模糊性、歧義性和不一致性,排除由于用戶的片的模糊性、歧義性和不一致性,排除由于用戶的片面性和短期行為所導(dǎo)致的不合理要求、挖掘用戶尚面性和短期行為所導(dǎo)致的不合理要求、挖掘用戶尚未提出但具有價值的潛在需求,并在用戶的幫助下未提出但具有價值的潛在需求,并在用戶的幫助下對相互沖突的要求進行折衷,使用戶需求逐步精確對相互沖突的要求進行折衷,使用戶需求逐步精確化、

6、一致化和完全化?;?、一致化和完全化。4.1 需求分析的任務(wù)需求分析的任務(wù)1問題分析問題分析在這一過程中,需要用某種方法為原始問題及在這一過程中,需要用某種方法為原始問題及其軟件解建立模型,以便精確地記錄用戶從各其軟件解建立模型,以便精確地記錄用戶從各個視點、在不同抽象級別上對原始問題的描述,個視點、在不同抽象級別上對原始問題的描述,并包含了問題及其環(huán)境所涉及的信息流、處理并包含了問題及其環(huán)境所涉及的信息流、處理功能、用戶界面、行為及設(shè)計約束等各方面內(nèi)功能、用戶界面、行為及設(shè)計約束等各方面內(nèi)容。容。于是可通過對模型的精確化來達到需求分析的于是可通過對模型的精確化來達到需求分析的目標。比如,可以采

7、用面向數(shù)據(jù)流的分析方法,目標。比如,可以采用面向數(shù)據(jù)流的分析方法,利用數(shù)據(jù)流圖和數(shù)據(jù)字典等工具來建立模型。利用數(shù)據(jù)流圖和數(shù)據(jù)字典等工具來建立模型。該模型是形成需求規(guī)格說明、進行軟件設(shè)計的該模型是形成需求規(guī)格說明、進行軟件設(shè)計的基礎(chǔ)?;A(chǔ)。2需求描述需求描述該步驟的主要任務(wù)是以需求模型為基礎(chǔ),生成該步驟的主要任務(wù)是以需求模型為基礎(chǔ),生成需求規(guī)格說明和初步的用戶手冊,并制定軟件需求規(guī)格說明和初步的用戶手冊,并制定軟件產(chǎn)品驗收測試計劃。產(chǎn)品驗收測試計劃。需求規(guī)格說明是軟件項目的一個關(guān)鍵性文檔。需求規(guī)格說明是軟件項目的一個關(guān)鍵性文檔。其中應(yīng)包含對目標軟件系統(tǒng)的功能、外部行為、其中應(yīng)包含對目標軟件系統(tǒng)的

8、功能、外部行為、性能、質(zhì)量、可靠性、可維護性、約束條件和性能、質(zhì)量、可靠性、可維護性、約束條件和需求驗證標準等的完整的描述。需求驗證標準等的完整的描述。初步用戶手冊應(yīng)包括目標軟件系統(tǒng)的用戶界面初步用戶手冊應(yīng)包括目標軟件系統(tǒng)的用戶界面的描述和使用方法的初步構(gòu)想。的描述和使用方法的初步構(gòu)想。驗收測試計劃是進行軟件產(chǎn)品驗收測試的依據(jù)。驗收測試計劃是進行軟件產(chǎn)品驗收測試的依據(jù)。需求評審是軟件開發(fā)過程中的一個重要的里程碑。需求評審是軟件開發(fā)過程中的一個重要的里程碑。需求評審的主要任務(wù)是分析人員在用戶(客戶)和需求評審的主要任務(wù)是分析人員在用戶(客戶)和軟件設(shè)計人員的配合下對需求規(guī)格說明和初步用戶軟件設(shè)計

9、人員的配合下對需求規(guī)格說明和初步用戶手冊進行審核,檢驗軟件需求的精確性、完全性和手冊進行審核,檢驗軟件需求的精確性、完全性和一致性,并使用戶(客戶)和軟件設(shè)計人員對規(guī)格一致性,并使用戶(客戶)和軟件設(shè)計人員對規(guī)格說明和用戶手冊達成一致的理解。說明和用戶手冊達成一致的理解。經(jīng)過評審確認的需求規(guī)格說明將成為客戶方與開發(fā)經(jīng)過評審確認的需求規(guī)格說明將成為客戶方與開發(fā)方的合同。如果評審未通過,比如發(fā)現(xiàn)了遺漏或錯方的合同。如果評審未通過,比如發(fā)現(xiàn)了遺漏或錯誤,則必須進行迭代,直至通過評審為止。誤,則必須進行迭代,直至通過評審為止。為了克服困難,更有效地開展需求分析工作,為了克服困難,更有效地開展需求分析工

10、作,軟件系統(tǒng)分析人員必須掌握一些基本的需求分軟件系統(tǒng)分析人員必須掌握一些基本的需求分析技術(shù),主要包括:析技術(shù),主要包括: 初步需求獲取技術(shù);初步需求獲取技術(shù); 需求建模技術(shù);需求建模技術(shù); 快速原型技術(shù);快速原型技術(shù); 問題的分解與抽象;問題的分解與抽象; 多視點分析技術(shù)等。多視點分析技術(shù)等。在分析階段的初期,由于分析人員和用戶的共在分析階段的初期,由于分析人員和用戶的共同知識領(lǐng)域可能不多,致使分析人員對問題往同知識領(lǐng)域可能不多,致使分析人員對問題往往知之不多,而用戶對目標軟件的要求及對要往知之不多,而用戶對目標軟件的要求及對要求的描述常常是零亂而模糊的,從而會造成相求的描述常常是零亂而模糊的

11、,從而會造成相互交流和相互理解上的困難。為了克服困難,互交流和相互理解上的困難。為了克服困難,獲取初步需求,可以采用如下的技術(shù)手段:獲取初步需求,可以采用如下的技術(shù)手段: 訪談與會議;訪談與會議; 觀察用戶工作流程;觀察用戶工作流程; 分析人員和用戶組成聯(lián)合小組。分析人員和用戶組成聯(lián)合小組。分析人員采用個別訪談或小組會議的形式與用戶進分析人員采用個別訪談或小組會議的形式與用戶進行初步交流。在訪談和會議之前,分析人員根據(jù)對行初步交流。在訪談和會議之前,分析人員根據(jù)對問題的初步描述精心準備一系列問題,通過用戶對問題的初步描述精心準備一系列問題,通過用戶對問題的回答或互相商討來逐步理解用戶的需求。問

12、題的回答或互相商討來逐步理解用戶的需求。準備問題的原則有:準備問題的原則有:首先應(yīng)搞清一般性、整體性問題,然后再涉及細節(jié)首先應(yīng)搞清一般性、整體性問題,然后再涉及細節(jié)問題。問題。在組織問題時要盡量做到客觀、公證,不應(yīng)限制用在組織問題時要盡量做到客觀、公證,不應(yīng)限制用戶的自由發(fā)揮。戶的自由發(fā)揮。所提問題匯總后應(yīng)能反映應(yīng)用問題及其子問題的全所提問題匯總后應(yīng)能反映應(yīng)用問題及其子問題的全貌、并且不要過分詳細。貌、并且不要過分詳細。如果可能,可通過實際觀察用戶的手工如果可能,可通過實際觀察用戶的手工操作過程來提取新系統(tǒng)的初步用戶需求。操作過程來提取新系統(tǒng)的初步用戶需求。觀察手工操作過程不是為了模擬手工操觀

13、察手工操作過程不是為了模擬手工操作過程,而是為了獲取第一手資料,并作過程,而是為了獲取第一手資料,并從中提取出有價值的需求。分析人員有從中提取出有價值的需求。分析人員有了第一手資料,再結(jié)合自己的軟件開發(fā)了第一手資料,再結(jié)合自己的軟件開發(fā)和應(yīng)用的經(jīng)驗,就能夠發(fā)現(xiàn)不合理的用和應(yīng)用的經(jīng)驗,就能夠發(fā)現(xiàn)不合理的用戶需求、提出用戶還沒有意識到的潛在戶需求、提出用戶還沒有意識到的潛在的但卻很有價值的用戶需求,并能夠從的但卻很有價值的用戶需求,并能夠從軟件的角度改進操作流程和操作規(guī)范,軟件的角度改進操作流程和操作規(guī)范,從而可獲得用戶滿意的分析結(jié)果。從而可獲得用戶滿意的分析結(jié)果。為加強信息溝通、減少誤解和避免產(chǎn)

14、生為加強信息溝通、減少誤解和避免產(chǎn)生遺漏、充分調(diào)動用戶的積極性,在可能遺漏、充分調(diào)動用戶的積極性,在可能的條件下,可以建立由開發(fā)方和用戶方的條件下,可以建立由開發(fā)方和用戶方共同組成的聯(lián)合小組。共同組成的聯(lián)合小組。聯(lián)合小組除了雙方的分析人員外,應(yīng)設(shè)聯(lián)合小組除了雙方的分析人員外,應(yīng)設(shè)專門的記錄員、負責(zé)會議議程的人員和專門的記錄員、負責(zé)會議議程的人員和資料員等,并制定小組的規(guī)章制度和計資料員等,并制定小組的規(guī)章制度和計劃,選定一種易于理解、簡潔、精確的劃,選定一種易于理解、簡潔、精確的表示機制作為雙方的共同語言,比如采表示機制作為雙方的共同語言,比如采用帶文字說明的流程圖等。用帶文字說明的流程圖等。

15、 根據(jù)家庭保安市場的增長趨勢,我根據(jù)家庭保安市場的增長趨勢,我們希望建立一種基于微處理器的家們希望建立一種基于微處理器的家庭保安系統(tǒng),它能夠識別異常事件庭保安系統(tǒng),它能夠識別異常事件并采取相應(yīng)的報警措施。這些異常并采取相應(yīng)的報警措施。這些異常事件有:非法進入、火災(zāi)、水淹,事件有:非法進入、火災(zāi)、水淹,等等。當(dāng)傳感器一旦探測出相應(yīng)的等等。當(dāng)傳感器一旦探測出相應(yīng)的異常事件時,系統(tǒng)應(yīng)自動用電話向異常事件時,系統(tǒng)應(yīng)自動用電話向監(jiān)控中心報警。此外,系統(tǒng)應(yīng)允許監(jiān)控中心報警。此外,系統(tǒng)應(yīng)允許戶主對其行為實施程序式控制。戶主對其行為實施程序式控制。為進行初步的需求分析,這里采用開發(fā)方和用戶方組為進行初步的需求

16、分析,這里采用開發(fā)方和用戶方組成聯(lián)合小組的方法。為此,聯(lián)合小組應(yīng)制定工作制度:成聯(lián)合小組的方法。為此,聯(lián)合小組應(yīng)制定工作制度:每次會議開始前必須有確定的議程,小組成員必須針每次會議開始前必須有確定的議程,小組成員必須針對議程進行充分準備并應(yīng)形成文字。對議程進行充分準備并應(yīng)形成文字。聯(lián)合小組會議首先應(yīng)明確問題的范圍、問題與環(huán)境的聯(lián)合小組會議首先應(yīng)明確問題的范圍、問題與環(huán)境的關(guān)系,并就開發(fā)軟件產(chǎn)品的必要性達成共識。關(guān)系,并就開發(fā)軟件產(chǎn)品的必要性達成共識。之后的會議,小組負責(zé)人要求每位參加者根據(jù)負責(zé)的之后的會議,小組負責(zé)人要求每位參加者根據(jù)負責(zé)的范圍列出應(yīng)用問題及環(huán)境中有關(guān)的對象、對象的操作范圍列出

17、應(yīng)用問題及環(huán)境中有關(guān)的對象、對象的操作及對象間的關(guān)系。如市場營銷人員列出控制面板、電及對象間的關(guān)系。如市場營銷人員列出控制面板、電話機、監(jiān)控中心等對象和用戶編程控制、電話撥號、話機、監(jiān)控中心等對象和用戶編程控制、電話撥號、報警等操作;負責(zé)傳感器的用戶可能列舉煙霧傳感器、報警等操作;負責(zé)傳感器的用戶可能列舉煙霧傳感器、門窗監(jiān)視器、警報器等對象。門窗監(jiān)視器、警報器等對象。接著,將對這些列舉的對象和操作進行更詳細接著,將對這些列舉的對象和操作進行更詳細的討論和描述,比如,詳細地描述接收傳感器的討論和描述,比如,詳細地描述接收傳感器事件、用戶編程控制、電話報警等操作等。事件、用戶編程控制、電話報警等操

18、作等。之后,用戶可能提出一些約束條件。比如,造之后,用戶可能提出一些約束條件。比如,造價不應(yīng)超過價不應(yīng)超過3000元,對傳感器事件的響應(yīng)時間元,對傳感器事件的響應(yīng)時間不得超過不得超過1秒,事件必須按優(yōu)先級順序進行處秒,事件必須按優(yōu)先級順序進行處理等等。理等等。 會后,小組負責(zé)人應(yīng)對這些信息加以整理并形會后,小組負責(zé)人應(yīng)對這些信息加以整理并形成文檔,該文檔應(yīng)能反映成文檔,該文檔應(yīng)能反映“家庭保安系統(tǒng)家庭保安系統(tǒng)”的的全貌。全貌。之后,根據(jù)之后,根據(jù)“家庭保安系統(tǒng)家庭保安系統(tǒng)”的特點,將聯(lián)合的特點,將聯(lián)合小組分成兩個小組,并行處理用戶編程控制和小組分成兩個小組,并行處理用戶編程控制和傳感器檢測兩個

19、子系統(tǒng),以便使子問題的軟件傳感器檢測兩個子系統(tǒng),以便使子問題的軟件需求進一步細化,這時可能又會增加新對象、需求進一步細化,這時可能又會增加新對象、新操作、新約束條件。在子系統(tǒng)的需求基本明新操作、新約束條件。在子系統(tǒng)的需求基本明確并形成文檔后,還應(yīng)就子系統(tǒng)的整合及需求確并形成文檔后,還應(yīng)就子系統(tǒng)的整合及需求驗證標準等進行初步的討論。驗證標準等進行初步的討論。最后,初步需求分析應(yīng)形成結(jié)論性文檔。比如,最后,初步需求分析應(yīng)形成結(jié)論性文檔。比如,經(jīng)過初步的需求分析,經(jīng)過初步的需求分析,“家庭保安系統(tǒng)家庭保安系統(tǒng)”的部的部分初步需求文檔如下:分初步需求文檔如下: “家庭保安系統(tǒng)家庭保安系統(tǒng)”的軟件允許用

20、戶在安裝時進行系統(tǒng)配的軟件允許用戶在安裝時進行系統(tǒng)配置,實施對傳感器的監(jiān)控并通過控制面板與戶主進行置,實施對傳感器的監(jiān)控并通過控制面板與戶主進行信息交互。信息交互。 系統(tǒng)開機后,軟件系統(tǒng)負責(zé)顯示系統(tǒng)當(dāng)前的工作狀態(tài),系統(tǒng)開機后,軟件系統(tǒng)負責(zé)顯示系統(tǒng)當(dāng)前的工作狀態(tài),接收并處理戶主的命令。接收并處理戶主的命令。 當(dāng)系統(tǒng)處于配置狀態(tài),軟件系統(tǒng)允許戶主進行配置操當(dāng)系統(tǒng)處于配置狀態(tài),軟件系統(tǒng)允許戶主進行配置操作。配置操作包括:作。配置操作包括:指定每一傳感器的種類和編號;指定每一傳感器的種類和編號;設(shè)置開、關(guān)機密碼;設(shè)置開、關(guān)機密碼;指定報警電話號碼;指定報警電話號碼;指定指定報警延遲和電話重撥延遲時間(

21、以秒為單位)。報警延遲和電話重撥延遲時間(以秒為單位)。 當(dāng)系統(tǒng)處于監(jiān)視狀態(tài)時,軟件系統(tǒng)即開始對所有傳感當(dāng)系統(tǒng)處于監(jiān)視狀態(tài)時,軟件系統(tǒng)即開始對所有傳感器實施監(jiān)控。當(dāng)軟件系統(tǒng)接收到傳感器發(fā)出的數(shù)據(jù)后,器實施監(jiān)控。當(dāng)軟件系統(tǒng)接收到傳感器發(fā)出的數(shù)據(jù)后,判別是否出現(xiàn)異常事件,如果是,則經(jīng)過指定的延遲判別是否出現(xiàn)異常事件,如果是,則經(jīng)過指定的延遲時間即開始撥報警電話號碼,撥號操作將按照重撥延時間即開始撥報警電話號碼,撥號操作將按照重撥延遲反復(fù)進行,直至電話接通。此時軟件系統(tǒng)負責(zé)向監(jiān)遲反復(fù)進行,直至電話接通。此時軟件系統(tǒng)負責(zé)向監(jiān)控中心報告異常事件發(fā)生的地點、時間和性質(zhì)??刂行膱蟾娈惓J录l(fā)生的地點、時間和

22、性質(zhì)。 以上文檔沒有包括約束條件、測試標準等方面以上文檔沒有包括約束條件、測試標準等方面的內(nèi)容。的內(nèi)容。初步需求文檔將是后續(xù)詳細需求分析的基礎(chǔ)。初步需求文檔將是后續(xù)詳細需求分析的基礎(chǔ)。在此基礎(chǔ)上,就可以采用某種需求分析方法進在此基礎(chǔ)上,就可以采用某種需求分析方法進行詳細的需求分析。行詳細的需求分析。在以后幾章中,將分別介紹幾種詳細的需求分在以后幾章中,將分別介紹幾種詳細的需求分析方法和其中最重要的需求建模技術(shù),它們是:析方法和其中最重要的需求建模技術(shù),它們是: “面向數(shù)據(jù)流的需求分析方法面向數(shù)據(jù)流的需求分析方法”; “面向數(shù)據(jù)的需求分析方法面向數(shù)據(jù)的需求分析方法”; “面向?qū)ο蟮男枨蠓治龇椒?/p>

23、向?qū)ο蟮男枨蠓治龇椒ā薄?.2.2 需求建模技術(shù)需求建模技術(shù)為了使用戶需求逐步精細化、完全化、一致化,為了使用戶需求逐步精細化、完全化、一致化,通常采用需求建模技術(shù),即用建立目標軟件系通常采用需求建模技術(shù),即用建立目標軟件系統(tǒng)模型的方法來刻畫軟件系統(tǒng)中的信息、處理統(tǒng)模型的方法來刻畫軟件系統(tǒng)中的信息、處理功能和外部行為。功能和外部行為。通常,分析人員選定一種分析方法,并用該方通常,分析人員選定一種分析方法,并用該方法中的一些圖形記號分別表示信息流、處理功法中的一些圖形記號分別表示信息流、處理功能和系統(tǒng)行為,并利用受限制的自然語言給出能和系統(tǒng)行為,并利用受限制的自然語言給出用戶需求的描述。這種模型

24、的表示機制還應(yīng)具用戶需求的描述。這種模型的表示機制還應(yīng)具有良好的結(jié)構(gòu)化能力,以便處理大型問題的按有良好的結(jié)構(gòu)化能力,以便處理大型問題的按層次分解的問題。層次分解的問題。軟件需求分析的過程,實際上是軟件模型的建軟件需求分析的過程,實際上是軟件模型的建造和不斷完善的過程。造和不斷完善的過程。在分析的初期,分析人員通過訪談、會議、實際觀在分析的初期,分析人員通過訪談、會議、實際觀 察、分析現(xiàn)有系統(tǒng)等方法獲取初步的用戶需求。察、分析現(xiàn)有系統(tǒng)等方法獲取初步的用戶需求。分析人員根據(jù)選定的一種分析方法,在初步用戶需分析人員根據(jù)選定的一種分析方法,在初步用戶需 求的基礎(chǔ)上構(gòu)筑初步的模型作為開發(fā)方和用戶相互求的

25、基礎(chǔ)上構(gòu)筑初步的模型作為開發(fā)方和用戶相互 溝通的表示機制。溝通的表示機制。分析人員在用戶的密切配合下,利用選定的分析方分析人員在用戶的密切配合下,利用選定的分析方 法不斷地對模型進行精細化、一致化、完全化,直法不斷地對模型進行精細化、一致化、完全化,直 至獲得滿意的用戶需求為止。至獲得滿意的用戶需求為止。在分析階段構(gòu)筑的模型不應(yīng)涉及軟件實現(xiàn)的細節(jié),以在分析階段構(gòu)筑的模型不應(yīng)涉及軟件實現(xiàn)的細節(jié),以免分散分析人員的注意力、限制軟件設(shè)計人員為提高免分散分析人員的注意力、限制軟件設(shè)計人員為提高軟件質(zhì)量和效率而選擇實現(xiàn)方法的自由度。軟件質(zhì)量和效率而選擇實現(xiàn)方法的自由度。需求分析結(jié)束時確立的軟件模型是生成

26、需求規(guī)格說明需求分析結(jié)束時確立的軟件模型是生成需求規(guī)格說明的依據(jù),也是軟件設(shè)計和實現(xiàn)的基礎(chǔ)。的依據(jù),也是軟件設(shè)計和實現(xiàn)的基礎(chǔ)。 如果按照傳統(tǒng)的軟件開發(fā)方法,需要經(jīng)過漫長的開如果按照傳統(tǒng)的軟件開發(fā)方法,需要經(jīng)過漫長的開發(fā)時間之后用戶才能看到目標軟件的最初版本。此發(fā)時間之后用戶才能看到目標軟件的最初版本。此時用戶常常會提出許多修改意見,有時甚至全盤否時用戶常常會提出許多修改意見,有時甚至全盤否定,導(dǎo)致開發(fā)失敗。為了降低開發(fā)風(fēng)險,在需求分定,導(dǎo)致開發(fā)失敗。為了降低開發(fā)風(fēng)險,在需求分析階段常常采用快速原型技術(shù)。析階段常常采用快速原型技術(shù)。 1快速原型技術(shù)的基本思想快速原型技術(shù)的基本思想 在軟件開發(fā)的早

27、期,快速開發(fā)一個目標軟件系統(tǒng)的在軟件開發(fā)的早期,快速開發(fā)一個目標軟件系統(tǒng)的原型,讓用戶對其進行評價并提出修改意見,然后原型,讓用戶對其進行評價并提出修改意見,然后開發(fā)人員根據(jù)用戶的意見對原型進行改進。當(dāng)原型開發(fā)人員根據(jù)用戶的意見對原型進行改進。當(dāng)原型幾經(jīng)改進最終確認后,它將直接進化成軟件產(chǎn)品,幾經(jīng)改進最終確認后,它將直接進化成軟件產(chǎn)品,或者由軟件設(shè)計、編碼人員按照模型所確立的外部或者由軟件設(shè)計、編碼人員按照模型所確立的外部特征去實現(xiàn)軟件產(chǎn)品。特征去實現(xiàn)軟件產(chǎn)品。采用一種分析方法生成一個軟件系統(tǒng)或其中所關(guān)心部采用一種分析方法生成一個軟件系統(tǒng)或其中所關(guān)心部分的簡化需求規(guī)格說明。分的簡化需求規(guī)格說明

28、。對該規(guī)格說明進行評審?fù)ㄟ^后,立即生成設(shè)計規(guī)格說對該規(guī)格說明進行評審?fù)ㄟ^后,立即生成設(shè)計規(guī)格說明。為了快速生成原型,這種設(shè)計僅注重所關(guān)心的問明。為了快速生成原型,這種設(shè)計僅注重所關(guān)心的問題,如軟件的總體結(jié)構(gòu)、用戶界面和數(shù)據(jù)設(shè)計、或者題,如軟件的總體結(jié)構(gòu)、用戶界面和數(shù)據(jù)設(shè)計、或者某個復(fù)雜的算法等等,不注重過程內(nèi)部的控制流設(shè)計。某個復(fù)雜的算法等等,不注重過程內(nèi)部的控制流設(shè)計。使用可重用軟部件、用戶界面自動生成器等工具快速使用可重用軟部件、用戶界面自動生成器等工具快速生成可運行的軟件原型并通過測試。生成可運行的軟件原型并通過測試。將原型提交給用戶進行評價,以便征求改進意見。將原型提交給用戶進行評價,

29、以便征求改進意見。上述過程反復(fù)迭代,直至用戶完全滿意。此時的原型上述過程反復(fù)迭代,直至用戶完全滿意。此時的原型已完全、準確地反映了目標軟件在所關(guān)心方面的需求,已完全、準確地反映了目標軟件在所關(guān)心方面的需求,可作為需求規(guī)格說明的一部分而成為軟件設(shè)計的基礎(chǔ)??勺鳛樾枨笠?guī)格說明的一部分而成為軟件設(shè)計的基礎(chǔ)。該技術(shù)特別適合于軟件產(chǎn)品要求大量的該技術(shù)特別適合于軟件產(chǎn)品要求大量的用戶交互、或產(chǎn)生大量的可視輸出、或用戶交互、或產(chǎn)生大量的可視輸出、或設(shè)計一些復(fù)雜的算法等場合,目前的絕設(shè)計一些復(fù)雜的算法等場合,目前的絕大多數(shù)軟件都適合于快速原型技術(shù)。大多數(shù)軟件都適合于快速原型技術(shù)。除非由于問題相當(dāng)復(fù)雜,致使開發(fā)

30、快速除非由于問題相當(dāng)復(fù)雜,致使開發(fā)快速原型可以獲得的支持太少、所冒的風(fēng)險原型可以獲得的支持太少、所冒的風(fēng)險太大時,就不易采用。但對于其中的某太大時,就不易采用。但對于其中的某些子問題,尤其是用戶界面,還可采用些子問題,尤其是用戶界面,還可采用快速原型技術(shù)進行部分分析。快速原型技術(shù)進行部分分析。問題分解技術(shù)問題分解技術(shù) 分析人員常常采用一種問題分解的技術(shù)。即將一個大分析人員常常采用一種問題分解的技術(shù)。即將一個大型復(fù)雜的問題分解為若干個子問題,然后對每一個子型復(fù)雜的問題分解為若干個子問題,然后對每一個子問題逐個進行分析,再自底向上綜合成整個問題的分問題逐個進行分析,再自底向上綜合成整個問題的分析結(jié)

31、果。這種分解可以逐級進行,直至子問題的規(guī)模析結(jié)果。這種分解可以逐級進行,直至子問題的規(guī)模降到合適的程度。降到合適的程度。問題抽象技術(shù)問題抽象技術(shù) 分析人員在分析過程中要善于從諸多的特殊問題中抽分析人員在分析過程中要善于從諸多的特殊問題中抽象出一般的問題,首先關(guān)注一般問題的解決途徑,再象出一般的問題,首先關(guān)注一般問題的解決途徑,再用其指導(dǎo)特殊問題的求解。在抽象的過程中,還要注用其指導(dǎo)特殊問題的求解。在抽象的過程中,還要注意用戶的描述所處的抽象級別的不同,以便建立清晰意用戶的描述所處的抽象級別的不同,以便建立清晰的思路。的思路。 比如,在比如,在“家庭保安系統(tǒng)家庭保安系統(tǒng)”中,用戶可能提出中,用戶

32、可能提出“系系統(tǒng)狀態(tài)顯示統(tǒng)狀態(tài)顯示”、“用戶編制程序時的系統(tǒng)外部行為用戶編制程序時的系統(tǒng)外部行為”等的需求。分析人員則應(yīng)在等的需求。分析人員則應(yīng)在“用戶界面用戶界面”這一抽象這一抽象級別上統(tǒng)一地規(guī)劃軟件系統(tǒng)與用戶的交互行為??杉墑e上統(tǒng)一地規(guī)劃軟件系統(tǒng)與用戶的交互行為??梢姡诓煌某橄蠹墑e上去分析不同層次的問題,見,在不同的抽象級別上去分析不同層次的問題,也是解決復(fù)雜問題的一個重要方法,它可以避免不也是解決復(fù)雜問題的一個重要方法,它可以避免不一致性,減少分析的工作量。一致性,減少分析的工作量。多視點分析技術(shù):多視點分析技術(shù): 為了獲得全面的需求分析結(jié)果,防止遺漏,有必要為了獲得全面的需求分析結(jié)

33、果,防止遺漏,有必要從各個視點分別對問題進行理解與分析,然后綜合從各個視點分別對問題進行理解與分析,然后綜合成全面的理解。分析人員可以就系統(tǒng)視點與用戶視成全面的理解。分析人員可以就系統(tǒng)視點與用戶視點、信息視點、功能視點與行為視點等多個視點分點、信息視點、功能視點與行為視點等多個視點分別進行分析,以確保需求分析的完全性。別進行分析,以確保需求分析的完全性。需求分析的主要階段性產(chǎn)品是需求規(guī)格說明書。它必需求分析的主要階段性產(chǎn)品是需求規(guī)格說明書。它必須通過需求評審后才能生效,這是一個重要的里程碑。須通過需求評審后才能生效,這是一個重要的里程碑。4.3.1 需求規(guī)格說明書的作用與內(nèi)容需求規(guī)格說明書的作

34、用與內(nèi)容1. 需求規(guī)格說明書的作用主要有:需求規(guī)格說明書的作用主要有:1)它是軟件設(shè)計人員進行設(shè)計和編碼的出發(fā)點和基礎(chǔ);)它是軟件設(shè)計人員進行設(shè)計和編碼的出發(fā)點和基礎(chǔ);2)它是對目標軟件產(chǎn)品進行驗收測試的依據(jù)。這就要)它是對目標軟件產(chǎn)品進行驗收測試的依據(jù)。這就要求需求規(guī)格說明書中的各項需求都應(yīng)該是可測試的;求需求規(guī)格說明書中的各項需求都應(yīng)該是可測試的;3)它起到軟件開發(fā)方和客戶(或用戶)方之間的一份)它起到軟件開發(fā)方和客戶(或用戶)方之間的一份合同的作用。合同的作用。2. 需求規(guī)格說明書中的內(nèi)容需求規(guī)格說明書中的內(nèi)容q應(yīng)主要包括功能與行為的需求描述和非行為需求描應(yīng)主要包括功能與行為的需求描述和

35、非行為需求描述。述。功能與行為需求的分析與描述方法將在以后幾章中功能與行為需求的分析與描述方法將在以后幾章中根據(jù)不同的需求建模方法分別介紹。根據(jù)不同的需求建模方法分別介紹。非行為需求是指目標軟件系統(tǒng)在工作時應(yīng)具備的屬非行為需求是指目標軟件系統(tǒng)在工作時應(yīng)具備的屬性,主要有運行效率、可靠性、安全性、可維護性、性,主要有運行效率、可靠性、安全性、可維護性、可移植性等等??梢浦残缘鹊?。在需求規(guī)格說明書中不應(yīng)包括如人員需求、成本預(yù)在需求規(guī)格說明書中不應(yīng)包括如人員需求、成本預(yù)算、進度計劃、質(zhì)量保證計劃等內(nèi)容,以便使其簡算、進度計劃、質(zhì)量保證計劃等內(nèi)容,以便使其簡潔、目標明確。潔、目標明確。目錄目錄1 引言

36、引言 1.1 本說明的編寫目的本說明的編寫目的 1.2 軟件產(chǎn)品的作用范圍軟件產(chǎn)品的作用范圍 1.3 定義、同義詞與縮寫定義、同義詞與縮寫 1.4 參考文獻參考文獻2 概述概述 2.1 產(chǎn)品與其環(huán)境間的關(guān)系產(chǎn)品與其環(huán)境間的關(guān)系 2.2 功能概述功能概述 2.3 用戶特征用戶特征 2.4 約束條件約束條件 2.5 假設(shè)與前提條件假設(shè)與前提條件3功能或行為需求功能或行為需求 3.1 功能或行為需求功能或行為需求1:1)引言)引言 2)輸入)輸入 3)處理過程描述)處理過程描述 4)輸出)輸出 3.2 功能或行為需求功能或行為需求2:1)引言)引言 2)輸入)輸入 3)處理過程描述)處理過程描述 4

37、)輸出)輸出 3.n 功能或行為需求功能或行為需求n: 1)引言)引言 2)輸入)輸入 3)處理過程描述)處理過程描述 4)輸出)輸出4外部界面需求外部界面需求 4.1 用戶界面用戶界面 4.2 硬件界面硬件界面 4.3 軟件界面軟件界面5性能需求性能需求 5.1 精度精度 5.2 時間特征時間特征 5.3 靈活性靈活性6設(shè)計約束設(shè)計約束 6.1 標準化約束標準化約束 6.2 硬件約束硬件約束 7其他需求其他需求 7.1 數(shù)據(jù)庫需求數(shù)據(jù)庫需求 7.2 用戶操作需求用戶操作需求 7.3 工作場地需求工作場地需求8軟件產(chǎn)品屬性軟件產(chǎn)品屬性 8.1 可用性可用性 8.2 安全性安全性 8.3 可維護

38、性可維護性 8.4 可移植性可移植性附錄附錄索引索引軟件系統(tǒng)中的錯誤約有軟件系統(tǒng)中的錯誤約有15%來源于需求分析中的錯來源于需求分析中的錯誤。而在維護階段去改正這部分錯誤是相當(dāng)困難的。誤。而在維護階段去改正這部分錯誤是相當(dāng)困難的。為了及時發(fā)現(xiàn)并糾正這類錯誤,必須對需求規(guī)格說為了及時發(fā)現(xiàn)并糾正這類錯誤,必須對需求規(guī)格說明書進行評審,即需求評審。明書進行評審,即需求評審。1. 評審標準(按照重要性的次序)評審標準(按照重要性的次序)1)正確性。指需求規(guī)格說明書中的每一項功能、行)正確性。指需求規(guī)格說明書中的每一項功能、行為、性能的描述都是正確的、合理的,并能滿足用為、性能的描述都是正確的、合理的,

39、并能滿足用戶的期望。戶的期望。2)無歧義性。指規(guī)格說明書中的每個需求陳述都只)無歧義性。指規(guī)格說明書中的每個需求陳述都只有唯一的解釋。要避免產(chǎn)生歧義性,就應(yīng)使用標準有唯一的解釋。要避免產(chǎn)生歧義性,就應(yīng)使用標準化術(shù)語,并對術(shù)語的語義進行統(tǒng)一的解釋?;g(shù)語,并對術(shù)語的語義進行統(tǒng)一的解釋。3)完全性。指不遺漏任何用戶需求。即需求規(guī))完全性。指不遺漏任何用戶需求。即需求規(guī)格說明書中包括了所有的功能、行為、性能約格說明書中包括了所有的功能、行為、性能約束等。束等。4)可驗證性。指需求規(guī)格說明書中的每一項需)可驗證性。指需求規(guī)格說明書中的每一項需求都是可以檢驗的。求都是可以檢驗的。5)一致性。指陳述的需求

40、之間不存在矛盾之處。)一致性。指陳述的需求之間不存在矛盾之處。6)可理解性。指規(guī)格說明應(yīng)盡量簡潔、明確,)可理解性。指規(guī)格說明應(yīng)盡量簡潔、明確,便于分析人員、客戶(用戶)、設(shè)計人員、測便于分析人員、客戶(用戶)、設(shè)計人員、測試人員和維護人員的理解。因此,應(yīng)盡量減少試人員和維護人員的理解。因此,應(yīng)盡量減少專業(yè)化的詞匯。專業(yè)化的詞匯。 7)可修改性。指需求規(guī)格說明書的框架結(jié)構(gòu)應(yīng))可修改性。指需求規(guī)格說明書的框架結(jié)構(gòu)應(yīng)能比較容易地實現(xiàn)對其可能進行的增補、刪除能比較容易地實現(xiàn)對其可能進行的增補、刪除和修改,并能保持總體結(jié)構(gòu)不變。和修改,并能保持總體結(jié)構(gòu)不變。8)可追蹤性。指規(guī)格說明可向前追蹤,即其中)可追蹤性。指規(guī)格說明可向前追蹤,即其中的每一項需求與用戶的原始需求項清晰地聯(lián)系的每一項需求與用戶的原始需求項清晰地聯(lián)系起來;也可向后追蹤,即為后續(xù)開發(fā)和其他文起來;也可向后追蹤,即為后續(xù)開發(fā)和其他文檔引用這些需求項提供了依據(jù)。檔引用這些需求項提供了依據(jù)。 需求評審過程應(yīng)采用召開正式評審會議的形式。需求評審過

溫馨提示

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

評論

0/150

提交評論