论文摘要
基于构件的软件开发有利于实现构件重用,提高软件的开发效率和质量;基于消息传递实现构件之间的交互使软件更可靠,构件更独立;软件演化是软件生命周期中的重要组成部分,如何开发可演化软件已经成为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 未来工作展望参考文献致谢攻读博士学位期间参与科研项目、发表论文和获奖等情况
相关论文文献
标签:构件组合运算论文; 软件体系结构论文; 软件演化论文; 软件度量论文;