資源描述:
《軟件開發(fā)方法軟件開發(fā)技術(shù)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第1章軟件開發(fā)方法(三)軟件開發(fā)技術(shù)計算機教學實驗中心問題的提出什么是構(gòu)件、中間件?什么是CORBA、DOM和JEB?什么是軟件復用?什么是C/S?B/S?C/S和B/S的區(qū)別?……21.了解目前主要的軟件開發(fā)技術(shù)2.了解構(gòu)件技術(shù)3.了解軟件復用技術(shù)4.了解CORBA、DCOM和J2EE技術(shù)5.了解C/S和B/S技術(shù)及開發(fā)基礎(chǔ)3軟件開發(fā)技術(shù)構(gòu)件技術(shù)軟件復用技術(shù)C/S技術(shù)B/S技術(shù)4構(gòu)件技術(shù)軟件產(chǎn)業(yè)和軟件工程技術(shù)正面臨著新的挑戰(zhàn)。而傳統(tǒng)的軟件設(shè)計思想根本無法應對。在這一背景下,構(gòu)件技術(shù)應運而生。構(gòu)件
2、技術(shù)是基于OO技術(shù)上的更高級的抽象。它把底層的對象集合打成包,組成功能“插件”。基于構(gòu)件技術(shù)的軟件生產(chǎn)就是把已存在的構(gòu)件組裝(集成)到當前軟件系統(tǒng)的框架結(jié)構(gòu)中,從而生產(chǎn)出新的軟件產(chǎn)品??梢灶A見,構(gòu)件技術(shù)是軟件產(chǎn)業(yè)化革命的必然發(fā)展趨勢。5構(gòu)件技術(shù)概述OO技術(shù)是在“數(shù)據(jù)十算法”的基礎(chǔ)上提升了對事物的認識方法。而構(gòu)件技術(shù)則在“對象+算法”的基礎(chǔ)上將認識事物的角度從對象個體本身提升到個體在群體中的作用。這個認識的提高具有本質(zhì)的不同。從抽象程度來看,OO技術(shù)已達到了類級重用(代碼重用),它以類為封裝的單位。
3、而構(gòu)件是對一組類的組合進行封裝,可以將底層的多個邏輯組合成高層次上的粒度更大的新構(gòu)件,甚至直接封裝到一個系統(tǒng),使模塊的重用從代碼級、對象級、架構(gòu)級到系統(tǒng)級都可能實現(xiàn)。顯然,構(gòu)件技術(shù)將抽象的程度提到了一個更高的層次。這種思想正在改變著軟件的開發(fā)方法和人們的思維方式。6構(gòu)件的屬性構(gòu)件是可獨立配置的單元,因此構(gòu)件必須自包容。構(gòu)件強調(diào)與環(huán)境和其他構(gòu)件的分離,因此構(gòu)件的實現(xiàn)是嚴格封裝的,外界沒機會或沒必要知道構(gòu)件內(nèi)部的實現(xiàn)細節(jié)。構(gòu)件可以在適當?shù)沫h(huán)境中被復合使用,因此構(gòu)件需要提供清楚的接口規(guī)范,可以與環(huán)境交互
4、??梢钥闯?,構(gòu)件沿襲了對象的封裝特性,但同時并不局限于一個對象,其內(nèi)部可以封裝一個或多個類、原型對象甚至過程,結(jié)構(gòu)是靈活的。7構(gòu)件的使用每個構(gòu)件都需要先注冊才能使用。構(gòu)件是通過它們的接口特征來標識的,它們所提供的服務(wù)與訪問方式是接口特征的一部分內(nèi)容。要考慮的因素包括:應用編程接口(API)。構(gòu)件所需的開發(fā)和集成。運行需求,例如資源的使用(內(nèi)存和硬盤),時間或速度以及網(wǎng)絡(luò)協(xié)議。服務(wù)需求,例如操作系統(tǒng)的接口,或需要其他構(gòu)件的支持等。安全特征,例如訪問控制和身份驗證協(xié)議等。嵌入式設(shè)計假定,有特定的數(shù)值/
5、非數(shù)值算法使用。異常處理。8實現(xiàn)構(gòu)件技術(shù)的必備條件有標準軟件體系結(jié)構(gòu),保證構(gòu)件間通信協(xié)議統(tǒng)一,實現(xiàn)同步和異步操作控制,突破本地空間限制,充分利用網(wǎng)絡(luò)環(huán)境。構(gòu)件有標準接口,保證系統(tǒng)可分解成多個功能獨立的單元,用構(gòu)件組裝而成。構(gòu)件獨立于編程語言。構(gòu)件提供版本兼容,來實現(xiàn)應用系統(tǒng)的擴展和更新。9構(gòu)件設(shè)計因為構(gòu)件依賴于平臺環(huán)境,所以設(shè)計時有特殊要求:⑴以接口為核心,使用開放標準。統(tǒng)一的開放標準有,CORBA、DCOM、EJB等。⑵構(gòu)件語義的描述要形式化。在不同標準中,它們都有自己的形式化語義規(guī)定。如在EJ
6、B中有會話Bean和實體Bean事務(wù)描述符等。⑶提煉封裝構(gòu)件過程要嚴格記錄。由于構(gòu)件允許第三方使用,所以要保證第三方用戶能正確理解構(gòu)件設(shè)計思想,就必須記錄每次提煉的變化。通常,要用版本來管理。⑷設(shè)計模式也可以重用?;跇?gòu)件的系統(tǒng)開發(fā)的優(yōu)點之一是重用,它的目標是代碼、設(shè)計、解決方案都能重用。⑸利用開發(fā)工具。利用開發(fā)工具創(chuàng)建構(gòu)件和應用軟件。工具如Jbuilder、EJBMaker等。10中間件構(gòu)件是依賴于平臺環(huán)境的。那么在分布式異構(gòu)環(huán)境中如何應用構(gòu)件呢?中間件就是基于跨環(huán)境的構(gòu)件應用而發(fā)展起來的。中間
7、件是介于應用層和網(wǎng)絡(luò)層之間的一個功能層次,是使應用系統(tǒng)獨立于由異構(gòu)操作環(huán)境(操作系統(tǒng)、硬件平臺及通信協(xié)議等)組成的開發(fā)環(huán)境。中間件擴展了客戶/服務(wù)器結(jié)構(gòu),形成了一個包括客戶、中間件和服務(wù)器在內(nèi)的三層次結(jié)構(gòu)及多層次結(jié)構(gòu),為開發(fā)可靠的、可擴展的、復雜的事物密集型應用提供了有力的支持。11構(gòu)件和中間件中間件是構(gòu)件技術(shù)的一種實現(xiàn),是構(gòu)件存在的基礎(chǔ),它的本質(zhì)是對分布式應用的抽象,應用是在中間件提供的環(huán)境中以構(gòu)件的形式存在?;谥虚g件開發(fā)的應用是面向需求的構(gòu)件應用;構(gòu)件專門用于處理應用的業(yè)務(wù)邏輯,而中間件負責
8、解決與業(yè)務(wù)無直接關(guān)系的分布式應用中的支撐環(huán)境問題(例如,通信、互操作、可靠性、容錯性等)。構(gòu)件的封裝、設(shè)計與實現(xiàn)隔離,構(gòu)件間的交互通過規(guī)范定義的接口進行;中間件在分布式交互模式上都規(guī)定了接口機制,可以解決構(gòu)件間的交互問題。中間件將應用構(gòu)件與系統(tǒng)資源隔離,使得構(gòu)件開發(fā)者不用考慮下層的系統(tǒng)平臺。中間件提供了構(gòu)件封裝、構(gòu)件交互規(guī)則、構(gòu)件與環(huán)境隔離等機制,為軟件重用提供了解決方案。中間件可實現(xiàn)互操作。12中間件分類①基于遠程過程調(diào)用RPC(RemoteProcedureCall)的中間件,