軟件設(shè)計學(xué)習(xí)入門-3-1軟件工程_第1頁
軟件設(shè)計學(xué)習(xí)入門-3-1軟件工程_第2頁
軟件設(shè)計學(xué)習(xí)入門-3-1軟件工程_第3頁
軟件設(shè)計學(xué)習(xí)入門-3-1軟件工程_第4頁
軟件設(shè)計學(xué)習(xí)入門-3-1軟件工程_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第三講軟件工程

李萌2017年2月2內(nèi)容1.1 軟件工程1.2 軟件生存周期1.3 軟件開發(fā)過程模型3(1)什么是軟件計算機軟件是與計算機系統(tǒng)操作有關(guān)的程序、規(guī)程、規(guī)則及任何與之有關(guān)的文檔及數(shù)據(jù),即:計算機軟件=程序+數(shù)據(jù)+文檔軟件是邏輯產(chǎn)品而不是物理產(chǎn)品,因此軟件在開發(fā)、生產(chǎn)、維護和使用等方面與硬件相比均存在明顯的差異。4計算機軟件的應(yīng)用領(lǐng)域和類型系統(tǒng)軟件實時軟件嵌入式軟件科學(xué)和工程計算軟件事務(wù)處理軟件人工智能軟件個人計算機軟件……

上述分類存在交叉5(2)軟件危機大型軟件開發(fā)項目經(jīng)常出現(xiàn)預(yù)算超支、軟件交貨時間延遲、軟件質(zhì)量差、維護困難、在軟件維護過程中很容易引進新的錯誤、軟件的可移植性差、軟件很少能夠復(fù)用等問題;工業(yè)界為維護軟件支付的費用甚至占全部硬件和軟件費用的40%-75%;許多重要的大型軟件開發(fā)項目在耗費了大量的人力和財力之后,由于離預(yù)定目標(biāo)相差甚遠(yuǎn)不得不宣布失敗。6軟件危機的原因(1/2)用戶對軟件需求的描述不精確,可能存在遺漏、二義性、錯誤等。甚至在軟件開發(fā)過程中,用戶還提出修改軟件功能、界面、支撐環(huán)境等方面的要求,導(dǎo)致需求不斷變化。軟件開發(fā)人員對用戶需求的理解與用戶的本來愿望有差異,這種差異必然導(dǎo)致開發(fā)出來的軟件產(chǎn)品與用戶要求不一致。大型軟件項目需要組織一定的人力共同完成,但多數(shù)管理人員缺乏開發(fā)大型軟件系統(tǒng)的經(jīng)驗,而多數(shù)軟件開發(fā)人員又缺乏管理方面的經(jīng)驗。各類人員的信息交流不及時、不準(zhǔn)確,有時還會產(chǎn)生誤解。7軟件危機的原因(2/2)軟件項目開發(fā)人員不能有效地、獨立自主地處理大型軟件的全部關(guān)系和各個分枝,因此容易產(chǎn)生疏漏和錯誤。缺乏有力的方法學(xué)和工具方面的支持,過分地依靠程序設(shè)計人員在軟件開發(fā)過程中的技巧和創(chuàng)造性,加劇軟件產(chǎn)品的個性化。軟件產(chǎn)品的特殊性和人類智力的局限性,導(dǎo)致人們無力處理“復(fù)雜問題”。一旦人們采用先進的組織形式、開發(fā)方法和工具提高了軟件的開發(fā)效率和能力,新的、更大更復(fù)雜的問題又?jǐn)[在人們面前。8(3)軟件工程的概念軟件工程的定義有不同的表述方式,典型的定義包括:-軟件工程是將系統(tǒng)的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運行和維護過程,以及對上述方法的研究。-軟件工程是用工程、科學(xué)和數(shù)學(xué)的原則與方法,研制、維護計算機軟件的有關(guān)技術(shù)及管理方法。9軟件工程的要素

方法軟件工程

工具

過程10(4)軟件工程的目標(biāo)與原則目標(biāo):可修改性有效性可靠性可理解性可維護性可復(fù)用性可適應(yīng)性可移植性可追蹤性11軟件工程的原則抽象(Abstraction)信息隱藏(InformationHiding)模塊化(Modularity)局部化(Localization)一致性(Consistency)完全性(Completeness)可驗證性(Verifiability)12內(nèi)容1.1 軟件工程1.2 軟件生存周期1.3 軟件開發(fā)過程模型13軟件生存周期可行性研究需求分析概要設(shè)計詳細(xì)設(shè)計軟件構(gòu)造單元測試集成測試確認(rèn)測試使用與維護退役14“V-模型”可行性研究需求分析概要設(shè)計詳細(xì)設(shè)計軟件構(gòu)造軟件的使用確認(rèn)測試集成測試單元測試15內(nèi)容1.1 軟件工程1.2 軟件生存周期1.3 軟件開發(fā)過程模型16軟件開發(fā)過程模型軟件生命周期包含了軟件從概念形成到最終退役的所有活動,而對于一個具體的軟件項目,開發(fā)人員更加關(guān)注的是開發(fā)過程中包含的活動以及其具體安排。軟件開發(fā)過程模型給出了軟件開發(fā)中各個活動之間的關(guān)系,它是軟件開發(fā)過程的概括,是軟件工程的重要內(nèi)容。能為軟件工程管理提供里程碑和進度表,為軟件開發(fā)過程提供原則和方法。典型開發(fā)過程模型邊做邊修改模型瀑布模型快速原型模型增量模型螺旋模型統(tǒng)一軟件開發(fā)過程模型噴泉模型凈室模型1718(1)瀑布模型可行性研究需求分析概要設(shè)計詳細(xì)設(shè)計軟件構(gòu)造單元測試集成測試確認(rèn)測試使用與維護19(2)快速原型模型初步需求分析快速設(shè)計構(gòu)造原型用戶評估原型(新需求)原型改進產(chǎn)品開發(fā)開始結(jié)束20(3)螺旋模型21統(tǒng)一軟件開發(fā)過程RUP軟件過程管理22ISO9001、ISO9000-3標(biāo)準(zhǔn)軟件能力成熟度模型CMM能力成熟度模型集成CMMI成熟度等級已實施,過程不可控已管理,項目過程可控已定義,組織內(nèi)部過程已制度化定量管理,過程已測量和控制優(yōu)化,關(guān)注持續(xù)的過程改進敏捷項目管理傳統(tǒng)軟件開發(fā)方法論,強調(diào)可預(yù)言性,線性開發(fā)周期,基于穩(wěn)定性(需求與設(shè)計),通過任務(wù)分解以期獲得確定性敏捷方法論,應(yīng)對快速變化的需求,強調(diào)程序員團隊與業(yè)務(wù)專家協(xié)作、面對面溝通、頻繁交付新版本、自組織團隊,注重軟件開發(fā)中人的作用敏捷過程極限編程XP結(jié)對編程、測試驅(qū)動開發(fā)TDD動態(tài)系統(tǒng)開發(fā)方法DSDM基于快速應(yīng)用程序開發(fā)RAD,每個開發(fā)階段使用原型的迭代-增量過程模型對比瀑布方法瀑布的問題嚴(yán)格分級導(dǎo)致自由度降低難以適應(yīng)后期需求變化,代價高昂敏捷方法短期

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論