計算機(jī)導(dǎo)論第11章 軟件工程_第1頁
計算機(jī)導(dǎo)論第11章 軟件工程_第2頁
計算機(jī)導(dǎo)論第11章 軟件工程_第3頁
計算機(jī)導(dǎo)論第11章 軟件工程_第4頁
計算機(jī)導(dǎo)論第11章 軟件工程_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用 計算機(jī)導(dǎo)論計算機(jī)導(dǎo)論揚(yáng)州職業(yè)大學(xué)揚(yáng)州職業(yè)大學(xué)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用 第十一章第十一章 軟件工程軟件工程第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo) 了解軟件的定義和特點(diǎn)了解軟件的定義和特點(diǎn) 理解軟件工程的概念與思想理解軟件工程的概念與思想 熟悉軟件生命周期的理論與各階段的任務(wù)熟悉軟件生命周期的理論與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用任務(wù)任務(wù)1 1:了解軟件的定義與特點(diǎn):了解軟件的定義與特點(diǎn) 軟件的定義軟件的定義 軟件:軟件:是計算機(jī)系統(tǒng)中與硬

2、件相互依存的另一部分,它是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合 。l程序是按事先設(shè)計的功能和性能要求執(zhí)行的指令序程序是按事先設(shè)計的功能和性能要求執(zhí)行的指令序列,程序是軟件的主體。列,程序是軟件的主體。l數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)。l文檔是與程序開發(fā),維護(hù)和使用有關(guān)的圖文材料。文檔是與程序開發(fā),維護(hù)和使用有關(guān)的圖文材料。第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用 軟件的特點(diǎn)軟件的特點(diǎn)l抽象性抽象性l可復(fù)制性可復(fù)制性l無磨損性無磨損性l依賴性依賴性l復(fù)雜性復(fù)

3、雜性任務(wù)任務(wù)1:了解軟件的定義與特點(diǎn):了解軟件的定義與特點(diǎn)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用 軟件危機(jī)軟件危機(jī) 軟件危機(jī)主要表現(xiàn)在以下幾個方面:軟件危機(jī)主要表現(xiàn)在以下幾個方面:l軟件的需求不斷地增長,用戶對系統(tǒng)不夠滿意。軟件的需求不斷地增長,用戶對系統(tǒng)不夠滿意。l軟件開發(fā)的進(jìn)度和成本難以控制,經(jīng)常會出現(xiàn)經(jīng)費(fèi)軟件開發(fā)的進(jìn)度和成本難以控制,經(jīng)常會出現(xiàn)經(jīng)費(fèi)超預(yù)算、完成期限一再拖延的現(xiàn)象。超預(yù)算、完成期限一再拖延的現(xiàn)象。l軟件需求在開發(fā)初期不明確,導(dǎo)致矛盾在后期集中軟件需求在開發(fā)初期不明確,導(dǎo)致矛盾在后期集中爆發(fā)。爆發(fā)。l由于缺乏完整規(guī)范的資料,加之軟件測試不充分,由于缺乏完整規(guī)

4、范的資料,加之軟件測試不充分,從而造成軟件質(zhì)量低下,運(yùn)行中出現(xiàn)大量問題。從而造成軟件質(zhì)量低下,運(yùn)行中出現(xiàn)大量問題。任務(wù)任務(wù)1:了解軟件的定義與特點(diǎn):了解軟件的定義與特點(diǎn)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用任務(wù)任務(wù)2 2:理解軟件工程的概念與思想:理解軟件工程的概念與思想 軟件工程的定義軟件工程的定義 軟件工程是一門研究用工程化方法構(gòu)建和維護(hù)軟件工程是一門研究用工程化方法構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科。有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科。 它涉及到程序設(shè)計語言,數(shù)據(jù)庫,軟件開發(fā)工它涉及到程序設(shè)計語言,數(shù)據(jù)庫,軟件開發(fā)工具,系統(tǒng)平臺,標(biāo)準(zhǔn),設(shè)計模式等方面。具,系統(tǒng)

