• Nenhum resultado encontrado

Uma proposta de um jogo sério para ensino de técnicas de Elicitação de Requisitos

N/A
N/A
Protected

Academic year: 2021

Share "Uma proposta de um jogo sério para ensino de técnicas de Elicitação de Requisitos"

Copied!
6
0
0

Texto

(1)

Zaynab Settimi de Oliveira1 e Davi Viana2

1Departamento de Informática – Universidade Federal do Maranhão (UFMA) – São

Luís – MA – Brasil

2Coordenação de Engenharia da Computação – Universidade Federal do Maranhão

(UFMA) – São Luís – MA – Brasil

zaynabsettimi@outlook.com, davi.viana@ecp.ufma.br

Resumo. A Engenharia de Requisitos é uma parte fundamental para o sucesso de um processo de software. Para que ela seja executada adequadamente é necessário que os conceitos e práticas sejam ensinados de maneira eficaz. Uma das formas de auxiliar o ensino da Engenharia de Requisitos é através de jogos sérios. Esses jogos sérios podem simular situações do cotidiano e, assim, apoiar em uma aprendizagem mais eficaz. O presente artigo descreve uma proposta de um Jogo Sério que apoie o ensino das técnicas de Elicitação de Requisitos. Como resultados iniciais, apresenta-se as técnicas de Elicitação de requisitos e o enredo do jogo.

1. Introdução

A Engenharia de Requisitos (ER) bem estruturada garante qualidade, integridade e confiabilidade ao produto de software (Franceto, 2005). A ER é uma área dentro da Engenharia de Software responsável pela descoberta do que o sistema deve fazer e suas restrições. Contudo, descobrir o que o sistema deve fazer nem sempre é uma tarefa trivial, uma vez que os próprios usuários podem não saber exatamente o que querem do sistema.

Problemas na ER podem refletir em outras atividades durante a execução do projeto e comprometer a qualidade do produto final (Fernandez et al. 2016; Ferguson e Lami, 2006). Uma parte das falhas está relacionada a falta de preparo dos profissionais para executar as atividades de Engenharia de Requisitos corretamente. Segundo Thiry et al. (2010), estas falhas podem estar relacionadas à forma de ensino das atividades específicas de Engenharia de Requisitos nas Universidades, pois boa parte baseia-se apenas na teoria. Adicionalmente, Fernandez et al (2016) corroboram que a fraca qualificação de membros de equipes de desenvolvimento de software é um dos problemas da Engenharia de Requisitos. Desta forma, realizar mudanças ou adaptações nas abordagens utilizadas para ensino das atividades relacionadas à Engenharia de Requisitos poderiam resultar em uma lacuna menor entre a sala de aula e o "mundo real". Uma das atividades mais importantes da Engenharia de Requisitos é a Elicitação de Requisitos. Além de ser uma das primeiras atividades, ela é importante para a construção do software por definir o quê o sistema a ser desenvolvido deve fazer (Belgamo, 2008).

(2)

Uma das adaptações que pode ser feita no ensino da Engenharia de Requisitos é a inclusão de jogos sérios no ensino do conteúdo de Engenharia de Requisitos. De acordo com Pietruchinski et al (2011) e Thiry et al. (2006), o uso de jogos no ensino pode engajar o estudante, reforçar os conceitos através da prática e aprofundar os conhecimentos. Os Jogos sérios centralizam o ensino como objetivo principal, mantendo a diversão e engajamento dos jogadores (Pessini et al. 2014).

Deste modo, este artigo apresenta uma proposta de um Jogo Sério para ensino de tecnicas de Elicitação de Requisitos, baseando-se em formas de fazer a elicitação de forma eficiente e nos principais erros e dificuldades de cada técnica, utilizando meios lúdicos para ensinar os conceitos.

Além desta seção introdutória, este artigo está organizado nas seguintes seções: A Seção 2 apresenta os trabalhos relacionados a esta proposta. A Seção 3 descreve a proposta de criação do jogo. A Seção 4 apresenta os resultados inicias deste trabalho. A Seção 5 apresenta as considerações finais e os trabalhos futuros.

2. Trabalhos relacionados

