需求工程培訓(xùn)課件_第1頁
需求工程培訓(xùn)課件_第2頁
需求工程培訓(xùn)課件_第3頁
需求工程培訓(xùn)課件_第4頁
需求工程培訓(xùn)課件_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、需求工程培訓(xùn)課件1、領(lǐng)域分析的概念、領(lǐng)域分析的概念 軟件工程要處理兩類工程:軟件工程要處理兩類工程:1面向用戶的業(yè)務(wù)過程工程面向用戶的業(yè)務(wù)過程工程2面向市場的產(chǎn)品工程面向市場的產(chǎn)品工程 見以下圖見以下圖 領(lǐng)域領(lǐng)域(domain),就是指解決問題的范圍,從最高層的角度,就是指解決問題的范圍,從最高層的角度業(yè)務(wù)域描述系統(tǒng)。業(yè)務(wù)域描述系統(tǒng)。 系統(tǒng)分析可以發(fā)生在許多不同的抽象層次:系統(tǒng)分析可以發(fā)生在許多不同的抽象層次: 在業(yè)務(wù)或企業(yè)級層次,可定義描述模擬整個業(yè)務(wù)的功能、結(jié)構(gòu)在業(yè)務(wù)或企業(yè)級層次,可定義描述模擬整個業(yè)務(wù)的功能、結(jié)構(gòu)和行為的模型;和行為的模型; 在應(yīng)用層次,建模著重于特定的用戶需求。在應(yīng)用層

2、次,建模著重于特定的用戶需求。 2企業(yè)企業(yè)業(yè)務(wù)域業(yè)務(wù)域業(yè)務(wù)域業(yè)務(wù)域信息系統(tǒng)信息系統(tǒng)過程需求過程需求信息戰(zhàn)略方案信息戰(zhàn)略方案全局視圖全局視圖業(yè)務(wù)域分析領(lǐng)業(yè)務(wù)域分析領(lǐng)域視圖域視圖系統(tǒng)分析與設(shè)系統(tǒng)分析與設(shè)計建模計建模構(gòu)造與集成構(gòu)造與集成業(yè)務(wù)過程工程層次業(yè)務(wù)過程工程層次3完整產(chǎn)品完整產(chǎn)品軟件軟件能力能力功能功能過程需求過程需求 產(chǎn)品需求全局產(chǎn)品需求全局視圖視圖 構(gòu)件工程構(gòu)件工程領(lǐng)域視圖領(lǐng)域視圖分析與設(shè)計分析與設(shè)計建模建模構(gòu)造與集成構(gòu)造與集成產(chǎn)品工程層次產(chǎn)品工程層次數(shù)據(jù)數(shù)據(jù)行為行為硬件硬件4 Firesmith對軟件領(lǐng)域分析的定義是:對軟件領(lǐng)域分析的定義是:領(lǐng)域分析指特定應(yīng)用領(lǐng)域中公共需求的領(lǐng)域分析指特

3、定應(yīng)用領(lǐng)域中公共需求的標(biāo)識、分析和規(guī)約,即發(fā)現(xiàn)或創(chuàng)立那些標(biāo)識、分析和規(guī)約,即發(fā)現(xiàn)或創(chuàng)立那些可廣泛應(yīng)用的對象,其目的使它們在應(yīng)可廣泛應(yīng)用的對象,其目的使它們在應(yīng)用域中多個工程間能被復(fù)用。領(lǐng)域分析用域中多個工程間能被復(fù)用。領(lǐng)域分析的角色是設(shè)計和建造可復(fù)用構(gòu)件類似的角色是設(shè)計和建造可復(fù)用構(gòu)件類似于制造環(huán)境中工具制造者的角色,它于制造環(huán)境中工具制造者的角色,它們被很多相似但不一定是相同的應(yīng)用開們被很多相似但不一定是相同的應(yīng)用開發(fā)的人所使用。發(fā)的人所使用。 Lethbridge的定義是:領(lǐng)域分析是的定義是:領(lǐng)域分析是軟件工程師了解背景信息的過程。為了軟件工程師了解背景信息的過程。為了理解問題并在需求分析

4、和軟件工程過程理解問題并在需求分析和軟件工程過程的其他階段作出合理的決策,軟件工程的其他階段作出合理的決策,軟件工程師必須了解使用該類軟件的一般性商業(yè)師必須了解使用該類軟件的一般性商業(yè)和技術(shù)領(lǐng)域中足夠的信息。和技術(shù)領(lǐng)域中足夠的信息。5 2、領(lǐng)域分析過程的活動、領(lǐng)域分析過程的活動 1定義被調(diào)查的領(lǐng)域中感興趣的項定義被調(diào)查的領(lǐng)域中感興趣的項 從業(yè)務(wù)域、系統(tǒng)類型或產(chǎn)品范疇中別離出感從業(yè)務(wù)域、系統(tǒng)類型或產(chǎn)品范疇中別離出感興趣的興趣的“項。項。 感興趣的項包括:現(xiàn)存的應(yīng)用軟件的規(guī)約、設(shè)計感興趣的項包括:現(xiàn)存的應(yīng)用軟件的規(guī)約、設(shè)計和代碼,支持軟件如和代碼,支持軟件如GUI或數(shù)據(jù)庫訪問構(gòu)件以及或數(shù)據(jù)庫訪問構(gòu)

