• Nenhum resultado encontrado

Um Jogo Didático para Detecção de Problemas de Qualidade de Dados em Bancos de Dados Relacionais

N/A
N/A
Protected

Academic year: 2021

Share "Um Jogo Didático para Detecção de Problemas de Qualidade de Dados em Bancos de Dados Relacionais"

Copied!
15
0
0

Texto

(1)

Revista Brasileira de Informática na Educação, Volume 23, Número 3, 2015

Um Jogo Didático para Detecção de Problemas de

Qualidade de Dados em Bancos de Dados Relacionais

An Educational Game to Detect Data Quality Problems in Relational Databases

Carlos Eduardo Santos Pires

Universidade Federal de Campina Grande (UFCG) Departamento de Sistemas e Computação (DSC) cesp@dsc.ufcg.edu.br

Andreza Raquel M. de Queiroz

Universidade Federal de Campina Grande (UFCG) Departamento de Sistemas e Computação (DSC) andreza.queiroz@ccc.ufcg.edu.br

Dandara Dantas Navarro

Universidade Federal de Campina Grande (UFCG) Departamento de Sistemas e Computação (DSC) dandara.navarro@ccc.ufcg.edu.br

Leandro Balby Marinho

Universidade Federal de Campina Grande (UFCG) Departamento de Sistemas e Computação (DSC) lbmarinho@dsc.ufcg.edu.br

Vládia Freire Pires

Prefeitura Municipal de Campina Grande (PMCG) Secretaria de Educação (SEDUC)

vladiafreire@hotmail.com

Resumo

Aprender a lidar com dados é de fundamental importância para garantir a qualidade dos

mes-mos. Considerando o caráter subjetivo das dimensões de qualidade de dados, o aprendizado das mesmas é um desafio para estudantes. Este artigo propõe o desenvolvimento de um jogo didáti-co para reforçar a aprendizagem de bandidáti-co de dados e qualidade de dados. O jogo simula diver-sos cenários para os quais o jogador (estudante) assume o papel de um analista de dados e tem que avaliar a qualidade de dados em bancos de dados relacionais. Para isso, deve analisar os cenários e indicar os dados que apresentam problemas de qualidade. Os resultados obtidos durante a realização dos experimentos indicam que o jogo é capaz de melhorar a aprendizagem dos alunos, ao mesmo tempo em que serve como uma opção de divertimento.

Palavras-Chave: Jogos Educacionais, Banco de Dados, Qualidade de Dados, Aprendizagem.

Abstract

Learning to deal with data is of fundamental importance to ensure its quality. Considering the

subjective nature of data quality dimensions, learning from them is a challenge for students. This paper proposes the development of an educational game to reinforce database and data quality learning. The game simulates various scenarios for which the player (student) assumes the role of a data analyst and has to assess the quality of data stored in relational databases. To this end, the student must analyze the scenarios and indicate the data that have quality problems. Exper-imental results indicate that the game is able to improve student learning while at the same time serve as an entertainment option.

Keywords: Educational Games, Databases, Data Quality, Learning.

(2)

1 Introdução

Um dos principais problemas enfrentados no processo de ensino-aprendizagem é assegurar o fator motivacional dos estudantes [1]. No curso de Ciência da Computação não é diferente. A utilização de jogos didáticos é vista como uma forma de fomentar o interesse e salientar a importância do estudo das diversas áreas do curso [4, 23]. É possível encontrar na literatura diversos trabalhos que propõem jogos didáticos voltados para o ensino-aprendizagem de Ciência da Computação [3, 7, 8, 9, 12], em especial para as áreas de Programação e Engenharia de Software. Embora Banco de Dados seja uma das áreas que compõem a “espinha dorsal” do curso, constata-se uma carência de jogos desta área.

Este artigo propõe o desenvolvimento de um jogo di-dático para o ensino-aprendizagem de Banco de Dados, enfatizando a subárea de Qualidade de Dados [2]. A ideia central é oferecer um ambiente interativo e didático no qual os jogadores (estudantes) tenham a oportunidade de praticar conceitos relacionados à sub(área) em questão, tornando-se mais informados quanto ao conteúdo explo-rado ao mesmo tempo em que se divertem jogando.

No jogo proposto, o estudante assume o papel de um analista de dados e deve analisar a qualidade de dados armazenados em bancos de dados relacionais. Na vida real, um analista de dados é o profissional responsável por garantir dados de boa qualidade e, por conseguinte, o bom funcionamento dos sistemas computacionais de uma empresa. Diversos cenários são simulados nos quais o estudante deve apontar quais são os dados que apresen-tam problemas de qualidade [2].

O jogo está inserido no contexto de um Projeto de Pesquisa financiado pelo Conselho Nacional de Desen-volvimento Científico e Tecnológico (CNPq) cujo objeti-vo geral é potencializar a objeti-vocação em estudantes do sexo feminino de graduação em Ciência da Computação, em especial na área de Banco de Dados. Normalmente, ao chegar à instituição de ensino superior, os estudantes trazem consigo uma filosofia de trabalho e estudo basea-da principalmente na repetição e memorização de concei-tos e conteúdos, sem a preocupação de abstração e/ou aplicações destes conhecimentos na prática de resolução de problemas reais [21]. Para tentar combater a evasão que ocorre principalmente nos primeiros anos do curso, faz-se necessário assegurar o fator motivação dos estu-dantes. Participam ainda do projeto estudantes do Ensino Médio também do sexo feminino. Para estas, visa-se despertar o interesse vocacional pela profissão de Ciência da Computação e, por conseguinte, aumentar a quantida-de quantida-de profissionais no país.

O artigo está estruturado da seguinte forma: a Seção 2

apresenta os fundamentos básicos sobre bancos de dados relacionais. A Seção 3 apresenta os diversos problemas que podem afetar a qualidade de dados em bancos de dados relacionais. A Seção 4 descreve o jogo didático proposto neste trabalho. A Seção 5 apresenta os experi-mentos realizados com o jogo bem como uma discussão sobre os resultados obtidos. A Seção 6 trata dos trabalhos relacionados. A Seção 7 conclui o trabalho e apresenta sugestões de trabalhos futuros.

2 Bancos de Dados Relacionais

Os dados de uma organização podem estar disponí-veis em diferentes formatos de armazenamento [24]: a) não-estruturado: forma de armazenamento livre como, por exemplo, documentos textuais; b) semi-estruturado: forma de armazenamento hierárquico como, por exemplo, documentos XML; e c) estruturado: forma de armazena-mento nos quais os dados seguem um padrão pré-definido como, por exemplo, bancos de dados relacionais. Embora o conceito de qualidade de dados seja transversal a todos os formatos de armazenamento existentes, este trabalho considera apenas os dados estruturados, uma vez que a maioria das organizações armazenam seus dados em bancos de dados relacionais.

Em um banco de dados relacional os dados são ar-mazenados em uma ou mais tabelas (ou relações) [20]. O conjunto de tabelas representa o esquema do banco de dados. No exemplo da Figura 1, o esquema possui duas tabelas: Alunas e Cursos. Uma tabela é uma estrutura de armazenamento de dados formada por linhas (ou regis-tros ou tuplas) e atributos (ou campos ou colunas). A tabela Alunas possui cinco linhas (alunas) e é formada pelos atributos Matrícula, Nome, Email, Idade, Nasci-mento, Naturalidade e CodCurso. A primeira linha repre-senta o cabeçalho da tabela e, portanto, não é considera-da. A tabela Cursos possui três linhas e é formada pelos atributos Código e Nome. As linhas de uma mesma tabela contém um mesmo conjunto de atributos. Ao observar a tabela Cursos, é possível perceber que todo curso possui um código e um nome.

ALUNAS

Matrícula Nome Email Idade Nascimento Naturalidade CodCurso 2010300 Ana

Flávia ana@ee.br 18 29/09/1995 Paraíba 109 2011301 Sílvia

Uchoa 19 21/10/1994 Pernambuco 103 2010302 Patrícia

Silva patrícia@ec.br 19 03/04/1995 Paraíba 103 2012308 Paula

Souza psouza@cc.br 23 22/01/1991 Sergipe 109 2012554 Rafaela

Garcia rafa@ee.br 27 03/05/1994 Paraíba 103

CURSOS Código Nome

109 Ciência da Computação 105 Engenharia Civil 103 Engenharia Elétrica

Figura 1: Esquema de um banco de dados relacional fictício formado pelas tabelas Alunas e Cursos.

(3)

Pires, C. E. et al. RBIE V.23 N.3 – 2015

