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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

6、件開發(fā)為主向以集成式開發(fā)為主的發(fā)展例如:業(yè)務(wù)流程重組business Process Reengineering)企業(yè)應(yīng)用集成(EAI: Enterprise Application Integration) 等都需要開發(fā)組織具有“繼往開來”的能力在這樣的背景下符合標(biāo)準(zhǔn)規(guī)范的軟件將更加受歡迎軟件關(guān)注重點(diǎ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)軟件運(yùn)行方式的發(fā)展從純被動(dòng)式的方式向部分主動(dòng)式的方式發(fā)展主動(dòng)對(duì)象(Active Object)類真體(Agent)等具有的 獨(dú)立性、自治性和自適應(yīng)性能夠很好地適應(yīng)從封閉、靜態(tài)、穩(wěn)定的單機(jī)環(huán)境到開放、動(dòng)態(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ā)展的趨勢(shì)SAAS, Grid Computing, Cloud Computing這一發(fā)展將使軟件在方便使用、安全可靠等方面更加人性化軟件開銷比重的發(fā)展從開發(fā)為主要開銷向開發(fā).演化開銷并重的發(fā)展最近一段時(shí)間延長(zhǎng)軟件生命維護(hù)、演化軟件等問題同時(shí)受到了學(xué)術(shù)界與產(chǎn)業(yè)界的雙重關(guān)注諸如柔性結(jié)構(gòu)技術(shù)、遠(yuǎn)程維護(hù)技術(shù)、自適應(yīng)技術(shù)等將得到重視:、軟件開發(fā)1、軟件開發(fā)特點(diǎn)2、軟件開發(fā)模型3、開發(fā)過程新進(jìn)展 4、如何理解軟件開發(fā)的困難觀高級(jí)軟件工程軟件與軟件開發(fā)35/371、軟件開發(fā)特點(diǎn)軟件開發(fā)是典型的知識(shí)密集型活動(dòng)復(fù)雜度咼開發(fā)周期長(zhǎng)可靠性保證難軟件應(yīng)用范圍的快速擴(kuò)大觀高級(jí)軟件工程軟件與軟件開發(fā)#/37觀高級(jí)

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

10、說?生產(chǎn)PC?搭積木?演節(jié)目?拍電影/電視? !拍電影開發(fā)軟件前期:劇本創(chuàng)作、投資拍攝:場(chǎng)地、演員、道具后期:剪接、音效分析:需求、用戶設(shè)計(jì)實(shí)現(xiàn):結(jié)構(gòu)、編碼測(cè)試:減少缺陷其他共性:拷貝、版本、版權(quán);美國(guó)、印度三、網(wǎng)絡(luò)環(huán)境帶來的影響網(wǎng)絡(luò)環(huán)境的特點(diǎn):共享性 開放性并發(fā)性可伸縮性容錯(cuò)性透明性(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ù)實(shí)現(xiàn)典型例子:GOOGLE: 45 萬臺(tái) PCQQ:上萬臺(tái)PC(4)容錯(cuò)性硬件、軟件、網(wǎng)絡(luò)發(fā)生錯(cuò)誤的不可避免性 網(wǎng)絡(luò)環(huán)境必須維護(hù)可用性 容錯(cuò)的實(shí)現(xiàn)途徑:恢復(fù)(recovery)冗余 (redundancy)“911,啲啟示(5)海量數(shù)據(jù)大量頁面 大量代碼 大量業(yè)務(wù)數(shù)據(jù) 大量視頻 大量推動(dòng)了

溫馨提示

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