1軟件工程緒論.ppt_第1頁(yè)
1軟件工程緒論.ppt_第2頁(yè)
1軟件工程緒論.ppt_第3頁(yè)
1軟件工程緒論.ppt_第4頁(yè)
1軟件工程緒論.ppt_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、軟件工程,經(jīng)濟(jì)與貿(mào)易學(xué)院 喻華文 Y,1,軟件工程原理、方法與應(yīng)用(第3版),為什么需要軟件工程? 什么是軟件工程? 具體如何實(shí)現(xiàn)?,2,普通高等教育”十一五”國(guó)家級(jí)規(guī)劃教材,史濟(jì)民 編著,教材主要內(nèi)容,緒論 上篇-傳統(tǒng)軟件工程 軟件生存周期與軟件過(guò)程 結(jié)構(gòu)化分析與設(shè)計(jì) 中篇-面向?qū)ο筌浖こ?面向?qū)ο笈cUML 需求工程與需求分析 面向?qū)ο蠓治?面向?qū)ο笤O(shè)計(jì) 編碼與測(cè)試 下篇-軟件工程的近期進(jìn)展、管理與環(huán)境 軟件維護(hù) 軟件復(fù)用 軟件工程管理 軟件質(zhì)量管理 軟件工程環(huán)境 軟件工程高級(jí)課題,第一章 軟件工程學(xué)概論,軟件和軟件危機(jī) 軟件工程學(xué)的范疇 軟件工程的發(fā)展 軟件工程的應(yīng)用 軟件工程的教學(xué),4

2、,1.軟件危機(jī),軟件Software = Program + Data + Document 程序是為了解決某個(gè)特定問(wèn)題而用程序設(shè)計(jì)語(yǔ)言描述的適合計(jì)算機(jī)處理的語(yǔ)句序列 數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu) 文檔是與程序開(kāi)發(fā),維護(hù)和使用有關(guān)的圖文材料,5,軟件的發(fā)展,6,早期 面向批處理 有限的分布 自定義軟件,第二階段 多用戶(hù) 實(shí)時(shí) 數(shù)據(jù)庫(kù) 軟件產(chǎn)品,第三階段 分布式系統(tǒng) 嵌入“智能” 低成本硬件 消費(fèi)者的影響,第四階段 強(qiáng)大的桌面系統(tǒng) 面向?qū)ο蠹夹g(shù) 專(zhuān)家系統(tǒng) 人工神經(jīng)網(wǎng)絡(luò) 并行計(jì)算 網(wǎng)路計(jì)算機(jī),1950,1960,1970,1980,1990,2000,軟件特征,軟件的生產(chǎn)與硬件不同 邏輯實(shí)

3、體,具有抽象性 沒(méi)有明顯的制造過(guò)程 沒(méi)有磨損、老化的問(wèn)題 對(duì)硬件和環(huán)境有著不同程度的依賴(lài)性 開(kāi)發(fā)方式低效 成本昂貴 社會(huì)因素,7,磨合調(diào)整,磨損用壞,修改點(diǎn),實(shí)際曲線(xiàn),理想曲線(xiàn),軟件的成本相當(dāng)昂貴,8,軟件開(kāi)發(fā)工作量分配比例,9,40% 50%,10% 20%,引入同一變化付出的代價(jià)隨時(shí)間變化的趨勢(shì),10,費(fèi)用分配比例,11,55%70%,軟件危機(jī)主要有以下表現(xiàn):,缺乏對(duì)軟件開(kāi)發(fā)的管理(成本和進(jìn)度) 用戶(hù)不滿(mǎn)意度較高 軟件產(chǎn)品的可靠性較低 軟件的可維護(hù)程度較低 軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料 軟件的成本不斷提高 軟件開(kāi)發(fā)生產(chǎn)率較低,12,軟件危機(jī)的原因,客觀(guān):軟件本身特點(diǎn) 邏輯部件 規(guī)模龐大、復(fù)雜