Os dados dispostos em um mesmo atributo são de um único tipo de dados. Por exemplo, os atributos Matrícu-la, Nome e Nascimento, da tabela Alunas, só aceitam números, textos e datas, respectivamente. Uma linha não precisa conter dados em todos os seus atributos, podendo assumir valores nulos quando assim se fizer necessário. É o caso do atributo Email da aluna Sílvia Uchoa. No exemplo, uma aluna não é obrigada a ter um email. As tabelas associam-se entre si através de relacionamentos definidos entre as linhas das tabelas. No exemplo, as tabelas Alunas e Cursos estão relacionadas pelos atribu-tos CodCurso (da tabela Alunas) e Código (da tabela Cursos). Com isso, é possível perceber na tabela Alunas que o curso de Ana Flávia possui código 109. Na tabela Cursos, esse código corresponde ao curso de Ciência da Computação.

Restrições de integridade podem ser definidas no banco de dados para manter os dados consistentes. Os principais tipos de restrição de integridade são:

 Não-nula: impede a presença de dados nulos em um atributo. Por exemplo, se definida no atributo Nome da tabela Alunas, não permite que uma alu-na possua um valor nulo no nome;

 Chave primária: não permite a existência de dados duplicados e nulos em um atributo (ou combina-ção de atributos). Por exemplo, se definida no atributo Matrícula da tabela Alunas, não permite que duas ou mais alunas tenham um mesmo núme-ro de matrícula;

 Chave única: não permite a existência de dados duplicados em um atributo (ou combinação de atributos), mas valores nulos podem existir. Por exemplo, se definida na coluna Email da tabela Alunas, impede que duas alunas tenham o mesmo email, mas permite alunas sem email;

 Chave estrangeira: força com que os dados de um atributo a1 (ou combinação de atributos) formem

um subconjunto do conjunto de dados de um atri-buto a2 (ou combinação de atributos) definido

co-mo chave primária. Nesse caso, o atributo a1 é

considerado uma chave estrangeira. Por exemplo, se definida nos atributos CodCurso da tabela Alu-nas (chave estrangeira) e Código da tabela Cursos (chave primária) o conjunto de dados contidos em CodCurso deverá ser um subconjunto do conjunto de dados de Código;

 Condição de verificação: define uma condição que deve ser satisfeita sempre que um dado de um atributo for inserido ou modificado. Por exemplo, se definida no atributo Idade, força com que os dados desse atributo permaneçam sempre no in-tervalo 0 e 120.

3 Problemas de Qualidade de Dados

em Bancos de Dados Relacionais

Os dados possuem uma importância crescente na atual sociedade da informação e comunicação. Eles são consi-derados um recurso essencial que possibilita o aumento da produtividade, eficiência e competitividade das orga-nizações, independente do nível organizacional (operaci-onal, tático, ou estratégico). No entanto, constata-se que uma parcela dos dados mantidos pelas organizações são “dados sujos”. A presença de erros, redundâncias ou inconsistências faz com que esses dados apresentem problemas de qualidade [10].

Estima-se que, em média, as organizações possuam entre 1% e 5% de dados sujos e que, em algumas delas, essa taxa possa chegar a 30% [10]. Dentre os principais fatores que contribuem para a baixa qualidade de dados nas organizações, podemos citar a introdução incorreta de dados ocasionada por erro humano. Alguns exemplos de erros humanos incluem: erros na digitação de dados; omissões de dados supostamente obrigatórios; introdução involuntária de valores errados; entre outros.

As consequências dos problemas de qualidade de da-dos manifestam-se em toda-dos os níveis organizacionais [5, 16]. No nível operacional, podemos citar situações como: a) uma correspondência que não chega ao destinatário devido a erros existentes nos dados que compõem o ende-reço; ou b) o envio de mensagens eletrônicas duplicadas, como efeito da existência de dados redundantes. Isso pode ter sérias implicações na satisfação do cliente, in-clusive degradando a imagem da organização. Nos níveis tático e estratégico, a baixa qualidade dos dados com-promete a tomada de decisões lógicas e fundamentadas. Más decisões podem causar a diminuição dos lucros ou até mesmo uma parada completa das atividades da em-presa.

Na literatura, podemos encontrar inúmeras taxonomi-as para cltaxonomi-assificar os problemtaxonomi-as de qualidade de dados em bancos de dados relacionais [11, 13, 22]. Neste traba-lho, é adotada a taxonomia proposta em [11] devido a sua abrangência em relação à quantidade de problemas enu-merados. Nesta taxonomia, os problemas são classifica-dos de acordo com o modelo para organização de daclassifica-dos. No caso do modelo relacional [20], a taxonomia resultan-te é formada por quatro níveis de granularidade de dados: Atributo (A), Linha (L), Tabela Única (TU) e Múltiplas Tabelas (MT). A Tabela 1 exibe alguns tipos de proble-mas de qualidade, posteriormente exemplificados na Figura 2. No total, a taxonomia adotada inclui 29 pro-blemas detalhados em sua totalidade no Anexo I.

(4)

Problema Grão Nome PQ1 A Valor ausente PQ2 A Violação de domínio PQ3 A Valor incorreto PQ4 A Erro ortográfico PQ7 A Violação de sintaxe PQ8 A Valor impreciso

PQ11 L Violação da dependência entre atributos

PQ12 L Inversão de valores entre atributos

PQ16 TU Valor não único

PQ17 TU Linha duplicada

PQ21 MT Referência inexistente

PQ22 MT Referência existente, mas errada

Tabela 1: Alguns problemas de qualidade de dados comumente encon-trados em bancos de dados relacionais

Na Figura 2, o Problema de Qualidade PQ2 ocorre

pe-lo fato do dado 223 (anos) estar fora do domínio de vape-lo- valo-res válidos. É impossível existir um ser humano vivo com essa idade. No PQ4, o dado Pernanbuco possui um erro

de grafia. PQ1 remete ao caso em que um dado

obrigató-rio está ausente (nulo). Em outras palavras, não é realista existir uma aluna sem número de matrícula, como é o caso de Ana Flávia. No PQ8, uma abreviatura (EC) é

usada para representar o nome do curso de Engenharia Civil. No PQ7, o formato da data de nascimento da aluna

Sílvia Uchoa é diferente do formato da data de nascimen-to das demais alunas. PQ3 refere-se ao caso em que o

valor de um atributo não corresponde à situação atual. O email da aluna Ana Flávia é ana@ee.br. Na prática, po-rém, este email encontra-se desativado. PQ11 refere-se à

presença de uma inconsistência entre os dados de dois atributos, no caso Idade e Nascimento. Por ter nascido em 03/05/1994, a aluna Rafaela Garcia deveria ter 20 anos de idade, ao invés de 22 anos.

ALUNAS

Matrícu-la Nome Email Ida-de Nascimen-to Naturali-dade CodCur-so Ana Flávia ana@ee.br 223 29/09/1995 Paraíba 109 2011301 Sílvia

Uchoa 19 21.10.94 Pernanbuco 103 2010302 Patrícia

Silva patri-cia@ec.br 19 03/04/1995 Paraíba 111 2012309

psou-za@cc.br Paula Souza 23 22/01/1991 Sergipe 109 2010308 P. Silva

patri-cia@ec.br 19 03/04/1995 PB 111 2012309 Rafaela

Garcia rafa@ee.br 22 03/05/1994 Paraíba 103

CURSOS Código Nome

109 Ciência da Computação 105 EC

103 Engenharia Elétrica

Figura 2: Tabelas Alunas e Cursos contendo ocorrências de problemas de qualidade de dados

No PQ12, o valor dos atributos Nome e Email da aluna

Paula Souza estão invertidos. PQ16 refere-se ao caso em

que duas linhas diferentes possuem valores iguais em um atributo de valor único. Os valores contidos no atributo Matrícula não deveriam se repetir. Contudo, as alunas Paula Souza e Rafaela Garcia possuem matrículas iguais.

PQ17 refese ao caso de armazenamento de dados

re-dundantes. Aparentemente, a aluna Patrícia Silva foi cadastrada duas vezes (terceira e quinta linhas da tabela Alunas). PQ21 refere-se a problemas de relacionamento

entre as linhas de duas tabelas. A tabela Alunas informa que o código do curso (atributo CodCurso) da aluna Pa-trícia Silva é 111. No entanto, na tabela Cursos, o curso de código 111 (atributo Código) não existe. Finalmente, o PQ22 refere-se à situação em que há um valor no atributo

que relaciona linhas duas tabelas de forma que não viola a integridade referencial, contudo o valor é incorreto. O atributo CodCurso da aluna Ana Flávia indica que a mesma cursa Ciência da Computação, porém, ela é aluna do curso de Engenharia Elétrica na realidade.

