第1章軟件工程概論_第1頁
第1章軟件工程概論_第2頁
第1章軟件工程概論_第3頁
第1章軟件工程概論_第4頁
第1章軟件工程概論_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、教育軟件工程教育軟件工程馬秀峰馬秀峰JC 826 QQ:385574414課程的內(nèi)容第一部分 軟件工程概論n 后續(xù)內(nèi)容(第二部分)學(xué)習(xí)的基礎(chǔ)n學(xué)位論文寫作的需要第二部分 多媒體教學(xué)軟件設(shè)計方法課程的內(nèi)容學(xué)習(xí)參考書目第一部分 軟件工程概論(1)軟件工程理論、方法與實踐,孫家廣,劉強,高等教育出版社,2005. (2)軟件工程原理、方法與應(yīng)用,高等教育出版社,史濟民等,2002.(3)軟件工程概論,鄭人杰等,清華大學(xué)出版社,1998.第二部分 多媒體教學(xué)軟件設(shè)計(4)多媒體教學(xué)軟件設(shè)計原理與方法,張軍征,科學(xué)出版社,2007.(5)多媒體課件設(shè)計與制作基礎(chǔ),張軍征等,高等教育出版社,2005.(6

2、)多媒體教學(xué)軟件設(shè)計與開發(fā)(理論篇部分),王志軍等,高等教育出版社,2006.(7)多媒體教學(xué)軟件設(shè)計,謝幼如等,電子工業(yè)出版社,1999. 參考書目第一部分 軟件工程概論第1章 軟件工程概述第2章 軟件過程第3章 軟件需求分析第4章 軟件設(shè)計概述第5章 詳細設(shè)計描述的工具第6章 程序編碼Software engineering教學(xué)軟件設(shè)計方法第1章 軟件工程概述(孫家廣 主編)1.1 軟件的概念、特性和分類1.2 軟件的發(fā)展和軟件危機1.3 軟件工程的概念1.4 軟件的生存期教學(xué)軟件設(shè)計方法6/511.1 軟件的概念、特點和分類一、軟件的概念定義1IEEE Standard Glossary

3、 of Software Engineering Terminology:第1章 軟件工程概述IEEE:電子與電氣工程師協(xié)會:電子與電氣工程師協(xié)會軟件是計算機軟件是計算機程序程序、規(guī)程以及運行計算機系統(tǒng)可能需要的相、規(guī)程以及運行計算機系統(tǒng)可能需要的相關(guān)關(guān)文檔文檔和和數(shù)據(jù)數(shù)據(jù)。(1) 計算機程序:計算機設(shè)備可以接受的一系列指令和說明,計算機程序:計算機設(shè)備可以接受的一系列指令和說明,為計算機執(zhí)行提供所需的功能和性能。為計算機執(zhí)行提供所需的功能和性能。(2) 數(shù)據(jù):是事實、概念或指令的結(jié)構(gòu)化表示,能夠被計算數(shù)據(jù):是事實、概念或指令的結(jié)構(gòu)化表示,能夠被計算機設(shè)備接受、理解或處理。機設(shè)備接受、理解或處

4、理。(3) 文檔:描述程序研制過程、方法及使用的圖文材料。文檔:描述程序研制過程、方法及使用的圖文材料。(軟件工程,孫家廣主編,高教版,2005.P1)7/51一、軟件的概念-定義2著名的美國軟件工程教材作者著名的美國軟件工程教材作者R.S.Pressman的定義:的定義:“軟軟件是能夠完成預(yù)定功能和性能的可執(zhí)行的計算機件是能夠完成預(yù)定功能和性能的可執(zhí)行的計算機程序程序和使程和使程序正常執(zhí)行所需要的序正常執(zhí)行所需要的數(shù)據(jù)數(shù)據(jù),加上描述程序的操作和使用的,加上描述程序的操作和使用的文文檔檔”軟件程序數(shù)據(jù)文檔軟件程序數(shù)據(jù)文檔程序程序是為了解決某個特定問題而用程序設(shè)計語言描述的適合是為了解決某個特定