4、度高 主觀(guān):不正確的開(kāi)發(fā)方法 忽視需求分析 個(gè)人化方式:軟件開(kāi)發(fā)=程序編寫(xiě) 輕視軟件維護(hù),13,Exchange2000和Windows2000開(kāi)發(fā)人員結(jié)構(gòu),14,軟件危機(jī)的解決途徑,解決途徑 組織管理 -工程項(xiàng)目管理方法 技術(shù)措施 -軟件開(kāi)發(fā)技術(shù)與方法 -軟件工具 促使了軟件工程的誕生 按工程化的原理和方法組織軟件開(kāi)發(fā)是軟件開(kāi)發(fā)中的問(wèn)題一個(gè)主要出路,2.軟件工程的概念,工程,16,工程是對(duì)技術(shù)(或社會(huì))實(shí)體的分析、設(shè)計(jì)、建造、驗(yàn)證和管理。,水利工程,建筑工程,機(jī)械工程, ,軟件工程,傳統(tǒng)工程,新興工程,氣象工程,生物工程,17,軟件工程,- Software Engineering,于196

5、8年 NATO 組織在 德國(guó)召開(kāi)的一次會(huì)議上提出,是把軟件當(dāng)作一種工業(yè)產(chǎn)品,要求 “采用工程化的 原理與方法對(duì)軟件進(jìn)行計(jì)劃、開(kāi)發(fā)和維護(hù) ”。,圍棋與軟件工程的感想,18,圍棋 圍棋棋譜拿過(guò)來(lái)的時(shí)候,大師問(wèn)“后面應(yīng)該走哪里?” 十個(gè)初級(jí)愛(ài)好者選擇的落點(diǎn)散布在棋盤(pán)各處 十個(gè)職業(yè)棋手說(shuō)的落子點(diǎn)都差不多,甚至包括后面的幾步 這就是高手和低手的差別,軟件工程 當(dāng)一個(gè)小程序拿過(guò)來(lái)的時(shí)候,項(xiàng)目經(jīng)理讓大家編寫(xiě) 十個(gè)中國(guó)軟件工程師寫(xiě)出來(lái)的程序各有“特色”、千差萬(wàn)別,十個(gè)印度軟件工程師寫(xiě)出來(lái)的程序差不多,以至于懷疑是“抄襲”。 項(xiàng)目經(jīng)理也不清楚中國(guó)軟件業(yè)和印度軟件業(yè)的差距是多少年,只是覺(jué)得差了好遠(yuǎn)好遠(yuǎn),2、軟件工

6、程定義,軟件工程就是為了經(jīng)濟(jì)地獲得可靠的且能在實(shí)際機(jī)器上高效運(yùn)行的軟件,而建立和使用完善的工程原理。 軟件工程是: (1)把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟件開(kāi)發(fā)、運(yùn)行和維護(hù)過(guò)程,也就是把工程應(yīng)用于軟件; (2)研究(1)中提到的途徑。 軟件工程是應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理開(kāi)發(fā)軟件的工程。它借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量,降低成本為目的。,19,軟件工程學(xué)的研究范疇,軟件工程學(xué)的研究范疇,軟件開(kāi)發(fā)方法 為軟件開(kāi)發(fā)提供了 “如何做” 的技術(shù) 個(gè)性化方法-結(jié)構(gòu)化方法-面向?qū)ο蠓椒?軟件復(fù)用 軟件工具 為軟件開(kāi)發(fā)提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境 單個(gè)工具-工具箱、集成工具-環(huán)境

7、 軟件工程管理 目的:為了按進(jìn)度及預(yù)算完成軟件計(jì)劃 內(nèi)容:成本估算、進(jìn)度安排、人員組織、質(zhì)量保證等,軟件工程是一門(mén)交叉學(xué)科,軟件工程的主要研究?jī)?nèi)容 軟件開(kāi)發(fā)技術(shù):軟件開(kāi)發(fā)方法學(xué) 軟件開(kāi)發(fā)過(guò)程 軟件工具和軟件工程環(huán)境 軟件工程管理:軟件管理學(xué) 軟件經(jīng)濟(jì)學(xué) 軟件心理學(xué),22,軟件工程是一種層次化技術(shù),以有組織的質(zhì)量保證為基礎(chǔ)。 全面的質(zhì)量管理和類(lèi)似的理念刺激了不斷的過(guò)程改進(jìn),正是這種改進(jìn)導(dǎo)致了更加成熟的軟件工程方法的不斷出現(xiàn)。 支持軟件工程的根基就在于對(duì)質(zhì)量的關(guān)注。,23,軟件工程三個(gè)要素:方法、工具、過(guò)程,軟件工程方法學(xué),把在軟件生命周期全過(guò)程中使用的一整套技術(shù)方法的集合稱(chēng)為方法學(xué)。 (Meth

8、odology or Paradigm) 軟件工程方法學(xué)包含3個(gè)要素:過(guò)程、方法和工具 過(guò)程 為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。 方法 完成軟件開(kāi)發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,回答“怎樣做”的問(wèn)題; 工具 為運(yùn)用方法而提供的自動(dòng)的或半自動(dòng)的軟件工程支撐環(huán)境;,24,軟件工程的基層是過(guò)程層,軟件工程過(guò)程是將技術(shù)層結(jié)合在一起的凝聚力,使得計(jì)算機(jī)軟件能夠被合理地和及時(shí)地開(kāi)發(fā)出來(lái)。 過(guò)程定義了一組關(guān)鍵過(guò)程區(qū)域框架,構(gòu)成了軟件項(xiàng)目的管理控制的基礎(chǔ),并且確立了上下各區(qū)域之間的關(guān)系,規(guī)定了技術(shù)方法的采用、工程產(chǎn)品(模型、文檔、數(shù)據(jù)、報(bào)告、表格等)的產(chǎn)生、成本的建立、

