軟件構(gòu)件與中間件_第1頁
軟件構(gòu)件與中間件_第2頁
軟件構(gòu)件與中間件_第3頁
軟件構(gòu)件與中間件_第4頁
軟件構(gòu)件與中間件_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、觀高級軟件工程軟件與軟件開發(fā)1/37第f軟件與軟件開發(fā)觀高級軟件工程軟件與軟件開發(fā)2/37軟件的復(fù)雜性是其自身所固有的抽象、分治、分類等思怨將在其中發(fā)揮憑為關(guān)鍵的作用觀高級軟件工程軟件與軟件開發(fā)4/37內(nèi)容軟件:、軟件開發(fā)1、網(wǎng)絡(luò)環(huán)境帶來的影響觀高級軟件工程軟件與軟件開發(fā)12/371、什么是軟件2、軟件的發(fā)展現(xiàn)狀3、軟件的發(fā)展特點4、軟件的本質(zhì)特性5、軟件的發(fā)展趨勢1、什么是軟件計算機(jī)軟件一般指計算機(jī)系統(tǒng)中的程序及文檔 程序是以計算機(jī)語言表達(dá)的軟件系統(tǒng)文檔是以人類語言表達(dá)的軟件系統(tǒng)二者互相配合共同構(gòu)成了完整的軟件系統(tǒng)人類抽象的經(jīng)驗、知識正逐步由軟件予以精確地體現(xiàn)軟件 是腦力勞動的產(chǎn)物是系統(tǒng)邏輯

2、的體現(xiàn)必須依附于一定的載體 例如:紙張、軟盤、硬盤、光盤等 其它的物品呢?不需要載體? 老子:道德經(jīng):第十一章:三十輻共一轂(gii),當(dāng) 其無,有車之用。 縫(shb)壇(zhi)以為器,當(dāng)其無,有器之用。鑿戶檢(y6u)以為室,當(dāng)其無,有室之用。 故有之以為利,無之以為用。解讀的力量!鮮花與飼料軟件到底有什么奧妙?人類自身的感官不能直接確定它的存在:分子、原子等對于人們總有一定的神秘性:感官距離很“遙遠(yuǎn)” 軟件:通常存在于紙帶、磁帶、光盤等之中運行起來靠:集成電路發(fā)揮作用顯示器顯示狀態(tài)竟然還可以在 不同的載體之間十分方便地跳躍!顯示出來后離我們又這么“近”!如此有用!萬物皆數(shù)?我們可以對認(rèn)

3、識的任何一種東西進(jìn)行編碼以產(chǎn)生它的一個具體“實例”數(shù)據(jù)與代碼:從歌德爾定理到圖靈不停機(jī)問題 靜態(tài)代碼分析!軟件作為邏輯產(chǎn)品的特點:劣勢:不易被理解 容易出錯 找錯、排錯困難優(yōu)勢:易于變化,適應(yīng)性強(qiáng) 復(fù)制成本低,適合規(guī)模經(jīng)濟(jì)給我們的生活、學(xué)習(xí)等帶來了巨大的變化軟件與軟件開發(fā)10/37(1)(2)(3)(4)參高級軟件工程2、軟件的發(fā)展現(xiàn)狀已經(jīng)存在大量正在運行的軟件金融、電信、航空航天等 軟件的應(yīng)用范圍不斷擴(kuò)大商務(wù)、交通、家電等,“計算機(jī)軟件?” 軟件的規(guī)模與復(fù)雜性持續(xù)增加越來越多的知識正在由軟件進(jìn)行顯式表達(dá) 出現(xiàn)了大量與軟件相關(guān)的標(biāo)準(zhǔn)(3)的需求軟件危機(jī)仍然存在(軟件脫節(jié))1968-2008 四