5、問題而用程序設(shè)計語言描述的適合計算機處理的語句序列;計算機處理的語句序列;數(shù)據(jù)數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔文檔是與程序開發(fā)、維護和使用有關(guān)的圖文材料。是與程序開發(fā)、維護和使用有關(guān)的圖文材料。1.1 軟件的概念、特點和分類(軟件工程,史濟民等,高教版,(軟件工程,史濟民等,高教版,2002.p2)1.1 軟件的概念、特點和分類9/5110/51二、軟件的特性n計算機在使社會生產(chǎn)力得到迅速解放、社會高度計算機在使社會生產(chǎn)力得到迅速解放、社會高度自動化和信息化的同時,卻自動化和信息化的同時,卻沒有沒有使計算機本身的使計算機本身的軟件生產(chǎn)軟件生產(chǎn)得到類似

6、的巨大進步。得到類似的巨大進步。n軟件開發(fā)依然面臨著過分依賴人工、軟件難以重軟件開發(fā)依然面臨著過分依賴人工、軟件難以重用、開發(fā)大量重復(fù)和生產(chǎn)率低下等問題,而導(dǎo)致用、開發(fā)大量重復(fù)和生產(chǎn)率低下等問題,而導(dǎo)致這些問題的關(guān)鍵在于軟件本身的特性。這些問題的關(guān)鍵在于軟件本身的特性。1.1 軟件的概念、特點和分類11/51二、軟件的特性1.1.軟件是復(fù)雜的n軟件是人類思維和智能的一種延伸和在異體上的再現(xiàn),軟件是人類思維和智能的一種延伸和在異體上的再現(xiàn),遠比任何以往人類的創(chuàng)造物都要復(fù)雜得多;遠比任何以往人類的創(chuàng)造物都要復(fù)雜得多;n由于復(fù)雜性,人們難以全面理解問題,團隊成員之間的由于復(fù)雜性,人們難以全面理解問題

7、,團隊成員之間的溝通也變得非常困難,從而導(dǎo)致了產(chǎn)品缺陷、成本超支溝通也變得非常困難,從而導(dǎo)致了產(chǎn)品缺陷、成本超支和進度拖延;和進度拖延;n由于復(fù)雜性,描述和理解軟件系統(tǒng)所有可能的狀態(tài)是極由于復(fù)雜性,描述和理解軟件系統(tǒng)所有可能的狀態(tài)是極其困難的,影響了產(chǎn)品的可靠性;其困難的,影響了產(chǎn)品的可靠性;n由于軟件結(jié)構(gòu)及其依賴關(guān)系的復(fù)雜性,軟件的任何更改由于軟件結(jié)構(gòu)及其依賴關(guān)系的復(fù)雜性,軟件的任何更改和擴充都可能帶來災(zāi)難性的后果,形成所謂的和擴充都可能帶來災(zāi)難性的后果,形成所謂的“雪崩效雪崩效應(yīng)應(yīng)”。1.1 軟件的概念、特點和分類12/511.1.軟件是復(fù)雜的2.2.軟件是不可見的n軟件是介于客觀世界空間

8、和計算機空間之間的一軟件是介于客觀世界空間和計算機空間之間的一種種邏輯實體邏輯實體,不具有物理的形體特征。,不具有物理的形體特征。 人們一直試圖用不同的圖形技術(shù)來描述軟件結(jié)構(gòu),人們一直試圖用不同的圖形技術(shù)來描述軟件結(jié)構(gòu),但至今仍然無法給出準(zhǔn)確的、完整的描述。但至今仍然無法給出準(zhǔn)確的、完整的描述。n由于軟件的不可見性,定義由于軟件的不可見性,定義“需要做什么需要做什么”成為成為軟件開發(fā)的根本問題。軟件開發(fā)的根本問題。二、軟件的特性1.1 軟件的概念、特點和分類13/513.3.軟件是不斷變化的n盡管軟件不會象硬件一樣發(fā)生磨損,但是需要隨盡管軟件不會象硬件一樣發(fā)生磨損,但是需要隨著應(yīng)用、硬件、用戶

9、和社會等各種因素的變化而著應(yīng)用、硬件、用戶和社會等各種因素的變化而不斷地修改和擴展。不斷地修改和擴展。n由于軟件是人類思維和智能的一種延伸,因此由于軟件是人類思維和智能的一種延伸,因此當(dāng)軟件被真正應(yīng)用之后,人們往往希望超越原當(dāng)軟件被真正應(yīng)用之后,人們往往希望超越原有的應(yīng)用邊界進行軟件功能的有的應(yīng)用邊界進行軟件功能的提升或擴展提升或擴展。n由于軟件必須依附于硬件平臺,因此需要隨著由于軟件必須依附于硬件平臺,因此需要隨著硬件設(shè)備的更新和接口的不同而硬件設(shè)備的更新和接口的不同而變化變化。二、軟件的特性1.1 軟件的概念、特點和分類14/51二、軟件的特性4 4. .軟件的開發(fā)至今尚未完全擺脫手工藝的

10、開發(fā)方式n在軟件的發(fā)展歷程中,曾經(jīng)涌現(xiàn)出許多開發(fā)技術(shù)和開發(fā)工在軟件的發(fā)展歷程中,曾經(jīng)涌現(xiàn)出許多開發(fā)技術(shù)和開發(fā)工具,當(dāng)前流行的面向?qū)ο箝_發(fā)技術(shù)也日趨成熟,但是具,當(dāng)前流行的面向?qū)ο箝_發(fā)技術(shù)也日趨成熟,但是手工手工作坊式的軟件開發(fā)方式仍占主導(dǎo)地位。作坊式的軟件開發(fā)方式仍占主導(dǎo)地位。n軟件軟件復(fù)用復(fù)用和軟件和軟件構(gòu)件構(gòu)件技術(shù)受到廣泛的關(guān)注,并成為一種社技術(shù)受到廣泛的關(guān)注,并成為一種社會認可的開發(fā)方法,有助于軟件工程化、工廠化生產(chǎn)的實會認可的開發(fā)方法,有助于軟件工程化、工廠化生產(chǎn)的實現(xiàn)?,F(xiàn)。1.1 軟件的概念、特點和分類15/51二、軟件的特性5.5.軟件成本相當(dāng)昂貴n2020世紀(jì)世紀(jì)5050年代末,

