第1講軟件和件工程_第1頁(yè)
第1講軟件和件工程_第2頁(yè)
第1講軟件和件工程_第3頁(yè)
第1講軟件和件工程_第4頁(yè)
第1講軟件和件工程_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第1講講 軟件和軟件工程軟件和軟件工程毛新軍毛新軍 教授教授 計(jì)算機(jī)科學(xué)與技術(shù)系計(jì)算機(jī)科學(xué)與技術(shù)系602教研室教研室 0731-(45)73649軟件工程導(dǎo)論軟件工程導(dǎo)論 之之copyright xinjun mao軟件和軟件工程軟件和軟件工程2本講內(nèi)容本講內(nèi)容1.軟件(概念、特點(diǎn))2.軟件危機(jī)(表現(xiàn)和根源)3.軟件工程(概念、目標(biāo)和原則)copyright xinjun mao軟件和軟件工程軟件和軟件工程3計(jì)算機(jī)軟件計(jì)算機(jī)軟件n什么是計(jì)算機(jī)軟件n計(jì)算機(jī)軟件的特點(diǎn)copyright xinjun mao軟件和軟件工程軟件和軟件工程4可執(zhí)行部分可執(zhí)行部分不可執(zhí)行部分不可執(zhí)行部分文檔文檔1文檔文

2、檔2文檔文檔3什么是計(jì)算機(jī)軟件什么是計(jì)算機(jī)軟件?n與計(jì)算機(jī)系統(tǒng)操作有關(guān)的以及任何與之相關(guān)的的集合程序程序copyright xinjun mao軟件和軟件工程軟件和軟件工程5什么是程序什么是程序(1/2)n程序: 由程序設(shè)計(jì)語(yǔ)言所描述的、能為計(jì)算機(jī)所識(shí)別、理解和處理的語(yǔ)句序列n程序例子main( ) int i, j; / 變量定義 char str10; i = i + j ; / 語(yǔ)句說(shuō)明 copyright xinjun mao軟件和軟件工程軟件和軟件工程6什么是程序什么是程序(2/2)n程序設(shè)計(jì)語(yǔ)言具有良好、嚴(yán)格語(yǔ)法和語(yǔ)義n目前程序設(shè)計(jì)語(yǔ)言主要有以下幾種類型 面向機(jī)器: 如匯編語(yǔ)言、機(jī)

3、器語(yǔ)言等 面向過(guò)程: 如fortran, pascal, c等等 面向?qū)ο? 如java等等 面向問(wèn)題: 如結(jié)構(gòu)化查詢語(yǔ)言sql等等copyright xinjun mao軟件和軟件工程軟件和軟件工程7什么是文檔什么是文檔n文檔: 記錄軟件開發(fā)活動(dòng)和階段性成果、理解軟件所必需的闡述性資料 需求分析文檔 軟件設(shè)計(jì)文擋等 n編寫文檔目的 促進(jìn)對(duì)軟件的開發(fā),管理和維護(hù); 便于各種人員(用戶,開發(fā)人員)的交流copyright xinjun mao軟件和軟件工程軟件和軟件工程8文檔例子文檔例子n軟件需求規(guī)格說(shuō)明書copyright xinjun mao軟件和軟件工程軟件和軟件工程9軟件特點(diǎn)軟件特點(diǎn)n不

4、會(huì)老化n邏輯產(chǎn)品 (智力, 無(wú)形)n維護(hù)困難和復(fù)雜(完善, 糾錯(cuò),.)n生產(chǎn)只需復(fù)制n軟件開發(fā)性質(zhì)如成本、進(jìn)度等難以估計(jì)n軟件的開發(fā)更加依賴于開發(fā)人員的業(yè)務(wù)素質(zhì)、智力、人員的合作、組織和管理copyright xinjun mao軟件和軟件工程軟件和軟件工程10本講內(nèi)容本講內(nèi)容1.軟件(概念、特點(diǎn))2.軟件危機(jī)(表現(xiàn)和根源)3.軟件工程(概念、目標(biāo)和原則)copyright xinjun mao軟件和軟件工程軟件和軟件工程11軟件危機(jī)軟件危機(jī)n什么是軟件危機(jī)n軟件危機(jī)的表現(xiàn)n產(chǎn)生軟件危機(jī)的根源n解決危機(jī)的技術(shù)途徑n解決危機(jī)的管理途徑copyright xinjun mao軟件和軟件工程軟件和軟