4、十年!(5)觀高級軟件工程軟件與軟件開發(fā)16/37軟件工程四十年:軟件工程、構(gòu)件、中間件Doug McIlroy on Software Components, 19683、軟件的發(fā)展特點(1)軟件應(yīng)用范圍將繼續(xù)擴(kuò)大,成為信息社會的物理設(shè)施(2)遺留軟件將繼續(xù)發(fā)揮作用(3)軟件的可靠性與安全性日趨重要 (4)網(wǎng)絡(luò)化軟件將是發(fā)展重點軟件與軟件開發(fā)13/37參高級軟件工程4、軟件的本質(zhì)特性構(gòu)造性演化性其它特點:知識密集、邏輯產(chǎn)物觀高級軟件工程軟件與軟件開發(fā)34/37軟件的構(gòu)造性軟件是典型的知識產(chǎn)品是客觀世界中問題空間的具體描述=軟件是有結(jié)構(gòu)的= 構(gòu)造性是軟件的本質(zhì)特性傳統(tǒng)的軟件開發(fā)是 個體作坊式的

5、只解決功能問題未考慮結(jié)構(gòu)問題造成軟件復(fù)雜度高維護(hù)難度大軟件的演化性軟件是 是客觀事物的一種反映知識的提煉知識的體現(xiàn)知識的固化客觀世界不斷發(fā)展不斷發(fā)生變化軟件系統(tǒng)不可能一成不變新需求、新技術(shù)不斷出現(xiàn)軟件系統(tǒng)要不斷升級5、軟件的發(fā)展趨勢軟件運行平臺正在從單機(jī)環(huán)境發(fā)展到網(wǎng)絡(luò)環(huán)境這將導(dǎo)致軟件在反映對象開發(fā)基礎(chǔ)關(guān)注內(nèi)容運行方式提交形式開銷比重等方面的重要發(fā)展軟件反映對象的發(fā)展從以個體計算過程為反映對象向以群體合作過程為反映對象 的發(fā)展 例如:電子商務(wù)J電子政務(wù)L電子服務(wù)虛擬企業(yè)人們的合作過程是豐富多樣的、不斷調(diào)整的因此,網(wǎng)絡(luò)環(huán)境下的軟件更加 復(fù)雜、易變 構(gòu)造性、演化性更加突出軟件開發(fā)基礎(chǔ)的發(fā)展從以單個軟

6、件開發(fā)為主向以集成式開發(fā)為主的發(fā)展例如:業(yè)務(wù)流程重組business Process Reengineering)企業(yè)應(yīng)用集成(EAI: Enterprise Application Integration) 等都需要開發(fā)組織具有“繼往開來”的能力在這樣的背景下符合標(biāo)準(zhǔn)規(guī)范的軟件將更加受歡迎軟件關(guān)注重點的發(fā)展從以正面功能為核心向兼顧側(cè)面約束的發(fā)展近期出現(xiàn)的面向側(cè)面的編程(AOP: Aspect Oriented Programming) 特征交互(FI: Feature Interaction)等與經(jīng)典的冋題分離(SOC: Separation Of Concerns )等相呼應(yīng) 有效地處理交

7、叉(cross cutting)特征例如:安全性、可靠性、同步性等這一發(fā)展將使軟件工程師容易地開發(fā)、維護(hù)應(yīng)用系統(tǒng)軟件運行方式的發(fā)展從純被動式的方式向部分主動式的方式發(fā)展主動對象(Active Object)類真體(Agent)等具有的 獨立性、自治性和自適應(yīng)性能夠很好地適應(yīng)從封閉、靜態(tài)、穩(wěn)定的單機(jī)環(huán)境到開放、動態(tài)、多變的網(wǎng)絡(luò)環(huán)境的轉(zhuǎn)變這一發(fā)展將有利于 減輕人的負(fù)擔(dān)促逬人機(jī)和諧環(huán)境的建立軟件提交形式的發(fā)展從以產(chǎn)品為中心向以服務(wù)為中心的發(fā)展例如:應(yīng)用服務(wù)提供商(ASP: Application Service Provider) “Web服務(wù)"(Web Services)等皆體現(xiàn)了軟件向

