資源描述:
《基于構(gòu)件的軟件開發(fā)ppt課件.ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第8章基于構(gòu)件的軟件開發(fā)基于構(gòu)件的軟件開發(fā)目標(biāo)長期以來的軟件開發(fā)狀況多數(shù)軟件都是針對某個具體的應(yīng)用系統(tǒng)從頭進(jìn)行開發(fā)的導(dǎo)致:出現(xiàn)了大量的同類軟件重復(fù)開發(fā),造成大量人力、財力的浪費(fèi),而且軟件的質(zhì)量也不高對比:汽車工業(yè)的生產(chǎn)模式在已有的部件基礎(chǔ)上通過組裝進(jìn)行生產(chǎn):有專門的部件生產(chǎn)工廠,汽車設(shè)計者在設(shè)計中選擇市場上已有的合適的部件避免了大量的重復(fù)勞動,提高了產(chǎn)品質(zhì)量和生產(chǎn)效率,促進(jìn)分工合作我們的目標(biāo):將制造業(yè)中的組裝式生產(chǎn)模式引入到軟件開發(fā)中,有專門的工廠生產(chǎn)構(gòu)件(組件),然后基于構(gòu)件組裝系統(tǒng)。軟件復(fù)用的問題如何獲取可復(fù)用的軟構(gòu)件如何生產(chǎn)、描述軟構(gòu)件如何檢索合適的軟構(gòu)件
2、如何把軟構(gòu)件組裝成應(yīng)用系統(tǒng)異質(zhì)構(gòu)件的協(xié)作內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述建造可復(fù)用構(gòu)件應(yīng)用系統(tǒng)工程構(gòu)件的管理小結(jié)8.1基于構(gòu)件的軟件開發(fā)基于構(gòu)件的軟件開發(fā)(CBSD)Component-BasedSoftwareDevelopment指使用可復(fù)用構(gòu)件來開發(fā)應(yīng)用軟件基于構(gòu)件的軟件工程(CBSE)Component-BasedSoftwareEngineering思想:用一組預(yù)先建造好的、標(biāo)準(zhǔn)化的軟件構(gòu)件,它們可用于滿足針對某應(yīng)用領(lǐng)域的特定體系結(jié)構(gòu)風(fēng)格。應(yīng)用系統(tǒng)由這些構(gòu)件組裝而成。優(yōu)點(diǎn):鼓勵可預(yù)知的體系結(jié)構(gòu)模式和標(biāo)準(zhǔn)的軟件基礎(chǔ)設(shè)施的應(yīng)用,可以得到較高質(zhì)量的軟件。8.1
3、.1構(gòu)件(Component)Pressman書中的定義:構(gòu)件是某系統(tǒng)中有價值的、幾乎獨(dú)立的并可替換的一個部分,它在良好定義的體系結(jié)構(gòu)語境內(nèi)滿足某清晰的功能。Brown的定義:構(gòu)件是一個獨(dú)立發(fā)布的功能部分,可以通過其接口訪問它的服務(wù)。AlanWBrown《大規(guī)?;跇?gòu)件的軟件開發(fā)》《計算機(jī)科學(xué)技術(shù)百科全書》的定義:軟件構(gòu)件是軟件系統(tǒng)中具有相對獨(dú)立功能,可以明確標(biāo)識,接口由規(guī)約指定,與語境有明顯依賴關(guān)系,可獨(dú)立部署,且多由第三方提供的可組裝軟件實(shí)體;軟件構(gòu)件須承載有用的功能,并遵循某種構(gòu)件模型;可復(fù)用構(gòu)件是指具有可復(fù)用價值的構(gòu)件狹義的構(gòu)件軟件系統(tǒng)中具有相對獨(dú)立功能
4、、可以明確辨識、接口由契約規(guī)定、和語境有明確依賴關(guān)系、可獨(dú)立部署、且多由第三方提供的可組裝軟件實(shí)體。既包括以EJB、COM/DCOM、ActiveX、WebServices等形式存在的可運(yùn)行二進(jìn)制程序,也可包括經(jīng)過封裝的源代碼程序。廣義的構(gòu)件隨著對軟件復(fù)用理解的深入,軟件構(gòu)件概念的外延在擴(kuò)展。從構(gòu)件實(shí)體到需求規(guī)約、系統(tǒng)架構(gòu)、設(shè)計文檔、測試案例等各種具有復(fù)用價值的軟件資源都可稱為構(gòu)件。商用成品構(gòu)件(Commercialoff-the-shelf),簡稱COTS,指由第三方開發(fā)的滿足一定構(gòu)件標(biāo)準(zhǔn)的,可組裝的軟件構(gòu)件。構(gòu)件的要素規(guī)格說明建立在接口概念之上,作為服務(wù)提供
5、方與客戶方之間的契約。規(guī)格說明應(yīng)包含:定義可用的操作;約束條件;客戶與構(gòu)件之間的交互等。一個或多個實(shí)現(xiàn)實(shí)現(xiàn)者可選擇一種合適的實(shí)現(xiàn)方法,但要滿足規(guī)格說明。受約束的構(gòu)件標(biāo)準(zhǔn)構(gòu)件要滿足某種標(biāo)準(zhǔn),才能支持異構(gòu)構(gòu)件之間的互操作。包裝方法部署方法(1)3C構(gòu)件模型關(guān)于構(gòu)件的一個指導(dǎo)性模型由構(gòu)件的三個不同方面的描述組成概念(concept):關(guān)于“構(gòu)件做什么”的抽象描述,可以通過概念去理解構(gòu)件的功能。概念包括接口規(guī)約和語義描述兩部分,語義描述和每個操作相關(guān)聯(lián)(至少表示為前后置謂詞形式)內(nèi)容(content):概念的具體實(shí)現(xiàn),描述構(gòu)件如何完成概念所刻畫的功能(內(nèi)容對一般用戶隱藏
6、)環(huán)境(context):刻畫構(gòu)件的應(yīng)用環(huán)境,為構(gòu)件的選用和適應(yīng)性修改提供指導(dǎo)。構(gòu)件描述模型為何要描述構(gòu)件?(2)REBOOT構(gòu)件模型REBOOT(ReuseBasedonObject-OrientedTechnology):基于面向?qū)ο蠹夹g(shù)的復(fù)用一種基于刻面(facet)的模型刻面:對領(lǐng)域進(jìn)行分析,所得到的一組基本的描述特征刻面可以描述構(gòu)件執(zhí)行的功能、所操作的數(shù)據(jù)、構(gòu)件應(yīng)用的周境或任何其它特征通常的刻面描述限制在不超過7或8個刻面一個構(gòu)件通常包括以下刻面:抽象(abstraction):它是構(gòu)件概念的抽象性描述操作(operation):它是構(gòu)件所提供的操作的
7、描述操作對象(operand):它描述操作的對象依賴(dependency):它描述構(gòu)件與外界的依賴關(guān)系常用的構(gòu)件標(biāo)準(zhǔn)CORBA(公共對象請求代理體系結(jié)構(gòu))CommonObjectRequestBrokerArchitectureOMG發(fā)布的構(gòu)件標(biāo)準(zhǔn)核心是ORB(ObjectRequestBroker),定義了異構(gòu)環(huán)境下對象透明地發(fā)送請求和接收響應(yīng)的基本機(jī)制COM/DCOMCOM:微軟開發(fā)的一個構(gòu)件對象模型,提供了在運(yùn)行于Windows操作系統(tǒng)之上的單個應(yīng)用中使用不同廠商生產(chǎn)的對象的規(guī)約EJB:一種基于Java的構(gòu)件標(biāo)準(zhǔn)提供了讓客戶端使用遠(yuǎn)程的分布式對象的框架E
8、JB規(guī)約規(guī)定了EJB構(gòu)件