一、构件定义
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 中定义,构件具有以下特点:
• 独立性 。构件可独立开发(需求分析、设计、编码、测试)、部署和发布。
• 有一组 定义良好的接口 。构件通过一组接口对外完成其功能,接口可分为 对外服务接口和服务请求接口。
• 封装性。 构件是一个高内聚的软件包,通过接口对外交互,屏蔽了内部实现细节,构件可通过独立开发封装为符合业界认可的模型标准的二进制代码。构件封装采用的标准有:
文章来源于领测软件测试网 https://www.ltesting.net/