• Nenhum resultado encontrado

E-GRN-1: Avaliac¸˜ao da GRN na modelagem de sistemas

6.3 Avaliac¸˜ao da utilidade de linguagens de padr˜oes na modelagem de sistemas

6.3.2 E-GRN-1: Avaliac¸˜ao da GRN na modelagem de sistemas

Definic¸ ˜ao do Experimento

Objeto de Estudo: Linguagem de padr˜oes GRN

Prop´osito: Avaliar a utilizac¸˜ao da GRN na modelagem de sistemas de gest˜ao de recursos de

neg´ocios

Foco qualitativo: Facilidade de modelagem do sistema

Perspectiva: A perspectiva ´e em relac¸˜ao a desenvolvedores de sistemas no dom´ınio da GRN. Contexto: o experimento foi realizado por trinta e cinco estudantes de graduac¸˜ao como sujeitos,

divididos em grupos, tendo como material b´asico a linguagem de padr˜oes GRN, um processo de uso da mesma e treinamento pr´evio de cerca de treze horas/aula. Foi realizado em agosto de 2001 e os alunos pertenciam ao oitavo per´ıodo do curso “Bacharelado em Ciˆencia de Computac¸˜ao” do ICMC-Universidade de S˜ao Paulo.

1considerou-se o grau de dificuldade por meio do n´umero de requisitos do sistema e n´umero de classes do sistema final

6.3 Avaliac¸˜ao da utilidade de linguagens de padr˜oes na modelagem de sistemas 125

Planejamento do Experimento

Selec¸˜ao do Contexto: O experimento foi conduzido de forma independente pelos diversos gru-

pos, n˜ao houve comunicac¸˜ao entre eles, mas tiveram liberdade para estipular seus pr´oprios hor´arios para realizac¸˜ao das tarefas, desde que anotassem na planilha fornecida os hor´arios exatos de in´ıcio e fim das atividades. Os estudos foram executados pelos alunos fora de sala de aula e sem supervis˜ao alguma. Nenhum dos estudantes conhecia a linguagem de padr˜oes GRN. O problema utilizado no experimento foi de um sistema real, embora pequeno. Assim, o estudo ´e v´alido em um contexto espec´ıfico do dom´ınio de Engenharia de Software.

Definic¸˜ao da Hip´otese

Hip´otese nula: S˜ao duas as hip´oteses: HN1 – o tempo gasto na modelagem de um sistema usando

a linguagem de padr˜oes GRN ´e similar ou maior do que usando um processo ad hoc e a

notac¸˜ao orientada a objetos UML e HN2 – o n´umero de erros cometidos na modelagem de um sistema usando a linguagem de padr˜oes GRN ´e similar ou maior do que usando um processoad hoc e a notac¸˜ao orientada a objetos UML.

Hip´otese alternativa: S˜ao duas as hip´oteses: HA1 – o tempo gasto na modelagem de um sistema

usando a linguagem de padr˜oes GRN ´e menor do que usando um processoad hoc e a notac¸˜ao

orientada a objetos UML e HA2 – o n´umero de erros cometidos na modelagem de um sistema usando a linguagem de padr˜oes GRN ´e menor do que usando um processoad hoc e a notac¸˜ao

orientada a objetos UML.

Selec¸˜ao das vari´aveis:

Vari´aveis Independentes: Metodologia utilizada: Na primeira etapa, um processo ad hoc e a

notac¸˜ao UML foram utilizados na modelagem, sendo que metade dos grupos modelou um sistema de hotel e a outra metade um sistema de locadora de carros. Na segunda etapa, a linguagem de padr˜oes GRN foi utilizada na modelagem, invertendo-se o sistema alvo;

Experiˆencia e ´area de interesse do aluno: a experiˆencia dos alunos com an´alise orientada a

objetos e a ´area de computac¸˜ao com a qual eles se identificam s˜ao fatores que influenciam a facilidade de modelagem.