5、件以及和領(lǐng)域相關(guān)的構(gòu)件庫以及測試案例。和領(lǐng)域相關(guān)的構(gòu)件庫以及測試案例。 2對從領(lǐng)域中抽取出來的項進(jìn)行分類并建對從領(lǐng)域中抽取出來的項進(jìn)行分類并建立分類層次。立分類層次。6 3收集領(lǐng)域中應(yīng)用系統(tǒng)的代表性樣本。收集領(lǐng)域中應(yīng)用系統(tǒng)的代表性樣本。 4分析樣本中的每個應(yīng)用分析樣本中的每個應(yīng)用 標(biāo)識候選的每個可復(fù)用對象。標(biāo)識候選的每個可復(fù)用對象。 指明對象被標(biāo)識為可復(fù)用的理由。指明對象被標(biāo)識為可復(fù)用的理由。 定義對象的適應(yīng)性。定義對象的適應(yīng)性。 估算在領(lǐng)域中復(fù)用這些對象的應(yīng)估算在領(lǐng)域中復(fù)用這些對象的應(yīng)用的百分率。用的百分率。 使用配置管理技術(shù)控制這些對象。使用配置管理技術(shù)控制這些對象。 5為對象開發(fā)分析模型

6、。為對象開發(fā)分析模型。7 3、領(lǐng)域分析的價值、領(lǐng)域分析的價值 領(lǐng)域分析除了為軟件復(fù)用奠定根底外,還為領(lǐng)域分析除了為軟件復(fù)用奠定根底外,還為較低抽象層次的一般的系統(tǒng)分析帶來如下好處:較低抽象層次的一般的系統(tǒng)分析帶來如下好處: 快速開發(fā)。有助于集中精力關(guān)注最重要的問題,快速開發(fā)。有助于集中精力關(guān)注最重要的問題,更有效地與相關(guān)人員進(jìn)行交流,可以更快確實定需更有效地與相關(guān)人員進(jìn)行交流,可以更快確實定需求。求。 優(yōu)化系統(tǒng)。了解領(lǐng)域的細(xì)節(jié)有助于保證所采納的優(yōu)化系統(tǒng)。了解領(lǐng)域的細(xì)節(jié)有助于保證所采納的解決方案更有效地解決用戶的問題。會少犯錯誤,知解決方案更有效地解決用戶的問題。會少犯錯誤,知道應(yīng)該遵循那些規(guī)程

7、和標(biāo)準(zhǔn)。領(lǐng)域分析給出一個應(yīng)用道應(yīng)該遵循那些規(guī)程和標(biāo)準(zhǔn)。領(lǐng)域分析給出一個應(yīng)用領(lǐng)域的總體視圖,會引導(dǎo)出更好的抽象從而改進(jìn)設(shè)計。領(lǐng)域的總體視圖,會引導(dǎo)出更好的抽象從而改進(jìn)設(shè)計。 有了領(lǐng)域知識,就可以洞察新興趨勢及進(jìn)有了領(lǐng)域知識,就可以洞察新興趨勢及進(jìn)一步開發(fā)的時機(jī),有助于創(chuàng)立適應(yīng)性更強(qiáng)的系統(tǒng)。一步開發(fā)的時機(jī),有助于創(chuàng)立適應(yīng)性更強(qiáng)的系統(tǒng)。 了解通用性和特殊性,有助于創(chuàng)立出具有更了解通用性和特殊性,有助于創(chuàng)立出具有更好的可重用性和更寬的銷售市場的軟件。好的可重用性和更寬的銷售市場的軟件。8 專家提出,沒有堅實的領(lǐng)域分析,任何重大的軟件工程都不應(yīng)該進(jìn)行。對應(yīng)用領(lǐng)域的深入理解能極大的提高成功的幾率。許多非常

8、成功的軟件產(chǎn)品的開發(fā)人員以前都在業(yè)務(wù)領(lǐng)域工作過段時間,對實際需要有著深切的感受。 一旦對領(lǐng)域有了真正的理解,就可進(jìn)行某一個工程或產(chǎn)品的需求分析,包括定義待解決的問題以及開發(fā)什么軟件來解決它。然而,領(lǐng)域分析永遠(yuǎn)也不應(yīng)該結(jié)束:開發(fā)人員有責(zé)任在開發(fā)過程中不斷增進(jìn)他們的理解,后續(xù)版本的系統(tǒng)擴(kuò)充通常需要對子領(lǐng)域進(jìn)行進(jìn)一步的領(lǐng)域分析。91、需求、需求requirements的概念的概念 1需求的定義需求的定義 Jones 定義為用戶所需要的軟件必須到達(dá)的目標(biāo)定義為用戶所需要的軟件必須到達(dá)的目標(biāo)和能力。和能力。Lethbridge定義為需求是關(guān)于系統(tǒng)將要完成定義為需求是關(guān)于系統(tǒng)將要完成什么工作的一段描述,它

9、們必須經(jīng)過所有相關(guān)人員的什么工作的一段描述,它們必須經(jīng)過所有相關(guān)人員的認(rèn)可,其目的是徹底的解決用戶的問題。認(rèn)可,其目的是徹底的解決用戶的問題。 需求是一段需求是一段描述:意思是每個需求是相對短描述:意思是每個需求是相對短小簡明的一段信息,表現(xiàn)為一個事實。它可以是一小簡明的一段信息,表現(xiàn)為一個事實。它可以是一段話或用各種圖表示。一組需求的集合成為需求文段話或用各種圖表示。一組需求的集合成為需求文檔。檔。 關(guān)于系統(tǒng)將要完成什么工作關(guān)于系統(tǒng)將要完成什么工作:需求描述了:需求描述了系統(tǒng)應(yīng)當(dāng)完成的任務(wù),不描述系統(tǒng)將如何實現(xiàn)。系統(tǒng)應(yīng)當(dāng)完成的任務(wù),不描述系統(tǒng)將如何實現(xiàn)。 必須經(jīng)過所有相關(guān)人員的認(rèn)可必須經(jīng)過所

