第14章 基于構件的軟件開發(fā)_第1頁
第14章 基于構件的軟件開發(fā)_第2頁
第14章 基于構件的軟件開發(fā)_第3頁
第14章 基于構件的軟件開發(fā)_第4頁
第14章 基于構件的軟件開發(fā)_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、2/57 長期以來的軟件開發(fā)狀況長期以來的軟件開發(fā)狀況 多數(shù)軟件都是針對某個具體的應用系統(tǒng)從頭進行開發(fā)的 導致:出現(xiàn)了大量的同類軟件重復開發(fā),造成大量人力、財力的浪費,而且軟件的質(zhì)量也不高 對比:汽車工業(yè)的生產(chǎn)模式對比:汽車工業(yè)的生產(chǎn)模式 在已有的部件基礎上通過組裝進行生產(chǎn):有專門的部件生產(chǎn)工廠,汽車設計者在設計中選擇市場上已有的合適的部件 避免了大量的重復勞動,提高了產(chǎn)品質(zhì)量和生產(chǎn)效率,促進分工合作 我們的目標:將制造業(yè)中的組裝式生產(chǎn)模我們的目標:將制造業(yè)中的組裝式生產(chǎn)模式引入到軟件開發(fā)中式引入到軟件開發(fā)中3/57 基于構件的軟件開發(fā)概述基于構件的軟件開發(fā)概述 建造可復用構件建造可復用構件

2、應用系統(tǒng)工程應用系統(tǒng)工程 構件的管理構件的管理 小結(jié)小結(jié)4/57 建造可復用構件建造可復用構件 應用系統(tǒng)工程應用系統(tǒng)工程 構件的管理構件的管理 小結(jié)小結(jié)5/57 基于構件的軟件開發(fā)基于構件的軟件開發(fā) Component-Based Software Development 簡稱CBSD 是指使用可復用構件來開發(fā)應用軟件 基于構件的軟件工程基于構件的軟件工程 Component-Based Software Engineering 簡稱CBSE6/57 Pressman書中的定義:構件是某系統(tǒng)中書中的定義:構件是某系統(tǒng)中有價值的有價值的、幾乎獨立的幾乎獨立的并可替換的一個部并可替換的一個部分,它

3、在良好定義的體系結(jié)構語境內(nèi)滿足分,它在良好定義的體系結(jié)構語境內(nèi)滿足某清晰的功能某清晰的功能 Brown的定義:構件是一個的定義:構件是一個獨立發(fā)布獨立發(fā)布的功的功能部分,可以通過其接口訪問它的服務能部分,可以通過其接口訪問它的服務7/57 “計算機科學技術百科全書計算機科學技術百科全書”的定義:軟的定義:軟件構件是軟件系統(tǒng)中具有件構件是軟件系統(tǒng)中具有相對獨立功能相對獨立功能,可以明確標識可以明確標識,接口由規(guī)約指定接口由規(guī)約指定,與語境與語境有明顯依賴關系有明顯依賴關系,可,可獨立部署獨立部署,且,且多由第多由第三方三方提供的提供的可組裝軟件實體可組裝軟件實體;軟件構件須;軟件構件須承載有用的

4、功能,并遵循某種構件模型;承載有用的功能,并遵循某種構件模型;可復用構件是指具有可復用價值的構件可復用構件是指具有可復用價值的構件8/57 Commercial off-the-shelf 簡稱簡稱COTS 指由第三方開發(fā)的滿足一定構件標準的,指由第三方開發(fā)的滿足一定構件標準的,可組裝的軟件構件可組裝的軟件構件 9/57 (1)規(guī)格說明:建立在)規(guī)格說明:建立在接口概念接口概念之上,之上,作為服務提供方與客戶方之間的作為服務提供方與客戶方之間的契約契約 (2)一個或多個實現(xiàn):一個構件在符合)一個或多個實現(xiàn):一個構件在符合規(guī)格說明的前提下,可以有規(guī)格說明的前提下,可以有一個或多個實一個或多個實現(xiàn)

