版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件工程方法軟件工程方法方法的作用方法的作用 雖然沒有銀彈軟件工程方法本章內容本章內容v 5.1 5.1 軟件方法論軟件方法論v 5.2 5.2 用戶需求的獲取方法用戶需求的獲取方法v 5.3 5.3 軟件工程的分析方法軟件工程的分析方法v 5.4 5.4 軟件工程的設計方法軟件工程的設計方法v 5.5 5.5 軟件測試方法軟件測試方法 軟件工程方法本章內容本章內容v 5.1 5.1 軟件方法論軟件方法論v 5.2 用戶需求的獲取方法v 5.3 軟件工程的分析方法v 5.4 軟件工程的設計方法v 5.5 軟件測試方法 軟件工程方法什么是工程的方法?什么是工程的方法? 軟件工程方法5.1 5.1
2、 軟件方法論軟件方法論 5.1.1 系統(tǒng)工程方法論系統(tǒng)工程方法論5.1.2 軟系統(tǒng)方法論軟系統(tǒng)方法論5.1.3 軟件工程方法體系軟件工程方法體系軟件工程方法系統(tǒng)工程方法論系統(tǒng)工程方法論v 系統(tǒng)工程方法論是針對復雜多變和不確定性的特點,系統(tǒng)工程方法論是針對復雜多變和不確定性的特點,綜合應用運籌學、系統(tǒng)動力學、控制論、信息論等有綜合應用運籌學、系統(tǒng)動力學、控制論、信息論等有關學科的理論和方法,將數(shù)理統(tǒng)計、概率論、線性代關學科的理論和方法,將數(shù)理統(tǒng)計、概率論、線性代數(shù)、模糊數(shù)學等作為定性分析和定量分析的有效工具數(shù)、模糊數(shù)學等作為定性分析和定量分析的有效工具,深入地分析問題,尋求問題解決的最優(yōu)策略,深
3、入地分析問題,尋求問題解決的最優(yōu)策略v 動態(tài)系統(tǒng)理論、自動機理論動態(tài)系統(tǒng)理論、自動機理論 、霍爾三維結構、系統(tǒng)、霍爾三維結構、系統(tǒng)分析法、成本效益分析、計劃協(xié)調技術、關鍵路線法分析法、成本效益分析、計劃協(xié)調技術、關鍵路線法等等 問題定義確定目標系統(tǒng)綜合系統(tǒng)分析系統(tǒng)評價系統(tǒng)創(chuàng)建 系統(tǒng)實施軟件工程方法軟系統(tǒng)方法論軟系統(tǒng)方法論 v 是一項運用系統(tǒng)思維方法解決非系統(tǒng)問題的定性研究的技術,目的是解決那些包含有大量社會的、政治的以及人為因素的問題 軟件工程方法軟系統(tǒng)方法的邏輯軟系統(tǒng)方法的邏輯 軟件工程方法豐富圖的一個示例豐富圖的一個示例 軟件工程方法軟件工程方法體系軟件工程方法體系 v 抽象原則給出軟件工
4、程問題求解全過程的最基本原則 v 體系規(guī)范原則是規(guī)范整體解題思路及解決方案的驗證v 局部規(guī)范原則是規(guī)范解決模塊、組件等局部問題的原則 發(fā)現(xiàn)現(xiàn)實問題發(fā)現(xiàn)現(xiàn)實問題 抽象抽象 模型模型 解決問題解決問題 軟件工程方法方法方法 v 結構化程序設計方法v 面向對象方法v 面向構件方法v 面向服務方法v 基于凈室思想的方法v 基于敏捷思想的方法v 自適應開發(fā)方法v 動態(tài)系統(tǒng)開發(fā)方法v 測試驅動方法v 軟件工程方法示例示例軟件工程方法本章內容本章內容v 5.1 軟件方法論v 5.2 5.2 用戶需求的獲取方法用戶需求的獲取方法v 5.3 軟件工程的分析方法v 5.4 軟件工程的設計方法v 5.5 軟件測試方
5、法 軟件工程方法需求訪談需求訪談 哪些人將會使用這個軟件系統(tǒng)?哪些人將會使用這個軟件系統(tǒng)? 他們希望該軟件系統(tǒng)達到什么樣的效果他們希望該軟件系統(tǒng)達到什么樣的效果? 以前使用過其它類似的軟件系統(tǒng)嗎以前使用過其它類似的軟件系統(tǒng)嗎? 從一組語境無關的問題開始 然后,站在用戶的角度展開要詢問的問題,尋求更多的需求信息,挖掘用戶潛在的功能需求 軟件工程方法便利的應用規(guī)約技術便利的應用規(guī)約技術 v在中立的地點舉行會議v建立籌備和參與會議的規(guī)則v建議一個議程,能夠覆蓋需求范圍所有的要點,但不鼓勵思維的任意流動v一個“協(xié)調者控制會議v使用一種“定義機制”v目標是標識問題、提出解決方案的元素、評估不同的方法以及
6、刻畫初步解決方案的需求集合鼓勵建立客戶和開發(fā)者的聯(lián)合團隊,一起工作以標識問題、提出解決方案的元素、刻畫初步解決方案的需求集合 軟件工程方法本章內容本章內容v 5.1 軟件方法論v 5.2 用戶需求的獲取方法v 5.3 5.3 軟件工程的分析方法軟件工程的分析方法v 5.4 軟件工程的設計方法v 5.5 軟件測試方法 軟件工程方法如何分析問題?如何分析問題? 軟件工程方法5.3 5.3 軟件工程的分析方法軟件工程的分析方法5.3.1 系統(tǒng)分析方法系統(tǒng)分析方法5.3.2 問題分析方法問題分析方法5.3.3 根本原因分析根本原因分析5.3.4 決策分析決策分析軟件工程方法系統(tǒng)分析方法系統(tǒng)分析方法v
7、整體分析整體分析 v 結構分析結構分析 v 層次分析層次分析 v 相關分析相關分析 軟件工程方法問題分析方法問題分析方法 v 問題說明階段問題說明階段: 提出目標,確定評價指標和約束條件 v 分析研究階段分析研究階段: 提出各種備選方案并預計一旦實施后可能產生的結果 v 評估結果評估結果 :將各方案的評價比較結果提供給決策者,作為判斷抉擇的依據(jù) 軟件工程方法根本原因分析根本原因分析 v 在開發(fā)周期的每個階段實施根本原因分析,為有效開展缺陷預防活動提供依據(jù)v 應用在解決各個方面的問題的過程中 v 得到提倡,形成一種文化或一種機制,而對每個人應形成一種處理問題的習慣 問題問題 根本原因根本原因 解
8、決方案解決方案 軟件工程方法決策分析決策分析v 選擇決策技術和結構層次,制訂決策分析與決定的計選擇決策技術和結構層次,制訂決策分析與決定的計劃劃v 建立作為決策基礎的評價準則。建立作為決策基礎的評價準則。v 建立并運用決策分析指導原則,確定推薦的候選方案建立并運用決策分析指導原則,確定推薦的候選方案。v 依據(jù)評價準則進行綜合分析、討論和審查,然后選擇依據(jù)評價準則進行綜合分析、討論和審查,然后選擇相應的評價方法,依據(jù)準則來評價候選方案。相應的評價方法,依據(jù)準則來評價候選方案。v 最終選擇的候選方案應附有所選擇的技術、準則和作最終選擇的候選方案應附有所選擇的技術、準則和作出選擇的依據(jù)出選擇的依據(jù)
9、軟件工程方法本章內容本章內容v 5.1 軟件方法論v 5.2 用戶需求的獲取方法v 5.3 軟件工程的分析方法v 5.4 5.4 軟件工程的設計方法軟件工程的設計方法v 5.5 軟件測試方法 軟件工程方法設計中最關鍵的問題?設計中最關鍵的問題? 軟件工程方法軟件危機軟件危機v 5.4.1 原型設計方法原型設計方法v 5.4.2 結構化方法結構化方法v 5.4.3 面向對象方法面向對象方法v 5.4.4 面向構件設計方法面向構件設計方法v 5.4.5 面向服務方法面向服務方法v 5.4.6 可視化方法可視化方法 軟件工程方法原型設計方法原型設計方法v 在獲取基本的需求定義后,利用可視化的開發(fā)環(huán)境
10、或工具,快速地建立一個目標系統(tǒng)的粗線條版本v 基于可視化原型,用戶更能清楚地表達自己的需求,提供反饋意見v 原型分為拋棄式原型和演化式原型 拋棄式原型不作為最終產品,具有探索和實驗目的,或只是作為需求確認的工具 演化式原型,最終軟件系統(tǒng)是在原型的基礎上逐步形成、修改、完善和完成的 軟件工程方法原型設計方法的實現(xiàn)過程原型設計方法的實現(xiàn)過程 軟件工程方法結構化方法結構化方法 v 面向數(shù)據(jù)結構的軟件設計方法面向數(shù)據(jù)結構的軟件設計方法 v 問題分析法問題分析法 v 系統(tǒng)關聯(lián)圖系統(tǒng)關聯(lián)圖 v 信息隱蔽方法信息隱蔽方法 采用自頂向下、逐步求精設計過程,將系統(tǒng)分解為若干功采用自頂向下、逐步求精設計過程,將系
11、統(tǒng)分解為若干功能模塊,然后逐個實現(xiàn)每一個具體的功能模塊能模塊,然后逐個實現(xiàn)每一個具體的功能模塊軟件工程方法問題分析法問題分析法 先分解再合成,根據(jù)輸入、輸出數(shù)據(jù)結構指導系統(tǒng)的分解,先分解再合成,根據(jù)輸入、輸出數(shù)據(jù)結構指導系統(tǒng)的分解,在系統(tǒng)分析指導下再逐步合成系統(tǒng)在系統(tǒng)分析指導下再逐步合成系統(tǒng) 軟件工程方法系統(tǒng)關聯(lián)圖系統(tǒng)關聯(lián)圖 v 用于定義系統(tǒng)與系統(tǒng)外部實體間的界限和接口的簡單模用于定義系統(tǒng)與系統(tǒng)外部實體間的界限和接口的簡單模型,可以明確外部實體和系統(tǒng)之間通過接口傳遞的數(shù)據(jù)型,可以明確外部實體和系統(tǒng)之間通過接口傳遞的數(shù)據(jù)流和信息流流和信息流 軟件工程方法面向對象方法面向對象方法 v 面向對象方法
12、從所處理的數(shù)據(jù)入手,以數(shù)據(jù)為中心來描述系統(tǒng) v 充分挖掘了“關系”的表達方式,可以盡可能的將事物之間復雜的關系予以體現(xiàn) v 軟件的開發(fā)可以視為“類”的抽象及其關聯(lián)的建模過程v 軟件的運行是對象的實例化及其狀態(tài)的演變過程,對象與對象之間通過發(fā)送消息相互聯(lián)系 軟件工程方法對象與類對象與類 v 對象的行為通過操作展示,外界不可以直接訪問其內部屬性(封裝性),操作的實現(xiàn)對用戶透明 v 類是對具有相同內部狀態(tài)和外部行為對象結構的描述,它定義了表示對象狀態(tài)的實例變量集和表示對象行為的方法集。子類可以繼承父類的實例變量和方法、重載父類的某個行為(虛函數(shù)),同時還可以定義新的變量和方法 v 消息傳遞是對象間惟
13、一的交互方式 軟件工程方法示例示例 軟件工程方法面向對象分析面向對象分析 v 分析是提取和整理用戶需求,并建立問題域精確模型的過程 v 面向對象分析一般需要建立3個模型(功能模型、對象模型和動態(tài)模型)并定義相應的服務 軟件工程方法面向對象設計面向對象設計 v 開-閉原則 v 單一職責原則v 里氏代換原則 v 依賴倒轉原則 v 接口隔離原則 v 合成/聚合復用原則 v 迪米特法則 把分析階段得到的需求轉變成符合成本和質量要求把分析階段得到的需求轉變成符合成本和質量要求的、抽象的系統(tǒng)實現(xiàn)方案的過程的、抽象的系統(tǒng)實現(xiàn)方案的過程軟件工程方法面向構件設計方法面向構件設計方法v 就是用就是用“構件構件”取
14、代取代“代碼代碼”,構件成為軟件產品,構件成為軟件產品或系統(tǒng)的基本結構單元或系統(tǒng)的基本結構單元 v 構件可以完成一個或多個功能的特定服務,并為用構件可以完成一個或多個功能的特定服務,并為用戶提供標準接口戶提供標準接口 v 系統(tǒng)構件可以分為業(yè)務構件、服務構件、展現(xiàn)構件系統(tǒng)構件可以分為業(yè)務構件、服務構件、展現(xiàn)構件、邏輯構件、運算構件等、邏輯構件、運算構件等 v 從傳統(tǒng)的關注點分離到構件組裝從傳統(tǒng)的關注點分離到構件組裝v 業(yè)務構件是軟件過程的主線索,并基于業(yè)務構件來業(yè)務構件是軟件過程的主線索,并基于業(yè)務構件來識別出服務構件識別出服務構件 ,然后就是業(yè)務構件的實現(xiàn)、驗,然后就是業(yè)務構件的實現(xiàn)、驗證和部
15、署證和部署 軟件工程方法構件的層次構件的層次 軟件工程方法基于構件的網狀結構基于構件的網狀結構 軟件工程方法面向服務方法面向服務方法 軟件工程方法SOA 架構模式架構模式 v SOA模式在三個主要參與者模式在三個主要參與者“服務提供者、服服務提供者、服務消費者和服務代理務消費者和服務代理”之間定義了交互模型之間定義了交互模型 軟件工程方法SOA 系統(tǒng)架構的層次系統(tǒng)架構的層次 軟件工程方法SOA 系統(tǒng)服務層實現(xiàn)系統(tǒng)服務層實現(xiàn) 軟件工程方法SOD的建模和架構方法的建模和架構方法 軟件工程方法可視化方法可視化方法 v 借助可視開發(fā)工具,直接在圖形用戶界面上來完成絕大部分的軟件設計和編程工作,可以自定
16、義、修改和拖拽各項操作界面元素v 可視開發(fā)工具能實現(xiàn)程序代碼的自動生成 軟件工程方法示例示例 軟件工程方法可視化可視化IDE 軟件工程方法本章內容本章內容v 5.1 軟件方法論v 5.2 用戶需求的獲取方法v 5.3 軟件工程的分析方法v 5.4 軟件工程的設計方法v 5.5 5.5 軟件測試方法軟件測試方法 軟件工程方法為什么要進行軟件測試?為什么要進行軟件測試? 軟件工程方法v 5.5.1 白盒和黑盒的測試方法白盒和黑盒的測試方法v 5.5.2 靜態(tài)和動態(tài)的測試方法靜態(tài)和動態(tài)的測試方法v 5.5.3 ALAC測試和隨機測試測試和隨機測試v 5.5.4 自動化測試方法自動化測試方法v5.5
17、軟件測試方法軟件測試方法軟件工程方法黑盒方法和白盒方法黑盒方法和白盒方法 v 黑盒測試方法黑盒測試方法(Blake-box Testing),是把程序看作一個不能打開的黑盒子,不考慮程序內部結構和內部特性,而是考察數(shù)據(jù)的輸入、條件限制和數(shù)據(jù)輸出,完成測試 v 白盒測試方法白盒測試方法(White-box Testing),也稱結構測試或邏輯驅動測試。白盒測試方法是根據(jù)模塊內部結構了解,基于內部邏輯結構,針對程序語句、路徑、變量狀態(tài)等來進行測試,檢驗程序中的各個分支條件是否得到滿足、每條執(zhí)行路徑是否按預定要求正確的工作。 軟件工程方法黑盒測試黑盒測試 vs. 白盒測白盒測試試功能測試功能測試數(shù)據(jù)
18、驅動(數(shù)據(jù)驅動(Data-driven)測試)測試結構測試結構測試邏輯驅動(邏輯驅動(Logic-driven)測試)測試 需求事件驅動事件驅動輸入輸入輸出輸出軟件工程方法方法方法黑盒測試方法黑盒測試方法白盒測試方法白盒測試方法等價類劃分邊界值分析因果圖 錯誤推測法決策表方法正交試驗法 語句覆蓋分支覆蓋條件覆蓋條件組合覆蓋循環(huán)覆蓋基本路徑測試軟件工程方法靜態(tài)測試靜態(tài)測試 和和 動態(tài)測試動態(tài)測試v 靜態(tài)測試靜態(tài)測試就是靜態(tài)分析,對模塊的源代碼進行研讀,查找錯誤或收集一些度量數(shù)據(jù),并不需要對代碼進行編譯和仿真運行。靜態(tài)測試采用人工檢測和計算機輔助靜態(tài)分析手段進行檢測 v 動態(tài)測試動態(tài)測試是通過觀察
19、代碼運行時的動作,來提供執(zhí)行跟蹤、時間分析,以及測試覆蓋度方面的信息。動態(tài)測試通過真正運行程序發(fā)現(xiàn)錯誤。通過有效的測試用例,對應的輸入/輸出關系來分析被測程序的運行情況 軟件工程方法靜態(tài)測試靜態(tài)測試 vs. 動態(tài)測試動態(tài)測試主持人作者記錄員列席會議內審員技術專家用戶代表非正式正式同行評審同行評審 走查走查 評審會議評審會議運行程序運行程序軟件工程方法ALAC測試測試v ALAC( Act-like-a-customer,象客戶那樣,象客戶那樣做做 )測試是基于客戶使用產品的知識而進行)測試是基于客戶使用產品的知識而進行測試測試v 其出發(fā)點是著名的其出發(fā)點是著名的Pareto 80/20規(guī)律規(guī)律 軟件工程方法隨機測試隨機測試 v 可以作為熟悉新開發(fā)產品的功能特性,完善軟件測試可以作為熟悉新開發(fā)產品的功能特性,完善軟件測試用例,獲得一舉兩得的效果用例,獲得一舉兩得的效果v 為對計劃測試的補充,使測試人員不受已有測試用例為對計劃測試的補充,使測試人員不受已有測試用例的限制,無拘無束、思維活躍,能發(fā)現(xiàn)一些隱藏比較的限制,無拘無束、思維活躍,能發(fā)現(xiàn)一些隱藏比較深的缺陷深的缺陷軟件工程方法自動化測試的特點自動化測試的特點v 自動運行的速度快自動運行的速度快,是手工無法相比的。v 測試結果準確測試結果準確。例如搜索用時及時是0.33秒或0.24秒,系統(tǒng)都會發(fā)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版門窗行業(yè)智能化升級改造合同3篇
- 2025年度模板木枋出口業(yè)務合同模板3篇
- 二零二五版借貸房屋買賣合同解除與終止合同4篇
- 美容院美容培訓學校二零二五年度師資引進合同4篇
- 二零二五年度口罩生產設備居間引進合同范本3篇
- 二零二五年度品牌疫情防控物資采購與配送服務合同規(guī)范4篇
- 二零二五年度插畫版權轉讓及衍生品開發(fā)合同
- 二零二五年度外匯貸款貸前調查合同范本
- 二零二五年度圖片版權交易下載服務協(xié)議
- 2025年建筑工程施工合同合同履行中的變更與補充協(xié)議2篇
- 2025-2030年中國草莓市場競爭格局及發(fā)展趨勢分析報告
- 第二章《有理數(shù)的運算》單元備課教學實錄2024-2025學年人教版數(shù)學七年級上冊
- 華為智慧園區(qū)解決方案介紹
- 奕成玻璃基板先進封裝中試線項目環(huán)評報告表
- 廣西壯族自治區(qū)房屋建筑和市政基礎設施全過程工程咨詢服務招標文件范本(2020年版)修訂版
- 人教版八年級英語上冊期末專項復習-完形填空和閱讀理解(含答案)
- 2024新版有限空間作業(yè)安全大培訓
- GB/T 44304-2024精細陶瓷室溫斷裂阻力試驗方法壓痕(IF)法
- 年度董事會工作計劃
- 《退休不褪色余熱亦生輝》學校退休教師歡送會
- 02R112拱頂油罐圖集
評論
0/150
提交評論