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

下載本文檔

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

文檔簡介

1、軟件工程 (Software Engineering) 計算機科學(xué)與工程學(xué)院 School of Computer Science 軟件開發(fā)成本嚴重超標; 軟件質(zhì)量難于保證,改正一個問題需付出的代價,需 求 分 析,結(jié)構(gòu)設(shè)計,詳細設(shè)計,編碼,集成測試,系統(tǒng)測試,現(xiàn)場,改正一個問題的估計費用,改正一個問題估計的工作量,20,200,2000,1000,5.0,2.5,0.05,0.5,美元,人天,成功沒有那么輕易到來,31,53,16,Successfully,Challenged,Canceled,成功與失敗,成功的標準: 用戶在用 用戶可很容易做完要做的事 失敗的根本原因: 開發(fā)人員寫出的東

2、西達不到用戶要求(人的問題.技術(shù)問題,處在十字路口的中國軟件產(chǎn)業(yè),主權(quán)大國必須建立基于自主技術(shù)的、完整的軟件產(chǎn)業(yè)體系。 軟件本國提供率:中國1/3左右,美國97% “印度模式”還是“中國模式” 軟件人才結(jié)構(gòu)不合理,缺乏中高級軟件人才,軟件人員缺乏軟件工程化的概念,軟件工程的定義1,Fritz Bauer在NATO會議上給出的定義: “軟件工程是為了經(jīng)濟地獲得可靠的和能在實際機器上高效運行的軟件而確立和使用的好的工程原則(方法)。,軟件工程的定義2,IEEE【IEE83】給出的軟件工程定義: “軟件工程是開發(fā)、運行、維護和修復(fù)軟件的系統(tǒng)方法。,IEEE【IEE93】給出了一個更加綜合的定義: “

3、將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運行和維護的過程,即將工程化應(yīng)用于軟件中。,軟件工程的定義3,軟件工程是應(yīng)用計算機科學(xué)、數(shù)學(xué)及管理科學(xué)等原理開發(fā)軟件的工程。它借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量,降低成本為目的,軟件工程的定義4,軟件工程是一門交叉學(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ù),Software engineering layers,軟

4、件工程三個要素:過程、方法、工具,三要素,方法、工具和過程,軟件工程方法包括了多方面的任務(wù),如項目計劃與估算、軟件系統(tǒng)需求分析、數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)總體結(jié)構(gòu)的設(shè)計、算法的設(shè)計、編碼、測試以及維護等。 軟件工具為軟件工程方法提供了自動的或半自動的軟件支撐環(huán)境。如CASE、ISEE等。 軟件工程過程則是將軟件工程的方法和工具綜合起來以達到合理、及時地進行計算機軟件開發(fā)的目的。過程定義了方法使用的順序、要求交付的文檔資料、為保證質(zhì)量和協(xié)調(diào)變化所需要的管理、及軟件開發(fā)各個階段完成的里程碑,軟件工程過程特性,易理解性 可見性 可支持性 可接受性,可靠性 健壯性 可維護性 速度,工程是對技術(shù)(或社會)實體的分析

5、、設(shè)計、建造、驗證和管理。因此工程須回答下列問題,要解決的問題是什么? 要用于解決該問題的實體具有什么特點? 如何實現(xiàn)該實體(解決方案)? 如何建造該實體? 采用什么方法去發(fā)現(xiàn)該實體設(shè)計和建造過程中產(chǎn)生的錯誤? 當(dāng)該實體的用戶要求修改、適應(yīng)和增強時,如何支持這些活動,軟件工程的一般視圖,與一般軟件工程相關(guān)的三個階段,定義階段集中于“做什么”: 涉及所要處理的信息、所需完成的功能和性能、所擬具有的系統(tǒng)行為、所想建造的界面、設(shè)計約束以及系統(tǒng)的評價標準等。 包括三個主要任務(wù):系統(tǒng)或信息工程;軟件項目計劃;需求分析,開發(fā)階段集中于“如何做”: 涉及數(shù)據(jù)如何結(jié)構(gòu)化、功能如何轉(zhuǎn)換為軟件體系結(jié)構(gòu)、過程細節(jié)如

6、何實現(xiàn)、界面如何表示、設(shè)計如何轉(zhuǎn)換成程序設(shè)計語言(或非過程語言)、測試如何執(zhí)行。 包括三個主要任務(wù):軟件設(shè)計;代碼生成;軟件測試,軟件工程的一般視圖,與一般軟件工程相關(guān)的三個階段,維護階段集中于“改變”: 涉及糾正原有錯誤、為新環(huán)境而做的適應(yīng)性修改和用戶需求變化的增強性修改。 包括四類修改:糾錯、適應(yīng)、增強和預(yù)防,軟件工程的一般視圖,軟件工程與一般工程的差異,軟件是邏輯產(chǎn)品而不是實物產(chǎn)品 軟件的功能依賴于硬件和軟件的運行環(huán)境以及人們對它的操作 軟件設(shè)計的復(fù)雜性 軟件特征:功能的多樣性 實現(xiàn)的多樣性 能見度低 軟件結(jié)構(gòu)合理性差 智力密集及知識產(chǎn)權(quán)保護,軟件工程知識結(jié)構(gòu),軟件配置管理 軟件工程管理 軟件工程過程 軟件工程工具和方法 軟件質(zhì)量,軟件需求 軟件設(shè)計 軟件構(gòu)造 軟件測試 軟件維護,與其它軟件專業(yè)課的區(qū)別,1) 立足于系統(tǒng)的整體。 (2) 講授系統(tǒng)分析、系統(tǒng)設(shè)計、測試及維護的理論和方法。 (3) 構(gòu)筑一個軟件系統(tǒng),實踐軟件開發(fā)全過程,課程教學(xué)與實踐的目標,轉(zhuǎn)變對軟件的認識: 上升 程序 系統(tǒng) 轉(zhuǎn)變思維定式: 上升 程序員 系統(tǒng)工程師 (系統(tǒng)分析員) 工程化訓(xùn)練,系統(tǒng)分析員的地位,用戶,分析員,程序員,一個好的工業(yè),應(yīng)有一套良好的標準來配套,軟件的工業(yè)化生產(chǎn)過程應(yīng)具備的特點: 明確的工作步驟 詳細具體的規(guī)范化文檔 明確的質(zhì)量評價標準,軟件產(chǎn)品的標準化,軟件開發(fā)過

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論