• Nenhum resultado encontrado

PLATAFORMA GAMEKEEPER: ANALISANDO ELEMENTOS DE GAMIFICAÇÃO

N/A
N/A
Protected

Academic year: 2022

Share "PLATAFORMA GAMEKEEPER: ANALISANDO ELEMENTOS DE GAMIFICAÇÃO"

Copied!
104
0
0

Texto

(1)

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS

CURSO DE SISTEMAS DE INFORMAÇÃO – BACHARELADO

PLATAFORMA GAMEKEEPER: ANALISANDO ELEMENTOS DE GAMIFICAÇÃO

EDUARDO HENRIQUE CAPELO LIMA

BLUMENAU 2016

(2)

EDUARDO HENRIQUE CAPELO LIMA

PLATAFORMA GAMEKEEPER: ANALISANDO ELEMENTOS DE GAMIFICAÇÃO

Trabalho de Conclusão de Curso apresentado ao curso de graduação em Sistemas de Informação do Centro de Ciências Exatas e Naturais da Universidade Regional de Blumenau como requisito parcial para a obtenção do grau de Bacharel em Sistemas de Informação.

Prof.a. Simone Erbs da Costa - Orientadora

BLUMENAU 2016

(3)

PLATAFORMA GAMEKEEPER: ANALISANDO ELEMENTOS DE GAMIFICAÇÃO

Por

EDUARDO HENRIQUE CAPELO LIMA

Trabalho de Conclusão de Curso aprovado para obtenção dos créditos na disciplina de Trabalho de Conclusão de Curso II pela banca examinadora formada por:

______________________________________________________

Presidente: Prof.a. Simone Erbs da Costa, Especialista – Orientadora, FURB ______________________________________________________

Membro: Prof. Alexander Roberto Valdameri, Mestre – FURB

______________________________________________________

Membro: Prof. Dalton Solano dos Reis, Mestre – FURB

Blumenau, 06 de dezembro de 2016

(4)

Dedico este trabalho à minha família e as pessoas mais próximas pelo apoio e motivação oferecidos para a conclusão deste curso.

(5)

AGRADECIMENTOS

À minha família, pelo amor, carinho e sempre acreditarem na minha capacidade.

A minha orientadora Simone Erbs da Costa, que não mediu esforços para me auxiliar e acreditou na conclusão deste trabalho.

A todos aqueles que ajudaram de alguma forma na conclusão deste trabalho.

(6)

“Que os vossos esforços desafiem as impossibilidades, lembrai-vos de que as grandes coisas do homem foram conquistadas do que parecia impossível.”

Charles Chaplin

(7)

RESUMO

A era digital e da informação revolucionaram a maneira das pessoas se relacionarem no âmbito social, cultural e econômico. A nova sociedade vive a era da tecnoinformatização, das Tecnologias de Informação e Comunicação (TIC) e do conhecimento. Nesse sentido, a cada dia surgem novos recursos e estratégias motivacionais e de engajamento com intuito de atrair esse novo ser humano, o ser humano digital. Nesse contexto, surge o conceito de gamificação que aproveita os elementos de jogos para criar dinâmicas motivacionais e sentimentos positivos, em atividades antes consideradas como chatas e repetitivas. Entretanto, o sucesso em aplicar este conceito depende da maneira como são utilizados tais elementos e técnicas de análise no âmbito de identificar qual foi o impacto no engajamento de um público-alvo.

Diante desse cenário, esse trabalho consiste em validar a aplicabilidade deste conceito, assim como apresentar a implementação de uma plataforma que monitora elementos de gamificação. Neste trabalho são destacados os resultados obtidos através da plataforma Gamekeeper e da aplicação Social Hero desenvolvida para se integrar com a plataforma para buscar dados de gamificação. A aplicação foi submetida em um contexto real com o intuito de averiguar se os elementos e recursos de gamificação utilizados têm aceitação por parte dos usuários. Para tal, um questionário de estudo quantitativo foi aplicado como um estudo experimental. Os resultados de avaliação obtidos evidenciam a necessidade de se ter cuidado ao escolher os elementos e técnicas de gamificação aplicadas, pois a escolha das mesmas será um fator determinante para o pleno engajamento e motivação dos usuários de um sistema gamificado. Por fim, conclui-se que a plataforma GameKeeper apoia fortemente na análise de um sistema gamificado, assim como identifica se os elementos utilizados são adequados para proporcinar engajamento e motivação de usuários inseridos na gamificação.

Palavras-chave: Análise de gamificação. Sistemas gamificados. Elementos de jogos.

(8)

ABSTRACT

The digital and information age have revolutionized the manner of people relate in terms of social, culture and economics. The new society live in the Information and Communication Technologies (ICT) and knowledge age. Every single day new ways or strategies of motivation and engagement to attract people emerge. In this context, the gamification concept appears bringing game elements to generate positive emotions and engagement in activities that was taken as boring and repetitive. However, the success of applying the gamification concept depends on how these elements were used and which analysis techniques were performed to identify user engagement. Through it all, this paper consists in to validate the applicability of the gamification concept and presents the implementation of a platform that monitors gamification elements. In this work there’ve results obtained from the gamification platform Gamekeeper and the application Socil Hero which were develop to validate the features of the platform. The application was submitted to in a real context, for experimental purpose that its objective was to verify whether gamification elements can turn people more engaged. The obtained results show that is necessary to be careful to choose such game elements and techniques when applying in different contexts, because this can determine how users are engaged in a gamified system. Finally, it is concluded that Gamekeeper can provide tools for gamification analysis and helps by choosing which game elements are best to deploy in a gamified system.

Key-words: Gamification analysis. Gamified systems. Game elements.

(9)

LISTA DE FIGURAS

Figura 1 - Elementos da teoria da autodeterminação ... 20

Figura 2 - Funcionamento da gamificação ... 21

Figura 3 - Dashboard das ações dos usuários ... 25

Figura 4 - Aplicação Questlab ... 26

Figura 5 - Aplicação MaRE ... 27

Figura 6 - Aplicação Swarm ... 28

Figura 7 - Stack Overflow ... 29

Figura 8 - Criação do sistema gamificado ... 31

Figura 9 - Integração da aplicação com a plataforma ... 32

Figura 10 - Geração dos relatórios de gamificação ... 33

Figura 11 - Diagrama de casos de uso do Gamekeeper ... 36

Figura 12 - Diagrama de caso de uso da API do Gamekeeper ... 37

Figura 13 - Diagrama de classes da plataforma ... 38

Figura 14 - Modelo de Entidade Relacionamento do Gamekeeper ... 39

Figura 15 - Diagrama de casos de uso do Social Hero ... 40

Figura 16 - Diagrama de classes do Social Hero ... 41

Figura 17 - Modelo entidade e relacionamento do Social Hero ... 42

Figura 18- Diagrama de componentes das aplicações ... 45

Figura 19 - Estrutura do Gatekeeper... 46

Figura 20 - Estrutura do Gamekeeper (front) ... 49

Figura 21 - Estrutura do Gamekeeper (back) ... 51

Figura 22 - Estrutura Social Hero ... 56

Figura 23 - Tela de cadastro do Gamekeeper ... 60

Figura 24 – E-mail de confirmação ... 61

Figura 25 - Ativação feita com sucesso ... 61

Figura 26 - Tela de criação do jogo ... 61

Figura 27 - Lista de jogos ... 62

Figura 28 - Relatório de ações ... 62

Figura 29 - Relatório de insígnias ... 63

Figura 30 - Relatório de níveis ... 63

Figura 31 - Navegação no Gamekeeper ... 64

(10)

Figura 32 - Lista de ações ... 65

Figura 33 - Informações básicas da ação ... 65

Figura 34 - Configuração da ação ... 66

Figura 35 - Lista de insígnias ... 66

Figura 36 - Informações básicas da insígnia ... 67

Figura 37 - Configuração da insígnia ... 67

Figura 38 - Lista de níveis ... 68

Figura 39 - Informações básicas do nível ... 68

