版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第9章軟件工程
為什么提出軟件工程從20世紀40年代開始到軟件工程術語提出為止的20多年時間里,對軟件開發(fā)的理解就是編程序,那時的編程有以下特點:軟件規(guī)模相對較小,人們關心的是計算機硬件的發(fā)展。作為一個計算機專業(yè)人員,他必須懂得計算機的結(jié)構。作為一個機構,其大量資金也是用于計算機硬件開銷上,軟件只是作為展現(xiàn)其硬件性能的一種手段而投入的少量資金。為什么提出軟件工程編程僅作為一門技藝,大部分軟件技術人員不太關心他人的工作,決定軟件質(zhì)量的惟一因素就是該編程人員的素質(zhì)。缺少有效方法與軟件工具的支持。由于重視個人技能,軟件開發(fā)過程能見度低,許多管理人員不知道他們的軟件技術人員工作究竟做得如何。由于人們重視個人技能,一旦需要做某些修改,就要原編程人員進行修改。這使得軟件開發(fā)后的維護工作很難進行。軟件工程的背景和歷史1968年由NATO(北大西洋公約組織)在德國Garmish召開的學術會議上,F(xiàn)eitzBauer首先提出了“軟件工程”概念。軟件工程與編程前者是一門學科,一種科學理論來指導軟件系統(tǒng)開發(fā),標準化,自動化的過程考慮如何分解一個系統(tǒng),以便各人分工開發(fā);考慮如何說明每個部分的規(guī)格要求;怎樣才能易于維護單純的代碼編寫是軟件工程發(fā)展的前身是軟件工程中占據(jù)很少時間和空間的一部分計算機學科的發(fā)展計算機科學(CS)計算機科學(CS)計算機工程(CE)軟件工程(SE)信息系統(tǒng)(IS)計算學科(computingDiscipline)
早期
第二階段第三階段第四階段面向批處理
多用戶
分布式系統(tǒng)
強大的桌面系統(tǒng)有限的分布
實時
嵌入“智能”面向?qū)ο蠹夹g自定義軟件
數(shù)據(jù)庫
低成本硬件
專家系統(tǒng)
軟件產(chǎn)品消費者的影響
人工神經(jīng)網(wǎng)絡
并行計算
網(wǎng)絡計算機195019601970198019902000Evolutionofsoftware#為什么發(fā)展如此之快不準確的時間和金錢的估算軟件質(zhì)量的低下相對硬件產(chǎn)品開發(fā)軟件開發(fā)費用的增加維護、增強軟件系統(tǒng)的必要性硬件價格大幅度下降軟件技術面臨的問題
規(guī)模復雜性生產(chǎn)率
Windows95有1000萬行代碼
Windows2000有5000萬行代碼例:Exchange2000和Windows2000開發(fā)人員結(jié)構Exchange2000Windows2000項目經(jīng)理25人約250人開發(fā)人員140人約1700人測試人員350人約3200人軟件危機的主要特征軟件開發(fā)周期大大超過規(guī)定日期;軟件開發(fā)成本嚴重超標;軟件質(zhì)量難于保證。軟件工程的定義FritzBauer在NATO會議上給出的定義:
“軟件工程是為了經(jīng)濟地獲得可靠的和能在實際機器上高效運行的軟件而確立和使用的健全的工程原理(方法)。”軟件工程的定義(2)
IEEE【IEE83】給出的軟件工程定義:
“軟件工程是開發(fā)、運行、維護和修復軟件的系統(tǒng)方法?!避浖こ痰亩x(3)IEEE【IEE93】給出了一個更加綜合的定義:
“將系統(tǒng)化的、規(guī)范的、可度量的方法應用于軟件的開發(fā)、運行和維護的過程,即將工程化應用于軟件中。”軟件工程是一門交叉學科軟件工程的主要研究內(nèi)容軟件開發(fā)技術:軟件開發(fā)方法學軟件開發(fā)過程軟件工具和軟件工程環(huán)境軟件工程管理:軟件管理學軟件經(jīng)濟學軟件心理學軟件工程所包含的內(nèi)容不是一成不變的,隨著人們對軟件系統(tǒng)的研制開發(fā)和生產(chǎn)的理解。應用發(fā)展的眼光看待它。軟件工程—一種層次化技術工具方法過程質(zhì)量焦點Softwareengineeringlayers軟件工程三個要素:方法、工具、過程軟件工程知識結(jié)構
2001年5月ISO/IECJTC1(ISO和IEC的第一聯(lián)合技術委員會)發(fā)布了《SWEBOK指南V0.95(試用版)》SWEBOK把軟件工程學科的主體知識分為10個知識領域。軟件工程知識結(jié)構軟件需求軟件設計軟件構造軟件測試軟件維護軟件配置管理軟件工程管理軟件工程過程軟件工程工具和方法軟件質(zhì)量“軟件工程”課程
與其它軟件專業(yè)課的區(qū)別(1)立足于系統(tǒng)的整體。(2)講授系統(tǒng)分析、系統(tǒng)設計、測試及維護的理論和方法。(3)構筑一個軟件系統(tǒng),實踐軟件開發(fā)全過程。學習“軟件工程”的目的轉(zhuǎn)變對軟件的認識:上升程序系統(tǒng)轉(zhuǎn)變思維定式:上升程序員系統(tǒng)工程師
(系統(tǒng)分析員)軟件和軟件生命期模型(SoftwareLifeCycle)軟件產(chǎn)品或軟件系統(tǒng)從設計、投入使用到被淘汰的全過程。軟件生存期的階段劃分(1)可行性研究與計劃(2)需求分析(3)總體設計(4)詳細設計(5)實現(xiàn)(6)集成測試(7)確認測試(8)使用和維護成長期(開發(fā)期)計劃期
成年期(運行期)軟件工作的范圍只考慮編寫程序涉及整個軟件生存周期擴展到
軟件開發(fā)模型是軟件開發(fā)全部過程、活動和任務的結(jié)構框架。它能直觀表達軟件開發(fā)全過程,明確規(guī)定要完成的主要活動、任務和開發(fā)策略。軟件開發(fā)模型也常稱為: 軟件過程模型 軟件生存周期模型 軟件工程范型軟件開發(fā)模型可行性研究與計劃需求分析設計編碼運行維護測試定義階段開發(fā)階段維護階段1.瀑布模型(WaterfallModel)開發(fā)軟件不僅僅是編程瀑布模型開發(fā)軟件的特點1.階段間具有順序性和依賴性。2.推遲實現(xiàn)的觀點。3.每個階段必須完成規(guī)定的文檔;每個階段結(jié)束前完成文檔審查,及早改正錯誤。瀑布模型適用于開發(fā)用戶需求明確并且很少變化的軟件??!2.演化模型首先針對已提出的核心需求開發(fā)軟件的第一個版本,又稱“原型”。用戶使用原型并反饋意見進入下一輪,完成定義、設計、編碼、測試、使用、反饋等階段;進行多輪修正,直到實現(xiàn)用戶的所有需求,交付使用。演化模型適用于開發(fā)事先用戶需求不明確的軟件??!信息流(細化)R:需求C/T:編碼/測試D:設計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)系上傳者。文件的所有權益歸上傳用戶所有。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度解除合同范本:汽車銷售合同解除協(xié)議
- 二零二五年度2025年度爬山活動安全保障合同
- 綠色辦公理念在小學生中的應用實踐
- 企業(yè)未來發(fā)展趨勢及對公客戶資產(chǎn)合理分配探討
- 網(wǎng)絡安全與嵌入式系統(tǒng)的同步發(fā)展
- 教育領域中的宇宙探索之旅
- 新興技術下的創(chuàng)新教育模式-基于工聯(lián)網(wǎng)平臺的在線教學應用研究
- 家庭教育中的時間管理藝術培訓小學生版
- 2025年蘇州健雄職業(yè)技術學院高職單招職業(yè)適應性測試近5年??及鎱⒖碱}庫含答案解析
- 校園食堂菜譜創(chuàng)新提高學生飲食體驗的途徑
- 骨科抗菌藥物應用分析報告
- 中職安全管理方案
- 百詞斬托福詞匯excel版本
- 高考寫作指導常見議論文論證方法知識梳理與舉例解析課件27張
- (完整word版)高中英語3500詞匯表
- 玻璃反應釜安全操作及保養(yǎng)規(guī)程
- 高中英語新課標詞匯表(附詞組)
- 證券公司信用風險和操作風險管理理論和實踐中金公司
- 一級建造師繼續(xù)教育最全題庫及答案(新)
- 2022年高考湖南卷生物試題(含答案解析)
- GB/T 20909-2007鋼門窗
評論
0/150
提交評論