5、現(xiàn),例如,不同編程語言或不同算法的實,例如,不同編程語言或不同算法的實現(xiàn)?,F(xiàn)。10/57 (3)受約束的構件標準:由于不同的構)受約束的構件標準:由于不同的構件其實現(xiàn)的程序語言可能不同,運行環(huán)境件其實現(xiàn)的程序語言可能不同,運行環(huán)境也可能不同,因此,構件必須也可能不同,因此,構件必須符合某種標符合某種標準準,才能支持異構構件間的互操作。,才能支持異構構件間的互操作。 (4)包裝方法:構件可以)包裝方法:構件可以按照不同的方按照不同的方式分組式分組(稱為包)來提供一套可替換的服(稱為包)來提供一套可替換的服務。務。11/57 (5)部署方法:一個成品構件安裝在運)部署方法:一個成品構件安裝在運行環(huán)

6、境中,通過行環(huán)境中,通過創(chuàng)建構件的可執(zhí)行實例創(chuàng)建構件的可執(zhí)行實例,并允許與他們進行交互來實現(xiàn)部署。并允許與他們進行交互來實現(xiàn)部署。 構件模型:構件模型: 關于構件本質(zhì)特征的抽象描述。 3C模型 REBOOT模型12/5713/57 關于構件的一個指導性模型關于構件的一個指導性模型 由構件的三個不同方面的描述組成由構件的三個不同方面的描述組成 概念(concept):關于“構件做什么”的抽象描述,可以通過概念去理解構件的功能。概念包括接口規(guī)約和語義描述兩部分,語義描述和每個操作相關聯(lián)(至少表示為前后置謂詞形式) 內(nèi)容(content):概念的具體實現(xiàn),描述構件如何完成概念所刻畫的功能 周境(co

7、ntext):描述構件和外圍環(huán)境在概念級和內(nèi)容級的關系,刻畫構件的應用環(huán)境,為構件的選用和適應性修改提供指導14/57 REBOOT(Reuse Based on Object_Oriented Technology):基于面向?qū)ο蠹夹g的復用:基于面向?qū)ο蠹夹g的復用 一種一種基于刻面基于刻面(facet)的模型的模型 刻面:對領域進行分析,所得到的一組基本的描述特征 刻面可以描述構件執(zhí)行的功能、所操作的數(shù)據(jù)、構件應用的周境或任何其它特征 通常的刻面描述限制在不超過7或8個刻面 一個構件通常包括以下刻面:一個構件通常包括以下刻面: 抽象(abstraction):它是構件概念的抽象性描述 操作(

8、operation):它是構件所提供的操作的描述 操作對象(operand):它描述操作的對象 依賴(dependency):它描述構件與外界的依賴關系15/57 CORBA(公共對象請求代理體系結(jié)構公共對象請求代理體系結(jié)構) Common Object Request Broker Architecture OMG發(fā)布的構件標準 核心是ORB(Object Request Broker),定義了異構環(huán)境下對象透明地發(fā)送請求和接收響應的基本機制 COM+ 微軟開發(fā)的一個構件對象模型,提供了在運行于Windows操作系統(tǒng)之上的單個應用中使用不同廠商生產(chǎn)的對象的規(guī)約 EJB:一種基于:一種基于Ja

9、va的構件標準的構件標準 提供了讓客戶端使用遠程的分布式對象的框架 EJB規(guī)約規(guī)定了EJB構件如何與EJB容器進行行交互16/5717/57 領域分析:首先要進行領域分析:首先要進行領域分析領域分析,收集領域中有代表性,收集領域中有代表性的應用樣本,分析應用中的的應用樣本,分析應用中的公共部分或相似部分公共部分或相似部分,抽取,抽取該領域的該領域的應用體系結(jié)構應用體系結(jié)構 建立領域特定的建立領域特定的基準體系結(jié)構模型基準體系結(jié)構模型:在領域分析的基礎:在領域分析的基礎上,構造該領域的基準體系結(jié)構,這個基準體系結(jié)構應上,構造該領域的基準體系結(jié)構,這個基準體系結(jié)構應是可以裁剪和擴充的,并可供該領域