A Engenharia de Requisitos possui atividades importantes do processo de desenvolvimento, pois ela é responsável por expressar as necessidades dos usuários (Fernandez et al. 2016). Ensinar essas atividades e demonstrar a importância desta área para os alunos pode ser uma tarefa difícil, uma vez que ainda não há maturidade profissional nesses estudantes. A utilização de jogos no ensino da Engenharia de Software e, consequentemente na Engenharia de Requisitos, possibilita a inclusão desses estudantes em cenários e situações típicas do desenvolvimento de Software (Lima et al. 2011).

A literatura apresenta alguns jogos voltados para as atividades da Engenharia de Requisitos, como o jogo "Ilha dos Requisitos", é um jogo digital em que o analista de requisitos Jack Reqs sofre um acidente aéreo e cai na "Ilha dos Requisitos", habitada pela tribo dos Nerds. Ao encontrar os nativos ele descobre de uma profecia que o coloca como prometido e encarregado de salvar os habitantes da Ilha da eminente erupção do vulcão. Suas habilidades profissionais são necessárias para cumprir a missão e voltar para casa a salvo. O jogo é composto por desafios referentes a conceitos de ER, que são relembrados ao jogador conforme o desenrolar do jogo. São ilustradas situações análogas a situações em que práticas relacionadas a ER poderiam ser adotadas. O jogo busca apresentar as situações de forma lúdica e dando feedbacks rápidos ao jogador.

Outro jogo voltado para a área de ER é o UbiRE que é um jogo voltado para ensinar Requisitos no contexto de sistemas ubíquos (Lima et al. 2011). Neste jogo as conexões necessárias entre móveis, equipamentos e utensílios para construir uma casa inteligente devem ser feitas pelo jogador em cada ambiente, de acordo com os pedidos dos usuários.

Por mais que esses jogos tratem de diversas atividades da Engenharia de Requisitos, eles não detalham atividades importantes, como a Elicitação de Requisitos. A Elicitação de requisitos realizada adequadamente pode garantir que importantes requisitos do software não sejam omitidos.

3. Etapas do desenvolvimento do Jogo Sério

Para o desenvolvimento do Jogo sério, está sendo seguido um conjunto de passos que podem ser observados na FiguraFigure 1. Inicialmente, buscou-se identificar as

(3)

principais causas de falhas em projetos de software relacionadas à Engenharia de Requisitos. Para realizar esta atividade, analisou-se os problemas identificados por Fernandez et al. (2016). Os autores aplicaram questionários buscando identificar os problemas mais recorrentes na Engenharia de Requisitos em empresas de pequeno, médio e grande porte localizadas em 10 países e que executam diversos modelos de desenvolvimento de software. Através das respostas dos formulários foram encontrados padrões de causas e consequências das falhas na ER. Verificou-se que os principais problemas estão relacionados a educação e formação dos profissionais em Engenharia de Software.

Paralelamente, buscou-se estudar as técnicas de Elicitação de Requisitos. Essas técnicas precisam ser aplicadas adequadamente para garantir o levantamento dos requisitos. Após essas duas atividades inicias, foram geradas ideias para o desenvolvimento de um jogo que ensinasse formas eficientes de aplicar as técnicas de Elicitação de Requisitos. A partir das definições anteriores, buscou-se pensar em como seria o enredo do jogo e detalhes do desenvolvimento em si. O jogo será desenvolvido utilizando a ferramenta Construct1. Por fim, o jogo será avaliado através de

experimentos com alunos da disciplina de Engenharia de Software. Para isso, será utilizado um modelo para avaliação de jogos educacionais em Engenharia de Software, MEEGA+ (Petri et al. 2017).

Figure 1. Etapas do Desenvolvimento do Jogo Sério

4. Resultados Preliminares

Os resultados iniciais deste trabalho estão relacionados às identificações dos aspectos de Elicitação de Requisitos necessários para o jogo e a definição inicial do enredo do jogo.

(4)

4. 1. Técnicas de Elicitação de Requisitos identificadas