Vari´aveis Dependentes: tempo total gasto na modelagem do sistema exemplo e n´umero de er-

ros encontrados nos modelos, que foram corrigidos com base em um gabarito da soluc¸˜ao.

Tomou-se nota dos erros cometidos pelos alunos, usando a classificac¸˜ao mostrada na Ta- bela 6.1. Considera-se que quanto maior o tempo gasto na modelagem e quanto mais erros cometidos, maior ser´a o custo de desenvolvimento.

6.3 Avaliac¸˜ao da utilidade de linguagens de padr˜oes na modelagem de sistemas 126

Tabela 6.1: Tipos de erros considerados no Estudo de Caso com a GRN

Sigla Descric¸˜ao do Erro

#ent N´umero de entidades (classes) criadas no modelo. O aluno pode ter esquecido alguma entidade ou pode ter adicio- nado entidades desnecessariamente. Caso o aluno omita uma entidade, deve-se contar tamb´em os atributos, m´etodos, relacionamentos e cardinalidades omitidos por conseq¨uˆencia.

#atr Atributos de cada entidade. O aluno pode ter deixado de incluir alguns atributos, pode ter inserido atributos redun- dantes ou desnecess´arios ou pode ter inserido atributos na entidade incorreta

#met M´etodos e operac¸˜oes de cada entidade. O aluno pode ter deixado de incluir alguns m´etodos/operac¸˜oes, pode tˆe-los inserido de forma redundante ou desnecess´aria ou pode tˆe-los inserido na entidade incorreta.

#rel Relacionamentos entre as entidades, que podem ter sido esquecidos, podem ter sido colocados nos locais errados ou podem ter seu tipo incorreto (por exemplo, agregac¸˜ao ao inv´es de especializac¸˜ao). Caso o aluno omita um relacionamento, deve-se contar tamb´em as cardinalidades omitidas por conseq¨uˆencia.

#car Cardinalidade dos relacionamentos. O aluno pode ter omitido ou informado a cardinalidade incorreta de um relaci- onamento.

Selec¸˜ao dos sujeitos: A t´ecnica de escolha foi a amostragem por conveniˆencia (as pessoas mais

pr´oximas e mais convenientes s˜ao selecionadas como sujeitos), visto que s˜ao alunos matri- culados em disciplina de graduac¸˜ao. A divis˜ao dos trinta e cinco alunos em doze grupos n˜ao foi aleat´oria, pois os pr´oprios alunos montaram os grupos como desejaram. A distribuic¸˜ao dos sistemas de hotel e locadora de carros foi aleat´oria na primeira etapa e invertida na se- gunda etapa. Os alunos n˜ao tiveram chance de decidir se iriam ou n˜ao participar, ou seja, o experimento fazia parte de um projeto obrigat´orio da disciplina. Assim, n˜ao se pode ga- rantir que os resultados seriam os mesmos se os participantes fossem outros, por exemplo, profissionais escalados de maneiraad hoc ou volunt´arios.

Projeto do Experimento: A Tabela 6.2 mostra a divis˜ao dos grupos e sistemas nas duas etapas

do experimento.

Tabela 6.2: Projeto do E-GRN-1

Grupo Etapa 1: Modelagem com a UML Etapa 2: Modelagem com a GRN

1 Hotel Locadora de Carros 2 Locadora de Carros Hotel 3 Hotel Locadora de Carros 4 Locadora de Carros Hotel 5 Hotel Locadora de Carros 6 Locadora de Carros Hotel 7 Hotel Locadora de Carros 8 Locadora de Carros Hotel 9 Hotel Locadora de Carros 10 Locadora de Carros Hotel 11 Hotel Locadora de Carros 12 Locadora de Carros Hotel

Instrumentac¸˜ao: O material fornecido aos sujeitos para realizac¸˜ao do experimento foi composto

