• Nenhum resultado encontrado

Estudo Experimental

5.3 Planejamento do Estudo

5.3.1 Seleção do contexto

Este estudo consistiu em uma atividade de leitura e interpretação de restrições especificadas em OCL sobre um modelo UML especialmente preparado em laboratório. Portanto, a atividade realizada pelos participantes não estava no contexto de um projeto real da indústria. Os participantes deste estudo são, em sua grande maioria, profissionais com pelo menos três anos de experiência em desenvolvimento de software na indústria.

A estrutura das expressões OCL foi o principal fator de interesse deste estudo. Desta forma, os participantes foram divididos em dois grupos, e todos responderam a um questionário contendo dois tipos de questões:

• tipo S: questões de interpretação de restrições com a presença de OCL

• tipo R: questões de interpretação de restrições obtidas a partir de reestruturações aplicadas às expressões presentes nas questões do tipo S do questionário aplicado ao outro grupo.

5.3.2 Formulação das Hipóteses

Hipótese Nula: a hipótese nula determina que o entendimento das restrições de um modelo não é influenciado pela sua estrutura, ou seja, não há diferença na correção e no esforço despendido no entendimento de restrições contendo OCL smells, em comparação com as restrições obtidas através das reestruturações descritas nesta tese.

A correção do entendimento de um participante é medida pelas variáveis PS e PR, que correspondem ao número total de pontos obtidos nas questões dos tipos S e R, respectivamente. A forma de pontuação das questões é descrita na seção 5.3.4. O tempo gasto por um participante na resolução das questões é medido pelas variáveis TS e TR, que correspondem às questões do tipo S e R, respectivamente. Dessa forma, a hipótese nula é definida em função das médias dos pontos obtidos e dos tempos gastos pelos participantes na resolução de questões dos dois tipos de tratamento (S e R):

HO: μPS = μPR e μTS = μTR

Hipótese Alternativa: existe diferença na correção ou no esforço despendido no entendimento das restrições de um modelo em função da estrutura apresentada por essas restrições. Mais especificamente, o número de pontos obtidos pelos participantes em questões formuladas sobre expressões OCL é maior quando elas estão bem estruturadas e não apresentam OCL smells, e/ou o tempo gasto na resolução das questões do tipo S é significativamente maior que o tempo gasto na resolução das questões do tipo R.

H1: μPS < μPR ou μTS > μTR

5.3.3 Variáveis Independentes

A principal variável independente do estudo corresponde ao tipo das expressões OCL presentes em cada questão respondida pelos participantes. Esta variável pode assumir os seguintes valores: S (restrições contendo OCL smells) ou R (restrições reestruturadas).

O nível de conhecimento de OCL, a experiência em desenvolvimento de software em geral, em desenvolvimento de software orientado a objetos, bem como a experiência dos participantes com modelos UML também são informações independentes que poderiam afetar de forma indesejável os resultados do estudo.

5.3.4 Variáveis Dependentes

Neste estudo, as variáveis dependentes são o número de pontos e o tempo gasto na resolução das questões que foram apresentadas aos participantes.

A pontuação para cada questão (PQ) por participante é determinada pelo pesquisador a partir da avaliação da solução apresentada pelo participante, correspondendo a um número inteiro entre 0 e 2 pontos. Cada questão consiste em avaliar se uma restrição é violada por um determinado conjunto de instâncias do modelo. Caso a resposta (Sim/Não) esteja correta, e a justificativa (indicação das instâncias que contribuem para uma eventual violação) também esteja correta, ela recebe 2 pontos. Caso a resposta esteja correta, mas a justificativa não englobe todas as instâncias envolvidas na violação, ela é pontuada com o valor 1. Finalmente, caso a resposta esteja incorreta, ou a justificativa não indique nenhuma das instâncias que contribuem para a violação, ela é pontuada com o valor 0.

A partir de PQ, definimos duas variáveis, PS e PR, que correspondem ao somatório de pontos para um participante nas questões dos tipos S e R, respectivamente. Desta forma, PS e PR podem assumir valores entre 0 e 10, uma vez que cada participante respondeu a cinco questões de cada tipo.

O tempo gasto pelo participante na resolução de uma questão é dado pela variável TQ. A partir de TQ, definimos duas variáveis, TS e TR, que correspondem ao somatório do tempo gasto por um participante nas questões dos tipos S e R, respectivamente. O procedimento utilizado para a medição do tempo de resolução de cada questão está descrito na seção 5.4.3.

5.3.5 Seleção dos Participantes

Os participantes foram escolhidos por conveniência. A partir de uma consulta prévia a um universo de cerca de cem pessoas, englobando alunos de mestrado e doutorado em Engenharia de Software da UFRJ, profissionais da indústria que foram

alunos do programa de pós-graduação IS-EXPERT do NCE-UFRJ, além de profissionais de empresas do relacionamento do pesquisador, vinte e duas pessoas se candidataram, voluntariamente, a participar do estudo. A composição do grupo de participantes é apresentada na Tabela 5.1.

Origem Participantes

IS-EXPERT – turma 2000 1

IS-EXPERT – turma 2003 6

IS-EXPERT – turma 2004 3

IS-EXPERT – turma 2005 6

COPPE-UFRJ (alunos de doutorado que já participaram de projetos na indústria)

2 Profissionais de empresas que não foram

alunos dos cursos acima

4

Tabela 5.1– Seleção dos Participantes

Os participantes foram selecionados através de comunicações realizadas por meio de mensagens de correio eletrônico. A Tabela 5.2 apresenta um resumo do perfil dos participantes de acordo com a formação, experiência em desenvolvimento de software, experiência em desenvolvimento orientado a objetos, experiência na utilização de UML e de OCL. Doutorando 2 Mestre 2 Formação Especialização 18 Menos de 1 ano 2 De 3 a 5 anos 2 De 5 a 10 anos 5 Experiência em Desenvolvimento Mais de 10 anos 13

Apenas fez um curso 1

Utilizou em projeto de curso 6

Até 3 projetos 5

Experiência em OO

Mais de 3 projetos 10

Apenas fez um curso 2

Utilizou em projeto de curso 6

Até 3 projetos 10

Experiência em UML

Mais de 3 projetos 4

Nenhuma 5

Apenas fez um curso 10

Utilizou em projeto de curso 7

Experiência em OCL

Até 3 projetos 0

A maior parte dos participantes tem experiência de utilização da UML em projetos na indústria, mas nenhum deles utiliza a OCL no cotidiano do seu ambiente de trabalho. A maioria dos participantes já possuia algum conhecimento de OCL, em função de terem sido alunos de uma disciplina de elaboração de modelos de software com UML e OCL do curso de pós-graduação IS-EXPERT do NCE-UFRJ. Entretanto, nenhum dos participantes tinha experiência prática de utilização da OCL em projetos na indústria. Todos os participantes assinaram um termo de consentimento e preencheram um formulário de caracterização.

Em função de restrições de agenda dos participantes e da localização geográfica dispersa dos mesmos, julgamos que não seria viável reuni-los no mesmo local para que o experimento fosse executado de forma simultânea e presencial. A solução adotada consistiu em realizar o estudo experimental através de reuniões individuais e remotas, utilizando o programa Microsoft Messenger, pois todos os participantes declararam ter ao menos alguma experiência no uso desse programa.