10、的是可以裁剪和擴充的,并可供該領域的應用復用應用復用18/57 標識候選構件:在領域分析和領域基準體系結(jié)構模型的標識候選構件:在領域分析和領域基準體系結(jié)構模型的基礎上基礎上標識該領域的候選構件標識該領域的候選構件 泛化泛化(generalization)和可變性和可變性(variability)分析:分析:提高提高其通用性其通用性,同時尋找候選構件在不同應用中的變化點,同時尋找候選構件在不同應用中的變化點(variation point),通過設置參數(shù)、繼承或其它手段,通過設置參數(shù)、繼承或其它手段,使可變部分局部化使可變部分局部化19/57 重建構件:在泛化和可變性分析的基礎上,重建構件:在泛

11、化和可變性分析的基礎上,重建構件,使它成為重建構件,使它成為可復用構件可復用構件 構件的測試:對重建的可復用的構件要構件的測試:對重建的可復用的構件要嚴嚴格測試格測試,以提高其可靠性,以提高其可靠性20/57 構件的包裝:經(jīng)測試的構件應根據(jù)構件庫構件的包裝:經(jīng)測試的構件應根據(jù)構件庫的要求,對它的要求,對它進行包裝進行包裝,以便構件庫對它,以便構件庫對它分類儲存和檢索分類儲存和檢索 構件入庫:包裝后的構件即可構件入庫:包裝后的構件即可存入構件庫存入構件庫21/57 建立建立應用系統(tǒng)的體系結(jié)構模型應用系統(tǒng)的體系結(jié)構模型:可以使用構件:可以使用構件生產(chǎn)者提供的領域特定的基準體系結(jié)構經(jīng)裁剪生產(chǎn)者提供的

12、領域特定的基準體系結(jié)構經(jīng)裁剪和和/或擴充而獲得或擴充而獲得 尋找候選構件:根據(jù)應用系統(tǒng)的體系結(jié)構模型,尋找候選構件:根據(jù)應用系統(tǒng)的體系結(jié)構模型,從構件庫或其它可利用的構件源中從構件庫或其它可利用的構件源中尋找候選構尋找候選構件件22/57 評價和選擇合適的構件:評價和選擇合適的構件:評價候選構件評價候選構件以判斷以判斷是否適合于待開發(fā)的軟件是否適合于待開發(fā)的軟件 構件的修改構件的修改(modify)和特化和特化(specialize):在復:在復用時對構件進行特化以滿足特定應用的需要用時對構件進行特化以滿足特定應用的需要23/57 開發(fā)未被復用的部分:對新系統(tǒng)中開發(fā)未被復用的部分:對新系統(tǒng)中未

13、復用未復用的部分進行開發(fā)的部分進行開發(fā) 構件的組裝:將特化和修改后的可復用構構件的組裝:將特化和修改后的可復用構件和新開發(fā)的部分件和新開發(fā)的部分組裝成組裝成一個新的軟件系一個新的軟件系統(tǒng)統(tǒng)24/57 集成測試:對組裝后的軟件系統(tǒng)進行集成測試:對組裝后的軟件系統(tǒng)進行集成集成測試測試 評價評價被復用的構件,并被復用的構件,并推薦推薦可能的新構件可能的新構件25/57 對質(zhì)量的影響:隨著長期的測試和使用,對質(zhì)量的影響:隨著長期的測試和使用,構件能夠保證構件能夠保證很高的質(zhì)量很高的質(zhì)量,因此可以使系,因此可以使系統(tǒng)開發(fā)的質(zhì)量得到保證統(tǒng)開發(fā)的質(zhì)量得到保證26/57 對生產(chǎn)率的影響:一般來說,大約對生產(chǎn)率

14、的影響:一般來說,大約30% 50%的復用可使生產(chǎn)率的復用可使生產(chǎn)率提高提高25%40% 27/57 對成本的影響對成本的影響 與復用相關的成本應由多個采用復用技術的項目來分擔 通常要經(jīng)過23個采用復用的生產(chǎn)周期(大約3年左右)復用才能帶來顯著的效益28/57 基于構件的軟件開發(fā)概述基于構件的軟件開發(fā)概述 應用系統(tǒng)工程應用系統(tǒng)工程 構件的管理構件的管理 小結(jié)小結(jié)29/57 建造構件的目的是為了以后復用構件,即建造構件的目的是為了以后復用構件,即為復用而建造構件為復用而建造構件 在建造構件時仍應在建造構件時仍應遵循抽象遵循抽象、逐步求精逐步求精、信息隱蔽信息隱蔽、功能獨立功能獨立、結(jié)構化程序設計

