軟件工程概述教學(xué)課件_第1頁
軟件工程概述教學(xué)課件_第2頁
軟件工程概述教學(xué)課件_第3頁
軟件工程概述教學(xué)課件_第4頁
軟件工程概述教學(xué)課件_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件工程基礎(chǔ)計(jì)算機(jī)系統(tǒng)工程概念系統(tǒng)分析和定義硬 件軟 件系統(tǒng)(總體)設(shè)計(jì)硬件工程軟件工程軟件危機(jī).計(jì)算機(jī)硬件性能價(jià)格比和質(zhì)量穩(wěn)步提高軟件成本逐年上升,質(zhì)量沒有可靠的保證軟件已成為限制計(jì)算機(jī)系統(tǒng)發(fā)展的關(guān)健因素將軟件開發(fā)和維護(hù)過程中遇到的一系列嚴(yán)重問題統(tǒng)稱為“軟件危機(jī)”在年代后期開始認(rèn)真研究解決軟件危機(jī)的方法,逐步形成了新興的計(jì)算機(jī)軟件工程學(xué).軟件危機(jī)什么是軟件危機(jī)?軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)中所遇到的一系列嚴(yán)重問題。幾乎所有軟件都不同程度地存在這些問題概括地說軟件危機(jī)包含兩方面問題:如何開發(fā)軟件,怎樣滿足對(duì)軟件的日益增長的需求如何維護(hù)數(shù)量不斷膨脹的已有軟件軟件危機(jī)主要表現(xiàn)對(duì)軟件開發(fā)成本

2、和進(jìn)度的估計(jì)很不準(zhǔn)確用戶對(duì)“已完成的”軟件不滿意的現(xiàn)象經(jīng)常發(fā)生軟件產(chǎn)品的質(zhì)量靠不住軟件不可維護(hù)軟件沒有適當(dāng)?shù)奈臋n資料軟件成本占計(jì)算機(jī)系統(tǒng)總成本的比例逐年上 升軟件開發(fā)生產(chǎn)率提高的速度遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢(shì)產(chǎn)生軟件危機(jī)的原因一方面與軟件本身的特點(diǎn)有關(guān)在軟件運(yùn)行前,軟件開發(fā)過程的進(jìn)展難衡量,質(zhì)量難 評(píng)價(jià),因此管理和控制軟件開發(fā)過程相當(dāng)困難;在軟件運(yùn)行中,軟件維護(hù)意味著改正或修改原來的設(shè)計(jì),較難維 護(hù);軟件的顯著特點(diǎn)是規(guī)模龐大,復(fù)雜度超線性增長。要保證高質(zhì)量 大型軟件的開發(fā),極端復(fù)雜困難,不僅涉及技術(shù)問題(如分析方 法、設(shè)計(jì)方法、版本控制),更重要的是必須有嚴(yán)格而科學(xué)的管理。另一方面

3、與軟件開發(fā)和維護(hù)方法不正確有關(guān),這是主要原因。特別是忽視軟件需求分析的重要性忽視軟件需求分析的重要性對(duì)用戶要求沒有完整準(zhǔn)確的認(rèn)識(shí)就匆忙著手編寫程序軟件開發(fā)與編程等同忽略文檔軟件定義不明輕視維護(hù)計(jì)算機(jī)軟件軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合程序是按事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)文檔是與程序開發(fā),維護(hù)和使用有關(guān)的圖文材料軟件的特點(diǎn)軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體。因而它具有抽象性軟件的生產(chǎn)與硬件不同,在它的開發(fā)過程中沒有明顯的制造過程在軟件的運(yùn)行和使用期間,沒有硬件那樣的機(jī)械磨損,老化問題對(duì)軟件開發(fā)

