第1章 軟件與軟件工程介紹_第1頁(yè)
第1章 軟件與軟件工程介紹_第2頁(yè)
第1章 軟件與軟件工程介紹_第3頁(yè)
第1章 軟件與軟件工程介紹_第4頁(yè)
第1章 軟件與軟件工程介紹_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、教材和參考書(shū)教材和參考書(shū) 教材教材軟件工程概論軟件工程概論(第(第2版),鄭人杰,馬素霞等著,版),鄭人杰,馬素霞等著,機(jī)械工業(yè)出版社,機(jī)械工業(yè)出版社,2014年年11月。月。 參考書(shū)參考書(shū)軟件工程:實(shí)踐者的研究方法(第軟件工程:實(shí)踐者的研究方法(第7版)版)Roger S.Pressman著,鄭人杰,馬素霞等譯,機(jī)械工著,鄭人杰,馬素霞等譯,機(jī)械工業(yè)出版社,業(yè)出版社,2011年年5月。月。第1章 軟件與軟件工程的概念 軟件的概念、特性和分類(lèi)軟件的概念、特性和分類(lèi) 軟件危機(jī)與軟件工程軟件危機(jī)與軟件工程 系統(tǒng)工程的目標(biāo)系統(tǒng)工程的目標(biāo) 軟件生存期軟件生存期 軟件工程方法概述軟件工程方法概述 軟件工

2、具概述軟件工具概述 軟件工程知識(shí)體系及知識(shí)域軟件工程知識(shí)體系及知識(shí)域1.1 軟件的概念、特性和分類(lèi)軟件的作用軟件的作用具有具有產(chǎn)品產(chǎn)品和和產(chǎn)品生產(chǎn)載體產(chǎn)品生產(chǎn)載體的雙重作用。的雙重作用。(1) 作為產(chǎn)品,軟件顯示了由計(jì)算機(jī)硬件體現(xiàn)的計(jì)作為產(chǎn)品,軟件顯示了由計(jì)算機(jī)硬件體現(xiàn)的計(jì)算能力,扮演著信息轉(zhuǎn)換的角色:產(chǎn)生、管理、算能力,扮演著信息轉(zhuǎn)換的角色:產(chǎn)生、管理、查詢、修改、顯示或者傳遞各種不同的信息。查詢、修改、顯示或者傳遞各種不同的信息。(2) 作為產(chǎn)品生產(chǎn)的載體,軟件提供了計(jì)算機(jī)控制作為產(chǎn)品生產(chǎn)的載體,軟件提供了計(jì)算機(jī)控制(操作系統(tǒng))、信息通信(網(wǎng)絡(luò)),以及應(yīng)用(操作系統(tǒng))、信息通信(網(wǎng)絡(luò)),以

3、及應(yīng)用程序開(kāi)發(fā)和控制的基礎(chǔ)平臺(tái)(軟件工具和環(huán)程序開(kāi)發(fā)和控制的基礎(chǔ)平臺(tái)(軟件工具和環(huán)境)。境)。 1.1 軟件的概念、特性和分類(lèi) 軟件的概念軟件的概念 雖然軟件對(duì)于現(xiàn)代的人并不陌生,但很多人對(duì)于雖然軟件對(duì)于現(xiàn)代的人并不陌生,但很多人對(duì)于軟件的理解并不準(zhǔn)確,軟件的理解并不準(zhǔn)確,“軟件就是程序,軟件開(kāi)軟件就是程序,軟件開(kāi)發(fā)就是編程序發(fā)就是編程序”的這種錯(cuò)誤觀點(diǎn)仍然存在。的這種錯(cuò)誤觀點(diǎn)仍然存在。什么是軟件?1.1 軟件的概念、特性和分類(lèi)1.1 軟件的概念、特性和分類(lèi) 軟件的特性軟件的特性1.1 軟件的概念、特性和分類(lèi)1.1 軟件的概念、特性和分類(lèi) 1.1 軟件的概念、特性和分類(lèi)1.1 軟件的概念、特性