Figura 40 - Lista de jogadores ... 69

Figura 41 - Histórico de atividades do jogador ... 69

Figura 42 - Código do token vinculado ao jogo ... 70

Figura 43 - Tela inicial do Social Hero ... 70

Figura 44 - Tela principal do Social Hero ... 71

Figura 45 - Lista de usuários ... 71

Figura 46 - Perfil do usuário ... 72

Figura 47 - Avaliação geral do Social Hero ... 73

Figura 48 - Avaliação do sistema de pontuação do Social Hero ... 74

Figura 49 - Avaliação da classificação das pessoas no Social Hero ... 74

Figura 50 - Avaliação dos níveis dos usuários ... 75

Figura 51 - Avaliação das notificações de feedback ... 75

Figura 52 - Avaliação do recurso de conquistas do usuário ... 76

Figura 53 - Avaliação da usabilidade do Social Hero ... 76

Figura 54 - Avaliação sobre a funcionalidade relacionada ao Facebook ... 77

Figura 55 - Avaliação sobre a disposição das informações do Social Hero ... 77

Figura 56 - Avaliação da versão para dispositivos móveis do Social Hero ... 78

Figura 57 - Método para obter informações de sistema gamificado ... 99

Figura 58 - Método para obter a lista de ações ... 99

Figura 59 - Método para obter informações de uma ação ... 100

Figura 60 - Método para obter a lista de insígnias ... 100

Figura 61 - Método para obter informações de uma insígnia ... 100

Figura 62 - Método para obter a lista de níveis ... 101

Figura 63 - Método para obter informações de um nívei ... 101

Figura 64 - Método para obter a lista de jogadores ... 101

Figura 65 - Método para registrar jogadores ... 102

(11)

Figura 66 - Método para obter informações de um jogador ... 102 Figura 67 - Método para registrar ações dos jogadores ... 103 Figura 68 - Método para listar a classificação geral dos jogadores ... 103

(12)

LISTA DE QUADROS

Quadro 1 - Requisitos Funcionais do Gamekeeper ... 34

Quadro 2 - Requisitos não funcionais do Gamekeeper ... 35

Quadro 3 - Regras de negócio do Gamekeeper ... 35

Quadro 4 - Requisitos funcionais do Social Hero ... 40

Quadro 5 - Requisitos não funcionais do Social Hero ... 40

Quadro 6 - Classe UsersController ... 47

Quadro 7 – Classe SessionsController... 48

Quadro 8 - Função gameSettingsDirective ... 50

Quadro 9 - Função gameFactory ... 50

Quadro 10 - Classe ActionsController ... 52

Quadro 11 - Classe PlayersController ... 53

Quadro 12 - Classe DashboardsController ... 54

Quadro 13 - Classe PerformedAction ... 55

Quadro 14 - Classe SessionsController ... 57

Quadro 15 - Classe MicropostsController ... 58

Quadro 16 - Classe GamekeeperApiConsumer ... 59

Quadro 17 - Comparação entre correlatos ... 80

Quadro 18 - Comparação dos trabalhos correlatos do Social Hero ... 81

Quadro 19 - Descrição do caso de uso Configurar ações de um sistema gamificado ... 89

Quadro 20 - Descrição do caso de uso Configurar insígnias de um sistema gamificado ... 90

Quadro 21 - Descrição do caso de uso Configurar níveis de um sistema gamificado ... 91

Quadro 22 - Descrição do caso de uso Registrar jogadores ... 92

Quadro 23 - Descrição do caso de uso Registrar atividades dos jogadores ... 92

Quadro 24 - Descrição do caso de uso Obter informações dos jogadores ... 93

Quadro 25 - Tabela games ... 94

Quadro 26 - Tabela actions ... 94

Quadro 27 - Tabela badges ... 94

Quadro 28 - Tabela levels ... 95

Quadro 29 - Tabela players ... 95

Quadro 30 - Tabela player_badges ... 95

(13)

Quadro 31 - Tabela action_objects ... 95

Quadro 32 - Tabela object_properties ... 96

Quadro 33 - Tabela performed_actions ... 96

Quadro 34 - Tabela performed_actions_properties ... 96

Quadro 35 - Tabela reward_conditions ... 96

Quadro 36 - Tabela reward_actions ... 97

Quadro 37 - Questionário sobre o Social Hero ... 98

(14)

LISTA DE ABREVIATURAS E SIGLAS

API – Application Programming Interface DC – Diagrama de Classes

DCU – Diagrama de Caso de Uso ERB – Embedded Ruby

HTTP – Hypertext Protocol

JSON – Javascript Object Notation

MER – Modelo Entidade e Relacionamento PBL – Points, Badges and Leaderboards REST – Representational State Transfer RF – Requisitos Funcionais

RN – Regras de Negócio

RNF – Requisitos Não Funcionais RPG – Role Playing Game

SAAS – Software as a Service TA – Teoria da Autodeterminação UC – Caso de Uso

UML – Unified Modeling Language URI - Uniform Resource Identifier XP – Experience Points

(15)

SUMÁRIO

1 INTRODUÇÃO ... 15

1.1 OBJETIVOS ... 16

1.2 ESTRUTURA... 16

2 FUNDAMENTAÇÃO TEÓRICA ... 18

2.1 CONCEITO DE JOGO ... 18

2.2 GAMIFICAÇÃO ... 20

2.3 RESTFUL WEB SERVICES ... 22

2.4 TRABALHOS CORRELATOS ... 24

2.4.1 Correlatos para a plataforma ... 24

2.4.2 Correlatos para a aplicação de integração ... 27

3 DESENVOLVIMENTO ... 30

3.1 LEVANTAMENTO DE INFORMAÇÕES ... 30

3.2 ESPECIFICAÇÃO ... 33

3.2.1 Gamekeeper... 34

3.2.2 Social Hero ... 39

3.3 IMPLEMENTAÇÃO ... 42

3.3.1 Técnicas e ferramentas utilizadas... 42

3.3.2 Implementação das aplicações envolvidas ... 44

3.3.3 Operacionalidade da implementação ... 60

3.4 RESULTADOS E DISCUSSÕES ... 72

3.4.1 Resultados do questionário aplicado ... 73

3.4.2 Resultados obtidos pela plataforma ... 78

3.4.3 Comparação entre correlatos ... 79

3.4.4 Lições aprendidas ... 82

4 CONCLUSÕES ... 83

4.1 EXTENSÕES ... 84

REFERÊNCIAS ... 85

APÊNDICE A – DESCRIÇÃO DOS CASOS DE USO ... 89

APÊNDICE B – DICIONÁRIO DE DADOS ... 94

APÊNDICE C – QUESTIONÁRIO SOBRE O SOCIAL HERO ... 98

APÊNDICE D – DOCUMENTAÇÃO DA GAMEKEEPER API ... 99

(16)

15 1 INTRODUÇÃO

Nos últimos anos os jogos digitais passaram a ser uma das principais formas de entretenimento presente na vida das pessoas. De acordo com McGonigal (2011), os jogos digitais são um fenômeno global, em que centenas de milhões de pessoas passam horas e horas por dia jogando. A autora ainda afirma que atualmente os jogos de videogames estão satisfazendo necessidades humanas que o mundo real não atende, pois esses oferecen recompensas, inspiração e envolvimento que a sociedade não consegue fornecer. Embora seja fácil identificar um jogo, este pode ser melhor compreendido como algo que corresponde ao ato de brincar, onde há o desejo de experimentar ou simular algo que seja relevante para o indivíduo (VIANNA et al., 2013).

Neste sentido, Werbach e Hunter (2012) descrevem o surgimento de um novo fenômeno, intititulado como gamificação, onde são utilizados elementos e técnicas vistos nos jogos para resolver problemas em outros contextos, áreas ou aplicações. Segundo Christianini, De Grande e Américo (2016), este conceito deriva da área de design de jogos, no qual são estudados os jogos verificando aspectos de desenvolvimento, regras, estética, interatividade, narrativa e interface. Para Vianna et al. (2013), a gamificação é uma alternativa à modelos tradicionais com o objetivo de encorajar pessoas a adotarem determinados comportamentos, tornando as atividades mais agradáveis ao invés de tediosas ou repetitivas.