5、平臺,標(biāo)準(zhǔn),設(shè)計模式等方面。 軟件工程是應(yīng)用于計算機(jī)軟件的定義、開發(fā)和軟件工程是應(yīng)用于計算機(jī)軟件的定義、開發(fā)和維護(hù)的一整套方法、工具、文檔、實(shí)踐標(biāo)準(zhǔn)和維護(hù)的一整套方法、工具、文檔、實(shí)踐標(biāo)準(zhǔn)和工序。工序。第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用 對于軟件工程的理解可以包含以下幾個方面:對于軟件工程的理解可以包含以下幾個方面: 軟件工程是一門指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的工軟件工程是一門指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。程學(xué)科。 軟件工程不是傳統(tǒng)意義上的工程,沒有陳述的系軟件工程不是傳統(tǒng)意義上的工程,沒有陳述的系統(tǒng)化方法。統(tǒng)化方法。任務(wù)任務(wù)2:理解軟件工程的概念與思想:理解軟件工程的

6、概念與思想第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用 軟件工程的內(nèi)容軟件工程的內(nèi)容 軟件工程的主要內(nèi)容:是軟件開發(fā)技術(shù)和軟件工程管軟件工程的主要內(nèi)容:是軟件開發(fā)技術(shù)和軟件工程管理。理。 軟件開發(fā)技術(shù):包含軟件開發(fā)方法、軟件工具、軟件軟件開發(fā)技術(shù):包含軟件開發(fā)方法、軟件工具、軟件工程環(huán)境。工程環(huán)境。 軟件工程管理:包含軟件工程經(jīng)濟(jì)、軟件管理。軟件工程管理:包含軟件工程經(jīng)濟(jì)、軟件管理。任務(wù)任務(wù)2:理解軟件工程的概念與思想:理解軟件工程的概念與思想第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用 軟件工程包括軟件工程包括3個基本要素:方法、工具和過程。個基本要素:方法、工具和過

7、程。l方法:完成軟件工程項目的技術(shù)手段、為軟件開方法:完成軟件工程項目的技術(shù)手段、為軟件開發(fā)提供發(fā)提供“如何做如何做”的技術(shù),它涵蓋了項目計劃、的技術(shù),它涵蓋了項目計劃、需求分析、系統(tǒng)設(shè)計、程序?qū)崿F(xiàn)、測試與維護(hù)等需求分析、系統(tǒng)設(shè)計、程序?qū)崿F(xiàn)、測試與維護(hù)等一系列任務(wù)。一系列任務(wù)。l工具:支持軟件的開發(fā)、管理和文檔的生成。工具:支持軟件的開發(fā)、管理和文檔的生成。l過程:支持軟件開發(fā)的各個環(huán)節(jié)的控制和管理。過程:支持軟件開發(fā)的各個環(huán)節(jié)的控制和管理。任務(wù)任務(wù)2:理解軟件工程的概念與思想:理解軟件工程的概念與思想第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用 軟件工程的主要目標(biāo):軟件工程的主要

8、目標(biāo):l合理預(yù)算成本,降低開發(fā)費(fèi)用合理預(yù)算成本,降低開發(fā)費(fèi)用 ,提高開發(fā)效率;,提高開發(fā)效率;l控制開發(fā)進(jìn)度,實(shí)現(xiàn)預(yù)期功能,滿足用戶需求;控制開發(fā)進(jìn)度,實(shí)現(xiàn)預(yù)期功能,滿足用戶需求;l提高軟件質(zhì)量,使軟件具有可靠性、可理解性、提高軟件質(zhì)量,使軟件具有可靠性、可理解性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可可重用性、可適應(yīng)性、可移植性、可追蹤性和可維護(hù)性。維護(hù)性。 任務(wù)任務(wù)2:理解軟件工程的概念與思想:理解軟件工程的概念與思想第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用 軟件工程的思想軟件工程的思想 軟件工程的核心思想:把軟件產(chǎn)品看成一個工程產(chǎn)品軟件工程的核心思想:把軟件產(chǎn)品看成一

9、個工程產(chǎn)品來處理。來處理。 軟件開發(fā)階段包含以下基本思想和方法:軟件開發(fā)階段包含以下基本思想和方法:l抽象化:從編程對象中抽取最基本的屬性和行為,抽象化:從編程對象中抽取最基本的屬性和行為,忽略非基本的細(xì)節(jié)。忽略非基本的細(xì)節(jié)。l模塊化:通過對象、類等模塊化手段,實(shí)現(xiàn)系統(tǒng)模塊化:通過對象、類等模塊化手段,實(shí)現(xiàn)系統(tǒng)的模塊化和層次化,控制軟件系統(tǒng)的復(fù)雜性。的模塊化和層次化,控制軟件系統(tǒng)的復(fù)雜性。任務(wù)任務(wù)2:理解軟件工程的概念與思想:理解軟件工程的概念與思想第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用l局部化:在模塊內(nèi)部保持較強(qiáng)的內(nèi)聚,模塊之間保持松散耦局部化:在模塊內(nèi)部保持較強(qiáng)的內(nèi)聚,模

