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

下載本文檔

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

文檔簡介

1、軟件測試基礎知識(軟件工程概述)(實訓指導)一、本課課程學習習目的消除錯誤誤地認識識學習軟件件工程基基本理論論學習主流流的軟件件開發(fā)方方法熟悉軟件件開發(fā)過過程掌握軟件件開發(fā)全全過程中中的各重重要階段段的任務務及相關關描述方方法;如何分析析問題并并設計出出合理的的解決方方案如何保證證軟件質(zhì)質(zhì)量培養(yǎng)軟件件工程師師的基本本素質(zhì)2可執(zhí)行部部分不可執(zhí)行行部分文檔1文檔2文檔3一、軟件件的定義義、特點點1軟件的定定義程序+數(shù)據(jù)+文檔與計算機機系統(tǒng)操操作有關關的程序序、數(shù)據(jù)據(jù)以及任任何與之之相關的的文檔的的集合。程序3一、軟件件的定義義、特點點1軟件的定定義:什么是程程序(1/2):程序:由程序設設計語言言

2、所描述述的、能能為計算算機所識識別、理理解和處處理的語語句序列列程序例子子Main()inti,j;/變量定義義charStr10;i =i+ j;/語句說明明4一、軟件件的定義義、特點點1軟件的定定義:什么是程程序(2/2)程序設計計語言具具有良好好、嚴格格語法和和語義目前程序序設計語語言主要要有以下下幾種類類型面向機器器:如匯編語語言、機機器語言言等面向過程程:如Fortran,Pascal, C等等面向對象象:如Java等等面向問題題:如結構化化查詢語語言SQL等等5一、軟件件的定義義、特點點1軟件的定定義:什么是文文檔:文檔:記錄軟件件開發(fā)活活動和階階段性成成果、理理解軟件件所必需需的

3、闡述述性資料料需求分析析文檔、軟件設設計文擋擋、用戶戶文檔等等編寫文檔檔目的促進對軟軟件的開開發(fā),管理和維維護;便于各種種人員(用戶,開發(fā)人員員)的交流6一、軟件件的定義義、特點點2軟件的特特點不會老化化邏輯產(chǎn)品品(智力,無形)維護困難難和復雜雜(完善,糾錯,.)生產(chǎn)只需需復制軟件開發(fā)發(fā)性質(zhì)如如成本、進度等等難以估估計軟件的開開發(fā)更加加依賴于于開發(fā)人人員的業(yè)業(yè)務素質(zhì)質(zhì)、智力力、人員員的合作作、組織織和管理理7二、軟件件的發(fā)展展過程1、20世紀50年代60年代初:程序設設計階段段特點:個個體化;只有程程序清單單;以硬件發(fā)發(fā)展為主主2、20世紀60年代初70年代初:程序系系統(tǒng)階段段特點:作作坊式;

4、軟件數(shù)數(shù)量劇增增;軟件件維護費費用驚人人;提出出“軟軟件工廠廠”概念念;出現(xiàn)現(xiàn)軟件危危機3、70年代 90年代:軟軟件工程程階段軟件成本本劇增;硬件技技術(微電子子學)日日趨成熟熟;軟件工程程時代4、90年代至今今:現(xiàn)代信息息技術飛飛速發(fā)展展(并行行計算機機處理、三層處處理模式式、數(shù)據(jù)據(jù)倉庫、多媒體體技術、網(wǎng)絡技技術、電電子商務務等)稱稱為:網(wǎng)網(wǎng)絡時代代8三、軟件件危機1、軟件危危機定義義:軟件在開開發(fā)和維維護過程程中遇到到的一系系列問題題困擾學術術界和工工業(yè)界用戶對軟軟件開發(fā)發(fā)缺乏信信心軟件開發(fā)發(fā)的高投投入和高高風險Crisis!9三、軟件件危機2、軟件危危機的表表現(xiàn)(1of3)成本高IBM

5、360 OS,5000多人年,耗時4年(19631966),花費費2億多多美元美國空軍軍:1955年年軟件占占總費用用(計算算機系統(tǒng)統(tǒng))的18%,70年年60%,85年達到到85美國全球球軍事指指揮控制制系統(tǒng),硬件1億美元元,軟件件高達7.2億億美元計算機軟軟件和硬硬件費用用比10三、軟件件危機2、軟件危危機的表表現(xiàn)(2of3)軟件質(zhì)量量得不到到保證軟件應用用面的擴擴大:科科學計算算、軍事事、航空空航天、工業(yè)控控制、企企業(yè)管理理、辦公公、家庭庭軟件越來來越多的的應用于于安全猶猶關(safetycritical)的系統(tǒng),對軟件件質(zhì)量提提出更高高的要求求80年代代歐洲亞亞麗安娜娜火箭的的發(fā)射失失敗