O conceito de gamificação pode ser observado na literatura que o mesmo está atrelado a utilização de elementos de jogos, porém torna-se imprescindível observar como os jogadores estão aderindo as regras colocadas em um sistema gamificado, como pode ser observado na subseção 3.4. Conceito este que Christianini, De Grande e Américo (2016) observam que além de somente aplicar a técnica de gamificação deve ser colocado foco nos jogadores, observando como eles interagem dentro do sistema com o objetivo de mantê-los engajados. Para Werbach e Hunter (2012), esta observação pode ser feita através de indicadores que podem ser rastreados e medidos, nos quais podem ser a quantidade de jogadores que entram, volume de pontuação ou bens virtuais recuperados.

Brudner (2015) observou que algumas empresas desenvolvem a gamificação internamente, ocasionando o uso incorreto de mecanismos de jogos ou grande desinteresse por parte dos seus usuários. Em pesquisa realizada por Heilbrunn, Herzig e Schill (2014) foi mostrado que ainda faltam ferramentas apropriadas para a análise de gamificação, que consiste em verificar a utilização de seus elementos, assim como as ações de seus jogadores.

Tendo em vista os fatos apresentados, identificou-se a necessidade de observar como os

(17)

16 jogadores interagem em um sistema gamificado, assim como validar o quanto os mesmos estão engajados em alcançar novos objetivos e a oportunidade de implementar uma plataforma que forneça este tipo de análise.

Sendo assim, tem-se como questão de pesquisa: se uma plataforma e uma aplicação gamificada forem desenvolvidas, aplicadas e validadas em um contexto real (estudo experimental) será possível analisar e avaliar se os recursos e os elementos de gamificação incentivam um maior engajamento dos usuários assim como uma maior interação ao utilizarem uma aplicação gamificada?

Com o intuito de solucionar o problema apresentado, foi desenvolvida a plataforma GameKeeper para analisar a utilização dos elementos de gamificação, de modo que sejam rastreadas as ações dos jogadores de um sistema gamificado. E, para validar a plataforma gamificada foi desenvolvido uma aplicação web gamificada para enviar as informações relativas a gamificação, levando em consideração as ações dos seus usuários.

1.1 OBJETIVOS

O objetivo geral deste trabalho consiste no desenvolvimento de uma plataforma para validar o uso da gamificação como fator motivacional, de modo que seja possível analisar o quanto as pessoas ficam engajadas aplicando seus conceitos.

Os objetivos específicos do trabalho proposto são:

a) desenvolver uma plataforma para manter os dados de sistemas gamificados;

b) permitir a análise de um sistema gamificado;

c) desenvolver uma aplicação que contenha elementos de gamificação, como um dos instrumentos para validar se os conceitos e os elementos escolhidos de gamificação aplicados foram usados em sua plenitude;

d) analisar a plataforma de gamificação a partir dos resultados gerados pela mesma e através da aplicação gamificada, em um contexto real, para validar se os elementos de gamificação foram escolhidos e utilizados de forma adequada.

1.2 ESTRUTURA

Este trabalho está organizado da forma que segue.

No primeiro capítulo é contextualizado o tema principal deste trabalho, apresentado o problema e a justificativa do mesmo, assim como os objetvos propostos.

No segundo capítulo é apresentada a fundamentação teórica referente aos conceitos e aos fundamentos mais importantes para a pesquisa em questão como o conceito sobre jogo, a

(18)

17 gamificação, restful web services, e por fim são apresentados os trabalhos relacionados com a pesquisa.

No terceiro capítulo são abordados os assuntos relacionados ao desenvolvimento da plataforma e da aplicação para validar a gamificação, assim como é apresentado os resultados e discussões obtidos neste trabalho.

Por fim, o quarto capítulo apresenta as conclusões obtidas com pesquisa realizada e as extensões para trabalhos futuros.

(19)

18 2 FUNDAMENTAÇÃO TEÓRICA

Este capítulo apresenta os conceitos e os fundamentos mais importantes para a pesquisa realizada. Este capítulo está organizado da forma que segue. A seção 2.1 apresenta o conceito de jogo. A seção 2.2 aborda o tema de gamificação. A seção 2.3 descreve sobre restful web services. E, por último, a seção 2.4 apresenta os trabalhos relacionados com a pesquisa.

2.1 CONCEITO DE JOGO

Esta seção apresenta o conceito de jogo assim como descreve suas características fundamentais, e; traz uma breve descrição da abordagem na área da psicologia para compreender o fator motivacional presente nos jogos.

Nos últimos anos percebeu-se um forte crescimento na indústria de jogos digitais e videogames relacionados a economia, os consumidores, os aspectos culturais e sociais (FERRARA, 2012). Com esse crescimento no cenário mundial, os mesmos passam a adotar classificações conforme obsservam Vianna et al. (2013), os jogos podem ser classificados como jogos analógicos e jogos pervasivos. Os autores ainda elencam alguns exemplos de jogos que entram nessas categorias, sendo eles: jogos de tabuleiro, cartas, esportes, jogos com realidade aumentada e jogos com sensores de movimento. É possível observar que todos os tipos de jogos citados compartilham algumas características comuns como interatividade, apelo estético, mecânicas, recompensas, competição e cooperação (WERBACH; HUNTER, 2012).

Conforme Huizinga (2000) observa, um jogo pode ser entendido como um espaço que separa o lúdico do mundo real, onde os jogadores aceitam as regras do jogo, voluntariamente, suspendendo momentaneamente as regras do mundo real. Segundo Kramer (2000), jogos são objetos que têm em sua estrutura um conjunto de componentes e critérios que não têm impacto na nossa realidade. Para McGonigal (2011), todos os jogos compartilham das mesmas características a seguir:

a) objetivo: é todo resultado específico em que os jogadores irão aplicar esforços para conquistá-los, traz o propósito do jogo para os jogadores;

b) regras de jogo: são as restrições que definem o que os jogadores poderão ou não fazer para atingir o objetivo;

c) sistema de feedback: é um mecanismo para situar os jogadores dentro do jogo, visando informar o desempenho e o quanto falta para conquistar o objetivo do jogo. Geralmente, esta informação vem através de pontos, níveis, placares ou

(20)

19 alguma forma que mostre seu progresso no jogo;

d) participação voluntária: trata da aceitação por parte dos jogadores, do objetivo, das regras e do feedback do jogo. Desta forma, um ambiente comum entre os jogadores é estabelecido.

Na área da psicologia surgiu uma teoria para explicar a motivação das pessoas para realizar atividades por um período de tempo conhecida como Teoria da Autodeterminação (TA). Esta teoria foi elaborada por Deci e Ryan (1985), ela sugere que existem duas motivações, a motivação intrínseca, que é a motivação vinda pelo processo de escolha do próprio indivíduo, e; a extrínseca que são aquelas provocadas por fatores externos.

Relacionado à motivação intrínseca, a teoria ainda sugere que certas atividades provocam necessidades humanas de competência, autonomia e relacionamento entre as pessoas conforme pode ser observado na Figura 1 (WERBACH; HUNTER, 2012). Segundo Kapp (2012), o ser humano sempre tem motivação para se autorealizar, neste sentido, as técnicas de gamificação vêm como uma alternativa para as dinâmicas de engajamento. Para Gomes (2016), este tipo de motivação tem origem na vontade própria do sujeito, sendo satisfeita por esforços internos e efeitos mais positivos do que a motivação causada por fatores externos. De acordo com Deci e Ryan (1985), estas necessidades podem ser descritas da seguinte forma:

a) competência: trata-se da necessidade em que as pessoas têm de aperfeiçoar alguma habilidade de cunho pessoal (dança, raciocínio, conhecimento);

b) autonomia: trata-se da necessidade de permitir a escolha e dar a sensação de controle ao indivíduo;