10、塊之間保持松散耦合,控制軟件模塊的復(fù)雜性。合,控制軟件模塊的復(fù)雜性。l隱蔽化:將模塊設(shè)計成隱蔽化:將模塊設(shè)計成“黑箱黑箱”,實(shí)現(xiàn)細(xì)節(jié)隱藏在模塊內(nèi)部,實(shí)現(xiàn)細(xì)節(jié)隱藏在模塊內(nèi)部,模塊使用者只能通過接口進(jìn)行訪問,達(dá)到使用與實(shí)現(xiàn)的分離,模塊使用者只能通過接口進(jìn)行訪問,達(dá)到使用與實(shí)現(xiàn)的分離,保證軟件系統(tǒng)的可組裝性。保證軟件系統(tǒng)的可組裝性。l確定性:軟件開發(fā)過程中的所有概念表達(dá)應(yīng)是確定的、無歧確定性:軟件開發(fā)過程中的所有概念表達(dá)應(yīng)是確定的、無歧義的、規(guī)范的。義的、規(guī)范的。l一致性:軟件系統(tǒng)的各個模塊應(yīng)使用一致的概念、符號和術(shù)一致性:軟件系統(tǒng)的各個模塊應(yīng)使用一致的概念、符號和術(shù)語。語。任務(wù)任務(wù)2:理解軟件工程

11、的概念與思想:理解軟件工程的概念與思想第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用l完備性:軟件系統(tǒng)所需要的各個部件應(yīng)是齊全完備性:軟件系統(tǒng)所需要的各個部件應(yīng)是齊全的、完備的、正確的。的、完備的、正確的。l可驗性:軟件系統(tǒng)開發(fā)過程中的各個環(huán)節(jié)應(yīng)是可驗性:軟件系統(tǒng)開發(fā)過程中的各個環(huán)節(jié)應(yīng)是可檢查的、可測試的、可評審的??蓹z查的、可測試的、可評審的。任務(wù)任務(wù)2:理解軟件工程的概念與思想:理解軟件工程的概念與思想第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用任務(wù)任務(wù)3 3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù) 軟件生命周期的概念軟件生命周期的

12、概念 軟件生命周期,就是從時間角度對軟件開發(fā)和維軟件生命周期,就是從時間角度對軟件開發(fā)和維護(hù)的復(fù)雜問題進(jìn)行分解,把軟件生存的周期一次劃分護(hù)的復(fù)雜問題進(jìn)行分解,把軟件生存的周期一次劃分為若干階段,每個階段有相對獨(dú)立的子任務(wù),然后逐為若干階段,每個階段有相對獨(dú)立的子任務(wù),然后逐步完成每個階段的任務(wù)。步完成每個階段的任務(wù)。第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用 軟件生命周期的劃分軟件生命周期的劃分 軟件的生命周期的階段劃分有兩種方式:軟件的生命周期的階段劃分有兩種方式:6個階段和個階段和3個階段個階段 。任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階

13、段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用1、計劃階段、計劃階段 可行性研究和計劃的制定。確定待開發(fā)系統(tǒng)的總體目可行性研究和計劃的制定。確定待開發(fā)系統(tǒng)的總體目標(biāo)和范圍,研究系統(tǒng)的可行性和可能的解決方案,對標(biāo)和范圍,研究系統(tǒng)的可行性和可能的解決方案,對資源成本以及進(jìn)度進(jìn)行合理的估算資源成本以及進(jìn)度進(jìn)行合理的估算 。2、需求分析階段、需求分析階段 分析整理和提煉所收集到的用戶的需求,建立完成的分析整理和提煉所收集到的用戶的需求,建立完成

