首页> 中文学位 >基于模型比较的软件演化分析及同步演化方法
【6h】

基于模型比较的软件演化分析及同步演化方法

代理获取

目录

摘要

第一章 绪论

1.1 研究背景

1.2 本文研究工作

1.3 本文篇章结构

第二章 研究基础与相关工作

2.1 软件演化与同步演化

2.2 模型恢复与比较

2.3 抽象语法树

2.4 图文法与图转换

2.5 面向方面编程

2.6 小结

第三章 基于模型比较的演化分析方法

3.1 方法概述

3.2 恢复实现模型

3.3 实现模型映射与比较

3.3.1 实现模型映射

3.3.2 实现模型比较

3.3.3 技术实现

3.4 演化分析信息生成

3.4.1 概述

3.4.2 抽象

3.4.3 聚合

3.5 小结

第四章 应用程序与数据库同步演化方法

4.1 问题分析

4.2 方法概述

4.3 比较数据模式差异

4.4 解析SQL语句

4.5 适配SQL语句

4.6 动态适配执行

4.7 小结

第五章 实验

5.1 演化分析实验

5.1.1 模型映射与比较实验

5.1.2 抽象聚合案例研究

5.2 同步演化实验

5.2.1 适用性

5.2.2 效率

5.3 小结

第六章 总结和展望

6.1 主要内容回顾

6.2 下一步的工作

参考文献

攻读硕士学位期间发表论文情况(第一作者)

致谢

声明

展开▼

摘要

软件版本演化在软件系统的整个生命周期占有重要地位,帮助软件开发维护人员全面理解和把握整个软件产品的演化过程,辅助进行软件维护决策及维护活动实施,对于大规模、复杂软件系统具有重要意义。特别是对于一些文档缺失、维护过程管理不规范的软件产品,维护人员所面临的工作量繁杂,信息量往往很大,无条理且难于把握。那么,软件演化分析与信息抽取归纳就显得更为重要了。另外,软件维护过程中也存在着不一致演化问题。大部分软件包括服务提供方都会由于功能更新、错误修复等在不断的演化过程中,而服务使用方在自身的演化过程中也需要适应服务提供方的演化更新。使用方需要花费很大的代价进行同步演化,因此理解软件演化以及不一致演化等问题,可以为大规模、复杂软件维护及同步演化提供支持。
  针对软件演化分析问题,本文首先对不同版本的软件系统代码抽取抽象语法树信息,建立实现模型,使用语法语义相结合的方式对静态实现模型映射并比较差异得到变更信息。已有的实现模型比较方法往往忽略了代码内部的控制流代码块等信息,而本文对这些信息做了抽取,并在进行演化分析和归纳时体现出了控制流代码块变更信息的优势。然后基于对同一软件不同版本的静态模型恢复与比较所得到的变更信息,使用抽象聚合分析的方法对版本演化时发生的变更作进一步分析与归纳,得到抽象的规则和聚合的关联关系,减少展示给开发人员的信息量,提供可以在宏观上帮助软件开发维护人员理解软件演化的信息。
  其次,现有的同步演化工作通常将应用程序演化与数据库演化分开,本文提出一个处理应用程序与数据库同步演化的方法,基于模型恢复与比较的信息,使用一个在应用程序与数据库之间的适配层来处理可能出现失配的一些情况,减少开发人员在应用程序与数据库同步演化过程中的重复劳动,提供自动适配。由于方法框架内各模块之间松耦合,采用数据流交互,未来可以通过对各模块的功能上进行优化和扩展,使该方法的功能更加完善。
  最后,为了验证本文方法的有效性和实际意义,分别做了演化分析实验和同步演化实验,最终的实验结果表明本文的演化分析方法的确可以通过对大量变更信息的抽象归纳,形成抽象更有意义的规则信息,提供给相关人员额外的关联信息帮助人理解版本演化,另外同步演化实验表明本文提出的同步演化方法在适用性和效率上都可以很好的满足用户的需求,具有实际意义。

著录项

  • 作者

    宋扬;

  • 作者单位

    复旦大学;

  • 授予单位 复旦大学;
  • 学科 计算机软件与理论
  • 授予学位 硕士
  • 导师姓名 赵文耘;
  • 年度 2013
  • 页码
  • 总页数
  • 原文格式 PDF
  • 正文语种 中文
  • 中图分类 TP311.53;
  • 关键词

    软件维护; 静态模型; 同步演化方法; 适用性;

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号