10、有相關(guān)人員的認(rèn)可:意指需求必:意指需求必須經(jīng)過評審,才能成為正式的需求。須經(jīng)過評審,才能成為正式的需求。 其目的是徹底的解決用戶的問題。有助于解決用其目的是徹底的解決用戶的問題。有助于解決用戶的問題,該需求才有存在的價值。戶的問題,該需求才有存在的價值。10業(yè)務(wù)需求業(yè)務(wù)需求工程范工程范圍文檔圍文檔用戶需求用戶需求用例文用例文檔檔功能需求功能需求質(zhì)量屬性質(zhì)量屬性其他非功能其他非功能需求需求設(shè)計約束設(shè)計約束需求規(guī)需求規(guī)約約非功能需求非功能需求系統(tǒng)需求系統(tǒng)需求需求組成的全景圖需求組成的全景圖2需求的組成需求的組成對系統(tǒng)、產(chǎn)品高層次對系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求。的目標(biāo)要求。用戶使用產(chǎn)品必須用戶使用產(chǎn)品

11、必須要完成的任務(wù)要完成的任務(wù)11 其中:其中: 業(yè)務(wù)需求:反映組織機(jī)構(gòu)和客戶對系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求。業(yè)務(wù)需求:反映組織機(jī)構(gòu)和客戶對系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求。 用戶需求:用戶需求:從用戶使用的角度給出需求的描述。從用戶使用的角度給出需求的描述。 如一個小型超市需要一個商品的查詢系統(tǒng)。如一個小型超市需要一個商品的查詢系統(tǒng)。 業(yè)務(wù)需求:進(jìn)貨人員需要查詢商品庫存以便保證及時業(yè)務(wù)需求:進(jìn)貨人員需要查詢商品庫存以便保證及時進(jìn)貨;收款員需要查詢商品的銷售價格以便結(jié)賬;經(jīng)理需進(jìn)貨;收款員需要查詢商品的銷售價格以便結(jié)賬;經(jīng)理需要查詢商品的銷售及盈利情況。要查詢商品的銷售及盈利情況。 用戶需求用戶需求:

12、:這三類用戶怎樣去查詢系統(tǒng),查詢哪些信息,還需這三類用戶怎樣去查詢系統(tǒng),查詢哪些信息,還需要哪些操作。要哪些操作。12 系統(tǒng)需求:從系統(tǒng)或技術(shù)的角度描述為實現(xiàn)業(yè)務(wù)需求和用戶需求系統(tǒng)需求:從系統(tǒng)或技術(shù)的角度描述為實現(xiàn)業(yè)務(wù)需求和用戶需求而提供的效勞以及所受到的約束。而提供的效勞以及所受到的約束。 功能性需求:描述系統(tǒng)應(yīng)該做什么,即為用戶和其它系統(tǒng)完成功能性需求:描述系統(tǒng)應(yīng)該做什么,即為用戶和其它系統(tǒng)完成的功能。的功能。 非功能性需求:產(chǎn)品必須具備的屬性或品質(zhì)。非功能性需求:產(chǎn)品必須具備的屬性或品質(zhì)。 設(shè)計約束:設(shè)計與實現(xiàn)必須遵循的標(biāo)準(zhǔn)、約束條件。如運(yùn)設(shè)計約束:設(shè)計與實現(xiàn)必須遵循的標(biāo)準(zhǔn)、約束條件。如

13、運(yùn)行平臺、協(xié)議、選擇的技術(shù)、編程語言和工具等。行平臺、協(xié)議、選擇的技術(shù)、編程語言和工具等。3需求的描述需求的描述 自然語言、結(jié)構(gòu)化語言、自然語言、結(jié)構(gòu)化語言、PDL 圖形化表示使用圖形化表示使用Rational Rose、Microsoft Visio、Enterprise Architect等工具等工具 數(shù)學(xué)描述形式化語言描述數(shù)學(xué)描述形式化語言描述132、需求工程過程、需求工程過程 需求工程是一個包括創(chuàng)立和維持系統(tǒng)需求文檔所必需的一需求工程是一個包括創(chuàng)立和維持系統(tǒng)需求文檔所必需的一切活動的過程。它包含了如下活動:切活動的過程。它包含了如下活動: 系統(tǒng)可行性研究、需求獲取和分析、需求描述和文檔

14、編寫、系統(tǒng)可行性研究、需求獲取和分析、需求描述和文檔編寫、需求有效性驗證、需求管理管理需求工程的變更。需求有效性驗證、需求管理管理需求工程的變更??尚行匝芯靠尚行匝芯啃枨螳@取和需求獲取和分析分析需求描述需求描述需求有效性需求有效性驗證驗證可行性研究可行性研究報告報告系統(tǒng)模型系統(tǒng)模型用戶需求和系用戶需求和系統(tǒng)需求統(tǒng)需求需求規(guī)約需求規(guī)約需求工程過程需求工程過程需求管理需求管理14l可行性研究是需求工程過程的開始。在較短的時間內(nèi)作出結(jié)可行性研究是需求工程過程的開始。在較短的時間內(nèi)作出結(jié)論。集中答復(fù)以下問題:論。集中答復(fù)以下問題:l 1系統(tǒng)是否符合組織機(jī)構(gòu)的總體目標(biāo)。系統(tǒng)不支持系統(tǒng)是否符合組織機(jī)構(gòu)的總