14、的分析模型,編寫軟件需求規(guī)格說明和初步的用戶手冊,分析模型,編寫軟件需求規(guī)格說明和初步的用戶手冊,提交評審。提交評審。 任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用3、軟件設(shè)計階段、軟件設(shè)計階段 系統(tǒng)設(shè)計人員和程序設(shè)計人員應(yīng)該在反復(fù)理解軟件需系統(tǒng)設(shè)計人員和程序設(shè)計人員應(yīng)該在反復(fù)理解軟件需求的基礎(chǔ)上,按照需求規(guī)格說明書確定軟件的結(jié)構(gòu)、求的基礎(chǔ)上,按照需求規(guī)格說明書確定軟件的結(jié)構(gòu)、模塊的劃分、進(jìn)而確定每個模塊的算法,數(shù)據(jù)結(jié)構(gòu)和模塊的劃分、進(jìn)而確定每個模塊的算法,數(shù)據(jù)結(jié)構(gòu)和結(jié)構(gòu)等,編寫概要設(shè)計說明書、詳

15、細(xì)設(shè)計說明書和測結(jié)構(gòu)等,編寫概要設(shè)計說明書、詳細(xì)設(shè)計說明書和測試計劃初稿,提交評審。試計劃初稿,提交評審。4、軟件實(shí)現(xiàn)階段、軟件實(shí)現(xiàn)階段 將所設(shè)計的各個模塊編寫成計算機(jī)可以接受的程序代將所設(shè)計的各個模塊編寫成計算機(jī)可以接受的程序代碼以及實(shí)現(xiàn)相關(guān)的文檔。也就是完成源程序的編碼,碼以及實(shí)現(xiàn)相關(guān)的文檔。也就是完成源程序的編碼,編寫用戶手冊、操作手冊等面向用戶的文檔,編寫單編寫用戶手冊、操作手冊等面向用戶的文檔,編寫單元測試計劃。元測試計劃。任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用5、軟件測試階段、軟

16、件測試階段 在設(shè)計測試用例的基礎(chǔ)上,測試軟件的各個組成部分。在設(shè)計測試用例的基礎(chǔ)上,測試軟件的各個組成部分。然后,將各個模塊集成起來,測試整個產(chǎn)品的功能和然后,將各個模塊集成起來,測試整個產(chǎn)品的功能和性能是否滿足已有的規(guī)格說明。性能是否滿足已有的規(guī)格說明。6、軟件運(yùn)行維護(hù)階段、軟件運(yùn)行維護(hù)階段 在運(yùn)行使用過程中多軟件產(chǎn)品進(jìn)行不斷地維護(hù)工作。在運(yùn)行使用過程中多軟件產(chǎn)品進(jìn)行不斷地維護(hù)工作。維護(hù)的是軟件過程的一個組成部分,應(yīng)該在軟件的設(shè)維護(hù)的是軟件過程的一個組成部分,應(yīng)該在軟件的設(shè)計和實(shí)現(xiàn)階段充分考慮到其可維護(hù)性,維護(hù)階段需要計和實(shí)現(xiàn)階段充分考慮到其可維護(hù)性,維護(hù)階段需要測試是否正確地實(shí)現(xiàn)了所要求的

17、修改,并確保在產(chǎn)品測試是否正確地實(shí)現(xiàn)了所要求的修改,并確保在產(chǎn)品維護(hù)過程中沒有其他無關(guān)的改動維護(hù)過程中沒有其他無關(guān)的改動。任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用 軟件生命周期理論的應(yīng)用軟件生命周期理論的應(yīng)用1 1、計劃、計劃 計劃包括問題定義和可行性研究兩個方面。計劃包括問題定義和可行性研究兩個方面。 問題定義:主要確定開發(fā)項目要解決的問題是什么。問題定義:主要確定開發(fā)項目要解決的問題是什么。 可行性研究:要確定的問題是,對于問題定義階段確可行性研究:要確定的問題是,對于問題定義階段確定的項

