




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用 計算機導論計算機導論揚州職業(yè)大學揚州職業(yè)大學第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用 第十一章第十一章 軟件工程軟件工程第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用學習目標學習目標 了解軟件的定義和特點了解軟件的定義和特點 理解軟件工程的概念與思想理解軟件工程的概念與思想 熟悉軟件生命周期的理論與各階段的任務熟悉軟件生命周期的理論與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用任務任務1 1:了解軟件的定義與特點:了解軟件的定義與特點 軟件的定義軟件的定義 軟件:軟件:是計算機系統(tǒng)中與硬
2、件相互依存的另一部分,它是計算機系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數據及其相關文檔的完整集合是包括程序,數據及其相關文檔的完整集合 。l程序是按事先設計的功能和性能要求執(zhí)行的指令序程序是按事先設計的功能和性能要求執(zhí)行的指令序列,程序是軟件的主體。列,程序是軟件的主體。l數據是使程序能正常操縱信息的數據結構。數據是使程序能正常操縱信息的數據結構。l文檔是與程序開發(fā),維護和使用有關的圖文材料。文檔是與程序開發(fā),維護和使用有關的圖文材料。第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用 軟件的特點軟件的特點l抽象性抽象性l可復制性可復制性l無磨損性無磨損性l依賴性依賴性l復雜性復
3、雜性任務任務1:了解軟件的定義與特點:了解軟件的定義與特點第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用 軟件危機軟件危機 軟件危機主要表現在以下幾個方面:軟件危機主要表現在以下幾個方面:l軟件的需求不斷地增長,用戶對系統(tǒng)不夠滿意。軟件的需求不斷地增長,用戶對系統(tǒng)不夠滿意。l軟件開發(fā)的進度和成本難以控制,經常會出現經費軟件開發(fā)的進度和成本難以控制,經常會出現經費超預算、完成期限一再拖延的現象。超預算、完成期限一再拖延的現象。l軟件需求在開發(fā)初期不明確,導致矛盾在后期集中軟件需求在開發(fā)初期不明確,導致矛盾在后期集中爆發(fā)。爆發(fā)。l由于缺乏完整規(guī)范的資料,加之軟件測試不充分,由于缺乏完整規(guī)
4、范的資料,加之軟件測試不充分,從而造成軟件質量低下,運行中出現大量問題。從而造成軟件質量低下,運行中出現大量問題。任務任務1:了解軟件的定義與特點:了解軟件的定義與特點第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用任務任務2 2:理解軟件工程的概念與思想:理解軟件工程的概念與思想 軟件工程的定義軟件工程的定義 軟件工程是一門研究用工程化方法構建和維護軟件工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟件的學科。有效的、實用的和高質量的軟件的學科。 它涉及到程序設計語言,數據庫,軟件開發(fā)工它涉及到程序設計語言,數據庫,軟件開發(fā)工具,系統(tǒng)平臺,標準,設計模式等方面。具,系統(tǒng)
5、平臺,標準,設計模式等方面。 軟件工程是應用于計算機軟件的定義、開發(fā)和軟件工程是應用于計算機軟件的定義、開發(fā)和維護的一整套方法、工具、文檔、實踐標準和維護的一整套方法、工具、文檔、實踐標準和工序。工序。第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用 對于軟件工程的理解可以包含以下幾個方面:對于軟件工程的理解可以包含以下幾個方面: 軟件工程是一門指導計算機軟件開發(fā)和維護的工軟件工程是一門指導計算機軟件開發(fā)和維護的工程學科。程學科。 軟件工程不是傳統(tǒng)意義上的工程,沒有陳述的系軟件工程不是傳統(tǒng)意義上的工程,沒有陳述的系統(tǒng)化方法。統(tǒng)化方法。任務任務2:理解軟件工程的概念與思想:理解軟件工程的
6、概念與思想第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用 軟件工程的內容軟件工程的內容 軟件工程的主要內容:是軟件開發(fā)技術和軟件工程管軟件工程的主要內容:是軟件開發(fā)技術和軟件工程管理。理。 軟件開發(fā)技術:包含軟件開發(fā)方法、軟件工具、軟件軟件開發(fā)技術:包含軟件開發(fā)方法、軟件工具、軟件工程環(huán)境。工程環(huán)境。 軟件工程管理:包含軟件工程經濟、軟件管理。軟件工程管理:包含軟件工程經濟、軟件管理。任務任務2:理解軟件工程的概念與思想:理解軟件工程的概念與思想第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用 軟件工程包括軟件工程包括3個基本要素:方法、工具和過程。個基本要素:方法、工具和過
7、程。l方法:完成軟件工程項目的技術手段、為軟件開方法:完成軟件工程項目的技術手段、為軟件開發(fā)提供發(fā)提供“如何做如何做”的技術,它涵蓋了項目計劃、的技術,它涵蓋了項目計劃、需求分析、系統(tǒng)設計、程序實現、測試與維護等需求分析、系統(tǒng)設計、程序實現、測試與維護等一系列任務。一系列任務。l工具:支持軟件的開發(fā)、管理和文檔的生成。工具:支持軟件的開發(fā)、管理和文檔的生成。l過程:支持軟件開發(fā)的各個環(huán)節(jié)的控制和管理。過程:支持軟件開發(fā)的各個環(huán)節(jié)的控制和管理。任務任務2:理解軟件工程的概念與思想:理解軟件工程的概念與思想第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用 軟件工程的主要目標:軟件工程的主要
8、目標:l合理預算成本,降低開發(fā)費用合理預算成本,降低開發(fā)費用 ,提高開發(fā)效率;,提高開發(fā)效率;l控制開發(fā)進度,實現預期功能,滿足用戶需求;控制開發(fā)進度,實現預期功能,滿足用戶需求;l提高軟件質量,使軟件具有可靠性、可理解性、提高軟件質量,使軟件具有可靠性、可理解性、可重用性、可適應性、可移植性、可追蹤性和可可重用性、可適應性、可移植性、可追蹤性和可維護性。維護性。 任務任務2:理解軟件工程的概念與思想:理解軟件工程的概念與思想第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用 軟件工程的思想軟件工程的思想 軟件工程的核心思想:把軟件產品看成一個工程產品軟件工程的核心思想:把軟件產品看成一
9、個工程產品來處理。來處理。 軟件開發(fā)階段包含以下基本思想和方法:軟件開發(fā)階段包含以下基本思想和方法:l抽象化:從編程對象中抽取最基本的屬性和行為,抽象化:從編程對象中抽取最基本的屬性和行為,忽略非基本的細節(jié)。忽略非基本的細節(jié)。l模塊化:通過對象、類等模塊化手段,實現系統(tǒng)模塊化:通過對象、類等模塊化手段,實現系統(tǒng)的模塊化和層次化,控制軟件系統(tǒng)的復雜性。的模塊化和層次化,控制軟件系統(tǒng)的復雜性。任務任務2:理解軟件工程的概念與思想:理解軟件工程的概念與思想第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用l局部化:在模塊內部保持較強的內聚,模塊之間保持松散耦局部化:在模塊內部保持較強的內聚,模
10、塊之間保持松散耦合,控制軟件模塊的復雜性。合,控制軟件模塊的復雜性。l隱蔽化:將模塊設計成隱蔽化:將模塊設計成“黑箱黑箱”,實現細節(jié)隱藏在模塊內部,實現細節(jié)隱藏在模塊內部,模塊使用者只能通過接口進行訪問,達到使用與實現的分離,模塊使用者只能通過接口進行訪問,達到使用與實現的分離,保證軟件系統(tǒng)的可組裝性。保證軟件系統(tǒng)的可組裝性。l確定性:軟件開發(fā)過程中的所有概念表達應是確定的、無歧確定性:軟件開發(fā)過程中的所有概念表達應是確定的、無歧義的、規(guī)范的。義的、規(guī)范的。l一致性:軟件系統(tǒng)的各個模塊應使用一致的概念、符號和術一致性:軟件系統(tǒng)的各個模塊應使用一致的概念、符號和術語。語。任務任務2:理解軟件工程
11、的概念與思想:理解軟件工程的概念與思想第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用l完備性:軟件系統(tǒng)所需要的各個部件應是齊全完備性:軟件系統(tǒng)所需要的各個部件應是齊全的、完備的、正確的。的、完備的、正確的。l可驗性:軟件系統(tǒng)開發(fā)過程中的各個環(huán)節(jié)應是可驗性:軟件系統(tǒng)開發(fā)過程中的各個環(huán)節(jié)應是可檢查的、可測試的、可評審的??蓹z查的、可測試的、可評審的。任務任務2:理解軟件工程的概念與思想:理解軟件工程的概念與思想第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用任務任務3 3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務 軟件生命周期的概念軟件生命周期的
12、概念 軟件生命周期,就是從時間角度對軟件開發(fā)和維軟件生命周期,就是從時間角度對軟件開發(fā)和維護的復雜問題進行分解,把軟件生存的周期一次劃分護的復雜問題進行分解,把軟件生存的周期一次劃分為若干階段,每個階段有相對獨立的子任務,然后逐為若干階段,每個階段有相對獨立的子任務,然后逐步完成每個階段的任務。步完成每個階段的任務。第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用 軟件生命周期的劃分軟件生命周期的劃分 軟件的生命周期的階段劃分有兩種方式:軟件的生命周期的階段劃分有兩種方式:6個階段和個階段和3個階段個階段 。任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階
13、段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用1、計劃階段、計劃階段 可行性研究和計劃的制定。確定待開發(fā)系統(tǒng)的總體目可行性研究和計劃的制定。確定待開發(fā)系統(tǒng)的總體目標和范圍,研究系統(tǒng)的可行性和可能的解決方案,對標和范圍,研究系統(tǒng)的可行性和可能的解決方案,對資源成本以及進度進行合理的估算資源成本以及進度進行合理的估算 。2、需求分析階段、需求分析階段 分析整理和提煉所收集到的用戶的需求,建立完成的分析整理和提煉所收集到的用戶的需求,建立完成
14、的分析模型,編寫軟件需求規(guī)格說明和初步的用戶手冊,分析模型,編寫軟件需求規(guī)格說明和初步的用戶手冊,提交評審。提交評審。 任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用3、軟件設計階段、軟件設計階段 系統(tǒng)設計人員和程序設計人員應該在反復理解軟件需系統(tǒng)設計人員和程序設計人員應該在反復理解軟件需求的基礎上,按照需求規(guī)格說明書確定軟件的結構、求的基礎上,按照需求規(guī)格說明書確定軟件的結構、模塊的劃分、進而確定每個模塊的算法,數據結構和模塊的劃分、進而確定每個模塊的算法,數據結構和結構等,編寫概要設計說明書、詳
15、細設計說明書和測結構等,編寫概要設計說明書、詳細設計說明書和測試計劃初稿,提交評審。試計劃初稿,提交評審。4、軟件實現階段、軟件實現階段 將所設計的各個模塊編寫成計算機可以接受的程序代將所設計的各個模塊編寫成計算機可以接受的程序代碼以及實現相關的文檔。也就是完成源程序的編碼,碼以及實現相關的文檔。也就是完成源程序的編碼,編寫用戶手冊、操作手冊等面向用戶的文檔,編寫單編寫用戶手冊、操作手冊等面向用戶的文檔,編寫單元測試計劃。元測試計劃。任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用5、軟件測試階段、軟
16、件測試階段 在設計測試用例的基礎上,測試軟件的各個組成部分。在設計測試用例的基礎上,測試軟件的各個組成部分。然后,將各個模塊集成起來,測試整個產品的功能和然后,將各個模塊集成起來,測試整個產品的功能和性能是否滿足已有的規(guī)格說明。性能是否滿足已有的規(guī)格說明。6、軟件運行維護階段、軟件運行維護階段 在運行使用過程中多軟件產品進行不斷地維護工作。在運行使用過程中多軟件產品進行不斷地維護工作。維護的是軟件過程的一個組成部分,應該在軟件的設維護的是軟件過程的一個組成部分,應該在軟件的設計和實現階段充分考慮到其可維護性,維護階段需要計和實現階段充分考慮到其可維護性,維護階段需要測試是否正確地實現了所要求的
17、修改,并確保在產品測試是否正確地實現了所要求的修改,并確保在產品維護過程中沒有其他無關的改動維護過程中沒有其他無關的改動。任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用 軟件生命周期理論的應用軟件生命周期理論的應用1 1、計劃、計劃 計劃包括問題定義和可行性研究兩個方面。計劃包括問題定義和可行性研究兩個方面。 問題定義:主要確定開發(fā)項目要解決的問題是什么。問題定義:主要確定開發(fā)項目要解決的問題是什么。 可行性研究:要確定的問題是,對于問題定義階段確可行性研究:要確定的問題是,對于問題定義階段確定的項
18、目是否有行之有效的解決方法。定的項目是否有行之有效的解決方法。任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用一般從以下一般從以下3個方面進行分析研究:個方面進行分析研究:l技術可行性:使用現有的技術是否能夠完成這一項目。技術可行性:使用現有的技術是否能夠完成這一項目。l經濟可行性:項目完成后產生的經濟效益是否能經濟可行性:項目完成后產生的經濟效益是否能 超出超出開發(fā)成本,并能獲得預期的收益。開發(fā)成本,并能獲得預期的收益。l操作可行性:項目實現后的運作方式在用戶組織內部是操作可行性:項目實現后的運作方
19、式在用戶組織內部是否可以實施。否可以實施。任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用2、需求分析、需求分析 需求分析的目標:是深入描述軟件的功能和性能,確定需求分析的目標:是深入描述軟件的功能和性能,確定軟件設計的約束和軟件同其他系統(tǒng)元素的接口細節(jié),定軟件設計的約束和軟件同其他系統(tǒng)元素的接口細節(jié),定義軟件的其他有效性需求。義軟件的其他有效性需求。 (1)需求分析定義)需求分析定義 1997年年IEEE軟件工程標準詞匯表對需求定義如下:軟件工程標準詞匯表對需求定義如下:l用戶解決問題或達到目標所需
20、要的條件或權能;用戶解決問題或達到目標所需要的條件或權能; l系統(tǒng)或系統(tǒng)部件要滿足合同、標準、規(guī)范或其它正系統(tǒng)或系統(tǒng)部件要滿足合同、標準、規(guī)范或其它正式規(guī)定文檔所需具有的條件或能力。式規(guī)定文檔所需具有的條件或能力。l一種反映前兩點所描述的條件或能力的文檔說明。一種反映前兩點所描述的條件或能力的文檔說明。任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用(2)需求分析過程)需求分析過程 需求分析階段的工作,可以分成需求分析階段的工作,可以分成4個方面:個方面:l需求的獲取需求的獲取 需求獲取的目的是確定對
21、目標系統(tǒng)的各個方面的需求。需求獲取的目的是確定對目標系統(tǒng)的各個方面的需求。l需求分析需求分析 需求分析主要是對收集到的需求進行提煉、分析和仔細需求分析主要是對收集到的需求進行提煉、分析和仔細審查,以確保所有的風險承擔者都明白其含義并找出其審查,以確保所有的風險承擔者都明白其含義并找出其中的錯誤、遺漏或其它不足的地方,形成完整的分析模中的錯誤、遺漏或其它不足的地方,形成完整的分析模型。型。 任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用l編寫軟件需求規(guī)格說明書編寫軟件需求規(guī)格說明書 軟件需求規(guī)格說明書
22、是需求開發(fā)的最終結果,它精軟件需求規(guī)格說明書是需求開發(fā)的最終結果,它精確地闡述一個軟件系統(tǒng)必須提供的功能和性能以及它所確地闡述一個軟件系統(tǒng)必須提供的功能和性能以及它所要考慮的限制條件。要考慮的限制條件。 l需求評審需求評審 在需求分析的最后,應該對功能的正確性、一致在需求分析的最后,應該對功能的正確性、一致性、完備性、準確性和清晰性,以及其他需求給予評審性、完備性、準確性和清晰性,以及其他需求給予評審。 任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用(3)需求分析方法)需求分析方法 常見的需求分析方
23、法有:常見的需求分析方法有:l面向數據流的結構化分析方法面向數據流的結構化分析方法(SA,Structure Analysis)l面向數據結構的面向數據結構的Jackson方法方法 (JSD,Jackson system development method)l面向數據結構的結構化數據系統(tǒng)開發(fā)方法面向數據結構的結構化數據系統(tǒng)開發(fā)方法 (DSSD,Data structure development method)l面向對象的分析方法面向對象的分析方法 (OOA,ObjectOriented method) 任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第
24、十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用3、設計、設計 設計工作通常分兩個階段:概要設計、詳細設計設計工作通常分兩個階段:概要設計、詳細設計 (1)概要設計的任務:設計軟件的系統(tǒng)體系結構以及數)概要設計的任務:設計軟件的系統(tǒng)體系結構以及數據庫的相關設計并編寫概要設計文檔,進行概要設計文據庫的相關設計并編寫概要設計文檔,進行概要設計文檔評審。檔評審。任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用l設計軟件體系結構:概要設計階段將需求分析的結設計軟件體系結構:概要設計階段將需求分析的結果進
25、一步分解,劃分為模塊和模塊的層次結構。概果進一步分解,劃分為模塊和模塊的層次結構。概要設計首先采用某設計方法,將一個復雜的系統(tǒng)按要設計首先采用某設計方法,將一個復雜的系統(tǒng)按照功能劃分成若干個模塊,確定個模塊的功能以及照功能劃分成若干個模塊,確定個模塊的功能以及調用關系,而后確定模塊間的接口,最后模塊的質調用關系,而后確定模塊間的接口,最后模塊的質量進行評價。量進行評價。任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用l數據設計:確定軟件涉及的文件系統(tǒng)的結構以及數數據設計:確定軟件涉及的文件系統(tǒng)的結構以
26、及數據庫的模式、子模式,進行數據完整性和安全性的據庫的模式、子模式,進行數據完整性和安全性的設計確定輸入,輸出文件的詳細的數據結構結合算設計確定輸入,輸出文件的詳細的數據結構結合算法設計,確定算法所必需的邏輯數據結構及其操作,法設計,確定算法所必需的邏輯數據結構及其操作,確定對邏輯數據結構所必需的那些操作的程序模塊確定對邏輯數據結構所必需的那些操作的程序模塊(軟件包軟件包);數據的保護性設計:防衛(wèi)性設計、一致;數據的保護性設計:防衛(wèi)性設計、一致性設計、冗余性設計、可靠性設計。性設計、冗余性設計、可靠性設計。任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第
27、十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用l編寫概要設計文檔:在概要設計階段,要編寫概要編寫概要設計文檔:在概要設計階段,要編寫概要設計說明書、數據庫設計說明書、用戶手冊以及制設計說明書、數據庫設計說明書、用戶手冊以及制定初步的測試計劃。定初步的測試計劃。l概要設計文檔評審:在概要設計階段,對設計部分概要設計文檔評審:在概要設計階段,對設計部分是否完成地實現了需求中規(guī)定的功能、性能等要求。是否完成地實現了需求中規(guī)定的功能、性能等要求。對設計方案的實用性、技術清晰度、可維護性、質對設計方案的實用性、技術清晰度、可維護性、質量等問題進行評審。量等問題進行評審。 任務任務3:熟悉軟件生命
28、周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用 具體進行模塊設計時,一般遵循以下原則:具體進行模塊設計時,一般遵循以下原則:l提高模塊的獨立性提高模塊的獨立性l模塊的規(guī)模要適中模塊的規(guī)模要適中l(wèi)模塊之間的控制以及調用關系要適度模塊之間的控制以及調用關系要適度l模塊的作用域應該在該模塊的控制域內模塊的作用域應該在該模塊的控制域內l減少模塊接口和界面的復雜度減少模塊接口和界面的復雜度l設計成單路口、單出口的模塊設計成單路口、單出口的模塊l設計功能可以預測的模塊設計功能可以預測的模塊任務任務3:熟悉軟件生命周期的思想與各階段的任
29、務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用(2)詳細設計)詳細設計 詳細設計也叫做過程設計或程序設計,它不同于編碼或詳細設計也叫做過程設計或程序設計,它不同于編碼或編程詳細設計,是為軟件結構圖中的各個模塊確定實現編程詳細設計,是為軟件結構圖中的各個模塊確定實現算法以及數據結構,并用相應的描述工具加以細節(jié)性表算法以及數據結構,并用相應的描述工具加以細節(jié)性表達。達。 任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用4、編碼、編碼 編碼的主要任務:寫出正
30、確的容易理解的、容易維護的編碼的主要任務:寫出正確的容易理解的、容易維護的程序模塊。程序模塊。5、測試、測試 測試階段的主要任務:通過各種類型的測試,保證項目測試階段的主要任務:通過各種類型的測試,保證項目軟件達到預定的要求。軟件達到預定的要求。任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用(1)測試的目的)測試的目的 廣義上講,測試是指軟件產品生存周期內所有的檢查、廣義上講,測試是指軟件產品生存周期內所有的檢查、評審和確認活動,如設計評審、系統(tǒng)測試。評審和確認活動,如設計評審、系統(tǒng)測試。 狹義上講
31、,測試是對軟件產品質量的檢驗和評價,它一狹義上講,測試是對軟件產品質量的檢驗和評價,它一方面檢查軟件產品質量中存在的質量問題,同時對產品方面檢查軟件產品質量中存在的質量問題,同時對產品質量進行客觀的評價。質量進行客觀的評價。任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用(2)測試的原則)測試的原則 軟件測試過程中,軟件測試人員要遵循一些基本原則:軟件測試過程中,軟件測試人員要遵循一些基本原則:l所有的測試都應該追溯到需求。所有的測試都應該追溯到需求。l在設計測試用例時,應當包括合理的輸入條件和不在設
32、計測試用例時,應當包括合理的輸入條件和不合理的輸入條件。合理的輸入條件。l嚴格執(zhí)行測試計劃,排除測試的隨意性。嚴格執(zhí)行測試計劃,排除測試的隨意性。l充分注意測試中的群集現象。充分注意測試中的群集現象。l程序員應避免檢查自己的程序。程序員應避免檢查自己的程序。l完全測試程序是不可能的。完全測試程序是不可能的。任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用(3)測試的方法)測試的方法 從是否需要執(zhí)行被測軟件的角度來看:可分為靜態(tài)測試從是否需要執(zhí)行被測軟件的角度來看:可分為靜態(tài)測試和動態(tài)測試;和動態(tài)測試;
33、 從測試是否針對系統(tǒng)的內部結構和具體實現算法的角度從測試是否針對系統(tǒng)的內部結構和具體實現算法的角度來看:可以分為白盒測試和黑盒測試。來看:可以分為白盒測試和黑盒測試。任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用l靜態(tài)測試靜態(tài)測試 靜態(tài)測試指被測試程序不在機器上運行,而是采靜態(tài)測試指被測試程序不在機器上運行,而是采用人工檢測和計算機輔助靜態(tài)分析的手段對程序進行檢用人工檢測和計算機輔助靜態(tài)分析的手段對程序進行檢測。靜態(tài)測試包括代碼檢查、靜態(tài)結構分析、代碼質量測。靜態(tài)測試包括代碼檢查、靜態(tài)結構分析、代碼
34、質量度量等。度量等。l 動態(tài)測試動態(tài)測試 動態(tài)測試是指基于計算機的測試,通過運行程序動態(tài)測試是指基于計算機的測試,通過運行程序發(fā)現錯誤。發(fā)現錯誤。 任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用l白盒測試白盒測試 白盒測試也稱結構測試或邏輯驅動測試。它是根據白盒測試也稱結構測試或邏輯驅動測試。它是根據軟件產品的內部工作過程,在計算機上進行測試,以證軟件產品的內部工作過程,在計算機上進行測試,以證實每種內部操作是否符合設計規(guī)格要求,所有內部成分實每種內部操作是否符合設計規(guī)格要求,所有內部成分是否已經過
35、檢查。是否已經過檢查。 白盒測試主要方法有邏輯覆蓋、基本路徑測試等。白盒測試主要方法有邏輯覆蓋、基本路徑測試等。 任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用l黑盒測試黑盒測試 黑盒測試著眼于程序外部結構、不考慮內部邏輯結黑盒測試著眼于程序外部結構、不考慮內部邏輯結構、針對軟件界面和軟件功能進行測試。它是根據軟件構、針對軟件界面和軟件功能進行測試。它是根據軟件產品的功能設計規(guī)格,在計算機上進行測試,以證實每產品的功能設計規(guī)格,在計算機上進行測試,以證實每個實現了的功能是否符合要求。個實現了的功能是
36、否符合要求。(4)測試過程)測試過程 測試過程一般分為測試過程一般分為4個步驟進行:個步驟進行: 單元測試、集成測試、確認測試和系統(tǒng)測試。單元測試、集成測試、確認測試和系統(tǒng)測試。 任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用l單元測試單元測試 單元測試是對源程序中每一個程序單元進行測試,檢查單元測試是對源程序中每一個程序單元進行測試,檢查各個模塊是否正確實現了規(guī)定的功能,從而發(fā)現模塊在各個模塊是否正確實現了規(guī)定的功能,從而發(fā)現模塊在編碼中或算法中的錯誤。編碼中或算法中的錯誤。l集成測試集成測試 集
37、成測試是組裝軟件的系統(tǒng)測試技術,按設計要求把通集成測試是組裝軟件的系統(tǒng)測試技術,按設計要求把通過單元測試的各個模塊組裝在一起之后,進行綜合測試過單元測試的各個模塊組裝在一起之后,進行綜合測試以便發(fā)現與接口有關的各種錯誤。以便發(fā)現與接口有關的各種錯誤。任務任務3:熟悉軟件生命周期的思想與各階段的任務:熟悉軟件生命周期的思想與各階段的任務第十一章 軟件工程面向職業(yè) 體現系統(tǒng) 重視實踐 強化應用l確認測試確認測試 確認測試是驗證軟件的功能和性能及其他特性是否滿足確認測試是驗證軟件的功能和性能及其他特性是否滿足了需求規(guī)格說明中確定的各種需求,以及軟件配置是否了需求規(guī)格說明中確定的各種需求,以及軟件配置是否完全、正確。完全
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國航空機載設備市場調查研究報告
- 2025年中國鋼制焊接氨直通截止閥市場調查研究報告
- 2025年中國竹條涼席市場調查研究報告
- 2025年中國滾筒/平板啤模加工材料市場調查研究報告
- 2025年中國摩托車小圓不銹鋼儲物箱市場調查研究報告
- 城中大型水管支架施工方案
- 重慶南川區(qū)自建房施工方案
- 2025年衛(wèi)星支架、分配器項目發(fā)展計劃
- 第6單元 20美麗的小興安嶺(教學設計)2024-2025學年三年級語文上冊同步教學(統(tǒng)編版)
- 2024-2025學年新教材高中歷史課時分層作業(yè)18冷戰(zhàn)與國際格局的演變新人教版必修中外歷史綱要下
- 瑜伽課程合同轉讓協(xié)議書范本
- 個人經營性貸款合同模板
- 2025年山東化工職業(yè)學院高職單招職業(yè)適應性測試近5年??及鎱⒖碱}庫含答案解析
- 課題申報參考:生活服務數字化轉型下社區(qū)生活圈建設理念、模式與路徑研究
- 舞臺機械基礎知識培訓
- 人教版數學八年級下冊 第16章 二次根式 單元測試(含答案)
- 甘肅省民航機場集團招聘筆試沖刺題2025
- 中學班主任培訓內容
- 心理學基礎知識考試參考題庫500題(含答案)
- 北師大版小學三年級數學下冊全冊教案
- DCMM練習題練習試題
評論
0/150
提交評論