c) relacionamento: trata-se da necessidade que o indivíduo tem de interagir e compartilhar com os outros suas conquistas.

(21)

20 Figura 1 - Elementos da teoria da autodeterminação

Fonte: Werbach e Hunter (2012).

Uma pessoa está intrinsicamente motivada quando ela está em uma atividade que tem alguma relação com uma ou mais necessidades (DECI; RYAN, 1985). Os autores ainda colocam que o sujeito realiza a ação pelo próprio bem ou por que tem algum significado para o mesmo. Um exemplo são as atividades que fazem parte do momento de lazer das pessoas, dando a sensação de bem-estar, tanto no aspecto emocional quanto no físico (DECI; RYAN, 1985).

2.2 GAMIFICAÇÃO

Nesta seção são apresentados os temas pertinentes a gamificação, sendo estes:

definição e principais características; os elementos de gamificação; sistemas de Points, Badges e Leaderboards (PBL), e; por último, uma abordagem de análise de gamificação.

Segundo Vianna et al. (2013), a gamificação (do original em inglês gamification) foi um termo utilizado pela primeira vez por Nick Pelling em 2003, um desenvolvedor de jogos que criava interfaces inspiradas em jogos para dispositivos eletrônicos. Para Zichermann e Cunningham (2011), a gamificação se destacou por ser um método muito utilizado em programas de marketing, aplicações web e móvel com o objetivo de engajar e fidelizar clientes e usuários. Geralmente, a utilização de elementos lúdicos em software serve para provocar emoções e sentimentos positivos durante a experiência do usuário através de recursos como som, mecânicas e desafios (BISSOLOTTI, 2016).

Werbach e Hunter (2012) ainda colocam que a gamificação consiste na utilização dos elementos encontrados nos jogos como recompensas, níveis, pontuação, entre outros; em outros contextos que não estão relacionados diretamente com jogos. Os autores também observam que a gamificação não pode ser confundida com o processo de criação de jogos,

(22)

21 nela são utilizadas algumas estratégias, métodos e pensamentos para resolver os problemas do mundo real. Deterding et al. (2011) observam que as características dos jogos também se aplicam na gamificação, pois este processo se concentra na estrutura do ato de jogar baseadas em regras para completar os objetivos definidos.

Para Wood e Reiners (2015), o sucesso de um sistema gamificado reside no desenvolvimento conjunto de seus elementos, de modo que esteja de acordo com a intenção definida. Segundo Yang (2014), os componentes são ferramentas que podem ser utilizadas na implementação de mecânicas e dinâmicas de um sistema gamificado. Os autores ainda descrevem que as mecânicas na gamificação são os processos e técnicas que direcionam as ações de um sistema gamificado, elas que definem os eventos de um sistema gamificado e como os usuários interagem. Para Wood e Reiners (2015), as dinâmicas se referem a camada mais conceitual que dão sentido ao sistema gamificado, trazendo de forma indireta características como progresso, limites e emoções, conforme pode ser visualizado na Figura 2.

Figura 2 - Funcionamento da gamificação

Fonte: Wood e Reiners (2015).

Entre as estruturas e mecânicas herdadas dos jogos que podem ser aplicadas na gamificação, Zichermann e Cunningham (2011) destacam algumas das estratégias como conquistas, recompensas, níveis de progressão, missões, pontuação e quadro de líderes.

Abaixo são descritos alguns dos principais componentes comumente utilizados na gamificação segundo os mesmos autores conforme a figura:

a) conquistas: são representações físicas ou virtuais de objetivos que foram alcançados;

b) pontuação: são valores numéricos que servem como base para acompanhar o progresso e recompensa por desempenhar uma ação;

(23)

22 c) troféus: são usados para indicar as habilidades obtidas através da performance

dentro da gamificação;

d) quadro de liderança: são quadros que mostram a classificação das pessoas e geralmente destacam aqueles que têm maior pontuação relativa aos demais;

e) níveis: mostram o progresso dentro da gamificação e também podem ser utilizados para garantir recompensas.

Seaborn e Fels (2015) realizaram uma pesquisa onde identificaram que os elementos comumente utilizados nos sistemas gamificados são os pontos, as recompensas e o quadro de liderança, também conhecidos como sistemas “Points, Badges and Leaderboards” (PBL).

Werbach e Hunter (2012) acreditam que a utilização destes elementos é devido a popularidade e fácil implementação, onde o jogador acumula pontos, ganha recompensas e é classificado em relação aos outros jogadores. As características dos PBLs são descritas a seguir:

a) sistema de pontuação: reflete as ações dos usuários, mostra seu desempenho, progresso e fornece dados sobre comportamento dos usuários (NICHOLSON, 2015);

b) mecânica de recompensas: direciona comportamento, proporciona senso de realização e fomenta os interesses dos usuários (NICHOLSON, 2015);

c) quadros de liderança: compara a performance dos usuários, traz a competição de usuários e pode desmotivar jogadores que estão distantes do topo (WHERBACK;

HUNTER, 2012).

Conforme sugerem Werbach e Hunter (2012), gamificar consiste em determinar quais são os comportamentos que os jogadores devem seguir dentro de um sistema gamificado. Os autores colocam que os mesmos devem ser concretos e específicos como, por exemplo, cadastrar-se em um site ou visitar uma página. Estes comportamentos devem ser medidos de tal forma que correspondam aos objetivos do contexto em que são aplicados e determinam quantitativamente se estão ou não de acordo com o esperado (KUMAR; HERGER, 2013). Os indicadores de performance dependem do contexto da aplicação, porém algumas técnicas são sugeridas, Werbach e Hunter (2012) colocam as técnicas de proporção de usuários ativos, volume de pontos ou recompensas ganhas.

2.3 RESTFUL WEB SERVICES

Esta seção discorre sobre a utilização de restful web services, apresentando o conceito, princípios e aplicação. Este conceito é utilizado na implementação da plataforma para permitir

(24)

23 a comunicação com outras aplicações que tem o objetivo de utilizar, assim como rastrear as interações dos usuários no contexto da gamificação.

No início de 2000, Fielding (2000) introduziu em sua tese de doutorado um estilo arquitetural baseado no conceito de hipertexto e no Hypertext Transfer Protocol (HTTP), cujo nome ficou conhecido como Representation State Transfer (REST). De acordo com Fielding (2000 p. 13, tradução nossa), este estilo arquitetural se resume a “um conjunto de restrições aplicadas a elementos arquiteturais que induz o conjunto de propriedades desejadas da arquitetura”. Para Tilkov et al. (2011), REST é uma abstração da arquitetura do HTTP, que se concentra em seus conceitos ao invés dos detalhes técnicos. Para o autor, a arquitetura se baseia em quatro princípios, nos quais são:

a) identificação de recursos por Uniform Resource Identifier (URI): um recurso é algo que pode ser armazenado em um computador, por exemplo, um documento, uma imagem ou o resultado da execução de um algoritmo (RICHARDSON;

RUBY, 2007). Para Berners-Lee, Fielding e Masinter (2011), os recursos são identificados por URIs, que fornecem o nome e o endereço de um recurso;

b) operações possíveis para um recurso: também conhecido como Interface Uniform, que segundo Jacobi e Radul (2010), consiste em permitir operações de criação, leitura, atualização e exclusão, onde são implementadas através do uso dos métodos POST, GET, PUT e DELETE do protocolo HTTP;

c) múltiplas representações: uma representação, segundo Lima (2012), consiste de informações sobre o recurso em uma variedade de formatos, dentre eles: HTML, XML e JSON. O autor também observa que uma aplicação cliente pode fazer uma solicitação de um recurso, junto a esta solicitação é possível indicar o tipo de representação através do cabeçalho do HTTP;

d) interações com estado através de links: toda solicitação é realizada através do protocolo HTTP, segundo Richardson e Ruby (2007), ocorre em um isolamento completo, isto significa que o servidor nunca guarda as informações das solicitações anteriores. Com isso, a transferência de estado ocorre através de técnicas, como a verificação de outro estado com nova URI, cookies, embarcados em mensagens de resposta (PAUTASSO; ZIMMERMANN; LEYMANN, 2008).

