版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件工程,經(jīng)濟與貿(mào)易學院 喻華文 Y,1,軟件工程原理、方法與應用(第3版),為什么需要軟件工程? 什么是軟件工程? 具體如何實現(xiàn)?,2,普通高等教育”十一五”國家級規(guī)劃教材,史濟民 編著,教材主要內容,緒論 上篇-傳統(tǒng)軟件工程 軟件生存周期與軟件過程 結構化分析與設計 中篇-面向對象軟件工程 面向對象與UML 需求工程與需求分析 面向對象分析 面向對象設計 編碼與測試 下篇-軟件工程的近期進展、管理與環(huán)境 軟件維護 軟件復用 軟件工程管理 軟件質量管理 軟件工程環(huán)境 軟件工程高級課題,第一章 軟件工程學概論,軟件和軟件危機 軟件工程學的范疇 軟件工程的發(fā)展 軟件工程的應用 軟件工程的教學,4
2、,1.軟件危機,軟件Software = Program + Data + Document 程序是為了解決某個特定問題而用程序設計語言描述的適合計算機處理的語句序列 數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結構 文檔是與程序開發(fā),維護和使用有關的圖文材料,5,軟件的發(fā)展,6,早期 面向批處理 有限的分布 自定義軟件,第二階段 多用戶 實時 數(shù)據(jù)庫 軟件產(chǎn)品,第三階段 分布式系統(tǒng) 嵌入“智能” 低成本硬件 消費者的影響,第四階段 強大的桌面系統(tǒng) 面向對象技術 專家系統(tǒng) 人工神經(jīng)網(wǎng)絡 并行計算 網(wǎng)路計算機,1950,1960,1970,1980,1990,2000,軟件特征,軟件的生產(chǎn)與硬件不同 邏輯實
3、體,具有抽象性 沒有明顯的制造過程 沒有磨損、老化的問題 對硬件和環(huán)境有著不同程度的依賴性 開發(fā)方式低效 成本昂貴 社會因素,7,磨合調整,磨損用壞,修改點,實際曲線,理想曲線,軟件的成本相當昂貴,8,軟件開發(fā)工作量分配比例,9,40% 50%,10% 20%,引入同一變化付出的代價隨時間變化的趨勢,10,費用分配比例,11,55%70%,軟件危機主要有以下表現(xiàn):,缺乏對軟件開發(fā)的管理(成本和進度) 用戶不滿意度較高 軟件產(chǎn)品的可靠性較低 軟件的可維護程度較低 軟件通常沒有適當?shù)奈臋n資料 軟件的成本不斷提高 軟件開發(fā)生產(chǎn)率較低,12,軟件危機的原因,客觀:軟件本身特點 邏輯部件 規(guī)模龐大、復雜
4、度高 主觀:不正確的開發(fā)方法 忽視需求分析 個人化方式:軟件開發(fā)=程序編寫 輕視軟件維護,13,Exchange2000和Windows2000開發(fā)人員結構,14,軟件危機的解決途徑,解決途徑 組織管理 -工程項目管理方法 技術措施 -軟件開發(fā)技術與方法 -軟件工具 促使了軟件工程的誕生 按工程化的原理和方法組織軟件開發(fā)是軟件開發(fā)中的問題一個主要出路,2.軟件工程的概念,工程,16,工程是對技術(或社會)實體的分析、設計、建造、驗證和管理。,水利工程,建筑工程,機械工程, ,軟件工程,傳統(tǒng)工程,新興工程,氣象工程,生物工程,17,軟件工程,- Software Engineering,于196
5、8年 NATO 組織在 德國召開的一次會議上提出,是把軟件當作一種工業(yè)產(chǎn)品,要求 “采用工程化的 原理與方法對軟件進行計劃、開發(fā)和維護 ”。,圍棋與軟件工程的感想,18,圍棋 圍棋棋譜拿過來的時候,大師問“后面應該走哪里?” 十個初級愛好者選擇的落點散布在棋盤各處 十個職業(yè)棋手說的落子點都差不多,甚至包括后面的幾步 這就是高手和低手的差別,軟件工程 當一個小程序拿過來的時候,項目經(jīng)理讓大家編寫 十個中國軟件工程師寫出來的程序各有“特色”、千差萬別,十個印度軟件工程師寫出來的程序差不多,以至于懷疑是“抄襲”。 項目經(jīng)理也不清楚中國軟件業(yè)和印度軟件業(yè)的差距是多少年,只是覺得差了好遠好遠,2、軟件工
6、程定義,軟件工程就是為了經(jīng)濟地獲得可靠的且能在實際機器上高效運行的軟件,而建立和使用完善的工程原理。 軟件工程是: (1)把系統(tǒng)的、規(guī)范的、可度量的途徑應用于軟件開發(fā)、運行和維護過程,也就是把工程應用于軟件; (2)研究(1)中提到的途徑。 軟件工程是應用計算機科學、數(shù)學及管理科學等原理開發(fā)軟件的工程。它借鑒傳統(tǒng)工程的原則、方法,以提高質量,降低成本為目的。,19,軟件工程學的研究范疇,軟件工程學的研究范疇,軟件開發(fā)方法 為軟件開發(fā)提供了 “如何做” 的技術 個性化方法-結構化方法-面向對象方法-軟件復用 軟件工具 為軟件開發(fā)提供了自動的或半自動的軟件支撐環(huán)境 單個工具-工具箱、集成工具-環(huán)境
7、 軟件工程管理 目的:為了按進度及預算完成軟件計劃 內容:成本估算、進度安排、人員組織、質量保證等,軟件工程是一門交叉學科,軟件工程的主要研究內容 軟件開發(fā)技術:軟件開發(fā)方法學 軟件開發(fā)過程 軟件工具和軟件工程環(huán)境 軟件工程管理:軟件管理學 軟件經(jīng)濟學 軟件心理學,22,軟件工程是一種層次化技術,以有組織的質量保證為基礎。 全面的質量管理和類似的理念刺激了不斷的過程改進,正是這種改進導致了更加成熟的軟件工程方法的不斷出現(xiàn)。 支持軟件工程的根基就在于對質量的關注。,23,軟件工程三個要素:方法、工具、過程,軟件工程方法學,把在軟件生命周期全過程中使用的一整套技術方法的集合稱為方法學。 (Meth
8、odology or Paradigm) 軟件工程方法學包含3個要素:過程、方法和工具 過程 為了獲得高質量的軟件所需要完成的一系列任務的框架,它規(guī)定了完成各項任務的工作步驟。 方法 完成軟件開發(fā)的各項任務的技術方法,回答“怎樣做”的問題; 工具 為運用方法而提供的自動的或半自動的軟件工程支撐環(huán)境;,24,軟件工程的基層是過程層,軟件工程過程是將技術層結合在一起的凝聚力,使得計算機軟件能夠被合理地和及時地開發(fā)出來。 過程定義了一組關鍵過程區(qū)域框架,構成了軟件項目的管理控制的基礎,并且確立了上下各區(qū)域之間的關系,規(guī)定了技術方法的采用、工程產(chǎn)品(模型、文檔、數(shù)據(jù)、報告、表格等)的產(chǎn)生、成本的建立、
9、質量的保證及變化的適當管理。,25,軟件工程的方法層,軟件工程的方法層提供建造軟件在技術上需要“如何做?” 方法涵蓋了一系列的任務: 需求分析、設計、編程、測試和維護。 軟件工程方法依賴于一組基本原則,這些原則控制了每一技術區(qū)域,且包含建模活動和其他描述技術。,26,軟件工程的工具層,軟件工程的工具層對過程和方法提供了自動的或半自動的支持 當這些工具被集成起來使得一個工具產(chǎn)生的信息可被另外一個工具使用時,一個支持軟件開發(fā)的系統(tǒng)就建立了,稱為計算機輔助軟件工程(CASE)。CASE集成了軟件、硬件和一個軟件工程數(shù)據(jù)庫(一個倉庫,其中包含了分析、設計、編程和測試的重要信息)。,27,軟件工程與一般
10、工程的差異,軟件是邏輯產(chǎn)品而不是實物產(chǎn)品 軟件的功能依賴于硬件和軟件的運行環(huán)境以及人們對它的操作 軟件設計的復雜性 軟件特征: 功能的多樣性 實現(xiàn)的多樣性 能見度低 軟件結構合理性差 智力密集及知識產(chǎn)權保護,28,軟件工程知識體系指南(2004 版)IEEE計算機學會(IEEE Computer Society),SWEBOK 的10個知識域(Knowledge Areas,KA), 軟件需求 Software Requirements 軟件設計 Software Design 軟件構造 Software Construction 軟件測試 Software Testing 軟件維護 Soft
11、ware Maintenance 軟件配置管理 Software Configuration Management 軟件工程管理 Software Engineering Management 軟件工程過程 Software Engineering Process 軟件工程工具和方法 Software Engineering Tools and Methods 軟件質量 Software Quality,29,軟件工程相關學科,計算機工程 Computer Engineering 計算機科學 Computer Science 管理 Management 數(shù)學 Mathematics 項目管理
12、Project Management 質量管理 Quality Management 軟件人類工程學 Software Ergonomics 系統(tǒng)工程 Systems Engineering,30,軟件工程 本質特征,關注于大型程序的構造 中心課題是控制復雜性 軟件經(jīng)常變化 開發(fā)軟件的效率非常重要 和諧地合作是開發(fā)軟件的關鍵 軟件必須有效地支持它的用戶 在軟件工程領域中是由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品,31,軟件工程的基本原理,基本原理 用分階段的生命周期計劃嚴格管理 堅持進行階段評審 實行嚴格的產(chǎn)品控制 采用現(xiàn)代程序設計技術 結果應能清楚地審查 開發(fā)小組的人員應該少而
13、精 承認不斷改進軟件工程實踐的必要性 軟件工程技術的兩個明顯特點 強調規(guī)范化 強調文檔化,32,3. 軟件工程的發(fā)展,三種編程范型 過程式編程范型 程序由一組被動數(shù)據(jù)和一組能動過程組成 程序=數(shù)據(jù)結構+算法 著眼于程序的過程和基本控制結構,粒度最小 面向對象編程范型 數(shù)據(jù)及其操作被封裝在對象中 程序=對象+消息 著眼于程序中的對象,粒度比較大 基于構件技術的編程范型 構件是通用的、可復用的標準化對象類 程序=構件+架構 著眼于適合整個領域的類對象,粒度更大,傳統(tǒng)方法學(生命周期方法學),仍然是使用十分廣泛的軟件工程方法學。 采用結構化技術來完成軟件開發(fā)的各項任務,并使用適當?shù)能浖ぞ呋蜍浖こ?/p>
14、環(huán)境來支持結構化技術的運用。 從上而下,順序地完成軟件開發(fā)的各階段任務。,34,面向對象的方法學,把對象作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一軟件構件; 把所有對象都劃分成類; 按照父類與子類的關系,把若干個相關類組成一個層次結構的系統(tǒng); 對象彼此間僅能通過發(fā)送消息互相聯(lián)系。,35,面向對象的方法學的特點,出發(fā)點和基本原則是盡量模擬人類習慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類認識實踐解決問題的方法與過程,從而使描述問題的問題空間與實現(xiàn)解法的解空間在結構上盡可能一致。,36,過程式和面向對象的編程范型,銀行儲蓄處理業(yè)務,三種編程范型對應的三代軟件工程,傳統(tǒng)軟件工程 結構化分析 結構化設計 面向過程的編碼 軟件測試 面向對象軟件工程 OO分析與對象抽取 對象詳細設計 面向對象的編碼 和測試 基于構件的軟件工程 領域分析和測試計劃定制 領域設計 建立可復用構件庫 查找并集成構件,4. 軟件工程的目標,轉變對軟件開發(fā)的認識: 上升 程序 系統(tǒng) 轉變思維定式: 上升 程序員 系統(tǒng)工程師 (系統(tǒng)分析員) 工程化訓練,39,系統(tǒng)分析員的地位,40,用戶,分析員,程序員,職業(yè)素質 Professional Practice,Communication skills Honesty/Integrity Teamwork skills Interpersonal skills
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 妊娠期PKU的腸內營養(yǎng)輸注管路維護培訓方案優(yōu)化策略總結-1
- 廠區(qū)招聘考試題目及答案
- 女性職場人群代謝綜合征的激素干預考量
- 頭頸部鱗癌分子分型與放療優(yōu)化
- 大數(shù)據(jù)視角下的體檢資源優(yōu)化配置策略-1
- 漢語考試初級試題及答案
- 職稱考試邏輯題及答案
- 多組學數(shù)據(jù)質控:整合分析與結果可靠性
- 2025年大學烹飪類(烹飪技術創(chuàng)新)試題及答案
- 2025年高職(文創(chuàng)產(chǎn)品設計)產(chǎn)品研發(fā)專項測試試題及答案
- 九年級化學上冊 2.4 元素(2)教學設計 (新版)魯教版
- 現(xiàn)代密碼學(第4版)-習題參考答案
- 縫紉車間主管年終總結
- (康德一診)重慶市2025屆高三高三第一次聯(lián)合診斷檢測 地理試卷(含答案詳解)
- 油氣長輸管道檢查標準清單
- 幼教家長講座
- 真需求-打開商業(yè)世界的萬能鑰匙
- 《腦出血》課件完整版
- 華東師范大學《刑法(總論)》2023-2024學年第一學期期末試卷
- PRP注射治療膝關節(jié)炎
- 班組長時間管理培訓
評論
0/150
提交評論