Tesis
Recuperação de modelos de classes orientados a aspectos a partir de sistemas orientados a objetos usando refatorações de modelos
Fecha
2011-05-27Registro en:
PARREIRA JUNIOR, Paulo Afonso. Recuperação de modelos de classes orientados a aspectos a partir de sistemas orientados a objetos usando refatorações de modelos. 2011. 201 f. Dissertação (Mestrado em Ciências Exatas e da Terra) - Universidade Federal de São Carlos, São Carlos, 2011.
Autor
Parreira Júnior, Paulo Afonso
Institución
Resumen
Aspect-Oriented Programming allows encapsulating the so-called "Crosscutting Concerns (CCC) - software requirements whose implementation is tangled and scattered throughout the functional modules - into new abstractions, such as Aspects, Pointcuts, Advices and Inter-type Declarations. The reengineering of an OO software to an AO is not an easy task due to the existence of different abstractions in these technologies. We develop a set of nine refactorings of annotated OO class models to AO class models. In the context of this work, "annotated class models" are UML class diagrams whose elements (classes, interfaces, attributes and methods) are annotated with stereotypes representing the existing CCC in the application source code. The set of refactorings developed is divided into: i) generic refactorings; and ii) specific refactorings. Three generic refactorings and six specific refactorings to the persistence (which is divided into management and connections, transaction and synchronization) and logging concerns and to the Singleton and Observer design patterns were created. The generic refactorings are responsible for transforming an annotated OO model with indications of CCC into a partial AO model. This model is called partial because it is usually not fully modularized, i.e., there are remaining software elements stereotyped with indications of particular concerns. These refactorings are applicable to any kind of CCC; this is possible, because what is taken into consideration is the scenario in which these concerns appear in the class model. The specific refactorings are responsible for transforming partial AO models into final ones, whose CCC have been fully modularized in aspects. For that, each refactoring has a set of specific steps for modularization of a particular kind of concern. An Eclipse plug-in, called MoBRe was developed to assist the software engineer in the tasks of refactoring application. As a major contribution, the refactorings proposed in this paper allow obtaining well designed AO models. This is so because: i) they provide a step-by-step guide to the modularization of certain CCC and can avoid that software engineers choose inappropriate strategies for modularization of these CCC; and ii) they were prepared based on good design practices recommended by the scientific community. Thus, besides, the models the use of refactorings can lead to generation of better-quality code, for example, free of bad smells. A case study was conducted to assess the applicability of the proposed refactorings in order to compare an AO model generated by them with an AO model obtained from the literature.
Ítems relacionados
Mostrando ítems relacionados por Título, autor o materia.
-
Uma abordagem de linhas de produtos de software para apoiar e-Science
Foschiani, Fernanda Yara dos Santos, 1983- -
Abordagem de pontos de função no desenvolvimento de sistemas utilizando práticas ágeis
Silva, Marcelo Mendes da (Universidade Tecnológica Federal do ParanáCuritibaBrasilPrograma de Pós-Graduação em Computação AplicadaUTFPR, 2019-12-12)Function point analysis is a technique that enables the measurement of software development projects and, thus, establish a size unit that is used in software project management. Currently, agile methods and practices have ... -
Metodologia de projeto de software orientado a notificações
Mendonca, Igor Thiago Marques (Universidade Tecnológica Federal do ParanáCuritibaBrasilPrograma de Pós-Graduação em Engenharia Elétrica e Informática IndustrialUTFPR, 2020-12-17)Many studies have been proposed to mitigate problems of productivity, quality and increasing complexity in the software industry. One of these studies proposes a new computing approach called Notification Oriented Paradigm ...