資源描述:
《基于構(gòu)件的軟件開(kāi)發(fā)(I)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、軟件工程第8章基于構(gòu)件的軟件開(kāi)發(fā)基于構(gòu)件的軟件開(kāi)發(fā)目標(biāo)長(zhǎng)期以來(lái)的軟件開(kāi)發(fā)狀況多數(shù)軟件都是針對(duì)某個(gè)具體的應(yīng)用系統(tǒng)從頭進(jìn)行開(kāi)發(fā)的導(dǎo)致:出現(xiàn)了大量的同類(lèi)軟件重復(fù)開(kāi)發(fā),造成大量人力、財(cái)力的浪費(fèi),而且軟件的質(zhì)量也不高對(duì)比:汽車(chē)工業(yè)的生產(chǎn)模式在已有的部件基礎(chǔ)上通過(guò)組裝進(jìn)行生產(chǎn):有專(zhuān)門(mén)的部件生產(chǎn)工廠,汽車(chē)設(shè)計(jì)者在設(shè)計(jì)中選擇市場(chǎng)上已有的合適的部件避免了大量的重復(fù)勞動(dòng),提高了產(chǎn)品質(zhì)量和生產(chǎn)效率,促進(jìn)分工合作我們的目標(biāo):將制造業(yè)中的組裝式生產(chǎn)模式引入到軟件開(kāi)發(fā)中內(nèi)容摘要基于構(gòu)件的軟件開(kāi)發(fā)概述建造可復(fù)用構(gòu)件應(yīng)用系統(tǒng)工程構(gòu)件的管理小結(jié)內(nèi)容摘要基于構(gòu)件的軟件開(kāi)發(fā)概述建造可復(fù)
2、用構(gòu)件應(yīng)用系統(tǒng)工程構(gòu)件的管理小結(jié)基于構(gòu)件的軟件開(kāi)發(fā)基于構(gòu)件的軟件開(kāi)發(fā)Component-BasedSoftwareDevelopment簡(jiǎn)稱(chēng)CBSD是指使用可復(fù)用構(gòu)件來(lái)開(kāi)發(fā)應(yīng)用軟件基于構(gòu)件的軟件工程Component-BasedSoftwareEngineering簡(jiǎn)稱(chēng)CBSE構(gòu)件(Component)的典型定義Pressman書(shū)中的定義:構(gòu)件是某系統(tǒng)中有價(jià)值的、幾乎獨(dú)立的并可替換的一個(gè)部分,它在良好定義的體系結(jié)構(gòu)語(yǔ)境內(nèi)滿足某清晰的功能Brown的定義:構(gòu)件是一個(gè)獨(dú)立發(fā)布的功能部分,可以通過(guò)其接口訪問(wèn)它的服務(wù)“計(jì)算機(jī)科學(xué)技術(shù)百科全書(shū)”的定義:軟件構(gòu)
3、件是軟件系統(tǒng)中具有相對(duì)獨(dú)立功能,可以明確標(biāo)識(shí),接口由規(guī)約指定,與語(yǔ)境有明顯依賴(lài)關(guān)系,可獨(dú)立部署,且多由第三方提供的可組裝軟件實(shí)體;軟件構(gòu)件須承載有用的功能,并遵循某種構(gòu)件模型;可復(fù)用構(gòu)件是指具有可復(fù)用價(jià)值的構(gòu)件構(gòu)件的要素規(guī)格說(shuō)明:建立在接口概念之上,作為服務(wù)提供方與客戶(hù)方之間的契約一個(gè)或多個(gè)實(shí)現(xiàn)受約束的構(gòu)件標(biāo)準(zhǔn)包裝方法部署方法3C構(gòu)件模型關(guān)于構(gòu)件的一個(gè)指導(dǎo)性模型由構(gòu)件的三個(gè)不同方面的描述組成概念(concept):關(guān)于“構(gòu)件做什么”的抽象描述,可以通過(guò)概念去理解構(gòu)件的功能。概念包括接口規(guī)約和語(yǔ)義描述兩部分,語(yǔ)義描述和每個(gè)操作相關(guān)聯(lián)(至少表示為前后置
4、謂詞形式)內(nèi)容(content):概念的具體實(shí)現(xiàn),描述構(gòu)件如何完成概念所刻畫(huà)的功能周境(context):描述構(gòu)件和外圍環(huán)境在概念級(jí)和內(nèi)容級(jí)的關(guān)系,刻畫(huà)構(gòu)件的應(yīng)用環(huán)境,為構(gòu)件的選用和適應(yīng)性修改提供指導(dǎo)REBOOT構(gòu)件模型基于面向?qū)ο蠹夹g(shù)的復(fù)用——REBOOT(ReuseBasedonObject_OrientedTechnology):一種基于刻面(facet)的模型刻面:對(duì)領(lǐng)域進(jìn)行分析,所得到的一組基本的描述特征刻面可以描述構(gòu)件執(zhí)行的功能、所操作的數(shù)據(jù)、構(gòu)件應(yīng)用的周境或任何其它特征通常的刻面描述限制在不超過(guò)7或8個(gè)刻面一個(gè)構(gòu)件通常包括以下刻面:抽
5、象(abstraction):它是構(gòu)件概念的抽象性描述操作(operation):它是構(gòu)件所提供的操作的描述操作對(duì)象(operand):它描述操作的對(duì)象依賴(lài)(dependency):它描述構(gòu)件與外界的依賴(lài)關(guān)系常用的構(gòu)件標(biāo)準(zhǔn)CORBA(公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu))CommonObjectRequestBrokerArchitectureOMG發(fā)布的構(gòu)件標(biāo)準(zhǔn)核心是ORB(ObjectRequestBroker),定義了異構(gòu)環(huán)境下對(duì)象透明地發(fā)送請(qǐng)求和接收響應(yīng)的基本機(jī)制COM+微軟開(kāi)發(fā)的一個(gè)構(gòu)件對(duì)象模型,提供了在運(yùn)行于Windows操作系統(tǒng)之上的單個(gè)應(yīng)用中使
6、用不同廠商生產(chǎn)的對(duì)象的規(guī)約EJB:一種基于Java的構(gòu)件標(biāo)準(zhǔn)EJB(EnterpriseJavaBean)是J2EE的一部分,定義了一個(gè)用于開(kāi)發(fā)基于組件的企業(yè)多重應(yīng)用程序的標(biāo)準(zhǔn)。其特點(diǎn)包括網(wǎng)絡(luò)服務(wù)支持和核心開(kāi)發(fā)工具(SDK)。EJB規(guī)約規(guī)定了EJB構(gòu)件如何與EJB容器進(jìn)行行交互基于構(gòu)件的軟件開(kāi)發(fā)過(guò)程領(lǐng)域工程步驟-1領(lǐng)域分析:首先要進(jìn)行領(lǐng)域分析,收集領(lǐng)域中有代表性的應(yīng)用樣本,分析應(yīng)用中的公共部分或相似部分,抽取該領(lǐng)域的應(yīng)用體系結(jié)構(gòu)建立領(lǐng)域特定的基準(zhǔn)體系結(jié)構(gòu)模型:在領(lǐng)域分析的基礎(chǔ)上,構(gòu)造該領(lǐng)域的基準(zhǔn)體系結(jié)構(gòu),這個(gè)基準(zhǔn)體系結(jié)構(gòu)應(yīng)是可以裁剪和擴(kuò)充的,并可供
7、該領(lǐng)域的應(yīng)用復(fù)用標(biāo)識(shí)候選構(gòu)件:在領(lǐng)域分析和領(lǐng)域基準(zhǔn)體系結(jié)構(gòu)模型的基礎(chǔ)上標(biāo)識(shí)該領(lǐng)域的候選構(gòu)件泛化(generalization)和可變性(variability)分析:提高其通用性,同時(shí)尋找候選構(gòu)件在不同應(yīng)用中的變化點(diǎn)(variationpoint),通過(guò)設(shè)置參數(shù)、繼承或其它手段,使可變部分局部化領(lǐng)域工程步驟-2重建構(gòu)件:在泛化和可變性分析的基礎(chǔ)上,重建構(gòu)件,使它成為可復(fù)用構(gòu)件構(gòu)件的測(cè)試:對(duì)重建的可復(fù)用的構(gòu)件要嚴(yán)格測(cè)試,以提高其可靠性構(gòu)件的包裝:經(jīng)測(cè)試的構(gòu)件應(yīng)根據(jù)構(gòu)件庫(kù)的要求,對(duì)它進(jìn)行包裝,以便構(gòu)件庫(kù)對(duì)它分類(lèi)儲(chǔ)存和檢索構(gòu)件入庫(kù):包裝后的構(gòu)件即可存入構(gòu)
8、件庫(kù)應(yīng)用系統(tǒng)工程的步驟-1建立應(yīng)用系統(tǒng)的體系結(jié)構(gòu)模型:可以使用構(gòu)件生產(chǎn)者提供的領(lǐng)域特定的基準(zhǔn)體系結(jié)構(gòu)經(jīng)裁剪和/或擴(kuò)充而獲得