18、目是否有行之有效的解決方法。定的項目是否有行之有效的解決方法。任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用一般從以下一般從以下3個方面進(jìn)行分析研究:個方面進(jìn)行分析研究:l技術(shù)可行性:使用現(xiàn)有的技術(shù)是否能夠完成這一項目。技術(shù)可行性:使用現(xiàn)有的技術(shù)是否能夠完成這一項目。l經(jīng)濟(jì)可行性:項目完成后產(chǎn)生的經(jīng)濟(jì)效益是否能經(jīng)濟(jì)可行性:項目完成后產(chǎn)生的經(jīng)濟(jì)效益是否能 超出超出開發(fā)成本,并能獲得預(yù)期的收益。開發(fā)成本,并能獲得預(yù)期的收益。l操作可行性:項目實(shí)現(xiàn)后的運(yùn)作方式在用戶組織內(nèi)部是操作可行性:項目實(shí)現(xiàn)后的運(yùn)作方

19、式在用戶組織內(nèi)部是否可以實(shí)施。否可以實(shí)施。任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用2、需求分析、需求分析 需求分析的目標(biāo):是深入描述軟件的功能和性能,確定需求分析的目標(biāo):是深入描述軟件的功能和性能,確定軟件設(shè)計的約束和軟件同其他系統(tǒng)元素的接口細(xì)節(jié),定軟件設(shè)計的約束和軟件同其他系統(tǒng)元素的接口細(xì)節(jié),定義軟件的其他有效性需求。義軟件的其他有效性需求。 (1)需求分析定義)需求分析定義 1997年年IEEE軟件工程標(biāo)準(zhǔn)詞匯表對需求定義如下:軟件工程標(biāo)準(zhǔn)詞匯表對需求定義如下:l用戶解決問題或達(dá)到目標(biāo)所需

20、要的條件或權(quán)能;用戶解決問題或達(dá)到目標(biāo)所需要的條件或權(quán)能; l系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn)、規(guī)范或其它正系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn)、規(guī)范或其它正式規(guī)定文檔所需具有的條件或能力。式規(guī)定文檔所需具有的條件或能力。l一種反映前兩點(diǎn)所描述的條件或能力的文檔說明。一種反映前兩點(diǎn)所描述的條件或能力的文檔說明。任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用(2)需求分析過程)需求分析過程 需求分析階段的工作,可以分成需求分析階段的工作,可以分成4個方面:個方面:l需求的獲取需求的獲取 需求獲取的目的是確定對

21、目標(biāo)系統(tǒng)的各個方面的需求。需求獲取的目的是確定對目標(biāo)系統(tǒng)的各個方面的需求。l需求分析需求分析 需求分析主要是對收集到的需求進(jìn)行提煉、分析和仔細(xì)需求分析主要是對收集到的需求進(jìn)行提煉、分析和仔細(xì)審查,以確保所有的風(fēng)險承擔(dān)者都明白其含義并找出其審查,以確保所有的風(fēng)險承擔(dān)者都明白其含義并找出其中的錯誤、遺漏或其它不足的地方,形成完整的分析模中的錯誤、遺漏或其它不足的地方,形成完整的分析模型。型。 任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用l編寫軟件需求規(guī)格說明書編寫軟件需求規(guī)格說明書 軟件需求規(guī)格說明書

22、是需求開發(fā)的最終結(jié)果,它精軟件需求規(guī)格說明書是需求開發(fā)的最終結(jié)果,它精確地闡述一個軟件系統(tǒng)必須提供的功能和性能以及它所確地闡述一個軟件系統(tǒng)必須提供的功能和性能以及它所要考慮的限制條件。要考慮的限制條件。 l需求評審需求評審 在需求分析的最后,應(yīng)該對功能的正確性、一致在需求分析的最后,應(yīng)該對功能的正確性、一致性、完備性、準(zhǔn)確性和清晰性,以及其他需求給予評審性、完備性、準(zhǔn)確性和清晰性,以及其他需求給予評審。 任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用(3)需求分析方法)需求分析方法 常見的需求分析方

23、法有:常見的需求分析方法有:l面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA,Structure Analysis)l面向數(shù)據(jù)結(jié)構(gòu)的面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法方法 (JSD,Jackson system development method)l面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法 (DSSD,Data structure development method)l面向?qū)ο蟮姆治龇椒嫦驅(qū)ο蟮姆治龇椒?(OOA,ObjectOriented method) 任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第