De acordo com Vinoski (2008), muitas aplicações adotaram o conceito REST para disponibilizar chamadas remotas através da web, denominados restful web services. O autor ainda comenta que este recurso ganhou atenção principalmente por ser muito utilizado como

(25)

24 Application Programming Interface (API), por sua simplicidade de enviar ou obter dados.

Orenstein (2000) define que uma API é um meio pelo qual uma aplicação chama uma outra aplicação para executar funções que estão fora de seu escopo, de maneira padronizada. Para Richardson e Ruby (2007), restful web services são propostos como um modelo simplificado que busca padronizar como a web é utilizada, o que torna uma API fácil de ser utilizada por um programador.

2.4 TRABALHOS CORRELATOS

Esta seção apresenta alguns trabalhos da literatura diretamente relacionados com o presente trabalho. Na subseção 2.4.1 são apresentados três trabalhos que fazem correlação com as caraterísticas da plataforma proposta neste trabalho e na subseção 2.4.2 são apresentados dois trabalhos correlatos específicos para a aplicação que se integra com a plataforma.

2.4.1 Correlatos para a plataforma

Esta subseção descreve três trabalhos relacionados com a plataforma desenvolvida neste trabalho. O Captain Up é uma plataforma comercial que permite a criação e análise de sistemas gamificados (CAPTAIN UP, 2016). O segundo trabalho é o Questlab, uma plataforma de seminários e cursos do Questlab desenvolvida por Hanraths, Wintermeyer e Knautys (2016). Por fim, é apresentado o trabalho de mapeamento de rotas de estudo ou MaRE, desenvolvido por Teixeira (2014).

O Captain Up (2016) foi desenvolvido como uma plataforma de gamificação no modelo Software as a Service (SaaS), tendo como objetivo facilitar a criação e análise de projetos de gamificação, visando aumentar o engajamento de usuários de aplicações web e móvel. O desenvolvimento do projeto de gamificação foi realizado através da própria plataforma, onde é possível criar ou configurar as ações, as recompensas e os níveis para os usuários do projeto (CAPTAIN UP, 2016).

Segundo Programmableweb (2015), o monitoramento e adaptação de projetos de gamificação podem ser realizados através da API disponibilizada pela plataforma ou pelos plugins para aplicações baseadas no Wordpress, Shopfy e Moodle. Na Figura 3 pode ser visualizada a tela de dashboard onde é possível analisar as ações do usuário de uma aplicação integrada com o Captain Up. Nela pode ser observado que esta plataforma apresenta as ações do usuário através de gráficos em relação ao valor total de ações executadas, logo abaixo do

(26)

25 gráfico (na parte inferior central) pode ser visto o histórico de ações por dia considerando todos os jogadores.

Figura 3 - Dashboard das ações dos usuários

Fonte: Captain Up (2016).

O Captain Up (2016) serve como principal referência de como definir o processo de análise para a plataforma desenvolvida neste trabalho. A inspiração nesta plataforma está no modo de processo de criação de sistemas gamificados e seus relatórios sobre os elementos de gamificação. Todos os relatórios também relacionam elementos como ação, recompensas e níveis, fornecendo uma análise quantitativa dos mesmos. Este modelo de análise foi explorado na plataforma proposta neste trabalho.

Em Hanraths, Wintermeyer e Knautys (2016) é apresentada uma plataforma web denominada Questlab cujo objetivo é aplicar elementos de gamificação em cursos e seminários para incentivar a motivação de usuários. A plataforma permite que os professores criem seminários com uma temática de jogos de Role Playing Game (RPG) (HANRATHS;

WINTERMEYER; KNAUTYS, 2016). Um jogo de RPG, segundo Randi e Carvalho (2013), consiste de uma narrativa que conduz os jogadores e seus avatares a cumprirem tarefas definidas no jogo.

Ainda neste cenário, os jogadores podem ganhar pontos de experiência com o objetivo de melhorar as habilidades de seus avatares (HANRATHS; WINTERMEYER; KNAUTYS, 2016). Os alunos, por sua vez, acessam o Questlab no âmbito de assistir os seminários e também assumir o papel de um personagem de RPG para completar diversas missões inseridas no seminário disponibilizado (RANDI; CARVALHO, 2013). A tela principal do

(27)

26 Questlab foi desenhada com a temática de jogos de RPG, conforme pode ser observada na Figura 4. A mesma contém um cenário como plano de fundo, imagem que aparece no fundo parte central superior e na parte superior do menu a direita; o personagem (avatar), situado a direita da parte central, o sistema de níveis e Experience Points (XP). Elementos como estes são vistos também em jogos de RPG.

Figura 4 - Aplicação Questlab

Fonte: Hanraths, Wintermeyer e Knautys (2016).

A relação da plataforma desenvolvida neste trabalho com o Questlab está principalmente no uso dos elementos de gamificação. Ambas as plataformas devem relacionar os seus jogadores com os seus respectivos avatares, pontuar conforme o desempenho dos jogadores, atribuir níveis de progresso e definir desafios durante a gamificação.

No MaRE desenvolvido por Teixeira (2014), a implementação da aplicação utiliza elementos de gamificação como XP, níveis de usuários, conquistas e recompensas. O propósito deste trabalho é incentivar os usuários no processo de pesquisa no âmbito acadêmico através de uma dinâmica de desafio em que o usuário ganha pontos ao pesquisar de acordo com as palavras-chave (TEIXEIRA, 2014).

Para Teixeira (2014), o usuário cadastra as palavras-chave da sua pesquisa e inicia a mesma através de um navegador de internet embutido na própria aplicação. A aplicação faz a leitura do HTML e com o uso de agentes inteligentes é identificado as ações válidas para o funcionamento dos mecanismos de gamificação (TEIXEIRA, 2014). Na finalização das pesquisas, um grafo é gerado para mostrar as fontes utilizadas na pesquisa (TEIXEIRA, 2014). Na Figura 5 pode ser visualizada a tela de pesquisa do usuário, contendo o conteúdo da pesquisa e os elementos de gamificação, os mesmo podem ser visualizados no canto superior

(28)

27 à esquerda, como: nível do jogador, avatar, pontuação e barra de progresso (de cima para baixo, respectivamente). À medida que o usuário realiza suas pesquisas através da aplicação ele avança na pontuação e de nível, conforme visto no canto superior esquerdo da Figura 5. Já na parte central, tem-se a página em que o usuário realiza suas pesquisas, esse mesmo resultado é apresentado se for realizado uma busca pelos navegadores de internet atuais.

Figura 5 - Aplicação MaRE

Fonte: Teixeira (2014).

A principal relação de Teixeira (2014) com a plataforma desenvolvida neste trabalho está no rastreamento das ações realizadas pelo usuário. Desta maneira, cada ação deve ser registrada, possibilitando identificar o aspecto motivacional dos usuários em relação a plataforma. Entretanto, no caso do MaRE o aspecto motivacional está relacionado ao processo de pesquisa e estudo na web.

2.4.2 Correlatos para a aplicação de integração

Esta subseção descreve dois trabalhos relacionados com a aplicação desenvolvida neste trabalho. O Swarm é uma aplicação que permite o compartilhamento de recomendações sobre estabelecimentos com a temática de jogo (SWARM, 2016). O segundo trabalho relacionado com a pesquisa é o Stack Overflow, que é um site de perguntas e respostas para desenvolvedores (STACK OVERFLOW, 2016).

Swarm (2016) é um serviço oferecido pela mesma equipe do Foursquare, no qual, pessoas ganham pontos durante a realização de um check in. O termo check in refere-se ao compartilhamento de informações sobre um determinado local para amigos em troca de algum benefício (SWARM, 2016). De acordo com Aguilar (2014), o Swarm é uma aplicação

(29)

28 disponível para dispositivos móveis com os sistemas operacionais iOS, Android e Windows Phone que permite o compartilhamento de locais dentro da sua rede social. Para Popper e Hamburguer (2014), o objetivo do Swarm é utilizar dados coletados nos check in de usuários para acurar as recomendações sobre locais.