4、和分類(lèi)1.1 軟件的概念、特性和分類(lèi) 軟件的分類(lèi)軟件的分類(lèi)(1 1) 系統(tǒng)軟件系統(tǒng)軟件(2 2)支撐軟件(工具軟件)支撐軟件(工具軟件) 1.1 軟件的概念、特性和分類(lèi) 軟件的分類(lèi)軟件的分類(lèi) (3 3)應(yīng)用軟件)應(yīng)用軟件(4 4)可復(fù)用軟件)可復(fù)用軟件l軟件危機(jī)暴發(fā)于上個(gè)世紀(jì)六十年代末。l主要表現(xiàn)為:軟件的發(fā)展速度遠(yuǎn)遠(yuǎn)滯后于硬件的發(fā)展速度,不能滿足社會(huì)日益增長(zhǎng)的軟件需求。軟件開(kāi)發(fā)周期長(zhǎng)、成本高、質(zhì)量差、維護(hù)困難。 1.2 軟件危機(jī)與軟件工程 軟件危機(jī)軟件危機(jī)l典型例子:美國(guó)IBM公司在1963年至1966年開(kāi)發(fā)的IBM 360機(jī)的操作系統(tǒng)。 l這個(gè)項(xiàng)目的負(fù)責(zé)人F.D.Brooks事后總結(jié)了他在

5、組織開(kāi)發(fā)過(guò)程中的沉痛教訓(xùn)時(shí)說(shuō):正像一只逃亡的野獸落到泥潭中做垂死的掙扎,越是掙扎,陷得越深。最后無(wú)法逃脫滅頂?shù)臑?zāi)難,程序設(shè)計(jì)工作正像這樣一個(gè)泥潭,一批批程序員被迫在泥潭中拼命掙扎,誰(shuí)也沒(méi)有料到竟會(huì)陷入這樣的困境1.2 軟件危機(jī)與軟件工程具體來(lái)說(shuō),軟件危機(jī)主要有以下一些典型表現(xiàn)具體來(lái)說(shuō),軟件危機(jī)主要有以下一些典型表現(xiàn):對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確。對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確。用戶對(duì)用戶對(duì)“已完成的已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。軟件產(chǎn)品的質(zhì)量往往靠不住。軟件產(chǎn)品的質(zhì)量往往靠不住。軟件常常是不可維護(hù)的。軟件常常是不可維護(hù)的。軟件通常沒(méi)有適

6、當(dāng)?shù)奈臋n資料。軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料。軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。軟件開(kāi)發(fā)生產(chǎn)率提高的速度,既跟不上硬件的發(fā)展速度,軟件開(kāi)發(fā)生產(chǎn)率提高的速度,既跟不上硬件的發(fā)展速度,也遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢(shì)。也遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢(shì)。 1.2 軟件危機(jī)與軟件工程除了軟件本身的特點(diǎn),軟件危機(jī)發(fā)生的主要原因有:除了軟件本身的特點(diǎn),軟件危機(jī)發(fā)生的主要原因有: (1)(1)缺乏軟件開(kāi)發(fā)的經(jīng)驗(yàn)和有關(guān)軟件開(kāi)發(fā)數(shù)據(jù)的積累,使得開(kāi)發(fā)缺乏軟件開(kāi)發(fā)的經(jīng)驗(yàn)和有關(guān)軟件開(kāi)發(fā)數(shù)據(jù)的積累,使得開(kāi)發(fā)工作的計(jì)劃很難制定。工作的計(jì)劃很難制定。

7、(2)(2)軟件人員與用戶的交流存在障礙,使得獲取的需求不充分或軟件人員與用戶的交流存在障礙,使得獲取的需求不充分或存在錯(cuò)誤存在錯(cuò)誤 。(3)(3)軟件開(kāi)發(fā)過(guò)程不規(guī)范。如,沒(méi)有真正了解用戶的需求就開(kāi)始軟件開(kāi)發(fā)過(guò)程不規(guī)范。如,沒(méi)有真正了解用戶的需求就開(kāi)始編程序。編程序。 (4)(4)隨著軟件規(guī)模的增大,其復(fù)雜性往往會(huì)呈指數(shù)級(jí)升高。需要隨著軟件規(guī)模的增大,其復(fù)雜性往往會(huì)呈指數(shù)級(jí)升高。需要很多人分工協(xié)作,不僅涉及技術(shù)問(wèn)題,更重要的是必須有科很多人分工協(xié)作,不僅涉及技術(shù)問(wèn)題,更重要的是必須有科學(xué)嚴(yán)格的管理。學(xué)嚴(yán)格的管理。(5)(5)缺少有效的軟件評(píng)測(cè)手段,提交用戶的軟件質(zhì)量不能完全保缺少有效的軟件評(píng)測(cè)

