第三章需求工程_第1頁
第三章需求工程_第2頁
第三章需求工程_第3頁
第三章需求工程_第4頁
第三章需求工程_第5頁
已閱讀5頁,還剩53頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第三章需求工程3.1概述3.2需求獲取方法3.3需求分析的任務與原則3.4需求建模方法3.5需求圖形工具3.6需求驗證3.7需求管理3.1概述

3.1.1軟件需求定義

3.1.2軟件需求分類

3.1.3需求規格說明

3.1.4需求工程概念

3.1.5需求工程過程3.1概述軟件需求工程的目的是定義軟件所需要解決的問題。軟件需求是要把一個定義不足和模糊的問題轉換為一個定義良好而準確的問題,進而找到解決問題的方案。3.1概述主要困難:軟件開發人員與用戶雙方固有的矛盾需求具有易變性和難以表述性 需求錯誤的高頻性和修復的高成本性3.1概述

3.1.1軟件需求定義 軟件需求是指用戶對軟件的功能與性能需求,就是用戶希望軟件能夠做什么事情,完成哪些功能,達到哪些性能等。3.1概述

3.1.2軟件需求分類1.業務需求 說明軟件系統必須完成的任務、實際業務或工作流程等。2.目標需求 反映組織機構或客戶對系統和產品提出的高層次的目標要求。3.功能需求 指開發人員必須實現的軟件功能或軟件系統應具有的外部行為。3.1概述

3.1.2軟件需求分類4.性能需求 指實現的軟件系統功能應達到的技術指標,例如響應時間、精度、可擴展性等。5.約束與限制指軟件開發人員在設計和實現軟件系統時的限制,例如開發語言、數據庫管理系統等。3.1概述

3.1.3需求規格說明 需求規格說明是指軟件所應滿足的全部要求,并用文檔方式完整和精確描述。全部要求是指軟件系統必須提供的功能和性能、約束條件和限制。3.1概述

3.1.3需求規格說明軟件需求規格說明的一般格式:1.引言2.任務概述3.數據描述4.功能要求5.性能需求6.運行需求7.其他要求(如可使用性、安全保密、可維護性、可移植性等)8.附錄3.1概述

3.1.3需求規格說明需求規格說明的特性如下:1.完整性 2.正確性3.可行性4.必要性5.無歧義性6.可驗證性7.劃分優先級3.1概述

3.1.4需求工程概念需求工程就是應用工程化的方法、技術和規格來開發和管理軟件的需求。需求工程的目標是獲取高質量的軟件需求。需求工程突出了工程化原則,強調以系統化、條理化和重復化的方法進行軟件需求的相關活動,從而增強了管理性和降低了需求開發的成本3.1概述

3.1.4需求工程概念需求工程的任務:1.確定待開發的軟件系統的用戶,并獲取用戶的需求信息。2.分析用戶的需求信息,并按需求類型分類,過濾掉非需求的信息。3.根據需求信息建立軟件系統的邏輯模型和需求模型,確定非功能需求和約束條件及限制。3.1概述

3.1.4需求工程概念需求工程的任務:4.根據收集的需求信息和邏輯模型編寫需求規格說明及文檔。5.評審需求規格說明。6.當需求變更時,對需求規格說明及需求變更實施進行管理。3.1概述

3.1.5需求工程過程需求工程過程分為需求開發和需求管理兩階段。3.1概述

3.1.5需求工程過程1.需求獲取

確定和收集與待開發的軟件系統相關的用戶需求信息。2.需求分析

對獲得的用戶需求信息進行分析和綜合,找出錯誤和沖突及遺漏的地方,獲得用戶的準確的需求,進而建立軟件系統的邏輯模型或需求模型。3.需求定義

利用描述語言、標準格式書寫軟件系統的需求規格說明和文檔。3.1概述

3.1.5需求工程過程4.需求驗證

審查和驗證軟件系統需求規格說明,進而確定需求規格說明是否正確描述了用戶對軟件系統的需求。5.需求管理

