• Nenhum resultado encontrado

CAPÍTULO 6 AVALIAÇÃO QUANTITATIVA DAS VERSÕES GRENJ-OO E

6.4 Análise dos Resultados

A partir da análise dos valores das métricas de separação de interesses, acoplamento, coesão e tamanho para cada padrão da GRN implementado no GRENJ-OO foi constatado quatro tipos diferentes de resultados: A) “Métricas de Separação de Interesses, Acoplamento, Coesão e Métricas de Tamanho favoráveis para OA”; B) “Métricas de Separação de Interesses pouco favoráveis para OA e Métricas de Acoplamento, Coesão e Tamanho favoráveis para OA”; C) “Métricas de Separação de Interesses favoráveis para OO, Métrica de Acoplamento igual para OO e OA e Métricas de Coesão e Tamanho favoráveis para OA”; e D) “Métricas de Separação de Interesses iguais para OO e OA e Métricas de Acoplamento, Coesão e Tamanho favoráveis a OA”. Na Tabela 6.1 é apresentado o agrupamento dos padrões da GRN em cada uma dessas categorias de resultados.

Capítulo 6 - Avaliação Quantitativa das Versões GRENJ-OO e GRENJ-OA 100

Tabela 6.1 – Tipos de resultados e os padrões da GRN.

Tipo de Resultados Padrões da GRN

A

Identificar Recurso, Quantificar Recurso, Comercializar Recurso, Itemizar Transação do Recurso, Pagar pela Transação do Recurso e Identificar o Executor da Transação.

B Locar Recurso, Reservar Recurso e Cotar Recurso.

C Conferir a Entrega do Recurso.

D Manter Recurso, Cotar a Manutenção, Identificar Tarefas de Manutenção e Identificar Peças de Manutenção.

A) Métricas de Separação de Interesses, Acoplamento, Coesão e de Tamanho favoráveis para OA: A justificativa para a ocorrência desses resultados para este grupo de

padrões consiste no fato de que suas versões OO estão entrelaçadas e espalhadas por várias unidades do framework GRENJ-OO. Outro fator a ser considerado é a existência de um grande número de variabilidades inerentes a cada um desses padrões que estão altamente acopladas nesse framework. Dessa forma, o uso de OA na modularização dessas variabilidades favoreceu os resultados das medidas de acoplamento, coesão e tamanho.

B) Métricas de Separação de Interesses pouco favoráveis para OA e métricas de Acoplamento, Coesão e Tamanho favoráveis para OA: Isso ocorre para os padrões desse

grupo em virtude de possuírem um número menor de variabilidades quando comparado com os padrões do grupo A). Assim nas versões OA de suas variantes, o espalhamento de interesses relacionados a cada uma delas foi removido das unidades do GRENJ-OO que não foram projetadas para implementá-las, mas aspectos foram criados para modularizá-las, resultando em melhorias discretas para os valores de CDC e CDO. Ao contrário, os resultados das métricas de acoplamento, coesão e tamanho mostraram que suas versões OA foram superiores em relação às OO. Isso se justifica pela efetividade da OA em separar as features opcionais e alternativas dos padrões Locar Recurso, Reservar Recurso e Cotar Recurso.

C) Métricas de Separação de Interesses favoráveis para OO, Métrica de Acoplamento igual para OO e OA e Métricas de Coesão e Tamanho favoráveis para OA: esses resultados foram obtidos somente na avaliação da variante Entrega de Venda de

Recurso Mensurável, do padrão Conferir a Entrega do Recurso. A razão da versão OA dessa variante ter um valor inferior para CDC em relação à OO é decorrente do nível de granularidade fina que essa variante possui, ou seja, sua implementação afeta o núcleo do padrão (seus elementos base) e outras variantes desse padrão. Com isso, aspectos foram criados para encapsular a implementação dessa variante em cada um desses níveis de