11、軟件的開銷大約占總開銷年代末,軟件的開銷大約占總開銷的百分之幾,大部分成本要花在硬件上;的百分之幾,大部分成本要花在硬件上;n2020世紀(jì)世紀(jì)8080年代這個比例完全顛倒過來,軟件年代這個比例完全顛倒過來,軟件的開銷大大超過硬件的開銷。的開銷大大超過硬件的開銷。1.1 軟件的概念、特點和分類美國每年投入美國每年投入軟件開發(fā)的經(jīng)軟件開發(fā)的經(jīng)費要有幾百億費要有幾百億美元。美元。16/48二、軟件的特性(總結(jié))1.1.軟件是復(fù)雜的軟件是復(fù)雜的2.2.軟件是不可見的軟件是不可見的3.3.軟件是不斷變化的軟件是不斷變化的4 4. .軟件的開發(fā)至今尚未完全擺脫軟件的開發(fā)至今尚未完全擺脫手工藝的開發(fā)方式手工

12、藝的開發(fā)方式5.5.軟件成本相當(dāng)昂貴軟件成本相當(dāng)昂貴1.1 軟件的概念、特點和分類17/48三、軟件的分類1. 按軟件規(guī)模進行劃分2. 按軟件服務(wù)對象的范圍劃分1.1 軟件的概念、特點和分類18/481. 1. 按軟件規(guī)模進行劃分類別類別程序行數(shù)程序行數(shù)參加參加人數(shù)人數(shù)研制研制期限期限微型微型500114周周小型小型1千千2千千116月月中型中型5千千50千千2512年年大型大型50千千100千千52023年年甚大型甚大型1000千千100100045年年極大型極大型1000千千10000千千20005000510年年三、軟件的分類開發(fā)特點開發(fā)特點無需做嚴(yán)格的分析,不必有完整的設(shè)計、測試材料無

13、需做嚴(yán)格的分析,不必有完整的設(shè)計、測試材料需要一定的技術(shù)資料,定期進行系統(tǒng)檢查需要一定的技術(shù)資料,定期進行系統(tǒng)檢查出現(xiàn)了軟件人員之間、軟件人員與用戶之間的聯(lián)系、出現(xiàn)了軟件人員之間、軟件人員與用戶之間的聯(lián)系、協(xié)調(diào)的配合關(guān)系問題;需要嚴(yán)格進行計劃、資料書協(xié)調(diào)的配合關(guān)系問題;需要嚴(yán)格進行計劃、資料書寫以及技術(shù)審查寫以及技術(shù)審查;有必要使用軟件工程方法。有必要使用軟件工程方法。采用統(tǒng)一標(biāo)準(zhǔn),實行嚴(yán)格的審查;采用統(tǒng)一標(biāo)準(zhǔn),實行嚴(yán)格的審查;必須有軟件工程必須有軟件工程方法的支持。方法的支持。劃分為若干子項目,子項目之間有復(fù)雜的接口;劃分為若干子項目,子項目之間有復(fù)雜的接口;必必須有軟件工程方法的支持須有軟