de: Diretrizes para realizac¸˜ao do experimento; Documento de Requisitos dos dois sistemas; linguagem de padr˜oes GRN; processo de uso da linguagem de padr˜oes GRN; Formul´arios para coleta de dados do experimento, que podem ser encontrados no Apˆendice D (F1: for- mul´ario a ser preenchido pelo grupo, contendo o tempo total gasto, em pessoas hora, e um question´ario a respeito das dificuldades encontradas para execuc¸˜ao do experimento e F2:

6.3 Avaliac¸˜ao da utilidade de linguagens de padr˜oes na modelagem de sistemas 127 formul´ario a ser preenchido individualmente, respondendo um question´ario para categori- zar o aluno de acordo com alguns pontos-chave para melhor entendimento e an´alise dos resultados, tais como a experiˆencia profissional, disciplinas cursadas, etc.).

Avaliac¸˜ao da Validade: Validade da conclus˜ao: o experimento foi elaborado de forma que os re-

sultados comprovem ou n˜ao a hip´otese, sem influˆencia de outros fatores externos. Validade interna: o experimento tem condic¸˜oes de ser repetido com os mesmos participantes e obje-

tos. Um fator que facilita essa repetic¸˜ao ´e a ausˆencia de comunicac¸˜ao e competic¸˜ao entre os participantes. Validade externa: ´e prov´avel que o resultado n˜ao possa ser generalizado

fora do escopo deste estudo, j´a que a escolha foi n˜ao aleat´oria e n˜ao reflete o mercado de trabalho. Validade da construc¸˜ao: um question´ario foi aplicado aos participantes, no qual foi

poss´ıvel saber a experiˆencia anterior dos mesmos no dom´ınio do objeto de estudo. Assim, foi poss´ıvel medir a influˆencia desses fatores nos resultados apurados. O fato dos alunos estarem realizando um projeto da disciplina, inclusive valendo nota, poderia ser agravante, j´a que eles poderiam manipular as informac¸˜oes sobre os tempos gastos para melhorar a nota. No entanto, este fato foi desconsiderado, pois os alunos foram avisados sobre a importˆancia da precis˜ao dessa informac¸˜ao para o experimento, tendo sido garantido a eles que o tempo gasto n˜ao traria influˆencia na nota final.

Operac¸ ˜ao do Experimento

Preparac¸˜ao: ap´os estabelecido contato com os participantes, foi preparada a instrumentac¸˜ao ne-

cess´aria: a linguagem de padr˜oes GRN foi disponibilizada na Web, o treinamento foi elabo- rado por meio de transparˆencias sobre o conte´udo e os question´arios foram impressos. Foi garantido anonimato aos participantes.

Participantes: Participaram do experimento trinta e cinco alunos de graduac¸˜ao do curso “Bacha-

