軟件工程第三講需求分析全解課件_第1頁
軟件工程第三講需求分析全解課件_第2頁
軟件工程第三講需求分析全解課件_第3頁
軟件工程第三講需求分析全解課件_第4頁
軟件工程第三講需求分析全解課件_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2022/7/29第三章 需求分析2022/7/292序言可行性研究的目的就是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決;可行性研究的目的不是解決問題,而是確定問題是否值得去解。 并沒有準(zhǔn)確回答“系統(tǒng)必須做什么?”,不能代替需求分析。需求分析確定系統(tǒng)必須完成哪些工作,對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。系統(tǒng)分析員應(yīng)寫出軟件需求規(guī)格說明書,以書面形式描述軟件需求。2022/7/293序言分析方法的準(zhǔn)則:必須理解并描述問題的信息域,根據(jù)這條準(zhǔn)則應(yīng)該建立數(shù)學(xué)模型;必須定義軟件應(yīng)完成的功能,這條準(zhǔn)則要求建立功能模型;必須描述作為外部事件結(jié)果的軟件行為,這條轉(zhuǎn)要求建立行為模型;必須對描述

2、信息、功能和行為的模型進(jìn)行分解,用層次的方式展示細(xì)節(jié)。2022/7/294 序言軟件在需求分析和設(shè)計階段占用的工作量達(dá)到總工作量的4050,說明軟件開發(fā)前期的活動多么重要。當(dāng)然這也包括分階段開發(fā)原型的開銷。大家熟悉的編碼工作只占全部工作量的1020,而軟件測試和調(diào)試的工作量占到總工作量的3040,甚至50%。2022/7/295本講內(nèi)容需求分析的任務(wù)和過程與用戶溝通獲取需求的方法分析建模與規(guī)格說明實(shí)體-聯(lián)系圖數(shù)據(jù)規(guī)范化狀態(tài)轉(zhuǎn)換圖其他圖形工具驗(yàn)證軟件需求2022/7/293.1 需求分析的任務(wù)2022/7/2973.1.1 確定對系統(tǒng)的綜合要求(1)1. 功能需求:指定系統(tǒng)必須提供的服務(wù)。2.

3、性能需求:制定系統(tǒng)必須滿足的定時約束或容量約束。如:相應(yīng)時間(速度)、主存容量、磁盤容量、安全性、等。3. 可靠性和可用性需求:指定系統(tǒng)的可靠性。4. 出錯處理需求:說明系統(tǒng)對環(huán)境錯誤應(yīng)該怎樣響應(yīng)。 系統(tǒng)發(fā)現(xiàn)錯誤時采取的行動,主要在系統(tǒng)關(guān)鍵部分設(shè)置。2022/7/2983.1.1確定對系統(tǒng)的綜合要求(2)5. 接口需求 用戶接口、硬件接口、軟件接口、通信接口、等。6. 約束 精度、工具和語言、設(shè)計約束、硬件約束、標(biāo)準(zhǔn),等。7. 逆向需求 8. 將來可能提出的要求 2022/7/2993.1.2 分析系統(tǒng)的數(shù)據(jù)要求 任何一個軟件系統(tǒng)都是信息處理系統(tǒng),系統(tǒng)必須處理的信息和系統(tǒng)應(yīng)該產(chǎn)生的信息在很大程

4、度上決定了系統(tǒng)的面貌,對軟件設(shè)計有深遠(yuǎn)影響,因此,必須分析系統(tǒng)的數(shù)據(jù)要求,這是軟件需求的一個重要任務(wù)。 通過建立數(shù)據(jù)模型來分析,如數(shù)據(jù)字典、層次方框圖、Warnier圖,并將數(shù)據(jù)結(jié)構(gòu)規(guī)范化。2022/7/29103.1.3 導(dǎo)出系統(tǒng)的邏輯模型 導(dǎo)出系統(tǒng)的詳細(xì)的邏輯模型,通常包括數(shù)據(jù)流圖、實(shí)體聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典、主要的處理算法(IPO圖)等。2022/7/29113.1.4 修正系統(tǒng)開發(fā)計劃 修訂前期制定的開發(fā)進(jìn)度計劃、等。2022/7/293.2 與用戶溝通獲取需求的方法2022/7/29133.2.1 訪談1.正式訪談2.非正式訪談 當(dāng)需要調(diào)查大量人員時,分發(fā)調(diào)查表情景分析技術(shù) 能