14、件工程方法的支持。必須有軟件工程方法的支持必須有軟件工程方法的支持19/482. 按軟件服務(wù)對象的范圍劃分n通用軟件: 是由軟件開發(fā)機構(gòu)開發(fā)出來直接提供給是由軟件開發(fā)機構(gòu)開發(fā)出來直接提供給市場市場,為,為眾多用眾多用戶戶服務(wù)的軟件。例如,操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、文字處理服務(wù)的軟件。例如,操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、文字處理軟件、繪圖軟件包和小學(xué)統(tǒng)編教學(xué)課件等。軟件、繪圖軟件包和小學(xué)統(tǒng)編教學(xué)課件等。n定制軟件: 是受某個特定客戶的是受某個特定客戶的委托委托,由一個或多個軟件開發(fā)機構(gòu),由一個或多個軟件開發(fā)機構(gòu)在在合同合同的約束下開發(fā)出來的軟件。例如的約束下開發(fā)出來的軟件。例如“企業(yè)企業(yè)ERP”、“衛(wèi)星控制

15、系統(tǒng)衛(wèi)星控制系統(tǒng)” 、“交通指揮系統(tǒng)交通指揮系統(tǒng)”、“數(shù)字電視控數(shù)字電視控制系統(tǒng)制系統(tǒng)”等。等。三、軟件的分類ERP, Enterprise Resourse Planning : 企業(yè)資源規(guī)劃企業(yè)資源規(guī)劃 20/481.2 軟件的發(fā)展和軟件危機n程序設(shè)計階段:程序設(shè)計階段:2020世紀(jì)世紀(jì)50506060年代年代n程序系統(tǒng)階段:程序系統(tǒng)階段:2020世紀(jì)世紀(jì)60607070年代年代n軟件工程階段:軟件工程階段:2020世紀(jì)世紀(jì)7070年代以后年代以后第1章 軟件工程概述一、軟件發(fā)展的三個階段21/48一、軟件發(fā)展的三個階段 1.程序設(shè)計階段:20世紀(jì)5060年代 程序設(shè)計被認為是一種任人程序

16、設(shè)計被認為是一種任人發(fā)揮創(chuàng)造才能的活動,不存發(fā)揮創(chuàng)造才能的活動,不存在什么系統(tǒng)化的方法和開發(fā)在什么系統(tǒng)化的方法和開發(fā)管理,程序的質(zhì)量完全依賴管理,程序的質(zhì)量完全依賴于程序員個人的技巧。于程序員個人的技巧。1.2 軟件的發(fā)展和軟件危機軟件:軟件:程序程序數(shù)據(jù)數(shù)據(jù)文檔文檔軟件開發(fā):軟件開發(fā):定義定義設(shè)計設(shè)計編碼編碼測試測試使用使用維護維護22/482.程序系統(tǒng)階段:20世紀(jì)6070年代 軟件的概念內(nèi)涵不再僅僅是軟件的概念內(nèi)涵不再僅僅是程序,還包規(guī)格說明書。軟程序,還包規(guī)格說明書。軟件工作的范圍從只考慮程序件工作的范圍從只考慮程序的編寫擴展到從設(shè)計和測試。的編寫擴展到從設(shè)計和測試。軟件:軟件:程序程

17、序數(shù)據(jù)數(shù)據(jù)文檔文檔軟件開發(fā):軟件開發(fā):定義定義設(shè)計設(shè)計編碼編碼測試測試使用使用維護維護一、軟件發(fā)展的三個階段1.2 軟件的發(fā)展和軟件危機23/483. 軟件工程階段:20世紀(jì)80年代以后 軟件的概念為程序、文檔、數(shù)據(jù)的軟件的概念為程序、文檔、數(shù)據(jù)的總和。軟件工作的范圍擴展到從定總和。軟件工作的范圍擴展到從定義、設(shè)計、編碼、測試到使用、維義、設(shè)計、編碼、測試到使用、維護等整個軟件生命周期。護等整個軟件生命周期。1.2 軟件的發(fā)展和軟件危機軟件:軟件:程序程序數(shù)據(jù)數(shù)據(jù)文檔文檔軟件開發(fā):軟件開發(fā):定義定義設(shè)計設(shè)計編碼編碼測試測試使用使用維護維護軟件在三個發(fā)展階段的特性分析:特點特點 時時 期期程序設(shè)