Em relação aos problemas de qualidade elencados na Tabela 1, é importante tecer alguns comentários. Alguns dos problemas podem ser facilmente detectados por um analista de dados (por exemplo, PQ2); o mesmo não

ocor-re com outros (PQ3). O volume de dados é um fator que

influencia na detecção de problemas de qualidade. Por exemplo, quanto mais linhas existirem em uma tabela mais complexo será o processo de detectar linhas dupli-cadas (PQ17). Na prática, é comum o uso de ferramentas

de qualidade [25] pelos analistas de dados para assegurar a produtividade no trabalho. Por fim, alguém pode alegar que determinados problemas apresentados não ocorreri-am caso tivessem sido definidas restrições de integridade no banco de dados. Por exemplo, o PQ1 não ocorreria se

existisse uma restrição de integridade (chave primária) na coluna Matrícula de forma a impedir a introdução de valores nulos e repetidos. No entanto, na vida real, é fácil encontrar bancos de dados criados por diferentes tipos de profissionais inclusive com outras formações (por exem-plo, administração e contabilidade), sem a devida experi-ência em modelagem de banco de dados. Além disso, há empresas especializadas no desenvolvimento de sistemas computacionais que optam por não definir qualquer tipo de restrição de integridade no banco de dados de forma a manter seu sistema computacional independente da ca-mada de dados.

4 Jogo Didático

A concepção de um jogo inicia-se com o estabeleci-mento de seus eleestabeleci-mentos básicos necessários. Neste sen-tido, a tarefa de game design [17, 18] é de vital importân-cia. Ela consiste na definição do roteiro, script, descrição dos personagens, além de uma série de atividades descre-vendo os elementos do jogo. Esta tarefa tem como um dos seus principais objetivos a geração de um documento no qual são considerados como elementos principais: estória, estética, mecânica e tecnologia [15].

(5)

Pires, C. E. et al. RBIE V.23 N.3 – 2015

Estória

O jogo didático, denominado Mr. Data Analyst1,

busca auxiliar aos estudantes a se familiarizar com os conceitos básicos relacionados a bancos de dados relaci-onais e qualidade de dados. O jogo simula situações em que um analista de dados se depara com diferentes cená-rios nos quais deve identificar possíveis problemas que afetam a qualidade de dados armazenados em bancos de dados relacionais de empresas. Diante de um cenário, o jogador deve marcar os dados que, em sua opinião, apre-sentam problemas de qualidade. Ao finalizar a marcação, um escore é apresentado ao jogador indicando se o mes-mo venceu ou perdeu a partida.

Os níveis do jogo correspondem às classes que um profissional pode assumir como analista de dados atuan-do em empresas, nesta ordem: Estagiário (ETG), Analis-ta de Dados Júnior (ADJ), AnalisAnalis-ta de Dados Pleno (ADP) e Analista de Dados Sênior (ADS). O objetivo do jogo é vencer uma determinada quantidade de partidas suficiente para que o jogador possa se tornar um ADS.

Estética

O elemento “estética” corresponde a interface do jogo. Para a versão atual do jogo Mr. Data Analyst, este elemen-to é decomposelemen-to em: tela inicial, tela de instruções, tela de classificados e tela de partidas. A tela inicial, ilustrada na Figura 3, contém três opções: Jogar, Melhores Pontuações e Créditos. A opção Melhores Pontuações permite visuali-zar o nome dos jogadores que alcançaram as maiores pon-tuações até o momento, além do valor da pontuação e do nível do jogo atingido. A opção Créditos apresenta o nome e endereço eletrônico dos integrantes da equipe responsá-vel pelo desenvolvimento do jogo. A opção Jogar encami-nha o jogador para a tela de instruções.

Figura 3: Tela inicial do jogo Mr. Data Analyst

1 Disponível em http://www.mrdataanalyst.pe.hu/

A tela de instruções oferece ao jogador (iniciante) a opção de assistir a um vídeo explicativo sobre as regras e comandos de jogo que permitem iniciar uma partida e evoluir de maneira fácil e objetiva (Figura 4). Esta opção disponibiliza ainda um tutorial no qual são apresentados os conceitos básicos sobre bancos de dados relacionais e qualidade de dados.

Figura 4: Tela de instruções contendo vídeo explicativo sobre o jogo

A tela de classificados permite ao jogador visualizar diferentes ofertas de vaga oferecidas para analista de dados (Figura 5). Ao selecionar uma oferta, são mostra-das as informações: ramo da empresa que está oferecendo a vaga (na figura, Supermercado), o nível da vaga (Esta-giário) e o valor do salário inicial (R$ 678,00). O jogador tem a opção de aceitar ou rejeitar a oferta.

Figura 5: Tela de classificados com ofertas de vagas de trabalho

A tela de partidas exibe os cenários com os quais o jo-gador irá se deparar durante o jogo. O cenário de Super-mercado mostrado na Figura 6 é composto pela tabela ItemSetorAçougue. A parte superior da tela exibe o nome (RBIE 2015) e a imagem do jogador, o nível do jogo (Es-tagiário), a quantidade de erros nos dados marcados até o momento (4 de um total de 5), a pontuação (salário) atual

(6)

do jogador (R$ 1.006,00) e um cronômetro regressivo mostrando quanto tempo resta para o jogador terminar de marcar os erros (00:04:22). Logo abaixo, é mostrada a barra de partidas que indica as partidas que o usuário já disputou no nível do jogo em que se encontra. A cor verde indica partidas com vitórias; derrotas são mostradas na cor vermelha. Para marcar um dado com problema, é necessá-rio clicar na célula que contém o dado. A célula ficará destacada. Outro clique na mesma célula irá desmarcar o dado e a célula voltará ao aspecto original (sem destaque).

Figura 6: Tela de partidas mostrando os dados marcados como “sujos” segundo o usuário

Ao finalizar todas as marcações, o botão “Avançar” (parte inferior da Figura 6) é habilitado para que o jogador encerre a partida. Como resultado, o escore da partida é apresentado. Além disso, a cor das células é modificada para refletir o resultado esperado (gabarito) e permitir que o jogador possa aprender com o jogo. As células contendo dados marcados corretamente como sujos são mostradas na cor verde; as células contendo dados que o usuário deixou de marcar como sujos e que de fato eram sujos são mostra-das em amarelo; e as células contendo dados que o usuário marcou como sujos (mas que não eram) são mostradas em vermelho. Ao movimentar o mouse em uma célula conten-do um daconten-do sujo, o jogo exibe uma mensagem na forma de “balão” com o nome e a descrição do erro.

Mecânica

Este elemento define o funcionamento básico do jogo. A princípio, o jogador está à procura de uma vaga de trabalho e, para isso, dirige-se à seção de classificados de emprego de um jornal. Ao visualizar os dados de uma oferta de vaga, o jogador tem a opção de aceitar ou recu-sar. Caso aceite a oferta, o jogador é apresentado a um cenário escolhido aleatoriamente pelo jogo que corres-ponde a sua primeira partida.

Um cenário contém uma ou mais tabelas de um banco de dados referentes a uma área funcional da empresa (por exemplo, produção, financeira, marketing, entre outros) escolhida para trabalhar. Um texto descritivo sobre o funcionamento da área funcional na empresa também é

mostrado ao jogador para que possa adquirir um enten-dimento mínimo sobre o domínio no qual irá atuar. Dian-te de um cenário, o jogador visualiza diversos dados com e sem problemas de qualidade. O jogador deve então marcar quais dados acredita que apresentam problemas de qualidade. Os cenários podem variar tanto na quanti-dade quanto nos tipos de problema de qualiquanti-dade.

Graus de Dificuldade. Quando o jogador encontra-se nos níveis iniciais do jogo (ETG e ADJ), a quantidade de problemas de qualidade existentes nos dados do cenário é indicada pelo jogo, o que não ocorre nos níveis ADP e ADS. Para simular a pressão por resultados, comum nas empresas, o jogador é submetido a um limite de tempo para marcar os dados com problemas de qualidade. Um cronômetro regressivo é mostrado na tela com intervalos de tempo menores à medida que o jogador muda de nível. Por fim, cenários contendo erros mais difíceis de serem detectados são mostrados quando o jogador avança de nível. A Tabela 2 apresenta um resumo de como o grau de dificuldade evolui ao longo dos níveis do jogo.

