一、基本信息

标题:UML model refactoring: a systematic literature review
时间:2015
出版源:Empirical Software Engineering
领域分类:模型重构;模型转换;系统文献综述;UML

二、研究背景

问题定义:UML模型重构
难点:模型的转换与术语的重构;
相关工作:模型重构;审核流程

三、创新方法

1.提供了模型重构的背景,描述了用于审查的方法.
2.收集并分析了选定的研究,讨论了结果,并回答了系统评价中提出的研究问题.

四、实验

实验1:模型重构

要探究的问题:模型重构的方法,
结论:由于覆盖UML模型的一致性管理进行了深入系统的文献回顾的出版商,我们限制了这种审查的运营模式重构方法,包括研究,结合业务和关系型方法。

实验2:审核流程

要探究的问题:制定审查协议。审查协议有助于制定研究问题和执行审查过程的方法。 确定纳入和排除相关研究的标准。搜索结果管理,数据提取和综合。
结论:为了对模型重构和软件工程领域产生影响,重构方法和技术应该整合到现有的开发环境中。该研究问题的主要目的是确定文献中提出的哪些方法是可实施的,集成的并可用作可用CASE工具的一部分。还研究了作为原型工具实施的方法,因为它们表明理论概念的实现可用于未来的概念验证和工业应用的实证研究。
此外,排除了将UML模型转换为其他建模符号,语言和图表的模型转换。然而,为了模型重构而提出的一些模型到模型的转换包含在本次审查中。
搜索排除了序言,社论,海报会议,教程,文章摘要,小组,访谈,新闻和评论。使用所考虑的电子数据库提供的高级搜索设置避免了重复引用。

实验3:数据合成和结果分析

要探究的问题:重构:研究提出新的重构方法或使用模型转换语言进行重构规范。模型气味:研究提出基于新模型的气味或反模式以及从UML模型或元模型中检测这些机会的方法。工具:通过原型或作为常用集成开发环境(IDE)的附加组件/插件支持其提案的研究。行为:研究提出新方法来定义模型行为和技术来证明行为保持。一致性:研究提出了确保重构模型与其他UML模型和源代码之间一致性的方法。
结论:模型和代码都可以序列化为XML,这使得转换适用于模型和代码重构。使用XSLT进行XML指定的模型转换的一个挑战是,目标模型是基于源模型创建的,并且在重构后不满足后置条件的情况下,转换在大多数情况下是不可逆的。
使用XML作为规范格式的另一个问题是XML语法冗长,这使得难以阅读和维护。
很明显模型气味定义和检测领域需要理论和实证研究。
一种似乎受MDA欢迎的方法是使用多种UML模型。由于使用UML套件中包含的所有图表是不可行的,因此大多数研究使用每个视图中的单个模型。通常,UML模型分为三种视图:结构,功能和行为。使用多个视图进行模型气味规范和重构可以帮助解决上面提出的大多数问题。静态模型是最常用的,因为动态模型很难从源代码进行逆向工程,特别是在将模型映射到源代码或反向工程模型以用于模型驱动的重构时。通常不考虑重构的图表主要是因为它们在工业软件开发中的有限使用。尽管使用行为规范的模型图是直观的,但在使用行为规范模型时,需要牺牲详细程度。超过50%的方法通过工具支持他们的研究,为模型重构过程提供了半自动化的提供。
半自动方法比全自动方法更普遍的主要原因是因为在重构机会检测中可能产生大量误报。半自动方法还增加了利用人类能力在模型缺陷检测和校正过程中整合上下文信息的好处。半自动方法仍然存在的问题是选择正确的重构操作时遇到的困难。

五、结论

作者的总结:模型重构的一个重要目标是在不改变其行为的情况下提高软件模型的质量。虽然重构过程中最重要的活动之一,但在本次审查选择的63项主要研究中,有五项研究明确解决了这一问题。在UML模型质量领域进行的评估和重点研究得出了相同的结果,尽管软件已经很好地建立了测量等质量保证技术,但它们对UML模型和MDD的适用性仍处于起步阶段。除了需要识别适用于UML模型的质量指标之外,还需要一个用于建立这些指标与外部质量属性之间的相关性的框架。
最后,我们希望研究人员和从业人员能够从本次审查中获取结果和建议,为模型重构的发展领域做出贡献。
自己的评价:模型驱动的工程是软件工程的一种新兴趋势,它使得对UML模型的重构成为可能。在许多研究文献中讨论并分发了许多模型重构,问题检测,一致性管理和工具支持以自动化和验证重构的方法。本文系统地概述了模型重构领域的现有研究。从着名的电子数据库中提取了与UML模型重构领域相关的总共3,295篇文章。采用多阶段选择过程确保适当纳入相关研究以供审查和分析。这篇综述的结果表明,UML模型重构是一个非常活跃的研究领域。在这一领域已经提出了相当多的质量技术和方法,但它仍然存在一些重要的开放性问题和未来工作中需要解决的局限性。