8、手段,提交用戶的軟件質(zhì)量不能完全保證。證。 1.2 軟件危機(jī)與軟件工程 徹底消除徹底消除“軟件就是程序軟件就是程序”的錯(cuò)誤觀念。的錯(cuò)誤觀念。 充分認(rèn)識(shí)到軟件開(kāi)發(fā)應(yīng)該是一種組織良好、管理充分認(rèn)識(shí)到軟件開(kāi)發(fā)應(yīng)該是一種組織良好、管理嚴(yán)密、各類(lèi)人員協(xié)同配合、共同完成的工程項(xiàng)目。嚴(yán)密、各類(lèi)人員協(xié)同配合、共同完成的工程項(xiàng)目。 推廣和使用在實(shí)踐中總結(jié)出來(lái)的開(kāi)發(fā)軟件的成功推廣和使用在實(shí)踐中總結(jié)出來(lái)的開(kāi)發(fā)軟件的成功技術(shù)、方法和工具。技術(shù)、方法和工具。 按工程化的原則和方法組織軟件開(kāi)發(fā)工作。按工程化的原則和方法組織軟件開(kāi)發(fā)工作。 如何擺脫軟件危機(jī)如何擺脫軟件危機(jī)? ?1.2 軟件危機(jī)與軟件工程1.2 軟件危機(jī)與軟

9、件工程l軟件工程概念的提出軟件工程概念的提出 為了克服軟件危機(jī),1968年10月在北大西洋公約組織(NATO)召開(kāi)的計(jì)算機(jī)科學(xué)會(huì)議上,F(xiàn)ritz Bauer首次提出“軟件工程”的概念,試圖將工程化方法應(yīng)用于軟件開(kāi)發(fā)。 在NATO會(huì)議上,F(xiàn)ritz Bauer對(duì)軟件工程的定義是:“軟件工程就是為了經(jīng)濟(jì)地獲得可靠的且能在實(shí)際機(jī)器上有效地運(yùn)行的軟件,而建立和使用完善的工程原理。” 概括地說(shuō),軟件工程是指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和概括地說(shuō),軟件工程是指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的工程學(xué)科。維護(hù)的工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)與采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)與維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明

10、正確的維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理管理技術(shù)技術(shù)和當(dāng)前能夠得到的和當(dāng)前能夠得到的最好最好的技術(shù)方法的技術(shù)方法結(jié)合起結(jié)合起來(lái),以經(jīng)濟(jì)地開(kāi)發(fā)出高質(zhì)量的軟件并有效地維來(lái),以經(jīng)濟(jì)地開(kāi)發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。護(hù)它,這就是軟件工程。1.2 軟件危機(jī)與軟件工程l什么是軟件工程?什么是軟件工程?1.2 軟件危機(jī)與軟件工程l軟件工程的若干定義軟件工程的若干定義1.2 軟件危機(jī)與軟件工程l軟件工程的基本原理軟件工程的基本原理1.3 軟件工程的目標(biāo) 軟件工程的目標(biāo)是運(yùn)用先進(jìn)的軟件開(kāi)發(fā)技術(shù)和管軟件工程的目標(biāo)是運(yùn)用先進(jìn)的軟件開(kāi)發(fā)技術(shù)和管理方法來(lái)提高軟件的理方法來(lái)提高軟件的質(zhì)量質(zhì)量和和生

