高級軟件工程(第一章)軟件工程現(xiàn)狀及發(fā)展_第1頁
高級軟件工程(第一章)軟件工程現(xiàn)狀及發(fā)展_第2頁
高級軟件工程(第一章)軟件工程現(xiàn)狀及發(fā)展_第3頁
高級軟件工程(第一章)軟件工程現(xiàn)狀及發(fā)展_第4頁
高級軟件工程(第一章)軟件工程現(xiàn)狀及發(fā)展_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選ppt1第一章第一章 軟件工程現(xiàn)狀及發(fā)展軟件工程現(xiàn)狀及發(fā)展 2 2參考資料參考資料 系統(tǒng)分析與設(shè)計導(dǎo)論系統(tǒng)分析與設(shè)計導(dǎo)論,(美),(美)Jeffrey L. Jeffrey L. WhittenWhitten等著等著 ,機(jī)械工業(yè)出版社。,機(jī)械工業(yè)出版社。 ( (美美)Roger S.Pressman)Roger S.Pressman著,鄭人杰等譯,軟件工程著,鄭人杰等譯,軟件工程: :實踐者的研究方法實踐者的研究方法( (原書第原書第8 8版版本科教學(xué)版本科教學(xué)版) ),機(jī)械工,機(jī)械工業(yè)出版社。業(yè)出版社。 Joey George Joey George 等著,龔曉慶等著,龔曉慶 等譯,面向

2、對象分析與設(shè)等譯,面向?qū)ο蠓治雠c設(shè)計(原書第計(原書第2 2版),清華大學(xué)出版社。版),清華大學(xué)出版社。 秦航,軟件設(shè)計和體系結(jié)構(gòu),清華大學(xué)出版社秦航,軟件設(shè)計和體系結(jié)構(gòu),清華大學(xué)出版社。 張友生,軟件體系結(jié)構(gòu)原理、方法與實踐(第張友生,軟件體系結(jié)構(gòu)原理、方法與實踐(第2 2版),版),清華大學(xué)出版社清華大學(xué)出版社。3 3網(wǎng)上參考資料網(wǎng)上參考資料學(xué)生上網(wǎng)查找、收集學(xué)生上網(wǎng)查找、收集4什么是軟件?什么是軟件?軟件軟件是指計算機(jī)是指計算機(jī)程序程序、運行程序所需的、運行程序所需的數(shù)數(shù)據(jù)據(jù)、與程序有關(guān)的、與程序有關(guān)的文檔資料文檔資料的總稱。的總稱?!败浖浖?強(qiáng)調(diào)的產(chǎn)品、工程、產(chǎn)業(yè)或?qū)W科層面強(qiáng)調(diào)的產(chǎn)

3、品、工程、產(chǎn)業(yè)或?qū)W科層面“程序程序”更側(cè)重技術(shù)層面的含義更側(cè)重技術(shù)層面的含義運行程序所需的數(shù)據(jù)運行程序所需的數(shù)據(jù)計算機(jī)程序計算機(jī)程序文檔文檔5軟件的特點軟件的特點軟件是一種軟件是一種邏輯實體邏輯實體,而不是具體的物理實,而不是具體的物理實體。因而它具有抽象性;體。因而它具有抽象性;軟件的生產(chǎn)與硬件不同,在它的開發(fā)過程中軟件的生產(chǎn)與硬件不同,在它的開發(fā)過程中沒有明顯的制造過程;沒有明顯的制造過程;在軟件的運行和使用期間,在軟件的運行和使用期間,沒有硬件那樣的沒有硬件那樣的機(jī)械磨損,老化問題。機(jī)械磨損,老化問題。6軟件的特點(續(xù))軟件的特點(續(xù))軟件的開發(fā)和運行常受到計算機(jī)系統(tǒng)的限制,軟件的開發(fā)和