Fernandez et al (2016) apresentam como principais motivos para a falha de projetos de software: a elicitação incorreta de requisitos e a pouca qualificação dos profissionais para fazê-lo. Eles sugerem, como possível solução, a capacitação dos profissionais para realização dessa importante tarefa. Neste trabalho serão abordadas as seguintes técnicas de Elicitação de Requisitos (Adriano 2006; Goguen e Linde, 1993):

 Entrevista: consiste de um encontro pessoal com usuários do sistema selecionados a partir de suas funções e da forma como interagem com o sistema. Por ser uma técnica baseada na interação social, requer cuidados com a linguagem usada, o planejamento das perguntas, a forma de se portar durante a entrevista, além da coerente escolha dos entrevistados. Para obtenção de resultados satisfatórios, a capacidade de escuta e de saber lidar com qualquer resistência apresentada pelo entrevistado são de extrema importância nessa técnica de elicitação;

 Questionário: formado por um conjunto de perguntas escritas apresentadas aos usuários. Um ponto positivo é que permite a coleta de estatísticas precisas, não permite a consideração de pontos irrelevantes ao projeto, torna o processo mais direto por não envolver interação social direta no processo. As perguntas podem ser de múltipla escolha ou demonstrar o nível de concordância/discordância em relação a determinado tema, além de perguntas abertas buscando atender ao público que vai responder a pesquisa;

 Brainstorming: reunião em grupo cujo objetivo é que todos exponham suas ideias sem julgamento e que, a partir delas, sejam descartadas as que não são pertinentes ao tema, discutidas e combinadas as mais interessantes para a solução do problema para que se obtenha uma ideia final. A desvantagem dessa técnica é sua imprevisibilidade, por outro lado, ela permite uma visão ampla do problema e das possíveis soluções;

 Prototipação: a partir de uma versão parcial do produto são definidos os requisitos para seu desenvolvimento. O protótipo pode ser feito em qualquer material e deve ser de fácil execução. Permite maior clareza sobre os requisitos do projeto, sendo frequentemente utilizado em conjunto a outras técnicas de elicitação como a entrevista e o brainstorming;

 Etnografia (observação): a partir da imersão no ambiente, o analista observa as interações entre os usuários e entre o sistema. Permite uma visão geral do processo, no entanto, não permite uma análise puramente científica dos resultados.

4.2. Proposta Inicial do Enredo do Jogo

O jogo é baseado na animação Phineas e Ferb2, em que os dois irmãos desenvolvem

diversos projetos durante as férias escolares com a ajuda de seus amigos e que sempre somem antes de seus pais chegarem em casa. A história se passa em uma cidade

(5)

pequena e tem como personagens além dos irmãos, seus pais, irmã mais velha, amigos, vilão e bicho de estimação.

O jogo começa com os protagonistas aprisionados pelo vilão, cabendo a sua irmã mais velha a missão de salvá-los antes que seus pais voltem da exposição de piscinas. Para salvá-los, o vilão pediu que ela especificasse os requisitos um sistema de ecolocalização que seja capaz de identificar a posição exata da prisão dos irmãos. Como ela não tem experiência em projetos de software, será necessária a ajuda de um analista de requisitos.

Cada desafio do jogo é baseado em uma técnica de Elicitação de Requisitos e o jogador precisa usá-lo corretamente para passar ao próximo desafio. O primeiro desafio consiste em fazer um brainstorming para definir como será que esse sistema apoiará no resgate dos meninos. O segundo desafio é baseado na técnica da prototipação, então é feito um modelo da cidade com o objetivo de identificar o que seria necessário para desenvolver o sistema de ecolocalização definido no desafio anterior. As meninas escoteiras são as que mais entendem da flora da cidade e, por isso, cada uma delas deve responder um questionário usado para levantar características da flora e características do relevo e construções da cidade. O desafio seguinte consiste de realizar uma entrevista com um especialista em golfinhos para compreender o funcionamento da ecolocalização. O último desafio consiste da observação dos golfinhos para calcular a melhor posição para o emissor das ondas.

O jogo tem o tempo de duração de 50 minutos, mas a qualquer momento o usuário pode responder as perguntas bônus e ganhar mais tempo. O jogo também contará com perguntas bônus relacionados às características das técnicas, focando na teoria de cada uma delas, citando pontos fortes e fracos, planejamento e aplicação.

Ao final do jogo, caso os desafios tenham sido cumpridos com sucesso, o sistema resgatar os irmãos. Caso o jogador não consiga libertar os meninos, eles serão transformados em escravos robôs.

5. Considerações Finais e Próximas atividades

