版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第1章 軟件工程1 1.1 軟件概述軟件概述 1.2 軟件危機軟件危機 1.3 軟件工程軟件工程 1.4 軟件工程的基本原理軟件工程的基本原理1.1 軟件概述2 1717世紀(jì)世紀(jì)6060年代,年代,AdaAda(Augusta Ada LovelaceAugusta Ada Lovelace)成為史上第一個寫軟件的人,)成為史上第一個寫軟件的人,她第一次為她第一次為BabbageBabbage的分析機編制程序,實現(xiàn)了計算伯努利函數(shù)、級數(shù)相乘函數(shù)等的分析機編制程序,實現(xiàn)了計算伯努利函數(shù)、級數(shù)相乘函數(shù)等功能。也因此,人們公認(rèn)她是世界上第一位軟件工程師。功能。也因此,人們公認(rèn)她是世界上第一位軟件工程
2、師。 2020世紀(jì)世紀(jì)4040年代末,第一臺電子計算機年代末,第一臺電子計算機ENIACENIAC(ElectronicElectronic NumericalNumerical Integrator And CalculatorIntegrator And Calculator)在美國問世,軟件也隨之誕生,從此很多軟件工程)在美國問世,軟件也隨之誕生,從此很多軟件工程師陸續(xù)出現(xiàn)。師陸續(xù)出現(xiàn)。 到了到了2020世紀(jì)世紀(jì)6060年代,美國出現(xiàn)了專門編寫軟件的專業(yè),軟件起到了越來越突年代,美國出現(xiàn)了專門編寫軟件的專業(yè),軟件起到了越來越突出的作用,人們對軟件的認(rèn)識也更為深刻。出的作用,人們對軟件的認(rèn)
3、識也更為深刻。一、軟件發(fā)展歷程一、軟件發(fā)展歷程 1.1 軟件概述1 1第一階段(第一階段(2020世紀(jì)世紀(jì)5050年代初期至年代初期至2020世紀(jì)世紀(jì)6060年代中期)年代中期) 這個階段也被稱為程序設(shè)計階段。軟件生產(chǎn)以個體化為主;計算機的存儲容量這個階段也被稱為程序設(shè)計階段。軟件生產(chǎn)以個體化為主;計算機的存儲容量小,運算速度比較慢;編寫程序的工具只有低級語言;軟件規(guī)模不大,幾乎沒有系小,運算速度比較慢;編寫程序的工具只有低級語言;軟件規(guī)模不大,幾乎沒有系統(tǒng)化的標(biāo)準(zhǔn)可遵循,對軟件開發(fā)也沒有良好的管理方法。統(tǒng)化的標(biāo)準(zhǔn)可遵循,對軟件開發(fā)也沒有良好的管理方法。2 2第二階段(第二階段(2020世紀(jì)世
4、紀(jì)6060年代中期至年代中期至2020世紀(jì)世紀(jì)7070年代末期)年代末期) 這個階段也可稱為程序系統(tǒng)階段。在軟件使用中,由于缺乏有效的工程化方法這個階段也可稱為程序系統(tǒng)階段。在軟件使用中,由于缺乏有效的工程化方法的指導(dǎo),很多軟件不能按計劃完成,糾正源代碼錯誤、變更程序功能等軟件維護花的指導(dǎo),很多軟件不能按計劃完成,糾正源代碼錯誤、變更程序功能等軟件維護花費了人們更多的精力和資源,到了費了人們更多的精力和資源,到了2020世紀(jì)世紀(jì)6060年代中期,出現(xiàn)了所謂的軟件危機。年代中期,出現(xiàn)了所謂的軟件危機。3 3第三階段(第三階段(2020世紀(jì)世紀(jì)7070年代末至今)年代末至今) 這個階段,計算機硬件
5、向巨型機和微型機兩個方面發(fā)展;出現(xiàn)了計算機網(wǎng)絡(luò),這個階段,計算機硬件向巨型機和微型機兩個方面發(fā)展;出現(xiàn)了計算機網(wǎng)絡(luò),特別是特別是InternetInternet得到了飛速發(fā)展。因此,以軟件產(chǎn)品化、系列化、工程化、得到了飛速發(fā)展。因此,以軟件產(chǎn)品化、系列化、工程化、標(biāo)準(zhǔn)化為特征的軟件產(chǎn)業(yè)迅猛發(fā)展,推動了軟件工程學(xué)的進步。標(biāo)準(zhǔn)化為特征的軟件產(chǎn)業(yè)迅猛發(fā)展,推動了軟件工程學(xué)的進步。31.1 軟件概述 軟件軟件是計算機系統(tǒng)中與硬件(是計算機系統(tǒng)中與硬件(hardwarehardware)相互依存的另一部分,與硬件合為)相互依存的另一部分,與硬件合為一體完成系統(tǒng)功能。一體完成系統(tǒng)功能。軟件定義包括如下幾點
6、:軟件定義包括如下幾點:(1 1)功能和性能的指令集(即程序);)功能和性能的指令集(即程序);(2 2)程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)(即相關(guān)數(shù)據(jù));)程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)(即相關(guān)數(shù)據(jù));(3 3)與程序開發(fā)維護和使用有關(guān)的各種圖文數(shù)據(jù)(即說明文檔)。)與程序開發(fā)維護和使用有關(guān)的各種圖文數(shù)據(jù)(即說明文檔)。 隨著計算機應(yīng)用的日益普及,說明文檔(即各種程序文本、報告、說明、手隨著計算機應(yīng)用的日益普及,說明文檔(即各種程序文本、報告、說明、手冊等)在軟件開發(fā)與維護中體現(xiàn)的價值超出了軟件產(chǎn)品本身。特別是在軟件日益冊等)在軟件開發(fā)與維護中體現(xiàn)的價值超出了軟件產(chǎn)品本身。特別是在軟件日益成為產(chǎn)品的
7、今天,文檔的作用更加重要了。成為產(chǎn)品的今天,文檔的作用更加重要了。4二、軟件的定義二、軟件的定義 1.1 軟件概述5 1. 1.軟件是一種軟件是一種抽象的邏輯實體抽象的邏輯實體。人們無法看到其具體形態(tài),而必須通過觀。人們無法看到其具體形態(tài),而必須通過觀察、分析、思考、判斷等方式去了解它的特性功能。察、分析、思考、判斷等方式去了解它的特性功能。 2. 2. 軟件是通過人們的智力活動,把軟件是通過人們的智力活動,把知識與技術(shù)轉(zhuǎn)化為信息知識與技術(shù)轉(zhuǎn)化為信息的一種產(chǎn)品,的一種產(chǎn)品,是在研制、開發(fā)中被創(chuàng)造出來的。一旦某一軟件被研制成功,只需復(fù)制即可,但是在研制、開發(fā)中被創(chuàng)造出來的。一旦某一軟件被研制成功
8、,只需復(fù)制即可,但其維護的工作量大。其維護的工作量大。 3. 3. 軟件具有軟件具有“復(fù)雜性復(fù)雜性”,開發(fā)和運行經(jīng)常受到計算機系統(tǒng)的限制。,開發(fā)和運行經(jīng)常受到計算機系統(tǒng)的限制。 4. 4. 軟件軟件成本昂貴成本昂貴,開發(fā)方式目前尚未擺脫手工生產(chǎn)方式。,開發(fā)方式目前尚未擺脫手工生產(chǎn)方式。 5. 5. 在軟件的運行和使用期間,不存在硬件那樣的機器磨損、老化問題。但是在軟件的運行和使用期間,不存在硬件那樣的機器磨損、老化問題。但是軟件也存在退化問題,也需要軟件也存在退化問題,也需要維護維護。三、軟件的特點三、軟件的特點 6硬件失效率曲線硬件失效率曲線軟件失效率曲線軟件失效率曲線1.1 軟件概述1.1
9、 軟件概述7四、軟件的分類四、軟件的分類 1 1基于軟件的功能劃分基于軟件的功能劃分(1 1)系統(tǒng)軟件)系統(tǒng)軟件系統(tǒng)軟件是與計算機硬件緊密配合居于計算機系統(tǒng)中最靠近硬件系統(tǒng)軟件是與計算機硬件緊密配合居于計算機系統(tǒng)中最靠近硬件的一層。的一層。例如,設(shè)備驅(qū)動程序、操作系統(tǒng)等。例如,設(shè)備驅(qū)動程序、操作系統(tǒng)等。 (2 2)支撐軟件)支撐軟件支撐軟件是協(xié)助用戶開發(fā)軟件的工具性軟件。支撐軟件是協(xié)助用戶開發(fā)軟件的工具性軟件。例如,網(wǎng)絡(luò)軟件、數(shù)據(jù)庫管理程序等。例如,網(wǎng)絡(luò)軟件、數(shù)據(jù)庫管理程序等。 (3 3)應(yīng)用軟件)應(yīng)用軟件應(yīng)用軟件是在特定領(lǐng)域內(nèi)開發(fā)、為特定目的服務(wù)的軟件。應(yīng)用軟件是在特定領(lǐng)域內(nèi)開發(fā)、為特定目的
10、服務(wù)的軟件。例如,工程與科學(xué)計算軟件、系統(tǒng)仿真和人工智能軟件等。例如,工程與科學(xué)計算軟件、系統(tǒng)仿真和人工智能軟件等。1.1 軟件概述2 2基于軟件規(guī)模劃分基于軟件規(guī)模劃分(1 1)微型軟件微型軟件是指一個人在幾天內(nèi)完成、程序不超過是指一個人在幾天內(nèi)完成、程序不超過500500行語句且供個人專用的行語句且供個人專用的軟件。這類軟件沒有嚴(yán)格的分析和完整的設(shè)計與測試。軟件。這類軟件沒有嚴(yán)格的分析和完整的設(shè)計與測試。(2 2)小型軟件小型軟件是指由一個人在半年內(nèi)完成的是指由一個人在半年內(nèi)完成的20002000行語句以內(nèi)的程序。這種程序需行語句以內(nèi)的程序。這種程序需要有一定的標(biāo)準(zhǔn)化技術(shù)、正規(guī)的數(shù)據(jù)書寫以
11、及定期的系統(tǒng)審查,但沒有大型軟要有一定的標(biāo)準(zhǔn)化技術(shù)、正規(guī)的數(shù)據(jù)書寫以及定期的系統(tǒng)審查,但沒有大型軟件那樣嚴(yán)格。件那樣嚴(yán)格。(3 3)中型軟件中型軟件是指由是指由5 5個人以內(nèi)在一年多的時間里完成的個人以內(nèi)在一年多的時間里完成的500050005000050000行語句的程行語句的程序。中型軟件開始出現(xiàn)軟件人員之間、軟件人員與用戶之間的協(xié)調(diào)配合方面的序。中型軟件開始出現(xiàn)軟件人員之間、軟件人員與用戶之間的協(xié)調(diào)配合方面的問題,因而在開發(fā)中使用軟件工程方法是很必要的。問題,因而在開發(fā)中使用軟件工程方法是很必要的。(4 4)大型軟件大型軟件指指5 51010個人在兩年多的時間里完成的個人在兩年多的時間里
12、完成的5000050000到到100000100000行語句的程序。行語句的程序。在大型軟件中采用軟件工程方法進行規(guī)劃可以有效解決和避免突發(fā)事件,減少在大型軟件中采用軟件工程方法進行規(guī)劃可以有效解決和避免突發(fā)事件,減少危害性。危害性。(5 5)甚大型軟件甚大型軟件指指10010010001000人在人在4 45 5年時間里完成的具有年時間里完成的具有100100萬行語句規(guī)模的程萬行語句規(guī)模的程序的軟件項目。這種項目可能會被劃分成很多子項目,子項目間要建立復(fù)雜的序的軟件項目。這種項目可能會被劃分成很多子項目,子項目間要建立復(fù)雜的接口。接口。(6 6)極大型軟件極大型軟件指指20002000500
13、05000人在人在1010年內(nèi)完成的年內(nèi)完成的10001000萬行以內(nèi)語句的程序。這類萬行以內(nèi)語句的程序。這類軟件一般用于軍事指揮、彈道防御系統(tǒng)等項目。軟件一般用于軍事指揮、彈道防御系統(tǒng)等項目。81.1 軟件概述3 3基于軟件工作方式劃分基于軟件工作方式劃分(1 1)實時處理軟件實時處理軟件 指在事件或數(shù)據(jù)產(chǎn)生時,立即處理,并及時反饋信號,以控制需要監(jiān)測的部指在事件或數(shù)據(jù)產(chǎn)生時,立即處理,并及時反饋信號,以控制需要監(jiān)測的部 分和控制過程的軟件。分和控制過程的軟件。(2 2)分時軟件分時軟件 允許多個聯(lián)機用戶同時使用計算機的軟件。系統(tǒng)把處理機事件輪流分配給聯(lián)允許多個聯(lián)機用戶同時使用計算機的軟件。
14、系統(tǒng)把處理機事件輪流分配給聯(lián)機用戶,但用戶感覺是只有自己在使用計算機。機用戶,但用戶感覺是只有自己在使用計算機。(3 3)交互式軟件交互式軟件 能實現(xiàn)人機通信的軟件。這類軟件接收用戶給出的信息,但在時間上沒有嚴(yán)能實現(xiàn)人機通信的軟件。這類軟件接收用戶給出的信息,但在時間上沒有嚴(yán)格的限定。這種工作方式給予用戶很大的靈活度。格的限定。這種工作方式給予用戶很大的靈活度。(4 4)批處理軟件批處理軟件 把一組輸入作業(yè)或一批數(shù)據(jù)以成批處理的方式一次運行,按順序逐個處理的把一組輸入作業(yè)或一批數(shù)據(jù)以成批處理的方式一次運行,按順序逐個處理的軟件。軟件。91.2軟件危機10 軟件危機軟件危機是計算機軟件在它的開發(fā)
15、和維護過程中所遇到的一系列嚴(yán)重問題。是計算機軟件在它的開發(fā)和維護過程中所遇到的一系列嚴(yán)重問題。主要包含兩方面的問題:一方面是如何開發(fā)軟件,怎樣滿足對軟件日益增長的需求主要包含兩方面的問題:一方面是如何開發(fā)軟件,怎樣滿足對軟件日益增長的需求;另一方面是如何維護數(shù)量不斷膨脹的已有軟件。;另一方面是如何維護數(shù)量不斷膨脹的已有軟件。一、軟件危機的定義一、軟件危機的定義 二、產(chǎn)生軟件危機的原因二、產(chǎn)生軟件危機的原因 一、與軟件本身的特點有關(guān)一、與軟件本身的特點有關(guān)二、與軟件開發(fā)和維護的方法不正確有關(guān)。二、與軟件開發(fā)和維護的方法不正確有關(guān)。111.2軟件危機軟件危機的產(chǎn)生,與以下因素有著密切的關(guān)系:軟件危
16、機的產(chǎn)生,與以下因素有著密切的關(guān)系:(1 1)軟件是計算機系統(tǒng)的邏輯部件,缺乏)軟件是計算機系統(tǒng)的邏輯部件,缺乏“可見性可見性”,且軟件產(chǎn)品往往規(guī)模龐大,且軟件產(chǎn)品往往規(guī)模龐大,給軟件的開發(fā)和維護帶來了客觀的困難。給軟件的開發(fā)和維護帶來了客觀的困難。(2 2)軟件一般要使用)軟件一般要使用5 51010年,在這段時間里,可能會出現(xiàn)當(dāng)初沒有預(yù)料的問題。年,在這段時間里,可能會出現(xiàn)當(dāng)初沒有預(yù)料的問題。如系統(tǒng)運行的環(huán)境發(fā)生變化、軟件需求發(fā)生變化等,都需要及時地對軟件進行維如系統(tǒng)運行的環(huán)境發(fā)生變化、軟件需求發(fā)生變化等,都需要及時地對軟件進行維護和更新,以延長軟件的使用壽命。護和更新,以延長軟件的使用壽
17、命。(3 3)軟件的開發(fā)技術(shù)落后,生產(chǎn)方式和開發(fā)工具落后。)軟件的開發(fā)技術(shù)落后,生產(chǎn)方式和開發(fā)工具落后。(4 4)軟件開發(fā)人員忽視軟件需求分析的重要性,輕視軟件的維護,也是造成軟件)軟件開發(fā)人員忽視軟件需求分析的重要性,輕視軟件的維護,也是造成軟件危機的原因。危機的原因。1.2軟件危機12三、軟件危機的表現(xiàn)形式三、軟件危機的表現(xiàn)形式 1.1.軟件發(fā)展速度跟不上硬件的發(fā)展和用戶的實際需求軟件發(fā)展速度跟不上硬件的發(fā)展和用戶的實際需求 計算機硬件發(fā)展迅速,生產(chǎn)成本逐年下降,呈現(xiàn)出迅速普及和深入的趨勢,計算機硬件發(fā)展迅速,生產(chǎn)成本逐年下降,呈現(xiàn)出迅速普及和深入的趨勢,而軟件開發(fā)生產(chǎn)率提高的速度遠遠跟不
18、上發(fā)展的要求,使人們不能充分利用計算而軟件開發(fā)生產(chǎn)率提高的速度遠遠跟不上發(fā)展的要求,使人們不能充分利用計算機硬件提供的巨大潛力。機硬件提供的巨大潛力。2 2對軟件開發(fā)成本和進度估計不準(zhǔn)確使用戶不滿意對軟件開發(fā)成本和進度估計不準(zhǔn)確使用戶不滿意 由于軟件應(yīng)用范圍的擴大,軟件開發(fā)者對某些領(lǐng)域不熟悉,再加上和用戶交由于軟件應(yīng)用范圍的擴大,軟件開發(fā)者對某些領(lǐng)域不熟悉,再加上和用戶交流少,使得對軟件開發(fā)成本的估算偏低,實際進度比預(yù)期進度推遲。流少,使得對軟件開發(fā)成本的估算偏低,實際進度比預(yù)期進度推遲。3. 3. 軟件產(chǎn)品的質(zhì)量差軟件產(chǎn)品的質(zhì)量差軟件質(zhì)量保證技術(shù)沒有應(yīng)用到軟件開發(fā)的全部過程,導(dǎo)致了軟件產(chǎn)品的
19、質(zhì)量軟件質(zhì)量保證技術(shù)沒有應(yīng)用到軟件開發(fā)的全部過程,導(dǎo)致了軟件產(chǎn)品的質(zhì)量問題頻繁發(fā)生。問題頻繁發(fā)生。1.2軟件危機134. 4. 軟件產(chǎn)品的可維護性差軟件產(chǎn)品的可維護性差 軟件設(shè)計時不注重程序的可讀性,程序中出現(xiàn)的很多錯誤難以改正,這些程軟件設(shè)計時不注重程序的可讀性,程序中出現(xiàn)的很多錯誤難以改正,這些程序也就不能很好地適應(yīng)硬件環(huán)境的發(fā)展,對于用戶提出的新需求不能在原程序的序也就不能很好地適應(yīng)硬件環(huán)境的發(fā)展,對于用戶提出的新需求不能在原程序的基礎(chǔ)上增加功能,造成軟件的不可重用,維護困難,從而影響到產(chǎn)品的壽命?;A(chǔ)上增加功能,造成軟件的不可重用,維護困難,從而影響到產(chǎn)品的壽命。5 5軟件文檔資料不完
20、整軟件文檔資料不完整 計算機軟件不僅僅是程序,還應(yīng)該包括完整的文檔資料。這些文檔資料應(yīng)該計算機軟件不僅僅是程序,還應(yīng)該包括完整的文檔資料。這些文檔資料應(yīng)該是在軟件開發(fā)過程中生產(chǎn)出來的,而且應(yīng)該是和程序代碼完全一致的。通過軟件是在軟件開發(fā)過程中生產(chǎn)出來的,而且應(yīng)該是和程序代碼完全一致的。通過軟件危機的表現(xiàn)形式,可以得出結(jié)論,在軟件開發(fā)和維護過程中存在著嚴(yán)重的問題。危機的表現(xiàn)形式,可以得出結(jié)論,在軟件開發(fā)和維護過程中存在著嚴(yán)重的問題。這些問題一方面與軟件本身的特點有關(guān),另一方面也和軟件開發(fā)與維護的方法有這些問題一方面與軟件本身的特點有關(guān),另一方面也和軟件開發(fā)與維護的方法有關(guān)。關(guān)。1.2軟件危機 (
21、1 1)加強軟件開發(fā)過程的管理,構(gòu)建良好的組織、嚴(yán)密的管理和協(xié)調(diào)工作的)加強軟件開發(fā)過程的管理,構(gòu)建良好的組織、嚴(yán)密的管理和協(xié)調(diào)工作的機制。機制。 (2 2)推廣使用開發(fā)軟件的成功技術(shù)與方法,探索更好的、更有效的技術(shù)和方)推廣使用開發(fā)軟件的成功技術(shù)與方法,探索更好的、更有效的技術(shù)和方法,盡快消除在計算機系統(tǒng)早期發(fā)展階段形成的錯誤概念。法,盡快消除在計算機系統(tǒng)早期發(fā)展階段形成的錯誤概念。 (3 3)開發(fā)和使用好的軟件工具,在適當(dāng)?shù)能浖ぞ叩闹С窒?,開發(fā)人員可以)開發(fā)和使用好的軟件工具,在適當(dāng)?shù)能浖ぞ叩闹С窒拢_發(fā)人員可以更好地完成工作。更好地完成工作。 總之,解決軟件危機既有技術(shù)措施,又有管理
22、措施。軟件工程正是從這兩個總之,解決軟件危機既有技術(shù)措施,又有管理措施。軟件工程正是從這兩個方面研究如何更好地開發(fā)和維護計算機軟件的一門新興學(xué)科。方面研究如何更好地開發(fā)和維護計算機軟件的一門新興學(xué)科。14四、解決軟件危機的途徑四、解決軟件危機的途徑 1.3軟件工程15一、軟件工程的定義一、軟件工程的定義 “ “軟件工程軟件工程”一詞是一詞是19681968年北大西洋公約組織(年北大西洋公約組織(NATONATO)在聯(lián)邦德國召開的一)在聯(lián)邦德國召開的一次會議上首次提出的,這個會議專門討論了軟件危機問題次會議上首次提出的,這個會議專門討論了軟件危機問題. .這反映了軟件人員認(rèn)識這反映了軟件人員認(rèn)識
23、到軟件危機的出現(xiàn)及謀求解決這一危機的努力,因此,這次會議被看作是軟件發(fā)到軟件危機的出現(xiàn)及謀求解決這一危機的努力,因此,這次會議被看作是軟件發(fā)展史上一個重要的里程碑。到現(xiàn)在,軟件工程走過了展史上一個重要的里程碑。到現(xiàn)在,軟件工程走過了4040多年的歷程。在這多年的歷程。在這4040多年多年的發(fā)展中,人們針對軟件危機的表現(xiàn)和原因,經(jīng)過不斷的實踐和總結(jié),越來越認(rèn)的發(fā)展中,人們針對軟件危機的表現(xiàn)和原因,經(jīng)過不斷的實踐和總結(jié),越來越認(rèn)識到,按照工程化的原則和方法組織軟件開發(fā)工作是擺脫軟件危機的一個主要出識到,按照工程化的原則和方法組織軟件開發(fā)工作是擺脫軟件危機的一個主要出路。目前,盡管軟件危機并沒有被徹
24、底解決,但軟件工程的發(fā)展可以說碩果累累。路。目前,盡管軟件危機并沒有被徹底解決,但軟件工程的發(fā)展可以說碩果累累。1 1著名的軟件工程專家著名的軟件工程專家B.W.BoehmB.W.Boehm對軟件工程的定義對軟件工程的定義 “軟件工程軟件工程”是開發(fā)、運行、維護和修復(fù)軟件的系統(tǒng)方法。這個定義概括了軟是開發(fā)、運行、維護和修復(fù)軟件的系統(tǒng)方法。這個定義概括了軟件工程是一種系統(tǒng)方法,而不是單獨的個人技巧的體現(xiàn)。件工程是一種系統(tǒng)方法,而不是單獨的個人技巧的體現(xiàn)。2 2Frize BauerFrize Bauer在在NATONATO會議上對軟件工程的定義會議上對軟件工程的定義盡力使用完善的工程化原則,以較
25、經(jīng)濟的手段獲得能在實際機器上有效運行盡力使用完善的工程化原則,以較經(jīng)濟的手段獲得能在實際機器上有效運行的可靠軟件的一系列方法。的可靠軟件的一系列方法。3 3IEEEIEEE在軟件工程術(shù)語匯編中的定義在軟件工程術(shù)語匯編中的定義IEEEIEEE對軟件工程給出了更加全面的定義。軟件工程是把系統(tǒng)化的、規(guī)范化的、對軟件工程給出了更加全面的定義。軟件工程是把系統(tǒng)化的、規(guī)范化的、可度量的途徑應(yīng)用于軟件開發(fā)、運行和維護的過程并研究其實現(xiàn)途徑,即把工程可度量的途徑應(yīng)用于軟件開發(fā)、運行和維護的過程并研究其實現(xiàn)途徑,即把工程 化的方法應(yīng)用于軟件中。化的方法應(yīng)用于軟件中。1.3軟件工程 除以上定義外,軟件工程還有許多
26、其他的定義,但其基本思想都是強調(diào)在軟件除以上定義外,軟件工程還有許多其他的定義,但其基本思想都是強調(diào)在軟件開發(fā)過程中應(yīng)用工程化原則,解決軟件的整體質(zhì)量較低、最后期限和費用沒有開發(fā)過程中應(yīng)用工程化原則,解決軟件的整體質(zhì)量較低、最后期限和費用沒有保證等問題保證等問題。16(1 1)質(zhì)量保證層:支持軟件工程的根基就在)質(zhì)量保證層:支持軟件工程的根基就在于對質(zhì)量的關(guān)注。于對質(zhì)量的關(guān)注。(2 2)過程層:與方法層結(jié)合在一起,定義了)過程層:與方法層結(jié)合在一起,定義了一組關(guān)鍵過程域框架,目的是保證軟件工程一組關(guān)鍵過程域框架,目的是保證軟件工程技術(shù)被有效地利用,使得軟件能夠被及時地、技術(shù)被有效地利用,使得軟
27、件能夠被及時地、高質(zhì)量地和合理地開發(fā)出來。高質(zhì)量地和合理地開發(fā)出來。(3 3)方法層:提供了軟件開發(fā)的各種方法,)方法層:提供了軟件開發(fā)的各種方法,包括如何進行軟件需求的分析和設(shè)計,如何包括如何進行軟件需求的分析和設(shè)計,如何實現(xiàn)設(shè)計、測試和維護等方法。實現(xiàn)設(shè)計、測試和維護等方法。(4 4)工具層:為軟件工程方法和過程提供了)工具層:為軟件工程方法和過程提供了自動軟件工程工具,可以有效地改善軟件開自動軟件工程工具,可以有效地改善軟件開發(fā)過程,提高軟件開發(fā)的效率,降低開發(fā)和發(fā)過程,提高軟件開發(fā)的效率,降低開發(fā)和管理成本。管理成本。軟件工程層次結(jié)構(gòu)圖軟件工程層次結(jié)構(gòu)圖1.3軟件工程17 1 1、合理
28、預(yù)算開發(fā)成本,付出較低的開發(fā)費用。、合理預(yù)算開發(fā)成本,付出較低的開發(fā)費用。2 2、達到要求的軟件功能,滿足用戶的需求。、達到要求的軟件功能,滿足用戶的需求。3 3、取得較好的軟件性能。、取得較好的軟件性能。4 4、開發(fā)的軟件易于移植。、開發(fā)的軟件易于移植。5 5、提高開發(fā)軟件的可維護性,降低維護費用。、提高開發(fā)軟件的可維護性,降低維護費用。6 6、能按時完成開發(fā)工作,及時交付使用。、能按時完成開發(fā)工作,及時交付使用。二、軟件工程的目標(biāo)二、軟件工程的目標(biāo)1.3軟件工程18軟件工程目標(biāo)之間的關(guān)系1.3軟件工程序號序號研究內(nèi)容研究內(nèi)容具體內(nèi)容具體內(nèi)容1 1軟件開發(fā)模型軟件開發(fā)模型如瀑布模型、增量模型
29、等如瀑布模型、增量模型等2 2軟件開發(fā)方法軟件開發(fā)方法如面向過程方法、面向數(shù)據(jù)結(jié)構(gòu)方法、面向?qū)θ缑嫦蜻^程方法、面向數(shù)據(jù)結(jié)構(gòu)方法、面向?qū)ο蠓椒ǖ认蠓椒ǖ? 3軟件支持過程軟件支持過程如如CASECASE工具工具ROSEROSE、Power DesignerPower Designer等等 4 4軟件管理過程軟件管理過程如如ISO 9000ISO 9000、CMMCMM(軟件能力成熟度模型)等(軟件能力成熟度模型)等 19三、軟件工程的研究內(nèi)容三、軟件工程的研究內(nèi)容現(xiàn)代軟件工程研究的內(nèi)容現(xiàn)代軟件工程研究的內(nèi)容1.3軟件工程 軟件開發(fā)模型軟件開發(fā)模型是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型;是描述
30、軟件開發(fā)過程中各種活動如何執(zhí)行的模型; 軟件開發(fā)方法軟件開發(fā)方法是使用定義好的計數(shù)集和符號來表示習(xí)慣,以組織軟件生產(chǎn)是使用定義好的計數(shù)集和符號來表示習(xí)慣,以組織軟件生產(chǎn)過程的方法;過程的方法; 軟件工程中的過程軟件工程中的過程,是指軟件生命周期中的時間序列,它有起始點和終,是指軟件生命周期中的時間序列,它有起始點和終止點,軟件工程的支持過程,由支持軟件生命周期各個階段的生產(chǎn)工具組成,止點,軟件工程的支持過程,由支持軟件生命周期各個階段的生產(chǎn)工具組成,如需求分析工具、設(shè)計工具實現(xiàn)工具、測試工具和開發(fā)環(huán)境等;如需求分析工具、設(shè)計工具實現(xiàn)工具、測試工具和開發(fā)環(huán)境等; 軟件工程的管理過程軟件工程的管理過程,能保證改進企業(yè)的管理過程,并最終促進產(chǎn)品質(zhì),能保證改進企業(yè)的管理過程,并最終促進產(chǎn)品質(zhì)量的提高,但是不能保證企業(yè)軟量的提高,但是不能保證企業(yè)軟100%合格。合格。201.4軟件工程的基本原理
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度模特形象代言效果評估服務(wù)合同4篇
- 二零二五年版離婚后財產(chǎn)分配協(xié)議范本:女方不要求財產(chǎn)4篇
- 2025年度個人無息借款合同風(fēng)險評估與管理4篇
- 二零二五年度環(huán)保型打印耗材供應(yīng)與回收合同3篇
- 二零二四年度榨菜種植與農(nóng)村電商體系建設(shè)合同3篇
- 二零二五年度金屬沖壓廢棄物回收利用合作協(xié)議4篇
- 二零二五版汽車出口貿(mào)易合同規(guī)范4篇
- 2025年度大型影視劇導(dǎo)演團隊聘用協(xié)議書3篇
- 2025年度信息技術(shù)內(nèi)部項目承包合作協(xié)議4篇
- 2025年度美容院客戶關(guān)系管理系統(tǒng)及數(shù)據(jù)分析服務(wù)合同4篇
- 【“凡爾賽”網(wǎng)絡(luò)流行語的形成及傳播研究11000字(論文)】
- ppr管件注塑工藝
- 液化氣站其他危險和有害因素辨識及分析
- 建筑工程施工安全管理思路及措施
- 高中語文教學(xué)課例《勸學(xué)》課程思政核心素養(yǎng)教學(xué)設(shè)計及總結(jié)反思
- 中國農(nóng)業(yè)銀行小微企業(yè)信貸業(yè)務(wù)貸后管理辦法規(guī)定
- 初中英語-Unit2 My dream job(writing)教學(xué)課件設(shè)計
- 市政道路建設(shè)工程竣工驗收質(zhì)量自評報告
- 優(yōu)秀支行行長推薦材料
- 中國版梅尼埃病診斷指南解讀
- 暨南大學(xué)《經(jīng)濟學(xué)》考博歷年真題詳解(宏觀經(jīng)濟學(xué)部分)
評論
0/150
提交評論