软件构件与中间件技术笔记

1. 软件构件的定义与意义

软件构件是系统中可以明确辨识的构成成分,具有独立性和可复用性。软件构件技术是基于构件的软件开发的核心,能够提高软件生产效率、质量和可维护性。

1.1 软件复用的目的

  • 目标:投入少、质量高、时间短
  • 途径:
    • 更有效的软件生产
    • 软件复用
    • 提高维护性、可靠性、易用性

1.2 软件复用的方法

  • 产品复用:复用已有的软件构件,通过集成(组装)得到新系统
  • 过程复用:复用已有的软件开发过程,使用可复用的应用生成器来自动或半自动生成系统

2. 软件构件的分类与模型

2.1 软件构件的分类

  • 领域构件:特定于应用领域的构件
  • 基础构件:特定于计算机系统的构件

2.2 构件模型

  • 描述模型:如REBOOT、UDM,用于构件的管理
  • 规约模型:如3C模型、JBCOM,用于描述构件的功能和接口
  • 实现模型:如CCM、COM、EJB,用于具体实现构件

3. 领域工程与应用工程

3.1 领域工程

  • 目标:通过分析领域需求,提炼出可复用的构件和构架
  • 过程:
    • 领域分析:建立领域需求定义、术语字典、面向对象分析模型
    • 领域设计:建立特定于领域的软件构架(DSSA)
    • 领域实现:实现构件和构架,并组织可复用构件库

3.2 应用工程

  • 目标:利用领域工程的成果,集成构件和构架,构建具体应用系统
  • 过程:
    • 系统分析:根据领域分析模型,确定具体的业务模型
    • 系统设计:以DSSA为基础,获取具体的系统设计模型
    • 系统实现:集成构件和构架,并进行必要的代码编写

4. 构件的获取与管理

4.1 构件获取途径

  • 从头开发新构件
  • 从现有系统中提炼构件(领域工程)
  • 演化现有构件

4.2 构件管理

  • 描述与分类:通过刻面分类法、枚举分类、属性-值分类等方式进行
  • 版本管理:管理构件之间的关系,如精化关系、版本关系、包含关系

5. 总结

软件构件技术通过系统化复用,提高了软件开发的效率和质量。领域工程和应用工程的结合,使得软件开发能够更加高效、灵活和可维护。