需求管理的任務是管理軟件系統的需求規格說明和文檔,評估需求變更帶來的影響及成本費用,跟蹤軟件需求的狀態,管理需求規格說明的版本等。3.2需求獲取方法3.2需求獲取方法需求獲取過程3.2需求獲取方法1.確定需求開發計劃 本項工作的基本任務是確定需求開發的步驟,提出收集需求活動的具體安排和進度。2.確定項目范圍和目標 項目目標主要指項目開發的目的和意義,以及軟件系統的目標。3.確定調查對象 確定調查對象的基本任務是明確地確定來自不同層次的需求來源和用戶,并將其分類。3.2需求獲取方法4.實地收集用戶需求信息 實地收集需求信息階段的任務是到現場實地調查和與用戶交流,收集和理解用戶需求信息。5.確定非功能性需求 非功能需求是表明軟件能否良好運行的定性指標。常用的非功能性需求如下:①可靠性②可用性③安全性④互操作性⑤易用性⑥可維護性⑦可移植性⑧可用性⑨健壯性3.3需求分析的任務與原則

3.3.1需求分析的任務

3.3.2需求分析的原則

3.3需求分析的任務與原則

3.3.1需求分析的任務需求分析的基本任務是分析與綜合已收集到的需求信息,通過分析找出需求信息內在聯系和可能的矛盾,通過綜合找出解決問題的方法并建立系統的邏輯模型。具體地說,需求分析的是提煉、分析和審查已收集到的需求信息,找出真正的和具體的需求,并確保所有相關人員都理解其含義。3.3需求分析的任務與原則

3.3.1需求分析的任務繪制系統關聯圖 關聯圖是用于定義系統與系統外部實體間的界限和接口的簡單模型。

2.創建用戶接口原型 當開發人員或用戶不能確定軟件需求時,開發一個用戶接口原型(可能的局部實現),這樣使得許多概念和可能發生的事更為直觀明了。3.3需求分析的任務與原則

3.3.1需求分析的任務3.分析需求可行性 在允許的成本、性能要求下,分析每項需求實施的可行性。4.確定需求的優先級 應用分析方法來確定使用實例、產品特性或單項需求實現的優先級。5.為需求建立模型 需求的圖形分析模型是軟件需求規格說明的補充說明。3.3需求分析的任務與原則

3.3.1需求分析的任務6.創建數據字典 數據字典是對系統用到的所有數據項和結構的定義,以確保開發人員使用統一的數據定義。7.質量功能調配 質量功能調配是一種高級系統技術,它將產品特性、屬性與對客戶的重要性聯系起來。該技術提供了一種分析方法以明確那些是客戶最為關注的特性。3.3需求分析的任務與原則

3.3.2需求分析的原則1.必須能夠表達和理解問題的數據域和功能域 對于計算機程序處理的數據,其數據域應包括數據流、數據內容和數據結構。就是將一種形式的數據轉換成另一種形式的數據。3.3需求分析的任務與原則

3.3.2需求分析的原則2.按自頂向下、逐層分解問題

分解問題是把問題以某種方式分解為幾個較易理解的部分,并確定各部分間的接口,從而實現整體功能。在需求分析階段,軟件的功能域和信息域都能做進一步的分解。這種分解可以是同一層次上的,稱為橫向分解;也可以是多層次的縱向分解。3.3需求分析的任務與原則

3.3.2需求分析的原則3.要給出系統的邏輯視圖和物理視圖這對系統滿足處理需求所提出的邏輯限制條件和系統中其他成分提出的物理限制條件是必不可少的。

軟件需求的邏輯視圖給出軟件要達到的功能和要處理數據之間的關系。軟件需求的物理視圖給出處理功能和數據結構的實際表示形式。

3.4需求建模方法

3.4.1結構化需求建模方法

3.4.2數據流圖

3.4.3數據字典

3.4需求建模方法需求建模方法的共同特性: 1.提供描述手段 2.提供基本步驟建模方法主要包括結構化的需求建模方法和面向對象的需求建模方法3.4需求建模方法

3.4.1結構化需求建模方法基本特點是表達問題時盡可能使用圖形符號的形式,設計數據流圖時只考慮系統必須完成的基本功能,不必考濾如何具體實現這些功能?;舅枷胧前凑沼沙橄蟮骄唧w、逐層分解的方法,確定軟件系統內部的數據流、變換關系,并用數據流圖表示。描述手段①一套分層的數據流圖②一本詞典③其他補充材料3.4需求建模方法