11、產(chǎn)率生產(chǎn)率,也就是要以,也就是要以較短的周期、較低的成本生產(chǎn)出高質(zhì)量的軟件產(chǎn)較短的周期、較低的成本生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,并最終實(shí)現(xiàn)軟件的工業(yè)化生產(chǎn)。品,并最終實(shí)現(xiàn)軟件的工業(yè)化生產(chǎn)。 1.3 軟件工程的目標(biāo)1.3 軟件工程的目標(biāo)低成本開(kāi)發(fā)低成本開(kāi)發(fā)易于維護(hù)易于維護(hù)按時(shí)交付按時(shí)交付高可靠性高可靠性高性能高性能互斥關(guān)系互斥關(guān)系互補(bǔ)關(guān)系互補(bǔ)關(guān)系1.3 軟件工程的目標(biāo)軟件的質(zhì)量特性:軟件的質(zhì)量特性:功能性功能性、可靠性可靠性、可使用性可使用性、效效率率、可維護(hù)性可維護(hù)性和和可移植性可移植性。 功能性功能性是指軟件所實(shí)現(xiàn)的功能達(dá)到它的設(shè)計(jì)規(guī)范和滿足用是指軟件所實(shí)現(xiàn)的功能達(dá)到它的設(shè)計(jì)規(guī)范和滿足用戶需求的程

12、度;戶需求的程度; 可靠性可靠性是指在規(guī)定的時(shí)間和條件下,軟件能夠正常維持其是指在規(guī)定的時(shí)間和條件下,軟件能夠正常維持其工作的能力;工作的能力; 可使用性可使用性是指為了使用該軟件所需要的能力;是指為了使用該軟件所需要的能力; 效率效率是指在規(guī)定的條件下用軟件實(shí)現(xiàn)某種功能所需要的計(jì)是指在規(guī)定的條件下用軟件實(shí)現(xiàn)某種功能所需要的計(jì)算機(jī)資源的有效性;算機(jī)資源的有效性; 可維護(hù)性可維護(hù)性是指當(dāng)環(huán)境改變或軟件運(yùn)行發(fā)生故障時(shí),為了使是指當(dāng)環(huán)境改變或軟件運(yùn)行發(fā)生故障時(shí),為了使其恢復(fù)正常運(yùn)行所做努力的程度;可移植性是指軟件從某其恢復(fù)正常運(yùn)行所做努力的程度;可移植性是指軟件從某一環(huán)境轉(zhuǎn)移到另一環(huán)境時(shí)所做努力的程

13、度。一環(huán)境轉(zhuǎn)移到另一環(huán)境時(shí)所做努力的程度。 1.3 軟件工程的目標(biāo)n學(xué)習(xí)軟件工程,需要達(dá)到以下轉(zhuǎn)變:學(xué)習(xí)軟件工程,需要達(dá)到以下轉(zhuǎn)變: 轉(zhuǎn)變對(duì)軟件的認(rèn)識(shí) 上升 程序 系統(tǒng) 轉(zhuǎn)變思維定式 上升 程序員 系統(tǒng)工程師 1.4 軟件生存期 概念概念 軟件也有一個(gè)孕育、誕生、成長(zhǎng)、成熟和衰軟件也有一個(gè)孕育、誕生、成長(zhǎng)、成熟和衰亡的生存過(guò)程,我們稱這個(gè)過(guò)程為亡的生存過(guò)程,我們稱這個(gè)過(guò)程為軟件生命周期軟件生命周期或或軟件生存期軟件生存期。軟件生存期分為三個(gè)時(shí)期軟件生存期分為三個(gè)時(shí)期1.4 軟件生存期問(wèn)題定義問(wèn)題定義可行性研究可行性研究需求分析需求分析概要設(shè)計(jì)概要設(shè)計(jì)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼編碼測(cè)試測(cè)試維護(hù)維護(hù)軟件

