Component-based Software Engineering 是一种基于分布对象技术、强调通过复用构件设计与构造软件系统的软件复用途径。CBSE强调构件是购买而非重新构造。
构件特征
可组装性、可部署性、文档化、独立性、标准化
CBSE主要过程
- 系统需求概览
- 识别候选构件
- 根据发现的构件修改需求
- 体系结构设计
- 构件定制和适配
- 组装构件、创建系统
与传统软件开发过程的不同
- 早期 需要完整的需求
- 早期 可以利用构件来细化、修改需求以匹配CBSE
- 架构设计完成后,可能需要修改构件以适合功能和架构的需求
- 开发过程就是组装构件过程,有时需要开发适配器。
- CBSE架构设计阶段非常重要,决定、限制了可选构件的范围。
构件组装
顺序组装、层次化组装、叠加服装。通过适配器解决不兼容问题。
缺点
- 需要经验丰富的架构师
- 可重用构件可能会牺牲系统性能等方面
- 增加研发人员学习成本
- 第三方构件质量问题