4、運行常受到計算機(jī)系統(tǒng)的限制,對計算機(jī)系統(tǒng)有著不同程度的依賴性對計算機(jī)系統(tǒng)有著不同程度的依賴性軟件的開發(fā)至今軟件的開發(fā)至今尚未完全擺脫手工藝的開發(fā)方尚未完全擺脫手工藝的開發(fā)方式式軟件本身是復(fù)雜的軟件本身是復(fù)雜的u 實際問題的復(fù)雜性實際問題的復(fù)雜性u 程序邏輯結(jié)構(gòu)的復(fù)雜性程序邏輯結(jié)構(gòu)的復(fù)雜性 軟件成本相當(dāng)昂貴軟件成本相當(dāng)昂貴相當(dāng)多的軟件工作涉及到社會因素相當(dāng)多的軟件工作涉及到社會因素7軟件開發(fā)技術(shù)的發(fā)展過程軟件開發(fā)技術(shù)的發(fā)展過程1950-19601950-1960年代:年代: 軟件軟件= =程序程序(Program) (Program) 面向過程的軟件面向過程的軟件= =算法算法(Algorith

5、m)+(Algorithm)+數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)(Data Structure) (Data Structure) 19701970年代:年代: 軟件軟件= =程序程序(Program)+(Program)+文檔文檔(Document) (Document) 軟件軟件= =程序程序(Program)+(Program)+文檔文檔(Document)+(Document)+數(shù)據(jù)數(shù)據(jù)(Data) (Data) 19801980年代:年代: 面向?qū)ο蟮能浖嫦驅(qū)ο蟮能浖? =對象對象(Object)+(Object)+消息消息(Message) (Message) 19901990年代年代至今:至今:

6、 面向構(gòu)件的軟件面向構(gòu)件的軟件= =構(gòu)件構(gòu)件(Component)+(Component)+框架框架(Framework) (Framework) 面向服務(wù)的軟件面向服務(wù)的軟件= =服務(wù)服務(wù)(Service)+(Service)+消息消息(Message)+(Message)+總線總線(Bus) (Bus) 8軟件危機(jī)軟件危機(jī) 軟件危機(jī):計算機(jī)軟件的開發(fā)和維護(hù)過程所遇到的一軟件危機(jī):計算機(jī)軟件的開發(fā)和維護(hù)過程所遇到的一系列嚴(yán)重問題;系列嚴(yán)重問題; 軟件危機(jī)的表現(xiàn):軟件危機(jī)的表現(xiàn): - 對軟件開發(fā)成本和進(jìn)度的估算很不準(zhǔn)確對軟件開發(fā)成本和進(jìn)度的估算很不準(zhǔn)確,甚至嚴(yán)重拖,甚至嚴(yán)重拖期和超出預(yù)算;期和

7、超出預(yù)算; - 無法滿足用戶需求,導(dǎo)致用戶很不滿意;無法滿足用戶需求,導(dǎo)致用戶很不滿意; - 質(zhì)量很不可靠,經(jīng)常失效;質(zhì)量很不可靠,經(jīng)常失效; - 難以更改、調(diào)試和增強(qiáng);難以更改、調(diào)試和增強(qiáng); - 沒有適當(dāng)?shù)奈臋n;沒有適當(dāng)?shù)奈臋n; - 軟件成本比重上升;軟件成本比重上升; - 軟件開發(fā)生產(chǎn)率跟不上計算機(jī)應(yīng)用迅速深入的趨勢。軟件開發(fā)生產(chǎn)率跟不上計算機(jī)應(yīng)用迅速深入的趨勢。 9什么是軟件工程?什么是軟件工程? 軟件工程是一種工程形式,它運用計算機(jī)科學(xué)和數(shù)學(xué)軟件工程是一種工程形式,它運用計算機(jī)科學(xué)和數(shù)學(xué)原理,針對軟件問題獲得一種經(jīng)濟(jì)有效的解決方案。原理,針對軟件問題獲得一種經(jīng)濟(jì)有效的解決方案。用系統(tǒng)的

8、、規(guī)范的、可度量的方法,開發(fā)、運行和維用系統(tǒng)的、規(guī)范的、可度量的方法,開發(fā)、運行和維護(hù)軟件。護(hù)軟件。軟件工程最基本的核心軟件工程最基本的核心質(zhì)量和生產(chǎn)率。質(zhì)量和生產(chǎn)率。軟件工程是一門非常強(qiáng)調(diào)實踐的學(xué)科(最佳實踐)。軟件工程是一門非常強(qiáng)調(diào)實踐的學(xué)科(最佳實踐)。 軟件工程是采用系統(tǒng)工程學(xué)和管理學(xué)相結(jié)合的軟件工程是采用系統(tǒng)工程學(xué)和管理學(xué)相結(jié)合的原理、方法和技術(shù)來指導(dǎo)、管理和實施軟件的原理、方法和技術(shù)來指導(dǎo)、管理和實施軟件的各種活動,包括軟件開發(fā)、運行、維護(hù)和服務(wù)各種活動,包括軟件開發(fā)、運行、維護(hù)和服務(wù)等。等。10什么是高質(zhì)量和生產(chǎn)率什么是高質(zhì)量和生產(chǎn)率?高質(zhì)量就是最大程度地滿足客戶需求、幫助高質(zhì)量