relado em Ciˆencias de Computac¸˜ao” do ICMC-USP. As Tabelas 6.3 e 6.4 mostram o perfil desses estudantes em relac¸˜ao `a ´area de interesse e experiˆencia no dom´ınio tratado, respecti- vamente.

Tabela 6.3: ´Area de interesse dos alunos do E-GRN-1

´

Area de Interesse N ´umero de alunos Percentual

Redes/Sist Distribu´ıdos 4 11% Banco de Dados 6 17% Inteligˆencia artificial 6 17% Engenharia Soft/Sist. Inform. 3 9% Computac¸˜ao gr´afica 6 17%

Hiperm´ıdia 9 26%

Hardware 1 3%

6.3 Avaliac¸˜ao da utilidade de linguagens de padr˜oes na modelagem de sistemas 128

Tabela 6.4: Experiˆencia dos alunos do E-GRN-1

Experiˆencia no dom´ınio tratado N ´umero de alunos Percentual

Sem experiˆencia 5 14%

Realizou projetos durante disciplinas de graduac¸˜ao/p´os graduac¸˜ao usando an´alise estruturada

9 26%

Realizou projetos durante disciplinas de graduac¸˜ao/p´os graduac¸˜ao usando an´alise orientada a objetos

20 57% Desenvolveu, profissionalmente, at´e 3 projetos nesse dom´ınio 1 3%

Total de alunos que respondeu 35 100%

Execuc¸˜ao: A execuc¸˜ao do experimento deu-se em duas etapas: na primeira etapa foi realizado

o treinamento de uma hora a respeito da UML, pois os participantes j´a possu´ıam conheci- mento sobre orientac¸˜ao a objetos. Foi ent˜ao distribu´ıda a tarefa aos participantes, de modelar um sistema usando a UML. O grupo deveria entregar um diagrama de classes para tal sis- tema, contendo as classes (com atributos, m´etodos e operac¸˜oes) e os relacionamentos entre as classes (juntamente com as respectivas cardinalidades). Foram entregues aos participantes os formul´arios F1 e F2. Ap´os duas semanas, os alunos entregaram a modelagem referente `a primeira etapa. Foi ent˜ao realizado o treinamento de doze horas sobre a linguagem de padr˜oes GRN, ap´os o qual os participantes receberam a tarefa de modelar outro sistema usando a GRN como auxiliar, e segundo os requisitos presentes no documento fornecido. O grupo deveria entregar um diagrama de classes do sistema, tamb´em usando a notac¸˜ao UML, contendo as classes (com atributos, m´etodos e operac¸˜oes) e os relacionamentos entre as classes (juntamente com as respectivas cardinalidades). No diagrama de classes deveria ser anotado, para cada classe participante, o papel por ela desempenhado no padr˜ao apli- cado. Cada grupo recebeu o formul´ario F1 para anotar os tempos e dificuldades referentes `a segunda etapa. Os alunos tamb´em entregaram os modelos resultantes da segunda etapa ap´os duas semanas.

Validac¸˜ao dos Dados: Os formul´arios distribu´ıdos aos participantes foram conferidos para veri-

ficar se foram preenchidos corretamente. Algumas perguntas foram feitas aos participantes para assegurar que seguiram as recomendac¸˜oes sugeridas. Todos eles participaram do expe- rimento de maneira respons´avel e portanto nenhum dos participantes foi descartado.

An ´alise e Interpretac¸ ˜ao dos Resultados

A Tabela 6.5 mostra os resultados obtidos na primeira etapa do E-GRN-1, que consistiu na an´alise do sistema usando um processoad hoc e a notac¸˜ao UML. A Tabela 6.6 mostra os resultados obtidos

na segunda etapa do E-GRN-1, que consistiu na an´alise do sistema usando a GRN. S˜ao mostrados os tempos gastos, erros cometidos (segundo os crit´erios mostrados na Tabela 6.1) e notas finais obtidas pelos diversos grupos. A nota final foi obtida sem considerar o tempo gasto, mas apenas o n´umero de erros cometidos.

6.3 Avaliac¸˜ao da utilidade de linguagens de padr˜oes na modelagem de sistemas 129

Tabela 6.5: Resultados do E-GRN-1 – Abordagem Ad hoc

Grupo Pessoas/hora #ent #atr #met #rel #car Total de erros Nota

Sistema Hotel 1 3,00 1,00 26,00 15,00 10,00 19,00 71 3,75 3 15,00 1,00 20,00 7,00 9,00 16,00 53 4,25 5 3,50 0,00 14,00 2,00 0,00 0,00 16 8,75 7 13,00 1,00 20,00 6,00 8,00 13,00 48 5,75 9 3,80 1,00 17,00 19,00 5,00 26,00 68 4,25 11 7,50 0,00 15,00 15,00 4,00 10,00 44 6,50 M´edia 7,63 0,67 18,67 10,67 6,00 14,00 50 5,54

Sistema Locadora de Carros

2 6,00 1,00 14,00 3,00 4,00 8,00 30 7,50 4 3,00 1,00 7,00 2,00 2,00 8,00 20 8,25 6 4,00 3,00 29,00 17,00 12,00 25,00 86 2,00 8 4,50 1,00 21,00 6,00 6,00 14,00 48 5,75 10 5,50 1,00 14,00 4,00 6,00 10,00 35 6,75 12 4,00 13,00 24,00 19,00 9,00 20,00 85 1,00 M´edia 4,50 3,33 18,17 8,50 6,50 14,17 50,67 5,21 M´edia Geral 6,07 2,00 18,42 9,58 6,25 14,08 50,33 5,38

Tabela 6.6: Resultados do E-GRN-1 – Abordagem GRN

Grupo Pessoas/hora #ent #atr #met #rel #car Total de erros Nota

Sistema Locadora de Carros

1 6,00 3,00 14,00 8,00 4,00 26,00 55 5,00 3 12,00 0,00 11,00 10,00 1,00 3,00 25 7,50 5 3,80 1,00 8,00 2,00 2,00 3,00 16 8,50 7 12,00 2,00 19,00 4,00 4,00 26,00 55 5,50 9 10,00 1,00 19,00 5,00 4,00 8,00 37 6,75 11 3,00 3,00 18,00 11,00 3,00 8,00 43 5,00 M´edia 7,80 1,67 14,83 6,67 3,00 12,33 38,5 6,38 Sistema Hotel 2 7,50 1,00 17,00 5,00 2,00 8,00 33 7,00 4 12,00 2,00 6,00 2,00 0,00 1,00 11 8,50 6 9,00 2,00 12,00 0,00 4,00 6,00 24 7,50 8 12,00 1,00 10,00 1,00 0,00 1,00 13 8,75 10 6,70 0,00 10,00 2,00 4,00 6,00 22 8,25 12 5,50 1,00 8,00 11,00 4,00 2,00 26 7,00 M´edia 8,78 1,17 10,50 3,50 2,33 4,00 21,5 7,83 M´edia Geral 8,29 1,42 12,67 5,08 2,67 8,17 30 7,10

Comparando-se as m´edias apresentadas na Tabela 6.5, observa-se que a nota m´edia dos grupos ´ımpares ´e aproximadamente igual `a dos grupos pares, o que ajuda a confirmar (embora n˜ao prove) a similaridade no grau de dificuldade dos dois sistemas, j´a que o perfil dos estudantes ´e bastante semelhante e os grupos foram divididos de forma homogˆenea. Comparando-se as m´edias gerais das Tabelas 6.5 e 6.6, percebe-se um aumento tanto na nota final dos grupos quanto no n´umero de horas gastas na modelagem. Por outro lado, nota-se uma diminuic¸˜ao do n´umero global de erros cometidos.