Capítulo 6 - Avaliação Quantitativa das Versões GRENJ-OO e GRENJ-OA 101 granularidade. Com relação a acoplamento, esses resultados ocorrem porque houve uma inversão de acoplamento na implementação dessa variante, em que o código relacionado a ela foi removido de unidades que implementam outras variantes, mas um aspecto foi criado para modularizar a implementação dessa variante. Para coesão e de tamanho, os resultados foram favoráveis para OA em virtude dos interesses relacionados a essa variante estarem separados dos elementos base do padrão Conferir a Entrega do Recurso e de outras variantes desse padrão.

D) Métricas de Separação de Interesses iguais para OO e OA e Métricas de Acoplamento, Coesão e Tamanho favoráveis a OA: Os resultados das métricas de

separação de interesses para esses padrões se justificam pela remoção do entrelaçamento e do espalhamento de interesses relacionados a esses padrões das unidades do framework GRENJ- OO que implementam outros padrões. Com isso, um aspecto foi criado para cada unidade desse framework que contém código relacionado a esses padrões. Dessa forma, os valores de CDC não se alteraram em ambas as versões OO e OA desses padrões. Ao contrário, os resultados das métricas de acoplamento, coesão e tamanho foram favoráveis para OA. Isso ocorre pela efetividade da OA em separar a implementação dos padrões desse grupo, que são

features opcionais do framework GRENJ-OO, dos demais padrões da GRN implementados

nesse framework.

6.5 Considerações Finais

Neste capítulo foi apresentada uma avaliação quantitativa para comparar as versões OO e OA dos padrões da linguagem GRN no framework GRENJ-OO. A realização dessa avaliação teve o objetivo de verificar a efetividade do uso de abstrações orientadas a aspectos na modularização de frameworks desenvolvidos com linguagens de padrões de análise. Notou-se que com o uso de orientação a aspectos houve a redução do acoplamento e aumento da coesão na maioria dos padrões da GRN e de suas variantes implementadas no framework GRENJ-OO. Dessa forma, a manutenibilidade, a reusabilidade e o gerenciamento de variabilidades desse framework podem ser obtidos mais facilmente.

Com o uso de OA houve aumento do número de linhas de código, número de operações e outras medidas de tamanho relacionadas ao GRENJ-OO. Na Tabela 6.2 estão apresentados os valores encontrados para as versões GRENJ-OO e GRENJ-OA referentes ao

Capítulo 6 - Avaliação Quantitativa das Versões GRENJ-OO e GRENJ-OA 102 número de unidades, ao número de métodos, ao número de classes abstratas, ao número de métodos abstratos e linhas de código, bem como as diferenças entre esses valores. A porcentagem positiva significa que a versão OA apresentou resultados melhores em relação à OO, o valor zero indica que não houve alteração entre as versões e a negativa que a versão OO apresentou resultados melhores em relação à versão OA.

Tabela 6.2. Medidas de tamanho dos frameworks GRENJ-OO e GRENJ-OA.

Frameworks/Medidas de Tamanho Linhas de Código (LOC) Número de

Unidades Métodos/Advices Número de Abstratas Classes Abstratos Métodos GRENJ-OO 18424 71 1117 40 83 GRENJ-OA 20297 152 1222 40 71 Diferença OO e OA -10,16% -114,08% -9,4% 0% +14,45%

Durante a realização da avaliação quantitativa foi verificado que o uso de orientação a aspectos para modularizar variabilidades de frameworks construídos com base em linguagens de padrões, aumenta a quantidade de suas unidades em determinadas situações, como ocorreu na modularização do GRENJ-OO. Isso pode conduzir a falsos negativos quando se utiliza métricas para avaliá-los. Por exemplo, ao considerar o padrão como um todo na avaliação, ou seja, o padrão com todas as suas variantes, pode-se concluir que uso de OA prejudica a separação de interesses, aumenta o acoplamento e reduz a coesão da implementação do padrão. Porém, quando se analisa cada variante isoladamente, é possível verificar as melhorias que OA proporciona ao separar a implementação de cada variante do padrão.

Com base nos resultados obtidos neste estudo pôde-se concluir que a orientação a aspectos é uma solução adequada para modularizar variabilidades em frameworks desenvolvidos com base em linguagens de padrões análise. A descrição e a condução de um experimento são descritas no próximo capítulo.