15、體目標(biāo)。系統(tǒng)不支持這些目標(biāo),就沒有價值。這些目標(biāo),就沒有價值。l 2系統(tǒng)是否可能在現(xiàn)有的技術(shù)條件、預(yù)算和時間系統(tǒng)是否可能在現(xiàn)有的技術(shù)條件、預(yù)算和時間限制內(nèi)完成。限制內(nèi)完成。l 3系統(tǒng)能否與已經(jīng)存在的系統(tǒng)集成。系統(tǒng)能否與已經(jīng)存在的系統(tǒng)集成。l該活動要廣泛收集信息并評估,答復(fù)一些有關(guān)的問題,寫出該活動要廣泛收集信息并評估,答復(fù)一些有關(guān)的問題,寫出研究報告,得出結(jié)論:系統(tǒng)是否值得開發(fā)?給出具體的意見研究報告,得出結(jié)論:系統(tǒng)是否值得開發(fā)?給出具體的意見和建議??赡軐ο到y(tǒng)高層需求、功能范圍、預(yù)算和時間安排和建議??赡軐ο到y(tǒng)高層需求、功能范圍、預(yù)算和時間安排提出修改意見。提出修改意見。15需求獲取與需求分

16、析的區(qū)別需求獲取與需求分析的區(qū)別 需求獲取是開發(fā)人員與客戶或用戶一起對應(yīng)用領(lǐng)域進(jìn)行調(diào)查研究,需求獲取是開發(fā)人員與客戶或用戶一起對應(yīng)用領(lǐng)域進(jìn)行調(diào)查研究,收集系統(tǒng)需求的過程。收集系統(tǒng)需求的過程。 需求分析是將獲取到的需求準(zhǔn)確的理解、求精,并將其轉(zhuǎn)需求分析是將獲取到的需求準(zhǔn)確的理解、求精,并將其轉(zhuǎn)化為完整的需求定義包括建模,進(jìn)而生成需求規(guī)約的過程?;癁橥暾男枨蠖x包括建模,進(jìn)而生成需求規(guī)約的過程。需求獲取和分析的難度需求獲取和分析的難度 工程相關(guān)人員通常并不真正知道希望計算機(jī)做什么,讓他們清晰工程相關(guān)人員通常并不真正知道希望計算機(jī)做什么,讓他們清晰的表達(dá)出需要系統(tǒng)做什么是件困難的事,他們或許提出不

17、切實際的的表達(dá)出需要系統(tǒng)做什么是件困難的事,他們或許提出不切實際的要求。要求。 16 工程相關(guān)人員用自己的語言表達(dá)需求,這些語言包含很多工作工程相關(guān)人員用自己的語言表達(dá)需求,這些語言包含很多工作中的專業(yè)術(shù)語和專業(yè)知識。系統(tǒng)分析員沒有這些知識和經(jīng)驗,而他中的專業(yè)術(shù)語和專業(yè)知識。系統(tǒng)分析員沒有這些知識和經(jīng)驗,而他們又必須了解這些需求。們又必須了解這些需求。 不同的工程相關(guān)人員有不同的需求,可能以不同的方式表達(dá),分析不同的工程相關(guān)人員有不同的需求,可能以不同的方式表達(dá),分析人員必須發(fā)現(xiàn)所有潛在的需求資源,而且能發(fā)現(xiàn)這些需求的相容或沖突人員必須發(fā)現(xiàn)所有潛在的需求資源,而且能發(fā)現(xiàn)這些需求的相容或沖突之處

18、。之處。 經(jīng)濟(jì)和業(yè)務(wù)環(huán)境決定了分析是動態(tài)的,需求在分析過程中會發(fā)生變更。個別經(jīng)濟(jì)和業(yè)務(wù)環(huán)境決定了分析是動態(tài)的,需求在分析過程中會發(fā)生變更。個別需求的重要程度會改變,新的需求會從新的工程相關(guān)人員那里得到。需求的重要程度會改變,新的需求會從新的工程相關(guān)人員那里得到。 17 建立由客戶用戶、系統(tǒng)分析員、領(lǐng)域?qū)<覅⒓拥穆?lián)建立由客戶用戶、系統(tǒng)分析員、領(lǐng)域?qū)<覅⒓拥穆?lián)合小組。合小組。 需求獲取的方法:個別訪談、召集會議、文檔研究、問需求獲取的方法:個別訪談、召集會議、文檔研究、問卷調(diào)查、觀察用戶工作流程、建立原型。卷調(diào)查、觀察用戶工作流程、建立原型。 獲取的需求的表達(dá)方式:獲取的需求的表達(dá)方式: 1需求列

19、表需求列表 需求與系統(tǒng)的特殊視角或環(huán)境的關(guān)系需求與系統(tǒng)的特殊視角或環(huán)境的關(guān)系 2業(yè)務(wù)流程圖狀態(tài)業(yè)務(wù)流程圖狀態(tài)/活動圖活動圖 3用例用例Use-Case/場景場景Scenario /用戶故事用戶故事user story)/ 視點視點(viewpoint)的描述的描述 4數(shù)據(jù)流圖數(shù)據(jù)流圖 5實體關(guān)系圖實體關(guān)系圖 6用例圖、類圖、活動圖、時序圖、狀態(tài)圖等。用例圖、類圖、活動圖、時序圖、狀態(tài)圖等。 18視點視點 可以理解為:可以理解為: 1、數(shù)據(jù)源或數(shù)據(jù)池、數(shù)據(jù)源或數(shù)據(jù)池SA、SD方法方法 2、一個表示框架系統(tǒng)模型、一個表示框架系統(tǒng)模型 3、效勞的接收者系統(tǒng)的外部成分、效勞的接收者系統(tǒng)的外部成分 特別