14、定義時(shí)期軟件定義時(shí)期軟件開(kāi)發(fā)時(shí)期軟件開(kāi)發(fā)時(shí)期軟件維護(hù)時(shí)期軟件維護(hù)時(shí)期軟件生存期1.4 軟件生存期 軟件定義時(shí)期軟件定義時(shí)期n確定總目標(biāo)和可行性;確定總目標(biāo)和可行性;n導(dǎo)出導(dǎo)出策略和系統(tǒng)功能;策略和系統(tǒng)功能;n估計(jì)資源和成本;估計(jì)資源和成本;n制定工程進(jìn)度表制定工程進(jìn)度表 1.4 軟件生存期1.4 軟件生存期1.4 軟件生存期 軟件開(kāi)發(fā)時(shí)期軟件開(kāi)發(fā)時(shí)期 1.4 軟件生存期1.4 軟件生存期1.4 軟件生存期軟件運(yùn)行維護(hù)時(shí)期軟件運(yùn)行維護(hù)時(shí)期 主要任務(wù)是使軟件持久地滿足用戶的需要,通常主要任務(wù)是使軟件持久地滿足用戶的需要,通常有有4 4類(lèi)維護(hù)活動(dòng):類(lèi)維護(hù)活動(dòng):改正性維護(hù)改正性維護(hù),也就是診斷和改正在

15、使用過(guò)程中發(fā)現(xiàn)的軟,也就是診斷和改正在使用過(guò)程中發(fā)現(xiàn)的軟件錯(cuò)誤;件錯(cuò)誤;適應(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ù),即修改軟件為將來(lái)的維護(hù)活動(dòng)預(yù)先做準(zhǔn)備。,即修改軟件為將來(lái)的維護(hù)活動(dòng)預(yù)先做準(zhǔn)備。 1.4 軟件生存期 開(kāi)發(fā)過(guò)程中的典型文檔開(kāi)發(fā)過(guò)程中的典型文檔 軟件需求規(guī)格說(shuō)明書(shū)軟件需求規(guī)格說(shuō)明書(shū):描述將要開(kāi)發(fā)的軟件做什么。:描述將要開(kāi)發(fā)的軟件做什么。 項(xiàng)目計(jì)劃項(xiàng)目計(jì)劃:描述將要完成的任務(wù)及其順序,并估計(jì)所需要:描述將要完成的任務(wù)

16、及其順序,并估計(jì)所需要的時(shí)間及工作量。的時(shí)間及工作量。 軟件測(cè)試計(jì)劃軟件測(cè)試計(jì)劃:描述如何測(cè)試軟件,使之確保軟件應(yīng)實(shí)現(xiàn):描述如何測(cè)試軟件,使之確保軟件應(yīng)實(shí)現(xiàn)規(guī)定的功能,并達(dá)到預(yù)期的性能。規(guī)定的功能,并達(dá)到預(yù)期的性能。 軟件設(shè)計(jì)說(shuō)明書(shū)軟件設(shè)計(jì)說(shuō)明書(shū):描述軟件的結(jié)構(gòu),包括概要設(shè)計(jì)及詳細(xì):描述軟件的結(jié)構(gòu),包括概要設(shè)計(jì)及詳細(xì)設(shè)計(jì)。設(shè)計(jì)。 用戶手冊(cè)用戶手冊(cè):描述如何使用軟件。:描述如何使用軟件。 1.4 軟件生存期 各階段的花費(fèi)比例各階段的花費(fèi)比例維護(hù)維護(hù)67%集成集成8%模擬模擬測(cè)試測(cè)試7%模塊模塊編碼編碼5%設(shè)計(jì)設(shè)計(jì)6%計(jì)劃計(jì)劃1%規(guī)格說(shuō)明(分析)規(guī)格說(shuō)明(分析)4%需求分析需求分析2%來(lái)自來(lái)自El

17、shoff,1976,Daly,1977,Zelkowitz,shaw and Gannon,1979和和Boehm,1981的統(tǒng)計(jì)數(shù)據(jù)的統(tǒng)計(jì)數(shù)據(jù)1.5 軟件工程方法概述 概念概念軟件工程包含軟件工程包含技術(shù)技術(shù)和和管理管理兩方面的內(nèi)容,是技術(shù)兩方面的內(nèi)容,是技術(shù)和管理緊密結(jié)合所形成的工程學(xué)科。和管理緊密結(jié)合所形成的工程學(xué)科。通常將軟件開(kāi)發(fā)全過(guò)程中使用的一整套技術(shù)方法通常將軟件開(kāi)發(fā)全過(guò)程中使用的一整套技術(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é)。 三要素:三要素:軟件工程軟件工程方法方法為軟件開(kāi)發(fā)提供了為軟件開(kāi)發(fā)提供了 “如何做如何做” 的的技術(shù)技術(shù); ;軟件軟件工具工具為軟件工程方法提供了自動(dòng)的或半自動(dòng)為軟件工程方法提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境的軟件支撐環(huán)境; ;過(guò)程過(guò)程是為了獲得高質(zhì)量的軟件所需要完成的一系是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。列任務(wù)框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。1.5 軟件工程方法概述1.5 軟件工程方法概述1.5 軟件工程方法概述 結(jié)構(gòu)化方法學(xué)結(jié)

