The ever increasing number of platforms and languages available to software developers means that the software industry is reaching high levels of complexity. Model Driven Architecture (MDA) presents a solution to the problem of improving software development processes in this changing and complex environment. MDA driven development is based on models definition and transformation. Design patterns provide a means to reuse proven solutions during development. Identifying design patterns in the models of a MDA approach helps their understanding, but also the identification of good practices during analysis. However, when analyzing or maintaining code that has not been developed according to MDA principles, or that has been changed independently from the models, the need arises to reverse engineer the models from the code prior to patterns' identification. The approach presented herein consists in transforming source code into models, and infer design patterns from these models. Erich Gamma's cataloged patterns provide us a starting point for the pattern inference process. MapIt, the tool which implements these functionalities is described.
展开▼
机译:可供软件开发人员使用的平台和语言的数量不断增加,这意味着软件行业正在达到高度的复杂性。模型驱动体系结构(MDA)提供了一个解决方案,以解决在这种变化和复杂的环境中改善软件开发流程的问题。 MDA驱动的开发基于模型定义和转换。设计模式提供了一种在开发过程中重用经过验证的解决方案的方法。在MDA方法的模型中识别设计模式有助于他们的理解,也有助于在分析过程中识别良好实践。但是,当分析或维护尚未根据MDA原理开发的代码或已独立于模型进行更改的代码时,就需要在识别模式之前从代码对模型进行反向工程。本文介绍的方法在于将源代码转换为模型,并从这些模型推断设计模式。 Erich Gamma的分类模式为我们提供了模式推断过程的起点。描述了实现这些功能的工具MapIt。
展开▼