一、基本信息

标题: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. C语言基础01

    1. 用scanf清理缓冲区数据 scanf("%*[^\n]"); scanf("%*c"); 2. 格式转换 将无符号整型数value转换成字符串并返回该字 ...

  2. Epson 微型打印机打印 LOGO C#

    由于项目需要使用EPSON微型打印机打印LOGO,在网上查看了很多都是安装驱动然后设置打印机图片. 项目需要使用Bytes发送流,最后在网上找到了一些资料,记录下来方便自己和其他人使用. public ...

  3. 后台商品搜索功能开发SQL

    在做后台的商品搜索功能开发时遇到了一些问题记录下来 版本一 <select id="SelectByNameAndParentId resultMap="Base_resul ...

  4. odoo 前端页面渲染--数据库管理页面

    例子 - 去除登陆页面的Powered by Odoo链接从上面的第3步,我们可以看到,最后登录界面是由'web.login' 模板来显示的,通过odoo的继承方式,我们很容易的就可以去除这个链接,通 ...

  5. stark组件开发之组合搜索高级显示和扩展

    上一篇,我只是做了. 默认的显示. def __iter__(self): '''默认显示. 用户可以自定制''' if isinstance(self.queryset_or_tuple, list ...

  6. mysql启动服务

    mysql.server start 启动mysql服务mysql.server stop 停止mysql服务 mysql密码:123456Az_

  7. docker 删除所有退出的容器

    方法一: #显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID, sudo docker ps -a|grep Exited|awk '{print $1}' #查询所有的容器,过滤出E ...

  8. linux 网络虚拟化: network namespace 简介

    linux 网络虚拟化: network namespace 简介 network namespace 是实现网络虚拟化的重要功能,它能创建多个隔离的网络空间,它们有独自的网络栈信息.不管是虚拟机还是 ...

  9. Kudu基本操作及概念

    Kudu:    针对 Apache Hadoop 平台而开发的列式存储管理器. 使用场景:    适用于那些既有随机访问,也有批量数据扫描的复合场景.    高计算量的场景.    使用了高性能的存 ...

  10. centos 添加右键在终端打开

    yum -y install nautilus-open-terminal