3.4.2數據流圖1.數據流圖的含義數據流圖從數據傳遞和加工的角度,以圖形的方式刻畫數據流從輸入到輸出的傳輸變換過程。

2.數據流圖的特性(1)抽象性(2)概括性(3)層次性3.數據流圖基本符號(1)源點(2)加工(3)數據流(4)數據存儲文件4.數據流圖的用途--作為交通信息的工具。3.4需求建模方法

3.4.2數據流圖5.數據流圖的優缺點

(1)總體概念強,每一層都明確強調干什么,需要什么,給出什么。

(2)可以反映出數據的流向和處理過程。

(3)由于自頂向下分析,容易及早發現并修正系統各部分的邏輯錯誤。

(4)容易與計算機處理相對照。

(5)不直觀

(6)人工繪制太麻煩,工作量較大。3.4需求建模方法

3.4.2數據流圖6.數據流圖的畫法(1)畫數據流圖的一般原則畫數據流圖的基本步驟概括地說,就是自外向內,自頂向下,逐層細化,完善求精。(2)數據流圖的分層方法

3.4需求建模方法

3.4.2數據流圖7.數據流圖的繪制與其他流程圖的差別(1)數據流圖與系統流程圖的區別將物流與資金流排除在外(2)數據流與程序流程圖的區別只反映數據的流向、處理邏輯和必要的數據存儲,它不反映處理邏輯的先后的時間順序3.4需求建模方法

3.4.2數據流圖7.數據流圖的繪制與其他流程圖的差別(3)數據流與程序結構圖的區別不反映控制關系、調用關系、控制流,只畫數據流(4)數據流與控制流的區別有數據(指表示事物的信息,而不是控制信號)流過3.4需求建模方法

3.4.3數據字典1.數據字典的定義數據字典是定義目標系統中使用的所有數據元素和結構的含義、類型、數量值、格式和度量單位、精度及允許取值范圍內的共享數據倉庫。2.數據字典的內容(l)數據流(2)數據項(3)數據結構(4)數據存儲(5)處理邏輯(6)外部實體3.定義數據的方法--對數據自頂向下的分解3.4需求建模方法

3.4.3數據字典4.數據字典的用途數據字典最重要的用途是作為分析階段的工具。

5.數據字典的實現目前實現數據字典有三種常見的途徑:全人工過程,全自動化過程(利用數據字典處理程序)和混合過程(用正文編輯程序、報告生成程序等已有的實用程序幫助人工過程)。3.5需求圖形工具

3.5.1層次方框圖

3.5.2Warnier圖

3.5.3IPO圖

3.5需求圖形工具

3.5.1層次方框圖層次方框圖用樹形結構的一系列多層次的矩形框描述數據的層次結構。樹形結構的頂層是一個單獨的矩形框,它代表完整的數據結構,下面的各層矩形框代表這個數據的子集,最底層的各個框代表組成這個數據的實際數據元素(不能再分割的元素)。系統分析員從對頂層信息的分類開始,沿圖中每條路徑反復細化,直到確定了數據結構的全部細節為止。3.5需求圖形工具

3.5.2Warnier圖 用Warnier圖可以表明信息的邏輯組織,它不僅可以指出一類信息或一個信息量是重復出現的,也可以表示特定信息在某一類信息中是有條件出現的。3.5需求圖形工具

3.5.3IPO圖IPO圖是輸入/處理/輸出圖的簡稱,它是美國IBM公司提出的一種圖形工具,能夠方便地描繪輸入數據、處理數據和輸出數據的關系。它的基本形式是在左邊的框中列出有關的輸入數據,在中間的框中列出主要的處理,在右邊的框中列出產生的輸出數據。3.6需求驗證

3.6.1目的與任務

3.6.2內容與方法

3.6.3需求評審

3.6需求驗證

3.6.1目的與任務需求驗證的目的是確保需求規格說明具有良好(例如完整性和正確性)。需求驗證的任務就是要求各方人員從不同技術角度對需求規格說明文檔作出綜合性評價。3.6需求驗證