ETG ADJ ADP ADS Média de problemas de qualidade por cenário 5,3 7,5 22,7 23,8 Média de tabelas por cenário 1 2 3 3 Média de linhas por cenário 7 14 22,7 23,8 Indicação da quantidade de erros no cenário Sim Sim Não Não Disponibilização de dicas para o jogador Sim Sim Não Não Tempo disponível para o jogador (em minutos) 5 4 3 2

Tabela 2: Evolução dos graus de dificuldade por nível do jogo

Cálculo do escore. Ao finalizar a marcação dos da-dos, o resultado do usuário é comparado com o resultado correto (disponível em um gabarito previamente cadas-trado pelo professor). Um escore entre 0 (zero) e 100 (cem) é calculado e mostrado ao jogador. Para o cálculo do escore de uma partida, são considerados: a) os dados marcados corretamente como sujos; b) os dados que o usuário deixou de marcar como sujos e que de fato eram sujos; e c) os dados que o usuário marcou como sujos, mas que na prática não eram. Neste sentido, são aplicadas as métricas Precision, Recall e F-measure (Equações 1, 2 e 3), tipicamente utilizadas para na área de Recuperação da Informação [14]. Em particular, o valor gerado pela métrica F-measure corresponde ao escore da partida. Nas equações, o conjunto A refere-se aos dados (células) marcados como sujos pelo usuário. O conjunto B refere-se aos dados (células) que de fato são sujos, o que é veri-ficado a partir do gabarito do cenário.

Precision =|A ∩ B||B| (1) Recall =|A ∩ B||A| (2)

(7)

Pires, C. E. et al. RBIE V.23 N.3 – 2015

Escore = F − Measure =2 ∗ Precision ∗ RecallPrecision + Recall (3) Mudança de nível. O jogador começa o jogo no nível básico que corresponde à classe de estagiário (ETG). Para avançar para os níveis seguintes (classes ADJ, ADP e ADS), em cada nível, o jogador deve vencer pelo menos 3 (três) partidas de um total de 5 (cinco) partidas disputa-das seguidamente. Nesse caso, diz-se que o jogador foi promovido na empresa. Caso contrário, o jogador é demi-tido da empresa e deve procurar outra oferta de trabalho (volta ao início do jogo, ou seja, à tela de classificados). O jogador também pode pedir demissão da empresa a qualquer momento e procurar uma nova oferta de traba-lho. Em ambos os casos (pedir demissão e ser demitido), ao aceitar uma nova oferta, o jogador mantém a classe obtida no último emprego, porém sua pontuação é zerada. Pontuação. Refere-se ao salário do jogador. Inicial-mente, a pontuação é igual ao salário oferecido na oferta de vaga aceita pelo jogador (Equação 4).

Pontuação Inicial = Valor da oferta (4) Durante o jogo, a pontuação é incrementada com o re-cebimento de comissões que variam mediante o desempe-nho do jogador nas partidas (Equação 5). O valor da co-missão em uma partida i é definido em função do escore obtido e do tempo gasto pelo jogador. A comissão é influ-enciada pelo nível do jogo j em que o jogador se encontra. É importante salientar que a comissão só é atribuída ao jogador caso o escore tenha sido maior ou igual a 70 (valor configurável), o que significa vitória na partida.

ã 2 × 100 − × 4, ≥ 70

0, á (5)

A pontuação final do jogador no jogo corresponde à soma dos salários e comissões obtidos durante as partidas i nos diferentes níveis j, como mostra a Equação 6.

çã = çã + á × ã (6)

A vitória no jogo ocorre quando o jogador encontra-se na última classe (ADS) e consegue vencer pelo menos 3 (três) partidas de um total de 5 (cinco) partidas disputadas seguidamente. A Figura 7 apresenta o fluxo geral do jogo didático. São mostrados os quatro diferentes níveis a serem percorridos pelo jogador até a vitória final no jogo. A Figura 8, por sua vez, detalha o processo Joga Partida de modo a descrever melhor o fluxo típico de uma parti-da.

Figura 7: Fluxograma geral de execução do jogo didático

(8)

Tecnologia

O jogo foi concebido para ser jogado pela Internet, com o uso de um navegador web. A escolha pela plataforma web se deve por ser de fácil distribuição e acessível, dado que não é necessário realizar instalações e pode-se jogar a partir de qualquer computador com um navegador web e conectado à Internet.

Para o desenvolvimento do jogo didático, foram utili-zadas as seguintes tecnologias: HTML5, CSS, JavaScript, PHP e SGBD MySQL. A linguagem HTML5 [6, 19] foi adotada para a implementação da interface do jogo devido à portabilidade, facilidade de uso e crescente espaço que tem ganhado no mercado de jogos e da Internet nos últi-mos anos. CSS foi usada para definição de fontes, cores, margens, linhas, alturas, larguras, tamanho e posição dos objetos do jogo. JavaScript foi utilizada para dinamizar as páginas HTML, uma vez que as mesmas sofrem alterações a cada evento realizado pelo jogador como, por exemplo, o clique em uma célula ou em um botão. O SGBD MySQL foi escolhido para gerenciar as informações dos jogadores, ofertas de vaga e cenários do jogo. Atualmente, o banco de dados possui mais de 100 cenários sintéticos e reais de 10 empresas cadastrados de modo a minimizar a possibilidade de repetir cenários aos jogadores.

A Figura 9 ilustra os principais componentes arquite-turais do jogo didático, assim como a camada em que são executados (cliente, servidor e dados). O Gerenciador de Usuários é responsável pelo cadastro e autenticação de usuários. O Gerenciador de Cenários e Propostas permi-te ao professor cadastrar cenários sintéticos ou reais (ob-tidos a partir de dados abertos - Open Data) no banco de dados. Em ambos os casos, o professor deve fornecer o gabarito correspondente ao cenário. Este componente também é responsável por escolher aleatoriamente cená-rios disponíveis no banco de dados a serem apresentados aos estudantes durante as partidas. O componente Avalia-dor de Resultados e GeraAvalia-dor de Escore compara aos erros marcados pelo jogador no cenário de uma partida com o respectivo gabarito e calcula o escore da partida. Finalmente, o Gerenciador de Pontuação e Nível deter-mina se o usuário venceu/perdeu e se está apto ou não a avançar de nível.

Figura 9: Arquitetura do jogo didático Mr. Data Analyst

5 Experimentos

Para validar o jogo didático proposto neste trabalho, foram realizados dois experimentos. O Experimento I avaliou se o jogo didático é capaz de proporcionar algu-ma melhoria na aprendizagem dos alunos. O Experimento II teve como objetivo avaliar a aplicabilidade do jogo didático.

Experimento I

Participaram deste experimento os alunos cursando o semestre 2014.2 da disciplina Gerência da Informação (3º período) do curso de Ciência da Computação da Univer-sidade Federal de Campina Grande (UFCG). Inicialmen-te, foram elaborados dois exercícios, cada um contendo quatro cenários de um banco de dados temático. Para o banco de dados do Exercício 1, o tema foi Cinema, en-quanto que, para o Exercício 2, o tema foi Concursos Públicos. Cada cenário representou um nível do jogo (ETG, ADJ, ADP e ADS). Os exercícios com respectivos cenários podem ser visualizados no Anexo II. As células em destaque indicam a presença de um problema de qua-lidade nos dados.

O experimento foi realizado em duas aulas. Na pri-meira aula, foi feita uma explanação pelo professor sobre qualidade de dados em bancos de dados relacionais e aplicado o Exercício 1. Os alunos tiveram os mesmos intervalos de tempo disponibilizados no jogo para apontar os erros presentes nos dados de cada cenário, sendo 5 minutos para ETG, 4 (ADJ), 3 (ADP) e 2 (ADS). Não foi indicada a quantidade de erros presente em cada cenário. No final da aula, foi feita uma demonstração do jogo didático e disponibilizado o endereço do jogo na Internet. Os alunos foram incentivados a jogar e, para isso, tiveram o período de uma semana.

Na aula seguinte, foi aplicado o Exercício 2, com os alunos tendo os mesmos intervalos de tempo do exercício anterior para marcar os erros presentes nos dados de cada

(9)

Pires, C. E. et al. RBIE V.23 N.3 – 2015

um dos 4 cenários. Um total de 37 alunos esteve presente nas duas aulas e, por conseguinte, realizaram os dois exercícios. No entanto, desses 37 alunos, somente 27 informaram ter jogado enquanto que os demais (10) ale-garam não terem jogado por algum motivo. Desta forma, apenas os 27 alunos que jogaram tiverem o desempenho avaliado.

