第04講軟件需求分析_第1頁
第04講軟件需求分析_第2頁
第04講軟件需求分析_第3頁
第04講軟件需求分析_第4頁
第04講軟件需求分析_第5頁
已閱讀5頁,還剩56頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、軟件工程概論林平榮 需求工程與分析需求工程與分析軟件工程概論林平榮2回顧&系統工程基于計算機的系統&可行性研究的任務社會/法律可行性技術可行性經濟可行性&可行性研究的步驟推薦可行的方案編寫可行性研究報告軟件工程概論林平榮3需求工程& 概述& 需求工程 需求獲取 需求分析與協商 系統建模 需求規約 需求確認 需求管理& 軟件規格需求說明書(SRS)1. 小結、作業與試驗軟件工程概論林平榮4概述&需求定義&準確需求的重要性&準確需求的利益&需求工程的步驟與方面軟件工程概論林平榮5需求定義1&IEEE軟件工程標準

2、詞匯表(1997年)中定義需求為:用戶解決問題或達到目標所需的條件或能力( Capability)。系統必須滿足或具有的條件或能力,以滿足合同、標準、規格說明或其它形式上強制的文檔軟件工程概論林平榮6需求定義2&準確地定義準確地定義未來系統的目標未來系統的目標,確定為了滿足用戶,確定為了滿足用戶的需求的需求系統必須做什么系統必須做什么。&用用 規范的形式準確地表達用規范的形式準確地表達用戶的需求。戶的需求。&它把可行性分析及初步計劃期間建立的軟件需求它把可行性分析及初步計劃期間建立的軟件需求描述描述求精求精和和細化細化。&需求分析從多角度、多層次把軟件需求分析從

3、多角度、多層次把軟件功能功能和和性能性能等等的總體概念描述為具體的的總體概念描述為具體的規格說明規格說明,以做為,以做為開發開發軟件的基礎軟件的基礎,它是質量和成敗的關鍵,它是質量和成敗的關鍵軟件工程概論林平榮7準確需求的重要性&研究分析:項目失敗最重要的8個原因中的5個與需求有關&需求階段產生的錯誤將擴散到其他階段&以需求為基礎的設計與編碼階段對錯誤的檢測與發現很困難&后期發現的需求錯誤的修正費用很高(圖示)&軟件項目的成本與時間超支,大多是需求分析不準確造成軟件工程概論林平榮85個有關需求&不完整的的需求&沒有用戶的介入&不實

4、際的客戶期望&需求和規范的變更&提供不再需要的能力軟件工程概論林平榮99修改一個錯誤的相對開銷發現錯誤時的開發階段開銷比率需求1設計3-6編碼10測試15-40驗收30-70運行40-100軟件工程概論林平榮10準確需求的利益&對客戶實際需求的理解&澄清客戶所陳述的需求&客戶和提供者之間的良好溝通和良性關系&所有各方對項目目標的強烈責任感&設計、部署和使用不斷改進的可重復使用的需求過程&適應客戶當前和未來計劃需求的一種系統體系結構&適應需求變更的能力&系統及其產品的高質量&節省資金&進度規劃明確&a

5、mp;客戶滿意軟件工程概論林平榮11需求工程中包含的步驟軟件工程概論林平榮12啟動需求工程的各個方面軟件工程概論林平榮13需求獲取&需求類型&需求獲取的難點&需求獲取的方法與策略&需求獲取的原則&有效需求實踐&階段結果軟件工程概論林平榮14需求的類型&領域需求反映了應用領域的基本問題&功能性需求定義了系統做什么&非功能性需求定義了系統工作時的特性&詳細需求類別&軟件需求各組成部分之間的關系 軟件工程概論林平榮15詳細需求類別&功能功能&性能性能&環境環境&界面界面&易

6、用易用&文檔文檔 &數據數據&資源資源&安全安全&成本成本&交付交付&質量質量軟件工程概論林平榮16功能需求 &系統所應提供的功能和服務系統所應提供的功能和服務&系統做什么?系統做什么?需要詳細的描述系統功能、輸入和輸出、需要詳細的描述系統功能、輸入和輸出、異常等異常等有時需要描述系統不應做什么有時需要描述系統不應做什么&注意:注意:要求全面性和一致性要求全面性和一致性發現錯誤隨時修改需求文檔發現錯誤隨時修改需求文檔軟件工程概論林平榮17性能需求 &軟件開發的技術性指標:軟件開發的技術性指標:執行速度、響應