5、件工程12什么是軟件危機(jī)什么是軟件危機(jī)n軟件在開發(fā)和維護(hù)過(guò)程中遇到的一系列問(wèn)題 困擾學(xué)術(shù)界和工業(yè)界 用戶對(duì)軟件開發(fā)缺乏信心 軟件開發(fā)的高投入和高風(fēng)險(xiǎn)copyright xinjun mao軟件和軟件工程軟件和軟件工程13軟件危機(jī)的表現(xiàn)軟件危機(jī)的表現(xiàn)(1 of 3)n成本高 ibm 360 os, 5000多人年,耗時(shí)4年(19631966),花費(fèi)2億多美元 美國(guó)空軍:1955年軟件占總費(fèi)用(計(jì)算機(jī)系統(tǒng))的18%,70年60%,85年達(dá)到85 美國(guó)全球軍事指揮控制系統(tǒng),硬件1億美元,軟件高達(dá)7.2億美元n計(jì)算機(jī)軟件和硬件費(fèi)用比copyright xinjun mao軟件和軟件工程軟件和軟件工程1

6、4軟件危機(jī)的表現(xiàn)軟件危機(jī)的表現(xiàn)(2 of 3)n軟件質(zhì)量得不到保證 軟件應(yīng)用面的擴(kuò)大:科學(xué)計(jì)算、軍事、航空航天、工業(yè)控制、企業(yè)管理、辦公、家庭 軟件越來(lái)越多的應(yīng)用于安全猶關(guān)(safety critical)的系統(tǒng),對(duì)軟件質(zhì)量提出更高的要求 80年代歐洲亞麗安娜火箭的發(fā)射失敗,原因是軟件錯(cuò)誤 美國(guó)阿托拉斯火箭的發(fā)射失敗,原因是軟件故障 英國(guó)1986年開發(fā)的辦公室信息系統(tǒng)folios經(jīng)4年,因性能達(dá)不到要求,1989年取消 日本第5代機(jī)因?yàn)檐浖?wèn)題在投入50億美元后于1993年下馬n由于軟件質(zhì)量問(wèn)題導(dǎo)致失敗的軟件項(xiàng)目非常多copyright xinjun mao軟件和軟件工程軟件和軟件工程15軟件

7、危機(jī)的表現(xiàn)軟件危機(jī)的表現(xiàn)(3 of 3)n進(jìn)度難以控制 項(xiàng)目延期比比皆是 由于進(jìn)度問(wèn)題而取消的軟件項(xiàng)目較常見 只有一小部分的項(xiàng)目能夠按期完成n維護(hù)非常困難 軟件維護(hù)的多樣性 軟件維護(hù)的復(fù)雜性 軟件維護(hù)的副作用copyright xinjun mao軟件和軟件工程軟件和軟件工程16產(chǎn)生軟件危機(jī)的根源產(chǎn)生軟件危機(jī)的根源n邏輯產(chǎn)品,不同于物理產(chǎn)品n復(fù)雜性高 邏輯產(chǎn)品,邏輯復(fù)雜性,遠(yuǎn)高于硬件復(fù)雜性 軟件的復(fù)雜性隨規(guī)模呈指數(shù)級(jí)上升n規(guī)模大 應(yīng)用擴(kuò)大,代碼量,1000萬(wàn)行,仍在不斷膨脹n影響軟件生產(chǎn)率和質(zhì)量的因素比較復(fù)雜 人員的能力和水平 團(tuán)隊(duì)合作n缺乏有效、系統(tǒng)原理、原則、方法和工具的指導(dǎo)和輔助copy