18、計程序設(shè)計程序系統(tǒng)程序系統(tǒng)軟件工程軟件工程軟件所指軟件所指程序程序程序及規(guī)格說明書程序及規(guī)格說明書程序、文檔、數(shù)據(jù)程序、文檔、數(shù)據(jù)軟件工作范圍軟件工作范圍編寫程序編寫程序包括設(shè)計和測試包括設(shè)計和測試軟件生存期軟件生存期需求者需求者程序設(shè)計者本人程序設(shè)計者本人少數(shù)用戶少數(shù)用戶市場用戶市場用戶開發(fā)軟件的組織開發(fā)軟件的組織個人個人開發(fā)小組開發(fā)小組開發(fā)小組及大中型軟件開發(fā)開發(fā)小組及大中型軟件開發(fā)機構(gòu)機構(gòu)軟件規(guī)模軟件規(guī)模小型小型中、小型中、小型大、中、小型大、中、小型決定質(zhì)量的因素決定質(zhì)量的因素個人程序設(shè)計技術(shù)個人程序設(shè)計技術(shù)開發(fā)小組技術(shù)水平開發(fā)小組技術(shù)水平管理水平管理水平開發(fā)技術(shù)和手段開發(fā)技術(shù)和手段子

19、程序,程序庫子程序,程序庫結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計數(shù)據(jù)庫、開發(fā)工具、開發(fā)環(huán)境、數(shù)據(jù)庫、開發(fā)工具、開發(fā)環(huán)境、工程化開發(fā)方法、標(biāo)準(zhǔn)和規(guī)范、工程化開發(fā)方法、標(biāo)準(zhǔn)和規(guī)范、網(wǎng)絡(luò)和分布式開發(fā)、對象技術(shù)網(wǎng)絡(luò)和分布式開發(fā)、對象技術(shù)維護責(zé)任者維護責(zé)任者程序設(shè)計者程序設(shè)計者開發(fā)小組開發(fā)小組專職維護人員專職維護人員軟件特征軟件特征完全不受重視完全不受重視軟件技術(shù)的發(fā)展不能滿軟件技術(shù)的發(fā)展不能滿足要求,出現(xiàn)軟件危機足要求,出現(xiàn)軟件危機開發(fā)技術(shù)有進步,未完全擺脫軟開發(fā)技術(shù)有進步,未完全擺脫軟件危機件危機25/48二、軟件危機1.軟件危機的含義所謂軟件危機,是指在計算機軟件的開發(fā)和維護過程中遇到的所謂軟件危機,是指在

20、計算機軟件的開發(fā)和維護過程中遇到的一系列嚴(yán)重問題一系列嚴(yán)重問題。 (孫家廣,軟件工程,高教出版社,2005.p5)1.2 軟件的發(fā)展和軟件危機時間時間軟件復(fù)雜度軟件復(fù)雜度圖圖 軟件技術(shù)進步落后于需求的增長軟件技術(shù)進步落后于需求的增長技術(shù)實際發(fā)展技術(shù)實際發(fā)展對技術(shù)需求對技術(shù)需求軟件危機在軟件危機在20世紀(jì)世紀(jì)60年代全面爆發(fā),至今年代全面爆發(fā),至今已近半個世紀(jì),雖然已近半個世紀(jì),雖然軟件開發(fā)的新工具和軟件開發(fā)的新工具和新方法層出不窮,但新方法層出不窮,但軟件危機依然沒有消軟件危機依然沒有消除。除。1.2 軟件的發(fā)展和軟件危機26/482. 2. 軟件危機的主要特征(1)(1)軟件開發(fā)的成本和進度

21、難以準(zhǔn)確估計,延遲交付甚至取消項目的現(xiàn)象屢見不鮮。 1995 1995年,美國StandishStandish咨詢集團公布了題為“混沌”的研究報告,分析了軟件項目的成功率。53.8%16.2%31%圖 軟件項目的成功率二、軟件危機1.2 軟件的發(fā)展和軟件危機27/482.軟件危機的主要特征(1)(1)軟件開發(fā)的成本和進度難以準(zhǔn)確估計軟件開發(fā)的成本和進度難以準(zhǔn)確估計(2)(2)軟件存在著錯誤多、性能低、不可靠、不安全等軟件存在著錯誤多、性能低、不可靠、不安全等質(zhì)量問題。質(zhì)量問題。(3)(3)軟件成本在計算機系統(tǒng)的整個成本中所占比例越軟件成本在計算機系統(tǒng)的整個成本中所占比例越來越大。來越大。(4)

