UML model refactoring: a systematic literature review
一、基本信息
标题: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的更多相关文章
- 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 ...
- Literature Review on Tidal Turbine
source: scopus , SCIE keywords in tilte: tidal turbine Software: Bibliometrix
- Eclipse 添加 UML Model插件
1.下载安装 ModelGson 下载链接:https://pan.baidu.com/s/1smIZApv 密码:mu5l eclipse安装ModelGson(注意不用解压ModelGson, ...
- 【云迁移论文笔记】Cloud Migration Research:A Systematic Review
Cloud Migration Research:A Systematic Review Author Info: Pooyan Jamshidi PhD Postdoctoral Researche ...
- [初读笔记] Cloud Migration Research: A Systematic Review (TCC, 2013)
Pooyan Jamshidi, Aakash Ahmad, Claus Pahl, "Cloud Migration Research: A Systematic Review," ...
- 基于SpringBoot+SSM实现的Dota2资料库智能管理平台
Dota2资料库智能管理平台的设计与实现 摘 要 当今社会,游戏产业蓬勃发展,如PC端的绝地求生.坦克世界.英雄联盟,再到移动端的王者荣耀.荒野行动的火爆.都离不开科学的游戏管理系统,游戏管理系 ...
- 【论文笔记】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 ...
- UML的基本关联
First, a dependency is a semantic relationship between two model elements in which a change to on ...
- [设计语言][统一建模语言][软件开发方法学][UML] UML
背景介绍 UML是一种统计建模语言. WIKI: https://en.wikipedia.org/wiki/Unified_Modeling_Language UML是OMG (object man ...
随机推荐
- 通过.ibd和.frm恢复mysql数据
背景:因为机器损坏,数据库的索引文件什么的都损坏了.只留下了一个mysql的data目录… 此方法恢复数据的前提:建表用的innodb索引 备注:如果mysql的目录还都在,可以先尝试,将mysq ...
- vue踩坑(二):跨域以及携带cookie
最近后台需求要在请求的时候传cooki给后台,正常情况下拿到cookie后存在cookie里,同域名下是会自己带到请求头里的,但是因为要在本地调试,那么问题就来了,localhost:8080下面的c ...
- mysql学习笔记--数据库事务
一.概念 1. 事务是一个不可分割的单元 2. 事务作为一个整体要么一起执行,要么一起回滚 二.事务操作 1. 开启事务 start transaction 或者begin [work] 2. 提交事 ...
- audiounit错误码对应值查询
https://www.osstatus.com/search/results?platform=all&framework=all&search=(错误码的值) EX: https ...
- why?
优点 充分利用多核CPU的计算能力: 方便进行业务拆分,提升应用性能 缺点 上下文切换 注意线程安全,避免死锁
- android 7.0+ FileProvider 访问隐私文件 相册、相机、安装应用的适配
从 Android 7.0 开始,Android SDK 中的 StrictMode 策略禁止开发人员在应用外部公开 file:// URI.具体表现为,当我们在应用中使用包含 file:// URI ...
- windows下的mongodb安装与配置
一.下载mongodb安装文件 https://www.mongodb.com/download-center/community 选择zip压缩包方式,如:mongodb-win32-x86_64- ...
- oracle redo日志文件损坏恢复
参考:How to Recover from Loss Of Online Redo Log And ORA-312 And ORA-313 (Doc ID 117481.1) 在线重做日志文件丢失后 ...
- BZOJ1058或洛谷1110 [ZJOI2007]报表统计
BZOJ原题链接 洛谷原题链接 STL 本题可以直接使用\(\mathtt{STL\ multiset}\)水过去. 因为本题插入数的操作实际上就是将原数列分为\(n\)段,在每一段的末尾插入数,所以 ...
- C51汇编典型代码&一些org-mode技巧
C51汇编典型代码&一些org-mode技巧 文档存放 具体内容可见存放的数据. 下面主要介绍关键代码. ASM 部分 1;; LCD数据发送========================= ...