15、結(jié)構化程序設計等等思想和原則思想和原則 由于面向?qū)ο蠓椒ň哂杏捎诿嫦驅(qū)ο蠓椒ň哂蟹庋b性、繼承封裝性、繼承等特等特點,能有力地支持復用,所以應盡可能考點,能有力地支持復用,所以應盡可能考慮慮采用面向?qū)ο蠓椒ú捎妹嫦驅(qū)ο蠓椒?0/57 構件的設計應具有較高的構件的設計應具有較高的通用程度通用程度 構件應構件應易于調(diào)整易于調(diào)整 構件應構件應易于組裝易于組裝 構件必須具有構件必須具有可檢索性可檢索性 構件必須構件必須經(jīng)過充分的測試經(jīng)過充分的測試31/57 除應遵循已有的設計概念和原則外,除應遵循已有的設計概念和原則外,還必須考慮還必須考慮應用領域應用領域的特征,例如:的特征,例如: 標準數(shù)據(jù)標準數(shù)據(jù):

16、應該研究應用領域,并標識出標準的全局數(shù)據(jù)結(jié)構(如文件結(jié)構或完整的數(shù)據(jù)庫)。于是所有設計的構件都可以用這些標準數(shù)據(jù)結(jié)構用這些標準數(shù)據(jù)結(jié)構來刻畫刻畫 標準接口協(xié)議標準接口協(xié)議:應該建立三個層次的接口協(xié)議:構件構件內(nèi)內(nèi)(intramodular)接口接口、構件外接口構件外接口以及人機接口人機接口 程序模板程序模板:程序的結(jié)構模型可以作為新程序的體系結(jié)體系結(jié)構設計的模板構設計的模板32/57 構件應具有較強的構件應具有較強的通用性通用性和和可變性可變性 為了滿足不同的復用需求,需要在構件復用時為了滿足不同的復用需求,需要在構件復用時可能發(fā)生變化的一個或多個位置上可能發(fā)生變化的一個或多個位置上標識變化點

17、標識變化點(variation point),同時為變化點,同時為變化點附加一個或多附加一個或多個變體個變體(variant) 例如例如Account構件的構件的帳號編碼規(guī)則帳號編碼規(guī)則以及以及透支規(guī)透支規(guī)則則在不同的國家可能不一樣在不同的國家可能不一樣VP1VP2CVP1 descriptioncontext33/5734/57 繼承繼承:在變化點上創(chuàng)建指定抽象類型或抽:在變化點上創(chuàng)建指定抽象類型或抽象類的象類的子類型或子類子類型或子類。 擴展和擴展點擴展和擴展點:可以在用況和對象構件中:可以在用況和對象構件中的的變化點變化點(或擴展點或擴展點)上附加上附加變體變體(或擴展或擴展) 參數(shù)化:

18、用于參數(shù)化:用于模板模板、框架框架和和宏宏的類型和類的類型和類 適用于變體較小時(經(jīng)常是一個數(shù)值、短語或表達式)35/57 基于構件的軟件開發(fā)概述基于構件的軟件開發(fā)概述 建造可復用構件建造可復用構件 構件的管理構件的管理 小結(jié)小結(jié)36/57 任務:通過任務:通過組裝組裝可復用構件得到應用系統(tǒng)可復用構件得到應用系統(tǒng) CBSD中構件是組成應用系統(tǒng)的基本單元中構件是組成應用系統(tǒng)的基本單元 注重體系結(jié)構和構件接口的分析和設計,注重體系結(jié)構和構件接口的分析和設計,忽略構件內(nèi)部實現(xiàn)的設計忽略構件內(nèi)部實現(xiàn)的設計37/57 接口接口是構件行為的描述機制,并提供了是構件行為的描述機制,并提供了對其服對其服務的訪

