版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件方法學(xué)
第4章:面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)軟件方法學(xué)第4章:面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)基于構(gòu)件的軟件開發(fā)目標(biāo)長期以來的軟件開發(fā)狀況多數(shù)軟件都是針對某個具體的應(yīng)用系統(tǒng)從頭進行開發(fā)的導(dǎo)致:出現(xiàn)了大量的同類軟件重復(fù)開發(fā),造成大量人力、財力的浪費,而且軟件的質(zhì)量也不高對比:汽車工業(yè)的生產(chǎn)模式在已有的部件基礎(chǔ)上通過組裝進行生產(chǎn):有專門的部件生產(chǎn)工廠,汽車設(shè)計者在設(shè)計中選擇市場上已有的合適的部件避免了大量的重復(fù)勞動,提高了產(chǎn)品質(zhì)量和生產(chǎn)效率,促進分工合作我們的目標(biāo):將制造業(yè)中的組裝式生產(chǎn)模式引入到軟件開發(fā)中基于構(gòu)件的軟件開發(fā)目標(biāo)長期以來的軟件開發(fā)狀況內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述建造可復(fù)用構(gòu)件應(yīng)用系統(tǒng)工程構(gòu)件的管理小結(jié)內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述建造可復(fù)用構(gòu)件應(yīng)用系統(tǒng)工程構(gòu)件的管理小結(jié)內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述基于構(gòu)件的軟件開發(fā)基于構(gòu)件的軟件開發(fā)Component-BasedSoftwareDevelopment簡稱CBSD是指使用可復(fù)用構(gòu)件來開發(fā)應(yīng)用軟件基于構(gòu)件的軟件工程Component-BasedSoftwareEngineering簡稱CBSE基于構(gòu)件的軟件開發(fā)基于構(gòu)件的軟件開發(fā)構(gòu)件(Component)的典型定義Pressman書中的定義:構(gòu)件是某系統(tǒng)中有價值的、幾乎獨立的并可替換的一個部分,它在良好定義的體系結(jié)構(gòu)語境內(nèi)滿足某清晰的功能Brown的定義:構(gòu)件是一個獨立發(fā)布的功能部分,可以通過其接口訪問它的服務(wù)“計算機科學(xué)技術(shù)百科全書”的定義:軟件構(gòu)件是軟件系統(tǒng)中具有相對獨立功能,可以明確標(biāo)識,接口由規(guī)約指定,與語境有明顯依賴關(guān)系,可獨立部署,且多由第三方提供的可組裝軟件實體;軟件構(gòu)件須承載有用的功能,并遵循某種構(gòu)件模型;可復(fù)用構(gòu)件是指具有可復(fù)用價值的構(gòu)件構(gòu)件(Component)的典型定義Pressman書中的定商用成品構(gòu)件Commercialoff-the-shelf簡稱COTS指由第三方開發(fā)的滿足一定構(gòu)件標(biāo)準(zhǔn)的,可組裝的軟件構(gòu)件商用成品構(gòu)件Commercialoff-the-shelf構(gòu)件的要素規(guī)格說明:建立在接口概念之上,作為服務(wù)提供方與客戶方之間的契約一個或多個實現(xiàn)受約束的構(gòu)件標(biāo)準(zhǔn)包裝方法部署方法構(gòu)件的要素規(guī)格說明:建立在接口概念之上,作為服務(wù)提供方與客戶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):概念的具體實現(xiàn),描述構(gòu)件如何完成概念所刻畫的功能周境(context):描述構(gòu)件和外圍環(huán)境在概念級和內(nèi)容級的關(guān)系,刻畫構(gòu)件的應(yīng)用環(huán)境,為構(gòu)件的選用和適應(yīng)性修改提供指導(dǎo)3C構(gòu)件模型關(guān)于構(gòu)件的一個指導(dǎo)性模型REBOOT構(gòu)件模型REBOOT(ReuseBasedonObject_OrientedTechnology):基于面向?qū)ο蠹夹g(shù)的復(fù)用一種基于刻面(facet)的模型刻面:對領(lǐng)域進行分析,所得到的一組基本的描述特征刻面可以描述構(gòu)件執(zhí)行的功能、所操作的數(shù)據(jù)、構(gòu)件應(yīng)用的周境或任何其它特征通常的刻面描述限制在不超過7或8個刻面一個構(gòu)件通常包括以下刻面:抽象(abstraction):它是構(gòu)件概念的抽象性描述操作(operation):它是構(gòu)件所提供的操作的描述操作對象(operand):它描述操作的對象依賴(dependency):它描述構(gòu)件與外界的依賴關(guān)系REBOOT構(gòu)件模型REBOOT(ReuseBasedo常用的構(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)的基本機制COM+微軟開發(fā)的一個構(gòu)件對象模型,提供了在運行于Windows操作系統(tǒng)之上的單個應(yīng)用中使用不同廠商生產(chǎn)的對象的規(guī)約EJB:一種基于Java的構(gòu)件標(biāo)準(zhǔn)提供了讓客戶端使用遠程的分布式對象的框架EJB規(guī)約規(guī)定了EJB構(gòu)件如何與EJB容器進行行交互常用的構(gòu)件標(biāo)準(zhǔn)CORBA(公共對象請求代理體系結(jié)構(gòu))面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)研討課件
CORBA技術(shù)規(guī)范CORBA是OMG組織在1991年提出的公用對象請求代理程序結(jié)構(gòu)技術(shù)規(guī)范。CORBA的底層結(jié)構(gòu)是基于面向?qū)ο竽P偷哪K組成:1接口描述語言(OMGInterfaceDefinitionLanguage,OMGIDL)、2對象請求代理(ObjectRequestBroker,ORB)3IIOP標(biāo)準(zhǔn)協(xié)議(InternetInter-ORBProtocol)使用接口描述語言編寫的對象接口,使得與語言無關(guān)的獨立性成為可能。IDL使得所有CORBA對象以一種方式被描述,僅僅需要一個由語言(C/C++、CORBA或Java)到IDL的“橋梁”。CORBA對象的互通要以對象請求代理為中介,這種互通信可以在多種流行通信協(xié)議之上實現(xiàn)。在TCP/IP上,來自于不同開發(fā)商的ORB用IIOP標(biāo)準(zhǔn)協(xié)議進行通訊。CORBA技術(shù)規(guī)范面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)研討課件
COM/DCOM技術(shù)規(guī)范COM(ComponentObjectModel,組件對象模型)是Microsoft軟件組件標(biāo)準(zhǔn),是構(gòu)造二進制兼容軟件組件的規(guī)范。COM的體系結(jié)構(gòu)包括統(tǒng)一數(shù)據(jù)傳輸、持久存儲和智能命名、COM核心等。其中:1COM核心:包括服務(wù)控制管理、接口代理、接口基和COM庫。COM核心定義了COM對象與使用者如何通過二進制標(biāo)準(zhǔn)接口進行交換的規(guī)格說明。
2持久存儲::通過Istorage和Istream接口提供一個“文件系統(tǒng)”。
3智能命名:通過對象實現(xiàn)接口,使用戶可以在以后重新連接一個指定的對象實例,并且使對象實例仍保持原來的狀態(tài),另外還提供保存它們名字和其它持久信息的機制。COM庫提供對所有客戶及組件都非常有用的組件管理服務(wù)。DCOM是COM的分布式擴展,Microsoft把DCOM作為開發(fā)Internet和組件的基礎(chǔ)。當(dāng)客戶和組件位于不同機器時,DCOM用TCP/IP協(xié)議等取代COM中的本地進程間通信LRPC,從而對位于Internet不同機器上的組件對象之間的相互通訊提供了透明的支持。COM/DCOM技術(shù)規(guī)范面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)研討課件目前可以支持DCOM部件開發(fā)的編程語言很多,如Java、VisualC++/VisualBasic、Delphi、PowerBuilder等,具有較好的集成性和擴展性。微軟的許多其它軟件如OLE、OLEDB、ADO都是基于COM/DCOM技術(shù)。COM/DCOM并沒有真正實現(xiàn)跨平臺,目前基于COM的軟件較多,但沒有運行于異構(gòu)平臺上的基于DCOM的分布式軟件。COM/DCOM在微軟平臺上運行情況較好,但對實時性、可靠性等的支持較少。目前可以支持DCOM部件開發(fā)的編程語言很多,如Java、VCOM+技術(shù)規(guī)范COM+是微軟公司在COM、DCOM(DistributedCOM)和MTS(MicrosoftTransactionServer)基礎(chǔ)上進一步優(yōu)化了組件管理環(huán)境與事務(wù)服務(wù)[3],提供了無縫連接系統(tǒng)。它以系統(tǒng)服務(wù)的形式把原先一些分散的技術(shù)綜合起來,并提供簡單的編程模型,以直接應(yīng)用層的編程接口為應(yīng)用程序提供服務(wù),使創(chuàng)建服務(wù)器應(yīng)用就像實現(xiàn)客戶應(yīng)用一樣簡單。COM+把COM模型推向了更高層次,成為了企業(yè)級別分布式軟件開發(fā)領(lǐng)域的重要技術(shù)。COM+技術(shù)規(guī)范COM+組件提供了ASP、ASPServlet、ASPBean等技術(shù),實現(xiàn)頁面動態(tài)內(nèi)容的實現(xiàn)與顯示,ASPServlet運行在Web服務(wù)器端的Servlet程序,支持多線程、多用戶訪問,能完成所有CGI功能。以SOAP為基礎(chǔ)的Microsoft的.NET顯現(xiàn)出減少實現(xiàn)RPC的困難,快速實現(xiàn)互操作性的潛力,使COM+組件可以與CORBA和Java標(biāo)準(zhǔn)進行通信。采用MFC(Microsoftfoundationclasslibrary)和ATL(activetemplatelibrary)作為開發(fā)工具,用COM+技術(shù)把模塊的類做成動態(tài)鏈接庫(DLL)的形式來發(fā)布,可以在物理上把模塊類的包裝與客戶的包裝脫離開來。COM+組件提供了ASP、ASPServlet、ASPBSOAP通訊協(xié)議:SimpleObjectAccessProtocol(簡單對象訪問協(xié)議)的英文縮寫,目前已經(jīng)得到IBM、Ariba、CommerceOne、SAP、康柏、惠普等公司的支持。它能夠讓不同應(yīng)用程序之間通過HTTP通訊協(xié)議,以XML格式互相交換彼此的資料。作為新生事物,SOAP通過建立HTTP連接隧道來部署自己的協(xié)議:SOAP要求把請求參數(shù)組織在XML文檔中,該文檔然后被放到HTTPPOST請求體中發(fā)送到運行在Web主機基于SOAP的Web服務(wù)。同樣,現(xiàn)在正在做很多擴展SOAP的工作,使它能使用其它的傳輸協(xié)議,例如HTTPS和SMTP。它包括四個部分:1SOAP封裝(envelop),封裝定義了一個描述消息中的內(nèi)容是什么,是誰發(fā)送的,誰應(yīng)當(dāng)接受并處理它以及如何處理它們的框架;2SOAP編碼規(guī)則(encodingrules),用于表示應(yīng)用程序需要使用的數(shù)據(jù)類型的實例;3SOAPRPC表示(RPCrepresentation),表示遠程過程4SOAP綁定(binding),使用底層協(xié)議交換信息SOAP通訊協(xié)議:SimpleObjectAccess
EJB技術(shù)規(guī)范EJB(EnterpriseJavaBeans)是J2EE的核心技術(shù)之一,它是建立基于Java的服務(wù)器端組件的標(biāo)準(zhǔn)。EJB是以部件為基礎(chǔ)框架,其中每個部件都是分布式對象,可以擴展,也可以適配在不同應(yīng)用中使用,大大方便了企業(yè)應(yīng)用開發(fā)。EJB不局限于一種特定的操作系統(tǒng),也不局限于任何一種特別的機構(gòu)、服務(wù)器解決方案、中間件或者通信協(xié)議,是一種可重用的具有高度可移植性的組件。EJB組件模型包含了EJB服務(wù)器、容器、Home接口、Remote接口等。EJB技術(shù)規(guī)范三種分布式組件對象模型的比較(表1)三種分布式組件對象模型的比較(表1)面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)研討課件三種模型各有其優(yōu)勢:
Java由于平臺無關(guān)性的優(yōu)勢顯著,成為理想的Internet技術(shù);而Windows平臺的廣泛使用也使COM/DCOM具有深厚的基礎(chǔ);OMG組織在10幾年來一直在為自己的組件軟件建立標(biāo)準(zhǔn),而且已被很多組織和公司采用。對于異構(gòu)環(huán)境下的企業(yè)應(yīng)用開發(fā),CORBA和EJB有著明顯的優(yōu)勢,并且CORBA和EJB所依賴Java技術(shù)可以很好的互補。CORBA處理網(wǎng)絡(luò)透明性,EJB處理實現(xiàn)透明性。因此,CORBA和EJB技術(shù)緊密結(jié)合應(yīng)是今后多層分布式系統(tǒng)發(fā)展的一大趨勢。三種模型各有其優(yōu)勢:基于構(gòu)件的軟件開發(fā)過程基于構(gòu)件的軟件開發(fā)過程領(lǐng)域工程步驟-1領(lǐng)域分析:首先要進行領(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),這個基準(zhǔn)體系結(jié)構(gòu)應(yīng)是可以裁剪和擴充的,并可供該領(lǐng)域的應(yīng)用復(fù)用標(biāo)識候選構(gòu)件:在領(lǐng)域分析和領(lǐng)域基準(zhǔn)體系結(jié)構(gòu)模型的基礎(chǔ)上標(biāo)識該領(lǐng)域的候選構(gòu)件泛化(generalization)和可變性(variability)分析:提高其通用性,同時尋找候選構(gòu)件在不同應(yīng)用中的變化點(variationpoint),通過設(shè)置參數(shù)、繼承或其它手段,使可變部分局部化領(lǐng)域工程步驟-1領(lǐng)域分析:首先要進行領(lǐng)域分析,收集領(lǐng)域中有代領(lǐng)域工程步驟-2重建構(gòu)件:在泛化和可變性分析的基礎(chǔ)上,重建構(gòu)件,使它成為可復(fù)用構(gòu)件構(gòu)件的測試:對重建的可復(fù)用的構(gòu)件要嚴格測試,以提高其可靠性構(gòu)件的包裝:經(jīng)測試的構(gòu)件應(yīng)根據(jù)構(gòu)件庫的要求,對它進行包裝,以便構(gòu)件庫對它分類儲存和檢索構(gòu)件入庫:包裝后的構(gòu)件即可存入構(gòu)件庫領(lǐng)域工程步驟-2重建構(gòu)件:在泛化和可變性分析的基礎(chǔ)上,重建構(gòu)應(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)裁剪和/或擴充而獲得尋找候選構(gòu)件:根據(jù)應(yīng)用系統(tǒng)的體系結(jié)構(gòu)模型,從構(gòu)件庫或其它可利用的構(gòu)件源中尋找候選構(gòu)件評價和選擇合適的構(gòu)件:評價候選構(gòu)件以判斷是否適合于待開發(fā)的軟件構(gòu)件的修改(modify)和特化(specialize):在復(fù)用時對構(gòu)件進行特化以滿足特定應(yīng)用的需要應(yīng)用系統(tǒng)工程的步驟-1建立應(yīng)用系統(tǒng)的體系結(jié)構(gòu)模型:可以使用構(gòu)應(yīng)用系統(tǒng)工程的步驟-2開發(fā)未被復(fù)用的部分:對新系統(tǒng)中未復(fù)用的部分進行開發(fā)構(gòu)件的組裝:將特化和修改后的可復(fù)用構(gòu)件和新開發(fā)的部分組裝成一個新的軟件系統(tǒng)集成測試:對組裝后的軟件系統(tǒng)進行集成測試評價被復(fù)用的構(gòu)件,并推薦可能的新構(gòu)件應(yīng)用系統(tǒng)工程的步驟-2開發(fā)未被復(fù)用的部分:對新系統(tǒng)中未復(fù)用的CBSD對質(zhì)量、生產(chǎn)率和成本的影響對質(zhì)量的影響:隨著長期的測試和使用,構(gòu)件能夠保證很高的質(zhì)量,因此可以使系統(tǒng)開發(fā)的質(zhì)量得到保證對生產(chǎn)率的影響:一般來說,大約30%~50%的復(fù)用可使生產(chǎn)率提高25%~40%對成本的影響與復(fù)用相關(guān)的成本應(yīng)由多個采用復(fù)用技術(shù)的項目來分擔(dān)通常要經(jīng)過2~3個采用復(fù)用的生產(chǎn)周期(大約3年左右)復(fù)用才能帶來顯著的效益CBSD對質(zhì)量、生產(chǎn)率和成本的影響對質(zhì)量的影響:隨著長期的測內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述建造可復(fù)用構(gòu)件應(yīng)用系統(tǒng)工程構(gòu)件的管理小結(jié)內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述建造可復(fù)用構(gòu)件建造構(gòu)件的目的是為了以后復(fù)用構(gòu)件,即為復(fù)用而建造構(gòu)件在建造構(gòu)件時仍應(yīng)遵循抽象、逐步求精、信息隱蔽、功能獨立、結(jié)構(gòu)化程序設(shè)計等思想和原則由于面向?qū)ο蠓椒ň哂蟹庋b性、繼承等特點,能有力地支持復(fù)用,所以應(yīng)盡可能考慮采用面向?qū)ο蠓椒ńㄔ炜蓮?fù)用構(gòu)件建造構(gòu)件的目的是為了以后復(fù)用構(gòu)件,即為復(fù)用而建對可復(fù)用構(gòu)件的要求構(gòu)件的設(shè)計應(yīng)具有較高的通用程度構(gòu)件應(yīng)易于調(diào)整構(gòu)件應(yīng)易于組裝構(gòu)件必須具有可檢索性構(gòu)件必須經(jīng)過充分的測試對可復(fù)用構(gòu)件的要求構(gòu)件的設(shè)計應(yīng)具有較高的通用程度創(chuàng)建領(lǐng)域構(gòu)件的設(shè)計框架除應(yīng)遵循已有的設(shè)計概念和原則外,還必須考慮應(yīng)用領(lǐng)域的特征,例如:標(biāo)準(zhǔn)數(shù)據(jù):應(yīng)該研究應(yīng)用領(lǐng)域,并標(biāo)識出標(biāo)準(zhǔn)的全局數(shù)據(jù)結(jié)構(gòu)(如文件結(jié)構(gòu)或完整的數(shù)據(jù)庫)。于是所有設(shè)計的構(gòu)件都可以用這些標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)來刻畫標(biāo)準(zhǔn)接口協(xié)議:應(yīng)該建立三個層次的接口協(xié)議:構(gòu)件內(nèi)(intramodular)接口、構(gòu)件外接口以及人機接口程序模板:程序的結(jié)構(gòu)模型可以作為新程序的體系結(jié)構(gòu)設(shè)計的模板創(chuàng)建領(lǐng)域構(gòu)件的設(shè)計框架除應(yīng)遵循已有的設(shè)計概念和原則外,還必須可變性分析構(gòu)件應(yīng)具有較強的通用性和可變性為了滿足不同的復(fù)用需求,需要在構(gòu)件復(fù)用時可能發(fā)生變化的一個或多個位置上標(biāo)識變化點(variationpoint),同時為變化點附加一個或多個變體(variant)例如Account構(gòu)件的帳號編碼規(guī)則以及透支規(guī)則在不同的國家可能不一樣·VP1·VP2CVP1descriptioncontext可變性分析構(gòu)件應(yīng)具有較強的通用性和可變性··CVP1des
構(gòu)件系統(tǒng)中的門面和變體構(gòu)件系統(tǒng)中的門面和變體可變性機制繼承:在變化點上創(chuàng)建指定抽象類型或抽象類的子類型或子類。擴展和擴展點:可以在用況和對象構(gòu)件中的變化點(或擴展點)上附加變體(或擴展)參數(shù)化:用于模板、框架和宏的類型和類適用于變體較小時(經(jīng)常是一個數(shù)值、短語或表達式)可變性機制繼承:在變化點上創(chuàng)建指定抽象類型或抽象類的子類型或內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述建造可復(fù)用構(gòu)件應(yīng)用系統(tǒng)工程構(gòu)件的管理小結(jié)內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述應(yīng)用系統(tǒng)工程任務(wù):通過組裝可復(fù)用構(gòu)件得到應(yīng)用系統(tǒng)CBSD中構(gòu)件是組成應(yīng)用系統(tǒng)的基本單元注重體系結(jié)構(gòu)和構(gòu)件接口的分析和設(shè)計,忽略構(gòu)件內(nèi)部實現(xiàn)的設(shè)計應(yīng)用系統(tǒng)工程任務(wù):通過組裝可復(fù)用構(gòu)件得到應(yīng)用系統(tǒng)關(guān)注接口的設(shè)計接口是構(gòu)件行為的描述機制,并提供了對其服務(wù)的訪問供應(yīng)接口(Providedinterface):描述構(gòu)件所提供的服務(wù),可以被其它構(gòu)件訪問請求接口(requivedinterface):請求接口描述構(gòu)件為完成其功能(服務(wù))需請求其它構(gòu)件為其提供的服務(wù)一個接口可以有多種實現(xiàn),并且對使用者隱蔽接口描述是構(gòu)件使用者能依賴的所有信息,因此構(gòu)件接口描述的表達能力和完整性是CBSD方法主要關(guān)注的問題之一關(guān)注接口的設(shè)計接口是構(gòu)件行為的描述機制,并提供了對其服務(wù)的訪基于構(gòu)件的體系結(jié)構(gòu)基于構(gòu)件的應(yīng)用系統(tǒng)體系結(jié)構(gòu)描述了組成應(yīng)用系統(tǒng)的構(gòu)件,構(gòu)件之間的組織結(jié)構(gòu)、交互、約束和關(guān)系對系統(tǒng)的組成、結(jié)構(gòu)以及系統(tǒng)如何工作的較為宏觀的描述如果在領(lǐng)域工程中已開發(fā)了領(lǐng)域基準(zhǔn)體系結(jié)構(gòu)(referencearchitecture),則可以通過對基準(zhǔn)體系結(jié)構(gòu)的剪裁和/或擴充獲得應(yīng)用系統(tǒng)的體系結(jié)構(gòu)基于構(gòu)件的體系結(jié)構(gòu)基于構(gòu)件的應(yīng)用系統(tǒng)體系結(jié)構(gòu)基于構(gòu)件的體系結(jié)構(gòu)層次邏輯體系結(jié)構(gòu)以接口形式對每組服務(wù)進行描述,并描述那些包怎樣交互來滿足通常的用戶使用場景展示了系統(tǒng)設(shè)計的藍圖,可用于驗證系統(tǒng)是否提供了適當(dāng)?shù)墓δ?,并能在系統(tǒng)功能需求變化時方便地改變系統(tǒng)的設(shè)計物理體系結(jié)構(gòu)描述系統(tǒng)的物理設(shè)計,包括硬件及其拓撲結(jié)構(gòu)、網(wǎng)絡(luò)和通信協(xié)議、基礎(chǔ)設(shè)施(如運行平臺、中間件、數(shù)據(jù)庫管理系統(tǒng)等),以及軟件系統(tǒng)的部署展示了系統(tǒng)的實現(xiàn)構(gòu)架,有助于理解系統(tǒng)的許多非功能屬性,如性能、吞吐量、服務(wù)的可用性等基于構(gòu)件的體系結(jié)構(gòu)層次邏輯體系結(jié)構(gòu)基于構(gòu)件的應(yīng)用系統(tǒng)開發(fā)方法Rationel統(tǒng)一過程Rational’sUnifiedProcess,簡稱RUP一個關(guān)于軟件開發(fā)的廣泛的過程框架,覆蓋了整個軟件生命周期使用UML進行分析和設(shè)計建模,鼓勵使用CBSD方法TheSelectPerspectiveMethod支持通用的構(gòu)件設(shè)計方法,并以SelectComponentManager為目標(biāo)通用構(gòu)件設(shè)計準(zhǔn)則使用UML作為構(gòu)件設(shè)計符號SterlingSoftware的Enterprise-CBD方法鼓勵使用UML的擴展形式把構(gòu)件的規(guī)格說明和實現(xiàn)分離允許制作技術(shù)中立的規(guī)格說明,然后再使用不同的實現(xiàn)技術(shù)來實現(xiàn)規(guī)格說明共同點:關(guān)注構(gòu)件庫中的構(gòu)件、接口的設(shè)計和基于構(gòu)件構(gòu)架的應(yīng)用程序組裝基于構(gòu)件的應(yīng)用系統(tǒng)開發(fā)方法Rationel統(tǒng)一過程構(gòu)件鑒定(qualification)目的:確保獲得的構(gòu)件可以完成所需的功能并能被集成在系統(tǒng)中與系統(tǒng)的其它構(gòu)件正確交互主要依據(jù)是構(gòu)件的接口描述和相關(guān)的規(guī)格說明,但這些信息往往還不足以確保構(gòu)件能成功地集成到系統(tǒng)中對于外部提供的成品構(gòu)件(COTS)可通過運行構(gòu)件測試版進行鑒定構(gòu)件鑒定(qualification)目的:確保獲得的構(gòu)件可構(gòu)件鑒定需考慮的因素應(yīng)用編程接口(API)該構(gòu)件所需的開發(fā)和集成工具運行時需求,包括使用的資源(如內(nèi)存或存儲器)、時間或速度以及網(wǎng)絡(luò)協(xié)議服務(wù)需求,包括操作系統(tǒng)接口和來自其他構(gòu)件的支持安全特征,包括訪問控制和身份驗證協(xié)議嵌入式設(shè)計假定,包括特定的數(shù)值或非數(shù)值算法的使用異常處理構(gòu)件鑒定需考慮的因素應(yīng)用編程接口(API)構(gòu)件的特化和組裝構(gòu)件特化根據(jù)應(yīng)用系統(tǒng)的具體情況對其進行特化,對變化點配置特定的變體,必要時要自行開發(fā)變體如果所選的構(gòu)件不能完全滿足應(yīng)用系統(tǒng)的功能需求,還需對構(gòu)件作適當(dāng)?shù)男薷娜绻x的構(gòu)件未按構(gòu)件標(biāo)準(zhǔn)開發(fā)(如遺產(chǎn)系統(tǒng)中抽取的構(gòu)件)時,還需按某種構(gòu)件標(biāo)準(zhǔn)對其進行包裝構(gòu)件組裝將經(jīng)過鑒定和特化后的構(gòu)件組裝成應(yīng)用系統(tǒng)提倡使用構(gòu)件組裝工具來組裝應(yīng)用系統(tǒng)(能檢查接口匹配中的錯誤,實現(xiàn)組裝的自動化或半自動化)構(gòu)件的特化和組裝構(gòu)件特化內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述建造可復(fù)用構(gòu)件應(yīng)用系統(tǒng)工程構(gòu)件的管理小結(jié)內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述構(gòu)件的管理構(gòu)件的分類描述對構(gòu)件庫中的構(gòu)件進行合理的分類和組織,幫助軟件開發(fā)人員方便地找到所需要的構(gòu)件大多數(shù)的研究都建議使用圖書館科學(xué)索引方法進行構(gòu)件分類構(gòu)件庫管理系統(tǒng):主要用于構(gòu)件的儲存、檢索、瀏覽和管理構(gòu)件的管理構(gòu)件的分類描述常用的構(gòu)件分類模式-1枚舉分類(EnumeratedClassification)將構(gòu)件組織成分類層次結(jié)構(gòu),構(gòu)件庫中的構(gòu)件按某些性質(zhì)分成若干大類,每個大類又分成若干較小的類,經(jīng)過若干次分解,形成構(gòu)件分類的層次結(jié)構(gòu),實際的構(gòu)件位于層次結(jié)構(gòu)的最低層,其它層次則表示構(gòu)件的類或子類枚舉分類模式的分層結(jié)構(gòu)易于理解和檢索,但是,在建立層次結(jié)構(gòu)之前,必須進行領(lǐng)域分析,尋找合適的供分類的性質(zhì)。屬性—值分類(Attribute_ValueClassification)為所有構(gòu)件定義一組屬性,每個構(gòu)件都具有一組屬性值,開發(fā)人員通過指定一組屬性值對構(gòu)件庫檢索與刻面分類方法非常類似,不同點在于:屬性—值分類法對可使用的屬性數(shù)量沒有限制;屬性沒有優(yōu)先級;不使用同義詞常用的構(gòu)件分類模式-1枚舉分類(EnumeratedCla常用的構(gòu)件分類模式-2刻面分類(FacetedClassification)根據(jù)一組刻面對構(gòu)件分類,每個刻面從不同的側(cè)面對構(gòu)件庫中的構(gòu)件進行分類,并根據(jù)重要性設(shè)置刻面的優(yōu)先級每個刻面由一組術(shù)語(term)構(gòu)成,稱之為術(shù)語空間(termspace),這些術(shù)語通常是描述性的關(guān)鍵詞檢索:用戶通過指定一組刻面的術(shù)語值尋找匹配的構(gòu)件使用同義詞詞典(thesaurus)解決用戶指定的術(shù)語值與庫中構(gòu)件所對應(yīng)的術(shù)語值之間的不一致問題評價:具有較好的靈活性,易于加入新的刻面值,比枚舉分類模式易于擴展和修改常用的構(gòu)件分類模式-2刻面分類(FacetedClassi構(gòu)件庫管理系統(tǒng)的主要功能構(gòu)件的分類存儲(即添加構(gòu)件):根據(jù)構(gòu)件庫的分類模型將入庫的構(gòu)件儲存在構(gòu)件庫中構(gòu)件檢索:從構(gòu)件庫中檢索出滿足用戶要求或接近用戶要求的構(gòu)件.構(gòu)件庫瀏覽:瀏覽庫中的全部或部分構(gòu)件刪除構(gòu)件:將不再使用的構(gòu)件從構(gòu)件庫中刪去構(gòu)件使用情況評價:根據(jù)用戶使用和檢索構(gòu)件的反饋意見對構(gòu)件作出評價,為進一步的改進提供依據(jù)構(gòu)件庫管理系統(tǒng)的主要功能構(gòu)件的分類存儲(即添加構(gòu)件):根據(jù)構(gòu)構(gòu)件的描述和檢索構(gòu)件庫管理系統(tǒng)的兩個關(guān)鍵技術(shù)直接影響到構(gòu)件庫檢索的查準(zhǔn)率(precision)、查全率(recall)和效率(efficient)常用的構(gòu)件檢索方法規(guī)約匹配:基于有序的謂詞邏輯的匹配,通過謂詞演算公式進行精確匹配,通過邏輯連接符和邏輯量詞進行部分精確匹配特征(signature)匹配:通過接口的定義進行匹配,適用于函數(shù)之類的構(gòu)件術(shù)語輪廓匹配:基于構(gòu)件編目描述語言的匹配,將每一個構(gòu)件的編目描述作為該構(gòu)件的一個特征矢量,通過測算矢量的距離進行匹配行為采樣:基于構(gòu)件測試的匹配,根據(jù)測試結(jié)果相同的概率進行匹配構(gòu)件的描述和檢索構(gòu)件庫管理系統(tǒng)的兩個關(guān)鍵技術(shù)內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述建造可復(fù)用構(gòu)件應(yīng)用系統(tǒng)工程構(gòu)件的管理小結(jié)內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述小結(jié)基于構(gòu)件的軟件開發(fā)(CBSD)是20世紀90年代開始流行的開發(fā)方法。CBSD支持軟件復(fù)用,能有效提高軟件的開發(fā)效率和質(zhì)量,降低開發(fā)和維護成本,因此受到人們的關(guān)注。本章內(nèi)容:基于構(gòu)件的軟件開發(fā)的概念、領(lǐng)域工程過程和應(yīng)用系統(tǒng)工程過程、可復(fù)用構(gòu)件的建造、基于CBSD的應(yīng)用系統(tǒng)分析和設(shè)計、以及構(gòu)件的管理小結(jié)基于構(gòu)件的軟件開發(fā)(CBSD)是20世紀90年代開始流行Serplogic青鳥軟件構(gòu)件庫管理系統(tǒng)—JBCLMS/Main.do系統(tǒng)特點:1系統(tǒng)采用基于B/S的多層體系結(jié)構(gòu);
2采用分布式的應(yīng)用架構(gòu);
3完全支持UDDIV2.0標(biāo)準(zhǔn)規(guī)范;
4采用J2EEV2.0,基于EJB技術(shù),具有較強的靈5活性和擴充性;
6支持刻面分類等多種分類模式;
7提出并采用基于角色的用戶管理機制,使系統(tǒng)具;8有靈活的權(quán)限分配和安全的控制方式。Serplogic青鳥軟件構(gòu)件庫管理系統(tǒng)—JBCLMSht系統(tǒng)功能:
1提供分布式構(gòu)件及其服務(wù)的注冊、發(fā)布、查詢、管理等功能,提供構(gòu)件管理信息與實體的有效管理平臺;
2實現(xiàn)軟件構(gòu)件庫中構(gòu)件管理與構(gòu)件服務(wù)的集成,軟件資產(chǎn)與構(gòu)件服務(wù)的集成;
3結(jié)合配置管理技術(shù),對構(gòu)件的構(gòu)造性和演化性進行支持;
4以UDDIRegistry(UDDI注冊中心)形式對Webservices形態(tài)的構(gòu)件提供有效管理支持,并對外界提供服務(wù);
5提供以刻面分類為主,結(jié)合多種標(biāo)準(zhǔn)的分類方法對構(gòu)件庫中大量構(gòu)件進行有效的管理;
6供多樣化的檢索機制,用戶可以更加靈活地查找構(gòu)件;
7實行基于角色的用戶管理,提供更靈活的訪問控制機制。系統(tǒng)功能:
1提供分布式構(gòu)件及其服務(wù)的注冊、發(fā)布、查詢、管面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)研討課件面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)研討課件面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)研討課件面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)研討課件構(gòu)件是構(gòu)件庫中最重要的實體信息。構(gòu)件(component)是指在應(yīng)用系統(tǒng)中可以明確辨別的構(gòu)成部分。構(gòu)件:構(gòu)件概念信息和構(gòu)件實體信息。構(gòu)件概念信息描述構(gòu)件基本屬性的信息,包括構(gòu)件名稱、分類信息、屬性信息等,用于理解和搜索定位構(gòu)件。構(gòu)件實體信息。獲取構(gòu)件實體的描述、訪問地址、符合的規(guī)范等信息。構(gòu)件是構(gòu)件庫中最重要的實體信息。構(gòu)件(component)是分類模式(taxonomy)是一種用于分類的標(biāo)準(zhǔn)。青鳥軟件構(gòu)件庫目前可用的分類模式有:1ntis-gov:naics:1997(北美工業(yè)分類法)、2pku-sei:Facet(刻面分類法)、3uddi-org:iso-ch:3166-1999(地理區(qū)域分類法)、4unspsc-org:unspsc、unspsc-org:unspsc:3-1(統(tǒng)一標(biāo)準(zhǔn)產(chǎn)品和服務(wù)分類法)、5uddi-org:types(其它類別)等。分類模式(taxonomy)是一種用于分類的標(biāo)準(zhǔn)。青鳥軟件構(gòu)1層次分類法:它將一個被關(guān)注的領(lǐng)域嚴格劃分為若干不相交的子領(lǐng)域,子領(lǐng)域可以進一步劃分,構(gòu)成樹形的層次結(jié)構(gòu)。這些子領(lǐng)域或其中的元素都稱作術(shù)語(term)。例如,選定分類模式ntis-gov:naics:1997后,列出了該分類模式的第一層術(shù)語信息,可點擊選擇子術(shù)語,進入下一層;或點擊選定的分類方案中的任意術(shù)語,進入相應(yīng)層次;或點擊取消按鈕或"選擇分類模式"重新進行選擇;或點擊增加分類按鈕提交,注意:僅僅選擇了分類模式是無法進行提交的。1層次分類法:它將一個被關(guān)注的領(lǐng)域嚴格劃分為若干不相交的子2刻面分類法:刻面分類使用一組{刻面,刻面術(shù)語}來對構(gòu)件進行分類??堂媸且粋€單詞或短語的固定集合,用于描述構(gòu)件的某個方面或視角。術(shù)語是置于特定語境中的關(guān)鍵詞。每個刻面都要具有一組相應(yīng)的術(shù)語,用刻面術(shù)語來描述要分類的構(gòu)件。例如,選定刻面分類模式pku-sei:Facet后,列出了刻面分類模式下的所有刻面,可點擊任一刻面,進入下一層選擇其對應(yīng)的術(shù)語。
選擇任一個刻面,可以進入該刻面下的層次分類結(jié)構(gòu)。此時點擊選定的分類方案中的任意術(shù)語,進入相應(yīng)層次;或點擊取消按鈕或"選擇分類模式"重新進行選擇;或點擊增加分類按鈕提交--此時是將選定的信息提交到刻面分類模式頁面中,只有點擊刻面分類模式頁面中的提交按鈕才會將增加的刻面分類信息最后提交。2刻面分類法:刻面分類使用一組{刻面,刻面術(shù)語}來對構(gòu)件進3平面分類法:它為需要描述的構(gòu)件賦予一組與之相關(guān)的關(guān)鍵詞。關(guān)鍵詞是與被描述的對象相關(guān)的表達其某種特征的字符串。例如,選定分類模式uddi-org:operators后進入的,在此分類模式中需要填寫術(shù)語及術(shù)語名稱,并且要求術(shù)語非空。
3平面分類法:它為需要描述的構(gòu)件賦予一組與之相關(guān)的關(guān)鍵詞。1、不是井里沒有水,而是你挖的不夠深。不是成功來得慢,而是你努力的不夠多。
2、孤單一人的時間使自己變得優(yōu)秀,給來的人一個驚喜,也給自己一個好的交代。
3、命運給你一個比別人低的起點是想告訴你,讓你用你的一生去奮斗出一個絕地反擊的故事,所以有什么理由不努力!
4、心中沒有過分的貪求,自然苦就少??诶锊徽f多余的話,自然禍就少。腹內(nèi)的食物能減少,自然病就少。思緒中沒有過分欲,自然憂就少。大悲是無淚的,同樣大悟無言。緣來盡量要惜,緣盡就放。人生本來就空,對人家笑笑,對自己笑笑,笑著看天下,看日出日落,花謝花開,豈不自在,哪里來的塵埃!
5、心情就像衣服,臟了就拿去洗洗,曬曬,陽光自然就會蔓延開來。陽光那么好,何必自尋煩惱,過好每一個當(dāng)下,一萬個美麗的未來抵不過一個溫暖的現(xiàn)在。
6、無論你正遭遇著什么,你都要從落魄中站起來重振旗鼓,要繼續(xù)保持熱忱,要繼續(xù)保持微笑,就像從未受傷過一樣。
7、生命的美麗,永遠展現(xiàn)在她的進取之中;就像大樹的美麗,是展現(xiàn)在它負勢向上高聳入云的蓬勃生機中;像雄鷹的美麗,是展現(xiàn)在它搏風(fēng)擊雨如蒼天之魂的翱翔中;像江河的美麗,是展現(xiàn)在它波濤洶涌一瀉千里的奔流中。
8、有些事,不可避免地發(fā)生,陰晴圓缺皆有規(guī)律,我們只能坦然地接受;有些事,只要你愿意努力,矢志不渝地付出,就能慢慢改變它的軌跡。
9、與其埋怨世界,不如改變自己。管好自己的心,做好自己的事,比什么都強。人生無完美,曲折亦風(fēng)景。別把失去看得過重,放棄是另一種擁有;不要經(jīng)常艷羨他人,人做到了,心悟到了,相信屬于你的風(fēng)景就在下一個拐彎處。
10、有些事想開了,你就會明白,在世上,你就是你,你痛痛你自己,你累累你自己,就算有人同情你,那又怎樣,最后收拾殘局的還是要靠你自己。
11、人生的某些障礙,你是逃不掉的。與其費盡周折繞過去,不如勇敢地攀登,或許這會鑄就你人生的高點。
12、有些壓力總是得自己扛過去,說出來就成了充滿負能量的抱怨。尋求安慰也無濟于事,還徒增了別人的煩惱。
13、認識到我們的所見所聞都是假象,認識到此生都是虛幻,我們才能真正認識到佛法的真相。錢多了會壓死你,你承受得了嗎?帶,帶不走,放,放不下。時時刻刻發(fā)悲心,饒益眾生為他人。
14、夢想總是跑在我的前面。努力追尋它們,為了那一瞬間的同步,這就是動人的生命奇跡。
15、懶惰不會讓你一下子跌倒,但會在不知不覺中減少你的收獲;勤奮也不會讓你一夜成功,但會在不知不覺中積累你的成果。人生需要挑戰(zhàn),更需要堅持和勤奮!
16、人生在世:可以缺錢,但不能缺德;可以失言,但不能失信;可以倒下,但不能跪下;可以求名,但不能盜名;可以低落,但不能墮落;可以放松,但不能放縱;可以虛榮,但不能虛偽;可以平凡,但不能平庸;可以浪漫,但不能浪蕩;可以生氣,但不能生事。
17、人生沒有筆直路,當(dāng)你感到迷茫、失落時,找?guī)撞窟@種充滿正能量的電影,坐下來靜靜欣賞,去發(fā)現(xiàn)生命中真正重要的東西。
18、在人生的舞臺上,當(dāng)有人愿意在臺下陪你度過無數(shù)個沒有未來的夜時,你就更想展現(xiàn)精彩絕倫的自己。但愿每個被努力支撐的靈魂能吸引更多的人同行。1、不是井里沒有水,而是你挖的不夠深。不是成功來得慢,而是你軟件方法學(xué)
第4章:面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)軟件方法學(xué)第4章:面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)基于構(gòu)件的軟件開發(fā)目標(biāo)長期以來的軟件開發(fā)狀況多數(shù)軟件都是針對某個具體的應(yīng)用系統(tǒng)從頭進行開發(fā)的導(dǎo)致:出現(xiàn)了大量的同類軟件重復(fù)開發(fā),造成大量人力、財力的浪費,而且軟件的質(zhì)量也不高對比:汽車工業(yè)的生產(chǎn)模式在已有的部件基礎(chǔ)上通過組裝進行生產(chǎn):有專門的部件生產(chǎn)工廠,汽車設(shè)計者在設(shè)計中選擇市場上已有的合適的部件避免了大量的重復(fù)勞動,提高了產(chǎn)品質(zhì)量和生產(chǎn)效率,促進分工合作我們的目標(biāo):將制造業(yè)中的組裝式生產(chǎn)模式引入到軟件開發(fā)中基于構(gòu)件的軟件開發(fā)目標(biāo)長期以來的軟件開發(fā)狀況內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述建造可復(fù)用構(gòu)件應(yīng)用系統(tǒng)工程構(gòu)件的管理小結(jié)內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述建造可復(fù)用構(gòu)件應(yīng)用系統(tǒng)工程構(gòu)件的管理小結(jié)內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述基于構(gòu)件的軟件開發(fā)基于構(gòu)件的軟件開發(fā)Component-BasedSoftwareDevelopment簡稱CBSD是指使用可復(fù)用構(gòu)件來開發(fā)應(yīng)用軟件基于構(gòu)件的軟件工程Component-BasedSoftwareEngineering簡稱CBSE基于構(gòu)件的軟件開發(fā)基于構(gòu)件的軟件開發(fā)構(gòu)件(Component)的典型定義Pressman書中的定義:構(gòu)件是某系統(tǒng)中有價值的、幾乎獨立的并可替換的一個部分,它在良好定義的體系結(jié)構(gòu)語境內(nèi)滿足某清晰的功能Brown的定義:構(gòu)件是一個獨立發(fā)布的功能部分,可以通過其接口訪問它的服務(wù)“計算機科學(xué)技術(shù)百科全書”的定義:軟件構(gòu)件是軟件系統(tǒng)中具有相對獨立功能,可以明確標(biāo)識,接口由規(guī)約指定,與語境有明顯依賴關(guān)系,可獨立部署,且多由第三方提供的可組裝軟件實體;軟件構(gòu)件須承載有用的功能,并遵循某種構(gòu)件模型;可復(fù)用構(gòu)件是指具有可復(fù)用價值的構(gòu)件構(gòu)件(Component)的典型定義Pressman書中的定商用成品構(gòu)件Commercialoff-the-shelf簡稱COTS指由第三方開發(fā)的滿足一定構(gòu)件標(biāo)準(zhǔn)的,可組裝的軟件構(gòu)件商用成品構(gòu)件Commercialoff-the-shelf構(gòu)件的要素規(guī)格說明:建立在接口概念之上,作為服務(wù)提供方與客戶方之間的契約一個或多個實現(xiàn)受約束的構(gòu)件標(biāo)準(zhǔn)包裝方法部署方法構(gòu)件的要素規(guī)格說明:建立在接口概念之上,作為服務(wù)提供方與客戶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):概念的具體實現(xiàn),描述構(gòu)件如何完成概念所刻畫的功能周境(context):描述構(gòu)件和外圍環(huán)境在概念級和內(nèi)容級的關(guān)系,刻畫構(gòu)件的應(yīng)用環(huán)境,為構(gòu)件的選用和適應(yīng)性修改提供指導(dǎo)3C構(gòu)件模型關(guān)于構(gòu)件的一個指導(dǎo)性模型REBOOT構(gòu)件模型REBOOT(ReuseBasedonObject_OrientedTechnology):基于面向?qū)ο蠹夹g(shù)的復(fù)用一種基于刻面(facet)的模型刻面:對領(lǐng)域進行分析,所得到的一組基本的描述特征刻面可以描述構(gòu)件執(zhí)行的功能、所操作的數(shù)據(jù)、構(gòu)件應(yīng)用的周境或任何其它特征通常的刻面描述限制在不超過7或8個刻面一個構(gòu)件通常包括以下刻面:抽象(abstraction):它是構(gòu)件概念的抽象性描述操作(operation):它是構(gòu)件所提供的操作的描述操作對象(operand):它描述操作的對象依賴(dependency):它描述構(gòu)件與外界的依賴關(guān)系REBOOT構(gòu)件模型REBOOT(ReuseBasedo常用的構(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)的基本機制COM+微軟開發(fā)的一個構(gòu)件對象模型,提供了在運行于Windows操作系統(tǒng)之上的單個應(yīng)用中使用不同廠商生產(chǎn)的對象的規(guī)約EJB:一種基于Java的構(gòu)件標(biāo)準(zhǔn)提供了讓客戶端使用遠程的分布式對象的框架EJB規(guī)約規(guī)定了EJB構(gòu)件如何與EJB容器進行行交互常用的構(gòu)件標(biāo)準(zhǔn)CORBA(公共對象請求代理體系結(jié)構(gòu))面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)研討課件
CORBA技術(shù)規(guī)范CORBA是OMG組織在1991年提出的公用對象請求代理程序結(jié)構(gòu)技術(shù)規(guī)范。CORBA的底層結(jié)構(gòu)是基于面向?qū)ο竽P偷哪K組成:1接口描述語言(OMGInterfaceDefinitionLanguage,OMGIDL)、2對象請求代理(ObjectRequestBroker,ORB)3IIOP標(biāo)準(zhǔn)協(xié)議(InternetInter-ORBProtocol)使用接口描述語言編寫的對象接口,使得與語言無關(guān)的獨立性成為可能。IDL使得所有CORBA對象以一種方式被描述,僅僅需要一個由語言(C/C++、CORBA或Java)到IDL的“橋梁”。CORBA對象的互通要以對象請求代理為中介,這種互通信可以在多種流行通信協(xié)議之上實現(xiàn)。在TCP/IP上,來自于不同開發(fā)商的ORB用IIOP標(biāo)準(zhǔn)協(xié)議進行通訊。CORBA技術(shù)規(guī)范面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)研討課件
COM/DCOM技術(shù)規(guī)范COM(ComponentObjectModel,組件對象模型)是Microsoft軟件組件標(biāo)準(zhǔn),是構(gòu)造二進制兼容軟件組件的規(guī)范。COM的體系結(jié)構(gòu)包括統(tǒng)一數(shù)據(jù)傳輸、持久存儲和智能命名、COM核心等。其中:1COM核心:包括服務(wù)控制管理、接口代理、接口基和COM庫。COM核心定義了COM對象與使用者如何通過二進制標(biāo)準(zhǔn)接口進行交換的規(guī)格說明。
2持久存儲::通過Istorage和Istream接口提供一個“文件系統(tǒng)”。
3智能命名:通過對象實現(xiàn)接口,使用戶可以在以后重新連接一個指定的對象實例,并且使對象實例仍保持原來的狀態(tài),另外還提供保存它們名字和其它持久信息的機制。COM庫提供對所有客戶及組件都非常有用的組件管理服務(wù)。DCOM是COM的分布式擴展,Microsoft把DCOM作為開發(fā)Internet和組件的基礎(chǔ)。當(dāng)客戶和組件位于不同機器時,DCOM用TCP/IP協(xié)議等取代COM中的本地進程間通信LRPC,從而對位于Internet不同機器上的組件對象之間的相互通訊提供了透明的支持。COM/DCOM技術(shù)規(guī)范面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)研討課件目前可以支持DCOM部件開發(fā)的編程語言很多,如Java、VisualC++/VisualBasic、Delphi、PowerBuilder等,具有較好的集成性和擴展性。微軟的許多其它軟件如OLE、OLEDB、ADO都是基于COM/DCOM技術(shù)。COM/DCOM并沒有真正實現(xiàn)跨平臺,目前基于COM的軟件較多,但沒有運行于異構(gòu)平臺上的基于DCOM的分布式軟件。COM/DCOM在微軟平臺上運行情況較好,但對實時性、可靠性等的支持較少。目前可以支持DCOM部件開發(fā)的編程語言很多,如Java、VCOM+技術(shù)規(guī)范COM+是微軟公司在COM、DCOM(DistributedCOM)和MTS(MicrosoftTransactionServer)基礎(chǔ)上進一步優(yōu)化了組件管理環(huán)境與事務(wù)服務(wù)[3],提供了無縫連接系統(tǒng)。它以系統(tǒng)服務(wù)的形式把原先一些分散的技術(shù)綜合起來,并提供簡單的編程模型,以直接應(yīng)用層的編程接口為應(yīng)用程序提供服務(wù),使創(chuàng)建服務(wù)器應(yīng)用就像實現(xiàn)客戶應(yīng)用一樣簡單。COM+把COM模型推向了更高層次,成為了企業(yè)級別分布式軟件開發(fā)領(lǐng)域的重要技術(shù)。COM+技術(shù)規(guī)范COM+組件提供了ASP、ASPServlet、ASPBean等技術(shù),實現(xiàn)頁面動態(tài)內(nèi)容的實現(xiàn)與顯示,ASPServlet運行在Web服務(wù)器端的Servlet程序,支持多線程、多用戶訪問,能完成所有CGI功能。以SOAP為基礎(chǔ)的Microsoft的.NET顯現(xiàn)出減少實現(xiàn)RPC的困難,快速實現(xiàn)互操作性的潛力,使COM+組件可以與CORBA和Java標(biāo)準(zhǔn)進行通信。采用MFC(Microsoftfoundationclasslibrary)和ATL(activetemplatelibrary)作為開發(fā)工具,用COM+技術(shù)把模塊的類做成動態(tài)鏈接庫(DLL)的形式來發(fā)布,可以在物理上把模塊類的包裝與客戶的包裝脫離開來。COM+組件提供了ASP、ASPServlet、ASPBSOAP通訊協(xié)議:SimpleObjectAccessProtocol(簡單對象訪問協(xié)議)的英文縮寫,目前已經(jīng)得到IBM、Ariba、CommerceOne、SAP、康柏、惠普等公司的支持。它能夠讓不同應(yīng)用程序之間通過HTTP通訊協(xié)議,以XML格式互相交換彼此的資料。作為新生事物,SOAP通過建立HTTP連接隧道來部署自己的協(xié)議:SOAP要求把請求參數(shù)組織在XML文檔中,該文檔然后被放到HTTPPOST請求體中發(fā)送到運行在Web主機基于SOAP的Web服務(wù)。同樣,現(xiàn)在正在做很多擴展SOAP的工作,使它能使用其它的傳輸協(xié)議,例如HTTPS和SMTP。它包括四個部分:1SOAP封裝(envelop),封裝定義了一個描述消息中的內(nèi)容是什么,是誰發(fā)送的,誰應(yīng)當(dāng)接受并處理它以及如何處理它們的框架;2SOAP編碼規(guī)則(encodingrules),用于表示應(yīng)用程序需要使用的數(shù)據(jù)類型的實例;3SOAPRPC表示(RPCrepresentation),表示遠程過程4SOAP綁定(binding),使用底層協(xié)議交換信息SOAP通訊協(xié)議:SimpleObjectAccess
EJB技術(shù)規(guī)范EJB(EnterpriseJavaBeans)是J2EE的核心技術(shù)之一,它是建立基于Java的服務(wù)器端組件的標(biāo)準(zhǔn)。EJB是以部件為基礎(chǔ)框架,其中每個部件都是分布式對象,可以擴展,也可以適配在不同應(yīng)用中使用,大大方便了企業(yè)應(yīng)用開發(fā)。EJB不局限于一種特定的操作系統(tǒng),也不局限于任何一種特別的機構(gòu)、服務(wù)器解決方案、中間件或者通信協(xié)議,是一種可重用的具有高度可移植性的組件。EJB組件模型包含了EJB服務(wù)器、容器、Home接口、Remote接口等。EJB技術(shù)規(guī)范三種分布式組件對象模型的比較(表1)三種分布式組件對象模型的比較(表1)面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)研討課件三種模型各有其優(yōu)勢:
Java由于平臺無關(guān)性的優(yōu)勢顯著,成為理想的Internet技術(shù);而Windows平臺的廣泛使用也使COM/DCOM具有深厚的基礎(chǔ);OMG組織在10幾年來一直在為自己的組件軟件建立標(biāo)準(zhǔn),而且已被很多組織和公司采用。對于異構(gòu)環(huán)境下的企業(yè)應(yīng)用開發(fā),CORBA和EJB有著明顯的優(yōu)勢,并且CORBA和EJB所依賴Java技術(shù)可以很好的互補。CORBA處理網(wǎng)絡(luò)透明性,EJB處理實現(xiàn)透明性。因此,CORBA和EJB技術(shù)緊密結(jié)合應(yīng)是今后多層分布式系統(tǒng)發(fā)展的一大趨勢。三種模型各有其優(yōu)勢:基于構(gòu)件的軟件開發(fā)過程基于構(gòu)件的軟件開發(fā)過程領(lǐng)域工程步驟-1領(lǐng)域分析:首先要進行領(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),這個基準(zhǔn)體系結(jié)構(gòu)應(yīng)是可以裁剪和擴充的,并可供該領(lǐng)域的應(yīng)用復(fù)用標(biāo)識候選構(gòu)件:在領(lǐng)域分析和領(lǐng)域基準(zhǔn)體系結(jié)構(gòu)模型的基礎(chǔ)上標(biāo)識該領(lǐng)域的候選構(gòu)件泛化(generalization)和可變性(variability)分析:提高其通用性,同時尋找候選構(gòu)件在不同應(yīng)用中的變化點(variationpoint),通過設(shè)置參數(shù)、繼承或其它手段,使可變部分局部化領(lǐng)域工程步驟-1領(lǐng)域分析:首先要進行領(lǐng)域分析,收集領(lǐng)域中有代領(lǐng)域工程步驟-2重建構(gòu)件:在泛化和可變性分析的基礎(chǔ)上,重建構(gòu)件,使它成為可復(fù)用構(gòu)件構(gòu)件的測試:對重建的可復(fù)用的構(gòu)件要嚴格測試,以提高其可靠性構(gòu)件的包裝:經(jīng)測試的構(gòu)件應(yīng)根據(jù)構(gòu)件庫的要求,對它進行包裝,以便構(gòu)件庫對它分類儲存和檢索構(gòu)件入庫:包裝后的構(gòu)件即可存入構(gòu)件庫領(lǐng)域工程步驟-2重建構(gòu)件:在泛化和可變性分析的基礎(chǔ)上,重建構(gòu)應(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)裁剪和/或擴充而獲得尋找候選構(gòu)件:根據(jù)應(yīng)用系統(tǒng)的體系結(jié)構(gòu)模型,從構(gòu)件庫或其它可利用的構(gòu)件源中尋找候選構(gòu)件評價和選擇合適的構(gòu)件:評價候選構(gòu)件以判斷是否適合于待開發(fā)的軟件構(gòu)件的修改(modify)和特化(specialize):在復(fù)用時對構(gòu)件進行特化以滿足特定應(yīng)用的需要應(yīng)用系統(tǒng)工程的步驟-1建立應(yīng)用系統(tǒng)的體系結(jié)構(gòu)模型:可以使用構(gòu)應(yīng)用系統(tǒng)工程的步驟-2開發(fā)未被復(fù)用的部分:對新系統(tǒng)中未復(fù)用的部分進行開發(fā)構(gòu)件的組裝:將特化和修改后的可復(fù)用構(gòu)件和新開發(fā)的部分組裝成一個新的軟件系統(tǒng)集成測試:對組裝后的軟件系統(tǒng)進行集成測試評價被復(fù)用的構(gòu)件,并推薦可能的新構(gòu)件應(yīng)用系統(tǒng)工程的步驟-2開發(fā)未被復(fù)用的部分:對新系統(tǒng)中未復(fù)用的CBSD對質(zhì)量、生產(chǎn)率和成本的影響對質(zhì)量的影響:隨著長期的測試和使用,構(gòu)件能夠保證很高的質(zhì)量,因此可以使系統(tǒng)開發(fā)的質(zhì)量得到保證對生產(chǎn)率的影響:一般來說,大約30%~50%的復(fù)用可使生產(chǎn)率提高25%~40%對成本的影響與復(fù)用相關(guān)的成本應(yīng)由多個采用復(fù)用技術(shù)的項目來分擔(dān)通常要經(jīng)過2~3個采用復(fù)用的生產(chǎn)周期(大約3年左右)復(fù)用才能帶來顯著的效益CBSD對質(zhì)量、生產(chǎn)率和成本的影響對質(zhì)量的影響:隨著長期的測內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述建造可復(fù)用構(gòu)件應(yīng)用系統(tǒng)工程構(gòu)件的管理小結(jié)內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述建造可復(fù)用構(gòu)件建造構(gòu)件的目的是為了以后復(fù)用構(gòu)件,即為復(fù)用而建造構(gòu)件在建造構(gòu)件時仍應(yīng)遵循抽象、逐步求精、信息隱蔽、功能獨立、結(jié)構(gòu)化程序設(shè)計等思想和原則由于面向?qū)ο蠓椒ň哂蟹庋b性、繼承等特點,能有力地支持復(fù)用,所以應(yīng)盡可能考慮采用面向?qū)ο蠓椒ńㄔ炜蓮?fù)用構(gòu)件建造構(gòu)件的目的是為了以后復(fù)用構(gòu)件,即為復(fù)用而建對可復(fù)用構(gòu)件的要求構(gòu)件的設(shè)計應(yīng)具有較高的通用程度構(gòu)件應(yīng)易于調(diào)整構(gòu)件應(yīng)易于組裝構(gòu)件必須具有可檢索性構(gòu)件必須經(jīng)過充分的測試對可復(fù)用構(gòu)件的要求構(gòu)件的設(shè)計應(yīng)具有較高的通用程度創(chuàng)建領(lǐng)域構(gòu)件的設(shè)計框架除應(yīng)遵循已有的設(shè)計概念和原則外,還必須考慮應(yīng)用領(lǐng)域的特征,例如:標(biāo)準(zhǔn)數(shù)據(jù):應(yīng)該研究應(yīng)用領(lǐng)域,并標(biāo)識出標(biāo)準(zhǔn)的全局數(shù)據(jù)結(jié)構(gòu)(如文件結(jié)構(gòu)或完整的數(shù)據(jù)庫)。于是所有設(shè)計的構(gòu)件都可以用這些標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)來刻畫標(biāo)準(zhǔn)接口協(xié)議:應(yīng)該建立三個層次的接口協(xié)議:構(gòu)件內(nèi)(intramodular)接口、構(gòu)件外接口以及人機接口程序模板:程序的結(jié)構(gòu)模型可以作為新程序的體系結(jié)構(gòu)設(shè)計的模板創(chuàng)建領(lǐng)域構(gòu)件的設(shè)計框架除應(yīng)遵循已有的設(shè)計概念和原則外,還必須可變性分析構(gòu)件應(yīng)具有較強的通用性和可變性為了滿足不同的復(fù)用需求,需要在構(gòu)件復(fù)用時可能發(fā)生變化的一個或多個位置上標(biāo)識變化點(variationpoint),同時為變化點附加一個或多個變體(variant)例如Account構(gòu)件的帳號編碼規(guī)則以及透支規(guī)則在不同的國家可能不一樣·VP1·VP2CVP1descriptioncontext可變性分析構(gòu)件應(yīng)具有較強的通用性和可變性··CVP1des
構(gòu)件系統(tǒng)中的門面和變體構(gòu)件系統(tǒng)中的門面和變體可變性機制繼承:在變化點上創(chuàng)建指定抽象類型或抽象類的子類型或子類。擴展和擴展點:可以在用況和對象構(gòu)件中的變化點(或擴展點)上附加變體(或擴展)參數(shù)化:用于模板、框架和宏的類型和類適用于變體較小時(經(jīng)常是一個數(shù)值、短語或表達式)可變性機制繼承:在變化點上創(chuàng)建指定抽象類型或抽象類的子類型或內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述建造可復(fù)用構(gòu)件應(yīng)用系統(tǒng)工程構(gòu)件的管理小結(jié)內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述應(yīng)用系統(tǒng)工程任務(wù):通過組裝可復(fù)用構(gòu)件得到應(yīng)用系統(tǒng)CBSD中構(gòu)件是組成應(yīng)用系統(tǒng)的基本單元注重體系結(jié)構(gòu)和構(gòu)件接口的分析和設(shè)計,忽略構(gòu)件內(nèi)部實現(xiàn)的設(shè)計應(yīng)用系統(tǒng)工程任務(wù):通過組裝可復(fù)用構(gòu)件得到應(yīng)用系統(tǒng)關(guān)注接口的設(shè)計接口是構(gòu)件行為的描述機制,并提供了對其服務(wù)的訪問供應(yīng)接口(Providedinterface):描述構(gòu)件所提供的服務(wù),可以被其它構(gòu)件訪問請求接口(requivedinterface):請求接口描述構(gòu)件為完成其功能(服務(wù))需請求其它構(gòu)件為其提供的服務(wù)一個接口可以有多種實現(xiàn),并且對使用者隱蔽接口描述是構(gòu)件使用者能依賴的所有信息,因此構(gòu)件接口描述的表達能力和完整性是CBSD方法主要關(guān)注的問題之一關(guān)注接口的設(shè)計接口是構(gòu)件行為的描述機制,并提供了對其服務(wù)的訪基于構(gòu)件的體系結(jié)構(gòu)基于構(gòu)件的應(yīng)用系統(tǒng)體系結(jié)構(gòu)描述了組成應(yīng)用系統(tǒng)的構(gòu)件,構(gòu)件之間的組織結(jié)構(gòu)、交互、約束和關(guān)系對系統(tǒng)的組成、結(jié)構(gòu)以及系統(tǒng)如何工作的較為宏觀的描述如果在領(lǐng)域工程中已開發(fā)了領(lǐng)域基準(zhǔn)體系結(jié)構(gòu)(referencearchitecture),則可以通過對基準(zhǔn)體系結(jié)構(gòu)的剪裁和/或擴充獲得應(yīng)用系統(tǒng)的體系結(jié)構(gòu)基于構(gòu)件的體系結(jié)構(gòu)基于構(gòu)件的應(yīng)用系統(tǒng)體系結(jié)構(gòu)基于構(gòu)件的體系結(jié)構(gòu)層次邏輯體系結(jié)構(gòu)以接口形式對每組服務(wù)進行描述,并描述那些包怎樣交互來滿足通常的用戶使用場景展示了系統(tǒng)設(shè)計的藍圖,可用于驗證系統(tǒng)是否提供了適當(dāng)?shù)墓δ?,并能在系統(tǒng)功能需求變化時方便地改變系統(tǒng)的設(shè)計物理體系結(jié)構(gòu)描述系統(tǒng)的物理設(shè)計,包括硬件及其拓撲結(jié)構(gòu)、網(wǎng)絡(luò)和通信協(xié)議、基礎(chǔ)設(shè)施(如運行平臺、中間件、數(shù)據(jù)庫管理系統(tǒng)等),以及軟件系統(tǒng)的部署展示了系統(tǒng)的實現(xiàn)構(gòu)架,有助于理解系統(tǒng)的許多非功能屬性,如性能、吞吐量、服務(wù)的可用性等基于構(gòu)件的體系結(jié)構(gòu)層次邏輯體系結(jié)構(gòu)基于構(gòu)件的應(yīng)用系統(tǒng)開發(fā)方法Rationel統(tǒng)一過程Rational’sUnifiedProcess,簡稱RUP一個關(guān)于軟件開發(fā)的廣泛的過程框架,覆蓋了整個軟件生命周期使用UML進行分析和設(shè)計建模,鼓勵使用CBSD方法TheSelectPerspectiveMethod支持通用的構(gòu)件設(shè)計方法,并以SelectComponentManager為目標(biāo)通用構(gòu)件設(shè)計準(zhǔn)則使用UML作為構(gòu)件設(shè)計符號SterlingSoftware的Enterprise-CBD方法鼓勵使用UML的擴展形式把構(gòu)件的規(guī)格說明和實現(xiàn)分離允許制作技術(shù)中立的規(guī)格說明,然后再使用不同的實現(xiàn)技術(shù)來實現(xiàn)規(guī)格說明共同點:關(guān)注構(gòu)件庫中的構(gòu)件、接口的設(shè)計和基于構(gòu)件構(gòu)架的應(yīng)用程序組裝基于構(gòu)件的應(yīng)用系統(tǒng)開發(fā)方法Rationel統(tǒng)一過程構(gòu)件鑒定(qualification)目的:確保獲得的構(gòu)件可以完成所需的功能并能被集成在系統(tǒng)中與系統(tǒng)的其它構(gòu)件正確交互主要依據(jù)是構(gòu)件的接口描述和相關(guān)的規(guī)格說明,但這些信息往往還不足以確保構(gòu)件能成功地集成到系統(tǒng)中對于外部提供的成品構(gòu)件(COTS)可通過運行構(gòu)件測試版進行鑒定構(gòu)件鑒定(qualification)目的:確保獲得的構(gòu)件可構(gòu)件鑒定需考慮的因素應(yīng)用編程接口(API)該構(gòu)件所需的開發(fā)和集成工具運行時需求,包括使用的資源(如內(nèi)存或存儲器)、時間或速度以及網(wǎng)絡(luò)協(xié)議服務(wù)需求,包括操作系統(tǒng)接口和來自其他構(gòu)件的支持安全特征,包括訪問控制和身份驗證協(xié)議嵌入式設(shè)計假定,包括特定的數(shù)值或非數(shù)值算法的使用異常處理構(gòu)件鑒定需考慮的因素應(yīng)用編程接口(API)構(gòu)件的特化和組裝構(gòu)件特化根據(jù)應(yīng)用系統(tǒng)的具體情況對其進行特化,對變化點配置特定的變體,必要時要自行開發(fā)變體如果所選的構(gòu)件不能完全滿足應(yīng)用系統(tǒng)的功能需求,還需對構(gòu)件作適當(dāng)?shù)男薷娜绻x的構(gòu)件未按構(gòu)件標(biāo)準(zhǔn)開發(fā)(如遺產(chǎn)系統(tǒng)中抽取的構(gòu)件)時,還需按某種構(gòu)件標(biāo)準(zhǔn)對其進行包裝構(gòu)件組裝將經(jīng)過鑒定和特化后的構(gòu)件組裝成應(yīng)用系統(tǒng)提倡使用構(gòu)件組裝工具來組裝應(yīng)用系統(tǒng)(能檢查接口匹配中的錯誤,實現(xiàn)組裝的自動化或半自動化)構(gòu)件的特化和組裝構(gòu)件特化內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述建造可復(fù)用構(gòu)件應(yīng)用系統(tǒng)工程構(gòu)件的管理小結(jié)內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述構(gòu)件的管理構(gòu)件的分類描述對構(gòu)件庫中的構(gòu)件進行合理的分類和組織,幫助軟件開發(fā)人員方便地找到所需要的構(gòu)件大多數(shù)的研究都建議使用圖書館科學(xué)索引方法進行構(gòu)件分類構(gòu)件庫管理系統(tǒng):主要用于構(gòu)件的儲存、檢索、瀏覽和管理構(gòu)件的管理構(gòu)件的分類描述常用的構(gòu)件分類模式-1枚舉分類(EnumeratedClassification)將構(gòu)件組織成分類層次結(jié)構(gòu),構(gòu)件庫中的構(gòu)件按某些性質(zhì)分成若干大類,每個大類又分成若干較小的類,經(jīng)過若干次分解,形成構(gòu)件分類的層次結(jié)構(gòu),實際的構(gòu)件位于層次結(jié)構(gòu)的最低層,其它層次則表示構(gòu)件的類或子類枚舉分類模式的分層結(jié)構(gòu)易于理解和檢索,但是,在建立層次結(jié)構(gòu)之前,必須進行領(lǐng)域分析,尋找合適的供分類的性質(zhì)。屬性—值分類(Attribute_ValueClassification)為所有構(gòu)件定義一組屬性,每個構(gòu)件都具有一組屬性值,開發(fā)人員通過指定一組屬性值對構(gòu)件庫檢索與刻面分類方法非常類似,不同點在于:屬性—值分類法對可使用的屬性數(shù)量沒有限制;屬性沒有優(yōu)先級;不使用同義詞常用的構(gòu)件分類模式-1枚舉分類(EnumeratedCla常用的構(gòu)件分類模式-2刻面分類(FacetedClassification)根據(jù)一組刻面對構(gòu)件分類,每個刻面從不同的側(cè)面對構(gòu)件庫中的構(gòu)件進行分類,并根據(jù)重要性設(shè)置刻面的優(yōu)先級每個刻面由一組術(shù)語(term)構(gòu)成,稱之為術(shù)語空間(termspace),這些術(shù)語通常是描述性的關(guān)鍵詞檢索:用戶通過指定一組刻面的術(shù)語值尋找匹配的構(gòu)件使用同義詞詞典(thesaurus)解決用戶指定的術(shù)語值與庫中構(gòu)件所對應(yīng)的術(shù)語值之間的不一致問題評價:具有較好的靈活性,易于加入新的刻面值,比枚舉分類模式易于擴展和修改常用的構(gòu)件分類模式-2刻面分類(FacetedClassi構(gòu)件庫管理系統(tǒng)的主要功能構(gòu)件的分類存儲(即添加構(gòu)件):根據(jù)構(gòu)件庫的分類模型將入庫的構(gòu)件儲存在構(gòu)件庫中構(gòu)件檢索:從構(gòu)件庫中檢索出滿足用戶要求或接近用戶要求的構(gòu)件.構(gòu)件庫瀏覽:瀏覽庫中的全部或部分構(gòu)件刪除構(gòu)件:將不再使用的構(gòu)件從構(gòu)件庫中刪去構(gòu)件使用情況評價:根據(jù)用戶使用和檢索構(gòu)件的反饋意見對構(gòu)件作出評價,為進一步的改進提供依據(jù)構(gòu)件庫管理系統(tǒng)的主要功能構(gòu)件的分類存儲(即添加構(gòu)件):根據(jù)構(gòu)構(gòu)件的描述和檢索構(gòu)件庫管理系統(tǒng)的兩個關(guān)鍵技術(shù)直接影響到構(gòu)件庫檢索的查準(zhǔn)率(precision)、查全率(recall)和效率(efficient)常用的構(gòu)件檢索方法規(guī)約匹配:基于有序的謂詞邏輯的匹配,通過謂詞演算公式進行精確匹配,通過邏輯連接符和邏輯量詞進行部分精確匹配特征(signature)匹配:通過接口的定義進行匹配,適用于函數(shù)之類的構(gòu)件術(shù)語輪廓匹配:基于構(gòu)件編目描述語言的匹配,將每一個構(gòu)件的編目描述作為該構(gòu)件的一個特征矢量,通過測算矢量的距離進行匹配行為采樣:基于構(gòu)件測試的匹配,根據(jù)測試結(jié)果相同的概率進行匹配構(gòu)件的描述和檢索構(gòu)件庫管理系統(tǒng)的兩個關(guān)鍵技術(shù)內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述建造可復(fù)用構(gòu)件應(yīng)用系統(tǒng)工程構(gòu)件的管理小結(jié)內(nèi)容摘要基于構(gòu)件的軟件開發(fā)概述小結(jié)基于構(gòu)件的軟件開發(fā)(CBSD)是20世紀90年代開始流行的開發(fā)方法。CBSD支持軟件復(fù)用,能有效提高軟件的開發(fā)效率和質(zhì)量,降低開發(fā)和維護成本,因此受到人們的關(guān)注。本章內(nèi)容:基于構(gòu)件的軟件開發(fā)的概念、領(lǐng)域工程過程和應(yīng)用系統(tǒng)工程過程、可復(fù)用構(gòu)件的建造、基于CBSD的應(yīng)用系統(tǒng)分析和設(shè)計、以及構(gòu)件的管理小結(jié)基于構(gòu)件的軟件開發(fā)(CBSD)是20世紀90年代開始流行Serplogic青鳥軟件構(gòu)件庫管理系統(tǒng)—JBCLMS/Main.do系統(tǒng)特點:1系統(tǒng)采用基于B/S的多層體系結(jié)構(gòu);
2采用分布式的應(yīng)用架構(gòu);
3完全支持UDDIV2.0標(biāo)準(zhǔn)規(guī)范;
4采用J2EEV2.0,基于EJB技術(shù),具有較強的靈5活性和擴充性;
6支持刻面分類等多種分類模式;
7提出并采用基于角色的用戶管理機制,使系統(tǒng)具;8有靈活的權(quán)限分配和安全的控制方式。Serplogic青鳥軟件構(gòu)件庫管理系統(tǒng)—JBCLMSht系統(tǒng)功能:
1提供分布式構(gòu)件及其服務(wù)的注冊、發(fā)布、查詢、管理等功能,提供構(gòu)件管理信息與實體的有效管理平臺;
2實現(xiàn)軟件構(gòu)件庫中構(gòu)件管理與構(gòu)件服務(wù)的集成,軟件資產(chǎn)與構(gòu)件服務(wù)的集成;
3結(jié)合配置管理技術(shù),對構(gòu)件的構(gòu)造性和演化性進行支持;
4以UDDIRegistry(UDDI注冊中心)形式對Webservices形態(tài)的構(gòu)件提供有效管理支持,并對外界提供服務(wù);
5提供以刻面分類為主,結(jié)合多種標(biāo)準(zhǔn)的分類方法對構(gòu)件庫中大量構(gòu)件進行有效的管理;
6供多樣化的檢索機制,用戶可以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 4628-3:2024 EN Paints and varnishes - Evaluation of quantity and size of defects,and of intensity of uniform changes in appearance - Part 3: Assessment of degree of rus
- 企業(yè)晚宴祝酒詞
- 資料《小王子》讀后感
- DB12T 076-1997 太陽熱水器衛(wèi)生技術(shù)條件
- 中秋晚會領(lǐng)導(dǎo)致辭范文(8篇)
- 秋天村莊課件教學(xué)課件
- 燙傷課件幼兒教學(xué)課件
- 部編版歷史九年級上冊第三單元 第9課《中世紀城市和大學(xué)的興起》說課稿
- 校園足球課件教學(xué)課件
- 葉酸孕婦課件教學(xué)課件
- 潮濕相關(guān)性皮炎的護理
- 洪恩識字配套字庫完整版識字啟蒙200字-生字組詞句子完整版可打印-點讀指讀
- 幼兒園園長的幼教教研與項目管理
- 2024年黑龍江建筑職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 鐵路邊坡水害分析報告
- 手術(shù)中獲得性壓力性損傷護理課件
- 醫(yī)保藥品目錄培訓(xùn)課件
- 通信工程的職業(yè)生涯規(guī)劃
- 2024初一半期家長會
- 《漢字輸入一點通》課件
- (完整版)年產(chǎn)30萬噸甲醇工藝設(shè)計畢業(yè)設(shè)計
評論
0/150
提交評論