在软件工程的范围内,复用既是旧概念,也是新概念。程序员从最早的计算机时代开始,就已经开始复用概念、对象、论据、抽象和过程,但是早期的途径是特定的。今天,复杂的、高质量的基于计算机的系统必须在非常短的时间内建立,这要求更有组织的复用方法。基于组件的软件工程(component-based software engineering,CBSE)是强调使用可复用的软件组件来设计和构造基于计算机的系统。 基于组件的系统的开发
从表面看,CBSE似乎类似于传统的或面向对象的软件工程。当软件小组使用传统的需求诱导技术建立了待建造系统的需求时,该过程开始,系统结构设计被建立,但是,并不是立即转向更细节的设计任务,小组检查需求以确定系统的什么子集可以直接通过组装而不是构造完成。也就是说,小组针对每个系统需求询问如下问题: l 是否存在商用成品组件(component off-the-shelf,COTS)可实现该需求?
l 是否存在内部开发的可复用组件可实现该需求?