9、質(zhì)量的保證及變化的適當(dāng)管理。,25,軟件工程的方法層,軟件工程的方法層提供建造軟件在技術(shù)上需要“如何做?” 方法涵蓋了一系列的任務(wù): 需求分析、設(shè)計(jì)、編程、測(cè)試和維護(hù)。 軟件工程方法依賴(lài)于一組基本原則,這些原則控制了每一技術(shù)區(qū)域,且包含建模活動(dòng)和其他描述技術(shù)。,26,軟件工程的工具層,軟件工程的工具層對(duì)過(guò)程和方法提供了自動(dòng)的或半自動(dòng)的支持 當(dāng)這些工具被集成起來(lái)使得一個(gè)工具產(chǎn)生的信息可被另外一個(gè)工具使用時(shí),一個(gè)支持軟件開(kāi)發(fā)的系統(tǒng)就建立了,稱(chēng)為計(jì)算機(jī)輔助軟件工程(CASE)。CASE集成了軟件、硬件和一個(gè)軟件工程數(shù)據(jù)庫(kù)(一個(gè)倉(cāng)庫(kù),其中包含了分析、設(shè)計(jì)、編程和測(cè)試的重要信息)。,27,軟件工程與一般

10、工程的差異,軟件是邏輯產(chǎn)品而不是實(shí)物產(chǎn)品 軟件的功能依賴(lài)于硬件和軟件的運(yùn)行環(huán)境以及人們對(duì)它的操作 軟件設(shè)計(jì)的復(fù)雜性 軟件特征: 功能的多樣性 實(shí)現(xiàn)的多樣性 能見(jiàn)度低 軟件結(jié)構(gòu)合理性差 智力密集及知識(shí)產(chǎn)權(quán)保護(hù),28,軟件工程知識(shí)體系指南(2004 版)IEEE計(jì)算機(jī)學(xué)會(huì)(IEEE Computer Society),SWEBOK 的10個(gè)知識(shí)域(Knowledge Areas,KA), 軟件需求 Software Requirements 軟件設(shè)計(jì) Software Design 軟件構(gòu)造 Software Construction 軟件測(cè)試 Software Testing 軟件維護(hù) Soft

11、ware Maintenance 軟件配置管理 Software Configuration Management 軟件工程管理 Software Engineering Management 軟件工程過(guò)程 Software Engineering Process 軟件工程工具和方法 Software Engineering Tools and Methods 軟件質(zhì)量 Software Quality,29,軟件工程相關(guān)學(xué)科,計(jì)算機(jī)工程 Computer Engineering 計(jì)算機(jī)科學(xué) Computer Science 管理 Management 數(shù)學(xué) Mathematics 項(xiàng)目管理

12、Project Management 質(zhì)量管理 Quality Management 軟件人類(lèi)工程學(xué) Software Ergonomics 系統(tǒng)工程 Systems Engineering,30,軟件工程 本質(zhì)特征,關(guān)注于大型程序的構(gòu)造 中心課題是控制復(fù)雜性 軟件經(jīng)常變化 開(kāi)發(fā)軟件的效率非常重要 和諧地合作是開(kāi)發(fā)軟件的關(guān)鍵 軟件必須有效地支持它的用戶(hù) 在軟件工程領(lǐng)域中是由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品,31,軟件工程的基本原理,基本原理 用分階段的生命周期計(jì)劃嚴(yán)格管理 堅(jiān)持進(jìn)行階段評(píng)審 實(shí)行嚴(yán)格的產(chǎn)品控制 采用現(xiàn)代程序設(shè)計(jì)技術(shù) 結(jié)果應(yīng)能清楚地審查 開(kāi)發(fā)小組的人員應(yīng)該少而