24、十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用3、設(shè)計、設(shè)計 設(shè)計工作通常分兩個階段:概要設(shè)計、詳細(xì)設(shè)計設(shè)計工作通常分兩個階段:概要設(shè)計、詳細(xì)設(shè)計 (1)概要設(shè)計的任務(wù):設(shè)計軟件的系統(tǒng)體系結(jié)構(gòu)以及數(shù))概要設(shè)計的任務(wù):設(shè)計軟件的系統(tǒng)體系結(jié)構(gòu)以及數(shù)據(jù)庫的相關(guān)設(shè)計并編寫概要設(shè)計文檔,進(jìn)行概要設(shè)計文據(jù)庫的相關(guān)設(shè)計并編寫概要設(shè)計文檔,進(jìn)行概要設(shè)計文檔評審。檔評審。任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用l設(shè)計軟件體系結(jié)構(gòu):概要設(shè)計階段將需求分析的結(jié)設(shè)計軟件體系結(jié)構(gòu):概要設(shè)計階段將需求分析的結(jié)果進(jìn)

25、一步分解,劃分為模塊和模塊的層次結(jié)構(gòu)。概果進(jìn)一步分解,劃分為模塊和模塊的層次結(jié)構(gòu)。概要設(shè)計首先采用某設(shè)計方法,將一個復(fù)雜的系統(tǒng)按要設(shè)計首先采用某設(shè)計方法,將一個復(fù)雜的系統(tǒng)按照功能劃分成若干個模塊,確定個模塊的功能以及照功能劃分成若干個模塊,確定個模塊的功能以及調(diào)用關(guān)系,而后確定模塊間的接口,最后模塊的質(zhì)調(diào)用關(guān)系,而后確定模塊間的接口,最后模塊的質(zhì)量進(jìn)行評價。量進(jìn)行評價。任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用l數(shù)據(jù)設(shè)計:確定軟件涉及的文件系統(tǒng)的結(jié)構(gòu)以及數(shù)數(shù)據(jù)設(shè)計:確定軟件涉及的文件系統(tǒng)的結(jié)構(gòu)以

26、及數(shù)據(jù)庫的模式、子模式,進(jìn)行數(shù)據(jù)完整性和安全性的據(jù)庫的模式、子模式,進(jìn)行數(shù)據(jù)完整性和安全性的設(shè)計確定輸入,輸出文件的詳細(xì)的數(shù)據(jù)結(jié)構(gòu)結(jié)合算設(shè)計確定輸入,輸出文件的詳細(xì)的數(shù)據(jù)結(jié)構(gòu)結(jié)合算法設(shè)計,確定算法所必需的邏輯數(shù)據(jù)結(jié)構(gòu)及其操作,法設(shè)計,確定算法所必需的邏輯數(shù)據(jù)結(jié)構(gòu)及其操作,確定對邏輯數(shù)據(jù)結(jié)構(gòu)所必需的那些操作的程序模塊確定對邏輯數(shù)據(jù)結(jié)構(gòu)所必需的那些操作的程序模塊(軟件包軟件包);數(shù)據(jù)的保護(hù)性設(shè)計:防衛(wèi)性設(shè)計、一致;數(shù)據(jù)的保護(hù)性設(shè)計:防衛(wèi)性設(shè)計、一致性設(shè)計、冗余性設(shè)計、可靠性設(shè)計。性設(shè)計、冗余性設(shè)計、可靠性設(shè)計。任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第

27、十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用l編寫概要設(shè)計文檔:在概要設(shè)計階段,要編寫概要編寫概要設(shè)計文檔:在概要設(shè)計階段,要編寫概要設(shè)計說明書、數(shù)據(jù)庫設(shè)計說明書、用戶手冊以及制設(shè)計說明書、數(shù)據(jù)庫設(shè)計說明書、用戶手冊以及制定初步的測試計劃。定初步的測試計劃。l概要設(shè)計文檔評審:在概要設(shè)計階段,對設(shè)計部分概要設(shè)計文檔評審:在概要設(shè)計階段,對設(shè)計部分是否完成地實(shí)現(xiàn)了需求中規(guī)定的功能、性能等要求。是否完成地實(shí)現(xiàn)了需求中規(guī)定的功能、性能等要求。對設(shè)計方案的實(shí)用性、技術(shù)清晰度、可維護(hù)性、質(zhì)對設(shè)計方案的實(shí)用性、技術(shù)清晰度、可維護(hù)性、質(zhì)量等問題進(jìn)行評審。量等問題進(jìn)行評審。 任務(wù)任務(wù)3:熟悉軟件生命