4、的錯(cuò)誤認(rèn)識(shí)(1)已經(jīng)有了關(guān)于建造軟件的標(biāo)準(zhǔn)和規(guī)程使用了嗎?開發(fā)者知道嗎?適用嗎?完整嗎?已經(jīng)有了很好的軟件開發(fā)工具還需要計(jì)算機(jī)輔助軟件工程(CASE)工具對(duì)軟件開發(fā)的錯(cuò)誤認(rèn)識(shí)(2)如果計(jì)劃落后,可以增加人員趕回來給一個(gè)已經(jīng)延遲的軟件項(xiàng)目增加人手只會(huì)使其更加延遲原有人員需要抽實(shí)踐訓(xùn)練新手有了目標(biāo)的一般描述就可以開始寫程序不完善的系統(tǒng)定義是項(xiàng)目失敗的主要原因?qū)浖_發(fā)的錯(cuò)誤認(rèn)識(shí)(3)項(xiàng)目需求不斷變化,但軟件很靈活,變化能夠很容易地得到滿足軟件需求的變化確實(shí)是經(jīng)常的,但其產(chǎn)生的影響隨著引入的時(shí)間不同而不同寫出程序并使其正常運(yùn)行,工作就結(jié)束了越早開始寫程序,就要花越長時(shí)間才能夠完成對(duì)軟件開發(fā)的錯(cuò)誤認(rèn)識(shí)

5、(4)在程序真正開始運(yùn)行前,無法評(píng)估其質(zhì)量正式的技術(shù)評(píng)審質(zhì)量過濾器成功項(xiàng)目唯一應(yīng)該提交的就是運(yùn)行程序軟件=程序+文檔+數(shù)據(jù)文檔是成功開發(fā)的基礎(chǔ)文檔為維護(hù)提供指導(dǎo)解決辦法.全 面解決軟件危機(jī)需要一 系列綜合措施:在軟件研制的各個(gè)階段采用好的工具;對(duì)軟件的實(shí)現(xiàn)提供有效的構(gòu)件塊;為保證軟件質(zhì)量提供自動(dòng)設(shè)計(jì)技術(shù);以及為協(xié)調(diào)、控制、管理提供基本理論和技術(shù)軟件工程。.解決辦法軟件工程這一要素將駕馭前面的工具、構(gòu)件決和技術(shù)軟件工程把管理、控制、評(píng)審等方法與分析、設(shè)計(jì)、編碼、測試、維護(hù)等技術(shù)結(jié)合起來沒有堅(jiān)實(shí)的軟件開發(fā)方法學(xué),即使最先進(jìn)的工具和技術(shù)也不能使軟件危機(jī)有所減輕軟件工程工程化方法用于解決任何產(chǎn)品開發(fā)的

6、一種工程化方法是:要求在定義、開發(fā)和維護(hù)階段的每一步中都采用經(jīng)過驗(yàn)證的方法要求一系列的復(fù)查,以便在產(chǎn)品開發(fā)中保證質(zhì)量規(guī)定在每一步中要產(chǎn)生的特定的文檔鼓勵(lì)能夠加速開發(fā)的各種工具和方法的使用與研制提供從原始產(chǎn)品概念到最后產(chǎn)品制造的一個(gè)可追溯的途徑軟件工程是使計(jì)算機(jī)軟件走向工程科學(xué)的途徑軟件工程軟件工程定義軟件工程是為了經(jīng)濟(jì)地獲得可靠的和能在實(shí)際機(jī)器上高效運(yùn)行的軟件而建立和使用的好的工程原則。(Fritz Bauer 1969)軟件工程是應(yīng)用于計(jì)算機(jī)軟件的定義、開發(fā)和維護(hù)的 一整套方法、工具、文檔、實(shí)踐標(biāo)準(zhǔn)和工序。(GB)軟件工程:(1)將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù)的

7、過程,即將工程化應(yīng)用于軟件中。(2)(1)中所述方法的研究。(IEEE93)軟件工程是模仿在硬件研制中行之有效的一套計(jì)劃、管理、技術(shù)、方法,基于軟件的生存期概念而建立起來的。.軟件工程質(zhì)量焦點(diǎn):任何工程方法必須以有組織的質(zhì)量保證為基礎(chǔ)。質(zhì)量的理念刺激不斷過程改進(jìn),導(dǎo)致出現(xiàn)更加成熟的軟件工程方法。它是軟件工程的根基。過程:軟件工程的基礎(chǔ)是過程。軟件工程過程是將技術(shù)層結(jié)合在一起的凝聚力,使得軟件能夠合理地和及時(shí)地開發(fā)出來。方法:軟件工程方法層提供了建造軟件在技術(shù)上需要“怎么做”。工具:在工具層對(duì)過程和方法提供了自動(dòng)和半自動(dòng)的支持。軟件工程生存期概念計(jì)算機(jī)軟件生存期中有三個(gè)階段:定義階段、開發(fā)階段