Para Swarm (2016), o usuário da aplicação ganha moedas na realização de um check in, possibilitando que o mesmo reinvindique recompensas virtuais e participe do quadro de líderes com seus amigos. Na Figura 6 é apresentada a tela referente a classificação dos usuários (leaderboards), trazendo a mecânica de competição para seus usuários, onde são destacados aqueles que possuem maior quantidade de moedas na aplicação.

Figura 6 - Aplicação Swarm

Fonte: Swarm (2016).

Esta aplicação está relacionada com a pesquisa em questão na forma como é realizada a mecânica de competição entre os usuários. A mecânica de competição utilizada em ambos os trabalhos é a mesma, destacando os usuários com maior pontuação e com maior volume de interações com a aplicação.

Conforme Jin et al. (2015), o Stack Overflow é um site de perguntas e respostas, onde desenvolvedores de software compartilham informações para ajudar membros da comunidade sobre questões ou dúvidas relacionadas a linguagens de programação e tecnologia. Na Figura 7 é apresentado um exemplo da tela de perguntas e respostas do Stack Overflow. Embora seja muito comum associar elementos de jogos através do apelo estético, como pode ser observado

(30)

29 na figura, não é o caso do Stack Overflow onde na interface são apresentados os elementos de jogos como avatar e pontos de reputação. O avatar é exibido no rodapé do lado direito de cada mensagem que os usuários publicam e os pontos de reputação ficam evidenciados do lado esquerdo da mensagem.

Figura 7 - Stack Overflow

Fonte: Stack Overflow (2016).

De acordo com Jin et al. (2015), as atividades dentro do Stack Overflow são estimuladas através da aplicação de técnicas de gamificação direcionadas na obtenção de recompensas que influenciam na reputação e no status. Para Treude, Barzilay e Storey (2011), o Stack Overflow facilita a troca de conhecimento entre programadores, sendo que muitas vezes as respostas contidas em suas páginas conseguem substituir documentações oficiais.

A correlação existente entre Stack Overflow e a aplicação desenvolvida em conjunto com a plataforma está na mecânica utilizada no sistema de pontuação, onde os usuários ganham pontos ao responder dúvidas, como também ganham recompensas ao completar tarefas. Na aplicação desenvolvida os usuários obtêm mais pontos ao criar publicações e na avaliação da aplicação em si; outro conceito utilizado é a premiação com medalhas de bronze, prata e ouro dependendo da quantidade de publicações.

(31)

30 3 DESENVOLVIMENTO

Neste capítulo são apresentadas as informações pertinentes ao desenvolvimento da plataforma assim como da aplicação que se integra a mesma para validar a gamificação. Na seção 3.1 consta o levantamento de informações necessárias para a construção das aplicações criadas no trabalho, trazendo o fluxo de como cada uma deve funcionar e se comunicar. Na seção 3.2 são apresentados os diagramas de caso de uso; diagrama de classe e recursos das aplicações; a tabela de requisitos funcionais e não funcionais; regras de negócio e modelo entidade relacionamento. Na seção 3.3 é realizado o detalhamento do desenvolvimento, mostrando as tecnologias utilizadas durante o processo. Por fim, a seção 3.4 contêm os resultados obtidos na realização deste trabalho.

3.1 LEVANTAMENTO DE INFORMAÇÕES

O objetivo deste trabalho baseia-se no desenvolvimento de uma plataforma para validar o fator motivacional das pessoas usando a gamificação, tendo como critério analisar o engajamento dos usuários de um sistema gamificado. Além disso, foi necessário desenvolver uma aplicação que contenha funcionalidades com alguns elementos de gamificação e, que estes elementos fossem monitorados pela plataforma para possibilitar a validação do conceito.

Neste contexto, foi visto que a utilização de restful web services é possível atender esta necessidade, pois Pautasso, Zimmermann e Leymann (2008) descrevem que a criação de serviços que seguem os princípios da arquitetura REST exigem pouco esforço e são fáceis de implementar.

O desenvolvimento do sistema gamificado, baseado em sistemas PBL, inicia com a definição das ações em que os jogadores devem desempenhar (ZICHERMANN;

CUNNINGHAM, 2011). Com isso, devem ser descritas as propriedades da ação, assim como o objeto relacionado com a mesma e sua pontuação. Seguindo as orientações do autor, este processo continua com a definição das recompensas (ou insígnias), que são obtidas quando os jogadores cumprem os requisitos estabelecidos. Por fim, é necessário definir os níveis em que os jogadores devem conquistar de acordo com a sua pontuação (ZICHERMANN;

CUNNINGHAM, 2011).

Na plataforma desenvolvida, a criação de um sistema gamificado foi desenvolvida com a ajuda de formulários, listas e componentes web. Na Figura 8 pode ser observado como o processo de desenvolvimento do sistema gamificado acontece. Este processo inicia a partir da autenticação do usuário e a criação do sistema gamificado. O usuário pode iniciar o sistema gamificado cadastrando as ações que devem ser desempenhadas pelos seus jogadores e logo

(32)

31 após relacionar quais insígnias podem ser obtidas. Por último, o usuário deve configurar os níveis que os jogadores podem conquistar durante seu percurso no sistema gamificado.

Figura 8 - Criação do sistema gamificado

Fonte: elaborado pelo autor.

Embora a plataforma forneça meios de desenvolver e monitorar um sistema gamificado as atividades realizadas ainda dependem de uma aplicação externa. Diante dessa necessidade, a aplicação que se integra envia as informações das atividades dos jogadores à plataforma. Esta aplicação trata-se de um microblog onde os usuários podem criar suas publicações, bem como seguir outros usuários no âmbito de acompanhar o conteúdo de suas publicações. Segundo Liu et al. (2013), os microblogs se tornaram um dos tipos mais populares de redes sociais em escala global, onde milhares de usuários podem compartilhar conteúdo através de texto e multimídia.

A interação com esta aplicação inicia com o cadastro dos usuários, cujo processo é realizado através de uma conta do Facebook. Após esta etapa, o usuário tem acesso as funcionalidades de publicação e de relacionamento com outros usuários. Sobre as ações do usuário da aplicação, o mesmo pode gerar as suas próprias publicações, assim como visualizar as publicações dos outros que ele está seguindo.

Considerando-se a gamificação, a mesma fica evidente em algumas situações e recursos utilizados na aplicação desenvolvida, nos quais se destacam:

a) o usuário ganha pontos ao se cadastrar na aplicação;

(33)

32 b) o usuário ganha pontos ao criar novas publicações;

c) o usuário ganha pontos ao avaliar a aplicação;

d) existe um medidor de experiência do usuário, no qual, é acompanhado através de sua pontuação e nível relacionado;

e) coleção de conquistas obtidas são representadas através de medalhas.

Na Figura 9 é apresentado o fluxo de como a plataforma e a aplicação desenvolvida neste trabalho se comunicam, sendo possível observar que a aplicação depende da plataforma para o funcionamento da gamificação. Quando o usuário se cadastra na aplicação, as informações do mesmo devem ser enviadas para a plataforma, no qual vai ser representado como um jogador no sistema gamificado. No momento em que o usuário cria ou avalia a publicação no Social Hero, estas informações são enviadas a plataforma para ativar processos como pontuar jogadores, dar recompensas e organizar a classificação de jogadores.

Figura 9 - Integração da aplicação com a plataforma

Fonte: elaborado pelo autor.

O monitoramento e análise foram baseados nos elementos de gamificação PBL, trazendo a relação das interações dos jogadores com esses elementos. De acordo com Heilbrunn, Herzig e Schill (2014), esta forma de análise pode auxiliar no melhoramento do próprio sistema gamificado, verificando, por exemplo, o tempo em que um jogador levou para alcançar todos os níveis. Desta forma, a análise de gamificação na plataforma é exibida através de relatórios, nos quais são:

a) relatório de ações: contém uma tabela das ações cadastradas no sistema gamificado e o histórico, no período de 7 dias, da taxa de utilização em relação as

(34)

33 demais ações;

b) relatório de insígnias: contém a lista de insígnias cadastradas, com o número e percentual de jogadores que conseguiram conquistar cada insígnia;

c) relatório de níveis: contém a lista de níveis cadastrados, com o número e percentual de jogadores que conseguiram alcançar cada nível;

d) relatório de jogadores: contém a lista de jogadores registrados na plataforma, trazendo de forma resumida suas informações.

Conforme pode ser visualizado na Figura 10 o funcionamento da geração dos relatórios tem como base todos os eventos enviados para a plataforma, onde eles são beseados em uma ação previamente cadastrada na mesma. Cada evento enviado a plataforma é baseado em uma ação previamente cadastrada na plataforma. O registro de um evento impacta nos demais elementos. No caso das insígnias, a execução de uma ação reflete na reinvindicação de uma insígnia, na qual, deve ser verificado se todas as condições de obtenção foram alcançadas e então atribuídas ao jogador. No caso dos níveis, a execução da ação está relacionada na pontuação acumulada de um jogador, onde a soma de pontos das ações determinam seu nível.

Figura 10 - Geração dos relatórios de gamificação

Fonte: elaborado pelo autor.

3.2 ESPECIFICAÇÃO

Esta seção apresenta os Requisitos Funcionais (RF), os Requisitos Não Funcionais (RNF) da plataforma e da aplicação, o modelo de entidade relacionamento, o diagrama de caso de uso, diagrama de classes e a arquitetura utilizada. Desta forma, a subseção 3.2.1 está reservada para descrever a especificação da plataforma desenvolvida neste trabalho, sendo denominada Gamekeeper, e; a subseção 3.2.2 apresenta a especificação da aplicação que se comunica com a plataforma, denominada Social Hero.

(35)

34 3.2.1 Gamekeeper

Esta subseção descreve os RF, RNF e as Regras de Negócio (RN) da plataforma, o Diagrama de Casos de Uso (DCU), o Diagrama de Classes (DC) e o Modelo de Entidade Relacionamento (MER). No Quadro 1 é apresentado os RF previstos para a plataforma, bem como sua vinculação com os Casos de Uso (UC).

Quadro 1 - Requisitos Funcionais do Gamekeeper

Requisitos funcionais Caso de Uso

RF01: A plataforma deve permitir usuários acessarem através de e-mail e senha UC01

RF02: A plataforma deve manter usuários. UC02

RF03: A plataforma deve permitir ao usuário manter projetos de sistemas

gamificados. UC03

RF04: A plataforma deve permitir ao usuário anexar uma imagem nos seus

sistemas gamificados. UC03

RF05: A plataforma deve permitir ao usuário manter as ações de seus sistemas

gamificados. UC04

RF06: A plataforma deve permitir ao usuário personalizar as ações de seus

sistemas gamificados. UC04

RF07: A plataforma deve permitir ao usuário manter as insígnias de seus

sistemas gamificados. UC05

RF08: A plataforma deve permitir ao usuário personalizar as insígnias de seus

sistemas gamicados. UC05

RF09: A plataforma deve permitir ao usuário manter os níveis de seus sistemas

gamificados. UC06

RF10: A plataforma deve permitir ao usuário personalizar os níveis de seus

sistemas gamificados. UC06

RF11: A plataforma deve mostrar o relatório de ações, contendo o histórico

semanal da taxa de utilização de cada uma. UC07

RF12: A plataforma deve mostrar o relatório de insígnias, conténdo a

quantidade de jogadores que conseguiram conquistá-las. UC08 RF13: A plataforma deve mostrar o relatório de níveis, conténdo a quantidade

de jogadores que conseguiram alcançar cada nível. UC09

RF14: A plataforma deve permitir ao usuário visualizar os jogadores de seus

sistemas gamificados. UC10

RF15: A plataforma deve mostrar o relatório de jogadores, trazendo suas

conquistas e pontuação no projeto de sistema gamificado. UC10 RF16: A plataforma deve disponibilizar API para registrar jogadores na

plataforma. UC11

RF17: A plataforma deve disponibilizar API para manter atividades dos

jogadores na plataforma. UC12

RF18: A plataforma deve disponibilizar API para obter informações dos

jogadores de um projeto de sistema gamificado. UC13

RF19: A plataforma deve disponibilizar API para mostrar quadro de liderança

dos jogadores de um projeto de sistema gamificado. UC14

RF20: A plataforma deve permitir a autenticação de outras aplicações. UC15 Fonte: elaborado pelo autor.

(36)

35 O Quadro 2 apresenta os RNF previstos para a plataforma Gamekeeper.

Quadro 2 - Requisitos não funcionais do Gamekeeper Requisitos não funcionais

RNF01: A plataforma deve ser acessada através de um browser web.

RNF02: A plataforma deve utilizar banco de dados PostgreSQL.

RNF03: A plataforma deve estar hospedada no Heroku.

RNF04: A inscrição na plataforma é através de envio de e-mail com token de autorização.

RNF05: A construção da API foi baseada na arquitetura REST.

RNF06: Cada projeto de sistema gamificado deve conter um token na utilização da API.

RNF07: A camada de back-end foi feita com as ferramentas oferecidas pelo framework Ruby on Rails na versão 4.

RNF10: A camada de front-end foi feita com AngularJS e Bootstrap CSS.

RNF11: Para o desenvolvimento foi adotado o Visual Code Studio.

Fonte: elaborado pelo autor.

O Quadro 3 apresenta as RN previstas para a plataforma.

Quadro 3 - Regras de negócio do Gamekeeper Regras de negócio

RN01: A plataforma deverá permitir identificar projetos de sistemas gamificados de forma única.

RN02: A plataforma consiste de duas aplicações: o gamekeeper que mantém os projetos de sistemas gamificados, e; o gatekeeper que mantém os dados dos usuários da plataforma.

RN03: Cada usuário somente terá acesso aos seus projetos de sistemas gamificados.

Fonte: elaborado pelo autor.

A Figura 11 apresenta o diagrama de casos de uso com as funcionalidades oferecidas pelo Gamekeeper, mostrando desde a criação de sistemas gamificados, na perspectiva do usuário da plataforma. Para entendimento da plataforma, os principais casos de uso são detalhados no Apêndice A.

(37)

36 Figura 11 - Diagrama de casos de uso do Gamekeeper

Fonte: elaborado pelo autor.

A Figura 12 mostra as funcionalidades fornecidas pela API da plataforma, onde as aplicações externas podem obter informações de um sistema gamificado. A plataforma permite que este tipo de ator obtenha informações do sistema gamificado, registre os jogadores e as suas atividades. Para o uso das funcionalidades é necessário que a aplicação externa passe pelo processo de autenticação através de token.

(38)

37 Figura 12 - Diagrama de caso de uso da API do Gamekeeper

Fonte: elaborado pelo autor.

As principais classes criadas na implementação da plataforma e suas ligações podem ser visualizadas no diagrama de classe, onde pode ser observado os principais métodos utilizados. A nomeação dos métodos e algumas classes nesta especificação podem diferir do que é apresentado na subseção 3.3.2, pois o foco é apresentar as funcionalidades que a plataforma deve contemplar em relação ao design e monitoramento de sistemas gamificados.

As classes presentes na plataforma que podem ser visualizadas na Figura 13 são:

a) BaseController: classe base que recebe, processa e responde as chamadas de protocolo HTTP;

b) GameController: classe responsável pelo gerenciamento dos sistemas gamificados da plataforma;

c) ActionController: classe responsável pelo gerencimento das ações cadastrados nos sistemas gamififcados;

d) BadgeController: classe responsável pelo gerencimaneto das insígnias cadastrados nos sistemas gamficiados;

e) LevelController: classe responsável pelo gerenciamento dos níveis cadastrados nos sistemas gamificados;

f) DashboardController: classe responsável na exibição dos relatórios de gamificação;

(39)

38 g) ApiController: classe específica para as chamadas feitas na API da plataforma;