20、適用于交互式系統(tǒng)的需求導(dǎo)出。特別適用于交互式系統(tǒng)的需求導(dǎo)出。用例用例 Jacobson說說“用例幫助定義系統(tǒng)之外存在什么參與者以及用例幫助定義系統(tǒng)之外存在什么參與者以及系統(tǒng)應(yīng)該完成什么。把系統(tǒng)分成一組邏輯的、互相聯(lián)系較少的系統(tǒng)應(yīng)該完成什么。把系統(tǒng)分成一組邏輯的、互相聯(lián)系較少的局部,每一局部都描述了系統(tǒng)與外部角色交互所提供的效勞,即局部,每一局部都描述了系統(tǒng)與外部角色交互所提供的效勞,即用例的集合代表了所有將會在系統(tǒng)需求中出現(xiàn)的交互。因此容易用例的集合代表了所有將會在系統(tǒng)需求中出現(xiàn)的交互。因此容易從使用的角度理解系統(tǒng)應(yīng)到達(dá)的功能。而從使用的角度理解系統(tǒng)應(yīng)到達(dá)的功能。而“用戶故事是某種形用戶故事是

21、某種形式的簡化版用例。式的簡化版用例。場景場景 場景是用例的具體描述。一個用例封裝了一組場景,每場景是用例的具體描述。一個用例封裝了一組場景,每個場景就是一個單個線程。個場景就是一個單個線程。19 例例1:列出圖書館系統(tǒng)與以下參與者角色交互的最小用例:列出圖書館系統(tǒng)與以下參與者角色交互的最小用例集:借閱者、借書員、圖書管理員、會計系統(tǒng)。集:借閱者、借書員、圖書管理員、會計系統(tǒng)。 借閱者:借閱者: 按題目查詢書籍按題目查詢書籍 按作者查詢書籍按作者查詢書籍 按主題查詢書籍按主題查詢書籍 預(yù)定已被其他人借出的書籍預(yù)定已被其他人借出的書籍 查詢借閱者的個人信息并列出借閱的書籍查詢借閱者的個人信息并列

22、出借閱的書籍20 借書員:借書員: 所有借閱者的用例,再加上所有借閱者的用例,再加上 為借閱者查找某一書籍為借閱者查找某一書籍 登記已歸還的書籍登記已歸還的書籍 續(xù)借一本書續(xù)借一本書 登記繳納的罰款登記繳納的罰款 添加新的借閱者添加新的借閱者 更新借閱者的個人信息地址、更新借閱者的個人信息地址、 號碼等號碼等 圖書管理員:圖書管理員: 所有借閱者和借書員的用例,再加上所有借閱者和借書員的用例,再加上 添加藏書添加藏書 刪除藏書刪除藏書 改變系統(tǒng)中對已有書籍的記錄信息改變系統(tǒng)中對已有書籍的記錄信息 會計系統(tǒng)獨(dú)立運(yùn)行會計系統(tǒng)獨(dú)立運(yùn)行 獲得借閱者支付的超期罰款獲得借閱者支付的超期罰款21l例例2:一

23、個:一個SafeHome系統(tǒng),系統(tǒng)激活的根本用例用自然系統(tǒng),系統(tǒng)激活的根本用例用自然語言陳述如下:語言陳述如下:l 參考教材參考教材1)l 房主觀察控制面板以確定是否系統(tǒng)已準(zhǔn)備好接收輸入。房主觀察控制面板以確定是否系統(tǒng)已準(zhǔn)備好接收輸入。如果系統(tǒng)未準(zhǔn)備好,房主必須物理地關(guān)閉門如果系統(tǒng)未準(zhǔn)備好,房主必須物理地關(guān)閉門/窗戶,以便使窗戶,以便使“準(zhǔn)備好指示燈亮。準(zhǔn)備好指示燈亮。l 房主使用鍵盤輸入房主使用鍵盤輸入4位密碼,系統(tǒng)將密碼與存儲在配置庫位密碼,系統(tǒng)將密碼與存儲在配置庫中的有效密碼比較,如果密碼不正確,控制面板鳴叫一次并中的有效密碼比較,如果密碼不正確,控制面板鳴叫一次并復(fù)位等待再次輸入。如果

24、密碼正確,控制面板等待進(jìn)一步的復(fù)位等待再次輸入。如果密碼正確,控制面板等待進(jìn)一步的動作。動作。l 房主選擇鍵入房主選擇鍵入“stay僅激活外部的傳感器或僅激活外部的傳感器或“away激活所有的傳感器以啟動系統(tǒng)。激活所有的傳感器以啟動系統(tǒng)。l 當(dāng)激活時,房主可觀察到一個紅色指示燈。當(dāng)激活時,房主可觀察到一個紅色指示燈。22 用例:用例: 房主激活監(jiān)測房主激活監(jiān)測 場景:場景: 1、房主:觀察控制面板。、房主:觀察控制面板。 2、房主:輸入密碼。、房主:輸入密碼。 3、房主:選擇、房主:選擇“stay或或“away。 4、房主:觀察紅色指示燈顯示系統(tǒng)已被翻開。、房主:觀察紅色指示燈顯示系統(tǒng)已被翻開