8、、維護(hù)階段。定義階段:為軟件項(xiàng)目做出計(jì)劃、預(yù)算資金和進(jìn)度,分析并規(guī)定詳細(xì)的需求做什么開發(fā)階段:用經(jīng)過驗(yàn)證的各種設(shè)計(jì)、編碼和測試方法把軟件需求轉(zhuǎn)變?yōu)橐粋€(gè)可執(zhí)行的程序怎么做維護(hù)階段:糾正所遇到的各種問題,修正軟件使之適合于不同的工作環(huán)境,增強(qiáng)功能要求改變每一個(gè)階段都有一系列的工程步驟,每一步都以能加以 復(fù)查并可移交才作為結(jié)束軟件生存期 life cycle軟件有一個(gè)孕育、誕生、成長、成熟、衰亡的生存過程。這個(gè)過程即為計(jì)算機(jī)軟件的生存期軟件生存期的六個(gè)步驟,即制定計(jì)劃、需求分析、設(shè)計(jì)、程序編碼、測試及運(yùn)行維護(hù)瀑布模型 制定計(jì)劃確定要開發(fā)軟件系統(tǒng)的總目標(biāo)給出功能、性能、可靠性以及接口等方面的要求完成該

9、軟件任務(wù)的可行性研究估計(jì)可利用的資源(計(jì)算機(jī)硬件,軟件,人力等)、成本、效益、開發(fā)進(jìn)度制定出完成開發(fā)任務(wù)的實(shí)施計(jì)劃,連同可行性研究報(bào)告,提交管理部門審查需求分析和定義對(duì)待開發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)的定義編寫軟件需求說明書或系統(tǒng)功能說明書及初步的系統(tǒng)用戶手冊(cè)提交管理機(jī)構(gòu)評(píng)審軟件設(shè)計(jì)概要設(shè)計(jì) 把各項(xiàng)需求轉(zhuǎn)換成軟件的體系結(jié)構(gòu)。結(jié)構(gòu)中每一組成部分都是意義明確的模塊,每個(gè)模塊都和某些需求相對(duì)應(yīng)詳細(xì)設(shè)計(jì) 對(duì)每個(gè)模塊要完成的工作進(jìn)行具體的描述,為源程序編寫打下基礎(chǔ)編寫設(shè)計(jì)說明書,提交評(píng)審。程序編寫把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼,即寫成以某一種特定程序設(shè)計(jì)語言表示的“源程序清單”寫出的程序

10、應(yīng)當(dāng)是結(jié)構(gòu)良好、清晰易讀的,且與設(shè)計(jì)相一致的軟件測試單元測試,查找各模塊在功能和結(jié)構(gòu)上存在的問題并加以糾正組裝測試,將已測試過的模塊按一定順序組裝起來按規(guī)定的各項(xiàng)需求,逐項(xiàng)進(jìn)行有效性測試,決定已開發(fā)的軟件是否合格,能否交付用戶使用運(yùn)行維護(hù)改正性維護(hù) 運(yùn)行中發(fā)現(xiàn)了軟件中的錯(cuò)誤需要修正適應(yīng)性維護(hù) 為了適應(yīng)變化了的軟件工作環(huán)境,需做適當(dāng)變更完善性維護(hù) 為了增強(qiáng)軟件的功能需做變更軟件生存期模型軟件生存期模型是跨越整個(gè)生存期的系統(tǒng)開發(fā)、運(yùn)作和維護(hù)所實(shí)施的全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架瀑布模型演化模型螺旋模型噴泉模型智能模型 面向?qū)ο竽P?軟件工程學(xué)的基本目標(biāo)一種定義良好的方法學(xué),該方法學(xué)是面向包括計(jì)劃、開發(fā)和維護(hù)等階段的軟件生存周期的一組確定的軟件成分,它對(duì)軟件生存周期的每一部記錄軟件文件資料,并且具有按步顯示軌跡的能力一組可以預(yù)測的里程碑,在整個(gè)軟件生存周期中,每隔一定時(shí)間可以對(duì)他們進(jìn)行復(fù)審軟件工程學(xué)的基本原則分解 將一個(gè)復(fù)雜的問題分成若干個(gè)較小的、相對(duì)獨(dú)立的、較易解決的子問題。抽象和信息隱蔽 在將復(fù)雜問題逐層分解時(shí),將“怎么做”等大量細(xì)節(jié)隱蔽在下一層,從而使上一層突出“做什么”而得到簡化

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論