




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第1講講 軟件和軟件工程軟件和軟件工程毛新軍毛新軍 教授教授 計算機科學與技術系計算機科學與技術系602教研室教研室 0731-(45)73649軟件工程導論軟件工程導論 之之copyright xinjun mao軟件和軟件工程軟件和軟件工程2本講內容本講內容1.軟件(概念、特點)2.軟件危機(表現和根源)3.軟件工程(概念、目標和原則)copyright xinjun mao軟件和軟件工程軟件和軟件工程3計算機軟件計算機軟件n什么是計算機軟件n計算機軟件的特點copyright xinjun mao軟件和軟件工程軟件和軟件工程4可執(zhí)行部分可執(zhí)行部分不可執(zhí)行部分不可執(zhí)行部分文檔文檔1文檔文
2、檔2文檔文檔3什么是計算機軟件什么是計算機軟件?n與計算機系統操作有關的以及任何與之相關的的集合程序程序copyright xinjun mao軟件和軟件工程軟件和軟件工程5什么是程序什么是程序(1/2)n程序: 由程序設計語言所描述的、能為計算機所識別、理解和處理的語句序列n程序例子main( ) int i, j; / 變量定義 char str10; i = i + j ; / 語句說明 copyright xinjun mao軟件和軟件工程軟件和軟件工程6什么是程序什么是程序(2/2)n程序設計語言具有良好、嚴格語法和語義n目前程序設計語言主要有以下幾種類型 面向機器: 如匯編語言、機
3、器語言等 面向過程: 如fortran, pascal, c等等 面向對象: 如java等等 面向問題: 如結構化查詢語言sql等等copyright xinjun mao軟件和軟件工程軟件和軟件工程7什么是文檔什么是文檔n文檔: 記錄軟件開發(fā)活動和階段性成果、理解軟件所必需的闡述性資料 需求分析文檔 軟件設計文擋等 n編寫文檔目的 促進對軟件的開發(fā),管理和維護; 便于各種人員(用戶,開發(fā)人員)的交流copyright xinjun mao軟件和軟件工程軟件和軟件工程8文檔例子文檔例子n軟件需求規(guī)格說明書copyright xinjun mao軟件和軟件工程軟件和軟件工程9軟件特點軟件特點n不
4、會老化n邏輯產品 (智力, 無形)n維護困難和復雜(完善, 糾錯,.)n生產只需復制n軟件開發(fā)性質如成本、進度等難以估計n軟件的開發(fā)更加依賴于開發(fā)人員的業(yè)務素質、智力、人員的合作、組織和管理copyright xinjun mao軟件和軟件工程軟件和軟件工程10本講內容本講內容1.軟件(概念、特點)2.軟件危機(表現和根源)3.軟件工程(概念、目標和原則)copyright xinjun mao軟件和軟件工程軟件和軟件工程11軟件危機軟件危機n什么是軟件危機n軟件危機的表現n產生軟件危機的根源n解決危機的技術途徑n解決危機的管理途徑copyright xinjun mao軟件和軟件工程軟件和軟
5、件工程12什么是軟件危機什么是軟件危機n軟件在開發(fā)和維護過程中遇到的一系列問題 困擾學術界和工業(yè)界 用戶對軟件開發(fā)缺乏信心 軟件開發(fā)的高投入和高風險copyright xinjun mao軟件和軟件工程軟件和軟件工程13軟件危機的表現軟件危機的表現(1 of 3)n成本高 ibm 360 os, 5000多人年,耗時4年(19631966),花費2億多美元 美國空軍:1955年軟件占總費用(計算機系統)的18%,70年60%,85年達到85 美國全球軍事指揮控制系統,硬件1億美元,軟件高達7.2億美元n計算機軟件和硬件費用比copyright xinjun mao軟件和軟件工程軟件和軟件工程1
6、4軟件危機的表現軟件危機的表現(2 of 3)n軟件質量得不到保證 軟件應用面的擴大:科學計算、軍事、航空航天、工業(yè)控制、企業(yè)管理、辦公、家庭 軟件越來越多的應用于安全猶關(safety critical)的系統,對軟件質量提出更高的要求 80年代歐洲亞麗安娜火箭的發(fā)射失敗,原因是軟件錯誤 美國阿托拉斯火箭的發(fā)射失敗,原因是軟件故障 英國1986年開發(fā)的辦公室信息系統folios經4年,因性能達不到要求,1989年取消 日本第5代機因為軟件問題在投入50億美元后于1993年下馬n由于軟件質量問題導致失敗的軟件項目非常多copyright xinjun mao軟件和軟件工程軟件和軟件工程15軟件
7、危機的表現軟件危機的表現(3 of 3)n進度難以控制 項目延期比比皆是 由于進度問題而取消的軟件項目較常見 只有一小部分的項目能夠按期完成n維護非常困難 軟件維護的多樣性 軟件維護的復雜性 軟件維護的副作用copyright xinjun mao軟件和軟件工程軟件和軟件工程16產生軟件危機的根源產生軟件危機的根源n邏輯產品,不同于物理產品n復雜性高 邏輯產品,邏輯復雜性,遠高于硬件復雜性 軟件的復雜性隨規(guī)模呈指數級上升n規(guī)模大 應用擴大,代碼量,1000萬行,仍在不斷膨脹n影響軟件生產率和質量的因素比較復雜 人員的能力和水平 團隊合作n缺乏有效、系統原理、原則、方法和工具的指導和輔助copy
8、right xinjun mao軟件和軟件工程軟件和軟件工程17對軟件開發(fā)的深層次認識對軟件開發(fā)的深層次認識n開發(fā)一個具有一定規(guī)模和復雜性的軟件系統與編寫一個簡單的程序不一樣 正如建設狗窩和高樓大廈n大型、復雜軟件系統的開發(fā)是一項工程,必須按照工程化的方法組織軟件的生產和管理,必須經過分析、設計、實現、測試、維護等一系列軟件過程和活動copyright xinjun mao軟件和軟件工程軟件和軟件工程18解決危機的技術途徑解決危機的技術途徑n20世紀60年代爆發(fā),然而實際上軟件危機隨著計算機軟件的產生而產生,只是在此之前其問題的嚴重性沒有引起人們的關注和重視n提出有效的方法和工具支持軟件開發(fā)
9、1968年提出軟件工程概念和思想 20世紀70年代的結構化軟件開發(fā)方法 20世紀80年代的面向對象的軟件開發(fā)方法 新的技術: 軟件重用、快速原型、需求工程 典型技術: com, java, c+, j2ee, .net, . 支撐工具和環(huán)境:jbuilder, visual studio, weblogic, copyright xinjun mao軟件和軟件工程軟件和軟件工程19技術手段不能完全解決軟件危機技術手段不能完全解決軟件危機n到了20世紀90年代,軟件危機依然存在,甚至更為嚴重 應用牽引技術的發(fā)展n瀑布模型n結構化軟件開發(fā)方法noo軟件開發(fā)方法 技術推動應用的深化n應用的擴大和深入
10、 應用變得越來越大和復雜,技術變得更加力不從心 錯誤的觀念“只要有好的軟件開發(fā)方法和工具就能高效率地開發(fā)出高質量的軟件”copyright xinjun mao軟件和軟件工程軟件和軟件工程20解決危機的管理途徑解決危機的管理途徑n問題出在哪里?n20世紀80年代末,美國dod和工業(yè)界開始認識到管理的重要性 美國dod的一項研究表明,70%的項目由于管理不善導致難以控制進步、成本和質量; 進一步的研究發(fā)現:管理是影響軟件項目成功開發(fā)的全局性因素,而技術只影響局部 如果軟件開發(fā)組織不能對軟件項目進行有效管理,就不能充分發(fā)揮軟件開發(fā)方法和工具的潛力,也就不能高效率地開發(fā)出高質量的軟件產品copyri
11、ght xinjun mao軟件和軟件工程軟件和軟件工程21本講內容本講內容1.軟件(概念、特點)2.軟件危機(表現和根源)3.軟件工程(概念、目標和原則)copyright xinjun mao軟件和軟件工程軟件和軟件工程22軟件工程軟件工程n軟件危機-根源-解決途徑:軟件工程n產生:1968年 nato 計算機科學會議n軟件工程是運用工程的、數學的、計算機等科學概念、方法和原理來指導軟件開發(fā)和管理和維護的一門學科copyright xinjun mao軟件和軟件工程軟件和軟件工程23- 過程過程方法方法工具工具軟件工程軟件工程軟件工程構成三要素軟件工程構成三要素n過程 管理部分n方法 技術
12、手段n工具 自動或半自動地支持軟件的開發(fā)和管理n要素之間相互關聯和支持copyright xinjun mao軟件和軟件工程軟件和軟件工程24軟件工程目標軟件工程目標(1/2)n正確性 滿足用戶的需求(功能、性能等) n可靠性 具有能夠防止因概念、設計和結構等方面的不完善而造成的系統失效,具有挽回因操作不當造成軟件系統失效的能力 n可維護性 便于對軟件增加新功能、改進性能、修改錯誤、移植 n可重用性 軟件易于被再次使用copyright xinjun mao軟件和軟件工程軟件和軟件工程25軟件工程目標軟件工程目標(2/2)n可追蹤性 對軟件進行正向和反向追蹤的能力 n可移植性 從一個環(huán)境搬遷到
13、另一個環(huán)境 n可互操作性 多個軟件要素相互通訊協同完成任務能力 n有效性 充分利用計算機的時間和空間資源 copyright xinjun mao軟件和軟件工程軟件和軟件工程26軟件工程原則軟件工程原則(1/2)n抽象 關注事物基本、重要的部分,忽略不相關成分 抽象可以使我們的思維聚焦于問題本質,從而簡化問題,控制問題復雜度,推動復雜、龐大軟件系統開發(fā) n模塊化 模塊是程序中一個邏輯上相對獨立、具有良好的接口定義的編程單位:過程、函數、類、程序包等 模塊化是指將復雜的系統分解為由一個個相對獨立的模塊來加以實現,有助于抽象和信息隱藏以及表示復雜的系統 n信息隱藏 模塊中的軟件設計決策信息封裝起來的技術,只知道它的功能以及對外的接口,而不知它的內部細節(jié) 有助于軟件開發(fā)人員的注意力集中于更高的抽象層次 copyright xinjun mao軟件和軟件工程軟件和軟件工程27軟件工程原則軟件工程原則(2/2)n局部化 物理模塊內集中邏輯上相互關聯的計算資源 確保模塊內各成分關系密切而模快之間的關系松散,保證模塊具有良好的獨立性 n一致性 整個軟件系統均使用統一的符號、概念和術語 n完全性 整個軟件系統不丟失任何重要的成分,軟件完全實現系統所需的功能、行為和
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四年級數學(四則混合運算)計算題專項練習與答案
- 一年級數學計算題專項練習集錦
- 機場航空安保支隊
- 機器學習算法在醫(yī)療診斷中的應用
- 橋梁施工方案模板
- 營銷專業(yè)的畢業(yè)論文
- 職業(yè)召喚對護士職業(yè)倦怠的的影響及其作用機制研究
- 數據可攜帶權行使法律問題研究
- 吳文溥及其詩歌研究
- 近視病人護理計劃
- 降低陰式分娩產后出血發(fā)生率-PDCA
- 云南省地圖含市縣地圖矢量分層地圖行政區(qū)劃市縣概況ppt模板
- 光伏發(fā)電工程達標投產創(chuàng)優(yōu)工程檢查記錄
- 領導干部要樹立正確的價值觀、權力觀、事業(yè)觀課件
- 體育社會學(第一章)盧元鎮(zhèn)第四版課件
- 數電課件康華光電子技術基礎-數字部分第五版完全
- DB21-T 2041-2022寒區(qū)溫拌瀝青路面工程技術規(guī)程
- 語文主題學習整本書閱讀指導課件
- 職業(yè)教育課堂教學設計(全)課件
- 工程項目造價控制措施
- 心電監(jiān)護操作評分標準
評論
0/150
提交評論