An Aspect-oriented Implementation Method

Detalhes bibliográficos
Ano de defesa: 2005
Autor(a) principal: Castelo Branco Soares, Sérgio
Orientador(a): Henrique Monteiro Borba, Paulo
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Pernambuco
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://repositorio.ufpe.br/handle/123456789/1975
Resumo: Esta tese define um método de implementação orientado a aspectos que guia a implementação de requisitos (concerns) de comunicação (distribuição), gerenciamento de dados e de controle de concorrência como aspectos. Um aspecto é um novo mecanismo de abstração adicionado pelo paradigma orientado a aspectos estendendo o paradigma orientado a objetos. O objetivo desta nova abstração é aumentar a modularidade do software e, portanto, sua manutenibilidade. A modularidade alcançada pelo uso de aspectos permite que programadores adicionem ou modifiquem a funcionalidade do software com mudanças não-invasivas, as quais mantém o código base livre de detalhes sobre estas mudanças e, portanto, mais fácil de entender e modificar. Além disso, este tipo de mudança evita que códigos de diferentes requisitos (concerns) fiquem misturados com o código base e entre si e que fiquem espalhados por vários módulos do software. Também definimos como o método de implementação pode ser composto com o processo de desenvolvimento RUP, de modo a ajustar atividades de gerenciamento, levantamento de requisitos, análise e de projeto para que possam suportar a aplicação do método num contexto do desenvolvimento de software. Além disso, o método apresenta uma abordagem de implementação alternativa que tenta antecipar mudanças de requisitos através da implementação de protótipos funcionais mais precocemente do que numa abordagem regular. Desta forma, clientes e desenvolvedores podem testar o software antes de aplicar esforço adicional para implementar requisitos de distribuição, persistência e de controle de concorrência. Um estudo foi executado de modo a caracterizar quão útil é esta abordagem alternativa, provendo um suporte para a tomada de decisões sobre quando utilizar a abordagem alternativa ou a regular. Em adição, o método provê suporte automatizado para a geração de tipos do software base e de aspectos para implementar requisitos de gerenciamento de dados, comunicação e de controle de concorrência. De fato, esta ferramenta guia a aplicação do método e o uso de um framework de aspectos gerado pelo método, o qual permite um reuso de parte dos aspectos gerados neste trabalho. O método de implementação foi definido com base numa arquitetura de software específica que apesar de específica pode ser utilizada pra implementar vários tipos de softwares