A manutenção de software é reconhecida como uma atividade bastante importante, senão indispensável, da Engenharia de Software. As alterações realizadas no software durante a sua manutenção, se não forem realizadas de forma sistematizada, acabam por descaracterizar e prejudicar a manutenibilidade desse software. Nesse contexto, a customização de sistemas de software, ou seja, a manutenção adaptativa de sistemas de software para domínios e ambientes específicos, vem sendo largamente adotada pela indústria. Em outra perspectiva, a Programação Orientada a Aspectos (POA) foi proposta como uma abordagem para melhorar a separação de interesses em sistemas de software. Em paralelo, tem-se Componentes de Software que enfatizam o projeto e a construção de sistemas de software visando o aumento do reúso e da produtividade. Ainda nessa linha, algumas propostas têm sido feitas com o objetivo de combinar os conceitos de componentes de software com o paradigma de orientação a aspectos, ou seja, a criação de componentes que utilizem aspectos como interface para entrecortar outros sistemas. Vale destacar que na indústria, a manutenção de software, incluindo a customização, não tem sido realizada de maneira sistemática o que contribui para a degradação da qualidade dos sistemas. Portanto, a principal contribuição deste trabalho é propor um processo para customização de sistemas de software utilizando componentes orientados a aspectos visando a diminuição do acoplamento na adaptação de sistemas de software e, consequentemente, melhorando sua manutenibilidade. Além disso, um estudo de caso foi conduzido no qual a abordagem proposta foi utilizada na customização de um sistema de software comercial de grande porte. Os resultados desse estudo de caso foram analisados qualitativamente e contribuíram para avaliar a aplicabilidade da abordagem proposta neste trabalho como um processo sistematizado de customização de sistemas de software utilizando componentes orientados a aspectos / The software maintenance is recognized as a very important activity, if not indispensable, of Software Engineering. The changes made on the software during its maintenance, if not performed in a systematic way, eventually disfigure and damage the maintainability of this software. In this context, the customization of software systems, in other words, the adaptive maintenance of software systems for domains and for specific environments, has been widely adopted by industry. In another perspective, Aspect-Oriented Programming (AOP) has been proposed as an approach to improve separation of concerns in software systems. In parallel, there is Software Components that emphasize design and construction of software systems in order to increase reuse and productivity. Also in this subject, some proposals have been made with the objective to combine the concepts of software components with the aspect oriented paradigm, in other words, the creation of components that use aspects as interface to crosscut other systems. It is important to highlight that in the industry, software maintenance, including customization, has not been performed on a systematic way which contributes to the software quality degradation. Therefore, the main contribution of this work is to propose a process for customization of software systems using aspect oriented components aiming the reduction of coupling on software systems adaptation and thus improving its maintainability. Furthermore, a case study was conducted wherein the proposed approach was used to customize a large scale software system. The results of this case study were analyzed qualitatively and have contributed to evaluate the applicability of the proposed approach in this work as a systematic process to customize software systems using aspect-oriented components
Identifer | oai:union.ndltd.org:usp.br/oai:teses.usp.br:tde-23072013-164457 |
Date | 10 June 2013 |
Creators | Bianchi, Thiago |
Contributors | Nakagawa, Elisa Yumi |
Publisher | Biblioteca Digitais de Teses e Dissertações da USP |
Source Sets | Universidade de São Paulo |
Language | Portuguese |
Detected Language | Portuguese |
Type | Dissertação de Mestrado |
Format | application/pdf |
Rights | Liberar o conteúdo para acesso público. |
Page generated in 0.0018 seconds