h) Api::PlayersController: classe para registrar jogadores e suas ações na plataforma, bem como retornar informações do mesmo;

i) Api::DashboardsController: classe para exibir o quadro de líderes de determinado sistema gamificado.

Figura 13 - Diagrama de classes da plataforma

Fonte: elaborado pelo autor.

Na Figura 14 pode ser visualizado o MER da plataforma e o dicionário de dados está descrito no Apêndice B, e; as tabelas contidas no modelo presentes na plataforma estão descritas abaixo:

a) users: contêm as informações dos usuários da plataforma, que são fornecidas através de chamadas na Gatekeeper;

b) games: contêm as informações dos sistemas gamificados cadastrados na plataforma;

c) actions: contêm as informações das ações cadastradas nos sistemas gamificados;

d) badges: contêm as informações das insígnias cadastradas nos sistemas gamificados;

e) levels: contêm as informações dos níveis cadastrados nos sistemas gamificados;

f) players: contêm as informações dos jogadores cadastrados nos sistemas gamificados;

g) player_badges: contêm todas as insígnias dos jogadores;

h) performed_actions e performed_actions_properties: contêm informações

(40)

39 das atividades realizadas pelos jogadores;

i) action_objects e object_properties: contêm informações complementares as ações disponíveis nos sistemas gamificados;

j) reward_conditions e reward_actions: contêm as condições que permitem os jogadores obter insígnias.

Figura 14 - Modelo de Entidade Relacionamento do Gamekeeper

Fonte: elaborado pelo autor.

3.2.2 Social Hero

Nesta subseção é apresentado os RF e RNF da aplicação que se comunica com a plataforma, sua rastreabilidade com os UC, o DCU, o DC e o MER. No Quadro 4 pode ser visualizado os RF previstos para o Social Hero, bem como sua vinculação com os casos de uso.

(41)

40 Quadro 4 - Requisitos funcionais do Social Hero

Requisitos funcionais Caso de Uso

RF01: A aplicação deve permitir ao usuário acessar a aplicação com uma conta do

Facebook. UC01

RF02: A aplicação deve permitir ao usuário manter publicações. UC02 RF03: A aplicação deve permitir ao usuário seguir outros usuários. UC03 RF04: A aplicação deve permitir ao usuário avaliar o Social Hero. UC04 RF05: A aplicação deve permitir ao usuário visualizar a classificação de usuários. UC05 Fonte: elaborado pelo autor.

O Quadro 5 apresenta os RNF previstos para o Social Hero.

Quadro 5 - Requisitos não funcionais do Social Hero Requisitos não funcionais

RNF01: A aplicação deve ser acessada através de um browser web, incluso para dispositivos móveis.

RNF02: A aplicação deve utilizar banco de dados PostgreSQL.

RNF03: A aplicação deve estar hospedada no Heroku.

RNF04: A inscrição na aplicação deve ser feita utilizando uma conta do Facebook.

RNF05: A construção da API foi baseada na arquitetura REST.

RNF06: A camada de back-end foi feita com as ferramentas oferecidas pelo framework Ruby on Rails na versão 4.

RNF07: Para desenvolvimento foi adotado o Visual Code Studio.

Fonte: elaborado pelo autor.

A Figura 15 apresenta o DCU do Social Hero. O usuário terá acesso a todas funcionalidades oferecidas na aplicação.

Figura 15 - Diagrama de casos de uso do Social Hero

Fonte: elaborado pelo autor.

(42)

41 As principais classes criadas na implementação da aplicação e suas ligações podem ser visualizadas no diagrama de classe conforme Figura 16. As classes são descritas conforme a seguir, apresentando seus principais atributos e métodos:

a) User: responsável por manter as informações do usuário da aplicação;

b) SessionsController: responsável em permitir controlar o controle das informações do usuário e seu acesso na aplicação;

c) Micropost: responsável por manter as informações das publicações;

d) MicropostsController: responsável por adicionar ou remover publicações:

e) Rate: responsável por manter as informações das notas dadas ao Social Hero;

f) RatesController: responsável por gerenciar as notas dadas no Social Hero.

g) GamekeeperApiConsumer: responsável por realizar a comunicação com a plataforma Gamekeeper quando um usuário se cadastra no Social, ou uma publicação é criada ou uma avaliação é feita pelo usuário que está logado.

Figura 16 - Diagrama de classes do Social Hero

Fonte: elaborado pelo autor.

Na Figura 17 pode ser visualizado o MER utilizado no Social Hero e suas ligações. As entidades e seus relacionamentos são descritos conforme a seguir:

a) users: contêm as informações do usuário da aplicação;

b) microposts: contêm as informações das publicações feitas pelos usuários;

c) relationships: contêm as informações de relacionamento dos usuários (seguidores e seguidos);

d) rates: contêm as informações referente as avaliações dos usuários;

(43)

42 Figura 17 - Modelo entidade e relacionamento do Social Hero

Fonte: elaborado pelo autor.

3.3 IMPLEMENTAÇÃO

Esta seção aborda detalhes técnicos e de funcionamento das aplicações desenvolvidas neste trabalho. A subseção 3.3.1 descreve as técnicas e ferramentas utilizadas na construção das aplicações, a subseção 3.3.2 apresenta a implementação das três aplicações desenvolvidas e a subseção 3.3.3 descreve o fluxo de funcionamento das mesmas.

3.3.1 Técnicas e ferramentas utilizadas

Esta subseção descreve as técnicas e as ferramentas utilizadas na implementação das aplicações desenvolvidas neste trabalho. As técnicas foram aplicadas em diferentes etapas durante a elaboração deste trabalho, nas quais são:

a) pesquisa na literatura: foi realizado uma revisão na literatura de forma mais detalhada nos assuntos citados na fundamentação do capítulo 2, tendo como objetivo buscar as referências necessárias para atender os objetivos definidos neste trabalho;

b) levantamento de requisitos: a partir das pesquisas na literatura, nesta etapa foram reavaliados os requisitos funcionais, requisitos não funcionais e as regras de negócio previamente definidos;

c) especificação e análise: nesta etapa buscou-se formalizar as funcionalidades da plataforma e da aplicação validadora. Esta etapa foi apoiada através da elaboração de diagramas de classe, diagramas de caso de uso e diagrama de atividades da Unified Modeling Language (UML), utilizando a ferramenta Astah Community.

Outro instrumento de apoio utilizado foi o MER e para a construção do mesmo foi utilizado a ferramenta DBDesigner 4;

d) implementação da plataforma: nesta etapa foi utilizado o framework Ruby on

Referências

Documentos relacionados

Key words: leishmaniasis - Leishmania mexicana - Lutzomyia columbiana - experimental infection - Colombia.. Leishmania (Leishmania) mexicana

Por outro lado, a atuação como Professional do Ensino da Matemática também ganha novos contornos, requer ainda mais compromisso com todo o processo, exige novas posturas e

Carolina do Norte (USA) até a Baía Campeche e Ilha Antigua; América Central até a Costa Rica, Brasil (Espírito Santo, Rio de Janeiro, São Paulo, Paraná, Santa Catarina, Rio Grande

Antes de ingressar na sociedade em 2014, trabalhou na “Raposo Subtil e Associados - Sociedade de Advogados, R.L.”, entre 2013 e 2014, e na “Nuno Cerejeira Namora, Pedro

Os tratamentos foram constituídos de: A - Retirada do primeiro cacho e poda apical acima do sétimo cacho; B - Retirada do primeiro cacho sem poda apical acima do sétimo cacho,

A recomendação para a cultura do trigo prescre- ve que, o controle das doenças do sistema radi- cular só é viável com a realização do pousio de inverno ou rotação com culturas

O canabidiol é um composto presente na planta Cannabis sativa, que promove diversos benefícios à saúde humana, como por exemplo sobre as doenças neurológicas como epilepsia,

Essa categoria é subdividida pelas funções que cada aditivo plastificante como, retardador de pega (PR), acelerador de pega (PA), caso não possua uma característica