构件的复用

  • 检索与提取构件

    • 基于关键字的检索
      • 树形或有向无回图结构
    • 刻面检索法
      • 利用Facet描述构件执行的功能、被操作的数据、构件应用的语境或任意其他特征
    • 超文本检索法
      • 按照人类的联想思维方式任意跳转到包含相关该你那或构件的文档
  • 理解与评价构件

    • 要复用构件,准确地理解构件至关重要;特别是对构件进行修改时
    • 为达到目的,必须要求构件地开发过程遵循公共标准
    • 一般构件库的文档中全面而准确地说明一下内容
      • 构件的功能与行为
      • 相关领域知识
      • 可适应性约束条件与例外情形
      • 可以预见修改部分及修改方法
  • 修改构件

    • 理想状态是直接复用构件库中现成的构件,但大多数情况下,必须对构件或多或少的修改,以应对需求
    • 为了减少构件修改的工作量,要求开发人员尽可能使构件的功能、行为和接口设计更为抽象化、通用化和参数化
    • 构件库中若无可修改使用的构件,则按新需求开发构件,并存入构件库
  • 组装构件

    • 基于功能的三种方法
      • 基于功能的组装
      • 基于数据的组装
      • 面向对象的组装
    • 构件组装失配的问题
      • 由构件引起的失配,包括由于系统对构件的基础设施、构件控制模型和构件数据模型的假设存在冲突引起的失配
      • 由连接子引起的失配,包括由于系统对构件交互协议、连接子数据模型的假设存在冲突引起的失配
      • 由于系统成分对全局体系结构的假设存在冲突引起的失配