25、。 異常:異常: 1、控制面板未就緒。、控制面板未就緒。 2、密碼不正確。、密碼不正確。 3、密碼不識別。、密碼不識別。未解決的問題:未解決的問題: 1、是否有不使用密碼激活系統(tǒng)的方式。、是否有不使用密碼激活系統(tǒng)的方式。 2、控制面板是否還應(yīng)顯示附加的文字信息。、控制面板是否還應(yīng)顯示附加的文字信息。 3、房主輸入密碼的時間有無約束。、房主輸入密碼的時間有無約束。 4、在系統(tǒng)真正激活之前有無方法關(guān)閉系統(tǒng)。、在系統(tǒng)真正激活之前有無方法關(guān)閉系統(tǒng)。23 需求分析是發(fā)現(xiàn)、規(guī)約和求精的過程,指開發(fā)人需求分析是發(fā)現(xiàn)、規(guī)約和求精的過程,指開發(fā)人員準(zhǔn)確的理解用戶的需求,通過分析,將不標(biāo)準(zhǔn)的需員準(zhǔn)確的理解用戶的需

26、求,通過分析,將不標(biāo)準(zhǔn)的需求陳述轉(zhuǎn)化為完整的需求定義,并產(chǎn)生需求規(guī)格化說求陳述轉(zhuǎn)化為完整的需求定義,并產(chǎn)生需求規(guī)格化說明的過程。明的過程。 獲取的需求可能有模糊的、冗余的、有沖突獲取的需求可能有模糊的、冗余的、有沖突的或不易理解的地方,需要用文字和圖形描述不的或不易理解的地方,需要用文字和圖形描述不同視圖以揭示更深的、易混淆的問題,確保與所同視圖以揭示更深的、易混淆的問題,確保與所有風(fēng)險承擔(dān)者達(dá)成共識。有風(fēng)險承擔(dān)者達(dá)成共識。 24 需求分析活動具有以下任務(wù):需求分析活動具有以下任務(wù): 1分析需求的可行性:允許的本錢、性能;分析需求的可行性:允許的本錢、性能;與其他需求的沖突;外界因素的依賴和技

27、術(shù)障礙與其他需求的沖突;外界因素的依賴和技術(shù)障礙等。等。 2對于漸增式開發(fā)要確定需求的優(yōu)先級別,對于漸增式開發(fā)要確定需求的優(yōu)先級別,以便確立產(chǎn)品版本。以便確立產(chǎn)品版本。 3建模:模型能突出或強(qiáng)調(diào)某些關(guān)鍵的系統(tǒng)特建模:模型能突出或強(qiáng)調(diào)某些關(guān)鍵的系統(tǒng)特征。使用文本征。使用文本 和圖表形式的組合,以相對容易理解和和圖表形式的組合,以相對容易理解和能直接評審正確性、完整性和一致性的方式來描述數(shù)能直接評審正確性、完整性和一致性的方式來描述數(shù)據(jù)信息、功能和行為的需求。圖形化的表示分析據(jù)信息、功能和行為的需求。圖形化的表示分析模型可以增強(qiáng)對軟件需求的理解,也為軟件設(shè)計奠定模型可以增強(qiáng)對軟件需求的理解,也為軟

28、件設(shè)計奠定了根底。了根底。 4生成需求規(guī)格說明。生成需求規(guī)格說明。25 在過去的數(shù)年中,人們提出了許多種分析建模的在過去的數(shù)年中,人們提出了許多種分析建模的方法,其中兩種在分析建模領(lǐng)域占有主導(dǎo)地位:方法,其中兩種在分析建模領(lǐng)域占有主導(dǎo)地位: 第一種是結(jié)構(gòu)化分析第一種是結(jié)構(gòu)化分析 (Structured Analysis,SA),70年代末由年代末由DeMarco等人提出,這是傳統(tǒng)的建模方法。等人提出,這是傳統(tǒng)的建模方法。該方法不是被所有的使用者一致地使用的單一方法,該方法不是被所有的使用者一致地使用的單一方法,眾多科學(xué)家對其進(jìn)行了擴(kuò)充,因此它是開展了超過眾多科學(xué)家對其進(jìn)行了擴(kuò)充,因此它是開展了

29、超過30年的一個混合物。年的一個混合物。 另一種方法是面向?qū)ο蟮姆治觯硪环N方法是面向?qū)ο蟮姆治觯?如如Coad-Yourdon方法、方法、Booch方法、方法、Rumbaugh方法、方法、Jacobson 方法等。方法等。 具體的建模方法有具體的建模方法有: 26上下文模型上下文模型 ERD、包圖、包圖面向流的建模:數(shù)據(jù)流圖面向流的建模:數(shù)據(jù)流圖DFD/CFD數(shù)據(jù)建模:實體關(guān)系圖數(shù)據(jù)建模:實體關(guān)系圖ERD基于場景的建模:用例圖、順序圖、活動圖基于場景的建模:用例圖、順序圖、活動圖基于類的建模:類圖、包基于類的建模:類圖、包基于行為的建模:基于行為的建模: Petri網(wǎng)、狀態(tài)圖、順序圖、網(wǎng)、狀