13、精 承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性 軟件工程技術(shù)的兩個(gè)明顯特點(diǎn) 強(qiáng)調(diào)規(guī)范化 強(qiáng)調(diào)文檔化,32,3. 軟件工程的發(fā)展,三種編程范型 過(guò)程式編程范型 程序由一組被動(dòng)數(shù)據(jù)和一組能動(dòng)過(guò)程組成 程序=數(shù)據(jù)結(jié)構(gòu)+算法 著眼于程序的過(guò)程和基本控制結(jié)構(gòu),粒度最小 面向?qū)ο缶幊谭缎?數(shù)據(jù)及其操作被封裝在對(duì)象中 程序=對(duì)象+消息 著眼于程序中的對(duì)象,粒度比較大 基于構(gòu)件技術(shù)的編程范型 構(gòu)件是通用的、可復(fù)用的標(biāo)準(zhǔn)化對(duì)象類(lèi) 程序=構(gòu)件+架構(gòu) 著眼于適合整個(gè)領(lǐng)域的類(lèi)對(duì)象,粒度更大,傳統(tǒng)方法學(xué)(生命周期方法學(xué)),仍然是使用十分廣泛的軟件工程方法學(xué)。 采用結(jié)構(gòu)化技術(shù)來(lái)完成軟件開(kāi)發(fā)的各項(xiàng)任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ?/p>

14、環(huán)境來(lái)支持結(jié)構(gòu)化技術(shù)的運(yùn)用。 從上而下,順序地完成軟件開(kāi)發(fā)的各階段任務(wù)。,34,面向?qū)ο蟮姆椒▽W(xué),把對(duì)象作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一軟件構(gòu)件; 把所有對(duì)象都劃分成類(lèi); 按照父類(lèi)與子類(lèi)的關(guān)系,把若干個(gè)相關(guān)類(lèi)組成一個(gè)層次結(jié)構(gòu)的系統(tǒng); 對(duì)象彼此間僅能通過(guò)發(fā)送消息互相聯(lián)系。,35,面向?qū)ο蟮姆椒▽W(xué)的特點(diǎn),出發(fā)點(diǎn)和基本原則是盡量模擬人類(lèi)習(xí)慣的思維方式,使開(kāi)發(fā)軟件的方法與過(guò)程盡可能接近人類(lèi)認(rèn)識(shí)實(shí)踐解決問(wèn)題的方法與過(guò)程,從而使描述問(wèn)題的問(wèn)題空間與實(shí)現(xiàn)解法的解空間在結(jié)構(gòu)上盡可能一致。,36,過(guò)程式和面向?qū)ο蟮木幊谭缎?銀行儲(chǔ)蓄處理業(yè)務(wù),三種編程范型對(duì)應(yīng)的三代軟件工程,傳統(tǒng)軟件工程 結(jié)構(gòu)化分析 結(jié)構(gòu)化設(shè)計(jì) 面向過(guò)程的編碼 軟件測(cè)試 面向?qū)ο筌浖こ?OO分析與對(duì)象抽取 對(duì)象詳細(xì)設(shè)計(jì) 面向?qū)ο蟮木幋a 和測(cè)試 基于構(gòu)件的軟件工程 領(lǐng)域分析和測(cè)試計(jì)劃定制 領(lǐng)域設(shè)計(jì) 建立可復(fù)用構(gòu)件庫(kù) 查找并集成構(gòu)件,4. 軟件工程的目標(biāo),轉(zhuǎn)變對(duì)軟件開(kāi)發(fā)的認(rèn)識(shí): 上升 程序 系統(tǒng) 轉(zhuǎn)變思維定式: 上升 程序員 系統(tǒng)工程師 (系統(tǒng)分析員) 工程化訓(xùn)練,39,系統(tǒng)分析員的地位,40,用戶(hù),分析員,程序員,職業(yè)素質(zhì) Professional Practice,Communication skills Honesty/Integrity Teamwork skills Interpersonal skills

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論