参考文献:
【1】AGG (2011) The attributed graph grammar system. Technische Universität, BerlinGoogle Scholar
【2】Ahmed M (2011) Towards the development of integrated reuse environments for UML artifacts. In: The Sixth International Conference on Software Engineering Advances Google Scholar
【3】Al Dallal J, Briand LC (2010) An object-oriented high-level design-based class cohesion metric. Inf Softw Technol 52(12):1346–1361. doi: 10.1016/j.infsof.2010.08.006CrossRef Google Scholar
【4】Ambler SW (2005) The elements of UML 2.0 Style. Cambridge University Press, New YorkCrossRef Google Scholar
【5】Amelunxen C, Schürr A (2008) Formalising model transformation rules for UML/MOF 2. IET Softw 2(3):204–222 CrossRef Google Scholar

UML model refactoring: a systematic literature review的更多相关文章

  1. Literature Review: Improving Image-Based Localization by Active Correspondence Search

    Abstract Input: A query image Source: A point cloud reconstruction of a large scene (有一百多万3D点) Resul ...

  2. Literature Review on Tidal Turbine

    source: scopus , SCIE keywords in tilte: tidal turbine Software: Bibliometrix

  3. Eclipse 添加 UML Model插件

    1.下载安装 ModelGson 下载链接:https://pan.baidu.com/s/1smIZApv   密码:mu5l eclipse安装ModelGson(注意不用解压ModelGson, ...

  4. 【云迁移论文笔记】Cloud Migration Research:A Systematic Review

    Cloud Migration Research:A Systematic Review Author Info: Pooyan Jamshidi PhD Postdoctoral Researche ...

  5. [初读笔记] Cloud Migration Research: A Systematic Review (TCC, 2013)

    Pooyan Jamshidi, Aakash Ahmad, Claus Pahl, "Cloud Migration Research: A Systematic Review," ...

  6. 基于SpringBoot+SSM实现的Dota2资料库智能管理平台

    Dota2资料库智能管理平台的设计与实现 摘    要 当今社会,游戏产业蓬勃发展,如PC端的绝地求生.坦克世界.英雄联盟,再到移动端的王者荣耀.荒野行动的火爆.都离不开科学的游戏管理系统,游戏管理系 ...

  7. 【论文笔记】A review of applications in federated learning(综述)

    A review of applications in federated learning Authors Li Li, Yuxi Fan, Mike Tse, Kuo-Yi Lin Keyword ...

  8. UML的基本关联

     First, a dependency is a semantic relationship between two model elements in which a change to on ...

  9. [设计语言][统一建模语言][软件开发方法学][UML] UML

    背景介绍 UML是一种统计建模语言. WIKI: https://en.wikipedia.org/wiki/Unified_Modeling_Language UML是OMG (object man ...

随机推荐

  1. java百度云推送

    实体类: import java.io.Serializable; import javax.persistence.Entity; /** * * @Version : 1.0 * @Author ...

  2. echarts简单的折线图

    加jar包 <script src="<%=path %>/js/echarts.min.js"></script> 首先 在jsp页面中 选好 ...

  3. [leetcode]149. Max Points on a Line多点共线

    Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. ...

  4. Spring component-scan 标签的实现

    在以前文章Spring自定义标签实现中,曾说过,在sprin g 配置文件中,除了be an beans import 常用的标签意外,其他的标签都是遵循Spring 自定义标签的扩展机制进行实现功能 ...

  5. mysql设置存储中文变成问号或者乱码

    技术交流群: 816227112 问题: 解决办法: 修改my.ini  如果是my-default.ini 要重命名成my.ini 要注意顺序,有可能服务启动不起来 [mysqld] charact ...

  6. 安装jdk设置环境变量(win10)

    jdk地址: (懒得去官网找,就这个吧,反正也是玩玩) 没标的都是下一步哈 配置环境变量: 1. 新建 JAVA_HOME 值为 F:\java\jdk 安装的位置(第三张图 的那个路径) 2. 新建 ...

  7. c++常用小算法

    这篇文章列出了一些简单常用的C++容器算法,C++标准库中事实上提供了很多的算法并且有详细的介绍.如果需要详细的了解这些算法可以 参考C++在线参考手册 algrithm . 1 排序 在 #incl ...

  8. Python内置的服务器的使用

    cd 到某一文件 Python内置的服务器: E:\myObject\office\netObject\new-gcms> python -m SimpleHTTPServer 8888 如果是 ...

  9. java之servlet学习基础(一)

    这一阵子在学java三大框架.却在学习过程中发现前面的知识已经忘记了.所以决定写一篇博客来总结回顾之前的学习. 1.Servlet是什么? servlet是一个运行在服务器端的小应用程序.通过HTTP ...

  10. 泡泡堂BNB[ZJOI2008]

    --BZOJ1034 Description 第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表队由n名选手组成,比赛的项目是老少咸宜的网络游戏泡泡 ...