19、構(gòu)化方法學(xué) 也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。將軟件生也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。將軟件生命周期的全過(guò)程依次劃分為若干個(gè)階段,采用結(jié)命周期的全過(guò)程依次劃分為若干個(gè)階段,采用結(jié)構(gòu)化技術(shù)來(lái)完成每個(gè)階段的任務(wù)。構(gòu)化技術(shù)來(lái)完成每個(gè)階段的任務(wù)。特點(diǎn):特點(diǎn):(1) (1) 強(qiáng)調(diào)自頂向下順序地完成軟件開(kāi)發(fā)的各階段強(qiáng)調(diào)自頂向下順序地完成軟件開(kāi)發(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ù)和對(duì)數(shù)據(jù)的操作緊密地結(jié)合起來(lái)的方

20、法。是將數(shù)據(jù)和對(duì)數(shù)據(jù)的操作緊密地結(jié)合起來(lái)的方法。軟件開(kāi)發(fā)過(guò)程是多次反復(fù)迭代的演化過(guò)程。軟件開(kāi)發(fā)過(guò)程是多次反復(fù)迭代的演化過(guò)程。面向?qū)ο蠓椒ㄔ诟拍詈捅硎痉椒ㄉ系囊恢滦?,保面向?qū)ο蠓椒ㄔ诟拍詈捅硎痉椒ㄉ系囊恢滦裕WC了各項(xiàng)開(kāi)發(fā)活動(dòng)之間的平滑過(guò)渡。證了各項(xiàng)開(kāi)發(fā)活動(dòng)之間的平滑過(guò)渡。對(duì)于大型、復(fù)雜及交互性比較強(qiáng)的系統(tǒng),使用面對(duì)于大型、復(fù)雜及交互性比較強(qiáng)的系統(tǒng),使用面向?qū)ο蠓椒▽W(xué)更有優(yōu)勢(shì)。向?qū)ο蠓椒▽W(xué)更有優(yōu)勢(shì)。 1.5 軟件工程方法概述l形式化方法形式化方法形式化方法是一種基于形式化數(shù)學(xué)變換的軟件開(kāi)形式化方法是一種基于形式化數(shù)學(xué)變換的軟件開(kāi)發(fā)方法,它可將系統(tǒng)的規(guī)格說(shuō)明轉(zhuǎn)換為可執(zhí)行的發(fā)方法,它可將系統(tǒng)的規(guī)格說(shuō)

21、明轉(zhuǎn)換為可執(zhí)行的程序。程序。1.5 軟件工程方法概述1.5 軟件工程方法概述l形式化方法的主要特點(diǎn)形式化方法的主要特點(diǎn)軟件需求規(guī)格說(shuō)明軟件需求規(guī)格說(shuō)明被細(xì)化為用數(shù)學(xué)記號(hào)表達(dá)的詳細(xì)的形式化規(guī)格說(shuō)明;設(shè)計(jì)、實(shí)現(xiàn)和單元測(cè)試設(shè)計(jì)、實(shí)現(xiàn)和單元測(cè)試等開(kāi)發(fā)過(guò)程由一個(gè)變換開(kāi)發(fā)過(guò)程代替。通過(guò)一系列變換將形式的規(guī)格說(shuō)明細(xì)化成為程序。1.6 軟件工具概述 軟件工具的概念軟件工具的概念 軟件工具的發(fā)展軟件工具的發(fā)展 軟件工具的分類(lèi)軟件工具的分類(lèi) 常用軟件工具介紹常用軟件工具介紹1.6 軟件工具概述軟件工具是指能支持軟件生存周期中某一階段軟件工具是指能支持軟件生存周期中某一階段(如系統(tǒng)定義、需求分析、設(shè)計(jì)、編碼、測(cè)試或

22、(如系統(tǒng)定義、需求分析、設(shè)計(jì)、編碼、測(cè)試或維護(hù)等)的需要而使用的軟件工具。維護(hù)等)的需要而使用的軟件工具。早期的軟件工具主要用來(lái)輔助程序員編程,如編早期的軟件工具主要用來(lái)輔助程序員編程,如編輯程序、編譯程序、排錯(cuò)程序等。輯程序、編譯程序、排錯(cuò)程序等。軟件工具通常也稱為軟件工具通常也稱為CASE(CASE(計(jì)算機(jī)輔助軟件工程,計(jì)算機(jī)輔助軟件工程,computer aided software engineering)computer aided software engineering)工具。工具。l軟件工具的概念軟件工具的概念1.6 軟件工具概述l軟件工具的發(fā)展軟件工具的發(fā)展 5050年代末期