19、問務的訪問 供應接口供應接口(Provided interface):描述構件所提供的服務所提供的服務,可以被其它構件訪問 請求接口請求接口(requived interface):請求接口描述構件為完成其功能(服務)需請求其它構件為其提供的服務請求其它構件為其提供的服務 一個接口可以有一個接口可以有多種實現(xiàn)多種實現(xiàn),并且,并且對使用者隱蔽對使用者隱蔽 接口描述是構件使用者接口描述是構件使用者能依賴的所有信息能依賴的所有信息,因,因此構件此構件接口描述的表達能力和完整性接口描述的表達能力和完整性是是CBSD方方法主要關注的問題之一法主要關注的問題之一38/57 基于構件的應用系統(tǒng)體系結(jié)構基于構

20、件的應用系統(tǒng)體系結(jié)構 描述了組成應用系統(tǒng)的構件構件,構件之間的組織結(jié)構組織結(jié)構、交互交互、約約束和關系束和關系 對系統(tǒng)的組成、結(jié)構以及系統(tǒng)如何工作的較為宏觀的描述較為宏觀的描述 如果在領域工程中已開發(fā)了領域基準體系如果在領域工程中已開發(fā)了領域基準體系結(jié)構結(jié)構(reference architecture),則可以,則可以通過通過對基準體系結(jié)構對基準體系結(jié)構的的剪裁和剪裁和/或擴充或擴充獲獲得得應用系統(tǒng)的體系結(jié)構應用系統(tǒng)的體系結(jié)構39/57 邏輯體系結(jié)構邏輯體系結(jié)構 以接口形式對每組服務進行描述對每組服務進行描述,并描述那些包怎樣交互來滿足通常的用戶使用場景 展示了系統(tǒng)設計的藍圖系統(tǒng)設計的藍圖,

21、可用于驗證系統(tǒng)是否提供了適當?shù)墓δ?,并能在系統(tǒng)功能需求變化時方便地改變系統(tǒng)的設計 物理體系結(jié)構物理體系結(jié)構 描述系統(tǒng)的物理設計系統(tǒng)的物理設計,包括硬件及其拓撲結(jié)構、網(wǎng)絡和通信協(xié)議、基礎設施(如運行平臺、中間件、數(shù)據(jù)庫管理系統(tǒng)等),以及軟件系統(tǒng)的部署 展示了系統(tǒng)的實現(xiàn)構架系統(tǒng)的實現(xiàn)構架,有助于理解系統(tǒng)的許多非功能屬性,如性能、吞吐量、服務的可用性等40/57 Rationel統(tǒng)一過程統(tǒng)一過程Rationals Unified Process,簡稱RUP一個關于軟件開發(fā)的廣泛的過程框架,覆蓋了整個軟件生命周期使用UML進行分析和設計建模,鼓勵使用CBSD方法 The Select Perspect

22、ive Method支持通用的構件設計方法,并以Select Component Manager為目標通用構件設計準則使用UML作為構件設計符號 Sterling Software的的Enterprise-CBD方法方法鼓勵使用UML的擴展形式把構件的規(guī)格說明和實現(xiàn)分離允許制作技術中立的規(guī)格說明,然后再使用不同的實現(xiàn)技術來實現(xiàn)規(guī)格說明 共同點:關注構件庫中的構件、接口的設計和基于構件共同點:關注構件庫中的構件、接口的設計和基于構件構架的應用程序組裝構架的應用程序組裝41/57 目的:確保獲得的構件目的:確保獲得的構件可以完成所需的功可以完成所需的功能能并能并能被集成在被集成在系統(tǒng)中與系統(tǒng)的其它

23、構件系統(tǒng)中與系統(tǒng)的其它構件正確交互正確交互 主要依據(jù)是構件的主要依據(jù)是構件的接口描述接口描述和和相關的規(guī)格相關的規(guī)格說明說明,但這些信息往往還不足以確保構件,但這些信息往往還不足以確保構件能成功地集成到系統(tǒng)中能成功地集成到系統(tǒng)中 對于外部提供的成品構件對于外部提供的成品構件(COTS)可通過可通過運行構件測試版運行構件測試版進行鑒定進行鑒定42/57 應用編程接口應用編程接口(API) 該構件所需的開發(fā)和集成工具該構件所需的開發(fā)和集成工具 運行時需求,包括使用的資源運行時需求,包括使用的資源(如內(nèi)存或存儲如內(nèi)存或存儲器器)、時間或速度以及網(wǎng)絡協(xié)議、時間或速度以及網(wǎng)絡協(xié)議 服務需求,包括操作系統(tǒng)