8、服務(wù)發(fā)展的趨勢SAAS, Grid Computing, Cloud Computing這一發(fā)展將使軟件在方便使用、安全可靠等方面更加人性化軟件開銷比重的發(fā)展從開發(fā)為主要開銷向開發(fā).演化開銷并重的發(fā)展最近一段時間延長軟件生命維護(hù)、演化軟件等問題同時受到了學(xué)術(shù)界與產(chǎn)業(yè)界的雙重關(guān)注諸如柔性結(jié)構(gòu)技術(shù)、遠(yuǎn)程維護(hù)技術(shù)、自適應(yīng)技術(shù)等將得到重視:、軟件開發(fā)1、軟件開發(fā)特點2、軟件開發(fā)模型3、開發(fā)過程新進(jìn)展 4、如何理解軟件開發(fā)的困難觀高級軟件工程軟件與軟件開發(fā)35/371、軟件開發(fā)特點軟件開發(fā)是典型的知識密集型活動復(fù)雜度咼開發(fā)周期長可靠性保證難軟件應(yīng)用范圍的快速擴(kuò)大觀高級軟件工程軟件與軟件開發(fā)#/37觀高級

9、軟件工程軟件與軟件開發(fā)36/37以及軟件運行平臺從單機(jī)向網(wǎng)絡(luò)的轉(zhuǎn)變軟件的 規(guī)模越來越大復(fù)雜度越來越高軟件開發(fā)的高、長、難愈益突出軟件與軟件開發(fā)25/37參高級軟件工程2、軟件開發(fā)模型瀑布模型(waterfall model) 螺旋模型(spiral model) 噴泉模型(fountain model)演化模型(evolutionary model)各自特點回顧:畫圖說明!觀高級軟件工程軟件與軟件開發(fā)53/373、開發(fā)過程新進(jìn)展RUP敏捷開發(fā)方法(XP) 從 CMM 到 CMMI 基于構(gòu)件的軟件開發(fā)基于側(cè)面的軟件開發(fā)測試驅(qū)動的軟件開發(fā)用例驅(qū)動的軟件開發(fā)4、如何理解軟件開發(fā)的困難軟件開發(fā)就象寫小

10、說?生產(chǎn)PC?搭積木?演節(jié)目?拍電影/電視? !拍電影開發(fā)軟件前期:劇本創(chuàng)作、投資拍攝:場地、演員、道具后期:剪接、音效分析:需求、用戶設(shè)計實現(xiàn):結(jié)構(gòu)、編碼測試:減少缺陷其他共性:拷貝、版本、版權(quán);美國、印度三、網(wǎng)絡(luò)環(huán)境帶來的影響網(wǎng)絡(luò)環(huán)境的特點:共享性 開放性并發(fā)性可伸縮性容錯性透明性(1)共享性一旦授權(quán),可以訪問環(huán)境中的任何資源:硬件、軟件、數(shù)據(jù)資源管理器控制資源的訪問提供命名機(jī)制并控制并發(fā)訪問使得:不同組織之間的軟件可以靈活的交互SOA(2)開放性環(huán)境擴(kuò)展與改進(jìn)的需要 導(dǎo)致:軟件開發(fā)社區(qū) 社區(qū)開發(fā)方法 開放源代碼開源軟件的開發(fā)(3)可伸縮性利用網(wǎng)絡(luò)環(huán)境可以:為更多的用戶服務(wù)響應(yīng)更快通常通過增加更多/更快的處理機(jī)更可靠、更完善的服務(wù)實現(xiàn)典型例子:GOOGLE: 45 萬臺 PCQQ:上萬臺PC(4)容錯性硬件、軟件、網(wǎng)絡(luò)發(fā)生錯誤的不可避免性 網(wǎng)絡(luò)環(huán)境必須維護(hù)可用性 容錯的實現(xiàn)途徑:恢復(fù)(recovery)冗余 (redundancy)“911,啲啟示(5)海量數(shù)據(jù)大量頁面 大量代碼 大量業(yè)務(wù)數(shù)據(jù) 大量視頻 大量推動了

溫馨提示

  • 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

提交評論