領測軟件測試網
一、構件定義 1.1概述 目前對構件還沒有一個公認的、統一的定義。一般來說有廣義與狹義之分,廣義上講, 構件是指可以被明確標識的軟件制品( artefact),它可以是
需求分析、設計、代碼、
測試用例、文檔或軟件
開發過程中的其它產品。狹義來說,軟件構件是指可復用的、提供明確接口完成特定功能的程序代碼塊(源代碼、二進制代碼或可執行代碼),目前業界比較認可的定義有:
• 構件是指粗粒度的、相對獨立的、可替換的軟件系統組成部分,完成明晰的功能,在一個定義良好的體系結構下被組裝到完整系統中去,它遵循和提供了一組接口的物理實現 [ Kruchten 98 ]。
• 軟件構件是一個軟件組裝單元,具有契約規定的一組接口和外在的周境依賴。軟件構件可獨立部署和被第三方組裝 [ 1996 ECOOP workgroup] 。
• 構件是指模塊化的、可部署、可替換的軟件系統組成部分,它封裝了內部的具體實現并對外提供一組接口 [
UML1.4Specification]。
• 運行時刻軟件構件是一個可動態綁定的軟件包,可作為一個單元來管理,通過文檔化的接口來訪問,這些接口可在運行時刻被發現 [Garner Group] 。
1.2本項目中有效構件的定義 根據 1.1 中所述,在此給出此次征集的有效構件的定義,如下:
軟件構件是一個高內聚的、通過一組約定的接口完成明晰的功能、符合業界認可的模型標準(如 COM/.Net,Corba , WebService 等)的、可復用軟件包,可在一個體系結構周境下被直接或經適當調整后組裝到軟件系統中而成為其組成部分。 一個構件也可包含若干個子構件。一個構件也可以是 Web 服務方式的構件。
為方便起見,如非特殊說明,以后所提到的構件一詞指上述定義的含義。
1.3構件的主要特點 根據 1.2 中定義,構件具有以下特點:
• 獨立性 。構件可獨立開發(需求分析、設計、編碼、測試)、部署和發布。
• 有一組 定義良好的接口 。構件通過一組接口對外完成其功能,接口可分為 對外服務接口和服務請求接口。
• 封裝性。 構件是一個高內聚的軟件包,通過接口對外交互,屏蔽了內部實現細節,構件可通過獨立開發封裝為符合業界認可的模型標準的二進制代碼。構件封裝采用的標準有:
• COM/COM+/.NET
•
JavaBean/EJB
• CORBA
• VCL
• WebService
• 可替換性。 構件被組裝到軟件系統中后,可以用具有相同接口和相同封裝標準的其它構件將其替換下來,替換中無須任何編碼工作,替換后該軟件系統仍能運行。
• 可組裝可調整性。 構件可在定義良好的體系結構下方便地組裝到軟件系統中,也可與其它構件組裝成為粒度更大的構件。一般情況下,構件要有方便的可調整機制以便于復用,即提供了多個可變點利于客戶化。
二、構件的呈現形式
根據 1.2,1.3中所述,在此提出,構件由以下幾個物理組成部分:
• 構件刻面描述文檔。每個構件應有規格化的描述文檔,以滿足構件在構件庫中分類描述、存儲和檢索瀏覽的要求。
• 構件源碼文件(本項為可選項)。開發該構件的所有源程序。對黑盒構件本部分可不提供。
• 構件封裝后的軟件包。包括構件源碼編譯后的生成的二進制文件(如 .dll,.jar等文件)包,伴隨的部署文件和配置文件,以及需要的安裝、注冊文件。
封裝后的二進制文件可符合下列五種之一:
• COM/COM+/.NET標準。其二進制文件格式可為.DLL,.OCX或.EXE。
• JavaBean/EJB。其二進制文件格式可為.Class或.Jar。
• CORBA 。
• VCL。其二進制文件格式為.BPS。
• WebService。
三、 關于領域構件
領域構件是構件的一個子類,它具有本文前面所提到的構件的所有屬性特征,它的特點在于其功能上具有領域特征,領域構件從軟件上實現了該領域中的重要概念,例如證券領域中的實時行情圖。
領域構件的驗定指標如下:
• 功能上實現了該領域中某個(些)重要概念。
• 呈現形式須滿足第二節中所有組成部分的要求。
四、 關于構件粒度 目前
軟件工程領域對構件的粒度還沒有統一的要求,由于構件是一個高內聚的軟件包,只要符合軟件工程中高內聚的原則,則構件的粒度大小可不限。一般來說,從可復用構件,領域構件,到商業構件( Cots ),其粒度應是漸增的趨勢。
文章來源于領測軟件測試網 http://www.k11sc111.com/
TAG:
構件
形式
指南