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