22、(4)軟件維護極其困難,而且很難適應(yīng)不斷變化的用軟件維護極其困難,而且很難適應(yīng)不斷變化的用戶需求和使用環(huán)境。(軟件維護費占軟件成本:戶需求和使用環(huán)境。(軟件維護費占軟件成本:55%-70%55%-70%)二、軟件危機1.2 軟件的發(fā)展和軟件危機28/483. 出現(xiàn)軟件危機的背景原因(1)軟件需求量迅速增加,規(guī)模也日益增加。軟件需求量迅速增加,規(guī)模也日益增加。(2)軟件的復(fù)雜程度增加軟件的復(fù)雜程度增加(3)軟件的開發(fā)成本越來越高軟件的開發(fā)成本越來越高(4)軟件維護費用急劇上升,直接威脅計算機應(yīng)用的軟件維護費用急劇上升,直接威脅計算機應(yīng)用的擴大。擴大。(5)軟件生產(chǎn)技術(shù)進步緩慢軟件生產(chǎn)技術(shù)進步緩慢

23、軟件危機在軟件危機在20世紀(jì)世紀(jì)60年代末全面爆發(fā),至今依然年代末全面爆發(fā),至今依然沒有消除。沒有消除。二、軟件危機1.2 軟件的發(fā)展和軟件危機第1次 1節(jié)課29/48一、軟件工程的定義二、軟件工程的三要素三、軟件工程的基本目標(biāo)1.3 軟件工程 軟件工程是指采用工程的概念、原理、技軟件工程是指采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護軟件,其目的在于提高術(shù)和方法來開發(fā)與維護軟件,其目的在于提高軟件的質(zhì)量與生產(chǎn)效率,最終實現(xiàn)軟件的工業(yè)軟件的質(zhì)量與生產(chǎn)效率,最終實現(xiàn)軟件的工業(yè)化生產(chǎn)?;a(chǎn)。第1章 軟件工程概述30/481.3 軟件工程的概念一、軟件工程的定義n19681968年1010月,NA

24、TONATO科學(xué)委員會在德國開會討論軟件可靠性與軟件危機的問題,首次提出“軟件工程的概念”, ,其目的是解決軟件開發(fā)成本效益和軟件的質(zhì)量問題: 軟件工程是為了經(jīng)濟地獲得能夠在實際機器上高效運行的可靠軟件而建軟件工程是為了經(jīng)濟地獲得能夠在實際機器上高效運行的可靠軟件而建立和使用的一系列好的立和使用的一系列好的工程化原則工程化原則。 (孫家廣,(孫家廣,p7p7)nIEEE Standard Glossary of Software Engineering Terminology給出定義93: 軟件工程是: 將系統(tǒng)性的、規(guī)范化的、可定量的方法應(yīng)用于軟件的開發(fā)、運行和維護,即將工程化應(yīng)用到軟件上;

25、對中所述方法的研究。第1章 軟件工程概述北大西洋公約組織(North Atlantic Treaty Organization - NATO)31/48“軟件工程軟件工程”的核心思想:的核心思想: 把軟件當(dāng)作一種工業(yè)產(chǎn)品,要求采用工程化的原理與方法對軟件進行計劃、開發(fā)和維護。 軟件工程的定義32/48軟件工程包括以下兩個方面的內(nèi)容:軟件工程包括以下兩個方面的內(nèi)容:(1)(1)軟件工程是工程概念在軟件領(lǐng)域里的一個特定應(yīng)用軟件工程是工程概念在軟件領(lǐng)域里的一個特定應(yīng)用 與其他工程一樣,軟件工程是在環(huán)境不確定和資源受約束與其他工程一樣,軟件工程是在環(huán)境不確定和資源受約束的條件下,采用的條件下,采用系統(tǒng)

26、的系統(tǒng)的、規(guī)范化的規(guī)范化的、可定量可定量的方法進行有的方法進行有關(guān)原則的實施和應(yīng)用,這些原則一般是以往經(jīng)驗的積累和關(guān)原則的實施和應(yīng)用,這些原則一般是以往經(jīng)驗的積累和提煉,經(jīng)過時間檢驗并證明是正確的。提煉,經(jīng)過時間檢驗并證明是正確的。 (2)(2)軟件工程涉及軟件產(chǎn)品的所有環(huán)節(jié)軟件工程涉及軟件產(chǎn)品的所有環(huán)節(jié) 人們往往偏重于軟件開發(fā)技術(shù),忽視軟件項目管理的重要人們往往偏重于軟件開發(fā)技術(shù),忽視軟件項目管理的重要性。統(tǒng)計數(shù)據(jù)表明,導(dǎo)致軟件項目失敗的性。統(tǒng)計數(shù)據(jù)表明,導(dǎo)致軟件項目失敗的主要原因幾乎與主要原因幾乎與技術(shù)和工具沒有任何關(guān)系,技術(shù)和工具沒有任何關(guān)系,更多的是由于不適當(dāng)?shù)墓芾碓旄嗟氖怯捎诓贿m當(dāng)

27、的管理造成的。成的。 軟件工程的定義33/481.3 軟件工程的概念二、軟件工程的三要素質(zhì)量方法方法工具工具過程過程圖圖 軟件工程的三要素軟件工程的三要素軟件工程以關(guān)注質(zhì)量為目標(biāo)34/48方法方法:n軟件工程方法為軟件開發(fā)提供了“如何做”的技術(shù)和方法。n其中使用最廣泛的兩種方法是傳統(tǒng)的結(jié)構(gòu)化方法和當(dāng)前流行的面向?qū)ο蠓椒?。二、軟件工程的三要?1.3 軟件工程的概念質(zhì)量質(zhì)量方法方法工具工具過程過程35/48結(jié)構(gòu)化方法結(jié)構(gòu)化方法:n以功能分析和數(shù)據(jù)分析為基礎(chǔ)。n強調(diào)自頂向下的功能分解,對功能和數(shù)據(jù)進行了一定程度的分解。 面向?qū)ο蠓椒ǎ好嫦驅(qū)ο蠓椒ǎ簄 從現(xiàn)實世界中客觀存在的實體(即對象)出發(fā),盡可

