基于构件的软件工程作为一种基于复用软件构件的软件系统开发方法,是由于设计者在使用面向对象的开发过程中所受到的挫折,这种挫折源于面向对象开发不能够像人们最初所期待的那样完成广泛的复用,单个对象类有太多细节目具有特定性,通常需要在编译时与应用绑定。我们必须拥有对类的详细知识来应用它们。面向对象开发不能够像人们最初所源代码。销售和发布对象作为可复用的构件是不可行的。
构件是比对象更高层次的抽象,是由它们的接口来定义的。它们一般比对象大,所有的实现细节对其他构件是隐藏的。
基于构件的软件工程的要素有:1、完全由接口进行规格说明的独立构件。2、构件标准使构件集成变得更容易。3、中间件为构件集成提供软件支持。4、开发过程适合基于构件的软件工程。
基于构件的软件工程的有效设计原则:1、构件是独立的,不影响彼此的操作。2、构件通过良好定义的接口进行交互。3、构件基础设施提供一系列可用在应用系统中的标准服务
在软件服务领域,一般观点认为构件是一个独立的软件单元,可以与其他构件构成一个软件系统。构件是一种遵循某个标准构件模型的软件元素,按照组装标准,无形修改即可独立进行部署和组装。构件是具有契约定义的接口和显式的上下文依赖,可独立进行部署并用于第三方组装的软件单元。
构件特性:可组装性、可部署性、文档化、独立性、标准化。
将构件看成服务提供者,强调的是可复用的构件的两个关键特性。1、构件是独立可执行的实体。2、构件所提供的服务可以通过接口得到,
构件有两种关联接口。1、提供接口,定义了构件所提供的服务。2、请求接口,指定了一个构件要进行正确的操作时系统其他构件必须提供的服务。
构件模型定义了构件实现、文档化及开发的标准。这些标准是为构件开发者确保构件的互操作性而设计的。构件模型的要素定义了构件接口、人们在程序中使用构件需要知道的信息、以及构件应如何部署。
构件组装是将构件捆到一起来创建一个系统的过程,组装的类型包括顺序组装、层次组装以及叠加组装。当组装不是专为你的应用写的可复用构件时,通常要编写适配器或胶水代码以便使不同的构件接口互相兼容。
当选择组装方式时,必须考虑系统所需的功能性需求、非功能需求、以及当系统发生改变时,一个构件能被另一个构件代替的难易。