版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本資料來(lái)源軟件方法學(xué)軟件方法學(xué)第4章:面向?qū)ο蟮闹虚g件軟件體系結(jié)構(gòu)基于構(gòu)件的軟件開(kāi)發(fā)目標(biāo)n長(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ì)量也不高n對(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)分工合作n我們的目標(biāo):將制造業(yè)中的組裝式生產(chǎn)模式引入到軟件開(kāi)發(fā)中內(nèi)容摘要n基于構(gòu)件的軟件開(kāi)發(fā)概述n建造可復(fù)用構(gòu)件n應(yīng)用系統(tǒng)工程n構(gòu)件的管理n小結(jié)內(nèi)容摘要n建造可復(fù)用構(gòu)件n應(yīng)用系統(tǒng)
2、工程n構(gòu)件的管理n小結(jié)基于構(gòu)件的軟件開(kāi)發(fā)n基于構(gòu)件的軟件開(kāi)發(fā)Component-Based Software Development簡(jiǎn)稱(chēng)CBSD是指使用可復(fù)用構(gòu)件來(lái)開(kāi)發(fā)應(yīng)用軟件n基于構(gòu)件的軟件工程Component-Based Software Engineering簡(jiǎn)稱(chēng)CBSE構(gòu)件(Component)的典型定義nPressman書(shū)中的定義:構(gòu)件是某系統(tǒng)中有價(jià)值的、幾乎獨(dú)立的并可替換的一個(gè)部分,它在良好定義的體系結(jié)構(gòu)語(yǔ)境內(nèi)滿(mǎn)足某清晰的功能nBrown的定義:構(gòu)件是一個(gè)獨(dú)立發(fā)布的功能部分,可以通過(guò)其接口訪問(wèn)它的服務(wù)n“計(jì)算機(jī)科學(xué)技術(shù)百科全書(shū)”的定義:軟件構(gòu)件是軟件系統(tǒng)中具有相對(duì)獨(dú)立功能,可以明
3、確標(biāo)識(shí),接口由規(guī)約指定,與語(yǔ)境有明顯依賴(lài)關(guān)系,可獨(dú)立部署,且多由第三方提供的可組裝軟件實(shí)體;軟件構(gòu)件須承載有用的功能,并遵循某種構(gòu)件模型;可復(fù)用構(gòu)件是指具有可復(fù)用價(jià)值的構(gòu)件商用成品構(gòu)件nCommercial off-the-shelfn簡(jiǎn)稱(chēng)COTSn指由第三方開(kāi)發(fā)的滿(mǎn)足一定構(gòu)件標(biāo)準(zhǔn)的,可組裝的軟件構(gòu)件 構(gòu)件的要素n規(guī)格說(shuō)明:建立在接口概念之上,作為服務(wù)提供方與客戶(hù)方之間的契約n一個(gè)或多個(gè)實(shí)現(xiàn)n受約束的構(gòu)件標(biāo)準(zhǔn)n包裝方法n部署方法3C構(gòu)件模型n關(guān)于構(gòu)件的一個(gè)指導(dǎo)性模型n由構(gòu)件的三個(gè)不同方面的描述組成概念(concept):關(guān)于“構(gòu)件做什么”的抽象描述,可以通過(guò)概念去理解構(gòu)件的功能。概念包括接口規(guī)
4、約和語(yǔ)義描述兩部分,語(yǔ)義描述和每個(gè)操作相關(guān)聯(lián)(至少表示為前后置謂詞形式) 內(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)件模型nREBOOT(Reuse Based on Object_Oriented Technology):基于面向?qū)ο蠹夹g(shù)的復(fù)用n一種基于刻面(facet)的模型刻面:對(duì)領(lǐng)域進(jìn)行分析,所得到的一組基本的描述特征刻面可以描述構(gòu)件執(zhí)行的功能、所操作的數(shù)據(jù)、構(gòu)件應(yīng)用的周境或任何其它特征通常的刻面描述限制在不超過(guò)7或8個(gè)刻面n
5、一個(gè)構(gòu)件通常包括以下刻面:抽象(abstraction):它是構(gòu)件概念的抽象性描述操作(operation):它是構(gòu)件所提供的操作的描述操作對(duì)象(operand):它描述操作的對(duì)象依賴(lài)(dependency):它描述構(gòu)件與外界的依賴(lài)關(guān)系常用的構(gòu)件標(biāo)準(zhǔn)nCORBA(公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu))Common Object Request Broker ArchitectureOMG發(fā)布的構(gòu)件標(biāo)準(zhǔn)核心是ORB(Object Request Broker),定義了異構(gòu)環(huán)境下對(duì)象透明地發(fā)送請(qǐng)求和接收響應(yīng)的基本機(jī)制nCOM+微軟開(kāi)發(fā)的一個(gè)構(gòu)件對(duì)象模型,提供了在運(yùn)行于Windows操作系統(tǒng)之上的單個(gè)應(yīng)用中使用
6、不同廠商生產(chǎn)的對(duì)象的規(guī)約 nEJB:一種基于Java的構(gòu)件標(biāo)準(zhǔn)提供了讓客戶(hù)端使用遠(yuǎn)程的分布式對(duì)象的框架EJB規(guī)約規(guī)定了EJB構(gòu)件如何與EJB容器進(jìn)行行交互nCORBA 技術(shù)規(guī)范nCORBA 是OMG組織在1991 年提出的公用對(duì)象請(qǐng)求代理程序結(jié)構(gòu)技術(shù)規(guī)范。CORBA 的底層結(jié)構(gòu)是基于面向?qū)ο竽P偷哪K組成:n1 接口描述語(yǔ)言(OMG Interface Definition Language , OMG IDL ) 、n2 對(duì)象請(qǐng)求代理(Object Request Broker , ORB ) n3 IIOP 標(biāo)準(zhǔn)協(xié)議( Internet Inter - ORB Protocol ) n使用
7、接口描述語(yǔ)言編寫(xiě)的對(duì)象接口,使得與語(yǔ)言無(wú)關(guān)的獨(dú)立性成為可能。IDL 使得所有CORBA 對(duì)象以一種方式被描述,僅僅需要一個(gè)由語(yǔ)言( C/ C + + 、CORBA 或Java ) 到IDL 的“橋梁”。CORBA 對(duì)象的互通要以對(duì)象請(qǐng)求代理為中介,這種互通信可以在多種流行通信協(xié)議之上實(shí)現(xiàn)。在TCP/ IP 上,來(lái)自于不同開(kāi)發(fā)商的ORB 用IIOP 標(biāo)準(zhǔn)協(xié)議進(jìn)行通訊。nCOM/ DCOM 技術(shù)規(guī)范nCOM ( Component Object Model ,組件對(duì)象模型) 是Microsoft 軟件組件標(biāo)準(zhǔn),是構(gòu)造二進(jìn)制兼容軟件組件的規(guī)范。COM 的體系結(jié)構(gòu)包括統(tǒng)一數(shù)據(jù)傳輸、持久存儲(chǔ)和智能命名、
8、COM 核心等。其中:n 1 COM 核心:包括服務(wù)控制管理、接口代理、接口基和COM 庫(kù)。COM 核心定義了COM 對(duì)象與使用者如何通過(guò)二進(jìn)制標(biāo)準(zhǔn)接口進(jìn)行交換的規(guī)格說(shuō)明。n 2 持久存儲(chǔ)::通過(guò)Istorage 和Istream 接口提供一個(gè)“文件系統(tǒng)”。n 3 智能命名:通過(guò)對(duì)象實(shí)現(xiàn)接口,使用戶(hù)可以在以后重新連接一個(gè)指定的對(duì)象實(shí)例,并且使對(duì)象實(shí)例仍保持原來(lái)的狀態(tài),另外還提供保存它們名字和其它持久信息的機(jī)制。COM 庫(kù)提供對(duì)所有客戶(hù)及組件都非常有用的組件管理服務(wù)。nDCOM 是COM 的分布式擴(kuò)展, Microsoft 把DCOM 作為開(kāi)發(fā)Internet 和組件的基礎(chǔ)。當(dāng)客戶(hù)和組件位于不同
9、機(jī)器時(shí), DCOM 用TCP/ IP 協(xié)議等取代COM 中的本地進(jìn)程間通信LRPC ,從而對(duì)位于Internet 不同n機(jī)器上的組件對(duì)象之間的相互通訊提供了透明的支持。n目前可以支持DCOM 部件開(kāi)發(fā)的編程語(yǔ)言很多,如Java、Visual C+/ VisualBasic、Delphi、PowerBuilder 等,具有較好的集成性和擴(kuò)展性。n微軟的許多其它軟件如OLE、OLE DB、ADO 都是基于COM/DCOM 技術(shù)。nCOM/DCOM 并沒(méi)有真正實(shí)現(xiàn)跨平臺(tái),目前基于COM 的軟件較多,但沒(méi)有運(yùn)行于異構(gòu)平臺(tái)上的基于DCOM 的分布式軟件。COM/DCOM 在微軟平臺(tái)上運(yùn)行情況較好,但對(duì)實(shí)
10、時(shí)性、可靠性等的支持較少。nCOM+技術(shù)規(guī)范nCOM+ 是微軟公司在COM、DCOM (Distributed COM)和MTS(Microsoft Transaction Server)基礎(chǔ)上進(jìn)一步優(yōu)化了組件管理環(huán)境與事務(wù)服務(wù)3,提供了無(wú)縫連接系統(tǒng)。n它以系統(tǒng)服務(wù)的形式把原先一些分散的技術(shù)綜合起來(lái),并提供簡(jiǎn)單的編程模型,以直接應(yīng)用層的編程接口為應(yīng)用程序提供服務(wù),使創(chuàng)建服務(wù)器應(yīng)用就像實(shí)現(xiàn)客戶(hù)應(yīng)用一樣簡(jiǎn)單。COM+ 把COM 模型推向了更高層次,成為了企業(yè)級(jí)別分布式軟件開(kāi)發(fā)領(lǐng)域的重要技術(shù)。nCOM+ 組件提供了ASP、ASP Servlet、ASPBean 等技術(shù),實(shí)現(xiàn)頁(yè)面動(dòng)態(tài)內(nèi)容的實(shí)現(xiàn)與顯示,
11、ASP Servlet 運(yùn)行在Web 服務(wù)器端的Servlet 程序,支持多線程、多用戶(hù)訪問(wèn),能完成所有CGI 功能。n以SOAP 為基礎(chǔ)的Microsoft 的.NET 顯現(xiàn)出減少實(shí)現(xiàn)RPC 的困難,快速實(shí)現(xiàn)互操作性的潛力,使COM+組件可以與CORBA 和Java 標(biāo)準(zhǔn)進(jìn)行通信。n采用MFC(Microsoft foundation class library)和ATL(activetemplate library)作為開(kāi)發(fā)工具,用COM+技術(shù)把模塊的類(lèi)做成動(dòng)態(tài)鏈接庫(kù)(DLL)的形式來(lái)發(fā)布,可以在物理上把模塊類(lèi)的包裝與客戶(hù)的包裝脫離開(kāi)來(lái)。SOAP通訊協(xié)議:nSimple Object Ac
12、cess Protocol(簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議)的英文縮寫(xiě),目前已經(jīng)得到IBM 、Ariba 、Commerce One 、SAP 、康柏、惠普等公司的支持。它能夠讓不同應(yīng)用程序之間通過(guò)HTTP通訊協(xié)議,以 XML格式互相交換彼此的資料。作為新生事物, SOAP 通過(guò)建立 HTTP 連接隧道來(lái)部署自己的協(xié)議:SOAP 要求把請(qǐng)求參數(shù)組織在XML 文檔中,該文檔然后被放到 HTTP POST 請(qǐng)求體中發(fā)送到運(yùn)行在 Web 主機(jī)基于 SOAP 的 Web 服務(wù)。同樣,現(xiàn)在正在做很多擴(kuò)展 SOAP 的工作,使它能使用其它的傳輸協(xié)議,例如 HTTPS 和 SMTP。n它包括四個(gè)部分:n1 SOAP 封裝
13、(envelop),封裝定義了一個(gè)描述消息中的內(nèi)容是什么,是誰(shuí)發(fā)送的,誰(shuí)應(yīng)當(dāng)接受并處理它以及如何處理它們的框架;n2 SOAP 編碼規(guī)則(encoding rules),用于表示應(yīng)用程序需要使用的數(shù)據(jù)類(lèi)型的實(shí)例;n3 SOAP RPC 表示(RPC representation),表示遠(yuǎn)程過(guò)程n4 SOAP 綁定(binding),使用底層協(xié)議交換信息nEJB 技術(shù)規(guī)范nEJB ( Enterprise Java Beans ) 是J2EE 的核心技術(shù)之一,它是建立基于Java 的服務(wù)器端組件的標(biāo)準(zhǔn)。nEJB 是以部件為基礎(chǔ)框架,其中每個(gè)部件都是分布式對(duì)象,可以擴(kuò)展,也可以適配在不同應(yīng)用中使用
14、,大大方便了企業(yè)應(yīng)用開(kāi)發(fā)。EJB 不局限于一種特定的操作系統(tǒng),也不局限于任何一種特別的機(jī)構(gòu)、服務(wù)器解決方案、中間件或者通信協(xié)議,是一種可重用的具有高度可移植性的組件。EJB 組件模型包含了EJB 服務(wù)器、容器、Home 接口、Remote 接口等。n三種分布式組件對(duì)象模型的比較(表1)n三種模型各有其優(yōu)勢(shì):n Java 由于平臺(tái)無(wú)關(guān)性的優(yōu)勢(shì)顯著,成為理想的Internet 技術(shù);n而Windows平臺(tái)的廣泛使用也使COM/ DCOM 具有深厚的基礎(chǔ); nOMG 組織在10 幾年來(lái)一直在為自己的組件軟件建立標(biāo)準(zhǔn),而且已被很多組織和公司采用。對(duì)于異構(gòu)環(huán)境下的企業(yè)應(yīng)用開(kāi)發(fā), CORBA 和EJB 有
15、著明顯的優(yōu)勢(shì),并且CORBA 和EJB 所依賴(lài)Java 技術(shù)可以很好的互補(bǔ)。CORBA 處理網(wǎng)絡(luò)透明性, EJB 處理實(shí)現(xiàn)透明性。因此, CORBA 和EJB 技術(shù)緊密結(jié)合應(yīng)是今后多層分布式系統(tǒng)發(fā)展的一大趨勢(shì)?;跇?gòu)件的軟件開(kāi)發(fā)過(guò)程領(lǐng)域工程步驟-1n領(lǐng)域分析:首先要進(jìn)行領(lǐng)域分析,收集領(lǐng)域中有代表性的應(yīng)用樣本,分析應(yīng)用中的公共部分或相似部分,抽取該領(lǐng)域的應(yīng)用體系結(jié)構(gòu)n建立領(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ò)充的,并可供該領(lǐng)域的應(yīng)用復(fù)用n標(biāo)識(shí)候選構(gòu)件:在領(lǐng)域分析和領(lǐng)域基準(zhǔn)體系結(jié)構(gòu)模型的基礎(chǔ)上標(biāo)識(shí)該領(lǐng)域的候選構(gòu)件n泛化(gener
16、alization)和可變性(variability)分析:提高其通用性,同時(shí)尋找候選構(gòu)件在不同應(yīng)用中的變化點(diǎn)(variation point),通過(guò)設(shè)置參數(shù)、繼承或其它手段,使可變部分局部化領(lǐng)域工程步驟-2n重建構(gòu)件:在泛化和可變性分析的基礎(chǔ)上,重建構(gòu)件,使它成為可復(fù)用構(gòu)件n構(gòu)件的測(cè)試:對(duì)重建的可復(fù)用的構(gòu)件要嚴(yán)格測(cè)試,以提高其可靠性n構(gòu)件的包裝:經(jīng)測(cè)試的構(gòu)件應(yīng)根據(jù)構(gòu)件庫(kù)的要求,對(duì)它進(jìn)行包裝,以便構(gòu)件庫(kù)對(duì)它分類(lèi)儲(chǔ)存和檢索n構(gòu)件入庫(kù):包裝后的構(gòu)件即可存入構(gòu)件庫(kù)應(yīng)用系統(tǒng)工程的步驟-1n建立應(yīng)用系統(tǒng)的體系結(jié)構(gòu)模型:可以使用構(gòu)件生產(chǎn)者提供的領(lǐng)域特定的基準(zhǔn)體系結(jié)構(gòu)經(jīng)裁剪和/或擴(kuò)充而獲得n尋找候選構(gòu)件:根
17、據(jù)應(yīng)用系統(tǒng)的體系結(jié)構(gòu)模型,從構(gòu)件庫(kù)或其它可利用的構(gòu)件源中尋找候選構(gòu)件n評(píng)價(jià)和選擇合適的構(gòu)件:評(píng)價(jià)候選構(gòu)件以判斷是否適合于待開(kāi)發(fā)的軟件n構(gòu)件的修改(modify)和特化(specialize):在復(fù)用時(shí)對(duì)構(gòu)件進(jìn)行特化以滿(mǎn)足特定應(yīng)用的需要應(yīng)用系統(tǒng)工程的步驟-2n開(kāi)發(fā)未被復(fù)用的部分:對(duì)新系統(tǒng)中未復(fù)用的部分進(jìn)行開(kāi)發(fā)n構(gòu)件的組裝:將特化和修改后的可復(fù)用構(gòu)件和新開(kāi)發(fā)的部分組裝成一個(gè)新的軟件系統(tǒng)n集成測(cè)試:對(duì)組裝后的軟件系統(tǒng)進(jìn)行集成測(cè)試n評(píng)價(jià)被復(fù)用的構(gòu)件,并推薦可能的新構(gòu)件CBSD對(duì)質(zhì)量、生產(chǎn)率和成本的影響n對(duì)質(zhì)量的影響:隨著長(zhǎng)期的測(cè)試和使用,構(gòu)件能夠保證很高的質(zhì)量,因此可以使系統(tǒng)開(kāi)發(fā)的質(zhì)量得到保證n對(duì)生產(chǎn)
18、率的影響:一般來(lái)說(shuō),大約30% 50%的復(fù)用可使生產(chǎn)率提高25%40% n對(duì)成本的影響與復(fù)用相關(guān)的成本應(yīng)由多個(gè)采用復(fù)用技術(shù)的項(xiàng)目來(lái)分擔(dān)通常要經(jīng)過(guò)23個(gè)采用復(fù)用的生產(chǎn)周期(大約3年左右)復(fù)用才能帶來(lái)顯著的效益內(nèi)容摘要n基于構(gòu)件的軟件開(kāi)發(fā)概述n應(yīng)用系統(tǒng)工程n構(gòu)件的管理n小結(jié)建造可復(fù)用構(gòu)件n建造構(gòu)件的目的是為了以后復(fù)用構(gòu)件,即為復(fù)用而建造構(gòu)件n在建造構(gòu)件時(shí)仍應(yīng)遵循抽象、逐步求精、信息隱蔽、功能獨(dú)立、結(jié)構(gòu)化程序設(shè)計(jì)等思想和原則n由于面向?qū)ο蠓椒ň哂蟹庋b性、繼承等特點(diǎn),能有力地支持復(fù)用,所以應(yīng)盡可能考慮采用面向?qū)ο蠓椒▽?duì)可復(fù)用構(gòu)件的要求n構(gòu)件的設(shè)計(jì)應(yīng)具有較高的通用程度n構(gòu)件應(yīng)易于調(diào)整n構(gòu)件應(yīng)易于組裝n構(gòu)
19、件必須具有可檢索性n構(gòu)件必須經(jīng)過(guò)充分的測(cè)試創(chuàng)建領(lǐng)域構(gòu)件的設(shè)計(jì)框架n除應(yīng)遵循已有的設(shè)計(jì)概念和原則外,還必須考慮應(yīng)用領(lǐng)域的特征,例如:標(biāo)準(zhǔn)數(shù)據(jù):應(yīng)該研究應(yīng)用領(lǐng)域,并標(biāo)識(shí)出標(biāo)準(zhǔn)的全局?jǐn)?shù)據(jù)結(jié)構(gòu)(如文件結(jié)構(gòu)或完整的數(shù)據(jù)庫(kù))。于是所有設(shè)計(jì)的構(gòu)件都可以用這些標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)來(lái)刻畫(huà)標(biāo)準(zhǔn)接口協(xié)議:應(yīng)該建立三個(gè)層次的接口協(xié)議:構(gòu)件內(nèi)(intramodular)接口、構(gòu)件外接口以及人機(jī)接口程序模板:程序的結(jié)構(gòu)模型可以作為新程序的體系結(jié)構(gòu)設(shè)計(jì)的模板可變性分析n構(gòu)件應(yīng)具有較強(qiáng)的通用性和可變性n為了滿(mǎn)足不同的復(fù)用需求,需要在構(gòu)件復(fù)用時(shí)可能發(fā)生變化的一個(gè)或多個(gè)位置上標(biāo)識(shí)變化點(diǎn)(variation point),同時(shí)為變化點(diǎn)附加
20、一個(gè)或多個(gè)變體(variant)n例如Account構(gòu)件的帳號(hào)編碼規(guī)則以及透支規(guī)則在不同的國(guó)家可能不一樣VP1VP2CVP1 descriptioncontext 構(gòu)件系統(tǒng)中的門(mén)面和變體可變性機(jī)制n繼承:在變化點(diǎn)上創(chuàng)建指定抽象類(lèi)型或抽象類(lèi)的子類(lèi)型或子類(lèi)。n擴(kuò)展和擴(kuò)展點(diǎn):可以在用況和對(duì)象構(gòu)件中的變化點(diǎn)(或擴(kuò)展點(diǎn))上附加變體(或擴(kuò)展)n參數(shù)化:用于模板、框架和宏的類(lèi)型和類(lèi)適用于變體較小時(shí)(經(jīng)常是一個(gè)數(shù)值、短語(yǔ)或表達(dá)式)內(nèi)容摘要n基于構(gòu)件的軟件開(kāi)發(fā)概述n建造可復(fù)用構(gòu)件n構(gòu)件的管理n小結(jié)應(yīng)用系統(tǒng)工程n任務(wù):通過(guò)組裝可復(fù)用構(gòu)件得到應(yīng)用系統(tǒng)nCBSD中構(gòu)件是組成應(yīng)用系統(tǒng)的基本單元n注重體系結(jié)構(gòu)和構(gòu)件接口的
21、分析和設(shè)計(jì),忽略構(gòu)件內(nèi)部實(shí)現(xiàn)的設(shè)計(jì)關(guān)注接口的設(shè)計(jì)n接口是構(gòu)件行為的描述機(jī)制,并提供了對(duì)其服務(wù)的訪問(wèn)供應(yīng)接口(Provided interface):描述構(gòu)件所提供的服務(wù),可以被其它構(gòu)件訪問(wèn)請(qǐng)求接口(requived interface):請(qǐng)求接口描述構(gòu)件為完成其功能(服務(wù))需請(qǐng)求其它構(gòu)件為其提供的服務(wù)n一個(gè)接口可以有多種實(shí)現(xiàn),并且對(duì)使用者隱蔽n接口描述是構(gòu)件使用者能依賴(lài)的所有信息,因此構(gòu)件接口描述的表達(dá)能力和完整性是CBSD方法主要關(guān)注的問(wèn)題之一基于構(gòu)件的體系結(jié)構(gòu)n基于構(gòu)件的應(yīng)用系統(tǒng)體系結(jié)構(gòu)描述了組成應(yīng)用系統(tǒng)的構(gòu)件,構(gòu)件之間的組織結(jié)構(gòu)、交互、約束和關(guān)系對(duì)系統(tǒng)的組成、結(jié)構(gòu)以及系統(tǒng)如何工作的較為宏
22、觀的描述n如果在領(lǐng)域工程中已開(kāi)發(fā)了領(lǐng)域基準(zhǔn)體系結(jié)構(gòu)(reference architecture),則可以通過(guò)對(duì)基準(zhǔn)體系結(jié)構(gòu)的剪裁和/或擴(kuò)充獲得應(yīng)用系統(tǒng)的體系結(jié)構(gòu)基于構(gòu)件的體系結(jié)構(gòu)層次n邏輯體系結(jié)構(gòu)以接口形式對(duì)每組服務(wù)進(jìn)行描述,并描述那些包怎樣交互來(lái)滿(mǎn)足通常的用戶(hù)使用場(chǎng)景展示了系統(tǒng)設(shè)計(jì)的藍(lán)圖,可用于驗(yàn)證系統(tǒng)是否提供了適當(dāng)?shù)墓δ?,并能在系統(tǒng)功能需求變化時(shí)方便地改變系統(tǒng)的設(shè)計(jì)n物理體系結(jié)構(gòu)描述系統(tǒng)的物理設(shè)計(jì),包括硬件及其拓?fù)浣Y(jié)構(gòu)、網(wǎng)絡(luò)和通信協(xié)議、基礎(chǔ)設(shè)施(如運(yùn)行平臺(tái)、中間件、數(shù)據(jù)庫(kù)管理系統(tǒng)等),以及軟件系統(tǒng)的部署展示了系統(tǒng)的實(shí)現(xiàn)構(gòu)架,有助于理解系統(tǒng)的許多非功能屬性,如性能、吞吐量、服務(wù)的可用性等基
23、于構(gòu)件的應(yīng)用系統(tǒng)開(kāi)發(fā)方法nRationel統(tǒng)一過(guò)程Rationals Unified Process,簡(jiǎn)稱(chēng)RUP一個(gè)關(guān)于軟件開(kāi)發(fā)的廣泛的過(guò)程框架,覆蓋了整個(gè)軟件生命周期使用UML進(jìn)行分析和設(shè)計(jì)建模,鼓勵(lì)使用CBSD方法nThe Select Perspective Method支持通用的構(gòu)件設(shè)計(jì)方法,并以Select Component Manager為目標(biāo)通用構(gòu)件設(shè)計(jì)準(zhǔn)則使用UML作為構(gòu)件設(shè)計(jì)符號(hào)nSterling Software的Enterprise-CBD方法鼓勵(lì)使用UML的擴(kuò)展形式把構(gòu)件的規(guī)格說(shuō)明和實(shí)現(xiàn)分離允許制作技術(shù)中立的規(guī)格說(shuō)明,然后再使用不同的實(shí)現(xiàn)技術(shù)來(lái)實(shí)現(xiàn)規(guī)格說(shuō)明n共同點(diǎn):關(guān)
24、注構(gòu)件庫(kù)中的構(gòu)件、接口的設(shè)計(jì)和基于構(gòu)件構(gòu)架的應(yīng)用程序組裝構(gòu)件鑒定(qualification)n目的:確保獲得的構(gòu)件可以完成所需的功能并能被集成在系統(tǒng)中與系統(tǒng)的其它構(gòu)件正確交互n主要依據(jù)是構(gòu)件的接口描述和相關(guān)的規(guī)格說(shuō)明,但這些信息往往還不足以確保構(gòu)件能成功地集成到系統(tǒng)中n對(duì)于外部提供的成品構(gòu)件(COTS)可通過(guò)運(yùn)行構(gòu)件測(cè)試版進(jìn)行鑒定構(gòu)件鑒定需考慮的因素n應(yīng)用編程接口(API)n該構(gòu)件所需的開(kāi)發(fā)和集成工具n運(yùn)行時(shí)需求,包括使用的資源(如內(nèi)存或存儲(chǔ)器)、時(shí)間或速度以及網(wǎng)絡(luò)協(xié)議n服務(wù)需求,包括操作系統(tǒng)接口和來(lái)自其他構(gòu)件的支持n安全特征,包括訪問(wèn)控制和身份驗(yàn)證協(xié)議n嵌入式設(shè)計(jì)假定,包括特定的數(shù)值或非數(shù)
25、值算法的使用n異常處理構(gòu)件的特化和組裝n構(gòu)件特化根據(jù)應(yīng)用系統(tǒng)的具體情況對(duì)其進(jìn)行特化,對(duì)變化點(diǎn)配置特定的變體,必要時(shí)要自行開(kāi)發(fā)變體如果所選的構(gòu)件不能完全滿(mǎn)足應(yīng)用系統(tǒng)的功能需求,還需對(duì)構(gòu)件作適當(dāng)?shù)男薷娜绻x的構(gòu)件未按構(gòu)件標(biāo)準(zhǔn)開(kāi)發(fā)(如遺產(chǎn)系統(tǒng)中抽取的構(gòu)件)時(shí),還需按某種構(gòu)件標(biāo)準(zhǔn)對(duì)其進(jìn)行包裝n構(gòu)件組裝將經(jīng)過(guò)鑒定和特化后的構(gòu)件組裝成應(yīng)用系統(tǒng)提倡使用構(gòu)件組裝工具來(lái)組裝應(yīng)用系統(tǒng)(能檢查接口匹配中的錯(cuò)誤,實(shí)現(xiàn)組裝的自動(dòng)化或半自動(dòng)化)內(nèi)容摘要n基于構(gòu)件的軟件開(kāi)發(fā)概述n建造可復(fù)用構(gòu)件n應(yīng)用系統(tǒng)工程n小結(jié)構(gòu)件的管理n構(gòu)件的分類(lèi)描述對(duì)構(gòu)件庫(kù)中的構(gòu)件進(jìn)行合理的分類(lèi)和組織,幫助軟件開(kāi)發(fā)人員方便地找到所需要的構(gòu)件大多數(shù)的
26、研究都建議使用圖書(shū)館科學(xué)索引方法進(jìn)行構(gòu)件分類(lèi)n構(gòu)件庫(kù)管理系統(tǒng):主要用于構(gòu)件的儲(chǔ)存、檢索、瀏覽和管理常用的構(gòu)件分類(lèi)模式-1n枚舉分類(lèi)(Enumerated Classification)將構(gòu)件組織成分類(lèi)層次結(jié)構(gòu),構(gòu)件庫(kù)中的構(gòu)件按某些性質(zhì)分成若干大類(lèi),每個(gè)大類(lèi)又分成若干較小的類(lèi),經(jīng)過(guò)若干次分解,形成構(gòu)件分類(lèi)的層次結(jié)構(gòu),實(shí)際的構(gòu)件位于層次結(jié)構(gòu)的最低層,其它層次則表示構(gòu)件的類(lèi)或子類(lèi)枚舉分類(lèi)模式的分層結(jié)構(gòu)易于理解和檢索,但是,在建立層次結(jié)構(gòu)之前,必須進(jìn)行領(lǐng)域分析,尋找合適的供分類(lèi)的性質(zhì)。n屬性值分類(lèi)(Attribute_Value Classification)為所有構(gòu)件定義一組屬性,每個(gè)構(gòu)件都具有一組
27、屬性值,開(kāi)發(fā)人員通過(guò)指定一組屬性值對(duì)構(gòu)件庫(kù)檢索與刻面分類(lèi)方法非常類(lèi)似,不同點(diǎn)在于:屬性值分類(lèi)法對(duì)可使用的屬性數(shù)量沒(méi)有限制;屬性沒(méi)有優(yōu)先級(jí);不使用同義詞常用的構(gòu)件分類(lèi)模式-2n刻面分類(lèi)(Faceted Classification)根據(jù)一組刻面對(duì)構(gòu)件分類(lèi),每個(gè)刻面從不同的側(cè)面對(duì)構(gòu)件庫(kù)中的構(gòu)件進(jìn)行分類(lèi),并根據(jù)重要性設(shè)置刻面的優(yōu)先級(jí)每個(gè)刻面由一組術(shù)語(yǔ)(term)構(gòu)成,稱(chēng)之為術(shù)語(yǔ)空間(term space),這些術(shù)語(yǔ)通常是描述性的關(guān)鍵詞檢索:用戶(hù)通過(guò)指定一組刻面的術(shù)語(yǔ)值尋找匹配的構(gòu)件使用同義詞詞典(thesaurus)解決用戶(hù)指定的術(shù)語(yǔ)值與庫(kù)中構(gòu)件所對(duì)應(yīng)的術(shù)語(yǔ)值之間的不一致問(wèn)題評(píng)價(jià):具有較好的靈活性,
28、易于加入新的刻面值,比枚舉分類(lèi)模式易于擴(kuò)展和修改構(gòu)件庫(kù)管理系統(tǒng)的主要功能n構(gòu)件的分類(lèi)存儲(chǔ)(即添加構(gòu)件):根據(jù)構(gòu)件庫(kù)的分類(lèi)模型將入庫(kù)的構(gòu)件儲(chǔ)存在構(gòu)件庫(kù)中n構(gòu)件檢索:從構(gòu)件庫(kù)中檢索出滿(mǎn)足用戶(hù)要求或接近用戶(hù)要求的構(gòu)件.n構(gòu)件庫(kù)瀏覽:瀏覽庫(kù)中的全部或部分構(gòu)件n刪除構(gòu)件:將不再使用的構(gòu)件從構(gòu)件庫(kù)中刪去n構(gòu)件使用情況評(píng)價(jià):根據(jù)用戶(hù)使用和檢索構(gòu)件的反饋意見(jiàn)對(duì)構(gòu)件作出評(píng)價(jià),為進(jìn)一步的改進(jìn)提供依據(jù)構(gòu)件的描述和檢索n構(gòu)件庫(kù)管理系統(tǒng)的兩個(gè)關(guān)鍵技術(shù)n直接影響到構(gòu)件庫(kù)檢索的查準(zhǔn)率(precision)、查全率(recall)和效率(efficient)n常用的構(gòu)件檢索方法規(guī)約匹配:基于有序的謂詞邏輯的匹配,通過(guò)謂詞演算
29、公式進(jìn)行精確匹配,通過(guò)邏輯連接符和邏輯量詞進(jìn)行部分精確匹配特征(signature)匹配:通過(guò)接口的定義進(jìn)行匹配,適用于函數(shù)之類(lèi)的構(gòu)件術(shù)語(yǔ)輪廓匹配:基于構(gòu)件編目描述語(yǔ)言的匹配,將每一個(gè)構(gòu)件的編目描述作為該構(gòu)件的一個(gè)特征矢量,通過(guò)測(cè)算矢量的距離進(jìn)行匹配行為采樣:基于構(gòu)件測(cè)試的匹配,根據(jù)測(cè)試結(jié)果相同的概率進(jìn)行匹配內(nèi)容摘要n基于構(gòu)件的軟件開(kāi)發(fā)概述n建造可復(fù)用構(gòu)件n應(yīng)用系統(tǒng)工程n構(gòu)件的管理小結(jié)n基于構(gòu)件的軟件開(kāi)發(fā)(CBSD)是20世紀(jì)90年代開(kāi)始流行的開(kāi)發(fā)方法。nCBSD支持軟件復(fù)用,能有效提高軟件的開(kāi)發(fā)效率和質(zhì)量,降低開(kāi)發(fā)和維護(hù)成本,因此受到人們的關(guān)注。n本章內(nèi)容:基于構(gòu)件的軟件開(kāi)發(fā)的概念、領(lǐng)域工程
30、過(guò)程和應(yīng)用系統(tǒng)工程過(guò)程、可復(fù)用構(gòu)件的建造、基于CBSD的應(yīng)用系統(tǒng)分析和設(shè)計(jì)、以及構(gòu)件的管理Serplogic 青鳥(niǎo)軟件構(gòu)件庫(kù)管理系統(tǒng)JBCLMS./Main.don系統(tǒng)特點(diǎn)系統(tǒng)特點(diǎn):n1 系統(tǒng)采用基于B/S的多層體系結(jié)構(gòu);2 采用分布式的應(yīng)用架構(gòu);3 完全支持UDDI V2.0標(biāo)準(zhǔn)規(guī)范;4 采用J2EE V2.0,基于EJB技術(shù),具有較強(qiáng)的靈5 活性和擴(kuò)充性;6 支持刻面分類(lèi)等多種分類(lèi)模式;7 提出并采用基于角色的用戶(hù)管理機(jī)制,使系統(tǒng)具;n8有靈活的權(quán)限分配和安全的控制方式。 n系統(tǒng)功能:系統(tǒng)功能:1 提供分布式構(gòu)件及其服務(wù)的注冊(cè)、發(fā)布、查詢(xún)、管理等功能,提供構(gòu)件管理信息與實(shí)體的有效管理平臺(tái);2 實(shí)現(xiàn)軟件構(gòu)件庫(kù)中構(gòu)件管理與構(gòu)件服務(wù)的集成,軟件資產(chǎn)與構(gòu)件服務(wù)的集成;3 結(jié)合配置管理技術(shù),對(duì)構(gòu)件的構(gòu)造性和演化性進(jìn)行支持;4以UDDI Registry(UDDI注冊(cè)中心)形式對(duì)Web services形態(tài)的構(gòu)件提供有效管理支持,并對(duì)外界提供服務(wù);5 提供以刻面分類(lèi)為主,結(jié)合多種標(biāo)準(zhǔn)的分類(lèi)方法對(duì)構(gòu)件庫(kù)中大量構(gòu)件進(jìn)行有效的管理;6 供多樣化的檢索機(jī)制,用戶(hù)可以更加靈活地查找構(gòu)件;7 實(shí)行基于角色的用戶(hù)管理,提供更靈活的訪問(wèn)控制機(jī)制。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年地下室產(chǎn)權(quán)交易與資產(chǎn)評(píng)估合同3篇
- 二零二五年度倉(cāng)儲(chǔ)租賃合同范本(含倉(cāng)儲(chǔ)技術(shù)支持)3篇
- 二零二五年度企業(yè)環(huán)保責(zé)任擔(dān)保合同2篇
- 2024版產(chǎn)品工藝保密合作合同書(shū)版B版
- 2025短期勞務(wù)試用合同文本
- 2024年版股權(quán)回購(gòu)保障合同版
- 2024版商鋪權(quán)屬變更協(xié)議樣本3篇
- 2024年蒸汽鍋爐安裝合作協(xié)議
- 二零二五年度個(gè)人創(chuàng)業(yè)貸款延期還款協(xié)議范本與創(chuàng)業(yè)扶持3篇
- 2025年度文化產(chǎn)業(yè)競(jìng)業(yè)限制協(xié)議模板3篇
- 200立方矩形鋼筋混凝土清水池標(biāo)準(zhǔn)圖集(共7頁(yè))
- 熱處理變形基礎(chǔ)知識(shí)
- 網(wǎng)絡(luò)安全運(yùn)維培訓(xùn)測(cè)試題
- 民政部主管社團(tuán)管理辦法
- 工地施工臨時(shí)用水及計(jì)算
- 三年級(jí)數(shù)學(xué)寒假每日一練
- 最新宜昌市中考數(shù)學(xué)21題圓訓(xùn)練(1)教師版有答案
- 工作計(jì)劃酒店上半年工作總結(jié)及下半年工作計(jì)劃
- 石油詞匯大全-俄語(yǔ)專(zhuān)業(yè)詞匯
- 東營(yíng)市學(xué)校安全工作先進(jìn)個(gè)人申報(bào)表岳向明
評(píng)論
0/150
提交評(píng)論