6、,原原因是軟軟件錯誤誤美國阿托托拉斯火火箭的發(fā)發(fā)射失敗敗,原因因是軟件件故障英國1986年年開發(fā)的的辦公室室信息系系統(tǒng)Folios經(jīng)4年,因性能能達不到到要求,1989年取取消日本第5代機因因為軟件件問題在在投入50億美美元后于于1993年下下馬由于軟件件質(zhì)量問問題導致致失敗的的軟件項項目非常常多11三、軟件件危機2、軟件危危機的表表現(xiàn)(3of3)進度難以以控制項目延期期比比皆皆是由于進度度問題而而取消的的軟件項項目較常常見只有一小小部分的的項目能能夠按期期完成維護非常常困難軟件維護護的多樣樣性軟件維護護的復雜雜性軟件維護護的副作作用12三、軟件件危機3、軟件危危機包含含兩方面面問題一、如何何

7、開發(fā)軟軟件,以以滿足不不斷增長長,日趨趨復雜的的需求;二、如何何維護數(shù)數(shù)量不斷斷膨脹的的軟件產(chǎn)產(chǎn)品。4、軟件危危機產(chǎn)生生的原因因邏輯產(chǎn)品品,不同同于物理理產(chǎn)品復雜性高高邏輯產(chǎn)品品,邏輯輯復雜性性,遠高高于硬件件復雜性性軟件的復復雜性隨隨規(guī)模呈呈指數(shù)級級上升規(guī)模大應用擴大大,代碼碼量,1000萬行,仍在不不斷膨脹脹影響軟件件生產(chǎn)率率和質(zhì)量量的因素素比較復復雜人員的能能力和水水平團隊合作作缺乏有效效、系統(tǒng)統(tǒng)原理、原則、方法和和工具的的指導和和輔助:13三、軟件件危機5、對軟件件開發(fā)的的深層次次認識:開發(fā)一個個具有一一定規(guī)模模和復雜雜性的軟軟件系統(tǒng)統(tǒng)與編寫寫一個簡簡單的程程序不一一樣正如建設設一個平

8、平房和高高樓大廈廈建造房屋屋的過程程確定和分分析需求求房子的總總體設計計(建筑筑平面圖圖和建筑筑透視圖圖)房子的詳詳細設計計(建筑筑平面圖圖的細化化以及規(guī)規(guī)格說明明)識別并設設計房子子的組成成部分建造房子子的每一一個組成成部分測試房子子的每一一個組成成部分把房子的的各個部部分集成成在一起起,在住住戶搬進進來之前前作最后后的修改改大型、復復雜軟件件系統(tǒng)的的開發(fā)是是一項工工程,必必須按照照工程化化的方法法組織軟軟件的生生產(chǎn)和管管理,必必須經(jīng)過過分析、設計、實現(xiàn)、測試、維護等等一系列列軟件過過程和活活動146、解決危危機的技技術途徑徑20世紀60年代爆發(fā)發(fā),然而而實際上上軟件危危機隨著著計算機機軟件

9、的的產(chǎn)生而而產(chǎn)生,只是在在此之前前其問題題的嚴重重性沒有有引起人人們的關關注和重重視提出有效效的方法法和工具具支持軟軟件開發(fā)發(fā)1968年提出出軟件工工程概念念和思想想20世紀70年代的結結構化軟軟件開發(fā)發(fā)方法20世紀80年代的面面向對象象的軟件件開發(fā)方方法新的技術術:軟件重用用、快速速原型、需求工工程典型技術術: COM,Java,C+,J2EE,.Net,.支撐工具具和環(huán)境境:Jbuilder,Visual Studio,WebLogic, 三、軟件件危機15三、軟件件危機7、技術手手段不能能完全解解決軟件件危機到了20世紀90年代,軟軟件危機機依然存存在,甚甚至更為為嚴重應用變得得越來越越

10、大和復復雜,技技術變得得更加力力不從心心錯誤的觀觀念“只只要有好好的軟件件開發(fā)方方法和工工具就能能高效率率地開發(fā)發(fā)出高質(zhì)質(zhì)量的軟軟件”16三、軟件件危機8、解決危危機的管管理途徑徑問題出在在哪里?20世紀80年代末,美國工工業(yè)界開開始認識識到管理理的重要要性美國的一一項研究究表明,70%的項目目由于管管理不善善導致難難以控制制進步、成本和和質(zhì)量;進一步的的研究發(fā)發(fā)現(xiàn):管管理是影影響軟件件項目成成功開發(fā)發(fā)的全局局性因素素,而技技術只影影響局部部如果軟件件開發(fā)組組織不能能對軟件件項目進進行有效效管理,就不能能充分發(fā)發(fā)揮軟件件開發(fā)方方法和工工具的潛潛力,也也就不能能高效率率地開發(fā)發(fā)出高質(zhì)質(zhì)量的軟軟件