30、態(tài)圖、順序圖、 協(xié)作圖、活動圖協(xié)作圖、活動圖 27Sommerville認(rèn)為模型可以從以下角度去描述:認(rèn)為模型可以從以下角度去描述: 1、從外部看,它是對系統(tǒng)上下文或系統(tǒng)環(huán)境建模。、從外部看,它是對系統(tǒng)上下文或系統(tǒng)環(huán)境建模。見下頁圖見下頁圖 2、從行為上看,它是對系統(tǒng)運(yùn)行行為建模。、從行為上看,它是對系統(tǒng)運(yùn)行行為建模。 3、從結(jié)構(gòu)上看,它是對系統(tǒng)體系結(jié)構(gòu)和系統(tǒng)數(shù)據(jù)的、從結(jié)構(gòu)上看,它是對系統(tǒng)體系結(jié)構(gòu)和系統(tǒng)數(shù)據(jù)的結(jié)構(gòu)建模。結(jié)構(gòu)建模。 有如下系統(tǒng)模型的實例有如下系統(tǒng)模型的實例ppt30:28上下文模型定義了系統(tǒng)的邊界上下文模型定義了系統(tǒng)的邊界29 1、數(shù)據(jù)處理模型、數(shù)據(jù)處理模型 如數(shù)據(jù)流圖,說明系統(tǒng)

31、的如數(shù)據(jù)流圖,說明系統(tǒng)的不同階段數(shù)據(jù)如何被處理。不同階段數(shù)據(jù)如何被處理。 2、組成模型、組成模型 實體關(guān)系圖,說明一個實體與另實體關(guān)系圖,說明一個實體與另外實體間的關(guān)系或如何由其他實體組成。外實體間的關(guān)系或如何由其他實體組成。 3、體系結(jié)構(gòu)模型、體系結(jié)構(gòu)模型 說明構(gòu)成整個系統(tǒng)的那些主要說明構(gòu)成整個系統(tǒng)的那些主要的子系統(tǒng)。的子系統(tǒng)。 4、分類模型、分類模型 如對象模型,說明對象間怎樣具如對象模型,說明對象間怎樣具有共同特性。有共同特性。 5、鼓勵、鼓勵-響應(yīng)模型響應(yīng)模型 說明系統(tǒng)對來自內(nèi)部和外部的說明系統(tǒng)對來自內(nèi)部和外部的事件的響應(yīng)。事件的響應(yīng)。 具體分析建模的方法請見第具體分析建模的方法請見第

32、3章。章。301、軟件需求規(guī)約、軟件需求規(guī)約 Software Requirements Specification,SRS SRS是需求分析階段的產(chǎn)品,是所有其他開發(fā)和是需求分析階段的產(chǎn)品,是所有其他開發(fā)和管理活動的根底。對系統(tǒng)開發(fā)過程中其他活動的管理活動的根底。對系統(tǒng)開發(fā)過程中其他活動的影響:影響: 工程經(jīng)理根據(jù)它制定或修改開發(fā)方案。工程經(jīng)理根據(jù)它制定或修改開發(fā)方案。 設(shè)計人員根據(jù)它進(jìn)行系統(tǒng)設(shè)計。設(shè)計人員根據(jù)它進(jìn)行系統(tǒng)設(shè)計。 測試人員根據(jù)它編寫測試方案,設(shè)計測試用例。測試人員根據(jù)它編寫測試方案,設(shè)計測試用例。 產(chǎn)品發(fā)布人員根據(jù)它編寫產(chǎn)品介紹和用戶文檔。產(chǎn)品發(fā)布人員根據(jù)它編寫產(chǎn)品介紹和用戶文

33、檔。 培訓(xùn)人員根據(jù)它編寫培訓(xùn)教程。培訓(xùn)人員根據(jù)它編寫培訓(xùn)教程。31 需求規(guī)約的結(jié)構(gòu):需求規(guī)約的結(jié)構(gòu): 1998 1998年的年的IEEEIEEE標(biāo)準(zhǔn)為需求規(guī)約提出了以下結(jié)構(gòu),組標(biāo)準(zhǔn)為需求規(guī)約提出了以下結(jié)構(gòu),組織機(jī)構(gòu)內(nèi)部可以基于此標(biāo)準(zhǔn)擴(kuò)展:織機(jī)構(gòu)內(nèi)部可以基于此標(biāo)準(zhǔn)擴(kuò)展: 1 1引言引言 需求文檔的目的、產(chǎn)品范圍、文檔需求文檔的目的、產(chǎn)品范圍、文檔約定縮寫詞與縮略語、參考文獻(xiàn)、文檔的其約定縮寫詞與縮略語、參考文獻(xiàn)、文檔的其余局部概覽余局部概覽 2 2綜合描述綜合描述 產(chǎn)品前景、產(chǎn)品前景、 產(chǎn)品功能與優(yōu)先級、用產(chǎn)品功能與優(yōu)先級、用戶特征、運(yùn)行環(huán)境、設(shè)計與實現(xiàn)上的約束、假設(shè)戶特征、運(yùn)行環(huán)境、設(shè)計與實現(xiàn)

