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

下載本文檔

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

文檔簡介

第9章軟件工程

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

早期

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

多用戶

分布式系統

強大的桌面系統有限的分布

實時

嵌入“智能”面向對象技術自定義軟件

數據庫

低成本硬件

專家系統

軟件產品消費者的影響

人工神經網絡

并行計算

網絡計算機195019601970198019902000Evolutionofsoftware#為什么發展如此之快不準確的時間和金錢的估算軟件質量的低下相對硬件產品開發軟件開發費用的增加維護、增強軟件系統的必要性硬件價格大幅度下降軟件技術面臨的問題

規模復雜性生產率

Windows95有1000萬行代碼

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

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

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

“軟件工程是開發、運行、維護和修復軟件的系統方法。”軟件工程的定義(3)IEEE【IEE93】給出了一個更加綜合的定義:

“將系統化的、規范的、可度量的方法應用于軟件的開發、運行和維護的過程,即將工程化應用于軟件中。”軟件工程是一門交叉學科軟件工程的主要研究內容軟件開發技術:軟件開發方法學軟件開發過程軟件工具和軟件工程環境軟件工程管理:軟件管理學軟件經濟學軟件心理學軟件工程所包含的內容不是一成不變的,隨著人們對軟件系統的研制開發和生產的理解。應用發展的眼光看待它。軟件工程—一種層次化技術工具方法過程質量焦點Softwareengineeringlayers軟件工程三個要素:方法、工具、過程軟件工程知識結構

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

與其它軟件專業課的區別(1)立足于系統的整體。(2)講授系統分析、系統設計、測試及維護的理論和方法。(3)構筑一個軟件系統,實踐軟件開發全過程。學習“軟件工程”的目的轉變對軟件的認識:上升程序系統轉變思維定式:上升程序員系統工程師

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

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

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

溫馨提示

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

評論

0/150

提交評論