28、能地運用人類自然思維方式來構(gòu)造軟件系統(tǒng)。n 它運用人類在日常的邏輯思維中經(jīng)常采用的思想方法與原則(例如抽象、分類、繼承、聚合、封裝等),將其貫穿于整個分析和設(shè)計過程,實現(xiàn)了客觀世界到計算機系統(tǒng)的平滑過渡。軟件工程的三要素方法問題域問題域面向?qū)ο蠓治雒嫦驅(qū)ο蠓治鲇嬎銠C計算機自然語言自然語言面向?qū)ο笤O(shè)計面向?qū)ο笤O(shè)計面向?qū)ο缶幊堂嫦驅(qū)ο缶幊堂嫦驅(qū)ο鬁y試面向?qū)ο鬁y試面向?qū)ο蟮拿嫦驅(qū)ο蟮木幊陶Z言編程語言(a)傳統(tǒng)的軟件工程方法傳統(tǒng)的軟件工程方法(b)面向?qū)ο蟮能浖こ谭椒嫦驅(qū)ο蟮能浖こ谭椒▎栴}域問題域需求分析需求分析總體設(shè)計總體設(shè)計詳細設(shè)計詳細設(shè)計編程編程測試測試計算機計算機自然語言自然語言傳統(tǒng)的傳

29、統(tǒng)的編程語言編程語言分析與設(shè)分析與設(shè)計的鴻溝計的鴻溝37/48n工具:工具: 軟件工具為軟件工程方法提供了自動的或半自動的軟件開發(fā)支撐環(huán)境,輔助軟件開發(fā)任務(wù)的完成。n軟件工具最初是零散的、不系統(tǒng)、不配套的。n現(xiàn)有的軟件工具覆蓋了需求分析、系統(tǒng)建模、代碼生成、程序調(diào)試和軟件測試等多個方面,形成了集成化的軟件開發(fā)環(huán)境CASE(Computer Aided Software Engineering,計算機輔助軟件工程)n計算機輔助軟件工程CASE:CASE是一組工具和方法的集合,用于輔助軟件開發(fā)、維護、管理過程中的各項活動,促使軟件工程的工程化和自動化,實現(xiàn)高效率和高質(zhì)量的軟件開發(fā)。1.3 軟件工程

30、的概念二、軟件工程的三要素38/48n過程過程:n軟件工程中的過程貫穿于軟件開發(fā)的各個環(huán)節(jié)。軟件過程是指從軟件的計劃、需求分析、軟件設(shè)計、程序編碼、軟件測試、到運行和維護的整個過程。 二、軟件工程的三要素1.1.3 3 軟件工程的概念軟件工程的概念39/481.3 軟件工程的概念質(zhì)量方法方法工具工具過程過程圖圖 軟件工程的三要素軟件工程的三要素軟件工程以關(guān)注質(zhì)量為目標(biāo)40/48良好的文檔良好的文檔可讀的代碼可讀的代碼良好的設(shè)計良好的設(shè)計可重用性可重用性降低成本降低成本可移植性可移植性增強產(chǎn)品性增強產(chǎn)品性功能性功能性易用性易用性易學(xué)習(xí)易學(xué)習(xí)可靠性可靠性準(zhǔn)確性準(zhǔn)確性有效性有效性維護人員客戶最終用戶