5、在某種程度上演示目標(biāo)系統(tǒng)的行為,從而便于用戶理解,而且還能進(jìn)一步揭示出一些分析員目前不知道的需求。 較易為用戶所理解,能保證用戶在需求分析過程中始終扮演一個積極主動的角色。2022/7/2914 觀察用戶工作流程或者實(shí)踐2022/7/2915用戶和開發(fā)人員共同組成聯(lián)合小組加強(qiáng)聯(lián)系促進(jìn)交流增進(jìn)合作2022/7/2916分析追蹤數(shù)據(jù)流圖用戶復(fù)查細(xì)化數(shù)據(jù)流圖有補(bǔ)充修正無補(bǔ)充修正需要分解不需分解圖3.1 需求分析基本過程 借助數(shù)據(jù)流圖、數(shù)據(jù)字典、IPO圖等,細(xì)化、完善詳細(xì)的數(shù)據(jù)流圖,等到各處理環(huán)節(jié)對應(yīng)的功能。3.2.2 面向數(shù)據(jù)流自頂向下求精2022/7/29173.2.3 簡易的應(yīng)用規(guī)格說明技術(shù) 面

6、向團(tuán)隊(duì)的需求收集法: (用戶與開發(fā)者配合)初步訪談;開發(fā)者和用戶分別寫出“產(chǎn)品需求”;開會討論,各自展示需求列表;得出一致意見,為需求列表制定小型規(guī)格說明;根據(jù)會議成果,起草完整的軟件需求規(guī)格說明。2022/7/29183.2.4 快速建立軟件原型 快速原型就是快速建立起來的旨在演示目標(biāo)系統(tǒng)主要功能的可運(yùn)行的程序。第一個特性是快速;第二個特性是容易修改。 快速建立能演示目標(biāo)系統(tǒng)主要功能的程序。第四代技術(shù)可重用的軟件構(gòu)件形式化規(guī)格說明和原型環(huán)境2022/7/293.3 分析建模與規(guī)格說明3.3.1 分析建模 所謂模型,就是為了理解事物而對事物做出的一種抽象,是對事物的一種無歧義的書面描述。簡單地

7、說,模型就是某一事物的抽象表示方式。 為了開發(fā)復(fù)雜的系統(tǒng),應(yīng)從不同角度(模型)抽象出目標(biāo)系統(tǒng)的特性(數(shù)據(jù)模型、功能模型、行為模型)。2022/7/2920實(shí)體聯(lián)系圖:建立數(shù)據(jù)模型,描述數(shù)據(jù)對象及數(shù)據(jù)對象之間的 關(guān)系;數(shù)據(jù)流圖:建立功能模型的基礎(chǔ);狀態(tài)轉(zhuǎn)換圖:描繪系統(tǒng)的狀態(tài)和狀態(tài)間轉(zhuǎn)換的方式。3.3.2 軟件需求規(guī)格說明 為了把用戶的數(shù)據(jù)要求清楚、準(zhǔn)確的描述出來,系統(tǒng)分析員通常建立一個概念性的數(shù)據(jù)模型。包含三種相互關(guān)聯(lián)的信息:數(shù)據(jù)對象、數(shù)據(jù)對象的屬性及數(shù)據(jù)對象彼此間相互連接的關(guān)系。2022/7/29212022/7/2922 數(shù)據(jù)對象可以是外部實(shí)體、事物、行為、事件、角色、單位、地點(diǎn)、結(jié)構(gòu)等。

