开发基于构件的软件系统受到以下几方面因素的影响:1)COTS构件质量的提高和种类的增加;2)要求降低系统开发和维护成本的经济压力;3)构件集成技术的出现;4)软件开发组织内可以用于新系统开发的已有软件制品的数量增加。
CBSD整个过程从需求开始,由开发团队使用传统的需求获取技术建立系统的需求规约。在完成体系结构设计后,并不立即开始详细设计,而是确定哪些部分可由构件组装而成。此时开发人员面临的设计决策包括“是否存在满足某种需求的COTS 构件”,“是否存在满足某种需求的内部开发的可复用构件”,“这些可用构件的接口与体系结构的设计是否匹配”等。对于那些无法通过已有构件满足的需求,就只能采用传统的或面向对象的软件工程方法开发新构件。对于那些满足需求的可用构件,开发人员通常需要进行如下活动: