Skip to content

基于构件的软件工程(CBSE)

核心理念:"购买而不是重新构造",将开发重点从编写新代码

CBSE 过程:

  1. 系统需求概览 → 2. 识别候选构件 → 3. 根据构件修改需求 → 4. 体系结构设计 → 5. 构件定制与适配 → 6. 组装构件创建系统

CBS 与传统过程的不同点:

不同点说明
早期需要完整需求便于尽可能多地识别可复用构件
根据构件细化需求如果可用构件不满足需求,考虑由复用构件支持的相关需求
设计完成后进一步搜索构件在系统体系结构设计完成后,进一步搜索和设计精化构件
开发即组装开发过程就是将找到的构件集成在一起

构件特征与组装

构件五大特征: 可组装性(公开接口)、可部署性(自包含)、文档化、独立性、标准化。

构件模型三要素: 接口、使用信息(全局唯一标识符)、部署。

构建组装

三种组装方式: 顺序组装、层次组装、叠加组装。

组装方式特点适用场景
顺序组装数据依次流经一系列构件处理清晰的线性管道处理过程
层次组装下层为上层提供服务分层架构
叠加组装合并两个或多个现有构件功能,形成新接口需要合并现有构件功能

三类不兼容问题: 参数不兼容、操作不兼容、操作不完备 → 编写适配器解决。

⚠️ 常见坑:「用户界面不兼容」不属于构件组装的三类接口不兼容问题。

CBSD 的 5 个主要阶段(不含代码编写)★:

  1. 需求分析和定义 → 2. 架构设计 → 3. 构件库的建立 → 4. 应用软件构建 → 5. 测试和发布

🎯 一句话结论:CBSD 不含单独的"代码编写"阶段,开发过程就是构件组装过程。CBSD 融合了螺旋模型的特征,本质上是演化型的。

构件获取4途径: ①从现有构件中获取 ②通过遗留工程提取 ③购买 COTS ④自行开发新构件

构件库检索3方法: ①基于关键字 ②刻面检索 ③超文本检索