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

下載本文檔

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

文檔簡介

第三章軟件需求分析 3 1需求分析的任務3 2與用戶溝通獲取需求的方法3 3分析建模與規(guī)格說明3 4實體 聯(lián)系圖3 5數(shù)據規(guī)范化3 6狀態(tài)轉換圖3 7其他圖形工具3 8驗證軟件需求3 9小結習題 教學要求 教學目的 了解需求分析的任務和步驟 評審標準和過程 掌握基本技術 理解需求規(guī)格說明書的作用與組成 教學重點 基本技術 需求規(guī)格說明書的作用與組成 教學難點 基本技術 需求分析簡介 軟件需求指用戶對所開發(fā)的軟件在功能 性能 環(huán)境 可靠性等各方面的要求 需求分析主要回答待開發(fā)的系統(tǒng)必須 做什么 并用 需求規(guī)格說明書 的形式準確 詳細 規(guī)范地表達出來 注意 需求分析階段 系統(tǒng)分析員的主要關注點是 做什么 what 不是 怎樣做 how 需求分析階段 系統(tǒng)分析員應該給出軟件需求規(guī)格說明書 3 1需求分析的任務 四項主要任務 1 確定對系統(tǒng)的綜合要求2 分析系統(tǒng)的數(shù)據要求3 導出系統(tǒng)的邏輯模型4 修正系統(tǒng)開發(fā)計劃 提問并思考 如果你是一個用戶 你會對將要開發(fā)的軟件有哪些要求 3 1 1確定對系統(tǒng)的綜合要求 功能需求 指定系統(tǒng)必須提供的服務 性能需求 指定系統(tǒng)必須滿足的定時約束或容量約束等 可靠性和可用性需求 應定量指定 出錯處理需求 指環(huán)境錯誤 非系統(tǒng)本身的錯誤 接口需求 常見的接口需求 用戶接口需求 硬件接口需求 軟件接口需求 通信接口需求 約束 常見的約束 精度 工具和語言約束 設計約束 應該使用的標準 應該使用的硬件平臺 逆向需求 指定系統(tǒng)不應該做什么 將來可能提出的要求 3 1 2分析系統(tǒng)的數(shù)據要求 提問并思考 如果你是設計者 除了上述需求以外 你覺得還需要得到哪些要求 答 軟件系統(tǒng)本質上是信息處理系統(tǒng) 要考慮數(shù)據和數(shù)據處理的問題 對系統(tǒng)數(shù)據的分析 建立數(shù)據 3 4節(jié)實體 聯(lián)系圖 描繪數(shù)據結構 3 7節(jié)其他圖形工具 數(shù)據結構規(guī)范化 3 5節(jié) 3 1 3導出系統(tǒng)的邏輯模型 用數(shù)據流圖 實體一聯(lián)系圖 狀態(tài)轉換圖 數(shù)據字典和主要的處理算法描述這個邏輯模型 3 1 4修正系統(tǒng)開發(fā)計劃根據在分析過程中獲得的對系統(tǒng)的更深入更具體的了解 可以比較準確地估計系統(tǒng)的成本和進度 修正以前制定的開發(fā)計劃 圖 軟件需求分析的通信途徑 分析小組成員主要包括領域專家 系統(tǒng)分析員 客戶訪談問題分析與確認 3 2與用戶溝通獲取需求的方法 1 訪談2 面向數(shù)據流自頂向下求精3 簡易的應用規(guī)格說明技術4 快速建立軟件原型 3 2 1訪談 分正式和非正式訪談 可采用調查表形式可使用情景分析技術 例 某出版社系統(tǒng)調查表 3 2 2面向數(shù)據流自頂向下求精 結構化分析方法的實質 進一步細化可行性研究階段獲得到高層數(shù)據流圖 包括建立 詳細的數(shù)據流圖 描繪數(shù)據在軟件系統(tǒng)內從輸入移動到輸出的過程中所經受到變換 數(shù)據字典 定義數(shù)據流圖中包含的元素 實體關系 ER 圖 從用戶角度描述數(shù)據 IPO圖 描述數(shù)據流圖中處理框的功能和算法 面向數(shù)據流自頂向下求精過程 3 2 3簡易的應用規(guī)格說明技術 一種面向團隊的需求收集法 提倡用戶與開發(fā)者密切合作 共同標識問題 提出解決方案要素 商討不同方案并指定基本需求 具體過程見教材P60面提問 此方法將產生什么樣的產品 3 2 4快速建立軟件原型 快速原形就是快速建立起來的旨在演示目標系統(tǒng)主要功能的可運行的程序 要點 實現(xiàn)用戶看得見的功能 省略目標系統(tǒng) 隱含 功能 具有 快速 和 容易修改 兩大特性 3 2 4快速建立軟件原型 建立和修改原型的方法和工具 1 第四代技術 包括眾多數(shù)據庫查詢和報表語言 程序和應用系統(tǒng)生成器以及其他非常高級的非過程語言 能快速生成可執(zhí)行的代碼 2 可重用的軟件構件 使用一組已有的軟件構件 也稱為組件 來裝配 而不是從頭構造 原型 3 形式化規(guī)格說明和原型環(huán)境 在交互式環(huán)境下 用自動工具把基于形式語言的規(guī)格說明翻譯成可執(zhí)行的程序代碼 3 3分析建模與規(guī)格說明 3 3 1分析建模什么是模型 為了理解事物而對事物做出的一種抽象 是對事物的一種無歧義的書面描述 模型通常由一組圖形符號和組織這些符號的規(guī)則組成 模型的作用 在建模過程中了解系統(tǒng) 通過抽象降低復雜性 有助于回憶所有的細節(jié) 有助于開發(fā)小組間的交流 有助于與用戶的交流 為系統(tǒng)的維護提供文檔 例 結構化分析方法建立的需求模型 結構化分析 StructuredAnalysis SA 是面向數(shù)據流進行分析的方法 主要建立以下幾種模型 實體關系圖 Entity RelationshipDiagram E R圖 來創(chuàng)建數(shù)據模型 描述系統(tǒng)中所有重要的數(shù)據對象 數(shù)據流圖 DataFlowDiagram DFD 用來創(chuàng)建功能模型 描述了信息流和數(shù)據轉換 狀態(tài)轉換圖 State TransitionDiagram STD 用來創(chuàng)建行為模型 描述系統(tǒng)狀態(tài)如何響應外部事件 而進行轉換 教材p56 例 面向對象分祈方法 OOA 所建立的摸型 對象模型 Objectmodel 定義實體 描述系統(tǒng)的靜態(tài)結構 定義 對誰做 動態(tài)模型 Dynamicmodel 描述對象之間的交互過程 規(guī)定 何時做 功能模型作 Functionalmodel 描述內部數(shù)據的處理 指明系統(tǒng)應 做什么 軟件需求規(guī)格說明 軟件需求規(guī)格說明書 是需求分析階段最主要的文檔 對目標進行完善和補充 并寫出完整的需求說明 為消除自然語言中可能存在的不一致 歧義 含糊 不完整及抽象層次混亂等問題 有主張用形式化方法描述用戶對軟件系統(tǒng)的需求 例 GB8567 88計算機軟件產品開發(fā)文件編制指南 結構化分析方法 StructuredAnalysis SA 面向數(shù)據流進行需求分析的方法適合于數(shù)據處理類型軟件的需求分析 結構化分折模型的組成結構 3 4實體 聯(lián)系圖 實體 聯(lián)系圖 E R圖 描繪系統(tǒng)的數(shù)據關系 分析實體 聯(lián)系有助于對業(yè)務或系統(tǒng)數(shù)據組成的理解和交互 一 基本概念 1 實體 客觀世界中存在的 可區(qū)分的事物 數(shù)據對象 實體在數(shù)據模型中的體現(xiàn) 能由一組屬性來定義的實體都可以被認為是數(shù)據對象 屬性 實體或數(shù)據對象所具有的性質 聯(lián)系 客觀事物之間的聯(lián)系 聯(lián)系分為三種 一對一 1 1 一對多聯(lián)系 1 N 多對多聯(lián)系 M N 二 E R圖的結構三種基本元素 例 教學E R圖 三 如何建立實體一聯(lián)系圖 1 在需求收集的過程中 列出應用軟件或業(yè)務過程涉及到的所有 事物 將其演化成數(shù)據對象 2 一次考慮一個對象 定義這個對象和其他對象之間是否存在連接 3 如果存在連接 應創(chuàng)建一個或多個關系 4 對每一個關系 確定其關聯(lián)類型 5 重復步驟 2 到步驟 4 直到定義了所有關系 6 定義每個實體的屬性 7 形式化并復審實體關系圖 8 重復步驟 1 到 7 直到數(shù)據建模完成 2 4數(shù)據流圖 DFD DataFlowDiagram 描述數(shù)據處理過程的工具 通過圖形的方法 從數(shù)據傳遞和數(shù)據處理的角度 刻畫數(shù)據流從輸入到輸出的移動變換過程 數(shù)據流三個重要屬性 數(shù)據流名字 數(shù)據組成 流向 2 4 1符號 1 說明 用圖形符號以黑盒子形式描繪組成系統(tǒng)的每個部件 程序 文檔 數(shù)據庫 人工過程等 表達數(shù)據在系統(tǒng)各部件之間流動的情況 符號 2 例1 描述銀行取款過程的數(shù)據流圖 應該注意的幾個問題 適當?shù)孛?詳見教材p45 數(shù)據存儲 代表數(shù)據靜止狀態(tài) 數(shù)據流 代表數(shù)據的運動狀態(tài) 注意數(shù)據流與控制流的區(qū)別 通常數(shù)據流圖中忽略出錯處理 打開或關閉文件之類的內務處理 若數(shù)據的源點和終點相同 則應該有兩個箭頭和這個數(shù)據源 終 點相連 或重復畫一個源 終 點 數(shù)據流圖的層次結構 對于大型系統(tǒng) 往往采用自頂向下逐層分解的方法 用分層數(shù)據流圖表示所有數(shù)據流和加工 對任何一個數(shù)據流圖來說 它的上層圖為父圖 在它的下一層的圖為子圖 分層數(shù)據流圖 說明 在多層數(shù)據流圖中 頂層流圖僅包含一個數(shù)據處理 它代表被開發(fā)系統(tǒng) 它的輸入流是該系統(tǒng)的輸入數(shù)據 輸出流是系統(tǒng)所輸出數(shù)據底層流圖是指其數(shù)據處理不需再做分解的數(shù)據流圖 它處在最底層中間層流圖則表示對其上層父圖的細化 它的每一數(shù)據處理可能繼續(xù)細化 形成子圖 注意的原則 1 數(shù)據流圖上所有圖形符號只限于前述四種基本圖形元素 數(shù)據流圖的主圖必須包括前述四種基本元素 缺一不可 數(shù)據流圖的主圖上的數(shù)據流必須封閉在外部實體之間 外部實體可以是一個也可以是多個 每個數(shù)據處理至少有一個輸入數(shù)據流和一個輸出數(shù)據流 在數(shù)據流圖中 需按層給數(shù)據處理框編號 編號表明該處理所處層次及上下層的親子關系 注意的原則 2 規(guī)定任何一個數(shù)據流子圖必須與它上一層的一個數(shù)據加工對應 兩者的輸入數(shù)據流和輸出數(shù)據流必須一致 此即父圖與子圖的平衡 可以在數(shù)據流圖中加入物質流 幫助用戶理解數(shù)據流圖 圖上每個元素都必須有名字 數(shù)據流圖中不可夾帶控制流 初畫時可以忽略瑣碎的細節(jié) 以集中精力于主要數(shù)據流 例2 結構化分析方法步驟示例 商場業(yè)務處理系統(tǒng)假設某商場的經營業(yè)務 商場進貨時 先發(fā)訂貨單給供應商 供應商收到訂貨單 將商品發(fā)給商場 商場貨到付款 供應商收款后 將收據發(fā)給商場 當顧客到商場采購商品時 先下購物訂單 商場查詢庫存中是否有此種商品 若有則發(fā)貨給顧客 若沒有 則向供應商訂貨 貨到之后再銷售給顧客 顧客收到貨物之后付款 商場開收據給顧客 商場對貨物的管理方面要求知道每種貨物詳細的銷售情況 分析業(yè)務流程 訂貨過程 分析業(yè)務流程 采購過程 第一步 繪制頂層數(shù)據流圖 1 基本思想 任何計算機系統(tǒng)都是有若干個數(shù)據源 終 點加上一個事務處理組成 首先從問題的描述中提取數(shù)據流圖中的源 終 點 數(shù)據處理 數(shù)據流和數(shù)據存儲四種成份 分析源 終 點 分析數(shù)據處理 分析數(shù)據流和數(shù)據存儲 分析數(shù)據源點和終點 如果將商場的購 銷業(yè)務系統(tǒng)看成一個整體 則外部的與這個系統(tǒng)有交往的對象 機構 人員 或外部系統(tǒng) 是 供應商 和 顧客 二者是商場購銷系統(tǒng)源點和終點 分析源點 終點與商場之間的數(shù)據流 數(shù)據流方向分別是 供應商方給商場 發(fā)貨單 貨款收據顧客給商場 訂單 貨款商場給供貨商 訂貨單 貨款商場給顧客 貨物 收據 分析數(shù)據存儲 需要存儲的數(shù)據分別是庫存信息暫存訂單 缺貨訂單 采購訂單商品銷售歷史資金帳目 第一步 繪制頂層數(shù)據流圖 2 第一步 繪制頂層數(shù)據流圖 3 第一步 繪制頂層數(shù)據流圖 3 第二步 將頂層數(shù)據流圖細化 經過分析 商店業(yè)務處理的主要數(shù)據處理是銷售 采購 會計三大數(shù)據處理 三者之間的數(shù)據流 需要存儲的數(shù)據有 DFD L2 2 采購細化 DFD L2 1 銷售細化 2 5數(shù)據詞典 DD datadictionary DD是對數(shù)據流圖中包含的所有元素的定義的集合 使得每個圖形元素的名字都有一個精確的 嚴格的定義 數(shù)據流圖和詞典結合在一起 能清楚地表達數(shù)據處理的要求 構成了 需求說明書 2 5 1數(shù)據字典的內容 主要描述數(shù)據流數(shù)據元素數(shù)據存儲數(shù)據處理 2 5 2定義數(shù)據的方法 1 定義數(shù)據流 數(shù)據流名 說明 簡要介紹作用即它產生的原因和結果 數(shù)據流來源 來自何方 數(shù)據流去向 去向何處 數(shù)據流組成 數(shù)據結構 數(shù)據量流通量 數(shù)據量 流通量 舉例 數(shù)據流定義 2 定義數(shù)據元素 數(shù)據元素 數(shù)據項 指數(shù)據處理中最小的 不可再分的單位 描述包括 數(shù)據元素名 類型 數(shù)字 離散值 連續(xù)值 文字 編碼類型 長度 取值范圍 相關的數(shù)據元素及數(shù)據結構 數(shù)據元素定義舉例 1 數(shù)據元素定義舉例 2 數(shù)據元素定義舉例 3 數(shù)據元素定義舉例 4 3 定義數(shù)據存儲 數(shù)據文件名 簡述 存放的是什么數(shù)據輸入數(shù)據 輸出數(shù)據 數(shù)據文件組成 數(shù)據結構存儲方式 順序 直接 關鍵碼存取頻率 數(shù)據存儲定義舉例 1 4 定義數(shù)據處理 數(shù)據處理定義舉例 1 數(shù)據處理定義舉例 2 加工邏輯詞條說明舉例 3 源點及匯 終 點詞條描述 名稱 外部實體名簡要描述 什么外部實體有關數(shù)據流 數(shù)目 3 5數(shù)據規(guī)范化 1 第一范式每個屬性值都必須是原子值 2 第二范式滿足第一范式條件 而且每個非關鍵字屬性都由整個關鍵字決定 3 第三范式符合第二范式的條件 每個非關鍵字屬性都僅由關鍵字決定 而且一個非關鍵字屬性不能僅僅是對另一個非關鍵字屬性的進一步描述 范式低 冗余大 范式高 分解得細 冗余小 但處理過程復雜 3 6狀態(tài)轉換圖 STD 為了直觀地分析系統(tǒng)的動作 從特定的視點出發(fā)描述系統(tǒng)的行為 需要采用動態(tài)分析的方法 狀態(tài)轉換圖是一種常用的動態(tài)分析方法 是描述系統(tǒng)的狀態(tài)如何響應外部信號 而進行轉換的一種圖形表示 3 6 1狀態(tài) 指任何可以被觀察到的系統(tǒng)行為模式 一個狀態(tài)代表系統(tǒng)的一種行為模式 主要有 初態(tài) 終態(tài)和中間狀態(tài) 一個狀態(tài)圖中 只能有一個初態(tài) 但可以有0 多個終態(tài) 3 6 2事件 某個特定時刻發(fā)生的事情 它是對引起系統(tǒng)做動作或 和 從一個狀態(tài)轉換到另一個狀態(tài)的外界事情的抽象 3 6 3狀態(tài)轉換圖符號 活動表語法 事件名 參數(shù)表 動作表達式常用事件名 Entry Exit Do動作表達式 應做的具體動作事件表達式 觸發(fā)狀態(tài)轉換的事件 語法 事件說明 守衛(wèi)條件 動作表達式 其中 事件說明的語法 事件名 參數(shù)表 電話系統(tǒng)的狀態(tài)圖 電話系統(tǒng)的狀態(tài)圖 電話系統(tǒng)的狀態(tài)圖 3 7其他圖形工具 3 7 1層次方框圖 3 7 2Warnier圖 3 7 3IPO圖 3 8驗證軟件需求 問 從哪些方面驗證軟件需求的正確性 如何驗證 1 一致性自然語言書寫的需求說明 只能用人工方法驗證 形式化方法定義的可以借助驗證工具 3 8 3節(jié) 2 完整性需要用戶參與 合作 建立快速原型 3 現(xiàn)實性參照以往類似系統(tǒng) 進行仿真或性能模擬4 有效性 用于需求分析的軟件工具 對采用形式化方法定義的需求進行驗證的工具 應該滿足下列要求 1 必須有形式化的語法 或表 因此可以用計算機自動處理使用這種語法說明的內容 2 使用這個軟件工具能夠導出詳細的文檔 3 必須提供分析 測試 規(guī)格說明書的不一致性和冗余性的手段 并且應該能夠產生一組報告指明對完整性分析的結果 4 使用這個軟件工具之后 應該能夠改進通信狀況 如 在1977年設計完成的

溫馨提示

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

評論

0/150

提交評論