• Nenhum resultado encontrado

7.3 Resultados e Discussão

7.3.1 Ameaças à validade

Existem alguns aspectos que devem ser discutidos em relação a possíveis ameaças da validade nos estudos.

A prova de conceito foi realizada pelos pesquisadores, o que poderia ter introduzido viés. Para reduzir esse viés, nenhuma opinião ou dados relacionados à curva de aprendizado foram levados em consideração neste estudo. Somente a viabilidade da abordagem, seus modelos e a capacidade de incluir uma plataforma anteriormente não suportada foram testados na prova de conceito.

Além disso, toda codificação gerada foi testada nos IDEs nativos de cada plata- forma e todo código foi executado sem apresentação de erros. Durante a avaliação, alguns erros de execução foram apontados nos IDEs nativos. Para esses casos, a especificação GPL era corrigida e os códigos gerados novamente, até a execução correta nos ambientes nativos.

8 Segunda avaliação: análise por especialis-

tas

Uma segunda avaliação foi conduzida com especialistas (E) visando avaliar as contribuições da abordagem multiplataforma proposta nesta tese. Para esse estudo foram selecionados especialistas com grande experiência em tecnologias web e móveis (no mínimo 10 anos) e desejável experiência com frameworks multiplataforma para servir de base de comparação. Foram selecionados 5 especialistas com esses critérios atuantes em empresas e/ou academia que são conhecidos do autor da tese. Entre os especialistas selecionados, dois deles atuam em empresas e possuem ampla experiência na área de desenvolvimento de software (E1 e E2). Outros dois possuem experiência basicamente acadêmica em pesquisa, sendo um doutorando e outro professor doutor em um centro de tecnologia em computação (E3 e E4). O quinto especialista é doutor com experiência na indústria de computação na área de programação e atualmente professor e pesquisador em um centro de tecnologia (E5). Todos eles possuem experiência em diversas linguagens de programação, arquiteturas de sistemas e banco de dados.

A avaliação consistiu em três fases. Na primeira, o especialista precisava aprender o modo de funcionamento da abordagem através de uma série de materiais disponíveis em um repositório compartilhado. Entre os materiais, estavam um guia de orientação inicial, um documento introdutório contendo de forma ordenada os passos para a uti- lização da abordagem (OverView), alguns vídeos explicativos, envolvendo a instalação, uso e detalhes técnicos, um arquivo com a documentação oficial da abordagem, um ar- quivo contendo as tarefas e um questionário final usado como roteiro para a entrevista, aplicado após o termino da avaliação. Os arquivos com os materiais da avaliação podem ser acessados através do endereço virtual https://drive.google.com/drive/folders/ 1Kvv8p5tR_konbjYrzsk2BkDhZF6KBPP01, da forma que foram disponibilizados para os especialistas.

Ainda na primeira fase, os especialistas tiveram acesso aos executáveis da aborda- gem contendo trechos de códigos exemplificando cada modelo junto com seus respectivos comentários explicativos no código. Entre os trechos, estão códigos referentes aos mo- delos de deploy, modelo de plataformas, declaração de funções globais e variáveis e por último a modelagem GPL, com exemplos dos conceitos do domínio de comércio eletrônico modelados.

Após o entendimento da abordagem (Fase 1), o especialista anotou o tempo gasto e

1 Alternativa para acesso do material da avaliação: https://github.com/JulianoZ/

se direcionou para a segunda fase da avaliação. A avaliação foi orientada a tarefas, visando representar o desenvolvimento de diferentes partes de um sistema multiplataforma. As especificações de cada tarefa (T) estão descritas a seguir:

T1. Essa tarefa explora as questões da camada Model da arquitetura MVC, solicitando aos especialistas a modelagem de funções específicas de persistência e regras de negócio de forma genérica. A configuração da geração de código no modelo de deploy também foi incluída nessa tarefa;

T2. Nessa tarefa, o especialista foi motivado a fazer com que certas funções executadas em uma plataforma específica sejam executadas também em outras através do mo- delo de deploy. A troca na forma de funcionamento de certas funções também foi solicitada nessa tarefa, através de ajustes no modelo de deploy. E, por fim, solicitou- se ao especialista a exploração do recurso GPS na camada Contoller (MVC) e o gerenciamento e a geração de código no modelo de deploy;

T3. O especialista foi solicitado a estender o atendimento da abordagem para outros bancos de dados (BD) não disponíveis nos modelos de plataformas. Para tal, foi ne- cessário criar novas funções globais e implementar as regras de conexão nos modelos de plataformas, deixando assim a abordagem preparada para lidar com novos BD de forma genérica por meio da GPL;

T4. O especialista foi motivado a criar um novo projeto para um domínio diferente do abordado nos exemplos apresentados na abordagem. Todas as funções já implemen- tadas nos modelos de plataformas, assim como os códigos genéricos modelados na GPL, puderam ser reutilizados do domínio anterior. A ideia é analisar o ganho no desenvolvimento através do reúso de códigos; e

T5. Na última tarefa, o especialista precisava declarar a plataforma smartwatch na abor- dagem para a inclusão no sistema. Para essa nova plataforma, foi solicitado ao es- pecialista implementar a função global de exibição de produtos especificada para as plataformas Android e iOS. Após a implementação da função, o especialista confi- gurava a geração de código no modelo de deploy e analisava o código gerado para a plataforma smartwatch.

O raciocínio para a definição dessas tarefas foi o seguinte: tentou-se estimular a rea- lização de tarefas típicas de um desenvolvimento multiplataforma, com base na experiência dos pesquisadores do grupo de pesquisa. Tentou-se também cobrir todas as contribuições esperadas da abordagem, de forma a utilizar todos os seus recursos disponíveis. A tabela 15 apresenta as contribuições exploradas por cada tarefa.

Tabela 15 – Contribuições exploradas por cada tarefa na avaliação.

Tarefas Contribuições

T1 C2. Aproveitamento dos conceitos similares entre as plataformas na mode- lagem.

C1. Modelagem em alto nível de abstração e em um único ambiente. C7. Redução do custo do desenvolvimento multiplataforma.

T2 C3. Alteração das plataformas utilizadas no sistema com baixo custo e distribuição de funcionalidades entre as plataformas.

Junto com as C1 e C7.

T3 C5. Extensão da abordagem através dos modelos de plataformas. Junto com as C1 e C7.

T4 C6. Reúso das funções globais e conceitos em outro domínio. Junto com as C1 e C7.

T5 C4. Inclusão de novas plataformas no sistema com menor impacto no custo. Junto com as C1 e C7.

Além das contribuições apontadas para cada tarefa na Tabela15, também existem as contribuições comuns a mais que uma tarefa, que são a C1 e a C7. Essas contribuições são cobertas indiretamente por todas as tarefas. As tarefas foram modeladas seguindo o estilo arquitetural MVC, para manter a organização da avaliação e utilizar a estratégia empregada no sistema de comércio eletrônico para o domínio de restaurante da prova de conceito.

Ao final da avaliação (Fase 3) cada especialista (E) foi submetido a uma entre- vista detalhada para obter dados que ajudam a entender os aspectos prós e contras da abordagem. O projeto da avaliação contendo os detalhes da entrevista foi submetido para avaliação junto à plataforma Brasil2 e aprovada para a execução. Cada especialista pre- cisou assinar um termo de consentimento que continha explicações sobre o projeto e os termos legais para a participação da pesquisa. As entrevistas foram orientadas através de um roteiro com 11 questões (Q). Cada questão explorava aspectos importantes para análise da abordagem, que serviram de base para verificar se as contribuições elencadas para esse projeto foram alcançadas e em qual nível.