23、出現(xiàn)了年代末期出現(xiàn)了編輯程序、匯編程序和各種程序語(yǔ)言的編編輯程序、匯編程序和各種程序語(yǔ)言的編譯程序或解釋程序、連接程序、裝配程序、排錯(cuò)程序譯程序或解釋程序、連接程序、裝配程序、排錯(cuò)程序等輔助等輔助軟件編程活動(dòng)的工具。軟件編程活動(dòng)的工具。 6060年代末提出軟件工程的概念后,支持年代末提出軟件工程的概念后,支持軟件開(kāi)發(fā)、維護(hù)、管軟件開(kāi)發(fā)、維護(hù)、管理理等過(guò)程的各種活動(dòng)的工具也應(yīng)運(yùn)而生。等過(guò)程的各種活動(dòng)的工具也應(yīng)運(yùn)而生。 8080年代中期提出了軟件過(guò)程的新概念,人們開(kāi)始研制年代中期提出了軟件過(guò)程的新概念,人們開(kāi)始研制過(guò)程建過(guò)程建模的工具、過(guò)程評(píng)價(jià)工具模的工具、過(guò)程評(píng)價(jià)工具。 如今,軟件工具已由單個(gè)工

24、具向多個(gè)工具集成的如今,軟件工具已由單個(gè)工具向多個(gè)工具集成的方向發(fā)展,且注重工具間的平滑過(guò)渡和互操作性。方向發(fā)展,且注重工具間的平滑過(guò)渡和互操作性。1.6 軟件工具概述l軟件工具的分類(lèi)軟件工具的分類(lèi)支持軟件開(kāi)發(fā)過(guò)程的工具支持軟件開(kāi)發(fā)過(guò)程的工具:主要有需求分析工:主要有需求分析工具、設(shè)計(jì)工具具、設(shè)計(jì)工具( (通常還可以分為概要設(shè)計(jì)工具和通常還可以分為概要設(shè)計(jì)工具和詳細(xì)設(shè)計(jì)工具詳細(xì)設(shè)計(jì)工具) )、編碼工具、排錯(cuò)工具、測(cè)試工、編碼工具、排錯(cuò)工具、測(cè)試工具等。具等。支持軟件維護(hù)過(guò)程的工具支持軟件維護(hù)過(guò)程的工具:主要有版本控制工:主要有版本控制工具、文檔分析工具、信息庫(kù)開(kāi)發(fā)工具、逆向工具、文檔分析工具、

25、信息庫(kù)開(kāi)發(fā)工具、逆向工程工具、再工程工具等。程工具、再工程工具等。支持軟件管理過(guò)程和支持過(guò)程的工具支持軟件管理過(guò)程和支持過(guò)程的工具:主要有:主要有項(xiàng)目管理工具、配置管理工具、軟件評(píng)價(jià)工具項(xiàng)目管理工具、配置管理工具、軟件評(píng)價(jià)工具等。等。1.6 軟件工具概述l常用軟件工具常用軟件工具需求分析與設(shè)計(jì)工具需求分析與設(shè)計(jì)工具:目前使用的大多數(shù)工具:目前使用的大多數(shù)工具既支持需求分析工作,也支持軟件設(shè)計(jì)工作。既支持需求分析工作,也支持軟件設(shè)計(jì)工作。 IBM Rational Requirement Composer Enterprise Architect(EA) IBM Rational Softwar

