软件构件与中间件技术笔记
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. 总结
软件构件技术通过系统化复用,提高了软件开发的效率和质量。领域工程和应用工程的结合,使得软件开发能够更加高效、灵活和可维护。