24、接口和來自其他構件服務需求,包括操作系統(tǒng)接口和來自其他構件的支持的支持 安全特征,包括訪問控制和身份驗證協(xié)議安全特征,包括訪問控制和身份驗證協(xié)議 嵌入式設計假定,包括特定的數(shù)值或非數(shù)值算嵌入式設計假定,包括特定的數(shù)值或非數(shù)值算法的使用法的使用 異常處理異常處理43/57 構件特化構件特化 根據(jù)應用系統(tǒng)的具體情況對其進行特化,對變化點配置特定的變化點配置特定的變體變體,必要時要自行開發(fā)變體 如果所選的構件不能完全滿足應用系統(tǒng)的功能需求,還需對構件作適當?shù)男薷倪m當?shù)男薷?如果所選的構件未按構件標準開發(fā)(如遺產(chǎn)系統(tǒng)中抽取的構件)時,還需按某種構件標準對其進行包裝對其進行包裝 構件組裝構件組裝 將經(jīng)過

25、鑒定和特化后的構件組裝成應用系統(tǒng)組裝成應用系統(tǒng) 提倡使用構件組裝工具構件組裝工具來組裝應用系統(tǒng)(能檢查接口匹配中的錯誤,實現(xiàn)組裝的自動化或半自動化)44/57 基于構件的軟件開發(fā)概述基于構件的軟件開發(fā)概述 建造可復用構件建造可復用構件 應用系統(tǒng)工程應用系統(tǒng)工程 小結(jié)小結(jié)45/57 構件的分類描述構件的分類描述 對構件庫中的構件進行合理的分類和組織分類和組織,幫助軟件開發(fā)人員方便地找到所需要的構件方便地找到所需要的構件 大多數(shù)的研究都建議使用圖書館科學索引方法圖書館科學索引方法進行構件分類 構件庫管理系統(tǒng):主要用于構件的儲存、構件庫管理系統(tǒng):主要用于構件的儲存、檢索、瀏覽和管理檢索、瀏覽和管理4

26、6/57 枚舉分類枚舉分類(Enumerated Classification) 將構件組織成分類層次結(jié)構分類層次結(jié)構,構件庫中的構件按某些性質(zhì)分成若干大類若干大類,每個大類又分成若干較小的類較小的類,經(jīng)過若干次分解,形成構件分類的層次結(jié)構,實際的構件位于層次結(jié)構的最低層,其它層次則表示構件的類或子類 枚舉分類模式的分層結(jié)構易于理解和檢索易于理解和檢索,但是,在建立層次結(jié)構之前,必須進行領域分析,尋找合適的供分類的性質(zhì)合適的供分類的性質(zhì)。 屬性屬性值分類值分類(Attribute_Value Classification) 為所有構件定義一組屬性定義一組屬性,每個構件都具有一組屬性值一組屬性值

27、,開發(fā)人員通過指定一組屬性值對構件庫檢索 與刻面分類方法非常類似,不同點在于:屬性值分類法對可對可使用的屬性數(shù)量沒有限制使用的屬性數(shù)量沒有限制;屬性沒有優(yōu)先級屬性沒有優(yōu)先級;不使用同義詞不使用同義詞47/57 刻面分類刻面分類(Faceted Classification) 根據(jù)一組刻面一組刻面對構件分類,每個刻面從不同的側(cè)面從不同的側(cè)面對構件庫中的構件進行分類,并根據(jù)重要性設置刻面的優(yōu)先級刻面的優(yōu)先級 每個刻面由一組術語(term)構成,稱之為術語空間(term space),這些術語通常是描述性的關鍵詞描述性的關鍵詞 檢索:用戶通過指定一組刻面的術語值尋找匹配的構件匹配的構件 使用同義詞詞