3.6.2內容與方法需求分析評審的主要內容:1.一致性:所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾。2.完整性:需求必須是完整的,規格說明書應該包括用戶需要的每一個功能或性能。3.現實性:指定的需求應該是用現有的硬件技術和軟件技術基本上可以實現的。4.有效性:必須證明需求是正確有效的,確實能解決用戶所需的問題。3.6需求驗證

3.6.2內容與方法需求驗證的方法:

1.驗證需求的一致性自然語言書寫靠人工技術審查驗證軟件系統規格說明書的正確性當軟件需求規格說明書是用形式化的需求陳述語言書寫的時候,可以用軟件工具驗證需求的一致性。2.完整性:需求必須是完整的,規格說明書應該包括用戶需要的每一個功能或性能。3.現實性:指定的需求應該是用現有的硬件技術和軟件技術基本上可以實現的。4.有效性:必須證明需求是正確有效的,確實能解決用戶所需的問題。3.6需求驗證

3.6.2內容與方法需求驗證的方法:1.驗證需求的一致性 自然語言書寫靠人工技術審查驗證軟件系統規格說明書的正確性 當軟件需求規格說明書是用形式化的需求陳述語言書寫的時候,可以用軟件工具驗證需求的一致性。3.6需求驗證

3.6.2內容與方法需求驗證的方法:2.驗證需求的現實性為了驗證需求的現實性,分析員應該參照以往開發類似系統的經驗,分析用現有的軟、硬件技術實現目標系統的可能性。3.驗證需求的完整性和有效性--快速原型法 原型系統所顯示的是系統的主要功能而不是性能,因此可以適當降低對接口、可靠性等的要求,還可以節省文檔等方面的工作,從而可大大降低原型系統的開發成本3.6需求驗證

3.6.3需求評審需求評審就是技術評審,是由非軟件開發人員對軟件系統進行檢查,進而發現系統存在的問題。主要包括下述內容:審查人員的確定和分工正式審查過程審查內容 需求是否完整、一致、可理解、明確、可實現、可跟蹤、易修改、需求規格說明文檔是否完整等3.7需求管理

3.7.1需求管理的目標

3.7.2需求管理的原則

3.7.3需求開發的管理

3.7.4需求管理活動

3.7需求管理

3.7.1需求管理的目標需求管理的目的是在客戶和軟件項目組之間建立對需求的共同理解。需求管理的目標如下:控制軟件需求,并建立軟件工程和管理使用的需求基線;使軟件計劃、產品和活動與軟件需求保持一致。3.7需求管理

3.7.2需求管理的原則需求必須分層次管理需求要分優先級需求必須文檔化需求變更的影響要評估需求管理與需求工程的活動緊密整合3.7需求管理

3.7.3需求開發的管理需求獲取管理

需求分析管理(1)需求分析的進度管理與控制;(2)需求分析的質量管理與控制;(3)需求分析階段的溝通管理。

3.7需求管理

3.7.3需求開發的管理需求說明管理(1)需求來源

(2)需求形式化

(3)需求跟蹤矩陣

需求驗證管理(1)編寫測試計劃與測試用例;(2)編寫系統驗收標準;(3)通過需求評審;(4)需求評審的誤區。3.7需求管理

3.7.4需求管理活動1.需求變更管理變更管理過程分為變更描述、變更分析和變更實現三個階段2.需求文檔版本管理需求文檔的版本控制可以保證得到的是最新的需求文檔版本和記錄需求的歷吏版本。3.需求跟蹤管理正向跟蹤與逆向跟蹤4.需求狀態管理建立需求狀態是為了表示需求的各種不同情況。小結小結 軟件需求分析是軟件生存周期中重要的一步,也是最關鍵的一步。只有通過軟件需求分析,才能把軟件功能和性能的總體概念描述為具體的軟件需求規格說明,進而建立軟件開發的基礎。本章主要介紹了需求分析的任務和步驟、需求分析方法和需求分析規格說明。9、春去春又回,新桃換舊符。在那桃花盛開的地方,在這醉人芬芳的季節,愿你生活像春天一樣陽光,心情像桃花一樣美麗,日子像桃子一樣甜蜜。3月-253月-25Thursday,March6,202510、人的志向通常和他們

溫馨提示

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

評論

0/150

提交評論