8、屬性定義了數(shù)據(jù)對象的性質(zhì)。 聯(lián)系是數(shù)據(jù)對象之間相互連接的方式。 (1)一對一聯(lián)系(1:1); (2)一對多聯(lián)系(1:N); (3)多對多聯(lián)系(M:N)。數(shù)據(jù)對象3.4 實(shí)體-聯(lián)系圖屬性聯(lián)系2022/7/2923實(shí)體-聯(lián)系圖教師學(xué)生課程學(xué)號姓名系年級職務(wù)性別職稱性別姓名教工號教學(xué)成績學(xué)分學(xué)時課名課程號圖3.2 某校教學(xué)管理ER圖MN1N2022/7/2924通常用范式定義消除數(shù)據(jù)冗余的程度。第一范式(1 NF)數(shù)據(jù)冗余度最大,第五范式(5 NF)數(shù)據(jù)冗余度最小。但范式級別越高,(1)存儲同樣多數(shù)據(jù)需要分解成更多張表,“存儲自身”的過程越復(fù)雜;(2)數(shù)據(jù)存儲結(jié)構(gòu)與基于問題域的結(jié)構(gòu)間的匹配程度也隨之

9、下降,需求變化時數(shù)據(jù)穩(wěn)定性下降;(3)需要訪問的表增多,性能下降。(第三范式) 第一范式:每個屬性都是原子值 第二范式:滿足第一范式條件,每個關(guān)鍵字屬性都僅有關(guān)鍵字決定 第三范式:符合第二范式條件,每個非關(guān)鍵字屬性都僅有關(guān)鍵字決定,并且一個非關(guān)鍵字屬性值不依賴于另一個非關(guān)鍵字屬性值 3.5 數(shù)據(jù)規(guī)范化2022/7/2925第一范式(1 NF)數(shù)據(jù)冗余度最大,第五范式(5 NF)數(shù)據(jù)冗余度最小。但范式級別越高,(1)存儲同樣多數(shù)據(jù)需要分解成更多張表,“存儲自身”的過程越復(fù)雜;(2)數(shù)據(jù)存儲結(jié)構(gòu)與基于問題域的結(jié)構(gòu)間的匹配程度也隨之下降,需求變化時數(shù)據(jù)穩(wěn)定性下降;(3)需要訪問的表增多,性能下降。(

10、第三范式) 第一范式:每個屬性都是原子值 第二范式:滿足第一范式條件,每個關(guān)鍵字屬性都僅有關(guān)鍵字決定 第三范式:符合第二范式條件,每個非關(guān)鍵字屬性都僅有關(guān)鍵字決定,并且一個非關(guān)鍵字屬性值不依賴于另一個非關(guān)鍵字屬性值 3.6 狀態(tài)轉(zhuǎn)換圖2022/7/2926 狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,一個狀態(tài)代表系統(tǒng)的一種行為模式。狀態(tài)圖中定義的狀態(tài)主要有:初態(tài)、中態(tài)、中間狀態(tài) 事件是某個特定時刻發(fā)生的事情,它是引起系統(tǒng)做動作或狀態(tài)轉(zhuǎn)換的控制信息。 3.6 狀態(tài)轉(zhuǎn)換圖2022/7/2927閑置撥號音do:響撥號音超時do:響蜂鳴音存儲的信息do:播放信息接通中do:試接通振鈴do:振鈴撥號通話斷線忙

11、音do:響忙音掛斷電話掛斷電話拿起話筒超時無效號碼有效號碼超時數(shù)字?jǐn)?shù)字占線已接通受話人回話受話人掛斷電話信息播完2022/7/293.7 其他圖形工具3.7.1 層次方框圖2022/7/2929 例如,描繪一家計算機(jī)公司全部產(chǎn)品的數(shù)據(jù)結(jié)構(gòu)可以用圖中的層次方框圖表示 層次方框圖用樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。樹形結(jié)構(gòu)的頂層是一個單獨(dú)的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),下面的各層矩形框代表這個數(shù)據(jù)的子集,最底層的各個框代表組成這個數(shù)據(jù)的實(shí)際數(shù)據(jù)元素(不能再分割的元素)。 3.7.1 層次方框圖2022/7/2930隨著結(jié)構(gòu)的精細(xì)化,層次方框圖對數(shù)據(jù)結(jié)構(gòu)的描繪也越來越詳細(xì),這種模式非