Para avaliar o desempenho de um aluno em um cená-rio, utilizou-se a Equação 3, a mesma aplicada no jogo didático. A avaliação foi realizada logo após a realização de cada exercício. O desempenho geral dos alunos após o Exercício 1 foi comparado com o desempenho geral após o Exercício 2. No primeiro, os alunos tiveram apenas uma aula expositiva sobre qualidade de dados. No segun-do, além da aula, os alunos tiveram à disposição o jogo didático para praticar. A seguir, os resultados são apre-sentados, bem como uma discussão sobre os mesmos.

A Figura 10 ilustra o comparativo de desempenho ge-ral (considerando os 27 alunos), por nível do jogo, em cada exercício. Com exceção do nível ADP, houve uma melhoria de desempenho dos alunos após a utilização do jogo didático. O nível ADJ foi o que apresentou o melhor resultado (acréscimo de 24%). Em termos gerais (consi-derando todos os níveis), a melhoria foi de 5%. Uma possível justificativa para o resultado negativo no nível ADP pode ser a presença de problemas de qualidade mais difíceis de serem detectados (PQ11 e PQ17) no Exercício 2. Uma discussão sobre facilidade/dificuldade em detec-tar os problemas de qualidade é mostrada a seguir.

Figura 10: Desempenho geral dos alunos antes e depois do uso do jogo

A Figura 11 mostra o comparativo de desempenho ge-ral (considerando os 27 alunos), por nível do jogo, de acordo com o sexo dos alunos. Dos 27 alunos, 22 eram do sexo masculino e 5 do sexo feminino. Apesar da dis-paridade na quantidade de alunos e alunas, percebe-se uma pequena variação no desempenho ao longo dos ní-veis do jogo, o que se reflete no resultado geral. O de-sempenho dos alunos foi superior em apenas 1,09% em relação ao das alunas.

Figura 11: Desempenho dos alunos por sexo

Neste experimento, realizou-se ainda uma análise dos problemas de qualidade que foram mais/menos facilmen-te identificados pelos alunos. O Anexo III ilustra como os problemas de qualidade foram distribuídos nos cenários montados. Dos 29 problemas de qualidade elencados no Anexo I, 13 foram utilizados nos exercícios. No Exercí-cio 1, foram inseridos os problemas de qualidade PQ01, PQ02, PQ04, PQ05, PQ06, PQ07, PQ11, PQ12, PQ15, PQ16, PQ17 e PQ21. O Exercício 2 continha os mesmos problemas de qualidade do Exercício 1 com o acréscimo do erro PQ08. Durante a elaboração dos exercícios, não foi possível utilizar nos cenários os mesmos problemas de qualidade nem na mesma quantidade, dado que os temas dos bancos de dados de cada exercício eram diferentes.

De acordo com a Figura 12, os problemas de qualida-de PQ01 (valor ausente), PQ07 (violação qualida-de sintaxe) e PQ12 (inversão de valores entre atributos) foram identifi-cados por mais de 96% dos alunos. Uma possível justifi-cativa é que, por não seguirem o padrão dos demais da-dos do atributo que não contém erros, os dada-dos relaciona-dos a esses problemas chamam a atenção do jogador, facilitando a percepção visual.

Figura 12: Taxa de acertos por problema de qualidade

Em contrapartida, os problemas de qualidade PQ11 (violação de dependência entre atributos) e PQ17 (linha duplicada) foram identificados por menos da metade dos alunos. Para identificação do PQ11, é preciso

(10)

primeira-mente analisar a semântica do esquema do banco de da-dos, no intuito de verificar se algum atributo depende funcionalmente de outro. Apenas se existir tal dependên-cia é que os dados dos atributos envolvidos devem ser analisados. Observou-se que a maioria dos alunos priori-za a análise dos dados, desconsiderando o contexto do esquema. Em relação ao PQ17, verificou-se que boa parte dos alunos chegam a analisar os dados em relação à célu-la, ao atributo e à linha inteira. No entanto, ao identifica-rem que os dados de cada linha estão corretos, esquecem-se de analisar cada linha em relação à tabela inteira.

Experimento II

A análise de aplicabilidade do jogo didático foi reali-zada com a utilização de questionários explorando dife-rentes aspectos do jogo: navegação nas telas, legibilidade de recursos, tempo disponibilizado para jogar, utilidade do jogo e desempenho do jogo. O objetivo foi identificar possíveis problemas específicos com o design tais como ergonômicos, resultados inesperados, ambiguidades e inconsistências. Os questionários utilizados estão dispo-níveis no Anexo IV.

No quesito Navegação, é possível perceber na Figura 13 que mais de 80% dos alunos conseguiram navegar facilmente nas telas disponibilizadas no jogo. No entanto, alguns alunos reportaram dificuldade em navegar na tela de partidas, especialmente quando o cenário continha duas ou três tabelas. Com isso, era preciso usar a barra de rola-gem, o que era cansativo e fazia o jogador perder tempo.

Figura 13: Análise do grau de navegação do jogo

No quesito Legibilidade, a Figura 14 mostra que 94% dos alunos acharam que as funcionalidades do jogo esta-vam bem expostas, a maioria delas podendo ser percebi-das facilmente. Contudo, alguns alunos citaram que os ícones de acesso às dicas ficaram pouco perceptíveis. A questão da ajuda ao usuário também foi mencionada, no sentido de indicar melhor como as células deveriam ser marcadas pelo jogador de acordo com cada problema de qualidade. Esse problema foi observado durante a reali-zação do Experimento I. Alguns alunos fizeram as mar-cações de problemas de dados de forma incorreta, muito embora tenham sido previamente orientados pelo profes-sor sobre como utilizar o jogo.

Figura 14: Análise de legibilidade do jogo

Em relação ao tempo oferecido para marcação dos problemas de qualidade (Figura 15), 94% dos alunos não tiveram dificuldade nesse item tendo marcado todas ou a maioria das células contendo erros. Isso mostra que os tempos atualmente aplicados parecem ser factíveis com os cenários disponibilizados. No entanto, foi sugerido que o cronômetro regressivo ficasse mais visível e emitisse algum sinal de alerta quando o tempo estivesse acabando.

Figura 15: Análise do tempo disponibilizado para disputar partidas

Como mostra a Figura 16, mais da metade dos alunos consideram que a principal utilidade do jogo é a possibili-dade de aprender os conceitos de banco de dados e quali-dade de dados. Em segundo lugar aparece a opção de di-vertimento. Percebe-se então que o jogo pode servir como uma maneira de fomentar o interesse e salientar a impor-tância do estudo de Banco de Dados, ao mesmo tempo em que se oferece como uma opção de entretenimento.

Figura 16: Análise da utilidade do jogo

Em relação ao quesito Desempenho, a Figura 17 mos-tra que 84% dos alunos alegaram ter tido pouco ou ne-nhum problema ao executar o jogo a partir de seus com-putadores pessoais. Entretanto, apesar da arquitetura

(11)

Pires, C. E. et al. RBIE V.23 N.3 – 2015

(baseada na Web) proposta para o jogo ter apresentado boa escalabilidade nesse experimento, testes com uma quantidade maior de usuários ainda necessitam ser reali-zados.

Figura 17: Análise de desempenho do jogo didático

6 Trabalhos Relacionados

Um dos principais problemas enfrentados no ensino-aprendizagem de Ciência da Computação é assegurar o fator motivacional dos estudantes. A utilização de jogos educacionais é uma forma de fomentar o interesse e sali-entar a importância do estudo das diversas áreas do curso [4, 23]. Neste contexto, é possível encontrar diversos trabalhos que propõem jogos educacionais voltados para o ensino de Ciência da Computação tanto para estudantes de nível superior quanto de ensino médio [3, 7, 8, 9, 12].

O jogo ProGame [3] apresenta uma série de desafios que estimulam o estudante a praticar seus conhecimentos sobre programação nas linguagens Python ou Java. O jogo Ilha de Requisitos [7] é voltado para revisão de conhecimento sobre engenharia de software. No jogo, o estudante faz o papel de um aventureiro localizado em uma ilha deserta e precisa resolver desafios para conse-guir fugir. O jogo Plant-Ação [9] visa auxiliar o ensino-aprendizagem das disciplinas de introdução à programa-ção. Através de uma série de ações, o jogador deve mon-tar uma sequência de passos que levem o personagem a realizar uma plantação. O ato de plantar no jogo é refleti-do em um algoritmo.

