Appearance
基于构件的软件工程(CBSE)
核心理念:"购买而不是重新构造",将开发重点从编写新代码。
CBSE 过程:
- 系统需求概览 → 2. 识别候选构件 → 3. 根据构件修改需求 → 4. 体系结构设计 → 5. 构件定制与适配 → 6. 组装构件创建系统
CBS 与传统过程的不同点:
| 不同点 | 说明 |
|---|---|
| 早期需要完整需求 | 便于尽可能多地识别可复用构件 |
| 根据构件细化需求 | 如果可用构件不满足需求,考虑由复用构件支持的相关需求 |
| 设计完成后进一步搜索构件 | 在系统体系结构设计完成后,进一步搜索和设计精化构件 |
| 开发即组装 | 开发过程就是将找到的构件集成在一起 |
构件特征与组装
构件五大特征: 可组装性(公开接口)、可部署性(自包含)、文档化、独立性、标准化。
构件模型三要素: 接口、使用信息(全局唯一标识符)、部署。
构建组装
三种组装方式: 顺序组装、层次组装、叠加组装。
| 组装方式 | 特点 | 适用场景 |
|---|---|---|
| 顺序组装 | 数据依次流经一系列构件处理 | 清晰的线性管道处理过程 |
| 层次组装 | 下层为上层提供服务 | 分层架构 |
| 叠加组装 | 合并两个或多个现有构件功能,形成新接口 | 需要合并现有构件功能 |
三类不兼容问题: 参数不兼容、操作不兼容、操作不完备 → 编写适配器解决。
⚠️ 常见坑:「用户界面不兼容」不属于构件组装的三类接口不兼容问题。
CBSD 的 5 个主要阶段(不含代码编写)★:
- 需求分析和定义 → 2. 架构设计 → 3. 构件库的建立 → 4. 应用软件构建 → 5. 测试和发布
🎯 一句话结论:CBSD 不含单独的"代码编写"阶段,开发过程就是构件组装过程。CBSD 融合了螺旋模型的特征,本质上是演化型的。
构件获取4途径: ①从现有构件中获取 ②通过遗留工程提取 ③购买 COTS ④自行开发新构件
构件库检索3方法: ①基于关键字 ②刻面检索 ③超文本检索