As Figuras 6.1 e 6.2 ilustram graficamente algumas das informac¸˜oes das Tabelas 6.5 e 6.6. Em particular, foram considerados nessas figuras o tempo (em pessoas/hora) gasto para modelagem do sistema e o n´umero de erros cometidos, que constituem as hip´oteses HA1 e HA2.

A an´alise estat´ıstica dos resultados foi feita utilizando dois tipos de teste: o teste n˜ao pa- ram´etrico da soma dos postos de Wilcoxon para comparac¸˜ao de duas amostras independentes e o

6.3 Avaliac¸˜ao da utilidade de linguagens de padr˜oes na modelagem de sistemas 130 4 6 8 10 12 14

Abordagem Ad hoc Abordagem GRN

Pessoas/hora E-GRN-1 (Pessoas/hora) SISTEMA HOTEL 10 20 30 40 50 60 70

Abordagem Ad hoc Abordagem GRN

Total de Erros

E-GRN-1 (Total de Erros)

SISTEMA HOTEL

Figura 6.1: Representac¸˜ao gr´afica dos resultados do E-GRN-1 nas duas abordagens - Sistema

Hotel 4 6 8 10 12

Abordagem Ad hoc Abordagem GRN

Pessoas/hora

E-GRN-1 (Pessoas/hora)

