• Nenhum resultado encontrado

Capítulo 5 Avaliação da Proposta

5.1. Método de Avaliação

Segundo Wohlin et al. (2000) existem quatro métodos relevantes para condução de experimentos na área de Engenharia de Software: científico, de engenharia, experimental e analítico.

Segundo Travassos (2002), o método científico tenta extrair do mundo algum modelo que possa explicar um fenômeno, e avaliar se o modelo é realmente representativo para o fenômeno que está sob observação.

O método de engenharia observa as soluções existentes, sugere as mais adequadas, desenvolve, mede, analisa e promove melhoria nas soluções, e repete o processo até que nenhuma melhoria adicional seja possível.

O método experimental sugere o modelo, desenvolve o método qualitativo e/ou quantitativo, aplica um experimento, mede e analisa, avalia o modelo e repete o processo. O processo se inicia com o levantamento de um modelo novo, não necessariamente baseado em um modelo já existente, e tenta estudar o efeito do processo ou produto sugerido pelo novo modelo.

O método analítico sugere uma teoria formal, desenvolve a teoria, deriva os resultados e se possível, compara-a com as observações empíricas.

Considerando estes aspectos, este trabalho utilizará o método de engenharia para sua avaliação. Iremos comparar os artefatos gerados pela abordagem GS2SPL e pela nossa abordagem (GAS2SPL) visando determinar se há diferenças significantes nos cenários de caso de uso obtidos com relação à modularidade e expressividade. A comparação será feita do ponto de vista do analista de requisitos, considerando os artefatos gerados para os exemplos MyCourses e do TaRGeT. Para isto, serão utilizadas métricas para a modularidade de cenários de caso de uso da LPS e métricas para quantificar o detalhamento do conhecimento de configuração (expressividade).

A modularidade de cenários de caso de uso da LPS está interessada em garantir que as features estejam encapsuladas em módulos separados (em artefatos de requisitos, os módulos considerados são os cenários) [Alferez et al. 2013]. Nesta avaliação, a modularidade será analisada levando-se em consideração os conceitos da orientação a aspectos, pois, segundo Alferez et al. (2013) a orientação a aspectos reduz o espalhamento e o entrelaçamento das features nos cenários da LPS. A expressividade está relacionada a quão fácil uma especificação é escrita e lida, ou entendida [Alferez et al. 2013]. Nesta avaliação, a expressividade do conhecimento de configuração será medida pela quantidade de símbolos necessários para especificar o conhecimento de configuração. Para avaliar a expressividade do conhecimento de configuração na abordagem GS2SPL, analisamos as referências a features nos passos dos cenários. Em relação à métrica de expressividade, assim como em Alferez et al. (2013), quanto menos símbolos forem utilizados para especificar o conhecimento de configuração, melhor a expressividade do conhecimento de configuração.

Alferez et al. (2013) realizou uma comparação entre algumas técnicas de especificação de cenários, dentre elas, o PLUSS e MSVCM. No entanto, os cenários gerados nessas técnicas foram obtidos diretamente dos interessados (do inglês, stakeholders). A abordagem MSVCM produziu especificações de cenários mais modulares e um conhecimento de configuração mais expressivo. A nossa abordagem obtém os cenários a partir de modelos de objetivos, assim, precisamos avaliar se a modularidade de MSVCM continua sendo maior nesse caso.

Portanto, para realizar a avaliação, definiram-se as seguintes questões de pesquisa:

Q1 - Os cenários de caso de uso gerados pela abordagem GAS2SPL são mais

modularizados do que os criados pela abordagem GS2SPL?

Q2 – A expressividade das especificações gerada pela abordagem GAS2SPL é maior

do que as geradas pela abordagem GS2SPL?

Destas questões de pesquisa, elaboraram-se as seguintes hipóteses:

Hipótese nula (H01.1): O grau de modularidade dos cenários de caso de uso gerados pela abordagem GAS2SPL é igual ao grau de modularidade dos cenários criados pela abordagem GS2SPL.

Hipótese alternativa (H1): O grau de modularidade dos cenários de caso de uso gerados pela abordagem GAS2SPL é menor que o grau de modularidade dos cenários criados pela abordagem GS2SPL.

Hipótese nula (H02.1): A expressividade das especificações geradas pela abordagem GAS2SPL é igual do que a das especificações geradas pela abordagem GS2SPL.

Hipótese alternativa (H2): A expressividade das especificações geradas pela abordagem GAS2SPL é menor do que a das especificações geradas pela abordagem GS2SPL

As métricas utilizadas na avaliação da abordagem são apresentadas, de forma resumida, a seguir.

Assim como Almeida (2010), para analisar a modularidade dos artefatos gerados utilizaremos as métricas de espalhamento de features (DoS) e entrelaçamento de cenários (DoT), adaptadas de Eaddy et al. (2007).

De acordo com as fórmulas (6.1) e (6.2), o grau de espalhamento de features (do inglês, degree of scattering of features - DoS), adaptado de Almeida (2010), quantifica a concentração de uma feature sob cada cenário s S (sendo S, o conjunto de especificações de cenários). Os valores de DoS estão entre 0 e 1, sendo 0 (completamente localizado/concentrado) e 1 (completamente espalhado). Quanto maior o valor de DoS de uma feature f, maior a probabilidade de ter que reorganizar diferentes cenários quando a especificação da feature mudar. Na equação (6.1) o |S|>1 e significa a cardinalidade do conjunto S, ou seja, em quantos cenários a feature está presente.

De acordo com as fórmulas (6.3) e (6.4), o grau de entrelaçamento dos cenários (do inglês, degree of tangling of scenarios - DoT), adaptado de Almeida (2010), considera quantos passos de um cenário são relacionados a cada feature f F (sendo F, o conjunto de features). Assim como no grau de espalhamento, os valores de DoT estão entre 0 e 1, sendo 0 (completamente focado) e 1 (completamente entrelaçado). Quanto maior o valor de DoT de um cenário s, maior a probabilidade de ter que reorganizar um cenário quando uma feature relacionada mudar. Quando quisermos analisar os valores da modularidade, utilizaremos o grau de foco (do inglês, degree of focus - DoF) que corresponde a 1-DoT.

Portanto, cenários com altos valores de DoF e baixos valores de DoT, correspondem a sistemas bem modularizados [Alferez et al. 2013].

Para medir a expressividade utilizaremos uma métrica para medir a expressividade do conhecimento de configuração. A expressividade do conhecimento de configuração é realizada através da contagem de símbolos necessários para mapear features para outros modelos. Por exemplo, em PLUSS, há referências a features nos passos do cenário. No caso do MSVCM, é realizada a contagem dos símbolos utilizados no artefato de conhecimento de configuração [Alferez et al. 2013].