8、right xinjun mao軟件和軟件工程軟件和軟件工程17對(duì)軟件開發(fā)的深層次認(rèn)識(shí)對(duì)軟件開發(fā)的深層次認(rèn)識(shí)n開發(fā)一個(gè)具有一定規(guī)模和復(fù)雜性的軟件系統(tǒng)與編寫一個(gè)簡(jiǎn)單的程序不一樣 正如建設(shè)狗窩和高樓大廈n大型、復(fù)雜軟件系統(tǒng)的開發(fā)是一項(xiàng)工程,必須按照工程化的方法組織軟件的生產(chǎn)和管理,必須經(jīng)過(guò)分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、維護(hù)等一系列軟件過(guò)程和活動(dòng)copyright xinjun mao軟件和軟件工程軟件和軟件工程18解決危機(jī)的技術(shù)途徑解決危機(jī)的技術(shù)途徑n20世紀(jì)60年代爆發(fā),然而實(shí)際上軟件危機(jī)隨著計(jì)算機(jī)軟件的產(chǎn)生而產(chǎn)生,只是在此之前其問(wèn)題的嚴(yán)重性沒有引起人們的關(guān)注和重視n提出有效的方法和工具支持軟件開發(fā)

9、1968年提出軟件工程概念和思想 20世紀(jì)70年代的結(jié)構(gòu)化軟件開發(fā)方法 20世紀(jì)80年代的面向?qū)ο蟮能浖_發(fā)方法 新的技術(shù): 軟件重用、快速原型、需求工程 典型技術(shù): com, java, c+, j2ee, .net, . 支撐工具和環(huán)境:jbuilder, visual studio, weblogic, copyright xinjun mao軟件和軟件工程軟件和軟件工程19技術(shù)手段不能完全解決軟件危機(jī)技術(shù)手段不能完全解決軟件危機(jī)n到了20世紀(jì)90年代,軟件危機(jī)依然存在,甚至更為嚴(yán)重 應(yīng)用牽引技術(shù)的發(fā)展n瀑布模型n結(jié)構(gòu)化軟件開發(fā)方法noo軟件開發(fā)方法 技術(shù)推動(dòng)應(yīng)用的深化n應(yīng)用的擴(kuò)大和深入

10、 應(yīng)用變得越來(lái)越大和復(fù)雜,技術(shù)變得更加力不從心 錯(cuò)誤的觀念“只要有好的軟件開發(fā)方法和工具就能高效率地開發(fā)出高質(zhì)量的軟件”copyright xinjun mao軟件和軟件工程軟件和軟件工程20解決危機(jī)的管理途徑解決危機(jī)的管理途徑n問(wèn)題出在哪里?n20世紀(jì)80年代末,美國(guó)dod和工業(yè)界開始認(rèn)識(shí)到管理的重要性 美國(guó)dod的一項(xiàng)研究表明,70%的項(xiàng)目由于管理不善導(dǎo)致難以控制進(jìn)步、成本和質(zhì)量; 進(jìn)一步的研究發(fā)現(xiàn):管理是影響軟件項(xiàng)目成功開發(fā)的全局性因素,而技術(shù)只影響局部 如果軟件開發(fā)組織不能對(duì)軟件項(xiàng)目進(jìn)行有效管理,就不能充分發(fā)揮軟件開發(fā)方法和工具的潛力,也就不能高效率地開發(fā)出高質(zhì)量的軟件產(chǎn)品copyri