12、常適合于需求分析階段的需要。統(tǒng)分析員從對頂層信息的分類開始,沿圖中每條路徑反復(fù)細(xì)化,直到確定了數(shù)據(jù)結(jié)構(gòu)的全部細(xì)節(jié)為止。 3.7.2 Warnier圖2022/7/2931 法國計算機(jī)科學(xué)家Warnier提出了表示信息層次結(jié)構(gòu)的另外一種圖形工具。和層次方框圖類似,Warnier圖也用樹形結(jié)構(gòu)描繪信息,但是這種圖形工具比層次方框圖提供了更豐富的描繪手段。 用Warnier圖可以表明信息的邏輯組織,也就是說,它可以指出一類信息或一個信息量是重復(fù)出現(xiàn)的,也可以表示特定信息在某一類信息中是有條件地出現(xiàn)的。 因?yàn)橹貜?fù)和條件約束是說明軟件處理過程的基礎(chǔ),所以很容易把Warnier圖轉(zhuǎn)變成軟件設(shè)計的工具。 3

13、.7.2 Warnier圖2022/7/2932 花括號:區(qū)分?jǐn)?shù)據(jù)結(jié)構(gòu)的層次,在一個花括號內(nèi)的所有名字都屬于同一類信息。 異或符號:表明一類信息或一個數(shù)據(jù)元素在一定條件下才出現(xiàn),而且在這個符號上、下方的兩個名字所代表的數(shù)據(jù)只能出現(xiàn)一個。 圓括號:中間的數(shù)字指明了這個名字代表的信息類(或元素)在這個數(shù)據(jù)結(jié)構(gòu)中重復(fù)出現(xiàn)的次數(shù)。 3.7.3 IPO圖2022/7/2933 IPO圖是輸入/處理/輸出圖的簡稱,它是美國IBM公司發(fā)展完善起來的一種圖形工具,能夠方便地描繪輸入數(shù)據(jù)、數(shù)據(jù)處理和輸出數(shù)據(jù)之間的關(guān)系。 左框:列出輸入數(shù)據(jù)。 中框:列出主要的處理 (次序暗示了執(zhí)行的順序)。 右框:列出輸出數(shù)據(jù)

14、粗大箭頭:指出數(shù)據(jù)通 信的情況。 用IPO圖描繪主文件更新功能3.7.3 IPO圖2022/7/2934 建議使用一種改進(jìn)的IPO圖(也稱為IPO表),這種圖中包含某些附加信息,比原始的IPO圖更有用。 改進(jìn)的IPO圖中包含的附加信息,主要有系統(tǒng)名稱,圖的作者,完成本圖的日期,本圖描述的模塊的名字,模塊在層次圖中的編號,調(diào)用本模塊的模塊清單,本模塊調(diào)用的模塊的清單,注釋,以及本模塊使用的局部數(shù)據(jù)元素等。3.7.3 IPO圖2022/7/2935 在需求分析階段可以使用IPO圖簡略地描述數(shù)據(jù)流圖中各個處理的基本算法(著重說明處理功能而不是具體實(shí)現(xiàn)功能的算法)。 當(dāng)然,在需求分析階段,IPO表中的

15、許多附加信息暫時還不具備。但是,在軟件設(shè)計階段可以進(jìn)一步補(bǔ)充、修正這些表,繼續(xù)作為設(shè)計階段的文檔。這正是在需求分析階段用IPO表作為描述基本算法的工具的重要優(yōu)點(diǎn)。2022/7/293.8 驗(yàn)證軟件需求3.8.1 從哪些方面驗(yàn)證軟件需求的正確性2022/7/2937 需求分析階段的工作結(jié)果是開發(fā)軟件系統(tǒng)的重要基礎(chǔ); 統(tǒng)計表明,軟件系統(tǒng)中15%的錯誤起源于錯誤的需求; 需求的正確性從四個方面驗(yàn)證: 一致性 完整性 現(xiàn)實(shí)性 有效性3.8.2 驗(yàn)證軟件需求的方法2022/7/2938 驗(yàn)證需求的一致性 人工技術(shù)審查軟件系統(tǒng)規(guī)格說明書的正確性; 人工審查的效果難以保證,進(jìn)行形式化描述,用軟件工具驗(yàn)證。 驗(yàn)證需求的現(xiàn)實(shí)性 參照以往開發(fā)類似系統(tǒng)的經(jīng)驗(yàn),分析用現(xiàn)有的軟、硬件技術(shù)實(shí)現(xiàn)目標(biāo)系統(tǒ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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論