SISTEMA LOCADORA DE CARROS

20

40

60

80

Abordagem Ad hoc Abordagem GRN

Total de Erros

E-GRN-1 (Total de Erros)

SISTEMA LOCADORA DE CARROS

Figura 6.2: Representac¸˜ao gr´afica dos resultados do E-GRN-1 nas duas abordagens - Sistema

Locadora de Carros

teste n˜ao param´etrico de Mann Whitney para comparac¸˜oes de duas amostras independentes (Cono- ver, 1980; Hollander e Wolfe, 1973). Da forma como o experimento foi planejado, dois conjuntos independentes de amostras foram obtidos: Conjunto 1 (Sistema Hotel) = AbordagemAd hoc reali-

zada pelos grupos ´ımpares X Abordagem GRN realizada pelos grupos pares e Conjunto 2 (Sistema Locadora de Carros) = AbordagemAd hoc realizada pelos grupos pares X Abordagem GRN reali-

zada pelos grupos ´ımpares.

Considerou-se estatisticamente significativas as comparac¸˜oes cujo valor de p (p-valor) fosse menor do que 0,05. A Tabela 6.7 mostra os resultados obtidos, correspondentes `as quatro compara-

6.3 Avaliac¸˜ao da utilidade de linguagens de padr˜oes na modelagem de sistemas 131 c¸˜oes mostradas nas Figuras 6.1 e 6.2. Os testes foram inconclusivos para o n´umero de pessoas/hora em ambos os sistemas (HA1) e para o n´umero de erros cometidos no sistema de locadora de carros (HA2). Para o n´umero de erros cometidos no sistema de hotel, os testes foram conclusivos, isto ´e, pode-se dizer que os alunos que usaram a abordagem GRN na modelagem do sistema de hotel cometeram menos erros do que os alunos que utilizaram a abordagem ad hoc na an´alise desse

mesmo sistema (hip´otese HA2).

Tabela 6.7: Resultados Estat´ısticos para E-GRN-1

Conjunto de dados Crit´erio P-valor – Wilcoxon P-valor – Mann Whitney Resultado

Conjunto 1 (Sistema Hotel) Pessoas-hora 0,4821 0,5887 inconclusivo Total de erros 0,0306 0,0261 conclusivo Conjunto 2 (SistemaLocadora de Carros) Pessoas-hora 0,2946 0,3095 inconclusivo

Total de erros 0,6884 0,6991 inconclusivo

Discuss ˜ao

Al´em da an´alise quantitativa dos resultados mostrada acima, uma an´alise qualitativa pode ser rea- lizada com base no depoimento de dois grupos de alunos que realizaram o experimento. Segundo um dos grupos, a an´alise do sistema foi mais f´acil e completa usando a GRN, embora tenha sido empregado mais tempo devido `a inexperiˆencia com o uso da GRN. Outro grupo disse que a an´alise com a GRN fez com que o n´umero de detalhes a serem cuidados crescesse significativamente, aumentando o n´umero de horas gastas na modelagem. Ao mesmo tempo, isso deu ao grupo o sentimento de que o modelo produzido na an´alise estaria falho, caso tivesse utilizado apenas a abordagem tradicional com UML, ou seja, provavelmente eles teriam se esquecido de muitos de- talhes importantes na an´alise.

Esses dois depoimentos reforc¸am o resultado obtido, justificando o aumento do tempo gasto na modelagem e da nota final. O aumento do tempo gasto n˜ao implica necessariamente em queda de produtividade, j´a que o aumento na nota reflete a melhoria de qualidade do modelo obtido, pela diminuic¸˜ao do n´umero de erros cometidos. Assim, embora em um tempo maior, obt´em-se um mo- delo mais pr´oximo do modelo final a ser projetado e implementado. Ainda segundo o depoimento de alguns alunos, esse tempo pode ser diminu´ıdo `a medida que eles ganhem experiˆencia no uso da GRN.