




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、教材和參考書教材和參考書 教材教材軟件工程概論軟件工程概論(第(第2版),鄭人杰,馬素霞等著,版),鄭人杰,馬素霞等著,機(jī)械工業(yè)出版社,機(jī)械工業(yè)出版社,2014年年11月。月。 參考書參考書軟件工程:實踐者的研究方法(第軟件工程:實踐者的研究方法(第7版)版)Roger S.Pressman著,鄭人杰,馬素霞等譯,機(jī)械工著,鄭人杰,馬素霞等譯,機(jī)械工業(yè)出版社,業(yè)出版社,2011年年5月。月。第1章 軟件與軟件工程的概念 軟件的概念、特性和分類軟件的概念、特性和分類 軟件危機(jī)與軟件工程軟件危機(jī)與軟件工程 系統(tǒng)工程的目標(biāo)系統(tǒng)工程的目標(biāo) 軟件生存期軟件生存期 軟件工程方法概述軟件工程方法概述 軟件工
2、具概述軟件工具概述 軟件工程知識體系及知識域軟件工程知識體系及知識域1.1 軟件的概念、特性和分類軟件的作用軟件的作用具有具有產(chǎn)品產(chǎn)品和和產(chǎn)品生產(chǎn)載體產(chǎn)品生產(chǎn)載體的雙重作用。的雙重作用。(1) 作為產(chǎn)品,軟件顯示了由計算機(jī)硬件體現(xiàn)的計作為產(chǎn)品,軟件顯示了由計算機(jī)硬件體現(xiàn)的計算能力,扮演著信息轉(zhuǎn)換的角色:產(chǎn)生、管理、算能力,扮演著信息轉(zhuǎn)換的角色:產(chǎn)生、管理、查詢、修改、顯示或者傳遞各種不同的信息。查詢、修改、顯示或者傳遞各種不同的信息。(2) 作為產(chǎn)品生產(chǎn)的載體,軟件提供了計算機(jī)控制作為產(chǎn)品生產(chǎn)的載體,軟件提供了計算機(jī)控制(操作系統(tǒng))、信息通信(網(wǎng)絡(luò)),以及應(yīng)用(操作系統(tǒng))、信息通信(網(wǎng)絡(luò)),以
3、及應(yīng)用程序開發(fā)和控制的基礎(chǔ)平臺(軟件工具和環(huán)程序開發(fā)和控制的基礎(chǔ)平臺(軟件工具和環(huán)境)。境)。 1.1 軟件的概念、特性和分類 軟件的概念軟件的概念 雖然軟件對于現(xiàn)代的人并不陌生,但很多人對于雖然軟件對于現(xiàn)代的人并不陌生,但很多人對于軟件的理解并不準(zhǔn)確,軟件的理解并不準(zhǔn)確,“軟件就是程序,軟件開軟件就是程序,軟件開發(fā)就是編程序發(fā)就是編程序”的這種錯誤觀點仍然存在。的這種錯誤觀點仍然存在。什么是軟件?1.1 軟件的概念、特性和分類1.1 軟件的概念、特性和分類 軟件的特性軟件的特性1.1 軟件的概念、特性和分類1.1 軟件的概念、特性和分類 1.1 軟件的概念、特性和分類1.1 軟件的概念、特性
4、和分類1.1 軟件的概念、特性和分類 軟件的分類軟件的分類(1 1) 系統(tǒng)軟件系統(tǒng)軟件(2 2)支撐軟件(工具軟件)支撐軟件(工具軟件) 1.1 軟件的概念、特性和分類 軟件的分類軟件的分類 (3 3)應(yīng)用軟件)應(yīng)用軟件(4 4)可復(fù)用軟件)可復(fù)用軟件l軟件危機(jī)暴發(fā)于上個世紀(jì)六十年代末。l主要表現(xiàn)為:軟件的發(fā)展速度遠(yuǎn)遠(yuǎn)滯后于硬件的發(fā)展速度,不能滿足社會日益增長的軟件需求。軟件開發(fā)周期長、成本高、質(zhì)量差、維護(hù)困難。 1.2 軟件危機(jī)與軟件工程 軟件危機(jī)軟件危機(jī)l典型例子:美國IBM公司在1963年至1966年開發(fā)的IBM 360機(jī)的操作系統(tǒng)。 l這個項目的負(fù)責(zé)人F.D.Brooks事后總結(jié)了他在
5、組織開發(fā)過程中的沉痛教訓(xùn)時說:正像一只逃亡的野獸落到泥潭中做垂死的掙扎,越是掙扎,陷得越深。最后無法逃脫滅頂?shù)臑?zāi)難,程序設(shè)計工作正像這樣一個泥潭,一批批程序員被迫在泥潭中拼命掙扎,誰也沒有料到竟會陷入這樣的困境1.2 軟件危機(jī)與軟件工程具體來說,軟件危機(jī)主要有以下一些典型表現(xiàn)具體來說,軟件危機(jī)主要有以下一些典型表現(xiàn):對軟件開發(fā)成本和進(jìn)度的估計常常很不準(zhǔn)確。對軟件開發(fā)成本和進(jìn)度的估計常常很不準(zhǔn)確。用戶對用戶對“已完成的已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。軟件產(chǎn)品的質(zhì)量往往靠不住。軟件產(chǎn)品的質(zhì)量往往靠不住。軟件常常是不可維護(hù)的。軟件常常是不可維護(hù)的。軟件通常沒有適
6、當(dāng)?shù)奈臋n資料。軟件通常沒有適當(dāng)?shù)奈臋n資料。軟件成本在計算機(jī)系統(tǒng)總成本中所占的比例逐年上升。軟件成本在計算機(jī)系統(tǒng)總成本中所占的比例逐年上升。軟件開發(fā)生產(chǎn)率提高的速度,既跟不上硬件的發(fā)展速度,軟件開發(fā)生產(chǎn)率提高的速度,既跟不上硬件的發(fā)展速度,也遠(yuǎn)遠(yuǎn)跟不上計算機(jī)應(yīng)用迅速普及深入的趨勢。也遠(yuǎn)遠(yuǎn)跟不上計算機(jī)應(yīng)用迅速普及深入的趨勢。 1.2 軟件危機(jī)與軟件工程除了軟件本身的特點,軟件危機(jī)發(fā)生的主要原因有:除了軟件本身的特點,軟件危機(jī)發(fā)生的主要原因有: (1)(1)缺乏軟件開發(fā)的經(jīng)驗和有關(guān)軟件開發(fā)數(shù)據(jù)的積累,使得開發(fā)缺乏軟件開發(fā)的經(jīng)驗和有關(guān)軟件開發(fā)數(shù)據(jù)的積累,使得開發(fā)工作的計劃很難制定。工作的計劃很難制定。
7、(2)(2)軟件人員與用戶的交流存在障礙,使得獲取的需求不充分或軟件人員與用戶的交流存在障礙,使得獲取的需求不充分或存在錯誤存在錯誤 。(3)(3)軟件開發(fā)過程不規(guī)范。如,沒有真正了解用戶的需求就開始軟件開發(fā)過程不規(guī)范。如,沒有真正了解用戶的需求就開始編程序。編程序。 (4)(4)隨著軟件規(guī)模的增大,其復(fù)雜性往往會呈指數(shù)級升高。需要隨著軟件規(guī)模的增大,其復(fù)雜性往往會呈指數(shù)級升高。需要很多人分工協(xié)作,不僅涉及技術(shù)問題,更重要的是必須有科很多人分工協(xié)作,不僅涉及技術(shù)問題,更重要的是必須有科學(xué)嚴(yán)格的管理。學(xué)嚴(yán)格的管理。(5)(5)缺少有效的軟件評測手段,提交用戶的軟件質(zhì)量不能完全保缺少有效的軟件評測
8、手段,提交用戶的軟件質(zhì)量不能完全保證。證。 1.2 軟件危機(jī)與軟件工程 徹底消除徹底消除“軟件就是程序軟件就是程序”的錯誤觀念。的錯誤觀念。 充分認(rèn)識到軟件開發(fā)應(yīng)該是一種組織良好、管理充分認(rèn)識到軟件開發(fā)應(yīng)該是一種組織良好、管理嚴(yán)密、各類人員協(xié)同配合、共同完成的工程項目。嚴(yán)密、各類人員協(xié)同配合、共同完成的工程項目。 推廣和使用在實踐中總結(jié)出來的開發(fā)軟件的成功推廣和使用在實踐中總結(jié)出來的開發(fā)軟件的成功技術(shù)、方法和工具。技術(shù)、方法和工具。 按工程化的原則和方法組織軟件開發(fā)工作。按工程化的原則和方法組織軟件開發(fā)工作。 如何擺脫軟件危機(jī)如何擺脫軟件危機(jī)? ?1.2 軟件危機(jī)與軟件工程1.2 軟件危機(jī)與軟
9、件工程l軟件工程概念的提出軟件工程概念的提出 為了克服軟件危機(jī),1968年10月在北大西洋公約組織(NATO)召開的計算機(jī)科學(xué)會議上,F(xiàn)ritz Bauer首次提出“軟件工程”的概念,試圖將工程化方法應(yīng)用于軟件開發(fā)。 在NATO會議上,F(xiàn)ritz Bauer對軟件工程的定義是:“軟件工程就是為了經(jīng)濟(jì)地獲得可靠的且能在實際機(jī)器上有效地運行的軟件,而建立和使用完善的工程原理?!?概括地說,軟件工程是指導(dǎo)計算機(jī)軟件開發(fā)和概括地說,軟件工程是指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。維護(hù)的工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來開發(fā)與采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時間考驗而證明
10、正確的維護(hù)軟件,把經(jīng)過時間考驗而證明正確的管理管理技術(shù)技術(shù)和當(dāng)前能夠得到的和當(dāng)前能夠得到的最好最好的技術(shù)方法的技術(shù)方法結(jié)合起結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。護(hù)它,這就是軟件工程。1.2 軟件危機(jī)與軟件工程l什么是軟件工程?什么是軟件工程?1.2 軟件危機(jī)與軟件工程l軟件工程的若干定義軟件工程的若干定義1.2 軟件危機(jī)與軟件工程l軟件工程的基本原理軟件工程的基本原理1.3 軟件工程的目標(biāo) 軟件工程的目標(biāo)是運用先進(jìn)的軟件開發(fā)技術(shù)和管軟件工程的目標(biāo)是運用先進(jìn)的軟件開發(fā)技術(shù)和管理方法來提高軟件的理方法來提高軟件的質(zhì)量質(zhì)量和和生
11、產(chǎn)率生產(chǎn)率,也就是要以,也就是要以較短的周期、較低的成本生產(chǎn)出高質(zhì)量的軟件產(chǎn)較短的周期、較低的成本生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,并最終實現(xiàn)軟件的工業(yè)化生產(chǎn)。品,并最終實現(xiàn)軟件的工業(yè)化生產(chǎn)。 1.3 軟件工程的目標(biāo)1.3 軟件工程的目標(biāo)低成本開發(fā)低成本開發(fā)易于維護(hù)易于維護(hù)按時交付按時交付高可靠性高可靠性高性能高性能互斥關(guān)系互斥關(guān)系互補(bǔ)關(guān)系互補(bǔ)關(guān)系1.3 軟件工程的目標(biāo)軟件的質(zhì)量特性:軟件的質(zhì)量特性:功能性功能性、可靠性可靠性、可使用性可使用性、效效率率、可維護(hù)性可維護(hù)性和和可移植性可移植性。 功能性功能性是指軟件所實現(xiàn)的功能達(dá)到它的設(shè)計規(guī)范和滿足用是指軟件所實現(xiàn)的功能達(dá)到它的設(shè)計規(guī)范和滿足用戶需求的程
12、度;戶需求的程度; 可靠性可靠性是指在規(guī)定的時間和條件下,軟件能夠正常維持其是指在規(guī)定的時間和條件下,軟件能夠正常維持其工作的能力;工作的能力; 可使用性可使用性是指為了使用該軟件所需要的能力;是指為了使用該軟件所需要的能力; 效率效率是指在規(guī)定的條件下用軟件實現(xiàn)某種功能所需要的計是指在規(guī)定的條件下用軟件實現(xiàn)某種功能所需要的計算機(jī)資源的有效性;算機(jī)資源的有效性; 可維護(hù)性可維護(hù)性是指當(dāng)環(huán)境改變或軟件運行發(fā)生故障時,為了使是指當(dāng)環(huán)境改變或軟件運行發(fā)生故障時,為了使其恢復(fù)正常運行所做努力的程度;可移植性是指軟件從某其恢復(fù)正常運行所做努力的程度;可移植性是指軟件從某一環(huán)境轉(zhuǎn)移到另一環(huán)境時所做努力的程
13、度。一環(huán)境轉(zhuǎn)移到另一環(huán)境時所做努力的程度。 1.3 軟件工程的目標(biāo)n學(xué)習(xí)軟件工程,需要達(dá)到以下轉(zhuǎn)變:學(xué)習(xí)軟件工程,需要達(dá)到以下轉(zhuǎn)變: 轉(zhuǎn)變對軟件的認(rèn)識 上升 程序 系統(tǒng) 轉(zhuǎn)變思維定式 上升 程序員 系統(tǒng)工程師 1.4 軟件生存期 概念概念 軟件也有一個孕育、誕生、成長、成熟和衰軟件也有一個孕育、誕生、成長、成熟和衰亡的生存過程,我們稱這個過程為亡的生存過程,我們稱這個過程為軟件生命周期軟件生命周期或或軟件生存期軟件生存期。軟件生存期分為三個時期軟件生存期分為三個時期1.4 軟件生存期問題定義問題定義可行性研究可行性研究需求分析需求分析概要設(shè)計概要設(shè)計詳細(xì)設(shè)計詳細(xì)設(shè)計編碼編碼測試測試維護(hù)維護(hù)軟件
14、定義時期軟件定義時期軟件開發(fā)時期軟件開發(fā)時期軟件維護(hù)時期軟件維護(hù)時期軟件生存期1.4 軟件生存期 軟件定義時期軟件定義時期n確定總目標(biāo)和可行性;確定總目標(biāo)和可行性;n導(dǎo)出導(dǎo)出策略和系統(tǒng)功能;策略和系統(tǒng)功能;n估計資源和成本;估計資源和成本;n制定工程進(jìn)度表制定工程進(jìn)度表 1.4 軟件生存期1.4 軟件生存期1.4 軟件生存期 軟件開發(fā)時期軟件開發(fā)時期 1.4 軟件生存期1.4 軟件生存期1.4 軟件生存期軟件運行維護(hù)時期軟件運行維護(hù)時期 主要任務(wù)是使軟件持久地滿足用戶的需要,通常主要任務(wù)是使軟件持久地滿足用戶的需要,通常有有4 4類維護(hù)活動:類維護(hù)活動:改正性維護(hù)改正性維護(hù),也就是診斷和改正在
15、使用過程中發(fā)現(xiàn)的軟,也就是診斷和改正在使用過程中發(fā)現(xiàn)的軟件錯誤;件錯誤;適應(yīng)性維護(hù)適應(yīng)性維護(hù),即修改軟件以適應(yīng)環(huán)境的變化;,即修改軟件以適應(yīng)環(huán)境的變化;完善性維護(hù)完善性維護(hù),即根據(jù)用戶的要求改進(jìn)或擴(kuò)充軟件,使它,即根據(jù)用戶的要求改進(jìn)或擴(kuò)充軟件,使它更完善;更完善;預(yù)防性維護(hù)預(yù)防性維護(hù),即修改軟件為將來的維護(hù)活動預(yù)先做準(zhǔn)備。,即修改軟件為將來的維護(hù)活動預(yù)先做準(zhǔn)備。 1.4 軟件生存期 開發(fā)過程中的典型文檔開發(fā)過程中的典型文檔 軟件需求規(guī)格說明書軟件需求規(guī)格說明書:描述將要開發(fā)的軟件做什么。:描述將要開發(fā)的軟件做什么。 項目計劃項目計劃:描述將要完成的任務(wù)及其順序,并估計所需要:描述將要完成的任務(wù)
16、及其順序,并估計所需要的時間及工作量。的時間及工作量。 軟件測試計劃軟件測試計劃:描述如何測試軟件,使之確保軟件應(yīng)實現(xiàn):描述如何測試軟件,使之確保軟件應(yīng)實現(xiàn)規(guī)定的功能,并達(dá)到預(yù)期的性能。規(guī)定的功能,并達(dá)到預(yù)期的性能。 軟件設(shè)計說明書軟件設(shè)計說明書:描述軟件的結(jié)構(gòu),包括概要設(shè)計及詳細(xì):描述軟件的結(jié)構(gòu),包括概要設(shè)計及詳細(xì)設(shè)計。設(shè)計。 用戶手冊用戶手冊:描述如何使用軟件。:描述如何使用軟件。 1.4 軟件生存期 各階段的花費比例各階段的花費比例維護(hù)維護(hù)67%集成集成8%模擬模擬測試測試7%模塊模塊編碼編碼5%設(shè)計設(shè)計6%計劃計劃1%規(guī)格說明(分析)規(guī)格說明(分析)4%需求分析需求分析2%來自來自El
17、shoff,1976,Daly,1977,Zelkowitz,shaw and Gannon,1979和和Boehm,1981的統(tǒng)計數(shù)據(jù)的統(tǒng)計數(shù)據(jù)1.5 軟件工程方法概述 概念概念軟件工程包含軟件工程包含技術(shù)技術(shù)和和管理管理兩方面的內(nèi)容,是技術(shù)兩方面的內(nèi)容,是技術(shù)和管理緊密結(jié)合所形成的工程學(xué)科。和管理緊密結(jié)合所形成的工程學(xué)科。通常將軟件開發(fā)全過程中使用的一整套技術(shù)方法通常將軟件開發(fā)全過程中使用的一整套技術(shù)方法的集合稱為的集合稱為方法學(xué)方法學(xué)(methedology)(methedology),也稱為,也稱為范型范型(paradigm)(paradigm)。目前使用最廣泛的軟件工程方法學(xué):目前使
18、用最廣泛的軟件工程方法學(xué):傳統(tǒng)方法學(xué)傳統(tǒng)方法學(xué)(結(jié)構(gòu)化方法學(xué))(結(jié)構(gòu)化方法學(xué)),面向?qū)ο蠓椒▽W(xué)面向?qū)ο蠓椒▽W(xué)。 三要素:三要素:軟件工程軟件工程方法方法為軟件開發(fā)提供了為軟件開發(fā)提供了 “如何做如何做” 的的技術(shù)技術(shù); ;軟件軟件工具工具為軟件工程方法提供了自動的或半自動為軟件工程方法提供了自動的或半自動的軟件支撐環(huán)境的軟件支撐環(huán)境; ;過程過程是為了獲得高質(zhì)量的軟件所需要完成的一系是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)框架,它規(guī)定了完成各項任務(wù)的工作步驟。列任務(wù)框架,它規(guī)定了完成各項任務(wù)的工作步驟。1.5 軟件工程方法概述1.5 軟件工程方法概述1.5 軟件工程方法概述 結(jié)構(gòu)化方法學(xué)結(jié)
19、構(gòu)化方法學(xué) 也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。將軟件生也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。將軟件生命周期的全過程依次劃分為若干個階段,采用結(jié)命周期的全過程依次劃分為若干個階段,采用結(jié)構(gòu)化技術(shù)來完成每個階段的任務(wù)。構(gòu)化技術(shù)來完成每個階段的任務(wù)。特點:特點:(1) (1) 強(qiáng)調(diào)自頂向下順序地完成軟件開發(fā)的各階段強(qiáng)調(diào)自頂向下順序地完成軟件開發(fā)的各階段任務(wù)任務(wù); ; (2) (2) 結(jié)構(gòu)化方法要么面向行為,要么面向數(shù)據(jù),結(jié)構(gòu)化方法要么面向行為,要么面向數(shù)據(jù),缺乏使兩者有機(jī)結(jié)合的機(jī)制。缺乏使兩者有機(jī)結(jié)合的機(jī)制。1.5 軟件工程方法概述l面向?qū)ο蠓椒▽W(xué)面向?qū)ο蠓椒▽W(xué) 是將數(shù)據(jù)和對數(shù)據(jù)的操作緊密地結(jié)合起來的方
20、法。是將數(shù)據(jù)和對數(shù)據(jù)的操作緊密地結(jié)合起來的方法。軟件開發(fā)過程是多次反復(fù)迭代的演化過程。軟件開發(fā)過程是多次反復(fù)迭代的演化過程。面向?qū)ο蠓椒ㄔ诟拍詈捅硎痉椒ㄉ系囊恢滦?,保面向?qū)ο蠓椒ㄔ诟拍詈捅硎痉椒ㄉ系囊恢滦?,保證了各項開發(fā)活動之間的平滑過渡。證了各項開發(fā)活動之間的平滑過渡。對于大型、復(fù)雜及交互性比較強(qiáng)的系統(tǒng),使用面對于大型、復(fù)雜及交互性比較強(qiáng)的系統(tǒng),使用面向?qū)ο蠓椒▽W(xué)更有優(yōu)勢。向?qū)ο蠓椒▽W(xué)更有優(yōu)勢。 1.5 軟件工程方法概述l形式化方法形式化方法形式化方法是一種基于形式化數(shù)學(xué)變換的軟件開形式化方法是一種基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的發(fā)方法,它可將系統(tǒng)的規(guī)格說
21、明轉(zhuǎn)換為可執(zhí)行的程序。程序。1.5 軟件工程方法概述1.5 軟件工程方法概述l形式化方法的主要特點形式化方法的主要特點軟件需求規(guī)格說明軟件需求規(guī)格說明被細(xì)化為用數(shù)學(xué)記號表達(dá)的詳細(xì)的形式化規(guī)格說明;設(shè)計、實現(xiàn)和單元測試設(shè)計、實現(xiàn)和單元測試等開發(fā)過程由一個變換開發(fā)過程代替。通過一系列變換將形式的規(guī)格說明細(xì)化成為程序。1.6 軟件工具概述 軟件工具的概念軟件工具的概念 軟件工具的發(fā)展軟件工具的發(fā)展 軟件工具的分類軟件工具的分類 常用軟件工具介紹常用軟件工具介紹1.6 軟件工具概述軟件工具是指能支持軟件生存周期中某一階段軟件工具是指能支持軟件生存周期中某一階段(如系統(tǒng)定義、需求分析、設(shè)計、編碼、測試或
22、(如系統(tǒng)定義、需求分析、設(shè)計、編碼、測試或維護(hù)等)的需要而使用的軟件工具。維護(hù)等)的需要而使用的軟件工具。早期的軟件工具主要用來輔助程序員編程,如編早期的軟件工具主要用來輔助程序員編程,如編輯程序、編譯程序、排錯程序等。輯程序、編譯程序、排錯程序等。軟件工具通常也稱為軟件工具通常也稱為CASE(CASE(計算機(jī)輔助軟件工程,計算機(jī)輔助軟件工程,computer aided software engineering)computer aided software engineering)工具。工具。l軟件工具的概念軟件工具的概念1.6 軟件工具概述l軟件工具的發(fā)展軟件工具的發(fā)展 5050年代末期
23、出現(xiàn)了年代末期出現(xiàn)了編輯程序、匯編程序和各種程序語言的編編輯程序、匯編程序和各種程序語言的編譯程序或解釋程序、連接程序、裝配程序、排錯程序譯程序或解釋程序、連接程序、裝配程序、排錯程序等輔助等輔助軟件編程活動的工具。軟件編程活動的工具。 6060年代末提出軟件工程的概念后,支持年代末提出軟件工程的概念后,支持軟件開發(fā)、維護(hù)、管軟件開發(fā)、維護(hù)、管理理等過程的各種活動的工具也應(yīng)運而生。等過程的各種活動的工具也應(yīng)運而生。 8080年代中期提出了軟件過程的新概念,人們開始研制年代中期提出了軟件過程的新概念,人們開始研制過程建過程建模的工具、過程評價工具模的工具、過程評價工具。 如今,軟件工具已由單個工
24、具向多個工具集成的如今,軟件工具已由單個工具向多個工具集成的方向發(fā)展,且注重工具間的平滑過渡和互操作性。方向發(fā)展,且注重工具間的平滑過渡和互操作性。1.6 軟件工具概述l軟件工具的分類軟件工具的分類支持軟件開發(fā)過程的工具支持軟件開發(fā)過程的工具:主要有需求分析工:主要有需求分析工具、設(shè)計工具具、設(shè)計工具( (通常還可以分為概要設(shè)計工具和通常還可以分為概要設(shè)計工具和詳細(xì)設(shè)計工具詳細(xì)設(shè)計工具) )、編碼工具、排錯工具、測試工、編碼工具、排錯工具、測試工具等。具等。支持軟件維護(hù)過程的工具支持軟件維護(hù)過程的工具:主要有版本控制工:主要有版本控制工具、文檔分析工具、信息庫開發(fā)工具、逆向工具、文檔分析工具、
25、信息庫開發(fā)工具、逆向工程工具、再工程工具等。程工具、再工程工具等。支持軟件管理過程和支持過程的工具支持軟件管理過程和支持過程的工具:主要有:主要有項目管理工具、配置管理工具、軟件評價工具項目管理工具、配置管理工具、軟件評價工具等。等。1.6 軟件工具概述l常用軟件工具常用軟件工具需求分析與設(shè)計工具需求分析與設(shè)計工具:目前使用的大多數(shù)工具:目前使用的大多數(shù)工具既支持需求分析工作,也支持軟件設(shè)計工作。既支持需求分析工作,也支持軟件設(shè)計工作。 IBM Rational Requirement Composer Enterprise Architect(EA) IBM Rational Softwar
26、e Architect Rational Rose Microsoft Office Visio PowerDesigner1.6 軟件工具概述編碼工具與排錯工具編碼工具與排錯工具:現(xiàn)代軟件開發(fā)使用集成開:現(xiàn)代軟件開發(fā)使用集成開發(fā)環(huán)境發(fā)環(huán)境IDEIDE,一般包括代碼編輯器、編譯器、調(diào),一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面工具。試器和圖形用戶界面工具。Turbo系列的集成開發(fā)環(huán)境(包括Turbo C,Turbo Pascal等)、C+ Builder、Delphi等 Microsoft Visual Studio(簡稱VS)系列 Jbuilder Eclipse、MyEclipse
27、Netbeans1.6 軟件工具概述測試工具測試工具:分為程序單元測試工具、組裝測試工:分為程序單元測試工具、組裝測試工具和系統(tǒng)測試工具。具和系統(tǒng)測試工具。 單元測試工具:單元測試工具:目前最流行的單元測試工具是xUnit系列框架。組裝測試工具:組裝測試工具:也稱為集成測試或聯(lián)合測試。包括WinRunner、 IBM Rational Functional Tester、 TestDirector等。系統(tǒng)測試工具:系統(tǒng)測試工具:系統(tǒng)測試是對整個基于計算機(jī)的系統(tǒng)進(jìn)行一系列不同考驗的測試。 典型工具包括IBM Rational Robot、 IBM Rational Quality Manager
28、、 LoadRunner 等。1.7 軟件工程知識體系及知識域 軟件工程教育軟件工程教育(3 3個歷史時期個歷史時期) (1) 1978(1) 1978年以前:軟件工程教育以計算機(jī)專業(yè)的年以前:軟件工程教育以計算機(jī)專業(yè)的一門孤立的課程形式存在。一門孤立的課程形式存在。 (2) 1978(2) 197819881988年期間:早期的研究生學(xué)位教育,年期間:早期的研究生學(xué)位教育,開始建立軟件工程專業(yè)的研究生學(xué)位教育項目。開始建立軟件工程專業(yè)的研究生學(xué)位教育項目。 (3) 1988(3) 1988年以后:快速發(fā)展的研究生學(xué)科教育,年以后:快速發(fā)展的研究生學(xué)科教育,使軟件工程的理論快速發(fā)展,其中,卡內(nèi)基使軟件工程的理論快速發(fā)展,其中,卡內(nèi)基梅隆梅隆大學(xué)軟件工程研究所(大學(xué)軟件工程研究所(SEISEI)的影響不可忽視。)的影響不可忽視。 1.7 軟件工程知識體系及知識域 軟件工程知識體軟件工程知識體軟件工程已從計算機(jī)科學(xué)與技術(shù)中脫離出來,逐軟件工程已從計算機(jī)科學(xué)與技術(shù)中脫離出來,逐漸形成了一門獨立的學(xué)科。對其知識體系的研究漸形成了一門獨立的學(xué)科。對其知識體系的研究從從2020世紀(jì)世紀(jì)9090年代初就開始了。年代初就開始了。標(biāo)志是美國標(biāo)志是美國Embry-Rid
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公路文明施工合同協(xié)議書
- 2025年高線密度玻璃纖維直接無捻粗紗合作協(xié)議書
- 整改提高階段動員大會上的講話
- 美國低碳融資戰(zhàn)略演進(jìn)的驅(qū)動因素解析
- 2025年木板材加工項目合作計劃書
- 2025年驅(qū)油用表面活性劑(磺酸鹽類)合作協(xié)議書
- 2025年家私皮具護(hù)理品項目合作計劃書
- 紫巔風(fēng)的護(hù)理
- 兒童骨折護(hù)理
- 安全轉(zhuǎn)運病人的流程
- 違約就業(yè)協(xié)議書
- 《人工智能通識導(dǎo)論(慕課版)》全套教學(xué)課件
- 烘培創(chuàng)業(yè)合伙協(xié)議書
- 北京2025年國家大劇院招聘24名專業(yè)技術(shù)人員筆試歷年參考題庫附帶答案詳解
- 2024建安杯信息通信建設(shè)行業(yè)安全競賽題庫及答案【三份】
- 2025年信息系統(tǒng)管理知識考試試題及答案
- 中介股東合同范例
- 馬法理學(xué)試題及答案
- 2025年全國保密教育線上培訓(xùn)考試試題庫附完整答案(奪冠系列)含答案詳解
- 合伙人協(xié)議書模板
- 2025年下半年揚州現(xiàn)代農(nóng)業(yè)生態(tài)環(huán)境投資發(fā)展集團(tuán)公開招聘易考易錯模擬試題(共500題)試卷后附參考答案
評論
0/150
提交評論