Um dos desafios atuais da Engenharia de Software é desenvolver novas estratégias que busquem ensinar os mais diversos conceitos de maneira adequada. Entre essas estratégias, a utilização de jogos sérios para apoiar o ensino de Engenharia de Software tem se destacado. A utilização de jogos pode permitir a simulação de situações e cenários importantes da Engenharia de Software. Neste trabalho, apresentou-se uma proposta de desenvolvimento de um jogo sério para o ensino de técnicas de Elicitação de Requisitos. A atividade de elicitação de requisitos é uma das primeiras e mais importantes do processo de desenvolvimento de software, pois a partir dela é que serão definidos os requisitos e funcionalidades do sistema.

Como próximas atividades, os elementos gráficos do jogo serão desenvolvidos, assim como uma versão inicial de cada desafio. A partir dessa primeira versão, outros elementos do jogo serão inseridos. Por fim, será feita uma avaliação experimental com o objetivo de analisar o uso do jogo por alunos da disciplina de Engenharia de Software.

(6)

Referências

Adriano, N. (2006). “Comparación del Proceso de Elicitación de Requerimientos en el desarrollo de Software a Medida y Empaquetado. Propuesta de métricas para la elicitación.” Tese de Doutorado. Facultad de Informática.

Ferguson, R.; Lami, G. (2006) “An Empirical Study on The Relationship Between Defective Requirements and Test Failures”. In. Software Engineering Workshop (SWE’06), IEEE Computer Society, pp. 7-10.

Fernandez, D. M., Wagner, S., Kalinowski, M., Felderer, M., Mafra, P., Vetrò, A., et al.. (2016). Naming the pain in requirements engineering Empirical Software Engineering, pp. 1-41.

Goguen, J. A. Linde, C. (1993). “Techniques for requirements elicitation”. In: Proceedings of IEEE International Symposium on Requirements Engineering, (RE 1993) pp. 152-164.

Lima, T. Campos, B. Santos, R. Werner, C. (2012). “UbiRE: A game for teaching requirements in the context of ubiquitous systems”. In Proceedings of XXXVIII IEEE Conferencia Latinoamericana En Informatica (CLEI 2012). pp. 1-10.

Pessini, A. Catarina, S. de Oliveira, H. C. Hounsell, M. D. S. Kemczinski, A (2014) “Uso de Jogos Sérios na Educação em Informática: um Mapeamento Sistemático.” In: Proceedings of Nuevas Ideas en Informática Educativa - TISE (2014). pp. 537-541.

Petri, G. Von Wangenheim, C. G. Borgatto, A. F. (2017) “A Large-scale Evaluation of a Model for the Evaluation of Games for Teaching Software Engineering”. In: Proceeedings of IEEE/ACM 39th International Conference on Software Engineering: Software Engineering Education and Training Track (ICSE-SEET), Buenos Aires/Argentina, 2017.

Pietruchinski, M. H. Neto, J. C. Malucelli, A. Reinehr, S (2011) “Os jogos educativos no contexto do SBIE: uma revisão sistemática de Literatura” In: Anais do XXII Simpósio Brasileiro de Informática na Educação. Vol. 1. No. 1.

Thiry, M., Zoucas, A., Gonçalvez, R. Q. (2010) “Promovendo a Aprendizagem de Engenharia de Requisitos de Software através de um Jogo Educativo”. In: Anais do XXI Simpósio Brasileiro em Informática na Educação, João Pessoa. pp 1-10.

Referências

Documentos relacionados

A estabilidade do corpo docente permanente permite atribuir o conceito muito bom, segundo os parâmetros da área, para o item 2.2 (pelo menos 75% dos docentes permanentes foram

Este estudo, assim, aproveitou uma estrutura útil (categorização) para organizar dados o que facilitou a sistematização das conclusões. Em se tratando do alinhamento dos

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a

Apesar da longa distância dos grandes centros urbanos do país, Bonito destaca- se, regionalmente, como uma área promissora dentro do Estado de Mato Grosso do Sul. Bonito,

Mas ele é ( verbo ser, no Presente do Indicativo ) apenas um gato e não tinha tido ( verbo ter, no Pretérito Mais-Que-Perfeito Simples do Indicativo ) tempo de aprender (

A participação foi observada durante todas as fases do roadmap (Alinhamento, Prova de Conceito, Piloto e Expansão), promovendo a utilização do sistema implementado e a

Para atingir este fim, foram adotados diversos métodos: busca bibliográfica sobre os conceitos envolvidos na relação do desenvolvimento de software com

Quando os dados são analisados categorizando as respostas por tempo de trabalho no SERPRO, é possível observar que os respondentes com menor tempo de trabalho concordam menos que