11、ght xinjun mao軟件和軟件工程軟件和軟件工程21本講內(nèi)容本講內(nèi)容1.軟件(概念、特點(diǎn))2.軟件危機(jī)(表現(xiàn)和根源)3.軟件工程(概念、目標(biāo)和原則)copyright xinjun mao軟件和軟件工程軟件和軟件工程22軟件工程軟件工程n軟件危機(jī)-根源-解決途徑:軟件工程n產(chǎn)生:1968年 nato 計(jì)算機(jī)科學(xué)會(huì)議n軟件工程是運(yùn)用工程的、數(shù)學(xué)的、計(jì)算機(jī)等科學(xué)概念、方法和原理來(lái)指導(dǎo)軟件開發(fā)和管理和維護(hù)的一門學(xué)科copyright xinjun mao軟件和軟件工程軟件和軟件工程23- 過(guò)程過(guò)程方法方法工具工具軟件工程軟件工程軟件工程構(gòu)成三要素軟件工程構(gòu)成三要素n過(guò)程 管理部分n方法 技術(shù)

12、手段n工具 自動(dòng)或半自動(dòng)地支持軟件的開發(fā)和管理n要素之間相互關(guān)聯(lián)和支持copyright xinjun mao軟件和軟件工程軟件和軟件工程24軟件工程目標(biāo)軟件工程目標(biāo)(1/2)n正確性 滿足用戶的需求(功能、性能等) n可靠性 具有能夠防止因概念、設(shè)計(jì)和結(jié)構(gòu)等方面的不完善而造成的系統(tǒng)失效,具有挽回因操作不當(dāng)造成軟件系統(tǒng)失效的能力 n可維護(hù)性 便于對(duì)軟件增加新功能、改進(jìn)性能、修改錯(cuò)誤、移植 n可重用性 軟件易于被再次使用copyright xinjun mao軟件和軟件工程軟件和軟件工程25軟件工程目標(biāo)軟件工程目標(biāo)(2/2)n可追蹤性 對(duì)軟件進(jìn)行正向和反向追蹤的能力 n可移植性 從一個(gè)環(huán)境搬遷到

13、另一個(gè)環(huán)境 n可互操作性 多個(gè)軟件要素相互通訊協(xié)同完成任務(wù)能力 n有效性 充分利用計(jì)算機(jī)的時(shí)間和空間資源 copyright xinjun mao軟件和軟件工程軟件和軟件工程26軟件工程原則軟件工程原則(1/2)n抽象 關(guān)注事物基本、重要的部分,忽略不相關(guān)成分 抽象可以使我們的思維聚焦于問(wèn)題本質(zhì),從而簡(jiǎn)化問(wèn)題,控制問(wèn)題復(fù)雜度,推動(dòng)復(fù)雜、龐大軟件系統(tǒng)開發(fā) n模塊化 模塊是程序中一個(gè)邏輯上相對(duì)獨(dú)立、具有良好的接口定義的編程單位:過(guò)程、函數(shù)、類、程序包等 模塊化是指將復(fù)雜的系統(tǒng)分解為由一個(gè)個(gè)相對(duì)獨(dú)立的模塊來(lái)加以實(shí)現(xiàn),有助于抽象和信息隱藏以及表示復(fù)雜的系統(tǒng) n信息隱藏 模塊中的軟件設(shè)計(jì)決策信息封裝起來(lái)的技術(shù),只知道它的功能以及對(duì)外的接口,而不知它的內(nèi)部細(xì)節(jié) 有助于軟件開發(fā)人員的注意力集中于更高的抽象層次 copyright xinjun mao軟件和軟件工程軟件和軟件工程27軟件工程原則軟件工程原則(2/2)n局部化 物理模塊內(nèi)集中邏輯上相互關(guān)聯(lián)的計(jì)算資源 確保模塊內(nèi)各成分關(guān)系密切而??熘g的關(guān)系松散,保證模塊具有良好的獨(dú)立性 n一致性 整個(gè)軟件系統(tǒng)均使用統(tǒng)一的符號(hào)、概念和術(shù)語(yǔ) n完全性 整個(gè)軟件系統(tǒng)不丟失任何重要的成分,軟件完全實(shí)現(xiàn)系統(tǒng)所需的功能、行為和

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論