9、就是最大程度地滿足客戶需求、幫助客戶獲得成功;客戶獲得成功; 高生產(chǎn)力就是以最小的成本獲得最好的收益高生產(chǎn)力就是以最小的成本獲得最好的收益,即在規(guī)定的時間和預(yù)算之內(nèi)完成軟件開發(fā),即在規(guī)定的時間和預(yù)算之內(nèi)完成軟件開發(fā)、維護(hù)和服務(wù)等任務(wù)、維護(hù)和服務(wù)等任務(wù) 。11如何理解軟件工程的基本思想?如何理解軟件工程的基本思想?將軟件看成一個系統(tǒng)將軟件看成一個系統(tǒng)通過迭代來完善軟件系統(tǒng),逐漸逼近客戶的需求通過迭代來完善軟件系統(tǒng),逐漸逼近客戶的需求軟件開發(fā)是工程和藝術(shù)的統(tǒng)一、創(chuàng)造性和規(guī)范性軟件開發(fā)是工程和藝術(shù)的統(tǒng)一、創(chuàng)造性和規(guī)范性的統(tǒng)一的統(tǒng)一過程決定產(chǎn)品,持續(xù)改進(jìn)過程過程決定產(chǎn)品,持續(xù)改進(jìn)過程質(zhì)量以預(yù)防為主、重

10、在文化建設(shè)質(zhì)量以預(yù)防為主、重在文化建設(shè)以客戶為中心、軟件即服務(wù)以客戶為中心、軟件即服務(wù)個人和團(tuán)隊并重個人和團(tuán)隊并重向傳統(tǒng)的成熟工業(yè)學(xué)習(xí)向傳統(tǒng)的成熟工業(yè)學(xué)習(xí)適合自己的,才是最好的適合自己的,才是最好的12軟件工程的四個要素軟件工程的四個要素 管理:針對不同的領(lǐng)域建立目標(biāo)、標(biāo)準(zhǔn)和規(guī)則管理:針對不同的領(lǐng)域建立目標(biāo)、標(biāo)準(zhǔn)和規(guī)則過程:定義完成軟件各項任務(wù)的工作階段、內(nèi)過程:定義完成軟件各項任務(wù)的工作階段、內(nèi)容、流程、階段性成果和驗收要求容、流程、階段性成果和驗收要求方法:軟件開發(fā)、運行和維護(hù)等所需的技術(shù)方方法:軟件開發(fā)、運行和維護(hù)等所需的技術(shù)方法法工具:為方法的運用提供自動或半自動的軟件工具:為方法的運

11、用提供自動或半自動的軟件支撐環(huán)境支撐環(huán)境13軟件過程基本概念軟件過程基本概念過程過程是針對一個給定目標(biāo)的一系列運作步驟,是針對一個給定目標(biāo)的一系列運作步驟,是在過程環(huán)境下的一系列有序活動;是在過程環(huán)境下的一系列有序活動;活動活動是過程對象一次狀態(tài)改變,也叫過程步;是過程對象一次狀態(tài)改變,也叫過程步;任務(wù)任務(wù)是完成活動所需要的原子動作。是完成活動所需要的原子動作。如,實現(xiàn)(或構(gòu)造)是屬于開發(fā)過程的一個活動,而詳如,實現(xiàn)(或構(gòu)造)是屬于開發(fā)過程的一個活動,而詳細(xì)設(shè)計、設(shè)計復(fù)審、編碼、測試計劃以及規(guī)范開發(fā)、細(xì)設(shè)計、設(shè)計復(fù)審、編碼、測試計劃以及規(guī)范開發(fā)、代碼復(fù)審和測試等都被看作是任務(wù),實現(xiàn)(活動)由代

12、碼復(fù)審和測試等都被看作是任務(wù),實現(xiàn)(活動)由這些任務(wù)構(gòu)成這些任務(wù)構(gòu)成14軟件生產(chǎn)的問題軟件生產(chǎn)的問題用戶對生產(chǎn)出的軟件不滿意用戶對生產(chǎn)出的軟件不滿意開發(fā)人員往往不注重或不善于和客戶交流,找開發(fā)人員往往不注重或不善于和客戶交流,找出客戶真正需要的東西,匆忙地進(jìn)行開發(fā),在出客戶真正需要的東西,匆忙地進(jìn)行開發(fā),在開地過程中又不能從客戶那里得到反饋信息,開地過程中又不能從客戶那里得到反饋信息,最后生產(chǎn)出的軟件和客戶想要的相差很遠(yuǎn),難最后生產(chǎn)出的軟件和客戶想要的相差很遠(yuǎn),難免出現(xiàn)糾紛。免出現(xiàn)糾紛。15軟件生產(chǎn)問題的原因軟件生產(chǎn)問題的原因軟件需求不充分軟件需求不充分沒有將問題搞清楚就匆忙上馬,在開發(fā)過程中