O jogo Qualidados [12] simula uma empresa de TI na qual o jogador faz o papel de um analista de dados e tem a sua disposição: servidores alocados a uma lista de pro-jetos e ferramentas de qualidade de dados. Cada projeto possui uma descrição com seus objetivos e atributos que revelam a qualidade de dados atual e a desejada. O joga-dor deve selecionar um projeto, alocar servijoga-dores para a sua realização e aplicar as ferramentas de qualidade de dados adequadas ao seu projeto. Diferentemente de Mr. Data Analyst, o jogo Qualidados foca na correção de problemas de qualidade de dados que podem ocorrer em projetos de TI. Os projetos são na verdade cenários

abs-tratos nos quais o estudante sequer tem contato com os dados.

Excetuando-se o jogo Qualidados, constata-se que a maioria dos jogos educacionais voltados para o ensino de Ciência da Computação abrange as áreas de Programação e Engenharia de Software. Desta forma, este artigo pro-põe um jogo educacional em uma área carente deste tipo de iniciativa. O foco do jogo Mr. Data Analyst está na detecção de problemas de qualidade de dados. O jogador se depara com cenários sintéticos ou reais e precisa apon-tar onde estão os problemas de qualidade.

7 Conclusões

Os jogos didáticos são aplicações utilizadas facilmen-te e costumam despertar grande fascínio pelos jovens estudantes. Este trabalho apresentou um jogo didático para apoiar a aprendizagem de banco de dados relacio-nais. Os conhecimentos explorados no jogo se restringem inicialmente aos conceitos básicos de bancos de dados relacionais - esquema, tabelas, linhas, colunas, tipos de dados e restrições de integridade, bem como aos diferen-tes tipos de problemas que podem afetar a qualidade dos dados. Esse processo ocorre com a inserção do jogador no ambiente de gerenciamento de dados de forma organi-zada e simplificada para que possa se adaptar de forma gradativa com os novos termos e características que po-dem se intensificar em número e dificuldade com o avan-ço de níveis.

O jogador assume o papel de um analista de dados e tem que avaliar a qualidade dos dados em diferentes cenários. O jogo é voltado para estudantes de graduação e ensino médio. A proposta é trabalhar o lado motivacional dos estudantes para tentar combater a evasão que ocorre nos primeiros anos do curso e despertar o interesse voca-cional pela profissão. Os resultados obtidos durante a realização dos experimentos indicam que o jogo é capaz de melhorar a aprendizagem dos alunos, ao mesmo tempo em que serve como uma opção de divertimento.

Como trabalhos futuros, além de aperfeiçoar a apre-sentação do jogo (interface), pretende-se adicionar novas funcionalidades ao mesmo como, por exemplo, a capaci-dade do jogador poder indicar nos cenários como os pro-blemas devem ser corrigidos (incluindo a ordem de cor-reção), de modo a aumentar a qualidade dos dados. Além disso, há a intenção de adicionar à arquitetura do jogo um módulo para criação automática de cenários sintéticos, o que facilitaria consideravelmente o trabalho do professor.

(12)

Anexo I

Problemas de Qualidade de Dados

Problema Grão Nome Descrição

PQ1 A Valor ausente Ausência de valor em um

atributo que deveria conter dados PQ2 A Violação de

domínio Valor fora do domínio de valores válidos PQ3 A Valor incorreto Valor do atributo não

correspon-de à situação real PQ4 A Erro ortográfico Valor contém erro de grafia

PQ5 A Informação em

excesso Múltiplos valores introduzidos num único atributo textual PQ6 A Substring inválido Anomalia resultante do uso de

abreviaturas ou pronomes de tratamento em nomes de pessoas PQ7 A Violação de sintaxe Uso de múltiplos formatos para

representar os dados de uma mesma coluna

PQ8 A Valor impreciso Uso de acrônimos ou abreviações

PQ9 A Violação de

restrição de domínio de negócio

Valor do campo não poderia ser aceito no mundo real PQ10 A Valor desatualizado Valor não corresponde ao valor

atual PQ11 L Violação da

dependência entre atributos

Existência de inconsistências entre os valores dos atributos PQ12 L Inversão de valores

entre atributos Introdução de valor no atributo errado PQ13 L Tupla semi-vazia ou

vazia A maioria dos atributos da tupla não está preenchida PQ14 L Violação de

dependência funcional

O valor de um atributo não está relacionado apenas a este, como deveria na vida real PQ15 TU Utilização de

sinônimos Expressões diferentes, mas com o mesmo sentido PQ16 TU Valor não único Duas linhas diferentes possuem

valores iguais em um atributo de valor único

PQ17 TU Linha duplicada Uma mesma entidade encontra-se

representada de forma igual ou semelhante em múltiplas linhas PQ18 TU Redundância sobre

a mesma entidade Aparentemente existe outro registro da mesma entidade PQ19 TU Violação de

restrição de domínio de negócio

Uma tabela possui mais/menos tuplas do que deveria PQ20 TU Circularidade entre

tupla em autorrela-cionamento

Um registro na tabela que são, ao mesmo tempo, gerente e subordinado da mesma pessoa, por exemplo

PQ21 MT Referência

inexis-tente Refere-se a uma violação de integridade referencial PQ22 MT Referência

existen-te, mas errada Valor do atributo não viola a integridade referencial, contudo é incorreto

PQ23 MT Redundância sobre

a mesma entidade A mesma entidade encontra-se representada sob formas iguais ou diferentes em várias tabelas PQ24 MT Inconsistância sobre

a mesma entidade Conflitos nos valores dos atributos de uma entidade representada em mais do que uma tabela

PQ25 MT Formatos de

representação diferentes

O valor do atributo surge sob diferentes formatos de represen-tação consoante a tabela PQ26 MT Unidade de medidas

diferentes O valor do atributo surge sob variadas unidades de medida consoante à tabela PQ27 MT Utilização de

sinônimos Expressões sintaticamente diferentes, mas com igual significado em tabelas diferentes PQ28 MT Violação de

restrição de domínio Um valor em uma tabela é inconsistente, de acordo com dados em outra tabela PQ29 MT Domínio de

violação de restrição

Violação de restrição inerente ao domínio, envolvendo os relacio-namentos entre múltiplas relações

Tabela 3: Lista de problemas de qualidade de dados

Anexo II

Exercício 1 – Banco de Dados: Cinema

Código Filme Indicação Data Horário Sala 8290 Stalingrado 14 15.09.2012 19:00 5 2872 Rio Livre 13/02/2011 15:00 4 2287 Titanique 10 09/11/2010 16:00 2 2876 300 14 18/09/2013 21:00 1 9987 Drácula 14 23/10/2014 19:00 5 2876 Lista de Schindler 14 03/02/2011 20:00 3 6227 Livre 08/06/2012 15:30 1 7726 Tarzan Livre 19/01/2011 16:00 2

Tabela 4: Tabela “Cartaz”, nível ETG

Código Data Hora Tipo Valor Sala Funcionário 8376 18.08.2009 17:10 Crédito 15,00 4 Rui 2276 24.09.2011 18:56 Débito 18,00 2 Sheila 1127 06/08/2012 19:35 Espécie 20,00 2 Lucas 3873 12.11.2008 13:08 Crédito 1 Ney 3367 16.10.2012 12:54 Crédito 20,00 3 Rui 2228 15.10.2011 19:65 Débito 18,00 3 Pedro 2287 13.03.2006 22:15 Débito 10,00 2 Lucas 3380 22.07.2014 20h19 Espécie 25,00 -5 Paulo 3368 16.10.2012 12:55 Crédito 20,00 3 Rui

Tabela 5: Tabela “Vendas”, nível ADJ

Número Capacidade 3D 2 600 Sim 1 5oo Não 5 340 Não 4 280 Não 3 490 Sim 7 330 Não 6 210 Talvez

Tabela 6: Tabela “Salas”, nível ADP

Número Filme Data Horário Sala Poltrona Promocional

88276 Annabelle 13/10/2014 22h30 45-D 3 Não

33776 Carros 2 30/02/2014 16h15 4 12-A Não

22561 Festa no Céu 28/10/2014 20h00 1 15-C Não

55344 Gibraltar 27/10/2014 17h25 8 22-A Sim

22455 Interestelar 15/10/2014 25h30 6 11-B Não

33627 Made in China 22/09/2014 17h30 5 23-C Não

51411 O Juiz 26/10/2014 19h00 7 23-A Não

(13)

Pires, C. E. et al. RBIE V.23 N.3 – 2015

22356 O Juiz 26/10/2014 19h00 7 23-A Não

Tabela 7: Tabela “Ingressos”, nível ADP