11、產(chǎn)品品17四、軟件件工程的的提出解決軟件件危機?硬件發(fā)展展?開發(fā)發(fā)人員增增加?軟軟件開發(fā)發(fā)工具的的發(fā)展?軟件工程程!由于認識識到軟件件的設計計、實現(xiàn)現(xiàn)、維護護和傳統(tǒng)統(tǒng)的工程程規(guī)則有有相同的的基礎。1967年NATO的研究組組織首次次提出“軟件工工程”1968年NATO軟件工程程會議正正式提出出“軟件件工程”概念1968-至今, 40余年18四、軟件件工程的的提出2、軟件工工程定義義1968年NATO(北大西洋洋公約組組織)會議上首首次提出出軟件工工程:給出了軟軟件工程程的早期期定義:軟件工程程是為了了經(jīng)濟地地獲得可可靠的和和能在實實際機器器上高效效運行的的軟件而而建立和和使用的的好的工工程原則

12、則。(強強調(diào)軟件件工程的的目標)IEEE:軟件工程程是(1)將系統(tǒng)統(tǒng)化的、規(guī)范的的、可度度量的方方法應用用于軟件件的開發(fā)發(fā)、運行行和維護護的過程程,即將將工程化化應用于于軟件中中;(2)(1)中所述述方法的的研究。計算機科科學技術術百科全全書:所謂軟件件工程就就是指導導計算機機軟件開開發(fā)和維維護的工工程學科科。采用用工程的的概念、原理、技術和和方法來來開發(fā)與與維護軟軟件,把把經(jīng)過時時間考驗驗而證明明正確的的管理技技術和當當前能夠夠得到的的最先進進的技術術方法結結合起來來。思考:其其它更準準確的定定義?19五、軟件件工程的的發(fā)展1、傳統(tǒng)軟軟件工程程管理:希望實實現(xiàn)軟件件開發(fā)過過程的工工程化。這方

13、面面最為著著名的成成果就是是提出了了大家都都很熟悉悉的“瀑瀑布式”生命周周期模型型。它是是在60年代末“軟件危危機”后后出現(xiàn)的的第一個個生命周周期模型型。如下下所示:分析 設計計 編編碼測測試 維護護后來,又又有人針針對該模模型的不不足,提提出了快快速原型型法、螺螺旋模型型、噴泉泉模型等等對“瀑瀑布式”生命周周期模型型進行補補充?,F(xiàn)現(xiàn)在,它它們在軟軟件開發(fā)發(fā)的實踐踐中被廣廣泛采用用。認識到了了文檔的的標準以以及開發(fā)發(fā)者之間間、開發(fā)發(fā)者與用用戶之間間的交流流方式的的重要性性。方法:側重與對對軟件開開發(fā)過程程中分析析、設計計的方法法的研究究。這方方面的重重要成果果就是在在70年代風靡靡一時的的結構

14、化化開發(fā)方方法,即即PO(面向過過程的開開發(fā)或結結構化方方法)以以及結構構化的分分析、設設計和相相應的測測試方法法。20六、軟件件工程的的發(fā)展2、現(xiàn)代軟軟件工程程方法:面向對象象的分析析、設計計方法(OOA和OOD)的出現(xiàn)現(xiàn)使傳統(tǒng)統(tǒng)的開發(fā)發(fā)方法發(fā)發(fā)生了翻翻天覆地地的變化化。隨之之而來的的是面向向對象建建模語言言(以UML為代表)、軟件件復用、基于組組件的軟軟件開發(fā)發(fā)等新的的方法和和領域。管理:從企業(yè)管管理的角角度提出出的軟件件過程管管理。即即關注于于軟件生生存周期期中所實實施的一一系列活活動并通通過過程程度量、過程評評價和過過程改進進等涉及及對所建建立的軟軟件過程程及其實實例進行行不斷優(yōu)優(yōu)化的

15、活活動使得得軟件過過程循環(huán)環(huán)往復、螺旋上上升式地地發(fā)展。其中最著著名的軟軟件過程程成熟度度模型是是美國卡卡內(nèi)基梅梅隆大學學軟件工工程研究究所(SEI)建立的CMM(Capability Maturity Model),即能力成成熟度模模型。213、軟件工工程三要要素軟件程是是一種層層次化的的技術。包含了了一個觀觀點,和和三要素素,如下下圖:工具+方法+過程軟件工程程包括兩兩方面內(nèi)內(nèi)容:軟件開發(fā)發(fā)技術包括軟件件開發(fā)方方法學、軟件工工具和軟軟件工程程環(huán)境。軟件項目目管理包括軟件件度量、項目估估算、進進度控制制、人員員組織、配置管管理、項項目計劃劃等。軟件工程程技術有有兩個明明顯的特特點:第一,強強調(diào)規(guī)范范化。第二,強強調(diào)文檔檔化。22六、克服服軟件危危機的途途徑消除錯誤的概概念和做做法推廣使用成功功的開發(fā)發(fā)技術和和方法使用軟件工具具和軟件件工程支支持環(huán)境境加強軟件件管理23七、軟件件工程的的基本原原理嚴格按照照軟件生生命周期期各階段段的計劃劃進行管管理。堅持階段段評審實施嚴格格的產(chǎn)品品控制開發(fā)

溫馨提示

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

評論

0/150

提交評論