13、沒有將問題搞清楚就匆忙上馬,在開發(fā)過程中又不能和客戶有效地溝通,許多問題在交付軟又不能和客戶有效地溝通,許多問題在交付軟件時才集中地爆發(fā)出來,這時候已經(jīng)是大勢已件時才集中地爆發(fā)出來,這時候已經(jīng)是大勢已去,難以挽回了(在實際的軟件開發(fā)中,去,難以挽回了(在實際的軟件開發(fā)中,首先首先應(yīng)該滿足的是客戶的需要應(yīng)該滿足的是客戶的需要,開發(fā)軟件不是為了,開發(fā)軟件不是為了展示個人的技巧。)展示個人的技巧。)16軟件發(fā)展趨勢軟件發(fā)展趨勢遺留軟件將繼續(xù)發(fā)揮作用。遺留軟件將繼續(xù)發(fā)揮作用。軟件應(yīng)用范圍將繼續(xù)擴(kuò)大,成為信息社軟件應(yīng)用范圍將繼續(xù)擴(kuò)大,成為信息社會的基礎(chǔ)設(shè)施。會的基礎(chǔ)設(shè)施。網(wǎng)絡(luò)化軟件將是發(fā)展重點。網(wǎng)絡(luò)化軟

14、件將是發(fā)展重點。軟件的可靠性與安全性日趨重要。軟件的可靠性與安全性日趨重要。工業(yè)化生產(chǎn)是必由之路。工業(yè)化生產(chǎn)是必由之路。17軟件工程技術(shù)的發(fā)展軟件工程技術(shù)的發(fā)展分布式對象技術(shù)分布式對象技術(shù)pMicrosoft COM/DCOM/COM+Microsoft COM/DCOM/COM+pOMG CORBA(Common Object Request OMG CORBA(Common Object Request Broker Architecture)Broker Architecture)pSun Microsystem JavaBeanSun Microsystem JavaBean18軟件工

15、程技術(shù)的發(fā)展軟件工程技術(shù)的發(fā)展軟件復(fù)用技術(shù)軟件復(fù)用技術(shù)pPattern(analysis, design, process)Pattern(analysis, design, process)pFrameworkFrameworkp基于構(gòu)件的開發(fā)基于構(gòu)件的開發(fā)19基于云計算平臺進(jìn)行軟件開發(fā)基于云計算平臺進(jìn)行軟件開發(fā)微軟云計算平臺服務(wù) 阿里巴巴云計算平臺服務(wù) 20現(xiàn)代軟件開發(fā)對人才的要求現(xiàn)代軟件開發(fā)對人才的要求扎實的基礎(chǔ)扎實的基礎(chǔ)創(chuàng)新、獨立的工作能力創(chuàng)新、獨立的工作能力主人翁精神和團(tuán)隊精神主人翁精神和團(tuán)隊精神溝通與協(xié)調(diào)能力溝通與協(xié)調(diào)能力成就感強(qiáng)、有激情成就感強(qiáng)、有激情自覺地干好工作自覺地干好工作

16、鍥而不舍,從錯誤中學(xué)習(xí)鍥而不舍,從錯誤中學(xué)習(xí)21軟件開發(fā)中的錯誤觀點軟件開發(fā)中的錯誤觀點只要掌握了只要掌握了1-21-2門程序設(shè)計語言,進(jìn)行軟件開發(fā)就沒有門程序設(shè)計語言,進(jìn)行軟件開發(fā)就沒有問題。問題。軟件需求分析很困難,不管三七二十一先把軟件做了軟件需求分析很困難,不管三七二十一先把軟件做了再說,反正軟件是靈活的,隨時可以修改。軟件需求再說,反正軟件是靈活的,隨時可以修改。軟件需求分析很困難,不管三七二十一先把軟件做了再說,反分析很困難,不管三七二十一先把軟件做了再說,反正軟件是靈活的,隨時可以修改。正軟件是靈活的,隨時可以修改。只要有最好的開發(fā)工具、最好的計算機(jī),一定能做出只要有最好的開發(fā)工具、最好的計算機(jī),一定能做出優(yōu)秀的軟件。只要有最好的開發(fā)工具、最好的計算機(jī)優(yōu)秀的軟件。只要有最好的開發(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論