28、典同義詞詞典(thesaurus)解決用戶指定的術語值與庫中構件所對應的術語值之間的不一致問題 評價:具有較好的靈活性靈活性,易于加入新的刻面值新的刻面值,比枚舉分類模式易于擴展和修改易于擴展和修改48/57 構件的構件的分類存儲分類存儲(即添加構件即添加構件):根據(jù)構件庫的:根據(jù)構件庫的分類模型將入庫的構件儲存在構件庫中分類模型將入庫的構件儲存在構件庫中 構件檢索構件檢索:從構件庫中檢索出滿足用戶要求或:從構件庫中檢索出滿足用戶要求或接近用戶要求的構件接近用戶要求的構件. 構件庫瀏覽構件庫瀏覽:瀏覽庫中的全部或部分構件:瀏覽庫中的全部或部分構件 刪除構件刪除構件:將不再使用的構件從構件庫中刪

29、去:將不再使用的構件從構件庫中刪去 構件使用情況評價構件使用情況評價:根據(jù)用戶使用和檢索構件:根據(jù)用戶使用和檢索構件的反饋意見對構件作出評價,為進一步的改進的反饋意見對構件作出評價,為進一步的改進提供依據(jù)提供依據(jù)49/57 構件庫管理系統(tǒng)的兩個關鍵技術構件庫管理系統(tǒng)的兩個關鍵技術 直接影響到構件庫檢索的直接影響到構件庫檢索的查準率查準率(precision)、查全率查全率(recall)和和效率效率(efficient) 常用的構件檢索方法常用的構件檢索方法規(guī)約匹配規(guī)約匹配:基于有序的謂詞邏輯的匹配,通過謂詞演算公式進行精確匹配,通過邏輯連接符和邏輯量詞進行部分精確匹配特征特征(signatu

30、re)匹配匹配:通過接口的定義進行匹配,適用于函數(shù)之類的構件術語輪廓匹配術語輪廓匹配:基于構件編目描述語言的匹配,將每一個構件的編目描述作為該構件的一個特征矢量,通過測算矢量的距離進行匹配行為采樣行為采樣:基于構件測試的匹配,根據(jù)測試結(jié)果相同的概率進行匹配基于構件技術的系統(tǒng)開發(fā)過程模型基于構件技術的系統(tǒng)開發(fā)過程模型50/57基于構件技術的系統(tǒng)開發(fā)過程模型基于構件技術的系統(tǒng)開發(fā)過程模型 (1)問題分析階段)問題分析階段 問題域分析與建模:通過對問題域的抽象,區(qū)分出共性問題域分析與建模:通過對問題域的抽象,區(qū)分出共性問題和變性問題,分析的結(jié)果是將問題域進行形式化表問題和變性問題,分析的結(jié)果是將問題

31、域進行形式化表示,即建立問題域模型,可采用示,即建立問題域模型,可采用UML模型來表示。模型來表示。 (2)構件設計階段)構件設計階段 求解域模型設計:根據(jù)對問題域的分析與建模,可得出求解域模型設計:根據(jù)對問題域的分析與建模,可得出求解域模型,即系統(tǒng)的體系結(jié)構及系統(tǒng)所需構件。求解域模型,即系統(tǒng)的體系結(jié)構及系統(tǒng)所需構件。51/57 (3)系統(tǒng)開發(fā)階段)系統(tǒng)開發(fā)階段 構件開發(fā)及組裝:從構件庫中選取滿足需求的構件,擴構件開發(fā)及組裝:從構件庫中選取滿足需求的構件,擴展其接口使之應用于當前工程;對新開發(fā)的軟件構件,展其接口使之應用于當前工程;對新開發(fā)的軟件構件,不僅應該使其應用于當前工程,還要將其存儲到構件庫不僅應該使其應用于當前工程,還要將其存儲到構件庫中,以便復用。通過組裝得到完整的系統(tǒng),經(jīng)測試后可中,以便復用。通過組裝得到完整的系統(tǒng),經(jīng)測試后可發(fā)布運行。發(fā)布運行。 (4)系統(tǒng)維護階段)系統(tǒng)維護階段 應用系統(tǒng)演化:針對用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論