基于消息和构件运算的软件体系结构演化研究

基于消息和构件运算的软件体系结构演化研究

论文摘要

基于构件的软件开发有利于实现构件重用,提高软件的开发效率和质量;基于消息传递实现构件之间的交互使软件更可靠,构件更独立;软件演化是软件生命周期中的重要组成部分,如何开发可演化软件已经成为IT界的研究热点;软件体系结构为构件组合和软件演化提供了基础。本文对基于消息和构件组合运算的软件体系结构演化进行研究,具有重要的理论意义和应用价值。本文根据构件能够接收和发送的消息类型,给出了基于消息的构件组合模型,定义了构件组合的执行路径,并对构件组合运算进行了形式化描述;给出了基于构件组合运算的软件体系结构的图形与代数表达式,以及它们之间的转换。在软件体系结构描述的基础上,本文使用设计模式描述了非功能需求的分解,使用结构工作链建立了非功能需求与软件体系结构之间的关联,使用结构工作链和组合运算对软件体系结构的非功能属性进行评估,并利用评估结果,提出了一种基于非功能需求的软件体系结构演化方法。考虑到复杂是使软件系统出错、难于理解和产生安全问题的重要原因,提出了软件体系结构的直观复杂性度量方法和构件演化运算,设计了基于构件演化运算的软件体系结构演化算法,为软件体系结构演化的自动化研究提供了基础。本文从构件组合运算和软件体系结构两个层次分析了构件操作的波及效应,提出了一种新的软件体系结构可演化性度量方法,设计了度量算法,克服了传统方法需要大量数据、过度依赖人工参与和个人经验、只适合小规模系统等不足。为了保持业务的连续性,避免关闭和重启系统可能招致的不可接受的延迟、费用和风险,本文在对基于消息的构件和连接件的动态特性描述的基础上,使用反射机制,给出了以连接件为中心的软件体系结构动态演化的框架,消除了软件体系结构动态演化的不一致性。为了建立需求变化与软件演化之间的关联,本文提出了消息依赖矩阵的概念,设计了利用消息依赖矩阵获得特征迹的算法;把变化的需求与支持它的特征迹联系起来,定义了基于需求和特征迹的软件演化,根据需求变化的类型对软件演化进行了分类,利用特征迹对演化影响进行了定量分析。基于特征迹的软件演化,有利于演化的定位、管理和验证。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 研究背景与意义
  • 1.2 国内外研究现状述评
  • 1.2.1 软件体系结构
  • 1.2.2 构件组合与构件运算
  • 1.2.3 软件非功能属性评估
  • 1.2.4 软件演化
  • 1.2.5 存在的主要问题
  • 1.3 本文的主要研究内容
  • 1.3.1 构件组合运算与软件体系结构描述
  • 1.3.2 软件体系结构的非功能属性评估
  • 1.3.3 软件体系结构演化
  • 1.3.4 基于特征迹的软件演化
  • 1.4 全文结构
  • 第二章 基于消息和构件组合运算的软件体系结构
  • 2.1 引言
  • 2.2 相关概念
  • 2.2.1 消息及其类型
  • 2.2.2 构件及其接口
  • 2.2.3 连接件
  • 2.2.4 消息依赖
  • 2.3 构件组合模型
  • 2.3.1 通用构件组合模型
  • 2.3.2 基于消息的构件组合模型
  • 2.3.3 组合构件的执行路径
  • 2.4 构件组合运算
  • 2.4.1 基本组合运算
  • 2.4.2 空构件与无关组合运算
  • 2.4.3 复合组合运算
  • 2.4.4 构件组合运算的图形表示
  • 2.4.5 基于构件组合运算的实体分类
  • 2.4.6 基于构件组合运算的描述举例
  • 2.5 基于构件运算的软件体系结构
  • 2.5.1 基于构件运算的软件体系结构定义
  • 2.5.2 软件体系结构图与代数表达式
  • 2.5.3 软件体系结构的图与代数表达式之间的转换
  • 2.6 本章小结
  • 第三章 基于非功能需求的软件体系结构静态演化
  • 3.1 引言
  • 3.2 软件体系结构演化定义
  • 3.2.1 构件演化
  • 3.2.2 软件体系结构演化
  • 3.3 软件体系结构可演化性度量
  • 3.3.1 软件体系结构要素变化分类
  • 3.3.2 软件体系结构的可演化性度量
  • 3.3.3 领域软件体系结构的可演化性度量
  • 3.4 构件演化运算与软件体系结构演化
  • 3.4.1 软件体系结构的复杂性度量
  • 3.4.2 基于复杂性的演化运算
  • 3.4.3 其他演化运算
  • 3.4.4 基于演化运算的软件体系结构演化
  • 3.5 非功能需求与软件体系结构演化
  • 3.5.1 非功能需求
  • 3.5.2 软件体系结构的非功能特性评估
  • 3.5.3 基于非功能需求的软件体系结构演化定义
  • 3.5.4 基于非功能需求的软件体系结构演化方法
  • 3.5.5 基于性能的软件体系结构演化举例
  • 3.6 本章小结
  • 第四章 基于反射机制和连接件的软件体系结构动态演化
  • 4.1 引言
  • 4.2 软件体系结构的动态特性
  • 4.3 构件和连接件的状态模型
  • 4.3.1 构件的状态模型
  • 4.3.2 连接件的状态模型
  • 4.3.3 支持连接件状态模型的数据结构
  • 4.4 反射机制与软件体系结构动态演化
  • 4.4.1 反射机制
  • 4.4.2 反射机制与动态演化的关系
  • 4.5 软件体系结构动态演化框架
  • 4.6 软件体系结构动态演化实现与应用实例
  • 4.6.1 实现框架
  • 4.6.2 应用实例
  • 4.7 本章小结
  • 第五章 基于特征迹的软件演化
  • 5.1 引言
  • 5.2 消息依赖矩阵
  • 5.2.1 特征与特征迹
  • 5.2.2 构件的消息依赖矩阵
  • 5.2.3 消息依赖矩阵与特征迹的关系
  • 5.2.4 基于消息依赖矩阵的使用层次性
  • 5.3 软件演化
  • 5.3.1 需求与特征迹的关系模型
  • 5.3.2 软件演化分类
  • 5.3.3 软件演化方法
  • 5.3.4 基于特征迹的软件演化与软件体系结构演化
  • 5.4 演化影响分析
  • 5.4.1 基于可达矩阵的演化影响分析
  • 5.4.2 基于特征迹的演化影响分析
  • 5.5 举例
  • 5.6 本章小结
  • 第六章 工作总结与未来的研究
  • 6.1 本文的主要工作和创新点
  • 6.2 未来工作展望
  • 参考文献
  • 致谢
  • 攻读博士学位期间参与科研项目、发表论文和获奖等情况
  • 相关论文文献

    标签:;  ;  ;  ;  

    基于消息和构件运算的软件体系结构演化研究
    下载Doc文档

    猜你喜欢