28、周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用 具體進(jìn)行模塊設(shè)計時,一般遵循以下原則:具體進(jìn)行模塊設(shè)計時,一般遵循以下原則:l提高模塊的獨(dú)立性提高模塊的獨(dú)立性l模塊的規(guī)模要適中模塊的規(guī)模要適中l(wèi)模塊之間的控制以及調(diào)用關(guān)系要適度模塊之間的控制以及調(diào)用關(guān)系要適度l模塊的作用域應(yīng)該在該模塊的控制域內(nèi)模塊的作用域應(yīng)該在該模塊的控制域內(nèi)l減少模塊接口和界面的復(fù)雜度減少模塊接口和界面的復(fù)雜度l設(shè)計成單路口、單出口的模塊設(shè)計成單路口、單出口的模塊l設(shè)計功能可以預(yù)測的模塊設(shè)計功能可以預(yù)測的模塊任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任

29、務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用(2)詳細(xì)設(shè)計)詳細(xì)設(shè)計 詳細(xì)設(shè)計也叫做過程設(shè)計或程序設(shè)計,它不同于編碼或詳細(xì)設(shè)計也叫做過程設(shè)計或程序設(shè)計,它不同于編碼或編程詳細(xì)設(shè)計,是為軟件結(jié)構(gòu)圖中的各個模塊確定實(shí)現(xiàn)編程詳細(xì)設(shè)計,是為軟件結(jié)構(gòu)圖中的各個模塊確定實(shí)現(xiàn)算法以及數(shù)據(jù)結(jié)構(gòu),并用相應(yīng)的描述工具加以細(xì)節(jié)性表算法以及數(shù)據(jù)結(jié)構(gòu),并用相應(yīng)的描述工具加以細(xì)節(jié)性表達(dá)。達(dá)。 任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用4、編碼、編碼 編碼的主要任務(wù):寫出正

30、確的容易理解的、容易維護(hù)的編碼的主要任務(wù):寫出正確的容易理解的、容易維護(hù)的程序模塊。程序模塊。5、測試、測試 測試階段的主要任務(wù):通過各種類型的測試,保證項目測試階段的主要任務(wù):通過各種類型的測試,保證項目軟件達(dá)到預(yù)定的要求。軟件達(dá)到預(yù)定的要求。任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用(1)測試的目的)測試的目的 廣義上講,測試是指軟件產(chǎn)品生存周期內(nèi)所有的檢查、廣義上講,測試是指軟件產(chǎn)品生存周期內(nèi)所有的檢查、評審和確認(rèn)活動,如設(shè)計評審、系統(tǒng)測試。評審和確認(rèn)活動,如設(shè)計評審、系統(tǒng)測試。 狹義上講

31、,測試是對軟件產(chǎn)品質(zhì)量的檢驗和評價,它一狹義上講,測試是對軟件產(chǎn)品質(zhì)量的檢驗和評價,它一方面檢查軟件產(chǎn)品質(zhì)量中存在的質(zhì)量問題,同時對產(chǎn)品方面檢查軟件產(chǎn)品質(zhì)量中存在的質(zhì)量問題,同時對產(chǎn)品質(zhì)量進(jìn)行客觀的評價。質(zhì)量進(jìn)行客觀的評價。任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用(2)測試的原則)測試的原則 軟件測試過程中,軟件測試人員要遵循一些基本原則:軟件測試過程中,軟件測試人員要遵循一些基本原則:l所有的測試都應(yīng)該追溯到需求。所有的測試都應(yīng)該追溯到需求。l在設(shè)計測試用例時,應(yīng)當(dāng)包括合理的輸入條件和不在設(shè)

32、計測試用例時,應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件。合理的輸入條件。l嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性。嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性。l充分注意測試中的群集現(xiàn)象。充分注意測試中的群集現(xiàn)象。l程序員應(yīng)避免檢查自己的程序。程序員應(yīng)避免檢查自己的程序。l完全測試程序是不可能的。完全測試程序是不可能的。任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用(3)測試的方法)測試的方法 從是否需要執(zhí)行被測軟件的角度來看:可分為靜態(tài)測試從是否需要執(zhí)行被測軟件的角度來看:可分為靜態(tài)測試和動態(tài)測試;和動態(tài)測試;

