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

下載本文檔

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

文檔簡介

第9章軟件工程

為什么提出軟件工程從20世紀(jì)40年代開始到軟件工程術(shù)語提出為止的20多年時間里,對軟件開發(fā)的理解就是編程序,那時的編程有以下特點:軟件規(guī)模相對較小,人們關(guān)心的是計算機硬件的發(fā)展。作為一個計算機專業(yè)人員,他必須懂得計算機的結(jié)構(gòu)。作為一個機構(gòu),其大量資金也是用于計算機硬件開銷上,軟件只是作為展現(xiàn)其硬件性能的一種手段而投入的少量資金。為什么提出軟件工程編程僅作為一門技藝,大部分軟件技術(shù)人員不太關(guān)心他人的工作,決定軟件質(zhì)量的惟一因素就是該編程人員的素質(zhì)。缺少有效方法與軟件工具的支持。由于重視個人技能,軟件開發(fā)過程能見度低,許多管理人員不知道他們的軟件技術(shù)人員工作究竟做得如何。由于人們重視個人技能,一旦需要做某些修改,就要原編程人員進行修改。這使得軟件開發(fā)后的維護工作很難進行。軟件工程的背景和歷史1968年由NATO(北大西洋公約組織)在德國Garmish召開的學(xué)術(shù)會議上,F(xiàn)eitzBauer首先提出了“軟件工程”概念。軟件工程與編程前者是一門學(xué)科,一種科學(xué)理論來指導(dǎo)軟件系統(tǒng)開發(fā),標(biāo)準(zhǔn)化,自動化的過程考慮如何分解一個系統(tǒng),以便各人分工開發(fā);考慮如何說明每個部分的規(guī)格要求;怎樣才能易于維護單純的代碼編寫是軟件工程發(fā)展的前身是軟件工程中占據(jù)很少時間和空間的一部分計算機學(xué)科的發(fā)展計算機科學(xué)(CS)計算機科學(xué)(CS)計算機工程(CE)軟件工程(SE)信息系統(tǒng)(IS)計算學(xué)科(computingDiscipline)

早期

第二階段第三階段第四階段面向批處理

多用戶

分布式系統(tǒng)

強大的桌面系統(tǒng)有限的分布

實時

嵌入“智能”面向?qū)ο蠹夹g(shù)自定義軟件

數(shù)據(jù)庫

低成本硬件

專家系統(tǒng)

軟件產(chǎn)品消費者的影響

人工神經(jīng)網(wǎng)絡(luò)

并行計算

網(wǎng)絡(luò)計算機195019601970198019902000Evolutionofsoftware#為什么發(fā)展如此之快不準(zhǔn)確的時間和金錢的估算軟件質(zhì)量的低下相對硬件產(chǎn)品開發(fā)軟件開發(fā)費用的增加維護、增強軟件系統(tǒng)的必要性硬件價格大幅度下降軟件技術(shù)面臨的問題

規(guī)模復(fù)雜性生產(chǎn)率

Windows95有1000萬行代碼

Windows2000有5000萬行代碼例:Exchange2000和Windows2000開發(fā)人員結(jié)構(gòu)Exchange2000Windows2000項目經(jīng)理25人約250人開發(fā)人員140人約1700人測試人員350人約3200人軟件危機的主要特征軟件開發(fā)周期大大超過規(guī)定日期;軟件開發(fā)成本嚴重超標(biāo);軟件質(zhì)量難于保證。軟件工程的定義FritzBauer在NATO會議上給出的定義:

“軟件工程是為了經(jīng)濟地獲得可靠的和能在實際機器上高效運行的軟件而確立和使用的健全的工程原理(方法)。”軟件工程的定義(2)

IEEE【IEE83】給出的軟件工程定義:

“軟件工程是開發(fā)、運行、維護和修復(fù)軟件的系統(tǒng)方法?!避浖こ痰亩x(3)IEEE【IEE93】給出了一個更加綜合的定義:

“將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運行和維護的過程,即將工程化應(yīng)用于軟件中。”軟件工程是一門交叉學(xué)科軟件工程的主要研究內(nèi)容軟件開發(fā)技術(shù):軟件開發(fā)方法學(xué)軟件開發(fā)過程軟件工具和軟件工程環(huán)境軟件工程管理:軟件管理學(xué)軟件經(jīng)濟學(xué)軟件心理學(xué)軟件工程所包含的內(nèi)容不是一成不變的,隨著人們對軟件系統(tǒng)的研制開發(fā)和生產(chǎn)的理解。應(yīng)用發(fā)展的眼光看待它。軟件工程—一種層次化技術(shù)工具方法過程質(zhì)量焦點Softwareengineeringlayers軟件工程三個要素:方法、工具、過程軟件工程知識結(jié)構(gòu)

2001年5月ISO/IECJTC1(ISO和IEC的第一聯(lián)合技術(shù)委員會)發(fā)布了《SWEBOK指南V0.95(試用版)》SWEBOK把軟件工程學(xué)科的主體知識分為10個知識領(lǐng)域。軟件工程知識結(jié)構(gòu)軟件需求軟件設(shè)計軟件構(gòu)造軟件測試軟件維護軟件配置管理軟件工程管理軟件工程過程軟件工程工具和方法軟件質(zhì)量“軟件工程”課程

與其它軟件專業(yè)課的區(qū)別(1)立足于系統(tǒng)的整體。(2)講授系統(tǒng)分析、系統(tǒng)設(shè)計、測試及維護的理論和方法。(3)構(gòu)筑一個軟件系統(tǒng),實踐軟件開發(fā)全過程。學(xué)習(xí)“軟件工程”的目的轉(zhuǎn)變對軟件的認識:上升程序系統(tǒng)轉(zhuǎn)變思維定式:上升程序員系統(tǒng)工程師

(系統(tǒng)分析員)軟件和軟件生命期模型(SoftwareLifeCycle)軟件產(chǎn)品或軟件系統(tǒng)從設(shè)計、投入使用到被淘汰的全過程。軟件生存期的階段劃分(1)可行性研究與計劃(2)需求分析(3)總體設(shè)計(4)詳細設(shè)計(5)實現(xiàn)(6)集成測試(7)確認測試(8)使用和維護成長期(開發(fā)期)計劃期

成年期(運行期)軟件工作的范圍只考慮編寫程序涉及整個軟件生存周期擴展到

軟件開發(fā)模型是軟件開發(fā)全部過程、活動和任務(wù)的結(jié)構(gòu)框架。它能直觀表達軟件開發(fā)全過程,明確規(guī)定要完成的主要活動、任務(wù)和開發(fā)策略。軟件開發(fā)模型也常稱為: 軟件過程模型 軟件生存周期模型 軟件工程范型軟件開發(fā)模型可行性研究與計劃需求分析設(shè)計編碼運行維護測試定義階段開發(fā)階段維護階段1.瀑布模型(WaterfallModel)開發(fā)軟件不僅僅是編程瀑布模型開發(fā)軟件的特點1.階段間具有順序性和依賴性。2.推遲實現(xiàn)的觀點。3.每個階段必須完成規(guī)定的文檔;每個階段結(jié)束前完成文檔審查,及早改正錯誤。瀑布模型適用于開發(fā)用戶需求明確并且很少變化的軟件!!2.演化模型首先針對已提出的核心需求開發(fā)軟件的第一個版本,又稱“原型”。用戶使用原型并反饋意見進入下一輪,完成定義、設(shè)計、編碼、測試、使用、反饋等階段;進行多輪修正,直到實現(xiàn)用戶的所有需求,交付使用。演化模型適用于開發(fā)事先用戶需求不明確的軟件!!信息流(細化)R:需求C/T:編碼/測試D:設(shè)計I/AS:安裝和驗收支持R1DC/TI/ASR2RnDDC/TC/TI/ASI/AS工作版本1工作版本2工作版本n3.螺旋模型螺旋模型將瀑布模型和演化模型等結(jié)合起來,并且強調(diào)了其他模型

溫馨提示

  • 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

提交評論