一、基本信息
标题: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