版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、方法的作用方法的作用雖然沒有銀彈本章內(nèi)容本章內(nèi)容v5.1 軟件方法論軟件方法論v5.2 用戶需求的獲取方法用戶需求的獲取方法v5.3 軟件工程的分析方法軟件工程的分析方法v5.4 軟件工程的設(shè)計方法軟件工程的設(shè)計方法v5.5 軟件測試方法軟件測試方法本章內(nèi)容本章內(nèi)容v5.1 軟件方法論軟件方法論v5.2 用戶需求的獲取方法v5.3 軟件工程的分析方法v5.4 軟件工程的設(shè)計方法v5.5 軟件測試方法什么是工程的方法?什么是工程的方法?5.1 軟件方法論軟件方法論5.1.1 系統(tǒng)工程方法論系統(tǒng)工程方法論5.1.2 軟系統(tǒng)方法論軟系統(tǒng)方法論5.1.3 軟件工程方法體系軟件工程方法體系系統(tǒng)工程方法論
2、系統(tǒng)工程方法論v 系統(tǒng)工程方法論是針對復雜多變和不確定性的特點,系統(tǒng)工程方法論是針對復雜多變和不確定性的特點,綜合應(yīng)用運籌學、系統(tǒng)動力學、控制論、信息論等有綜合應(yīng)用運籌學、系統(tǒng)動力學、控制論、信息論等有關(guān)學科的理論和方法,將數(shù)理統(tǒng)計、概率論、線性代關(guān)學科的理論和方法,將數(shù)理統(tǒng)計、概率論、線性代數(shù)、模糊數(shù)學等作為定性分析和定量分析的有效工具數(shù)、模糊數(shù)學等作為定性分析和定量分析的有效工具,深入地分析問題,尋求問題解決的最優(yōu)策略,深入地分析問題,尋求問題解決的最優(yōu)策略v 動態(tài)系統(tǒng)理論、自動機理論動態(tài)系統(tǒng)理論、自動機理論 、霍爾三維結(jié)構(gòu)、系統(tǒng)分、霍爾三維結(jié)構(gòu)、系統(tǒng)分析法、成本效益分析、計劃協(xié)調(diào)技術(shù)、關(guān)
3、鍵路線法等析法、成本效益分析、計劃協(xié)調(diào)技術(shù)、關(guān)鍵路線法等 問題定義確定目標系統(tǒng)綜合系統(tǒng)分析系統(tǒng)評價系統(tǒng)創(chuàng)建 系統(tǒng)實施軟系統(tǒng)方法論軟系統(tǒng)方法論v 是一項運用系統(tǒng)思維方法解決非系統(tǒng)問題的定性研究的技術(shù),目的是解決那些包含有大量社會的、政治的以及人為因素的問題 軟系統(tǒng)方法的邏輯軟系統(tǒng)方法的邏輯豐富圖的一個示例豐富圖的一個示例軟件工程方法體系軟件工程方法體系v 抽象原則給出軟件工程問題求解全過程的最基本原則 v 體系規(guī)范原則是規(guī)范整體解題思路及解決方案的驗證v 局部規(guī)范原則是規(guī)范解決模塊、組件等局部問題的原則 發(fā)現(xiàn)現(xiàn)實問題發(fā)現(xiàn)現(xiàn)實問題 抽象抽象 模型模型 解決問題解決問題 方法方法v 結(jié)構(gòu)化程序設(shè)計方
4、法v 面向?qū)ο蠓椒╲ 面向構(gòu)件方法v 面向服務(wù)方法v 基于凈室思想的方法v 基于敏捷思想的方法v 自適應(yīng)開發(fā)方法v 動態(tài)系統(tǒng)開發(fā)方法v 測試驅(qū)動方法v 示例示例本章內(nèi)容本章內(nèi)容v5.1 軟件方法論v5.2 用戶需求的獲取方法用戶需求的獲取方法v5.3 軟件工程的分析方法v5.4 軟件工程的設(shè)計方法v5.5 軟件測試方法需求訪談需求訪談 哪些人將會使用這個軟件系統(tǒng)?哪些人將會使用這個軟件系統(tǒng)? 他們希望該軟件系統(tǒng)達到什么樣的效果他們希望該軟件系統(tǒng)達到什么樣的效果? 以前使用過其它類似的軟件系統(tǒng)嗎以前使用過其它類似的軟件系統(tǒng)嗎?從一組語境無關(guān)的問題開始 然后,站在用戶的角度展開要詢問的問題,尋求更
5、多的需求信息,挖掘用戶潛在的功能需求 便利的應(yīng)用規(guī)約技術(shù)便利的應(yīng)用規(guī)約技術(shù) v 在中立的地點舉行會議v 建立籌備和參與會議的規(guī)則v 建議一個議程,能夠覆蓋需求范圍所有的要點,但不鼓勵思維的任意流動v 一個“協(xié)調(diào)者控制會議v 使用一種“定義機制”v 目標是標識問題、提出解決方案的元素、評估不同的方法以及刻畫初步解決方案的需求集合鼓勵建立客戶和開發(fā)者的聯(lián)合團隊,一起工作以標識問題、提出解決方案的元素、刻畫初步解決方案的需求集合 本章內(nèi)容本章內(nèi)容v5.1 軟件方法論v5.2 用戶需求的獲取方法v5.3 軟件工程的分析方法軟件工程的分析方法v5.4 軟件工程的設(shè)計方法v5.5 軟件測試方法如何分析問題
6、?如何分析問題?5.3 軟件工程的分析方法軟件工程的分析方法5.3.1 系統(tǒng)分析方法系統(tǒng)分析方法5.3.2 問題分析方法問題分析方法5.3.3 根本原因分析根本原因分析5.3.4 決策分析決策分析系統(tǒng)分析方法系統(tǒng)分析方法v 整體分析整體分析 v 結(jié)構(gòu)分析結(jié)構(gòu)分析 v 層次分析層次分析 v 相關(guān)分析相關(guān)分析 問題分析方法問題分析方法v 問題說明階段問題說明階段: 提出目標,確定評價指標和約束條件 v 分析研究階段分析研究階段: 提出各種備選方案并預(yù)計一旦實施后可能產(chǎn)生的結(jié)果 v 評估結(jié)果評估結(jié)果 :將各方案的評價比較結(jié)果提供給決策者,作為判斷抉擇的依據(jù) 根本原因分析根本原因分析v 在開發(fā)周期的每
7、個階段實施根本原因分析,為有效開展缺陷預(yù)防活動提供依據(jù)v 應(yīng)用在解決各個方面的問題的過程中 v 得到提倡,形成一種文化或一種機制,而對每個人應(yīng)形成一種處理問題的習慣 問題問題 根本原因根本原因 解決方案解決方案 決策分析決策分析v 選擇決策技術(shù)和結(jié)構(gòu)層次,制訂決策分析與決定的計選擇決策技術(shù)和結(jié)構(gòu)層次,制訂決策分析與決定的計劃劃v 建立作為決策基礎(chǔ)的評價準則。建立作為決策基礎(chǔ)的評價準則。v 建立并運用決策分析指導原則,確定推薦的候選方案建立并運用決策分析指導原則,確定推薦的候選方案。v 依據(jù)評價準則進行綜合分析、討論和審查,然后選擇依據(jù)評價準則進行綜合分析、討論和審查,然后選擇相應(yīng)的評價方法,依
8、據(jù)準則來評價候選方案。相應(yīng)的評價方法,依據(jù)準則來評價候選方案。v 最終選擇的候選方案應(yīng)附有所選擇的技術(shù)、準則和作最終選擇的候選方案應(yīng)附有所選擇的技術(shù)、準則和作出選擇的依據(jù)出選擇的依據(jù) 本章內(nèi)容本章內(nèi)容v5.1 軟件方法論v5.2 用戶需求的獲取方法v5.3 軟件工程的分析方法v5.4 軟件工程的設(shè)計方法軟件工程的設(shè)計方法v5.5 軟件測試方法設(shè)計中最關(guān)鍵的問題?設(shè)計中最關(guān)鍵的問題?軟件危機軟件危機v 5.4.1 原型設(shè)計方法原型設(shè)計方法v 5.4.2 結(jié)構(gòu)化方法結(jié)構(gòu)化方法v 5.4.3 面向?qū)ο蠓椒嫦驅(qū)ο蠓椒╲ 5.4.4 面向構(gòu)件設(shè)計方法面向構(gòu)件設(shè)計方法v 5.4.5 面向服務(wù)方法面向服務(wù)
9、方法v 5.4.6 可視化方法可視化方法原型設(shè)計方法原型設(shè)計方法v 在獲取基本的需求定義后,利用可視化的開發(fā)環(huán)境或工具,快速地建立一個目標系統(tǒng)的粗線條版本v 基于可視化原型,用戶更能清楚地表達自己的需求,提供反饋意見v 原型分為拋棄式原型和演化式原型 拋棄式原型不作為最終產(chǎn)品,具有探索和實驗?zāi)康?,或只是作為需求確認的工具 演化式原型,最終軟件系統(tǒng)是在原型的基礎(chǔ)上逐步形成、修改、完善和完成的原型設(shè)計方法的實現(xiàn)過程原型設(shè)計方法的實現(xiàn)過程結(jié)構(gòu)化方法結(jié)構(gòu)化方法v 面向數(shù)據(jù)結(jié)構(gòu)的軟件設(shè)計方法面向數(shù)據(jù)結(jié)構(gòu)的軟件設(shè)計方法 v 問題分析法問題分析法 v 系統(tǒng)關(guān)聯(lián)圖系統(tǒng)關(guān)聯(lián)圖 v 信息隱蔽方法信息隱蔽方法 采用
10、自頂向下、逐步求精設(shè)計過程,將系統(tǒng)分解為若干功采用自頂向下、逐步求精設(shè)計過程,將系統(tǒng)分解為若干功能模塊,然后逐個實現(xiàn)每一個具體的功能模塊能模塊,然后逐個實現(xiàn)每一個具體的功能模塊問題分析法問題分析法 先分解再合成,根據(jù)輸入、輸出數(shù)據(jù)結(jié)構(gòu)指導系統(tǒng)的分解,先分解再合成,根據(jù)輸入、輸出數(shù)據(jù)結(jié)構(gòu)指導系統(tǒng)的分解,在系統(tǒng)分析指導下再逐步合成系統(tǒng)在系統(tǒng)分析指導下再逐步合成系統(tǒng) 系統(tǒng)關(guān)聯(lián)圖系統(tǒng)關(guān)聯(lián)圖 v 用于定義系統(tǒng)與系統(tǒng)外部實體間的界限和接口的簡單模用于定義系統(tǒng)與系統(tǒng)外部實體間的界限和接口的簡單模型,可以明確外部實體和系統(tǒng)之間通過接口傳遞的數(shù)據(jù)型,可以明確外部實體和系統(tǒng)之間通過接口傳遞的數(shù)據(jù)流和信息流流和信息
11、流 面向?qū)ο蠓椒嫦驅(qū)ο蠓椒╲ 面向?qū)ο蠓椒◤乃幚淼臄?shù)據(jù)入手,以數(shù)據(jù)為中心來描述系統(tǒng) v 充分挖掘了“關(guān)系”的表達方式,可以盡可能的將事物之間復雜的關(guān)系予以體現(xiàn) v 軟件的開發(fā)可以視為“類”的抽象及其關(guān)聯(lián)的建模過程v 軟件的運行是對象的實例化及其狀態(tài)的演變過程,對象與對象之間通過發(fā)送消息相互聯(lián)系 對象與類對象與類v 對象的行為通過操作展示,外界不可以直接訪問其內(nèi)部屬性(封裝性),操作的實現(xiàn)對用戶透明 v 類是對具有相同內(nèi)部狀態(tài)和外部行為對象結(jié)構(gòu)的描述,它定義了表示對象狀態(tài)的實例變量集和表示對象行為的方法集。子類可以繼承父類的實例變量和方法、重載父類的某個行為(虛函數(shù)),同時還可以定義新的變量
12、和方法 v 消息傳遞是對象間惟一的交互方式 示例示例面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?v 分析是提取和整理用戶需求,并建立問題域精確模型的過程 v 面向?qū)ο蠓治鲆话阈枰?個模型(功能模型、對象模型和動態(tài)模型)并定義相應(yīng)的服務(wù) 面向?qū)ο笤O(shè)計面向?qū)ο笤O(shè)計 v 開-閉原則 v 單一職責原則v 里氏代換原則 v 依賴倒轉(zhuǎn)原則 v 接口隔離原則 v 合成/聚合復用原則 v 迪米特法則 把分析階段得到的需求轉(zhuǎn)變成符合成本和質(zhì)量要求把分析階段得到的需求轉(zhuǎn)變成符合成本和質(zhì)量要求的、抽象的系統(tǒng)實現(xiàn)方案的過程的、抽象的系統(tǒng)實現(xiàn)方案的過程面向構(gòu)件設(shè)計方法面向構(gòu)件設(shè)計方法v 就是用就是用“構(gòu)件構(gòu)件”取代取代“代碼代碼”,
13、構(gòu)件成為軟件產(chǎn)品,構(gòu)件成為軟件產(chǎn)品或系統(tǒng)的基本結(jié)構(gòu)單元或系統(tǒng)的基本結(jié)構(gòu)單元 v 構(gòu)件可以完成一個或多個功能的特定服務(wù),并為用構(gòu)件可以完成一個或多個功能的特定服務(wù),并為用戶提供標準接口戶提供標準接口 v 系統(tǒng)構(gòu)件可以分為業(yè)務(wù)構(gòu)件、服務(wù)構(gòu)件、展現(xiàn)構(gòu)件系統(tǒng)構(gòu)件可以分為業(yè)務(wù)構(gòu)件、服務(wù)構(gòu)件、展現(xiàn)構(gòu)件、邏輯構(gòu)件、運算構(gòu)件等、邏輯構(gòu)件、運算構(gòu)件等 v 從傳統(tǒng)的關(guān)注點分離到構(gòu)件組裝從傳統(tǒng)的關(guān)注點分離到構(gòu)件組裝v 業(yè)務(wù)構(gòu)件是軟件過程的主線索,并基于業(yè)務(wù)構(gòu)件來業(yè)務(wù)構(gòu)件是軟件過程的主線索,并基于業(yè)務(wù)構(gòu)件來識別出服務(wù)構(gòu)件識別出服務(wù)構(gòu)件 ,然后就是業(yè)務(wù)構(gòu)件的實現(xiàn)、驗,然后就是業(yè)務(wù)構(gòu)件的實現(xiàn)、驗證和部署證和部署構(gòu)件的層次
14、構(gòu)件的層次基于構(gòu)件的網(wǎng)狀結(jié)構(gòu)基于構(gòu)件的網(wǎng)狀結(jié)構(gòu)面向服務(wù)方法面向服務(wù)方法SOA 架構(gòu)模式架構(gòu)模式 v SOA模式在三個主要參與者模式在三個主要參與者“服務(wù)提供者、服服務(wù)提供者、服務(wù)消費者和服務(wù)代理務(wù)消費者和服務(wù)代理”之間定義了交互模型之間定義了交互模型 SOA 系統(tǒng)架構(gòu)的層次系統(tǒng)架構(gòu)的層次 SOA 系統(tǒng)服務(wù)層實現(xiàn)系統(tǒng)服務(wù)層實現(xiàn) SOD的建模和架構(gòu)方法的建模和架構(gòu)方法 可視化方法可視化方法v 借助可視開發(fā)工具,直接在圖形用戶界面上來完成絕大部分的軟件設(shè)計和編程工作,可以自定義、修改和拖拽各項操作界面元素v 可視開發(fā)工具能實現(xiàn)程序代碼的自動生成 示例示例可視化可視化IDE本章內(nèi)容本章內(nèi)容v5.1 軟
15、件方法論v5.2 用戶需求的獲取方法v5.3 軟件工程的分析方法v5.4 軟件工程的設(shè)計方法v5.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 軟件測試方法軟件測試方法黑盒方法和白盒方法黑盒方法和白盒方法 v黑盒測試方法黑盒測試方法(Blake-box Testing),是把程序看作一個不能打開的黑盒子,不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性,而是考察數(shù)據(jù)的輸入、
16、條件限制和數(shù)據(jù)輸出,完成測試 v白盒測試方法白盒測試方法(White-box Testing),也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試。白盒測試方法是根據(jù)模塊內(nèi)部結(jié)構(gòu)了解,基于內(nèi)部邏輯結(jié)構(gòu),針對程序語句、路徑、變量狀態(tài)等來進行測試,檢驗程序中的各個分支條件是否得到滿足、每條執(zhí)行路徑是否按預(yù)定要求正確的工作。 黑盒測試黑盒測試 vs. 白盒測試白盒測試功能測試功能測試數(shù)據(jù)驅(qū)動(數(shù)據(jù)驅(qū)動(Data-driven)測試)測試結(jié)構(gòu)測試結(jié)構(gòu)測試邏輯驅(qū)動(邏輯驅(qū)動(Logic-driven)測試)測試 需求事件驅(qū)動事件驅(qū)動輸入輸入輸出輸出方法方法黑盒測試方法黑盒測試方法白盒測試方法白盒測試方法等價類劃分邊界值分析因果
17、圖 錯誤推測法決策表方法正交試驗法 語句覆蓋分支覆蓋條件覆蓋條件組合覆蓋循環(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)測試是通過觀察代碼運行時的動作,來提供執(zhí)行跟蹤、時間分析,以及測試覆蓋度方面的信息。動態(tài)測試通過真正運行程序發(fā)現(xiàn)錯誤。通過有效的測試用例,對應(yīng)的輸入/輸出關(guān)系來分析被測程序的運行情況 靜態(tài)測試靜態(tài)測試 vs. 動態(tài)測試動態(tài)測試主持人作者記錄員列席會議內(nèi)審員技術(shù)專家用戶代表非正式正式
18、同行評審同行評審 走查走查 評審會議評審會議運行程序運行程序ALAC測試測試v ALAC( Act-like-a-customer,象客戶那樣,象客戶那樣做做 )測試是基于客戶使用產(chǎn)品的知識而進行測)測試是基于客戶使用產(chǎn)品的知識而進行測試試v 其出發(fā)點是著名的其出發(fā)點是著名的Pareto 80/20規(guī)律規(guī)律 隨機測試隨機測試 v 可以作為熟悉新開發(fā)產(chǎn)品的功能特性,完善軟件測試可以作為熟悉新開發(fā)產(chǎn)品的功能特性,完善軟件測試用例,獲得一舉兩得的效果用例,獲得一舉兩得的效果v 為對計劃測試的補充,使測試人員不受已有測試用例為對計劃測試的補充,使測試人員不受已有測試用例的限制,無拘無束、思維活躍,能發(fā)現(xiàn)一些隱藏比較的限制,無拘無束、思維活躍,能發(fā)現(xiàn)一些隱藏比較深的缺陷深的缺陷自動化測試的特點自動化測試的特點v自動運行的速度快自動運行的速度快,是手工無法相比的。v測試結(jié)果準確測試結(jié)果準確。例如搜索用時及時是0.33秒或0.24秒,系統(tǒng)都會發(fā)現(xiàn)問題,不會忽視
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 46895-2025高壓輸電線路人工瞬時短路試驗方法
- 湖北省襄陽市谷城縣石花鎮(zhèn)2025-2026學年八年級上學期期末考試生物試題(無答案)
- 養(yǎng)老院入住老人醫(yī)療護理技能培訓制度
- 人力資源制度
- 企業(yè)內(nèi)部保密責任制度
- 老年終末期認知下降癥狀群管理方案
- 老年終末期疼痛評估的全程管理策略
- 科技創(chuàng)新能力培養(yǎng)實施細則
- 創(chuàng)新公共服務(wù)提供方式滿足多樣需求
- 2025年商洛市商州富興學校教師招聘筆試真題
- 八年級地理上冊《中國的氣候》探究式教學設(shè)計
- 重慶市2026年高一(上)期末聯(lián)合檢測(康德卷)化學+答案
- 2026年湖南郴州市百福控股集團有限公司招聘9人備考考試題庫及答案解析
- 2026貴州黔東南州公安局面向社會招聘警務(wù)輔助人員37人考試備考題庫及答案解析
- 綠電直連政策及新能源就近消納項目電價機制分析
- 鐵路除草作業(yè)方案范本
- 2026屆江蘇省常州市生物高一第一學期期末檢測試題含解析
- 2026年及未來5年市場數(shù)據(jù)中國高溫工業(yè)熱泵行業(yè)市場運行態(tài)勢與投資戰(zhàn)略咨詢報告
- 教培機構(gòu)排課制度規(guī)范
- 2026年檢視問題清單與整改措施(2篇)
- 認識時間(課件)二年級下冊數(shù)學人教版
評論
0/150
提交評論