7、時間執行速度、響應時間吞吐量吞吐量存儲容量限制存儲容量限制軟件工程概論林平榮18環境需求 &硬件設備:硬件設備:機型、外設、接口、機型、外設、接口、地點、分布、溫度、地點、分布、溫度、 濕度、磁場干擾等濕度、磁場干擾等&軟件:軟件:操作系統操作系統網絡網絡數據庫數據庫軟件工程概論林平榮19界面需求&對系統的最終用戶來講,用戶界面就對系統的最終用戶來講,用戶界面就代表了系統代表了系統&以用戶為中心的設計以用戶為中心的設計&相關領域知識相關領域知識&界面設計指導原則(界面設計指導原則(黃金規則黃金規則)軟件工程概論林平榮20相關領域知識相關領域知識社

8、會學社會學生理學生理學計算機科學計算機科學工程學工程學人類學人類學媒體媒體認知心理學認知心理學社會心理學社會心理學圖形藝術圖形藝術語言學語言學人機交互人機交互軟件工程概論林平榮21八項黃金原則八項黃金原則&盡量保持一致&為熟練用戶提供快捷鍵&提供有效反饋&設計完整的對話過程&提供簡單的錯誤處理機制&允許撤銷動作&提供控制的內部軌跡&較少短期記憶負擔軟件工程概論林平榮22易用性需要考慮的因素 &用戶類型?用戶類型?&各種用戶熟練程度?各種用戶熟練程度?&需受何種訓練?需受何種訓練?&用戶理解、使用系統

9、的難度?用戶理解、使用系統的難度?&用戶錯誤操作系統的可能性?用戶錯誤操作系統的可能性?軟件工程概論林平榮23文檔需求 &需哪些文檔?需哪些文檔?&文檔針對哪些讀者文檔針對哪些讀者?軟件工程概論林平榮24數據需求 &輸入、輸出數據的格式?輸入、輸出數據的格式?&接收、發送數據的頻率?接收、發送數據的頻率?&數據的準確性和精度?數據的準確性和精度?&數據流量?數據流量?&數據需保持的時間?數據需保持的時間?軟件工程概論林平榮25資源需求 &軟件運行時所需的數據、軟件。軟件運行時所需的數據、軟件。內存空間等資源。內存空間等資源

10、。& 軟件開發、維護所需的人力、支軟件開發、維護所需的人力、支撐軟件、開發設備等。撐軟件、開發設備等。軟件工程概論林平榮26安全保密要求安全保密要求 &需對訪問系統或系統信息加以控需對訪問系統或系統信息加以控制嗎?制嗎?&如何隔離用戶之間的數據?如何隔離用戶之間的數據?&用戶程序如何與其它程序和操作用戶程序如何與其它程序和操作系統隔離?系統隔離?&系統備份要求?系統備份要求?軟件工程概論林平榮27質量保證質量保證&系統的可靠性要求?系統的可靠性要求?&系統必須監測和隔離錯誤嗎?系統必須監測和隔離錯誤嗎?&規定系統平均出錯時間?規定

11、系統平均出錯時間?&出錯后,重啟系統允許的時間?出錯后,重啟系統允許的時間?&系統變化如何反映到設計中?系統變化如何反映到設計中?&維護是否包括對系統的改進?維護是否包括對系統的改進?&系統的可移植性?系統的可移植性?軟件工程概論林平榮28軟件需求各組成部分之間的關系 軟件工程概論林平榮29需求獲取的難點&問題的多面性&獲取中的問題&領域知識缺乏&利害關系人與開發人員的交流問題&不完備性和不一致性&需求易變性&需求錯誤的類型軟件工程概論林平榮3030問題的多面性問題的多面性軟件工程概論林平榮31需求獲取中的

12、問題軟件工程概論林平榮32你心里想的你心里想的 100%你嘴上說的你嘴上說的80%別人聽到的別人聽到的60%別人聽的懂的別人聽的懂的40%軟件工程概論林平榮3333需求錯誤的類型軟件工程概論林平榮34需求獲取的方法與策略&建立順暢的通信途徑&訪談與調查&觀察用戶操作流程&組成聯合小組&用例軟件工程概論林平榮35需求獲取的原則&將復雜問題分解、逐層細化&能夠表達和理解問題的數據域和功能域&建立模型軟件工程概論林平榮36有效需求實踐&對方法的承諾&盡力并利用負責需求的聯合團隊&定義真實的客戶需求&使用不

13、斷改進需求過程&迭代使用系統需求和體系結構過程&運用機制維護項目組之間的溝通&選擇熟悉的方法并維護一組工作產品&執行需求檢驗與確認&提供適應需求變更的有效機制&使用業界、機構和項目證明的、已知的、熟悉的最佳實踐,推動開發工作軟件工程概論林平榮37定義真實的客戶需求&將總項目費用8%-14%用于需求過程&培訓項目組和項目管理人員更多地關心需求工程&找到項目倡導者&開發項目前景和范圍定義&找一位需求工程師,并且通過領域專家完成需求工程任務&培訓開發人員不要做出需求決定,不要自行發揮&使用不同手段

14、獲取用戶需求和期望&培訓需求工程師編寫好的需求&記錄每條需求的基本原理&使用方法和自動化工具分析和跟蹤需求,并為需求劃分優先級&開展同行評審和審查&盡量考慮使用適當的方法&需求應該采用文字或圖表的方法記錄下來&大型系統的高層次系統需求數量大約在50-200條之間軟件工程概論林平榮38階段結果&要開發的系統或產品的范圍&參加需求獲取過程的利害人名單&描述考慮要用于系統的技術環境的文檔&通過功能組織起來的需求列表&在適當時為每個需求指定領域約束的一系列語句&用例的規格說明軟件工程概論林平榮39需

15、求分析與協商& 任務 是發現、求精、建模和規約的過程& 分析的原則(P54)& 過程(圖示) 問題識別 評估和綜合 建模 規約 編制需求分析文檔 評審1. 協商:不實際的目標、沖突的目標軟件工程概論林平榮40需求分析的作用軟件設軟件設計計軟件需軟件需求分析求分析系統工系統工程程軟件工程概論林平榮41需求分析任務需求分析任務軟件工程概論林平榮42分析的原則& 問題的信息域必須被表示和理解& 軟件將完成的功能必須被定義& 軟件的行為必須被表示& 描述信息、功能和行為的模型必須被劃分,可以分層次地揭示細節& 分析過程應該從要素信息移向實

16、現細節軟件工程概論林平榮43需求分析過程圖示軟件工程概論林平榮44系統建模&常用的建模方法常用的建模方法面向數據流的面向數據流的結構化結構化分析方法(分析方法(SASA)面向數據結構的分析方法面向數據結構的分析方法面向對象面向對象的分析方法(的分析方法(OOAOOA)等)等原型方法原型方法其它各種方法其它各種方法軟件工程概論林平榮45面向數據流面向數據流的需求分析的方法的需求分析的方法&適合于適合于數據處理類型軟件數據處理類型軟件的需求分析的需求分析&用抽象模型的概念,按照軟件內部數據傳遞、用抽象模型的概念,按照軟件內部數據傳遞、變換的關系,變換的關系,自頂向下自頂向下

17、逐層分解,直到找到滿足逐層分解,直到找到滿足功能要求的所有可實現的軟件為止功能要求的所有可實現的軟件為止&使用工具使用工具(圖示圖示)數據流圖,數據詞典,結構化英語,判定表與判定樹數據流圖,數據詞典,結構化英語,判定表與判定樹&特點特點具有嚴格的原則簡單實用,適合于數據處理領域問題對不是以數據流為主干的系統無奈難以確定數據流之間的變換“數據字典爆炸”軟件工程概論林平榮46分析模型的結構分析模型的結構軟件工程概論林平榮47需求規約&規約可以是一份寫就的文檔,一個圖形化的模型,一個形式化的數學模型,一組使用場景,一個原形或上述各項的任意組合&原則(P57)&

18、軟件需求規格說明書(IEEE/ANSI830-1993)&其它文檔數據要求說明書初步的用戶手冊修改、完善與確定軟件開發實施計劃軟件工程概論林平榮48需求驗證與確認&需求確認將檢查需求規約以保證所有系統需求已被無歧義地陳述,不一致、疏忽和錯誤已被檢測出并糾正,并且工作產品符合為過程、項目和產品建立的標準&驗證&文檔注意事項&確認機制是正式的技術評審&評審內容(P60)&結果:軟件開發的“合約”軟件工程概論林平榮49需求驗證軟件工程概論林平榮50需求檢驗與確認不能檢驗的詞匯不能檢驗的詞匯可能替代的詞匯可能替代的詞匯靈活增加壓縮閾值或擴展常量容

19、易或用戶友好執行某個操作的最大步驟教育程度要求標準參考引導用戶的菜單或提示安全可以防止操作概念預期的操作員錯誤所產生的損害的功能列表快速或很快可接受的最低速度便攜大小尺寸和重量描述所需的攜帶手段重量輕可接受的最大重量大可接受的最小幾何尺寸小可接受的最大幾何尺寸軟件工程概論林平榮51需求管理&跟蹤變化&標識需求&特征跟蹤表、來源跟蹤表、依賴跟蹤表&正向跟蹤、逆向跟蹤軟件工程概論林平榮52軟件規格需求說明書(SRS)&參考qGB856T88 軟件需求說明書&需求規格說明1979 Balzer and Goldman提出了作出良好規格說明的8條原則軟件工程概論林平榮53需求規格說明1& 功能與實現分離,既描述“做什么”而不是:“怎樣實現”& 要求使用面向處理的規格說明語言,討論來自環境的各種刺激可能導致系統出現什么樣的功能性反應,以此來定義一個行為模型,從而得到“做什么”的規格說明& 如果目標軟件是一個大系統中的一個元素,那么整個大系統也包括在規格說明的描述之內,描述該目標軟件 與系統的其他元素的交互的方式。軟件工程概論林平榮54需求規格說明2&規格說明必須包括系統運行的環境。&規格說明必須是可操作的,充分完全和形式的

溫馨提示

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

評論

0/150

提交評論