26、e Architect Rational Rose Microsoft Office Visio PowerDesigner1.6 軟件工具概述編碼工具與排錯(cuò)工具編碼工具與排錯(cuò)工具:現(xiàn)代軟件開(kāi)發(fā)使用集成開(kāi):現(xiàn)代軟件開(kāi)發(fā)使用集成開(kāi)發(fā)環(huán)境發(fā)環(huán)境IDEIDE,一般包括代碼編輯器、編譯器、調(diào),一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面工具。試器和圖形用戶界面工具。Turbo系列的集成開(kāi)發(fā)環(huán)境(包括Turbo C,Turbo Pascal等)、C+ Builder、Delphi等 Microsoft Visual Studio(簡(jiǎn)稱VS)系列 Jbuilder Eclipse、MyEclipse

27、Netbeans1.6 軟件工具概述測(cè)試工具測(cè)試工具:分為程序單元測(cè)試工具、組裝測(cè)試工:分為程序單元測(cè)試工具、組裝測(cè)試工具和系統(tǒng)測(cè)試工具。具和系統(tǒng)測(cè)試工具。 單元測(cè)試工具:?jiǎn)卧獪y(cè)試工具:目前最流行的單元測(cè)試工具是xUnit系列框架。組裝測(cè)試工具:組裝測(cè)試工具:也稱為集成測(cè)試或聯(lián)合測(cè)試。包括WinRunner、 IBM Rational Functional Tester、 TestDirector等。系統(tǒng)測(cè)試工具:系統(tǒng)測(cè)試工具:系統(tǒng)測(cè)試是對(duì)整個(gè)基于計(jì)算機(jī)的系統(tǒng)進(jìn)行一系列不同考驗(yàn)的測(cè)試。 典型工具包括IBM Rational Robot、 IBM Rational Quality Manager

28、、 LoadRunner 等。1.7 軟件工程知識(shí)體系及知識(shí)域 軟件工程教育軟件工程教育(3 3個(gè)歷史時(shí)期個(gè)歷史時(shí)期) (1) 1978(1) 1978年以前:軟件工程教育以計(jì)算機(jī)專(zhuān)業(yè)的年以前:軟件工程教育以計(jì)算機(jī)專(zhuān)業(yè)的一門(mén)孤立的課程形式存在。一門(mén)孤立的課程形式存在。 (2) 1978(2) 197819881988年期間:早期的研究生學(xué)位教育,年期間:早期的研究生學(xué)位教育,開(kāi)始建立軟件工程專(zhuān)業(yè)的研究生學(xué)位教育項(xiàng)目。開(kāi)始建立軟件工程專(zhuān)業(yè)的研究生學(xué)位教育項(xiàng)目。 (3) 1988(3) 1988年以后:快速發(fā)展的研究生學(xué)科教育,年以后:快速發(fā)展的研究生學(xué)科教育,使軟件工程的理論快速發(fā)展,其中,卡內(nèi)基使軟件工程的理論快速發(fā)展,其中,卡內(nèi)基梅隆梅隆大學(xué)軟件工程研究所(大學(xué)軟件工程研究所(SEISEI)的影響不可忽視。)的影響不可忽視。 1.7 軟件工程知識(shí)體系及知識(shí)域 軟件工程知識(shí)體軟件工程知識(shí)體軟件工程已從計(jì)算機(jī)科學(xué)與技術(shù)中脫離出來(lái),逐軟件工程已從計(jì)算機(jī)科學(xué)與技術(shù)中脫離出來(lái),逐漸形成了一門(mén)獨(dú)立的學(xué)科。對(duì)其知識(shí)體系的研究漸形成了一門(mén)獨(dú)立的學(xué)科。對(duì)其知識(shí)體系的研究從從2020世紀(jì)世紀(jì)9090年代初就開(kāi)始了。年代初就開(kāi)始了。標(biāo)志是美國(guó)標(biāo)志是美國(guó)Embry-Rid

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論