




已閱讀5頁,還剩91頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第三章軟件需求分析 3 1需求分析的任務3 2與用戶溝通獲取需求的方法3 3分析建模與規(guī)格說明3 4實體 聯系圖3 5數據規(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)的數據要求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)的數據要求 提問并思考 如果你是設計者 除了上述需求以外 你覺得還需要得到哪些要求 答 軟件系統(tǒng)本質上是信息處理系統(tǒng) 要考慮數據和數據處理的問題 對系統(tǒng)數據的分析 建立數據 3 4節(jié)實體 聯系圖 描繪數據結構 3 7節(jié)其他圖形工具 數據結構規(guī)范化 3 5節(jié) 3 1 3導出系統(tǒng)的邏輯模型 用數據流圖 實體一聯系圖 狀態(tài)轉換圖 數據字典和主要的處理算法描述這個邏輯模型 3 1 4修正系統(tǒng)開發(fā)計劃根據在分析過程中獲得的對系統(tǒng)的更深入更具體的了解 可以比較準確地估計系統(tǒng)的成本和進度 修正以前制定的開發(fā)計劃 圖 軟件需求分析的通信途徑 分析小組成員主要包括領域專家 系統(tǒng)分析員 客戶訪談問題分析與確認 3 2與用戶溝通獲取需求的方法 1 訪談2 面向數據流自頂向下求精3 簡易的應用規(guī)格說明技術4 快速建立軟件原型 3 2 1訪談 分正式和非正式訪談 可采用調查表形式可使用情景分析技術 例 某出版社系統(tǒng)調查表 3 2 2面向數據流自頂向下求精 結構化分析方法的實質 進一步細化可行性研究階段獲得到高層數據流圖 包括建立 詳細的數據流圖 描繪數據在軟件系統(tǒng)內從輸入移動到輸出的過程中所經受到變換 數據字典 定義數據流圖中包含的元素 實體關系 ER 圖 從用戶角度描述數據 IPO圖 描述數據流圖中處理框的功能和算法 面向數據流自頂向下求精過程 3 2 3簡易的應用規(guī)格說明技術 一種面向團隊的需求收集法 提倡用戶與開發(fā)者密切合作 共同標識問題 提出解決方案要素 商討不同方案并指定基本需求 具體過程見教材P60面提問 此方法將產生什么樣的產品 3 2 4快速建立軟件原型 快速原形就是快速建立起來的旨在演示目標系統(tǒng)主要功能的可運行的程序 要點 實現用戶看得見的功能 省略目標系統(tǒng) 隱含 功能 具有 快速 和 容易修改 兩大特性 3 2 4快速建立軟件原型 建立和修改原型的方法和工具 1 第四代技術 包括眾多數據庫查詢和報表語言 程序和應用系統(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 是面向數據流進行分析的方法 主要建立以下幾種模型 實體關系圖 Entity RelationshipDiagram E R圖 來創(chuàng)建數據模型 描述系統(tǒng)中所有重要的數據對象 數據流圖 DataFlowDiagram DFD 用來創(chuàng)建功能模型 描述了信息流和數據轉換 狀態(tài)轉換圖 State TransitionDiagram STD 用來創(chuàng)建行為模型 描述系統(tǒng)狀態(tài)如何響應外部事件 而進行轉換 教材p56 例 面向對象分祈方法 OOA 所建立的摸型 對象模型 Objectmodel 定義實體 描述系統(tǒng)的靜態(tài)結構 定義 對誰做 動態(tài)模型 Dynamicmodel 描述對象之間的交互過程 規(guī)定 何時做 功能模型作 Functionalmodel 描述內部數據的處理 指明系統(tǒng)應 做什么 軟件需求規(guī)格說明 軟件需求規(guī)格說明書 是需求分析階段最主要的文檔 對目標進行完善和補充 并寫出完整的需求說明 為消除自然語言中可能存在的不一致 歧義 含糊 不完整及抽象層次混亂等問題 有主張用形式化方法描述用戶對軟件系統(tǒng)的需求 例 GB8567 88計算機軟件產品開發(fā)文件編制指南 結構化分析方法 StructuredAnalysis SA 面向數據流進行需求分析的方法適合于數據處理類型軟件的需求分析 結構化分折模型的組成結構 3 4實體 聯系圖 實體 聯系圖 E R圖 描繪系統(tǒng)的數據關系 分析實體 聯系有助于對業(yè)務或系統(tǒng)數據組成的理解和交互 一 基本概念 1 實體 客觀世界中存在的 可區(qū)分的事物 數據對象 實體在數據模型中的體現 能由一組屬性來定義的實體都可以被認為是數據對象 屬性 實體或數據對象所具有的性質 聯系 客觀事物之間的聯系 聯系分為三種 一對一 1 1 一對多聯系 1 N 多對多聯系 M N 二 E R圖的結構三種基本元素 例 教學E R圖 三 如何建立實體一聯系圖 1 在需求收集的過程中 列出應用軟件或業(yè)務過程涉及到的所有 事物 將其演化成數據對象 2 一次考慮一個對象 定義這個對象和其他對象之間是否存在連接 3 如果存在連接 應創(chuàng)建一個或多個關系 4 對每一個關系 確定其關聯類型 5 重復步驟 2 到步驟 4 直到定義了所有關系 6 定義每個實體的屬性 7 形式化并復審實體關系圖 8 重復步驟 1 到 7 直到數據建模完成 2 4數據流圖 DFD DataFlowDiagram 描述數據處理過程的工具 通過圖形的方法 從數據傳遞和數據處理的角度 刻畫數據流從輸入到輸出的移動變換過程 數據流三個重要屬性 數據流名字 數據組成 流向 2 4 1符號 1 說明 用圖形符號以黑盒子形式描繪組成系統(tǒng)的每個部件 程序 文檔 數據庫 人工過程等 表達數據在系統(tǒng)各部件之間流動的情況 符號 2 例1 描述銀行取款過程的數據流圖 應該注意的幾個問題 適當地命名 詳見教材p45 數據存儲 代表數據靜止狀態(tài) 數據流 代表數據的運動狀態(tài) 注意數據流與控制流的區(qū)別 通常數據流圖中忽略出錯處理 打開或關閉文件之類的內務處理 若數據的源點和終點相同 則應該有兩個箭頭和這個數據源 終 點相連 或重復畫一個源 終 點 數據流圖的層次結構 對于大型系統(tǒng) 往往采用自頂向下逐層分解的方法 用分層數據流圖表示所有數據流和加工 對任何一個數據流圖來說 它的上層圖為父圖 在它的下一層的圖為子圖 分層數據流圖 說明 在多層數據流圖中 頂層流圖僅包含一個數據處理 它代表被開發(fā)系統(tǒng) 它的輸入流是該系統(tǒng)的輸入數據 輸出流是系統(tǒng)所輸出數據底層流圖是指其數據處理不需再做分解的數據流圖 它處在最底層中間層流圖則表示對其上層父圖的細化 它的每一數據處理可能繼續(xù)細化 形成子圖 注意的原則 1 數據流圖上所有圖形符號只限于前述四種基本圖形元素 數據流圖的主圖必須包括前述四種基本元素 缺一不可 數據流圖的主圖上的數據流必須封閉在外部實體之間 外部實體可以是一個也可以是多個 每個數據處理至少有一個輸入數據流和一個輸出數據流 在數據流圖中 需按層給數據處理框編號 編號表明該處理所處層次及上下層的親子關系 注意的原則 2 規(guī)定任何一個數據流子圖必須與它上一層的一個數據加工對應 兩者的輸入數據流和輸出數據流必須一致 此即父圖與子圖的平衡 可以在數據流圖中加入物質流 幫助用戶理解數據流圖 圖上每個元素都必須有名字 數據流圖中不可夾帶控制流 初畫時可以忽略瑣碎的細節(jié) 以集中精力于主要數據流 例2 結構化分析方法步驟示例 商場業(yè)務處理系統(tǒng)假設某商場的經營業(yè)務 商場進貨時 先發(fā)訂貨單給供應商 供應商收到訂貨單 將商品發(fā)給商場 商場貨到付款 供應商收款后 將收據發(fā)給商場 當顧客到商場采購商品時 先下購物訂單 商場查詢庫存中是否有此種商品 若有則發(fā)貨給顧客 若沒有 則向供應商訂貨 貨到之后再銷售給顧客 顧客收到貨物之后付款 商場開收據給顧客 商場對貨物的管理方面要求知道每種貨物詳細的銷售情況 分析業(yè)務流程 訂貨過程 分析業(yè)務流程 采購過程 第一步 繪制頂層數據流圖 1 基本思想 任何計算機系統(tǒng)都是有若干個數據源 終 點加上一個事務處理組成 首先從問題的描述中提取數據流圖中的源 終 點 數據處理 數據流和數據存儲四種成份 分析源 終 點 分析數據處理 分析數據流和數據存儲 分析數據源點和終點 如果將商場的購 銷業(yè)務系統(tǒng)看成一個整體 則外部的與這個系統(tǒng)有交往的對象 機構 人員 或外部系統(tǒng) 是 供應商 和 顧客 二者是商場購銷系統(tǒng)源點和終點 分析源點 終點與商場之間的數據流 數據流方向分別是 供應商方給商場 發(fā)貨單 貨款收據顧客給商場 訂單 貨款商場給供貨商 訂貨單 貨款商場給顧客 貨物 收據 分析數據存儲 需要存儲的數據分別是庫存信息暫存訂單 缺貨訂單 采購訂單商品銷售歷史資金帳目 第一步 繪制頂層數據流圖 2 第一步 繪制頂層數據流圖 3 第一步 繪制頂層數據流圖 3 第二步 將頂層數據流圖細化 經過分析 商店業(yè)務處理的主要數據處理是銷售 采購 會計三大數據處理 三者之間的數據流 需要存儲的數據有 DFD L2 2 采購細化 DFD L2 1 銷售細化 2 5數據詞典 DD datadictionary DD是對數據流圖中包含的所有元素的定義的集合 使得每個圖形元素的名字都有一個精確的 嚴格的定義 數據流圖和詞典結合在一起 能清楚地表達數據處理的要求 構成了 需求說明書 2 5 1數據字典的內容 主要描述數據流數據元素數據存儲數據處理 2 5 2定義數據的方法 1 定義數據流 數據流名 說明 簡要介紹作用即它產生的原因和結果 數據流來源 來自何方 數據流去向 去向何處 數據流組成 數據結構 數據量流通量 數據量 流通量 舉例 數據流定義 2 定義數據元素 數據元素 數據項 指數據處理中最小的 不可再分的單位 描述包括 數據元素名 類型 數字 離散值 連續(xù)值 文字 編碼類型 長度 取值范圍 相關的數據元素及數據結構 數據元素定義舉例 1 數據元素定義舉例 2 數據元素定義舉例 3 數據元素定義舉例 4 3 定義數據存儲 數據文件名 簡述 存放的是什么數據輸入數據 輸出數據 數據文件組成 數據結構存儲方式 順序 直接 關鍵碼存取頻率 數據存儲定義舉例 1 4 定義數據處理 數據處理定義舉例 1 數據處理定義舉例 2 加工邏輯詞條說明舉例 3 源點及匯 終 點詞條描述 名稱 外部實體名簡要描述 什么外部實體有關數據流 數目 3 5數據規(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)轉換圖符號 活動表語法 事件名 參數表 動作表達式常用事件名 Entry Exit Do動作表達式 應做的具體動作事件表達式 觸發(fā)狀態(tài)轉換的事件 語法 事件說明 守衛(wèi)條件 動作表達式 其中 事件說明的語法 事件名 參數表 電話系統(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 現實性參照以往類似系統(tǒng) 進行仿真或性能模擬4 有效性 用于需求分析的軟件工具 對采用形式化方法定義的需求進行驗證的工具 應該滿足下列要求 1 必須有形式化的語法 或表 因此可以用計算機自動處理使用這種語法說明的內容 2 使用這個軟件工具能夠導出詳細的文檔 3 必須提供分析 測試 規(guī)格說明書的不一致性和冗余性的手段 并且應該能夠產生一組報告指明對完整性分析的結果 4 使用這個軟件工具之后 應該能夠改進通信狀況 如 在1977年設計完成的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲企業(yè)廚師勞務派遣與勞動權益合同
- 民航機場行李搬運與安全監(jiān)管協議
- 寵物銷售服務合同模板
- 監(jiān)控室接線員培訓
- 樂博樂博培訓
- 簡單急救知識培訓
- AIDS合并結核的護理
- 幼兒園灶房食品安全培訓
- 腫瘤免疫治療機制與應用
- 撓骨中段骨折課件
- 小學生反洗錢課件
- 酒店前廳部管理制度
- 2022~2023學年廣東廣州天河區(qū)初一下學期期末語文試卷(標準版)
- 廣東省深圳市光明區(qū)2025年八年級下學期期末數學試題及答案
- 黔西南州工業(yè)投資(集團)有限公司招聘筆試題庫2025
- 建設工程總包合同EPC課件
- 初中英語跨學科項目設計心得體會
- 《斯大林格勒戰(zhàn)役》課件
- 監(jiān)控系統(tǒng)培訓資料
- 運損車輛銷售合同協議
- 給排水系統(tǒng)設施維護與保養(yǎng)標準流程
評論
0/150
提交評論