面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)研討_第1頁
面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)研討_第2頁
面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)研討_第3頁
面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)研討_第4頁
面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)研討_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

本資料來源軟件方法學(xué)

第4章:面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)基于構(gòu)件的軟件開發(fā)目標(biāo)長期以來的軟件開發(fā)狀況多數(shù)軟件都是針對(duì)某個(gè)具體的應(yīng)用系統(tǒng)從頭進(jìn)行開發(fā)的導(dǎo)致:出現(xiàn)了大量的同類軟件重復(fù)開發(fā),造成大量人力、財(cái)力的浪費(fèi),而且軟件的質(zhì)量也不高對(duì)比:汽車工業(yè)的生產(chǎn)模式在已有的部件基礎(chǔ)上通過組裝進(jìn)行生產(chǎn):有專門的部件生產(chǎn)工廠,汽車設(shè)計(jì)者在設(shè)計(jì)中選擇市場上已有的合適的部件避免了大量的重復(fù)勞動(dòng),提高了產(chǎn)品質(zhì)量和生產(chǎn)效率,促進(jìn)分工合作我們的目標(biāo):將制造業(yè)中的組裝式生產(chǎn)模式引入到軟件開發(fā)中內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述建造可復(fù)用構(gòu)件應(yīng)用系統(tǒng)工程構(gòu)件的管理小結(jié)內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述建造可復(fù)用構(gòu)件應(yīng)用系統(tǒng)工程構(gòu)件的管理小結(jié)基于構(gòu)件的軟件開發(fā)基于構(gòu)件的軟件開發(fā)Component-BasedSoftwareDevelopment簡稱CBSD是指使用可復(fù)用構(gòu)件來開發(fā)應(yīng)用軟件基于構(gòu)件的軟件工程Component-BasedSoftwareEngineering簡稱CBSE構(gòu)件(Component)的典型定義Pressman書中的定義:構(gòu)件是某系統(tǒng)中有價(jià)值的、幾乎獨(dú)立的并可替換的一個(gè)部分,它在良好定義的體系結(jié)構(gòu)語境內(nèi)滿足某清晰的功能Brown的定義:構(gòu)件是一個(gè)獨(dú)立發(fā)布的功能部分,可以通過其接口訪問它的服務(wù)“計(jì)算機(jī)科學(xué)技術(shù)百科全書”的定義:軟件構(gòu)件是軟件系統(tǒng)中具有相對(duì)獨(dú)立功能,可以明確標(biāo)識(shí),接口由規(guī)約指定,與語境有明顯依賴關(guān)系,可獨(dú)立部署,且多由第三方提供的可組裝軟件實(shí)體;軟件構(gòu)件須承載有用的功能,并遵循某種構(gòu)件模型;可復(fù)用構(gòu)件是指具有可復(fù)用價(jià)值的構(gòu)件商用成品構(gòu)件Commercialoff-the-shelf簡稱COTS指由第三方開發(fā)的滿足一定構(gòu)件標(biāo)準(zhǔn)的,可組裝的軟件構(gòu)件構(gòu)件的要素規(guī)格說明:建立在接口概念之上,作為服務(wù)提供方與客戶方之間的契約一個(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)件做什么”的抽象描述,可以通過概念去理解構(gòu)件的功能。概念包括接口規(guī)約和語義描述兩部分,語義描述和每個(gè)操作相關(guān)聯(lián)(至少表示為前后置謂詞形式)內(nèi)容(content):概念的具體實(shí)現(xiàn),描述構(gòu)件如何完成概念所刻畫的功能周境(context):描述構(gòu)件和外圍環(huán)境在概念級(jí)和內(nèi)容級(jí)的關(guān)系,刻畫構(gòu)件的應(yīng)用環(huán)境,為構(gòu)件的選用和適應(yīng)性修改提供指導(dǎo)REBOOT構(gòu)件模模型REBOOT(ReuseBasedonObject_OrientedTechnology):基于于面向向?qū)ο笙蠹夹g(shù)術(shù)的復(fù)復(fù)用一種基基于刻刻面(facet)的模型型刻面::對(duì)領(lǐng)領(lǐng)域進(jìn)進(jìn)行分分析,,所得得到的的一組組基本本的描描述特特征刻面可可以描描述構(gòu)構(gòu)件執(zhí)執(zhí)行的的功能能、所所操作作的數(shù)數(shù)據(jù)、、構(gòu)件件應(yīng)用用的周周境或或任何何其它它特征征通常的的刻面面描述述限制制在不不超過過7或8個(gè)刻面面一個(gè)構(gòu)構(gòu)件通通常包包括以以下刻刻面::抽象(abstraction):它是是構(gòu)件件概念念的抽抽象性性描述述操作(operation):它是是構(gòu)件件所提提供的的操作作的描描述操作對(duì)對(duì)象(operand):它描描述操操作的的對(duì)象象依賴(dependency):它描描述構(gòu)構(gòu)件與與外界界的依依賴關(guān)關(guān)系常用的的構(gòu)件件標(biāo)準(zhǔn)準(zhǔn)CORBA(公共對(duì)對(duì)象請(qǐng)請(qǐng)求代代理體體系結(jié)結(jié)構(gòu))CommonObjectRequestBrokerArchitectureOMG發(fā)布的的構(gòu)件件標(biāo)準(zhǔn)準(zhǔn)核心是是ORB(ObjectRequestBroker),定義義了異異構(gòu)環(huán)環(huán)境下下對(duì)象象透明明地發(fā)發(fā)送請(qǐng)請(qǐng)求和和接收收響應(yīng)應(yīng)的基基本機(jī)機(jī)制COM+微軟開開發(fā)的的一個(gè)個(gè)構(gòu)件件對(duì)象象模型型,提提供了了在運(yùn)運(yùn)行于于Windows操作系系統(tǒng)之之上的的單個(gè)個(gè)應(yīng)用用中使使用不不同廠廠商生生產(chǎn)的的對(duì)象象的規(guī)規(guī)約EJB:一種種基于于Java的構(gòu)件件標(biāo)準(zhǔn)準(zhǔn)提供了了讓客客戶端端使用用遠(yuǎn)程程的分分布式式對(duì)象象的框框架EJB規(guī)約約規(guī)規(guī)定定了了EJB構(gòu)件件如如何何與與EJB容器器進(jìn)進(jìn)行行行行交交互互CORBA技術(shù)術(shù)規(guī)規(guī)范范CORBA是OMG組織織在在1991年提提出出的的公公用用對(duì)對(duì)象象請(qǐng)請(qǐng)求求代代理理程程序序結(jié)結(jié)構(gòu)構(gòu)技技術(shù)術(shù)規(guī)規(guī)范范。。CORBA的底底層層結(jié)結(jié)構(gòu)構(gòu)是是基基于于面面向向?qū)?duì)象象模模型型的的模模塊塊組組成成:1接口口描描述述語語言言(OMGInterfaceDefinitionLanguage,OMGIDL)、2對(duì)象象請(qǐng)請(qǐng)求求代代理理(ObjectRequestBroker,ORB)3IIOP標(biāo)準(zhǔn)準(zhǔn)協(xié)協(xié)議議(InternetInter-ORBProtocol)使用用接接口口描描述述語語言言編編寫寫的的對(duì)對(duì)象象接接口口,使得得與與語語言言無無關(guān)關(guān)的的獨(dú)獨(dú)立立性性成成為為可可能能。。IDL使得得所所有有CORBA對(duì)象象以以一一種種方方式式被被描描述述,僅僅僅需需要要一一個(gè)個(gè)由由語語言言(C/C++、CORBA或Java)到IDL的““橋橋梁梁””。。CORBA對(duì)象象的的互互通通要要以以對(duì)對(duì)象象請(qǐng)請(qǐng)求求代代理理為為中中介介,這種種互互通通信信可可以以在在多多種種流流行行通通信信協(xié)協(xié)議議之之上上實(shí)實(shí)現(xiàn)現(xiàn)。。在在TCP/IP上,來自自于于不不同同開開發(fā)發(fā)商商的的ORB用IIOP標(biāo)準(zhǔn)準(zhǔn)協(xié)協(xié)議議進(jìn)進(jìn)行行通通訊訊。。COM/DCOM技術(shù)術(shù)規(guī)規(guī)范范COM(ComponentObjectModel,組件件對(duì)對(duì)象象模模型型)是Microsoft軟件件組組件件標(biāo)標(biāo)準(zhǔn)準(zhǔn),是構(gòu)構(gòu)造造二二進(jìn)進(jìn)制制兼兼容容軟軟件件組組件件的的規(guī)規(guī)范范。。COM的體體系系結(jié)結(jié)構(gòu)構(gòu)包包括括統(tǒng)統(tǒng)一一數(shù)數(shù)據(jù)據(jù)傳傳輸輸、、持持久久存存儲(chǔ)儲(chǔ)和和智智能能命命名名、、COM核心心等等。。其其中中:1COM核心:包包括服務(wù)務(wù)控制管管理、接接口代理理、接口口基和COM庫。COM核心定義義了COM對(duì)象與使使用者如如何通過過二進(jìn)制制標(biāo)準(zhǔn)接接口進(jìn)行行交換的的規(guī)格說說明。2持久存儲(chǔ)儲(chǔ)::通過Istorage和Istream接口提供供一個(gè)““文件系系統(tǒng)”。。3智能命名名:通過過對(duì)象實(shí)實(shí)現(xiàn)接口口,使用戶可可以在以以后重新新連接一一個(gè)指定定的對(duì)象象實(shí)例,并且使對(duì)對(duì)象實(shí)例例仍保持持原來的的狀態(tài),另外還提提供保存存它們名名字和其其它持久久信息的的機(jī)制。。COM庫提供對(duì)對(duì)所有客客戶及組組件都非非常有用用的組件件管理服服務(wù)。DCOM是COM的分布式式擴(kuò)展,Microsoft把DCOM作為開發(fā)發(fā)Internet和組件的的基礎(chǔ)。。當(dāng)客戶戶和組件件位于不不同機(jī)器器時(shí),DCOM用TCP/IP協(xié)議等取取代COM中的本地地進(jìn)程間間通信LRPC,從而對(duì)位位于Internet不同機(jī)器上的的組件對(duì)對(duì)象之間間的相互互通訊提提供了透透明的支支持。目前可以以支持DCOM部件開發(fā)發(fā)的編程程語言很很多,如Java、VisualC++/VisualBasic、Delphi、PowerBuilder等,具有有較好的的集成性性和擴(kuò)展展性。微軟的許許多其它它軟件如如OLE、OLEDB、ADO都是基于于COM/DCOM技術(shù)。COM/DCOM并沒有真真正實(shí)現(xiàn)現(xiàn)跨平臺(tái)臺(tái),目前前基于COM的軟件較較多,但但沒有運(yùn)運(yùn)行于異異構(gòu)平臺(tái)臺(tái)上的基基于DCOM的分布式式軟件。。COM/DCOM在微軟平平臺(tái)上運(yùn)運(yùn)行情況況較好,,但對(duì)實(shí)實(shí)時(shí)性、、可靠性性等的支支持較少少。COM+技術(shù)規(guī)范范COM+是微軟公公司在COM、DCOM(DistributedCOM)和MTS(MicrosoftTransactionServer)基礎(chǔ)上進(jìn)進(jìn)一步優(yōu)優(yōu)化了組組件管理理環(huán)境與與事務(wù)服服務(wù)[3],提供了了無縫連連接系統(tǒng)統(tǒng)。它以系統(tǒng)統(tǒng)服務(wù)的的形式把把原先一一些分散散的技術(shù)術(shù)綜合起起來,并并提供簡簡單的編編程模型型,以直直接應(yīng)用用層的編編程接口口為應(yīng)用用程序提提供服務(wù)務(wù),使創(chuàng)創(chuàng)建服務(wù)務(wù)器應(yīng)用用就像實(shí)實(shí)現(xiàn)客戶戶應(yīng)用一一樣簡單單。COM+把COM模型推向向了更高高層次,,成為了了企業(yè)級(jí)級(jí)別分布布式軟件件開發(fā)領(lǐng)領(lǐng)域的重重要技術(shù)術(shù)。COM+組件提供供了ASP、ASPServlet、ASPBean等技術(shù),,實(shí)現(xiàn)頁頁面動(dòng)態(tài)態(tài)內(nèi)容的的實(shí)現(xiàn)與與顯示,,ASPServlet運(yùn)行在Web服務(wù)器端端的Servlet程序,支支持多線線程、多多用戶訪訪問,能能完成所所有CGI功能。以SOAP為基礎(chǔ)的的Microsoft的.NET顯現(xiàn)出減減少實(shí)現(xiàn)現(xiàn)RPC的困難,,快速實(shí)實(shí)現(xiàn)互操操作性的的潛力,,使COM+組件可以以與CORBA和Java標(biāo)準(zhǔn)進(jìn)行行通信。。采用MFC(Microsoftfoundationclasslibrary)和ATL(activetemplatelibrary)作為開發(fā)發(fā)工具,,用COM+技術(shù)把模模塊的類類做成動(dòng)動(dòng)態(tài)鏈接接庫(DLL)的形式來來發(fā)布,,可以在在物理上上把模塊塊類的包包裝與客客戶的包包裝脫離離開來。。SOAP通訊協(xié)議議:SimpleObjectAccessProtocol(簡單對(duì)對(duì)象訪問問協(xié)議))的英文文縮寫,,目前已已經(jīng)得到到IBM、Ariba、CommerceOne、SAP、康柏、、惠普等等公司的的支持。。它能夠夠讓不同同應(yīng)用程程序之間間通過HTTP通訊協(xié)議議,以XML格式互相相交換彼彼此的資資料。作作為新生生事物,,SOAP通過建立立HTTP連接隧道道來部署署自己的的協(xié)議::SOAP要求把請(qǐng)請(qǐng)求參數(shù)數(shù)組織在在XML文檔中,,該文檔檔然后被被放到HTTPPOST請(qǐng)求體中中發(fā)送到到運(yùn)行在在Web主機(jī)基于于SOAP的Web服務(wù)。同同樣,現(xiàn)現(xiàn)在正在在做很多多擴(kuò)展SOAP的工作,,使它能能使用其其它的傳傳輸協(xié)議議,例如如HTTPS和SMTP。它包括四四個(gè)部分分:1SOAP封裝(envelop),封裝裝定義了了一個(gè)描描述消息息中的內(nèi)內(nèi)容是什什么,是是誰發(fā)送送的,誰誰應(yīng)當(dāng)接接受并處處理它以以及如何何處理它它們的框框架;2SOAP編碼規(guī)則則(encodingrules),用于于表示應(yīng)應(yīng)用程序序需要使使用的數(shù)數(shù)據(jù)類型型的實(shí)例例;3SOAPRPC表示(RPCrepresentation),表示遠(yuǎn)遠(yuǎn)程過程程4SOAP綁定(binding),使用用底層協(xié)協(xié)議交換換信息EJB技術(shù)規(guī)范范EJB(EnterpriseJavaBeans)是J2EE的核心技技術(shù)之一一,它是建立立基于Java的服務(wù)器器端組件件的標(biāo)準(zhǔn)準(zhǔn)。EJB是以部件件為基礎(chǔ)礎(chǔ)框架,其中每個(gè)個(gè)部件都都是分布布式對(duì)象象,可以擴(kuò)展展,也可以適適配在不不同應(yīng)用用中使用用,大大方便便了企業(yè)業(yè)應(yīng)用開開發(fā)。EJB不局限于于一種特特定的操操作系統(tǒng)統(tǒng),也不局限限于任何何一種特特別的機(jī)機(jī)構(gòu)、服服務(wù)器解解決方案案、中間間件或者者通信協(xié)協(xié)議,是一種可可重用的的具有高高度可移移植性的的組件。。EJB組件模型型包含了了EJB服務(wù)器、、容器、、Home接口、Remote接口等。。三種分布布式組件件對(duì)象模模型的比比較(表表1)三種模型型各有其其優(yōu)勢(shì)::Java由于平臺(tái)臺(tái)無關(guān)性性的優(yōu)勢(shì)勢(shì)顯著,成為理想想的Internet技術(shù);而Windows平臺(tái)的廣廣泛使用用也使COM/DCOM具有深厚厚的基礎(chǔ)礎(chǔ);OMG組織在10幾年來一一直在為為自己的的組件軟軟件建立立標(biāo)準(zhǔn),而且已被被很多組組織和公公司采用用。對(duì)于于異構(gòu)環(huán)環(huán)境下的的企業(yè)應(yīng)應(yīng)用開發(fā)發(fā),CORBA和EJB有著明明顯的的優(yōu)勢(shì)勢(shì),并且CORBA和EJB所依賴賴Java技術(shù)可可以很很好的的互補(bǔ)補(bǔ)。CORBA處理網(wǎng)網(wǎng)絡(luò)透透明性性,EJB處理實(shí)實(shí)現(xiàn)透透明性性。因因此,CORBA和EJB技術(shù)緊緊密結(jié)結(jié)合應(yīng)應(yīng)是今今后多多層分分布式式系統(tǒng)統(tǒng)發(fā)展展的一一大趨趨勢(shì)。?;跇?gòu)構(gòu)件的的軟件件開發(fā)發(fā)過程程領(lǐng)域工工程步步驟-1領(lǐng)域分分析::首先先要進(jìn)進(jìn)行領(lǐng)領(lǐng)域分分析,,收集集領(lǐng)域域中有有代表表性的的應(yīng)用用樣本本,分分析應(yīng)應(yīng)用中中的公公共部部分或或相似似部分分,抽抽取該該領(lǐng)域域的應(yīng)應(yīng)用體體系結(jié)結(jié)構(gòu)建立領(lǐng)領(lǐng)域特特定的的基準(zhǔn)準(zhǔn)體系系結(jié)構(gòu)構(gòu)模型型:在在領(lǐng)域域分析析的基基礎(chǔ)上上,構(gòu)構(gòu)造該該領(lǐng)域域的基基準(zhǔn)體體系結(jié)結(jié)構(gòu),,這個(gè)個(gè)基準(zhǔn)準(zhǔn)體系系結(jié)構(gòu)構(gòu)應(yīng)是是可以以裁剪剪和擴(kuò)擴(kuò)充的的,并并可供供該領(lǐng)領(lǐng)域的的應(yīng)用用復(fù)用用標(biāo)識(shí)候候選構(gòu)構(gòu)件::在領(lǐng)領(lǐng)域分分析和和領(lǐng)域域基準(zhǔn)準(zhǔn)體系系結(jié)構(gòu)構(gòu)模型型的基基礎(chǔ)上上標(biāo)識(shí)識(shí)該領(lǐng)領(lǐng)域的的候選選構(gòu)件件泛化(generalization)和可變變性(variability)分析::提高高其通通用性性,同同時(shí)尋尋找候候選構(gòu)構(gòu)件在在不同同應(yīng)用用中的的變化化點(diǎn)(variationpoint),通過過設(shè)置置參數(shù)數(shù)、繼繼承或或其它它手段段,使使可變變部分分局部部化領(lǐng)域工工程步步驟-2重建構(gòu)構(gòu)件::在泛泛化和和可變變性分分析的的基礎(chǔ)礎(chǔ)上,,重建建構(gòu)件件,使使它成成為可可復(fù)用用構(gòu)件件構(gòu)件的的測試試:對(duì)對(duì)重建建的可可復(fù)用用的構(gòu)構(gòu)件要要嚴(yán)格格測試試,以以提高高其可可靠性性構(gòu)件的的包裝裝:經(jīng)經(jīng)測試試的構(gòu)構(gòu)件應(yīng)應(yīng)根據(jù)據(jù)構(gòu)件件庫的的要求求,對(duì)對(duì)它進(jìn)進(jìn)行包包裝,,以便便構(gòu)件件庫對(duì)對(duì)它分分類儲(chǔ)儲(chǔ)存和和檢索索構(gòu)件入入庫::包裝裝后的的構(gòu)件件即可可存入入構(gòu)件件庫應(yīng)用系系統(tǒng)工工程的的步驟驟-1建立應(yīng)應(yīng)用系系統(tǒng)的的體系系結(jié)構(gòu)構(gòu)模型型:可可以使使用構(gòu)構(gòu)件生生產(chǎn)者者提供供的領(lǐng)領(lǐng)域特特定的的基準(zhǔn)準(zhǔn)體系系結(jié)構(gòu)構(gòu)經(jīng)裁裁剪和和/或擴(kuò)充充而獲獲得尋找候候選構(gòu)構(gòu)件::根據(jù)據(jù)應(yīng)用用系統(tǒng)統(tǒng)的體體系結(jié)結(jié)構(gòu)模模型,,從構(gòu)構(gòu)件庫庫或其其它可可利用用的構(gòu)構(gòu)件源源中尋尋找候候選構(gòu)構(gòu)件評(píng)價(jià)和和選擇擇合適適的構(gòu)構(gòu)件::評(píng)價(jià)價(jià)候選選構(gòu)件件以判判斷是是否適適合于于待開開發(fā)的的軟件件構(gòu)件的的修改改(modify)和特化化(specialize):在復(fù)復(fù)用時(shí)時(shí)對(duì)構(gòu)構(gòu)件進(jìn)進(jìn)行特特化以以滿足足特定定應(yīng)用用的需需要應(yīng)用系系統(tǒng)工工程的的步驟驟-2開發(fā)未未被復(fù)復(fù)用的的部分分:對(duì)對(duì)新系系統(tǒng)中中未復(fù)復(fù)用的的部分分進(jìn)行行開發(fā)發(fā)構(gòu)件的的組裝裝:將將特化化和修修改后后的可可復(fù)用用構(gòu)件件和新新開發(fā)發(fā)的部部分組組裝成成一個(gè)個(gè)新的的軟件件系統(tǒng)統(tǒng)集成測測試::對(duì)組組裝后后的軟軟件系系統(tǒng)進(jìn)進(jìn)行集集成測測試評(píng)價(jià)被被復(fù)用用的構(gòu)構(gòu)件,,并推推薦可可能的的新構(gòu)構(gòu)件CBSD對(duì)質(zhì)量量、生生產(chǎn)率率和成成本的的影響響對(duì)質(zhì)量量的影影響::隨著著長期期的測測試和和使用用,構(gòu)構(gòu)件能能夠保保證很很高的的質(zhì)量量,因因此可可以使使系統(tǒng)統(tǒng)開發(fā)發(fā)的質(zhì)質(zhì)量得得到保保證對(duì)生產(chǎn)產(chǎn)率的的影響響:一一般來來說,,大約約30%~50%的復(fù)用用可使使生產(chǎn)產(chǎn)率提提高25%~40%對(duì)成本本的影影響與復(fù)用用相關(guān)關(guān)的成成本應(yīng)應(yīng)由多多個(gè)采采用復(fù)復(fù)用技技術(shù)的的項(xiàng)目目來分分擔(dān)通常要要經(jīng)過過2~3個(gè)采用用復(fù)用用的生生產(chǎn)周周期(大約3年左右右)復(fù)用才才能帶帶來顯顯著的的效益益內(nèi)容摘摘要基于構(gòu)構(gòu)件的的軟件件開發(fā)發(fā)概述述建造可可復(fù)用用構(gòu)件件應(yīng)用系系統(tǒng)工工程構(gòu)件的的管理理小結(jié)建造可可復(fù)用用構(gòu)件件建造構(gòu)構(gòu)件的的目的的是為為了以以后復(fù)復(fù)用構(gòu)構(gòu)件,,即為為復(fù)用用而建建造構(gòu)構(gòu)件在建造造構(gòu)件件時(shí)仍仍應(yīng)遵遵循抽抽象、、逐步步求精精、信信息隱隱蔽、、功能能獨(dú)立立、結(jié)結(jié)構(gòu)化化程序序設(shè)計(jì)計(jì)等思思想和和原則則由于面面向?qū)?duì)象方方法具具有封封裝性性、繼繼承等等特點(diǎn)點(diǎn),能能有力力地支支持復(fù)復(fù)用,,所以以應(yīng)盡盡可能能考慮慮采用用面向向?qū)ο笙蠓椒ǚ▽?duì)可復(fù)復(fù)用構(gòu)構(gòu)件的的要求求構(gòu)件的的設(shè)計(jì)計(jì)應(yīng)具具有較較高的的通用用程度度構(gòu)件應(yīng)應(yīng)易于于調(diào)整整構(gòu)件應(yīng)應(yīng)易于于組裝裝構(gòu)件必必須具具有可可檢索索性構(gòu)件必必須經(jīng)經(jīng)過充充分的的測試試創(chuàng)建領(lǐng)領(lǐng)域構(gòu)構(gòu)件的的設(shè)計(jì)計(jì)框架架除應(yīng)遵遵循已已有的的設(shè)計(jì)計(jì)概念念和原原則外外,還還必須須考慮慮應(yīng)用用領(lǐng)域域的特特征,,例如如:標(biāo)準(zhǔn)數(shù)數(shù)據(jù)::應(yīng)該該研究究應(yīng)用用領(lǐng)域域,并并標(biāo)識(shí)識(shí)出標(biāo)標(biāo)準(zhǔn)的的全局局?jǐn)?shù)據(jù)據(jù)結(jié)構(gòu)構(gòu)(如文件件結(jié)構(gòu)構(gòu)或完完整的的數(shù)據(jù)據(jù)庫)。于是所有有設(shè)計(jì)的構(gòu)構(gòu)件都可以以用這些標(biāo)標(biāo)準(zhǔn)數(shù)據(jù)結(jié)結(jié)構(gòu)來刻畫畫標(biāo)準(zhǔn)接口協(xié)協(xié)議:應(yīng)該該建立三個(gè)個(gè)層次的接接口協(xié)議::構(gòu)件內(nèi)(intramodular)接口、構(gòu)件件外接口以以及人機(jī)接接口程序模板::程序的結(jié)結(jié)構(gòu)模型可可以作為新新程序的體體系結(jié)構(gòu)設(shè)設(shè)計(jì)的模板板可變性分析析構(gòu)件應(yīng)具有有較強(qiáng)的通通用性和可可變性為了滿足不不同的復(fù)用用需求,需需要在構(gòu)件件復(fù)用時(shí)可可能發(fā)生變變化的一個(gè)個(gè)或多個(gè)位位置上標(biāo)識(shí)識(shí)變化點(diǎn)(variationpoint),同時(shí)為變變化點(diǎn)附加加一個(gè)或多多個(gè)變體(variant)例如Account構(gòu)件的帳號(hào)號(hào)編碼規(guī)則則以及透支支規(guī)則在不不同的國家家可能不一一樣·VP1·VP2CVP1descriptioncontext構(gòu)件系統(tǒng)中中的門面和和變體可變性機(jī)制制繼承:在變變化點(diǎn)上創(chuàng)創(chuàng)建指定抽抽象類型或或抽象類的的子類型或或子類。擴(kuò)展和擴(kuò)展展點(diǎn):可以以在用況和和對(duì)象構(gòu)件件中的變化化點(diǎn)(或擴(kuò)展點(diǎn))上附加變體體(或擴(kuò)展)參數(shù)化:用用于模板、、框架和宏宏的類型和和類適用于變體體較小時(shí)(經(jīng)常是一個(gè)個(gè)數(shù)值、短短語或表達(dá)達(dá)式)內(nèi)容摘要基于構(gòu)件的的軟件開發(fā)發(fā)概述建造可復(fù)用用構(gòu)件應(yīng)用系統(tǒng)工工程構(gòu)件的管理理小結(jié)應(yīng)用系統(tǒng)工工程任務(wù):通過過組裝可復(fù)復(fù)用構(gòu)件得得到應(yīng)用系系統(tǒng)CBSD中構(gòu)件是組組成應(yīng)用系系統(tǒng)的基本本單元注重體系結(jié)結(jié)構(gòu)和構(gòu)件件接口的分分析和設(shè)計(jì)計(jì),忽略構(gòu)構(gòu)件內(nèi)部實(shí)實(shí)現(xiàn)的設(shè)計(jì)計(jì)關(guān)注接口的的設(shè)計(jì)接口是構(gòu)件件行為的描描述機(jī)制,,并提供了了對(duì)其服務(wù)務(wù)的訪問供應(yīng)接口(Providedinterface):描述構(gòu)件件所提供的的服務(wù),可可以被其它它構(gòu)件訪問問請(qǐng)求接口(requivedinterface):請(qǐng)求接口口描述構(gòu)件件為完成其其功能(服務(wù))需請(qǐng)求其它它構(gòu)件為其其提供的服服務(wù)一個(gè)接口可可以有多種種實(shí)現(xiàn),并并且對(duì)使用用者隱蔽接口描述是是構(gòu)件使用用者能依賴賴的所有信信息,因此此構(gòu)件接口口描述的表表達(dá)能力和和完整性是是CBSD方法主要關(guān)關(guān)注的問題題之一基于構(gòu)件的的體系結(jié)構(gòu)構(gòu)基于構(gòu)件的的應(yīng)用系統(tǒng)統(tǒng)體系結(jié)構(gòu)構(gòu)描述了組成成應(yīng)用系統(tǒng)統(tǒng)的構(gòu)件,,構(gòu)件之間間的組織結(jié)結(jié)構(gòu)、交互互、約束和和關(guān)系對(duì)系統(tǒng)的組組成、結(jié)構(gòu)構(gòu)以及系統(tǒng)統(tǒng)如何工作作的較為宏宏觀的描述述如果在領(lǐng)域域工程中已已開發(fā)了領(lǐng)領(lǐng)域基準(zhǔn)體體系結(jié)構(gòu)(referencearchitecture),則可以通通過對(duì)基準(zhǔn)準(zhǔn)體系結(jié)構(gòu)構(gòu)的剪裁和和/或擴(kuò)充獲得得應(yīng)用系統(tǒng)統(tǒng)的體系結(jié)結(jié)構(gòu)基于構(gòu)件的的體系結(jié)構(gòu)構(gòu)層次邏輯體系結(jié)結(jié)構(gòu)以接口形式式對(duì)每組服服務(wù)進(jìn)行描描述,并描描述那些包包怎樣交互互來滿足通通常的用戶戶使用場景景展示了系統(tǒng)統(tǒng)設(shè)計(jì)的藍(lán)藍(lán)圖,可用用于驗(yàn)證系系統(tǒng)是否提提供了適當(dāng)當(dāng)?shù)墓δ?,,并能在系系統(tǒng)功能需需求變化時(shí)時(shí)方便地改改變系統(tǒng)的的設(shè)計(jì)物理體系結(jié)結(jié)構(gòu)描述系統(tǒng)的的物理設(shè)計(jì)計(jì),包括硬硬件及其拓拓?fù)浣Y(jié)構(gòu)、、網(wǎng)絡(luò)和通通信協(xié)議、、基礎(chǔ)設(shè)施施(如運(yùn)行平臺(tái)臺(tái)、中間件件、數(shù)據(jù)庫庫管理系統(tǒng)統(tǒng)等),以及軟件件系統(tǒng)的部部署展示了系統(tǒng)統(tǒng)的實(shí)現(xiàn)構(gòu)構(gòu)架,有助助于理解系系統(tǒng)的許多多非功能屬屬性,如性性能、吞吐吐量、服務(wù)務(wù)的可用性性等基于構(gòu)件的的應(yīng)用系統(tǒng)統(tǒng)開發(fā)方法法Rationel統(tǒng)一過程Rational’’sUnifiedProcess,簡簡稱稱RUP一個(gè)個(gè)關(guān)關(guān)于于軟軟件件開開發(fā)發(fā)的的廣廣泛泛的的過過程程框框架架,,覆覆蓋蓋了了整整個(gè)個(gè)軟軟件件生生命命周周期期使用用UML進(jìn)行行分分析析和和設(shè)設(shè)計(jì)計(jì)建建模模,,鼓鼓勵(lì)勵(lì)使使用用CBSD方法法TheSelectPerspectiveMethod支持持通通用用的的構(gòu)構(gòu)件件設(shè)設(shè)計(jì)計(jì)方方法法,,并并以以SelectComponentManager為目目標(biāo)標(biāo)通用用構(gòu)構(gòu)件件設(shè)設(shè)計(jì)計(jì)準(zhǔn)準(zhǔn)則則使使用用UML作為為構(gòu)構(gòu)件件設(shè)設(shè)計(jì)計(jì)符符號(hào)號(hào)SterlingSoftware的Enterprise-CBD方法法鼓勵(lì)勵(lì)使使用用UML的擴(kuò)擴(kuò)展展形形式式把把構(gòu)構(gòu)件件的的規(guī)規(guī)格格說說明明和和實(shí)實(shí)現(xiàn)現(xiàn)分分離離允許許制制作作技技術(shù)術(shù)中中立立的的規(guī)規(guī)格格說說明明,,然然后后再再使使用用不不同同的的實(shí)實(shí)現(xiàn)現(xiàn)技技術(shù)術(shù)來來實(shí)實(shí)現(xiàn)現(xiàn)規(guī)規(guī)格格說說明明共同同點(diǎn)點(diǎn)::關(guān)關(guān)注注構(gòu)構(gòu)件件庫庫中中的的構(gòu)構(gòu)件件、、接接口口的的設(shè)設(shè)計(jì)計(jì)和和基基于于構(gòu)構(gòu)件件構(gòu)構(gòu)架架的的應(yīng)應(yīng)用用程程序序組組裝裝構(gòu)件件鑒鑒定定(qualification)目的的::確確保保獲獲得得的的構(gòu)構(gòu)件件可可以以完完成成所所需需的的功功能能并并能能被被集集成成在在系系統(tǒng)統(tǒng)中中與與系系統(tǒng)統(tǒng)的的其其它它構(gòu)構(gòu)件件正正確確交交互互主要要依依據(jù)據(jù)是是構(gòu)構(gòu)件件的的接接口口描描述述和和相相關(guān)關(guān)的的規(guī)規(guī)格格說說明明,,但但這這些些信信息息往往往往還還不不足足以以確確保保構(gòu)構(gòu)件件能能成成功功地地集集成成到到系系統(tǒng)統(tǒng)中中對(duì)于于外外部部提提供供的的成成品品構(gòu)構(gòu)件件(COTS)可通通過過運(yùn)運(yùn)行行構(gòu)構(gòu)件件測測試試版版進(jìn)進(jìn)行行鑒鑒定定構(gòu)件件鑒鑒定定需需考考慮慮的的因因素素應(yīng)用用編編程程接接口口(API)該構(gòu)構(gòu)件件所所需需的的開開發(fā)發(fā)和和集集成成工工具具運(yùn)行行時(shí)時(shí)需需求求,,包包括括使使用用的的資資源源(如內(nèi)內(nèi)存存或或存存儲(chǔ)儲(chǔ)器器)、時(shí)時(shí)間間或或速速度度以以及及網(wǎng)網(wǎng)絡(luò)絡(luò)協(xié)協(xié)議議服務(wù)務(wù)需需求求,,包包括括操操作作系系統(tǒng)統(tǒng)接接口口和和來來自自其其他他構(gòu)構(gòu)件件的的支支持持安全全特特征征,,包包括括訪訪問問控控制制和和身身份份驗(yàn)驗(yàn)證證協(xié)協(xié)議議嵌入入式式設(shè)設(shè)計(jì)計(jì)假假定定,,包包括括特特定定的的數(shù)數(shù)值值或或非非數(shù)數(shù)值值算算法法的的使使用用異常常處處理理構(gòu)件件的的特特化化和和組組裝裝構(gòu)件件特特化化根據(jù)據(jù)應(yīng)應(yīng)用用系系統(tǒng)統(tǒng)的的具具體體情情況況對(duì)對(duì)其其進(jìn)進(jìn)行行特特化化,,對(duì)對(duì)變變化化點(diǎn)點(diǎn)配配置置特特定定的的變變體體,,必必要要時(shí)時(shí)要要自自行行開開發(fā)發(fā)變變體體如果所選的構(gòu)構(gòu)件不能完全全滿足應(yīng)用系系統(tǒng)的功能需需求,還需對(duì)對(duì)構(gòu)件作適當(dāng)當(dāng)?shù)男薷娜绻x的構(gòu)構(gòu)件未按構(gòu)件件標(biāo)準(zhǔn)開發(fā)(如遺產(chǎn)系統(tǒng)中中抽取的構(gòu)件件)時(shí),還需按某某種構(gòu)件標(biāo)準(zhǔn)準(zhǔn)對(duì)其進(jìn)行包包裝構(gòu)件組裝將經(jīng)過鑒定和和特化后的構(gòu)構(gòu)件組裝成應(yīng)應(yīng)用系統(tǒng)提倡使用構(gòu)件件組裝工具來來組裝應(yīng)用系系統(tǒng)(能檢查接口匹匹配中的錯(cuò)誤誤,實(shí)現(xiàn)組裝裝的自動(dòng)化或或半自動(dòng)化)內(nèi)容摘要基于構(gòu)件的軟軟件開發(fā)概述述建造可復(fù)用構(gòu)構(gòu)件應(yīng)用系統(tǒng)工程程構(gòu)件的管理小結(jié)構(gòu)件的管理構(gòu)件的分類描描述對(duì)構(gòu)件庫中的的構(gòu)件進(jìn)行合合理的分類和和組織,幫助助軟件開發(fā)人人員方便地找找到所需要的的構(gòu)件大多數(shù)的研究究都建議使用用圖書館科學(xué)學(xué)索引方法進(jìn)進(jìn)行構(gòu)件分類類構(gòu)件庫管理系系統(tǒng):主要用用于構(gòu)件的儲(chǔ)儲(chǔ)存、檢索、、瀏覽和管理理常用的構(gòu)件分分類模式-1枚舉分類(EnumeratedClassification)將構(gòu)件組織成成分類層次結(jié)結(jié)構(gòu),構(gòu)件庫庫中的構(gòu)件按按某些性質(zhì)分分成若干大類類,每個(gè)大類類又分成若干干較小的類,,經(jīng)過若干次次分解,形成成構(gòu)件分類的的層次結(jié)構(gòu),,實(shí)際的構(gòu)件件位于層次結(jié)結(jié)構(gòu)的最低層層,其它層次次則表示構(gòu)件件的類或子類類枚舉分類模式式的分層結(jié)構(gòu)構(gòu)易于理解和和檢索,但是是,在建立層層次結(jié)構(gòu)之前前,必須進(jìn)行行領(lǐng)域分析,,尋找合適的的供分類的性性質(zhì)。屬性—值分類(Attribute_ValueClassification)為所有構(gòu)件定定義一組屬性性,每個(gè)構(gòu)件件都具有一組組屬性值,開開發(fā)人員通過過指定一組屬屬性值對(duì)構(gòu)件件庫檢索與刻面分類方方法非常類似似,不同點(diǎn)在在于:屬性—值分類法對(duì)可可使用的屬性性數(shù)量沒有限限制;屬性沒沒有優(yōu)先級(jí);;不使用同義義詞常用的構(gòu)件分分類模式-2刻面分類(FacetedClassification)根據(jù)一組刻面面對(duì)構(gòu)件分類類,每個(gè)刻面面從不同的側(cè)側(cè)面對(duì)構(gòu)件庫庫中的構(gòu)件進(jìn)進(jìn)行分類,并并根據(jù)重要性性設(shè)置刻面的的優(yōu)先級(jí)每個(gè)刻面由一一組術(shù)語(term)構(gòu)成,稱之為術(shù)語空空間(termspace),這些術(shù)語通通常是描述性性的關(guān)鍵詞檢索:用戶通通過指定一組組刻面的術(shù)語語值尋找匹配配的構(gòu)件使用同義詞詞詞典(thesaurus)解決用戶指定定的術(shù)語值與與庫中構(gòu)件所所對(duì)應(yīng)的術(shù)語語值之間的不不一致問題評(píng)價(jià):具有較較好的靈活性性,易于加入入新的刻面值值,比枚舉分分類模式易于于擴(kuò)展和修改改構(gòu)件庫管理系系統(tǒng)的主要功功能構(gòu)件的分類存存儲(chǔ)(即添加構(gòu)件):根據(jù)構(gòu)件庫庫的分類模型型將入庫的構(gòu)構(gòu)件儲(chǔ)存在構(gòu)構(gòu)件庫中構(gòu)件檢索:從從構(gòu)件庫中檢檢索出滿足用用戶要求或接接近用戶要求求的構(gòu)件.構(gòu)件庫瀏覽::瀏覽庫中的的全部或部分分構(gòu)件刪除構(gòu)件:將將不再使用的的構(gòu)件從構(gòu)件件庫中刪去構(gòu)件使用情況況評(píng)價(jià):根據(jù)據(jù)用戶使用和和檢索構(gòu)件的的反饋意見對(duì)對(duì)構(gòu)件作出評(píng)評(píng)價(jià),為進(jìn)一一步的改進(jìn)提提供依據(jù)構(gòu)件的描述和和檢索構(gòu)件庫管理系系統(tǒng)的兩個(gè)關(guān)關(guān)鍵技術(shù)直接影響到構(gòu)構(gòu)件庫檢索的的查準(zhǔn)率(precision)、查全率(recall)和效率(efficient)常用的構(gòu)件檢檢索方法規(guī)約匹配:基基于有序的謂謂詞邏輯的匹匹配,通過謂謂詞演算公式式進(jìn)行精確匹匹配,通過邏輯連接接符和邏輯量量詞進(jìn)行部分分精確匹配特征(signature)匹配:通過接接口的定義進(jìn)進(jìn)行匹配,適適用于函數(shù)之之類的構(gòu)件術(shù)語輪廓匹配配:基于構(gòu)件件編目描述語語言的匹配,,將每一個(gè)構(gòu)構(gòu)件的編目描描述作為該構(gòu)構(gòu)件的一個(gè)特特征矢量,通通過測算矢量量的距離進(jìn)行行匹配行為采樣:基基于構(gòu)件測試試的匹配,根根據(jù)測試結(jié)果果相同的概率率進(jìn)行匹配內(nèi)容摘要基于構(gòu)件的軟軟件開發(fā)概述述建造可復(fù)用構(gòu)構(gòu)件應(yīng)用系統(tǒng)工程程構(gòu)件的管理小結(jié)小結(jié)基于構(gòu)件的軟軟件開發(fā)(CBSD)是20世紀(jì)90年代開始流行行的開發(fā)方法法。CBSD支持軟件復(fù)用用,能有效提提高軟件的開開發(fā)效率和質(zhì)質(zhì)量,降低開開發(fā)和維護(hù)成成本,因此受受到人們的關(guān)關(guān)注。本章內(nèi)容:基基于構(gòu)件的軟軟件開發(fā)的概概念、領(lǐng)域工工程過程和應(yīng)應(yīng)用系統(tǒng)工程程過程、可復(fù)復(fù)用構(gòu)件的建建造、基于CBSD的應(yīng)用系統(tǒng)分分析和設(shè)計(jì)、、以及構(gòu)件的的管理Serplogic青鳥軟件構(gòu)件件庫管理系統(tǒng)統(tǒng)—JBCLMS../Main.do系統(tǒng)特特點(diǎn):1系統(tǒng)采采用基基于B/S的多層層體系系結(jié)構(gòu)構(gòu);2采用分分布式式的應(yīng)應(yīng)用架架構(gòu);;3完全支支持UDDIV2.0標(biāo)準(zhǔn)規(guī)規(guī)范;;4采用J2EEV2.0,基于于EJB技術(shù),,具有有較強(qiáng)強(qiáng)的靈靈5活性和和擴(kuò)充充性;;6支持刻刻面分分類等等多種種分類類模式式;7提出并并采用用基于于角色色的用用戶管管理機(jī)機(jī)制,,使系系統(tǒng)具具;8有靈活活的權(quán)權(quán)限分分配和和安全全的控控制方方式。。系統(tǒng)功功能::1提供分分布式式構(gòu)件件及其其服務(wù)務(wù)的注注冊(cè)、、發(fā)布布、查查詢、、管理理等功功能,,提供供構(gòu)件件管理理信息息與實(shí)實(shí)體的的有效效管理理平臺(tái)臺(tái);2實(shí)現(xiàn)軟軟件構(gòu)構(gòu)件庫庫中構(gòu)構(gòu)件管管理與與構(gòu)件件服務(wù)務(wù)的集集成,,軟件件資產(chǎn)產(chǎn)與構(gòu)構(gòu)件服服務(wù)的的集成成;3結(jié)合配配置管管理技技術(shù),,對(duì)構(gòu)構(gòu)件的的構(gòu)造造性和和演化化性進(jìn)進(jìn)行支支持;;4以UDDIRegistry(UDDI注冊(cè)中中心))形式式對(duì)Webservices形態(tài)的的構(gòu)件件提供供有效效管理理支持持,并并對(duì)外外界提提供服服務(wù);;5提供以以刻面面分類類為主主,結(jié)結(jié)合多多種標(biāo)標(biāo)準(zhǔn)的的分類類方法法對(duì)構(gòu)構(gòu)件庫庫中大大量構(gòu)構(gòu)件進(jìn)進(jìn)行有有效的的管理理;6供多樣樣化的的檢索索機(jī)制制,用用戶可可以更更加靈靈活地地查找找構(gòu)件件;7實(shí)行基基于角角色的的用戶戶管理理,提提供更更靈活活的訪訪問控控制機(jī)機(jī)制。。構(gòu)件是是構(gòu)件件庫中中最重重要的的實(shí)體體信息息。構(gòu)構(gòu)件((component)是指指在應(yīng)應(yīng)用系系統(tǒng)中中可以以明確確辨別別的構(gòu)構(gòu)成部部分。。構(gòu)件::構(gòu)件件概念念信息息和構(gòu)構(gòu)件實(shí)實(shí)體信信息。。構(gòu)件概概念信信息描描述構(gòu)構(gòu)件基基本屬屬性的的信息息,包包括構(gòu)構(gòu)件名名稱、、分類類信息息、屬屬性信信息等等,用用于理理解和和搜索索定位位構(gòu)件件。構(gòu)件實(shí)實(shí)體信信息。。獲取取構(gòu)件件實(shí)體體的描描述、、訪問問地址址、符符合的的規(guī)范范等信信息。。分類模模式((taxonomy)

溫馨提示

  • 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)論