基于构件的软件工程

CBSE体现了【购买而不是重新构造】哲学

主要活动

  • 系统需求概览
  • 识别候选构件
  • 根据发现的构件修改需求
  • 架构设计
  • 构件定制与适配
  • 组装构件,创建系统

构件特性

  • 可组装性
    • 构件的所有外部交互必须通过公开定义的接口进行,同时还必须对自身信息提供外部访问
  • 可部署性
    • 构件必须是自包含的,能够作为独立实体再构件平台上运行,以二进制形式部署而无需编译
  • 文档化
    • 构件必须完全文档化,用户可以根据文档判断构件是否满足需求
  • 独立性
    • 构件应该是独立的,可以在无需其他特殊构件的情况下进行组装和部署,只有在确实需要其他构件提供服务时才应声明依赖
  • 标准化
    • 在CBSE中过程中使用的构件必须符合某种标准化的构件模型
  • 没有(外部)可见状态

构件组装

  • 顺序组装:按顺序调用已经存在的构件,可以用两个已经存在的构件来创造一个新的构件
  • 层次组装:被调用的构件的提供接口必须要调用构件的请求接口兼容
  • 叠加组装:多个 构件合并形成新构件,新构件符合原构件的功能,对外提供新的接口