34、上的約束、假設(shè)和依賴性和依賴性32 3需求描述需求描述 a. 功能需求功能需求 b. 數(shù)據(jù)需求:與功能有關(guān)的數(shù)據(jù)定義和數(shù)據(jù)關(guān)數(shù)據(jù)需求:與功能有關(guān)的數(shù)據(jù)定義和數(shù)據(jù)關(guān)系系 c. 性能需求:響應(yīng)時間、容量要求、用戶數(shù)等性能需求:響應(yīng)時間、容量要求、用戶數(shù)等 d. 外部接口:用戶界面、軟硬件接口、通信外部接口:用戶界面、軟硬件接口、通信接口接口 e. 設(shè)計約束:軟件支持環(huán)境、報表、數(shù)據(jù)命設(shè)計約束:軟件支持環(huán)境、報表、數(shù)據(jù)命名等名等 f. 軟件質(zhì)量屬性可維護(hù)性、可靠性、可移軟件質(zhì)量屬性可維護(hù)性、可靠性、可移植性、植性、 可用性、平安性等等可用性、平安性等等 g. 其他需求其他需求 這一節(jié)是文檔中最實質(zhì)性

35、的局部,由于在機(jī)構(gòu)組這一節(jié)是文檔中最實質(zhì)性的局部,由于在機(jī)構(gòu)組織的實踐中存在極大的變數(shù),對這一節(jié)定義的標(biāo)準(zhǔn)結(jié)織的實踐中存在極大的變數(shù),對這一節(jié)定義的標(biāo)準(zhǔn)結(jié)構(gòu)可以進(jìn)行增刪。構(gòu)可以進(jìn)行增刪。 4附錄詞匯表、硬件與數(shù)據(jù)庫的描述、附錄詞匯表、硬件與數(shù)據(jù)庫的描述、模型、待定問題列表等模型、待定問題列表等 5索引索引331. 范圍范圍 1.1標(biāo)識標(biāo)識 文件狀態(tài)草稿文件狀態(tài)草稿/正式發(fā)布正式發(fā)布/正在修改;文件標(biāo)識;當(dāng)前版本;正在修改;文件標(biāo)識;當(dāng)前版本; 作者作者 1.2 系統(tǒng)概述名稱、功能、性能、上下文關(guān)系、用戶、開發(fā)者系統(tǒng)概述名稱、功能、性能、上下文關(guān)系、用戶、開發(fā)者 1.3 文檔概述類型、描述方法、

36、預(yù)期讀者文檔概述類型、描述方法、預(yù)期讀者 1.4 基線基線2. 引用文件引用文件3. 需求概述需求概述 3.1 系統(tǒng)目標(biāo)系統(tǒng)目標(biāo) 3.2 運(yùn)行環(huán)境運(yùn)行環(huán)境 3.3 用戶特點用戶特點4. 功能需求功能需求 5. 外部接口需求外部接口需求6. 數(shù)據(jù)數(shù)據(jù)7. 故障處理故障處理34 2、需求驗證 需求驗證的重要性:如果在后續(xù)的開發(fā)或當(dāng)系統(tǒng)投入使用時才發(fā)現(xiàn)需求規(guī)約中的錯誤,就會導(dǎo)致更大代價的返工。由需求問題而對系統(tǒng)做變更的本錢比修改設(shè)計或代碼錯誤的本錢要大的多。假設(shè)需求階段引入1個錯誤的需求,設(shè)計時對這個需求需要510條設(shè)計實現(xiàn),1條設(shè)計需要 510條程序,1條程序需要35種測試組合測試。 原始需求原始

37、需求正確的規(guī)格說明正確的規(guī)格說明 錯誤的規(guī)格說明錯誤的規(guī)格說明正確的設(shè)計正確的設(shè)計 錯誤的設(shè)計錯誤的設(shè)計 對錯誤需求的設(shè)計對錯誤需求的設(shè)計正確的編碼正確的編碼 錯誤的編碼錯誤的編碼 對錯誤設(shè)計的編碼對錯誤設(shè)計的編碼 對錯誤需求的編碼對錯誤需求的編碼正確功能正確功能 測試到的錯誤測試到的錯誤 沒有測試到的錯誤沒有測試到的錯誤 一個錯誤的需求,糾正本錢一個錯誤的需求,糾正本錢100元元10 糾正本錢糾正本錢1000元元10535 對需求規(guī)約需執(zhí)行以下類型的檢查:對需求規(guī)約需執(zhí)行以下類型的檢查: 1有效性檢查有效性檢查 檢查不同用戶使用不同功能的有效性。檢查不同用戶使用不同功能的有效性。 2一致性檢

38、查一致性檢查 在文檔中,需求不應(yīng)該沖突。在文檔中,需求不應(yīng)該沖突。 3完備性檢查完備性檢查 需求文檔應(yīng)該包括所有用戶想要的功能和約需求文檔應(yīng)該包括所有用戶想要的功能和約束。束。 4現(xiàn)實性檢查現(xiàn)實性檢查 檢查保證能利用現(xiàn)有技術(shù)實現(xiàn)需求。檢查保證能利用現(xiàn)有技術(shù)實現(xiàn)需求。36 驗證技術(shù):驗證技術(shù): 1需求評審:需求評審: 由分析員、設(shè)計員、測試員、用戶參與的正式或非正式由分析員、設(shè)計員、測試員、用戶參與的正式或非正式的會議評審。正式會議要有嚴(yán)格的評審程序,要有會議記錄,的會議評審。正式會議要有嚴(yán)格的評審程序,要有會議記錄,開發(fā)組根據(jù)缺陷建議修改需求說明并重審。開發(fā)組根據(jù)缺陷建議修改需求說明并重審。 2利用原型檢驗系統(tǒng)是否符合用戶的真正需要。利用原型檢驗系統(tǒng)是否符合用戶的真正需要。 3對每個需求編寫概念性的測試用例。對每個需求編寫

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論