《軟件工程概述二》由會員分享,可在線閱讀,更多相關(guān)《軟件工程概述二(27頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,單擊此處編輯母版標(biāo)題樣式,內(nèi)容提供商:北京旋信科技有限公司,內(nèi)容提供商:北京旋信科技有限公司,-,領(lǐng)先的服務(wù)外包人才解決方案提供商,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,單擊此處編輯母版標(biāo)題樣式,內(nèi)容提供商:北京旋信科技有限公司,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,單擊此處編輯母版標(biāo)題樣式,內(nèi)容提供商:北京旋信科技有限公司,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,單擊此處編輯母版標(biāo)題樣式,內(nèi)容提供商:北京旋信科技有限公司,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級
2、,單擊此處編輯母版標(biāo)題樣式,內(nèi)容提供商:北京旋信科技有限公司,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,單擊此處編輯母版標(biāo)題樣式,內(nèi)容提供商:北京旋信科技有限公司,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,單擊此處編輯母版標(biāo)題樣式,內(nèi)容提供商:北京旋信科技有限公司,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,單擊此處編輯母版標(biāo)題樣式,*,軟件測試基礎(chǔ)知識,(,軟件工程概述,),(實訓(xùn)指導(dǎo)),一、本課程學(xué)習(xí)目的,消除錯誤地認(rèn)識,學(xué)習(xí)軟件工程基本理論,學(xué)習(xí)主流的軟件開發(fā)方法,熟悉軟件開發(fā)過程,掌握軟件開發(fā)全過程中的各重要階段的任務(wù)及相關(guān)描述方法;,如何
3、分析問題并設(shè)計出合理的解決方案,如何保證軟件質(zhì)量,培養(yǎng)軟件工程師的基本素質(zhì),2,可執(zhí)行部分,不可執(zhí)行部分,文檔,1,文檔,2,文檔,3,一、軟件的定義、特點,1,軟件的定義,程序,+,數(shù)據(jù),+,文檔,與計算機(jī)系統(tǒng)操作有關(guān)的程序、數(shù)據(jù)以及任何與之相關(guān)的文檔的集合。,程序,3,一、軟件的定義、特點,1,軟件的定義:,什么是程序,(1/2),:,程序,:,由程序設(shè)計語言所描述的、能為計算機(jī)所識別、理解和處理的語句序列,程序例子,Main(),int i,j;,/,變量定義,char Str10;,i=i+j;/,語句說明,4,一、軟件的定義、特點,1,軟件的定義:,什么是程序,(2/2),程序設(shè)計語
4、言具有良好、嚴(yán)格語法和語義,目前程序設(shè)計語言主要有以下幾種類型,面向機(jī)器,:,如匯編語言、機(jī)器語言等,面向過程,:,如,Fortran,Pascal,C,等等,面向?qū)ο?:,如,Java,等等,面向問題,:,如結(jié)構(gòu)化查詢語言,SQL,等等,5,一、軟件的定義、特點,1,軟件的定義:,什么是文檔:,文檔,:,記錄軟件開發(fā)活動和階段性成果、理解軟件所必需的闡述性資料,需求分析文檔、軟件設(shè)計文擋、用戶文檔等,編寫文檔目的,促進(jìn)對軟件的開發(fā),管理和維護(hù);,便于各種人員,(,用戶,開發(fā)人員,),的交流,6,一、軟件的定義、特點,2,軟件的特點,不會老化,邏輯產(chǎn)品,(,智力,無形,),維護(hù)困難和復(fù)雜,(,
5、完善,糾錯,,.),生產(chǎn)只需復(fù)制,軟件開發(fā)性質(zhì)如成本、進(jìn)度等難以估計,軟件的開發(fā)更加依賴于開發(fā)人員的業(yè)務(wù)素質(zhì)、智力、人員的合作、組織和管理,7,二、軟件的發(fā)展過程,1,、,20,世紀(jì),50,年代,60,年代初:程序設(shè)計階段,特點:個體化;只有程序清單;,以硬件發(fā)展為主,2,、,20,世紀(jì),60,年代初,70,年代初:程序系統(tǒng)階段,特點:作坊式;軟件數(shù)量劇增;軟件維護(hù)費用驚人;提 出“軟件工廠”概念;出現(xiàn)軟件危機(jī),3,、,70,年代,90,年代:軟件工程階段,軟件成本劇增;硬件技術(shù)(微電子學(xué))日趨成熟;,軟件工程時代,4,、,90,年代至今:,現(xiàn)代信息技術(shù)飛速發(fā)展(并行計算機(jī)處理、三層處理模式、
6、數(shù)據(jù)倉庫、多媒體技術(shù)、網(wǎng)絡(luò)技術(shù)、電子商務(wù)等)稱為:網(wǎng)絡(luò)時代,8,三、軟件危機(jī),1,、軟件危機(jī)定義:,軟件在開發(fā)和維護(hù)過程中遇到的一系列問題,困擾學(xué)術(shù)界和工業(yè)界,用戶對軟件開發(fā)缺乏信心,軟件開發(fā)的高投入和高風(fēng)險,Crisis,!,9,三、軟件危機(jī),2,、軟件危機(jī)的表現(xiàn)(1,of 3),成本高,IBM 360 OS,5000,多人年,耗時4年(19631966),花費2億多美元,美國空軍:1955年軟件占總費用(計算機(jī)系統(tǒng))的18%,70年60%,85年達(dá)到85,美國全球軍事指揮控制系統(tǒng),硬件1億美元,軟件高達(dá)7.2億美元,計算機(jī)軟件和硬件費用比,10,三、軟件,危,危機(jī),2,、軟件危,機(jī),機(jī)的表
7、現(xiàn)(2,of 3),軟件質(zhì)量,得,得不到保,證,證,軟件應(yīng)用,面,面的擴(kuò)大,:,:科學(xué)計,算,算、軍事,、,、航空航,天,天、工業(yè),控,控制、企,業(yè),業(yè)管理、,辦,辦公、家,庭,庭,軟件越來,越,越多的應(yīng),用,用于安全,猶,猶關(guān)(,safety critical),的系統(tǒng),,對,對軟件質(zhì),量,量提出更,高,高的要求,80年,代,代歐洲,亞,亞麗安,娜,娜火箭,的,的發(fā)射,失,失敗,,原,原因是,軟,軟件錯,誤,誤,美國阿,托,托拉斯,火,火箭的,發(fā),發(fā)射失,敗,敗,原,因,因是軟,件,件故障,英國1986,年,年開發(fā),的,的辦公,室,室信息,系,系統(tǒng),Folios,經(jīng)4年,,,,因性,能,能達(dá)
8、不,到,到要求,,,,1989年,取,取消,日本第5代機(jī),因,因為軟,件,件問題,在,在投入50億,美,美元后,于,于1993年,下,下馬,由于軟,件,件質(zhì)量,問,問題導(dǎo),致,致失敗,的,的軟件,項,項目非,常,常多,11,三、軟,件,件危機(jī),2,、軟件,危,危機(jī)的,表,表現(xiàn)(3,of3),進(jìn)度難,以,以控制,項目延,期,期比比,皆,皆是,由于進(jìn),度,度問題,而,而取消,的,的軟件,項,項目較,常,常見,只有一,小,小部分,的,的項目,能,能夠按,期,期完成,維護(hù)非,常,常困難,軟件維,護(hù),護(hù)的多,樣,樣性,軟件維,護(hù),護(hù)的復(fù),雜,雜性,軟件維,護(hù),護(hù)的副,作,作用,12,三、軟,件,件危機(jī),
9、3,、軟件,危,危機(jī)包,含,含兩方,面,面問題,一、如,何,何開發(fā),軟,軟件,,以,以滿足,不,不斷增,長,長,日,趨,趨復(fù)雜,的,的需求,;,;,二、如,何,何維護(hù),數(shù),數(shù)量不,斷,斷膨脹,的,的軟件,產(chǎn),產(chǎn)品。,4,、軟件,危,危機(jī)產(chǎn),生,生的原,因,因,邏輯產(chǎn),品,品,不,同,同于物,理,理產(chǎn)品,復(fù)雜性,高,高,邏輯產(chǎn),品,品,邏,輯,輯復(fù)雜,性,性,遠(yuǎn),高,高于硬,件,件復(fù)雜,性,性,軟件的,復(fù),復(fù)雜性,隨,隨規(guī)模,呈,呈指數(shù),級,級上升,規(guī)模大,應(yīng)用擴(kuò),大,大,代,碼,碼量,1000萬行,,,,仍在,不,不斷膨,脹,脹,影響軟,件,件生產(chǎn),率,率和質(zhì),量,量的因,素,素比較,復(fù),復(fù)雜
10、,人員的,能,能力和,水,水平,團(tuán)隊合,作,作,缺乏有,效,效、系,統(tǒng),統(tǒng)原理,、,、原則,、,、方法,和,和工具,的,的指導(dǎo),和,和輔助,:,13,三、軟,件,件危機(jī),5,、對軟,件,件開發(fā),的,的深層,次,次認(rèn)識,:,:,開發(fā)一,個,個具有,一,一定規(guī),模,模和復(fù),雜,雜性的,軟,軟件系,統(tǒng),統(tǒng)與編,寫,寫一個,簡,簡單的,程,程序不,一,一樣,正如建,設(shè),設(shè)一個,平,平房和,高,高樓大,廈,廈,建造房,屋,屋的過,程,程,確定和,分,分析需,求,求,房子的,總,總體設(shè),計,計(建,筑,筑平面,圖,圖和建,筑,筑透視,圖,圖),房子的,詳,詳細(xì)設(shè),計,計(建,筑,筑平面,圖,圖的細(xì),化,化
11、以及,規(guī),規(guī)格說,明,明),識別并,設(shè),設(shè)計房,子,子的組,成,成部分,建造房,子,子的每,一,一個組,成,成部分,測試房,子,子的每,一,一個組,成,成部分,把房子,的,的各個,部,部分集,成,成在一,起,起,在,住,住戶搬,進(jìn),進(jìn)來之,前,前作最,后,后的修,改,改,大型、,復(fù),復(fù)雜軟,件,件系統(tǒng),的,的開發(fā),是,是一項,工,工程,,必,必須按,照,照工程,化,化的方,法,法組織,軟,軟件的,生,生產(chǎn)和,管,管理,,必,必須經(jīng),過,過分析,、,、設(shè)計,、,、實現(xiàn),、,、測試,、,、維護(hù),等,等一系,列,列軟件,過,過程和,活,活動,14,6,、解決,危,危機(jī)的,技,技術(shù)途,徑,徑,20,世
12、紀(jì),60,年代爆,發(fā),發(fā),然,而,而實際,上,上軟件,危,危機(jī)隨,著,著計算,機(jī),機(jī)軟件,的,的產(chǎn)生,而,而產(chǎn)生,,,,只是,在,在此之,前,前其問,題,題的嚴(yán),重,重性沒,有,有引起,人,人們的,關(guān),關(guān)注和,重,重視,提出有,效,效的方,法,法和工,具,具支持,軟,軟件開,發(fā),發(fā),1968年提,出,出軟件,工,工程概,念,念和思,想,想,20,世紀(jì),70,年代的,結(jié),結(jié)構(gòu)化,軟,軟件開,發(fā),發(fā)方法,20,世紀(jì),80,年代的,面,面向?qū)?象,象的軟,件,件開發(fā),方,方法,新的技,術(shù),術(shù),:,軟件重,用,用、快,速,速原型,、,、需求,工,工程,典型技,術(shù),術(shù),:COM,Java,C+,J2EE
13、,.Net,.,支撐工,具,具和環(huán),境,境:,Jbuilder,Visual Studio,WebLogic,三、軟,件,件危機(jī),15,三、軟,件,件危機(jī),7,、技術(shù),手,手段不,能,能完全,解,解決軟,件,件危機(jī),到了,20,世紀(jì),90,年代,,軟,軟件危,機(jī),機(jī)依然,存,存在,,甚,甚至更,為,為嚴(yán)重,應(yīng)用變,得,得越來,越,越大和,復(fù),復(fù)雜,,技,技術(shù)變,得,得更加,力,力不從,心,心,錯誤的,觀,觀念“,只,只要有,好,好的軟,件,件開發(fā),方,方法和,工,工具就,能,能高效,率,率地開,發(fā),發(fā)出高,質(zhì),質(zhì)量的,軟,軟件”,16,三、軟,件,件危機(jī),8,、解決,危,危機(jī)的,管,管理途,徑
14、,徑,問題出,在,在哪里,?,?,20,世紀(jì),80,年代末,,,,美國,工,工業(yè)界,開,開始認(rèn),識,識到管,理,理的重,要,要性,美國的,一,一項研,究,究表明,,,,70%的項,目,目由于,管,管理不,善,善導(dǎo)致,難,難以控,制,制進(jìn)步,、,、成本,和,和質(zhì)量,;,;,進(jìn)一步的研,究,究發(fā)現(xiàn):管,理,理是影響軟,件,件項目成功,開,開發(fā)的全局,性,性因素,而,技,技術(shù)只影響,局,局部,如果軟件開,發(fā),發(fā)組織不能,對,對軟件項目,進(jìn),進(jìn)行有效管,理,理,就不能,充,充分發(fā)揮軟,件,件開發(fā)方法,和,和工具的潛,力,力,也就不,能,能高效率地,開,開發(fā)出高質(zhì),量,量的軟件產(chǎn),品,品,17,四、軟件
15、工,程,程的提出,解決軟件危,機(jī),機(jī)?,硬件發(fā)展?,開,開發(fā)人員增,加,加?軟件開,發(fā),發(fā)工具的發(fā),展,展?,軟件工程!,由于認(rèn)識到,軟,軟件的設(shè)計,、,、實現(xiàn)、維,護(hù),護(hù)和傳統(tǒng)的,工,工程規(guī)則有,相,相同的基礎(chǔ),。,。,1967,年,NATO,的研究組織,首,首次提出“,軟,軟件工程”,1968,年,NATO,軟件工程會,議,議正式提出,“,“軟件工程,”,”概念,1968-,至今,40,余年,18,四、軟件工,程,程的提出,2,、軟件工程,定,定義,1968,年,NATO(,北大西洋公,約,約組織,),會議上首次,提,提出軟件工,程,程:,給出了軟件,工,工程的早期,定,定義:,軟件工程是
16、,為,為了經(jīng)濟(jì)地,獲,獲得可靠的,和,和能在實際,機(jī),機(jī)器上高效,運,運行的軟件,而,而建立和使,用,用的好的工,程,程原則。(,強,強調(diào)軟件工,程,程的目標(biāo)),IEEE,:,軟件工程是,(,(,1,)將系統(tǒng)化,的,的、規(guī)范的,、,、可度量的,方,方法應(yīng)用于,軟,軟件的開發(fā),、,、運行和維,護(hù),護(hù)的過程,,即,即將工程化,應(yīng),應(yīng)用于軟件,中,中;(,2,)(,1,)中所述方,法,法的研究。,計算機(jī)科學(xué),技,技術(shù)百科全,書,書:,所謂軟件工,程,程就是指導(dǎo),計,計算機(jī)軟件,開,開發(fā)和維護(hù),的,的工程學(xué)科,。,。采用工程,的,的概念、原,理,理、技術(shù)和,方,方法來開發(fā),與,與維護(hù)軟件,,,,把經(jīng)過時,間,間考驗而證,明,明正確的管,理,理技術(shù)和當(dāng),前,前能夠得到,的,的最先進(jìn)的,技,技術(shù)方法結(jié),合,合起來。,思考:其它,更,更準(zhǔn)確的定,義,義?,19,五、軟件工,程,程的發(fā)展,1,、傳統(tǒng)軟件,工,工程,管理,:希望實現(xiàn),軟,軟件開發(fā)過,程,程的工程化,。,。這方面最,為,為著名的成,果,果就是提出,了,了大家都很,熟,熟悉的“瀑,布,布式”生命,周,周期模型。,它,它是在,60,年代末“軟