Matrícula Nome Nascimento Admissão Sexo Nacionalidade 272728 Sandro D. Rocha RG 166515 08/02/1989 03/02/2012 M Brasileira 226651 Dr. Juan Antonio Diniz 15/04/1978 11/12/2011 M Argentina 288272 Simone Andrade Neves 22/06/1986 17/08/2013 M Brasileira 228711 Roberta Alves Paes 23/03/1988 06/06/2011 F Brasileira 982726 Juan Gonzales Ortega 21/09/1991 05/10/1993 M Portenha

Tabela 8: Tabela “Funcionários”, nível ADS

Sala Capacidade VagasCadeirantes Situação

4 250 10 Liberada 1 110 120 Liberada 2 155 5 Liberada 5 180 8 Não disponível 3 300 10 Liberada 6 220 5 Indisponível

Tabela 9: Tabela “Salas”, nível ADS

Código DataReserva Horário DataExpiração Sala Poltrona Funcionário R37378 12/12/2012 21:00 14/12/2012 4 183 288272 R29988 11/02/2014 21:00 14/12/2012 3 255 226651 R43435 01/12/2014 17:30 03/12/2014 5 106 982726 R98711 14/05/2010 17:00 12/05/2010 1 95 288272 R29989 11/02/2014 21:00 14/12/2012 3 255 228711 R44222 03/01/2012 14:30 05/01/2012 2 109 288272 R73662 22/02/2012 19:00 24/02/2012 1 32 982726 R44113 05/10/2009 17:30 07/10/2009 4 350 288272

Tabela 10: Tabela “Reservas”, nível ADS

Exercício 2 – Banco de Dados: Concursos Públicos

Inscrição Nome CPF Naturalidade Sexo Cargo

7262188 Carlos Andrade Costa 99627722111 São Paulo M Analista

1227762 Timóteo Guedes Lira 33366654355 São Carlos M Analista

2226554 Ticiane A. Souza 37363635211 C. Grande F Motorista

3383262 Yana Marinho Chagas 33883999001 Gramado F Auxiliar

1116522 Tales A. Drummond 12278990222 Coritiba M Secretario

2226533 Simone Freitas Dias 33661551112 Limeira F Professora

Poliana Soares Santos 62552442222 Recife F Consultor

3367771 Antonio B. Costa 37365533327 Aracaju M Docente

Tabela 11: Tabela “Candidatos”, nível ETG

Inscrição Candidato Local Data Horário Cargo

7262551 Mário S. Gomes Escola Normal 20/02/2012 08:00 M733

3363617 Arão Orestes Silva Escola Municipau 20/02/2012 14:00 M265

1262625 Sandra N. Goes UFCG 21/02/2012 0800 M262

2262524 Antonieta Dantas UFCG 20/02/2012 08:00 M726

2727262 Vânia Eduarda Sá UEPB 21/02/2012 14:00 M252

1135272 Luana Aparecida Dias Escola Normal 23/02/2012 14:00 M252

2262524 Paula L. Vasconcelos Escola Normal 23/Fev/12 08:00 M441

2272625 Simão Limas Gois UFCG 21/02/2012 14:00 M542

2522442 Ticiana Guedes Melo UEPB 21/02/2012 M265 14:00

Tabela 12: Tabela “Cartões de Prova”, nível ADJ

Código Descrição Vagas VagasDeficientes Cidade Salário

M099 Motorista 3 1 João Pessoa 1251,00

M252 Assistente Social 10 2 Campina Grande 1326,00

M526 Cajazeiras 5 1 Fiscal 2277,00

M251 Motorista 2 1 Patos 1265,00

M987 Supervisor 3 1 Cajazeiras 2098,00

M262 Cozinheiro -2 1 Sousa 813,00

M441 Administrador 3 1 Campina Grande 2526,00

M232 Médico 1 4 Pombal 6352,00

Tabela 13: Tabela “Cargos”, nível ADP

Código Candidato Data Situação Cargo Valor

A282882 Douglas Miguel Sá 23/03/2014 09:22 Pago M262 65,00

A262554 Diana Marques Souza 12/04/2014 15:21 Pendente M232 75,00

A272662 Paulo Gomes Dias 31/02/2014 08:23 Pago M251 60,00

A726252 Ricardo A. Marinho 25/03/2014 10:32 Pago M987 65,00

A724431 Bruna Leite Guedes 06/04/2014 12:55 Pago M262 65,00

A888222 Maria Porto França 20/04/2014 05:40 Pendente M441 70,00 A871622 Yana Alencar Marinho 01/04/2014 09:22 Pendente M999 65,00

A321466 Roberta Alves Flores 09/03/2014 08:01 Pago M252 70,00

A871112 Romão Cesar Vilar 22/03/2014 06:44 Pago M987 65,00

A888223 Maria P. França 20/04/2014 05:43 Pago M441 70,00

A726262 Patrícia Gomes Alvarez 25/03/2014 08:12 Pago M099 75,00

Tabela 14: Tabela “Inscrições”, nível ADP

Código Entidade Inscrição Realização Resultado Vagas

2289 PRF 20/02/2012-28/03/2012 14/07/2012 16/09/2012 452

2776 CEF 16/03/2013-18/04/2013 16/05/2013 22/08/2013 526

2265 INSS 11/01/2009-23/02/2009 22/06/2009 19/05/2009 335

9982 Dataprev 03/04/2011-07/05/2011 13/07/2011 15/08/2011 225

6252 RFB 18/11/2009-25/12/2009 05/03/2010 02/06/2010 412

Tabela 15: Tabela “Concursos”, nível ADS

CPF Nome Nascimento Naturalidade Sexo

38377763535 William Alves de Souza 08/09/1978 Rio de Janeiro Masculino 26265252542 Gustavo M. Dias 17/12/1976 Fortaleza - CE Masculino

99282727262 Poliana Andrade Silva 09/08/1992 Belém Feminino

28872626277 Damião L. Gondim 07/06/1956 São Carlos Feminino

49472628290 Tarsila Andrade Rocha 28/09/1978 Porto Alegre Feminino

30389373736 Maria Dolores Meira 07/10/1976 Brasília Feminino

38363637373 A/C Túlio Patrício Salgado 19/02/1992 Belo Horizonte Masculino

(14)

Tabela 16: Tabela “Candidatos”, nível ADS

Número CPF Concurso Cargo Cidade Situação

2727262 28872626277 2265 Auditor Taubaté Pago

8871716 36265252542 2289 Policial Belém Pendente

9019181 90389373736 6252 Analista Fiscal Maceió Feminino

2273736 88363637373 2265 Analista São Paulo Pago

2727888 59472628290 2289 Policial Belo Orizonte Pago

5424322 60389373736 2776 Caixa Brasília Pendente

8766151 99282727262 9982 Programador São Paulo Pago

5424322 37363638399 2276 Caixa Fortaleza Pago

7262552 18377763535 9982 Programador Rio de Janeiro Pago

1266667 49472628290 8888 Programador Curitiba Pendente

Tabela 17: Tabela “Inscrições”, nível ADS

Anexo III

Distribuição de Problemas de Qualidade

PQ01 PQ02 PQ04 PQ05 PQ06 PQ07 PQ11 PQ12 PQ15 PQ16 PQ17 PQ21 Total ETG 1 1 1 2 5 ADJ 1 2 2 2 7 ADP 3 1 2 2 1 9 ADS 1 1 8 4 2 16 Total 2 5 2 1 1 3 8 2 4 2 6 1

Tabela 18: Distribuição dos problemas de qualidade no Exercício 1, por nível do jogo PQ01 PQ02 PQ04 PQ05 PQ06 PQ07 PQ08 PQ11 PQ12 PQ15 PQ16 PQ17 PQ21 Total ETG 1 1 1 2 5 ADJ 1 2 2 2 7 ADP 2 2 2 2 1 9 ADS 1 1 1 1 1 4 2 1 12 Total 1 3 3 1 1 2 2 6 4 2 4 2 2

Tabela 19: Distribuição dos problemas de qualidade no Exercício 2, por nível do jogo

Anexo IV

Questionário 1 – Aplicabilidade do jogo

Navegação. Você conseguiu navegar sem dificuldades pelo jogo? ( ) O tempo todo; ( ) Na maior parte do tem-po; ( ) Nunca; ( ) Às vezes

Legibilidade. As funcionalidades do jogo estão bem

expostas? ( ) Estão bem expostas e eu consegui identifi-car todas sem dificuldade; ( ) Estão bem expostas, mas algumas eu não percebi; ( ) Não estão tão bem expostas, por isso, senti dificuldade de jogar; ( ) Não estão bem expostas, mas eu consegui jogar normalmente; ( ) Outro Tempo Disponibilizado. Você conseguiu terminar as partidas antes do tempo esgotar? ( ) Sim, todas; ( ) A maioria; ( ) Uma pequena parte; ( ) Não, nenhuma Utilidade. Em qual(is) das opções abaixo você acha que o jogo lhe foi útil? ( ) Aumentar a nota de alguma disci-plina; ( ) Aprender conceitos de banco de dados; ( ) Passar o tempo; ( ) Diversão; ( ) Nada ( ) Outro