33、 從測試是否針對系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)算法的角度從測試是否針對系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)算法的角度來看:可以分為白盒測試和黑盒測試。來看:可以分為白盒測試和黑盒測試。任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用l靜態(tài)測試靜態(tài)測試 靜態(tài)測試指被測試程序不在機(jī)器上運(yùn)行,而是采靜態(tài)測試指被測試程序不在機(jī)器上運(yùn)行,而是采用人工檢測和計算機(jī)輔助靜態(tài)分析的手段對程序進(jìn)行檢用人工檢測和計算機(jī)輔助靜態(tài)分析的手段對程序進(jìn)行檢測。靜態(tài)測試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量測。靜態(tài)測試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼

34、質(zhì)量度量等。度量等。l 動態(tài)測試動態(tài)測試 動態(tài)測試是指基于計算機(jī)的測試,通過運(yùn)行程序動態(tài)測試是指基于計算機(jī)的測試,通過運(yùn)行程序發(fā)現(xiàn)錯誤。發(fā)現(xiàn)錯誤。 任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用l白盒測試白盒測試 白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試。它是根據(jù)白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試。它是根據(jù)軟件產(chǎn)品的內(nèi)部工作過程,在計算機(jī)上進(jìn)行測試,以證軟件產(chǎn)品的內(nèi)部工作過程,在計算機(jī)上進(jìn)行測試,以證實(shí)每種內(nèi)部操作是否符合設(shè)計規(guī)格要求,所有內(nèi)部成分實(shí)每種內(nèi)部操作是否符合設(shè)計規(guī)格要求,所有內(nèi)部成分是否已經(jīng)過

35、檢查。是否已經(jīng)過檢查。 白盒測試主要方法有邏輯覆蓋、基本路徑測試等。白盒測試主要方法有邏輯覆蓋、基本路徑測試等。 任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用l黑盒測試黑盒測試 黑盒測試著眼于程序外部結(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)黑盒測試著眼于程序外部結(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)構(gòu)、針對軟件界面和軟件功能進(jìn)行測試。它是根據(jù)軟件構(gòu)、針對軟件界面和軟件功能進(jìn)行測試。它是根據(jù)軟件產(chǎn)品的功能設(shè)計規(guī)格,在計算機(jī)上進(jìn)行測試,以證實(shí)每產(chǎn)品的功能設(shè)計規(guī)格,在計算機(jī)上進(jìn)行測試,以證實(shí)每個實(shí)現(xiàn)了的功能是否符合要求。個實(shí)現(xiàn)了的功能是

36、否符合要求。(4)測試過程)測試過程 測試過程一般分為測試過程一般分為4個步驟進(jìn)行:個步驟進(jìn)行: 單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試。單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試。 任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用l單元測試單元測試 單元測試是對源程序中每一個程序單元進(jìn)行測試,檢查單元測試是對源程序中每一個程序單元進(jìn)行測試,檢查各個模塊是否正確實(shí)現(xiàn)了規(guī)定的功能,從而發(fā)現(xiàn)模塊在各個模塊是否正確實(shí)現(xiàn)了規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯誤。編碼中或算法中的錯誤。l集成測試集成測試 集

37、成測試是組裝軟件的系統(tǒng)測試技術(shù),按設(shè)計要求把通集成測試是組裝軟件的系統(tǒng)測試技術(shù),按設(shè)計要求把通過單元測試的各個模塊組裝在一起之后,進(jìn)行綜合測試過單元測試的各個模塊組裝在一起之后,進(jìn)行綜合測試以便發(fā)現(xiàn)與接口有關(guān)的各種錯誤。以便發(fā)現(xiàn)與接口有關(guān)的各種錯誤。任務(wù)任務(wù)3:熟悉軟件生命周期的思想與各階段的任務(wù):熟悉軟件生命周期的思想與各階段的任務(wù)第十一章 軟件工程面向職業(yè) 體現(xiàn)系統(tǒng) 重視實(shí)踐 強(qiáng)化應(yīng)用l確認(rèn)測試確認(rèn)測試 確認(rèn)測試是驗證軟件的功能和性能及其他特性是否滿足確認(rèn)測試是驗證軟件的功能和性能及其他特性是否滿足了需求規(guī)格說明中確定的各種需求,以及軟件配置是否了需求規(guī)格說明中確定的各種需求,以及軟件配置是否完全、正確。完全

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論