(Component-Based Software Development, CBSD,有时也称为基于构件的软件工程CBSE)是一种基于分布对象技术、强调通过可复用构件设计与构造软件系统的软件复用途径。基于构件的软件系统中的构件可以是COTS(Commercial-Off-the-Shelf)构件,也可以是通过其它途径获得的构件(如自行开发)。CBSD体现了“购买而不是重新构造”的哲学,将软件开发的重点从程序编写转移到了基于已有构件的组装,以更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低软件开发的费用。 影响因素
开发基于构件的软件系统受 到以下几方面因素的影响:1)COTS构件质量的提高和种类的增加;2)要求降低系统开发和维护成本的经济压力;3)构件集成技术的出现;4)软件开发组织内可以用于新系统开发的已有软件制品的数量增加。
CBSD整个过程从需求开始,由开发团队使用传统的需求获取技术建立系统的需求规约。在完成体系结构设计后,并不立即开始详细设计,而是确定哪些部分可由构件组装而成。此时开发人员面临的设计决策包括“是否存在满足某种需求的COTS 构件”,“是否存在满足某种需求的内部开发的可复用构件”,“这些可用构件的接口与体系结构的设计是否匹配”等。对于那些无法通过已有构件满足的需求,就只能采用传统的或面向对象的软件工程方法开发新构件。对于那些满足需求的可用构件,开发人员通常需要进行如下活动: 构件鉴定