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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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 實體-聯(lián)系圖屬性聯(lián)系2022/7/2923實體-聯(lián)系圖教師學生課程學號姓名系年級職務性別職稱性別姓名教工號教學成績學分學時課名課程號圖3.2 某校教學管理ER圖MN1N2022/7/2924通常用范式定義消除數(shù)據(jù)冗余的程度。第一范式(1 NF)數(shù)據(jù)冗余度最大,第五范式(5 NF)數(shù)據(jù)冗余度最小。但范式級別越高,(1)存儲同樣多數(shù)據(jù)需要分解成更多張表,“存儲自身”的過程越復雜;(2)數(shù)據(jù)存儲結構與基于問題域的結構間的匹配程度也隨之

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

10、第三范式) 第一范式:每個屬性都是原子值 第二范式:滿足第一范式條件,每個關鍵字屬性都僅有關鍵字決定 第三范式:符合第二范式條件,每個非關鍵字屬性都僅有關鍵字決定,并且一個非關鍵字屬性值不依賴于另一個非關鍵字屬性值 3.6 狀態(tài)轉換圖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)轉換的控制信息。 3.6 狀態(tài)轉換圖2022/7/2927閑置撥號音do:響撥號音超時do:響蜂鳴音存儲的信息do:播放信息接通中do:試接通振鈴do:振鈴撥號通話斷線忙

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

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

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

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

15、許多附加信息暫時還不具備。但是,在軟件設計階段可以進一步補充、修正這些表,繼續(xù)作為設計階段的文檔。這正是在需求分析階段用IPO表作為描述基本算法的工具的重要優(yōu)點。2022/7/293.8 驗證軟件需求3.8.1 從哪些方面驗證軟件需求的正確性2022/7/2937 需求分析階段的工作結果是開發(fā)軟件系統(tǒng)的重要基礎; 統(tǒng)計表明,軟件系統(tǒng)中15%的錯誤起源于錯誤的需求; 需求的正確性從四個方面驗證: 一致性 完整性 現(xiàn)實性 有效性3.8.2 驗證軟件需求的方法2022/7/2938 驗證需求的一致性 人工技術審查軟件系統(tǒng)規(guī)格說明書的正確性; 人工審查的效果難以保證,進行形式化描述,用軟件工具驗證。 驗證需求的現(xiàn)實性 參照以往開發(fā)類似系統(tǒng)的經(jīng)驗,分析用現(xiàn)有的軟、硬件技術實現(xiàn)目標系統(tǒng)的可能性

溫馨提示

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

評論

0/150

提交評論