Desempenho. Como você avalia o desempenho geral do jogo no seu computador? ( ) Ótimo ( ) Bom ( ) Regular ( ) Ruim ( ) Péssimo

Questionário 2 – Aprimoramento do jogo

(i) O que você achou da interface (aparência) do jogo? Alguma sugestão?

(ii) Você sentiu dificuldade de identificar alguma funci-onalidade (por exemplo, identificar problemas de qualidade, encontrar tabelas de erros, ver descrição dos problemas de qualidade de cada cenário, ...) por causa da interface? Qual(is)?

(iii) Sentiu falta de alguma funcionalidade no jogo? Qual(is)?

(iv) Foi fácil entender a forma de avaliação feita pelo jogo após concluir as suas marcações de erros? Por quê?

(v) Você teve algum benefício com as dicas disponibili-zadas em cada cenário? Qual(is)?

(vi) Ficou confuso de como jogar em algum momento? Em que momento?

Agradecimentos

Os autores gostariam de agradecer o apoio recebido do Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) por ter possibilitado e financiado esta pesquisa. Agradecemos também à equipe da EEEFM Dr. Hortênsio de Sousa Ribeiro (Premen), em nome do Prof. Ednaldo de Farias e das alunas Waleska F. Xavier, Liliane de A. Cardoso, Martha Suellen B. de Lima e Eduarda M. Albuquerque Castro.

(15)

Pires, C. E. et al. RBIE V.23 N.3 – 2015

Referências

[1] J. R. Bittencourt, L. M. Giraffa. Modelando Ambientes de Aprendizagem Virtuais utilizando Role-Playing Games. In Anais do 14º Simpósio Brasileiro de Educação (SBIE), Rio de Janeiro, páginas 47-70, 2003.

[2] C. Batini, M. Scannapieco. Data quality: con-cepts, methodologies and techniques, Springer. 2006.

[3] V. Dantas, P. Freitas, L. Alencar. ProGame: um jogo para apoiar o ensino aprendizagem de pro-gramação. In Anais do 1st Workshop on

Applica-tions to Provide Learning and Teaching Support do 22o Simpósio Brasileiro de Informática na

Educação (SBIE), Aracaju, 2011.

[4] B. Feijó, F. Soares, F., E. Clua. Introdução à Ciência da Computação com Jogos. Edito-ra Campus Elsevier. 2009.

[5] V. Ganti, A. D. Data Cleaning: A Practical Pers-pective, Morgan & Claypool Publishers. 2013. [6] D. Geary. Core HTML5 Canvas: Graphics,

An-imation, and Game Development. Prentice Hall. 2012.

[7] R. Q. Gonçalves, M. Thiry, A. Zoucas. Promo-vendo a Aprendizagem de Engenharia de Requi-sitos de Software através de um jogo Educativo. In Anais do 21º Simpósio Brasileiro de Informá-tica na Educação (SBIE), João Pessoa, 2010. [8] D. L. Marques, L. F. S. Costa, M. A. A. Silva, A.

D. D. S. Rebouças. Atraindo Alunos do Ensino Médio para a Computação: uma Experiência Prática de Introdução a Programação utilizando Jogos e Python. In Anais do 22º Simpósio Brasi-leiro de Informática na Educação (SBIE), Ara-caju, 2011.

[9] V. K. S. L. Melo, R. G. de Almeida, R. A. D’Emery, A. C. Félix. Desenvolvimento de um Jogo Educacional para auxiliar o ensino-aprendizagem de Introdução à Programação. In Anais da 19ª Conferência Internacional de In-formática na Educação (TISE), Fortaleza, pági-nas 615-618, 2014.

[10] P. Oliveira. Detecção e Correção de Problemas de Qualidade dos Dados: Modelo, Sintaxe e Semântica. Tese de Doutorado. Universidade do Minho, Portugal, 2009.

[11] P. Oliveira, F. Rodrigues, P. R. Henriques et al. A Taxonomy of Data Quality Problems. In 2nd

Int. Workshop on Data and Information Quality held in conjunction with CAiSE’05. 2005. [12] G. F. Piccinin, S. R. Santos, S. L. Romano, M.

M. Moro, M. M. QualiDados: Jogo Didático para Consolidação de Conceitos de Qualidade de Dados. In Anais da Sessão de Demos e Apli-cações do 28º Simpósio Brasileiro de Banco de Dados (SBBD), Recife, páginas 55-60, 2013. [13] E. Rahm, H.-H. Do. Data Cleaning: Problems

and Current Approaches. IEEE Data Engi-neering Bulletin, 23(4):3-13, 2000.

[14] C. J. Rijsbergen. Information Retrieval, 2nd

Edi-tion Stoneham, MA: Butterworths, 1979. http://www.dcs.gla.ac.uk/Keith/Preface.html. [15] S. Rogers. Level Up!: The Guide to Great Video

Game Design. Editora Wiley. 2010.

[16] S. Sadiq. Handbook of Data Quality, Research and Practice, Springer. 2013.

[17] J. Schell. The Art of Game Design. Editora El-sevier. 2008.

[18] P. Schuytema. Design de Games: Uma Aborda-gem Prática. Cengage Learning. 2008.

[19] J. Seidelin. HTML5 Games: Creating Fun with HTML5, CSS3, and WebGL. Wiley. 2011. [20] A. Silberschatz, H. F. Korth, S. Sudarshan.

Sis-tema de Banco de Dados. Editora Campus, 6ª Edição. 2012.

[21] R. E. Silva, S. W. Martins. Ensino de Ciência da Computação através do Desenvolvimento de Jogos. In 7º Congresso Iberoamericano de In-formática na Educação, Monterrey, páginas 1285-1295, 2004.

[22] R. Singh, K. Singh. A Descriptive Classification of Causes of Data Quality Problems in Data Warehousing. International Journal of Comput-er Science Issues, 7(3):41-50, 2010.

[23] A. V. Wangenheim, C. G. Wangenheim. Ensi-nando Computação com Jogos, Editora Bookess. 2013.

[24] D. Ballou, S. Madnick, R. Y. Wang. Assuring Information Quality. Journal of Management Information and Systems, 20(3):9-11, 2003. [25] P. Christen. Febrl: an open source data cleaning,

deduplication and record linkage system with a graphical user interface. In 14th ACM SIGKDD

Int. Conference on Knowledge Discovery and Data Mining, páginas 1065-1068, 2008.

Imagem

Figura 1: Esquema de um banco de dados relacional fictício formado  pelas tabelas Alunas e Cursos
Figura 2: Tabelas Alunas e Cursos contendo ocorrências de problemas  de qualidade de dados
Figura 5: Tela de classificados com ofertas de vagas de trabalho
Figura 6: Tela de partidas mostrando os dados marcados como “sujos”
+7

Referências

Documentos relacionados

Neste tipo de situações, os valores da propriedade cuisine da classe Restaurant deixam de ser apenas “valores” sem semântica a apresentar (possivelmente) numa caixa

Mestrado em Administração e Gestão Pública, começo por fazer uma breve apresentação histórica do surgimento de estruturas da Administração Central com competências em matéria

É_Realizada n n (0,3) (0,n) Inscrição Nome RG Expedidor UF Data Média Tipo Nota Questões Número Área Sub-Área Avaliação 3 n Esquema ER para o banco de dados CONCURSO..

Marca Vendedor Veículo Ford João Carro Ford João Caminhão Ford Mário Caminhão Fiat Mário Carro Chevrolet Felipe Carro Chevrolet João Carro Chevrolet João

Membro_Faculdade (Matrícula: Inteiro, Nome: string[50], Carga: Inteiro, IniContrato: data, Curso: string[30], professor: booleano, aluno: booleano). Membro

Estes resultados apontam para melhor capacidade de estabelecimento inicial do siratro, apresentando maior velocidade de emergência e percentual de cobertura do solo até os 60

Entendendo, então, como posto acima, propõe-se, com este trabalho, primeiramente estudar a Lei de Busca e Apreensão para dá-la a conhecer da melhor forma, fazendo o mesmo com o

A variação do pH da fase móvel, utilizando uma coluna C8 e o fluxo de 1,2 mL/min, permitiu o ajuste do tempo de retenção do lupeol em aproximadamente 6,2 minutos contribuindo para