31、圖 幾種不同的軟件質(zhì)量視角三、軟件質(zhì)量特性軟件質(zhì)量是軟件質(zhì)量是軟件產(chǎn)品軟件產(chǎn)品與明確的和隱含的與明確的和隱含的需需求求相一致的程度,相一致的程度,它它通常由一系列的質(zhì)量通常由一系列的質(zhì)量特性來描述。特性來描述。1.3 軟件工程的概念41/48四、軟件工程的基本目標(biāo) 軟件工程的目標(biāo): 在給定成本、進度的前提下,開發(fā)出具有在給定成本、進度的前提下,開發(fā)出具有可修可修改性改性、有效性有效性、可靠性可靠性、可理解性可理解性、可維護性可維護性、可重用性可重用性、可適應(yīng)性可適應(yīng)性、可移植性可移植性、可追蹤性可追蹤性和和可互操作性可互操作性并滿足用戶要求的軟件產(chǎn)品。并滿足用戶要求的軟件產(chǎn)品。1.3 軟件工程

32、的概念n付出較低的開發(fā)成本付出較低的開發(fā)成本n實現(xiàn)達到要求的軟件功能實現(xiàn)達到要求的軟件功能n取得較好的軟件性能取得較好的軟件性能n開發(fā)的軟件易于移植開發(fā)的軟件易于移植n需要較低的維護費用需要較低的維護費用n能按時完成開發(fā)工作,及時交付使用能按時完成開發(fā)工作,及時交付使用42/481.4 軟件生存期(software life cycle)一、概念n定義定義1 1:如同任何事物一樣,軟件也有一個孕育、:如同任何事物一樣,軟件也有一個孕育、誕生、成長、成熟、衰亡的誕生、成長、成熟、衰亡的生存過程生存過程,我們稱其為,我們稱其為軟件的軟件的生存期。生存期。n定義定義2 2:軟件產(chǎn)品從形成概念開始,經(jīng)

33、過開發(fā)、使:軟件產(chǎn)品從形成概念開始,經(jīng)過開發(fā)、使用和維護,直到最后退役的全過程稱為軟件生存期。用和維護,直到最后退役的全過程稱為軟件生存期。第1章 軟件工程概述43/48二、 軟件生存期的階段劃分(1) 可行性研究(feasibility)(2) 制定計劃(planning)(3) 需求分析和定義(requirement analysis and definition)(4) 軟件設(shè)計(software design)(5) 程序編寫(coding,programming)(6) 軟件測試(testing)(7) 運行/維護(running/maintenance)(8) 退役1.4 軟件生存

34、期(software life cycle)第1章 軟件工程概述44/48n任務(wù): 了解用戶的要求及現(xiàn)實環(huán)境,從了解用戶的要求及現(xiàn)實環(huán)境,從技術(shù)技術(shù)、經(jīng)濟經(jīng)濟和和社會社會等幾個方面研究并論證軟件系統(tǒng)的可行性。等幾個方面研究并論證軟件系統(tǒng)的可行性。經(jīng)濟可行性經(jīng)濟可行性技術(shù)可行性技術(shù)可行性社會可行性:對目標(biāo)系統(tǒng)可能會涉及的侵權(quán)、社會可行性:對目標(biāo)系統(tǒng)可能會涉及的侵權(quán)、妨礙、責(zé)任等問題作出決定。妨礙、責(zé)任等問題作出決定。抉擇:對系統(tǒng)開發(fā)的不同方案進行比較評估。抉擇:對系統(tǒng)開發(fā)的不同方案進行比較評估。二、軟件生存期的階段劃分(1)可行性研究(feasibility)45/48n確定要開發(fā)軟件系統(tǒng)的總目標(biāo)確定要開發(fā)軟件系統(tǒng)的總目標(biāo),給出它的功能、,給出它的功能、性能、可靠性以及接口等方面的要求;性能、可靠性以及接口等方面的要求;n探討解決問題的可能方案;探討解決問題的可能方案;n對可利用的資源(計算機硬件、軟件、人力對可利用的資源(計算機硬件、軟件、人力

溫馨提示

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

評論

0/150

提交評論