可重用組件

可重用組件

組件一般是在設計和實現階段由一些類或者模組組成的群組。每個組件完成一個獨立的功能, 並且都有一個和其它組件的良好接口。可重用組件是指通過對以往組件進行局部修改或者不修改就可以組成新的軟體。可重用組件是可重用軟體的基礎。

簡介

可重用組件是指通過對以往組件進行局部修改或者不修改就可以組成新的軟體。可重用軟體是以可重用組件為基礎。可重用組件設計的目的是更好地實現可重用組件。

組件

組件技術是 90 年代初出現的一種新技術,它是在結構化設計和面向對象技術的基礎上發展起來的,是面向對象技術之後的軟體開發的標準方法體系,是面向對象的開發技術的延伸 。因此,組件具有面向對象的特徵。由於組件能夠獨立地實現其功能而不依賴與其它外部環境,它能夠被高度的重用。在理想的環境下,組件的實現及套用與開發語言和平台無關 。因此組件具有功能獨立性 、 高度的可重用性 、 與語言和平台無關性等特點 。建立一個組件時應該考慮:①組件應該是完整的;②組件應該重點解決一個問題;③組件及其對象方法、屬性和事件應該容易理解;④組件應該具有新功能;⑤在安裝組件之前應該調試它們; ⑥考慮使用第三方組件開發工具。

可重用組件的描述

組件的描述分為兩個部分:組件說明部分和組件實現部分。 任何可重用組件都必須要有特徵說明( 重用組件的類型信息) 和規則說明( 組件的動態行為),分別描述重用組件的靜態特徵和動態語義。另外,在描述重用組件的信息中還應包括組件接口信息,例如組件是客戶組件還是服務者組件。一個組件可以有多個“ 提供”接口和“ 要求”接口。 甚至還可以包括組件的配置特性,例如其開發環境( 程式語言、對象模型) 和運行環境( 作業系統等)。

可重用 組件的存儲

目前比較廣泛的存儲方法是將組件分類存儲。分類的模式主要有:①基於關鍵字的面分類模式和枚舉分類模式。 面分類模式可同時考慮部件幾種不同方面或特性;枚舉模式是一種一維的信息分類模式。 ②基於功用與環境分類模式。 功用描述組件的功能,包括: 系統類型、功能範圍和套用領域。

檢索

檢索組件庫的方法有三種,第一種是信息科學索引方法。 如以關鍵字或者模糊匹配為主的檢索系統,它主要適用於小型重用組件庫的查找。 第二種是基於知識的方法。 它用於自動檢索機制的系統中。通過檢索控制規則庫( 存有各種檢索單位的檢索規則) 和字典庫( 存有同義詞、包含關係詞、領域關係詞等),在推理機的作用下,根據查詢要求進行推理,查出滿足條件的目標。 檢索方式可採用互動式語義網路聯想查詢、條件查詢、專家選擇查詢等。 典型的檢索方法如:Wood 等套用概念依賴模型,採用框架形式描述和檢索組件;Tarumi 提出的支持面向對象的軟體重用環境中使用的關係描述檢索,方法是, 當用戶給出對象名、屬性、關係和操作的輸入,由基於規則的機制匹配相應的組件。 第三種是超級文本方法。 它是前兩種方法的結合, 其表示形式直觀、易於使用 。

組件組裝的基本過程

確定系統總體構架;

快速構築總體框架;

確定所需的組件,並將所需的組件儘量分解成原子組件並檢索組件;

將檢索出的原子組件儘量綁定成較大的複合組件。 根據組件的接口進行組裝;

將複合組件、原子組件和用戶自定義的組件組裝成目標系統。

在綁定過程中,如果兩個組件可以構成一對客戶/ 服務者,就將它們綁定起來,否則就要用到適配器。如果客戶和服務者的接口兼容但並不完全相同,則可以用適配器對客戶或服務者進行調整,如果沒有與某組件匹配的組件,則可以產生一個適配器模板,留給用戶填寫客戶或者服務者組件,即用戶自定義的組件。 利用可重用組件組裝成目標系統的過程表示如下:

要求組件均是符合 COM 標準的組件,如果是普通組件,則要求轉換為 COM 標準組件,從而使組件可以在許多編程環境下重用。 這樣組裝時比較容易。 組件可以在某個容器或專門的組裝工具內進行組裝。 很多工具都提供了此功能。

常見組件模型

在組件規範化的過程串,許多公司做了很多的努力並取得了一定的成功。下面介紹一下常見的組件模型。

(1)CORBA :CORBA 是由 OMG( 對象管理集團 ) 開發的工業版本,是用來解決以下的問題:系統獨立於作業系統,系統基於網路且功能分布開各機器之間, 組件開發獨立於語言。

(2)COM( 組件對象模型 ) :COM 是由微軟公司提出並實踐的組件模型。 COM 是用於“ 便利系統能夠通過獨立開發的二進制組件,動態、 有效地合成系統的組件重用” [BOX 1998] 。 COM 組件是二進制層次上的組件復用,是基於接口的編程, 模組間的耦合度低,易於部署和軟體的升級。

(3)EJB 組件: EJB 是用於開發安全、 可擴展、 事務型和多用戶組件的一種分散式組件模型。 EJB 可以部署在分散式多層體系結構環境中的伺服器端的軟體組件,它允許把應用程式邏輯與系統級服務分開,使系統開發人員集中精力編寫具體的業務處理問題,而不必關心繫統的編程。每個 EJB 可由一個或多個 Java 對象組成,每個 EJB 是按照相同的規範開發的,Bean 之間可以相互調用,實現任務的分解和進行業務處理, 具有非常高的擴展性 。

(4) .Net 組件:.NET 就是借鑑 Java,採用 XML,並遠遠超出 Java 的新的體系。.NET 允許添加類似關鍵字的描述性聲明來批註編程元素的元數據,可以實現被封裝的對象類、 類樹、 功能模組、 軟體框架、 軟體構架 ( 或體系結構 ) 、 文檔、 分析件、 設計模式等。

相關詞條

熱門詞條

聯絡我們