universidade tecnolÓgica federal do paranÁ...

66
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ESPECIALIZAÇÃO EM TECNOLOGIA JAVA E DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS LEANDRO KIOSHI KIMURA DESENVOLVIMENTO DE SOFTWARE GERENCIADOR DE PARTIDAS DE FUTEBOL DIRECIONADO À ÁRBITROS MONOGRAFIA DE ESPECIALIZAÇÃO CURITIBA 2014

Upload: ngothu

Post on 09-Dec-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ESPECIALIZAÇÃO EM TECNOLOGIA JAVA E DESENVOLVIMENTO

PARA DISPOSITIVOS MÓVEIS

LEANDRO KIOSHI KIMURA

DESENVOLVIMENTO DE SOFTWARE GERENCIADOR DE PARTIDAS DE

FUTEBOL DIRECIONADO À ÁRBITROS

MONOGRAFIA DE ESPECIALIZAÇÃO

CURITIBA 2014

Page 2: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

2

LEANDRO KIOSHI KIMURA

DESENVOLVIMENTO DE SOFTWARE GERENCIADOR DE PARTIDAS DE FUTEBOL DIRECIONADO À ÁRBITROS

Monografia de especialização apresentada ao Curso de Especialização em Tecnologia Java e Desenvolvimento para Dispositivos Móveis da Universidade Tecnológica Federal

do Paraná como requisito parcial para a obtenção do título de especialista.

Orientador: Prof. Msc. Josivan Pereira de Souza

CURITIBA

2014

Page 3: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

3

AGRADECIMENTOS

Agradeço primeiramente à Deus por eu conseguir concluir o trabalho, e

segundo a minha esposa, Jaqueline, que sempre me apoiou durante todo o período

de desenvolvimento do projeto.

Agradeço também ao professor orientador, Josivan Pereira de Souza, que

sempre esteve disponível para esclarecer dúvidas referentes ao trabalho.

E por último, aos meus familiares, amigos e a todos aqueles que direta ou

indiretamente contribuíram para a realização do mesmo.

Page 4: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

4

RESUMO

Este trabalho aborda o desenvolvimento de uma aplicação móvel para controle de

eventos realizados durante uma partida de futebol.

Atualmente, em uma partida de futebol os árbitros e membros da mesa arbitrária não

utilizam recursos computacionais em tempo real para marcações de eventos que

acontecem durante uma partida de futebol. Toda esta ação é conduzida

manualmente por ambos, sendo necessária a verificação cruzada das informações

entre árbitro e mesa, para a elaboração do documento oficial com o resultado final, a

súmula.

Assim sendo, foi desenvolvida uma solução computacional com o objetivo de

gerenciar toda a partida. Esta solução é direcionada à dispositivos móveis que

utilizam o sistema operacional Android.

Palavras-chaves: Partida. Futebol. Árbitro. Android. Dispositivos móveis. Interface

Web. Desenvolvimento mobile.

Page 5: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

5

ABSTRACT

This work addresses the development of a mobile application for control of events

held during a football match.

Currently, in a football match referees and members of arbitrary table do not use

computing resources for real-time markings events that happen during a football

match. All this action is conducted manually by both the cross-checking of

information between referee and table, for the preparation of the official document

with the end result , a summary document.

Therefore, we developed a computational solution in order to manage the entire

match. This solution is targeted to mobile devices using the Android operating

system.

Keywords: Match. Football. Referee. Android. Mobile devices. Web interface. Mobile

development.

Page 6: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

6

LISTA DE ABREVIATURAS E SIGLAS

ADT: Android Development Tools (Ferramentas de desenvolvimento Android).

APK: Android application package file.(Arquivo de pacote de aplicação Android).

DVM: Dalvik Virtual Machine (Máquina Virtual Dalvik).

GUI: Graphical User Interface (Interface Gráfica do Usuário).

HTTP: HyperText Transfer Protocol (Protocolo de Transferência de HiperTexto)

IDE: Integrated Development Environment (Ambiente Integrado de

Desenvolvimento).

JSON: JavaScript Object Notation (Notação de Objetos JavaScript).

NCSA: National Center for Supercomputing Applications (Centro Nacional de

aplicações para super computadores).

PHP: Personal Home Page (Página Pessoal).

SDK: Software Development Kit (Kit de Desenvolvimento de Software).

SGBD: Sistema Gerenciador de Banco de Dados.

SMS: Short Message Service (Serviço de mensagem curta)

RAD: Rapid Application Development (Desenvolvimento de aplicação rápida)

RDBMS: Relational Database Management System (Sistema de gerenciamento de

banco de dados relacional)

REST: Representation State Transfer (Técnica de Engenharia de Software usado

para sistemas Distribuídos).

SOAP: Simple Object Access Protocol ( Protocolo de acesso de objeto simples)

URI: Uniform Resource Identifier (Identificador Padrão de Recurso)

Page 7: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

7

URL: Uniform Resource Locator (Localizador-Padrão de Recurso)

XML: eXtensible Markup Language (Linguagem de marcação extensivel)

Page 8: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

8

LISTA DE FIGURAS

Figura 1 - Porcentagem de uso Android por versão. .................................................................... 14

Figura 2 - Ilustração de como uma Intent implícita é entregue por meio do sistema para

iniciar outra atividade. ........................................................................................................................ 17

Figura 3 - Arquitetura Android. ......................................................................................................... 19

Figura 4 - Exemplo de estrutura JSON. .......................................................................................... 23

Figura 5 - Exemplo de código PHP. ................................................................................................ 25

Figura 6 - Súmula da partida - 01. ................................................................................................... 33

Figura 7- Súmula da partida - 02. .................................................................................................... 34

Figura 8 - Imagens do aplicativo "I, Referee". ............................................................................... 36

Figura 9 - Imagens do aplicativo ―Referee Assistant‖. .................................................................. 37

Figura 10 - Imagens do aplicativo ―Whistle‖. .................................................................................. 37

Figura 11 - Diagrama de fluxo básico do aplicativo "Soccer Referee". ..................................... 41

Figura 12 - Diagrama de caso de uso do aplicativo Android ―Soccer Referee‖. ...................... 44

Figura 13 - Diagrama de caso de uso da aplicação Web. ........................................................... 44

Figura 14 - Diagrama de classe do aplicativo "Soccer Referee". ............................................... 45

Figura 15 - Modelagem de dados do aplicativo Android "Soccer Referee". ............................. 46

Figura 16 - Modelagem de dados da aplicação Web. .................................................................. 46

Figura 17 - Ícone "Soccer Referee". ................................................................................................ 47

Figura 18 - Splash Screen do aplicativo "Soccer Referee". ........................................................ 48

Figura 19 - Tela de Login do aplicativo "Soccer Referee". .......................................................... 48

Figura 20 - Tela principal do aplicativo "Soccer Referee". ........................................................... 49

Figura 21 - Tela de cronômetro do aplicativo "Soccer Referee". ................................................ 50

Figura 22 - Tela de cartão amarelo do aplicativo "Soccer Referee" . ........................................ 51

Figura 23 - Tela de cartão vermelho do aplicativo "Soccer Referee". ....................................... 52

Figura 24 - Tela de registro de gols do aplicativo "Soccer Referee". ......................................... 53

Figura 25 - Tela de substituição do aplicativo "Soccer Referee". ............................................... 54

Figura 26 - Tela de súmula do aplicativo "Soccer Referee". ....................................................... 55

Figura 27 - Tela de login da aplicação Web. .................................................................................. 56

Figura 28 - Tela de registro da aplicação Web. ............................................................................. 57

Figura 29 - Tela de consulta de partida. ......................................................................................... 58

Figura 30 - Tela de serviço JSON. .................................................................................................. 59

Page 9: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

9

LISTA DE QUADROS E TABELAS

Tabela 1 - Comparação de aplicativos pesquisados e suas funcionalidades........................38

Tabela 2 – Comparativo entre funcionalidades dos aplicativos pesquisados........................61

Page 10: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

10

SUMÁRIO

1. INTRODUÇÃO ............................................................................................................................ 13

1.1. JUSTIFICATIVA ..................................................................................................................... 13

1.2. OBJETIVOS ............................................................................................................................ 13

1.2.1. Objetivo Geral ................................................................................................................... 13

1.2.2. Objetivo Específico .......................................................................................................... 13

1.3. METODOLOGIA ..................................................................................................................... 14

1.4. APRESENTAÇÃO ................................................................................................................. 15

2. REVISÃO DA LITERATURA ................................................................................................... 16

2.1. SISTEMA OPERACIONAL ANDROID ............................................................................... 16

2.1.1. R.java ................................................................................................................................... 16

2.1.2. Activities ............................................................................................................................. 16

2.1.3. Intents .................................................................................................................................. 17

2.1.4. Fragments .......................................................................................................................... 18

2.1.5. Layout .................................................................................................................................. 18

2.2. ARQUITETURA ANDROID .................................................................................................. 19

2.3. GOOGLE PLAY...................................................................................................................... 20

2.4. SQLITE .................................................................................................................................... 21

2.5. WEB SERVICES .................................................................................................................... 21

2.6. FORMATO JSON DE MENSAGENS ................................................................................. 22

2.7. ARQUITETURA REST .......................................................................................................... 23

2.8. IDE ECLIPSE .......................................................................................................................... 24

2.9. ANDROID SDK ....................................................................................................................... 24

2.10. INTERNACIONALIZAÇÃO .............................................................................................. 25

2.11. LINGUAGEM DE PROGRAMAÇÃO PHP ..................................................................... 25

2.12. SERVIDOR APACHE ........................................................................................................ 26

2.13. CONSIDERAÇÕES FINAIS DESTE CAPÍTULO ......................................................... 26

3. FUTEBOL .................................................................................................................................... 27

3.1. HISTÓRIA DO FUTEBOL ..................................................................................................... 27

3.2. O INÍCIO .................................................................................................................................. 27

3.3. SÍNTESE DO FUTEBOL ....................................................................................................... 28

3.4. REGRAS DO FUTEBOL DE CAMPO ................................................................................ 29

Page 11: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

11

3.4.1. O campo de futebol.......................................................................................................... 29

3.4.2. Dimensões de campo de futebol .................................................................................. 29

3.4.3. Dimensões do gol ............................................................................................................ 29

3.4.4. A bola de futebol .............................................................................................................. 30

3.4.5. Os jogadores ..................................................................................................................... 30

3.4.6. Equipamentos dos jogadores ....................................................................................... 30

3.4.7. O árbitro de futebol .......................................................................................................... 30

3.4.8. Duração da partida ........................................................................................................... 31

3.4.9. Impedimento ...................................................................................................................... 31

3.4.10. Faltas ............................................................................................................................... 31

3.4.11. Cartões ............................................................................................................................ 31

3.4.12. Arremesso lateral ......................................................................................................... 32

3.4.13. Tiro de meta ................................................................................................................... 32

3.4.14. Escanteio ........................................................................................................................ 32

3.4.15. O vencedor ..................................................................................................................... 32

3.5. SÚMULA .................................................................................................................................. 32

3.6. CONSIDERAÇÕES FINAIS SOBRE O FUTEBOL .......................................................... 35

4. TRABALHOS CORRELATOS ................................................................................................. 36

4.1. APLICATIVO “I, REFEREE” ............................................................................................... 36

4.2. APLICATIVO “REFEREE ASSISTANCE” ........................................................................ 36

4.3. APLICATIVO “WHISTLE” .................................................................................................... 37

4.4. CONSIDERAÇÕES FINAIS DESTE CAPÍTULO ............................................................. 38

5. SISTEMA DE GERENCIAMENTO DE PARTIDAS DE FUTEBOL ................................... 40

5.1. ARQUITETURA ...................................................................................................................... 40

5.2. REQUISITOS FUNCIONAIS ................................................................................................ 41

5.2.1. Logar no Sistema ............................................................................................................. 41

5.2.2. Registrar Infrações .......................................................................................................... 41

5.2.3. Remover Infrações ........................................................................................................... 41

5.2.4. Controlar tempo de partida ............................................................................................ 42

5.2.5. Registrar pontuação ........................................................................................................ 42

5.2.6. Remover pontuação ........................................................................................................ 42

5.2.7. Carregar dados da súmula ............................................................................................ 42

5.3. REQUISITOS NÃO-FUNCIONAIS ...................................................................................... 42

5.3.1. Requisito não funcional 01 ............................................................................................ 42

Page 12: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

12

5.3.2. Requisito não funcional 02 ............................................................................................ 43

5.3.3. Requisito não funcional 03 ............................................................................................ 43

5.3.4. Requisito não funcional 04 ............................................................................................ 43

5.3.5. Requisito não funcional 05 ............................................................................................ 43

5.3.6. Requisito não funcional 06 ............................................................................................ 43

5.4. DIAGRAMA DE CASO DE USO ......................................................................................... 43

5.5. DIAGRAMA DE CLASSES .................................................................................................. 45

5.6. DIAGRAMA DE MODELAGEM DE DADOS ..................................................................... 45

5.7. FUNCIONAMENTO DO SISTEMA ..................................................................................... 47

5.8. INTERFACE DO APLICATIVO ANDROID ........................................................................ 47

5.8.1. Ícone .................................................................................................................................... 47

5.8.2. Tela de apresentação ...................................................................................................... 47

5.8.3. Tela de login ...................................................................................................................... 48

5.8.4. Tela principal ..................................................................................................................... 49

5.8.5. Tela de cronômetro .......................................................................................................... 49

5.8.6. Tela de cartão amarelo.................................................................................................... 50

5.8.7. Tela de cartão vermelho ................................................................................................. 51

5.8.8. Tela de gol .......................................................................................................................... 52

5.8.9. Tela de substituição ........................................................................................................ 53

5.8.10. Tela de súmula .............................................................................................................. 54

5.9. INTERFACE WEB.................................................................................................................. 55

5.9.1. Tela de login da aplicação Web. ................................................................................... 56

5.9.2. Tela de registro de dados da aplicação Web. ........................................................... 56

5.9.3. Tela de consulta da aplicação Web. ............................................................................ 57

5.9.4. Tela de serviço JSON da aplicação Web. .................................................................. 58

5.10. CONSIDERAÇÕES FINAIS ............................................................................................. 60

6. CONCLUSÃO ............................................................................................................................. 61

6.1. TRABALHOS FUTUROS ..................................................................................................... 62

6.2. APLICAÇÃO MOBILE .......................................................................................................... 62

6.3. APLICAÇÃO WEB ................................................................................................................. 62

6.4. OUTROS DISPOSITIVOS .................................................................................................... 63

7. REFERÊNCIAS BIBLIOGRÁFICAS ....................................................................................... 64

Page 13: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

13

1. INTRODUÇÃO

O presente trabalho destaca a importância da utilização de ferramentas de

controle de partidas de futebol, com foco em estudo de automatização de processos

que hoje são feitos manualmente, auxiliando árbitros e membros de arbitragem.

Os eventos ocorridos durante uma partida de futebol, tais como cartões amarelos

e vermelhos, substituições de jogadores e registro de gols, serão coletados em

tempo real por meio do aplicativo, tanto pelo árbitro quanto pela mesa arbitrária, e

no final da partida será gerada a súmula de jogo contendo todas as informações

coletadas.

1.1. JUSTIFICATIVA

O conceito deste software surgiu de um interesse na área esportiva,

especificamente na prática do futebol. Por meio da participação em campeonatos, foi

observada a necessidade da automatização do processo que atualmente é feito de

forma manual, o que pode resultar em falhas no processo, beneficiando ou

prejudicando equipes pela divergência dos dados.

1.2. OBJETIVOS

1.2.1. Objetivo Geral

O objetivo geral é automatizar o processo de controle de partidas de futebol.

1.2.2. Objetivo Específico

Como objetivos específicos temos :

a criação de uma GUI (Graphical User Interface) para o sistema operacional

Android, para que o usuário possa manusear o software desenvolvido.

Page 14: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

14

Além disso:

Pode ser gerado um relatório final, chamado de súmula, para que as partidas

sejam devidamente registradas, assinadas e arquivadas pelas partes

interessadas.

1.3. METODOLOGIA

O presente projeto baseia-se em pesquisas inter-pessoais junto a árbitros e

membros de arbitragem, os quais mostraram interesse na automatização dos

processos de registro de eventos ocorridos durante uma partida de futebol, que

atualmente é feito de forma manual.

Para o desenvolvimento do aplicativo foi utilizado o ambiente de desenvolvimento

Eclipse, com plugin SDK (Software Development Kit) , que possue as bibliotecas

necessárias para desenvolvimento, depuração e teste de aplicações a serem

executadas no sistema operacional Android. O software foi desenvolvido para ser

aplicado na versão 4.1 ou superior, pois conforme Figura 1, é a versão que possui o

maior número de dispositivos ativos. A implementação foi testada no aparelho

Motorola Razr i XT890.

Figura 1 - Porcentagem de uso Android por versão.

Fonte: Android Developer, 2014.

Para o armazenamento de dados foi utilizado o Sistema Gerenciador de Banco

de Dados (SGBD) SQLite, por ser um SGBD Open Source.

Page 15: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

15

E por fim, para o consumo de informações foi utilizado JSON como forma de

recuperar os dados por meio de um servidor, com o objetivo de popular os campos

da súmula e disponibilizá-la para a equipe de arbitragem, por ser um web-service de

fácil manutenção e eficiente.

1.4. APRESENTAÇÃO

Este trabalho está dividido em seis capítulos. No Capítulo 1 está a introdução

que apresenta a justificativa e os objetivos gerais e específicos. Também, está

presente, a metodologia aplicada, de maneira resumida, e a organização geral do

trabalho.

No Capítulo 2, está a revisão das literaturas das tecnologias móveis e sua

relevância nos dias atuais.

Seguindo no Capítulo 3, é apresentada as diversas tecnologias e ferramentas

utilizadas neste trabalho, incluindo o ambiente de desenvolvimento, banco de dados

e web services, e também o kit de desenvolvimento Android SDK, que foram

utilizados no desenvolvimento do aplicativo Android.

No Capítulo 4 são apresentados alguns aplicativos móveis que estão

relacionados à área esportiva, especificamente o futebol.

Finalmente, no Capítulo 5 é apresentada a solução desenvolvida, e a

metodologia aplicada, assim como a arquitetura, interfaces da aplicação e suas

funcionalidades.

Por último, no Capítulo 6 está presente a conclusão, sendo apresentado os

principais resultados e as possibilidades de trabalhos futuros relacionados.

Page 16: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

16

2. REVISÃO DA LITERATURA

Este capítulo descreve a revisão da literatura, para as tecnologias utilizadas para

o desenvolvimento do software, os quais serão descritos nas seguintes seções:

2.1. SISTEMA OPERACIONAL ANDROID

O Android é um sistema operacional para dispositivos móveis do Google,

baseado em uma plataforma de código aberto, no qual permite que os fabricantes de

smartphones ou aparelhos que possuam sistema operacional Android, modifiquem

seu código fonte, dando a liberdade para que novos recursos sejam implementados

constantesmente. O sistema operacional Android está disponível em mais de 190

países ao redor do mundo. É a maior base instalada de qualquer plataforma móvel e

a cada dia mais de um milhão de usuários ligam seus dispositivos para utilizarem

aplicativos, jogos e outros conteúdos digitais. O sistema operacional Android é

composto de vários artefatos que fazem parte da arquitetura do sistema

operacional. Dentre estes artefatos existem alguns que estão explicitamente ligados

ao desenvolvimento. Em relação aos itens usados para o desenvolvimento, temos a

classe R.java. [ANDROID DEVELOPERS,2014].

2.1.1. R.java

A classe R.java é um arquivo gerado automaticamente ao criar um aplicativo

Android. Ela contém identificadores únicos (números normalmente de 32 bits) para

elementos em cada categoria (drawable, string, layout, color, etc) de recursos

(elementos sob o diretório res) disponíveis em sua aplicação android. O principal

objetivo do arquivo R.java é a acessibilidade rápida de recursos no projeto. Se

qualquer recurso tenha sido removido ou adicionado ao projeto, o arquivo R.java

será atualizado automaticamente, isto pode ser feito por meio do plugin ADT no

Eclipse. Outro artefato relacionado ao desenvolvimento é a Activity. [ANDROID

DEVELOPERS,2014]

2.1.2. Activities

Uma Activity é um componente de aplicação que fornece ao usuário uma tela

na qual o usuário pode interagir, sendo discando, enviando e-mail, visualizando

Page 17: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

17

fotos, entre outros. Uma aplicação geralmente consiste em uma relação de várias

Activities, tendo em vista que cada Activity pode acionar uma próxima Activity

preservando a atividade em uma pilha. Outro artefato não menos importante é o

Intent. [ANDROID DEVELOPERS,2014]

2.1.3. Intents

As Intents representam uma ação que a aplicação deseja executar, ou seja, a

intenção da aplicação realizar determinada tarefa. Pode-se utilizar uma Intent para

abrir uma nova tela da aplicação, interceptar mensagens de SMS (Short Message

Service), abrir o browser em uma determinada URL, entre outras, conforme Figura

2.

Figura 2 - Ilustração de como uma Intent implícita é entregue por meio do sistema para iniciar outra atividade.

Fonte: ANDROID DEVELOPER, 2014.

A Atividade A cria uma Intent com uma descrição da ação e passa para

startActivity (). [2] O sistema Android pesquisa todos os aplicativos para um filtro da

Intent que coincide com outra Intent. Quando for encontrada uma correspondência,

[3] o sistema inicia a atividade de correspondência (Atividade B) invocando o método

onCreate () e passando-a Intent. [ANDROID DEVELOPERS,2014]

O método startActivity(Intent intent) envia dados e requisições de telas, o

método getIntent() recupera uma intent enviada por meio do startActivity(), o método

putExtra(―chave‖, valor) insere na Intent algum valor, ou seja, o primeiro parâmetro é

Page 18: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

18

um nome para que possa ser identificado mais tarde e o segundo parâmetro um

valor que pode ser String, boolean, int, float, etc. O getStringExtra(―chave‖) pode

recurar, por exemplo, uma String inserido na Intent por meio do putExtra(―chave‖,

valor).

O conceito de chave-valor é utilizado por meio da interface Map, que não

estende a interface Collection, em vez disso, tem sua própria hierarquia de interfaces

e classes que são utilizadas para gerenciar associações entre chaves e elementos.

[MENDES, 2011]

2.1.4. Fragments

Um Fragment representa um comportamento de uma parte da interface de

usuário em uma atividade. Permite combinar múltiplos fragmentos em uma única

atividade para construir uma interface de usuário e reutilizar um fragmento em

múltiplas atividades . Permite pensar em um fragmento como uma seção modular de

uma atividade, que tem seu próprio ciclo de vida, recebe os seus próprios eventos

de entrada, e que você pode adicionar ou remover enquanto a atividade está em

execução (como uma espécie de "sub atividade", que permite reutilizar em diferentes

atividades) . [ANDROID DEVELOPERS,2014]

2.1.5. Layout

Um layout define a estrutura visual para a interface do usuário, tais como a

interface do usuário para uma atividade ou widget (programas leves, na maioria das

vezes que se tornam ―atalhos‖ para serviços e utilidades) do aplicativo . No Android

é possível declarar um layout de duas maneiras: a primeira é por meio de XML que

corresponde à visão de classes e subclasses, tais como os de widgets e layouts. A

outra forma é instanciando os elementos em tempo de execução, no qual o

aplicativo cria seus Views e ViewGroup e manipula suas propriedades de

programação. [ANDROID DEVELOPERS,2014]

Page 19: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

19

2.2. ARQUITETURA ANDROID

O sistema operacional Android, foi desenvolvido com base no kernel do Linux.

Pode-se dividir esta arquitetura em 4 níveis ou camadas, conforme Figura 3:

Figura 3 - Arquitetura Android.

Fonte: ANDROID DEVELOPERS, 2014.

Na primeira camada, está a base da pilha, ou seja, o Kernel. Nesta mesma

camada encontramos os programas de gerenciamento de memória, configurações

de segurança e vários drivers de hardware. Em seguida, estão as camadas de

bibliotecas (Libraries) e tempo de execução (Android Runtime). A primeira é um

conjunto de instruções que dizem ao dispositivo como lidar com diferentes tipos de

dados, incluindo um conjunto de biblioteca C / C++ usadas por diversos

componentes do sistema e são expostas a desenvolvedores por meio da estrutura

de aplicativo Android. Já a camada de tempo de execução inclui um conjunto de

bibliotecas do núcleo Java (Core Libraries) [ANDROID DEVELOPERS,2014].

Page 20: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

20

Para desenvolver aplicações para o Android, os programadores utilizam a

linguagem de programação Java, nesta camada encontraremos a Máquina Virtual

Dalvik (DVM), que é muito importante por algumas razões: as aplicações são

independentes, ou seja, caso alguma aplicação deixe de funcionar corretamente,

não afetará as demais simplificando assim o gerenciamento de memória. A próxima

camada é a camada de framework da aplicação (Application Framework), que é a

primeira camada que os desenvolvedores tem acesso, tendo disponível um conjunto

de artefatos básicos com o qual poderão construir artefatos mais complexos. E por

fim, na última camada, está a camada de aplicação, por meio da interação entre o

usuário e o dispositivo móvel, o qual encontram-se diversos aplicativos como de e-

mail, SMS (Short Message Service), calendário, mapas, navegador, contatos entre

outros.

Para o armazenamento de aplicativos Android há várias lojas, dentre elas, a loja

oficial é o Google Play que será visto a seguir.

2.3. GOOGLE PLAY

Google Play Store é a loja oficial do Android, na qual estão disponíveis diversos

os aplicativos destinados à plataforma. Conhecida anteriormente como Android

Market, vários aplicativos estão na loja como jogos, redes sociais, mensageiros,

corporativo, entretenimento, navegadores, segurança e fotografia, além da venda e

aluguel de filmes online e livros digitais.

O serviço permite a instalação de aplicativos remotamente, atualizar

automaticamente, avaliar e comentar sobre os aplicativos e sugere novos títulos com

base nas suas preferencias de aplicativos e jogos. A loja permite ao usuário

personalizar sua experiência de leitura, compartilhar livros e encontrar diversos e-

books do mundo ou assistir aos seus filmes favoritos.

A sincronização na nuvem possibilita que o conteúdo esteja disponível na Web e

em seus dispositivos Android. Em artigo, Steve Caniano, 2013, fala sobre a

evolução da cloud móvel e o impacto em aplicativos e profissionais de tecnologia. ―A

crescente adoção de aplicativos como serviço impacta o gasto de capital. Embora

não seja um jogo de compensações de perdas e ganhos, já estamos vendo os

avanços que a computação em nuvem está fazendo em relação aos gastos de

Page 21: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

21

capital alocados à infraestrutura tradicional de TI. As empresas estão seriamente

considerando a compra de serviços sob demanda no lugar da compra de

equipamentos físicos (ex: servidores, racks, switches de rede, PCs), de licenças de

software e de contratos de manutenção. Esta mudança não se limita somente às

nuvens públicas, mas também às privadas, com um número crescente de empresas

preferindo pagar por X-as-a-service na forma de um serviço sob demanda, em seus

próprios centros de dados ou nos de um provedor. Isso pode ser resumido como

uma tendência rumo a um modelo de negocio que favorece despesas incorridas com

operações ao invés de gastos de capital. Reciprocamente, fornecedores de serviços

de nuvem estão se tornando grandes clientes de fornecedores de hardware e

software.‖ [CANIANO, 2013].

2.4. SQLITE

O SQLite, é uma base de dados leve e poderosa, que cada dia mais se

populariza na comunidade de TI, principalmente para desenvolvedores de aplicativos

móveis, devido sua leveza e perfomance que estão entre os requisítos para este tipo

de dispositivos. O SQLite foi desenvolvido em linguagem C, que implementa um

amplo subconjunto do standard SQL 92, sendo a sua reputação proveniente da

combinação do motor de base de dados com a interface dentro de uma única

biblioteca. As aplicações que usam SQLite podem ter assim acesso a uma base de

dados racional SQL, sem a necessidade de correrem processos RDBMS (relational

database management system) em separado e sem grandes overheads. O SQLite

foi desenvolvido em 2000 e é atualmente uma base de dados amplamente adoptada

em dispositivos móveis, suportando até 2 TB de dados [LECHETA, 2013 ].

2.5. WEB SERVICES

O objetivo do uso de Web Service é expor uma aplicação como um serviço para

clientes na Web, independentemente da aplicação do cliente e seu ambiente de

execução. Uma das características mais importantes de um Web Service é a

interoperabilidade, significando um menor acoplamento dos serviços, que permite

que máquinas e usuários de sistemas distribuídos sejam fundamentalmente

independentes e ainda interajam de forma limitada quando isto for necessário.

[NETO, 2006].

Page 22: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

22

Um Web Service é considerado também uma aplicação de software, que

identificado por uma URI, cuja interface e atribuição são definidas, descritas e

descobertas por meio de artefatos XML o qual suporta interação direta com outras

aplicações de software utilizando mensagens XML via internet . [NETO, 2006]

Os Web Services usam os protocolos padrões, como HTTP, XML e SOAP, este

último sendo cada vez mais aceito como o padrão básico para a troca de

informações utilizando a internet.

2.6. FORMATO JSON DE MENSAGENS

JSON (JavaScript Object Notation - Notação de Objetos JavaScript) é uma

formatação leve de troca de dados. Para seres humanos, é fácil de ler e escrever.

Para máquinas, é fácil de interpretar e gerar. Está baseado em um subconjunto da

linguagem de programação JavaScript, Standard ECMA-262 3a Edição -Dezembro -

1999. JSON é em formato texto e completamente independente de linguagem, pois

usa convenções que são interpretáveis às linguagens C e familiares, incluindo C++,

C#, Java, JavaScript, Perl, Python e muitas outras. Estas propriedades fazem com

que JSON seja um formato ideal de troca de dados. [JSON, 2014].

JSON está constituído em duas estruturas:

Uma coleção de pares nome/valor. Em várias linguagens, isto é caracterizado

como um object, record, struct, dicionário, hash table, keyed list, ou arrays

associativas.

Uma lista ordenada de valores. Na maioria das linguagens, isto é caracterizado

como uma array, vetor, lista ou sequência.

Estas são estruturas de dados universais. Virtualmente todas as linguagens de

programação modernas as suportam, de uma forma ou de outra. É aceitavel que um

formato de troca de dados que seja independente de linguagem de programação se

baseie nestas estruturas.

Em JSON, os dados são apresentados desta forma:

Um objeto é um conjunto desordenado de pares nome/valor. Um objeto começa

com { (chave de abertura) e termina com } (chave de fechamento). Cada nome é

Page 23: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

23

seguido por : (dois pontos) e os pares nome/valor são seguidos por ―,‖ (vírgula).

[JSON, 2014].

Exemplo, conforme Figura 4, para criar um menu baseado nas informações

disponibilizadas por meio do formato JSON:

{"menu": {

"id": "arquivo",

"value": "Arquivo",

"popup": {

"menuitem": [

{"value": "Novo", "onclick": "CreateNewDoc()"},

{"value": "Abrir", "onclick": "OpenDoc()"},

{"value": "Fechar", "onclick": "CloseDoc()"}

]

}

}

}

Figura 4 - Exemplo de estrutura JSON.

Fonte: JSON.ORG, 2014.

2.7. ARQUITETURA REST

REST é um acrônimo para "Transferência de Estado Representacional"

(Representational State Transfer). O termo REST foi defenido por Roy Fielding em

sua tese de doutorado no qual ele descreve um estilo de arquitetura de software

sobre um sistema operado em rede.

Page 24: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

24

REST nada mais é que um conjunto de princípios que definem como Web

Standards como HTTP e URIs devem ser usados (o que freqüentemente difere um

pouco do que muitos atualmente fazem). A promessa é que se for aderido os

princípios REST enquanto estiver desenhando sua aplicação, se tenha um sistema

que explora a arquitetura da Web e seu benefício.

2.8. IDE ECLIPSE

O Eclipse é um IDE (Integrated Development Environment) conhecido mais

comumente para desenvolvimento em Java, no entanto, por meio de plug-ins, ele

pode ser usado para desenvolver aplicações em várias linguagens, como C/C++,

Python, PHP e inclusive para a plataforma Android [DEVMEDIA ECLIPSE, 2014].

Diferente de uma RAD, na qual o objetivo é desenvolver o mais rápido possível

utilizando o arrastar-e-soltar do mouse, gerando muitos códigos automaticamente;

uma IDE que auxilia no desenvolvimento, de maneira não intrusiva [CAELUM, 2014].

2.9. ANDROID SDK

O Android SDK (Software Development Kit) fornece as bibliotecas de API e as

ferramentas necessárias para construir, desenvolver, testar e depurar aplicativos

para o Android. Sempre que o Google lança uma nova versão do Android, um SDK

correspondente também é lançado. Sendo assim, o desenvolvedor que pretende

usufruir dos últimos recursos da versão lançada, deve baixar e instalar o SDK para

cada versão em particular [ANDROID SDK, 2014].

As aplicações Android são escritas em linguagem de programação Java, portanto

as ferramentas do Android SDK compilam o código, e após reunir todos os arquivos

associados, geram um arquivo .apk. Este arquivo com extensão apk é uma

aplicação que pode ser instalada em qualquer dispositivo executando sistema

operacional Android. Outra funcionalidade importante é o SDK Manager que permite

efetuar download dos pacotes de ferramentas necessárias para desenvolver os

aplicativos [ANDROID DEVELOPER, 2014].

Page 25: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

25

2.10. INTERNACIONALIZAÇÃO

A internacionalização de software cria, em um aplicativo, suporte a várias

localidades, na qual a localidade (locale) significa ―[um] subconjunto de ambiente de

usuários que define convenções para uma cultura específica‖, geralmente incluindo

o idioma. [IBM, 2014]

Internacionalização e localização, em informática, são processos de

desenvolvimento e/ou adaptação de um produto, em geral softwares de

computadores, para uma língua e cultura de um país. A internacionalização de um

produto não fabrica o produto novamente, somente adapta as mensagens do

sistema à língua e à cultura locais. Isto é importante porque permite que o

desenvolvedor de software respeite as particularidades de cada língua e cultura de

cada país. [IMASTERS, 2014].

2.11. LINGUAGEM DE PROGRAMAÇÃO PHP

PHP (um acrônimo recursivo para PHP: Hypertext Preprocessor) é uma

linguagem de script open source de uso geral, muito utilizada e especialmente

guarnecida para o desenvolvimento de aplicações Web embútivel dentro do HTML.

[PHP.NET, 2014]

Por ser uma linguagem simples e rápida, o PHP é capaz de satisfazer as

necessidades de programadores iniciantes e até mesmo ser sofisticado o bastante

para satisfazer as necessidades de programadores profissionais.

Na Figura 5, será apresentado um código na linguagem de programação PHP:

<?php

echo "Olá, Eu sou um script PHP!";

?>

Figura 5 - Exemplo de código PHP.

Fonte: PHP.NET, 2014.

Page 26: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

26

Este pedaço de código apresenta ao usuário a mensagem ―Olá, Eu sou um script

PHP!‖. E a vantagem é que este pedaço de código pode ser inserido junto ao código

HTML, facilitando a implentação de diversas funcionalidades.

2.12. SERVIDOR APACHE

O servidor Apache (ou Servidor HTTP Apache, em inglês: Apache HTTP Server,

ou simplesmente: Apache) é o mais bem sucedido servidor web livre. Foi criado em

1995 por Rob McCool, então funcionário do NCSA (National Center for

Supercomputing Applications). [APACHE HTTP, 2014].

É a principal tecnologia da Apache Software Foundation, responsável por mais

de uma dezena de projetos envolvendo tecnologias de transmissão via web,

processamento de dados e execução de aplicativos distribuídos. [APACHE

FOUNDATION, 2014].

Suas funcionalidades são mantidas por meio de uma estrutura de módulos,

permitindo inclusive que o usuário escreva seus próprios módulos — utilizando a API

do software.

É disponibilizado em versões para os sistemas Windows, Novell Netware, OS/2

e diversos outros do padrão POSIX (Unix, Linux, FreeBSD, etc.). [APACHE

FOUNDATION, 2014].

2.13. CONSIDERAÇÕES FINAIS DESTE CAPÍTULO

Neste capítulo, foram revisados alguns conceitos sobre a tecnologia referente ao

sistema operacional Android, bem como sua arquitetura e funcionalidades

disponíveis, que foi utilizada para realizar o desenvolvimento do aplicativo.

Também foram descritas linguagens de programação e ferramentas utilizadas e

que facilitaram a construção e o desenvolvimento da aplicação.

O próximo capitulo aborda mais sobre uma partida de futebol.

Page 27: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

27

3. FUTEBOL

Este capítulo descreve a história do futebol, bem como sua origem e suas regras.

3.1. HISTÓRIA DO FUTEBOL

A história moderna do futebol tem cerca de 150 anos. Tudo começou

precisamente no ano de 1863, quando na Inglaterra se separaram o "rugby-football"

e a "Association Football", para fundar a mais antiga do mundo: A "Football

Association".

Os dois tipos de jogo tinham praticamente as mesmas raizes. Conhecemos desta

pré-história pelo menos uma dezena de fatos diferentes divulgados pelos meios de

comunicação. Evidentemente, as vezes pode-se contestar certas deduções, mas

algumas coisas são claras: a "bola" se jogava com os pés a pelo menos 1000 anos

atrás e não existe nenhum motivo para considerar o jogo com o pé como sua forma

secundária degenerada do jogo "natural" com as mãos. [HISTÓRIA-DO-FUTEBOL,

2014].

3.2. O INÍCIO

Apesar da necessidade de ter que lutar com todo o corpo (incluindo também

pernas e pés) pela "Bola" em um grande tumulto geral sem regras, parece que, no

começo, se considerava uma coisa extremamente dificil e, por tanto, muito hábil,

dominar a bola com o pé. A forma mais antiga, que se pode considerar como

demonstração deste ponto de vista "cientifico", representa a tal prova de habilidade.

[HISTÓRIA-DO-FUTEBOL, 2014].

Mais precisamente na época da dinastia de Han, havia um livro de instruções

militar no qual figura, parte dos exercicios fisicos, o Tsuh Kuh. Uma bola de couro

enxertada com plumas e pelos teria que ser lançada com o pé a uma pequena rede,

com uma abertura de 30 a 40 cm, cercada de varas de bambu. Uma mostra de

habilidade que requeria seguramente muita destreza e técnica. [HISTÓRIA-DO-

FUTEBOL, 2014].

Outra versão seria a qual os jogadores estavam obstaculizados no caminho até a

meta, podendo jogar a bola com pés, peito e ombros, menos com as mãos, tendo

Page 28: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

28

que salvar os ataques da equipe contraria. De modo que a técnica artistica da bola

dos jogadores atuais não é uma coisa tão nova como muitas vezes se supõe.

Do Oriente provem outra forma diferente, a uns 500 a 600 anos mais tarde e que

se joga todavia, ainda hoje. É um tipo de futebol em circulo, menos espetacular, más

digno e solene. É um exercicio cerimonial, que também exige certa habilidade. Em

uma superficie relativamente pequena, os "jogadores" teem que passar a bola uns

aos outros sem ter que deixar cair no chão. [HISTÓRIA-DO-FUTEBOL, 2014].

Muito mais animados eram os "Epislciros" gregos, da qual se sabe relativamente

pouco, e os "Harpastum" romano.

Os romanos tinham uma bola e duas equipes jogando em um terreno retangular,

limitado com linhas de marcação e dividido com uma linha mediana. A bola teria que

ser lançada atrás da linha de marcação do adversario. [HISTÓRIA-DO-FUTEBOL,

2014].

Este esporte foi muito popular entre os anos 700 e 800. Os romanos introduziram

este jogo na Bretanha e pode ser considerado como precursor do futebol,

igualmente o "Hurling", que era muito popular entre a população Celta e que se

pratica, ainda hoje, em Cornwell na Irlanda. De todas as maneiras, o jogo "decisivo"

que hoje conhecemos, tem sua origem na Inglaterra e Escocia. [FIFA, 2005]

3.3. SÍNTESE DO FUTEBOL

O futebol é um dos esportes mais populares no mundo. Praticado em centenas

de países, este esporte desperta tanto interesse em função de sua forma de disputa

atraente. Embora não se tenha muita certeza sobre os primórdios do futebol,

historiadores descobriram vestígios dos jogos de bola em várias culturas antigas.

Estes jogos de bola ainda não eram o futebol, pois não havia a definição de regras

como há hoje, porém demonstram o interesse do homem por este tipo de esporte

desde os tempos antigos. [HISTÓRIA-DO-FUTEBOL, 2014].

O futebol tornou-se tão popular graças a seu jeito simples de jogar. Basta uma

bola, equipes de jogadores e as traves, para que, em qualquer espaço, crianças e

adultos possam se divertir com o futebol. Na rua, na escola, no clube, no campinho

Page 29: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

29

do bairro ou até mesmo no quintal de casa, desde cedo jovens de vários cantos do

mundo começam a praticar o futebol [FIFA,2005].

3.4. REGRAS DO FUTEBOL DE CAMPO

3.4.1. O campo de futebol

No futebol o campo tem o formato retangular com superfície verde formada por

grama natural ou artificial. O campo é composto de linhas brancas para

demarcações, essas linhas delimitam áreas, como a área do gol e das laterais. Uma

linha é atravessada de forma perpendicular ao centro das linhas laterais de modo a

dividir o campo em duas partes iguais, e essa linha é chamada de linha de meio

campo e é feita de ponto de onde o jogo deve começar e possui um círculo em seu

centro.. As traves do gol ficam nas duas laterais menores. Ainda existem quartos de

círculo nos quatro vértices do campo, nas quais a bola será colocada para as

cobranças de escanteio (tiro de canto) [CBF, 2013].

3.4.2. Dimensões de campo de futebol

As dimensões de um campo de futebol estão dispostas a seguir:

Comprimento (linha lateral): mínimo 90 m máximo 120 m

Largura (linha de meta): mínima 45 m máxima 90 m

Para partidas internacionais pedem-se as seguintes medidas: Comprimento

(linha lateral): mínimo 100 m máximo 110 m /Largura (linha de meta): mínima 64

m máxima 75 m. (CBF, 2013)

3.4.3. Dimensões do gol

As dimensões do gol estão dispostas da seguite forma:

7,32m de comprimento de uma trave à outra

2,44m de altura do travessão ao solo. [CBF, 2013]

Page 30: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

30

3.4.4. A bola de futebol

A bola de futebol pode ser considerado o objeto mais importante dentro de uma

partida. Para isto, ela deve seguir determinadas características que estão listadas a

seguir:

Formato: esférica; circunferência não superior a 70 cm e não inferior a 68 cm

Material: de couro ou qualquer outro material adequado

Peso: não superior a 450 g e não inferior a 410 g no começo da partida

Pressão: 8.5 a 15.6 libras [CBF, 2013].

3.4.5. Os jogadores

Uma partida de futebol se inicia com duas equipes formadas por 11 jogadores

mais um goleiro para cada equipe. O time, como é chamado uma equipe, pode

realizar até 3 substituições de seus jogadores que estão em campo por jogadores

que estão no banco de reservas. Cada equipe deverá ter de 3 a 7 jogadores

reservas. Para realizar a substituição o árbitro deve parar o jogo por um tempo [CBF,

2013].

3.4.6. Equipamentos dos jogadores

Agasalho ou camisa; calção; meiões; caneleiras cobertas pelos meiões;

chuteira.

As duas equipes devem usar cores que as diferenciem entre si e também do

juiz e de seus dois assistentes (bandeirinhas) e cada goleiro ainda deverá usar cores

para seu uniforme que o diferencie de todos os demais participantes do jogo [CBF,

2013].

3.4.7. O árbitro de futebol

Tem a função de gerenciar o jogo, ou seja, por meio de seu tradicional apito ele

inicia a partida, para jogadas, marca faltas e comanda todo o jogo com a ajuda de

seus assistentes [CBF, 2013].

Page 31: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

31

3.4.8. Duração da partida

A partida é dividida em dois tempos de 45 minutos com um intervalo de 15

minutos entre eles. A cada tempo é acrescido a critério do juiz o tempo que foi

perdido em substituições, avaliação de lesão de jogadores, transporte dos jogadores

lesionados para fora do campo de jogo para atendimento, perda de tempo ou

qualquer outro motivo constatado pelo juiz [CBF, 2013].

3.4.9. Impedimento

Um impedimento ocorre quando o jogador estiver mais próximo da linha de

fundo adversária do que a bola e o penúltimo adversário. Não será marcado

impedimento quando o jogador estiver no meio-campo de sua equipe, quando

estiver na mesma linha do penúltimo adversário ou na mesma linha dos dois últimos

adversários. A posição de impedimento é caracterizada no momento em que a bola

é tocada por um de seus companheiros [CBF, 2013].

3.4.10. Faltas

As faltas ocorrem quando um jogador tenta tomar a bola de outro de maneira

errada cometendo assim a falta. Também é caracterizada falta quando houver toque

de mão intencional na bola. As faltas são marcadas em tiro livre contra a equipe que

cometeu a infração [CBF, 2013]

3.4.11. Cartões

Cartão Amarelo: Usado para advertir um jogador que cometeu uma falta um

pouco mais agressiva, e que a segunda falta do mesmo tipo será penalizada com

cartão vermelho.

Cartão Vermelho: O jogador recebe quando já tem um cartão amarelo por falta

cometida anteriormente, e ele é expulso do jogo. Ou caso o árbitro interprete que a

infração cometida seja de uso excessivo de força, e assim expulsa o jogador sem a

necessidade do cartão amarelo, dando a ele o cartão vermelho diretamente [CBF,

2013].

Page 32: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

32

3.4.12. Arremesso lateral

O arremesso lateral será cobrado com as mãos e ocorre quando a bola

ultrapassa as linhas de forma completa pelas linhas laterais maiores do campo [CBF,

2013].

3.4.13. Tiro de meta

É o chute cobrado pelo goleiro, e ocorre quando um jogador do time oposto

chuta a bola e ela ultrapassa os limites laterais menores do campo [CBF, 2013].

3.4.14. Escanteio

É marcado a favor de um time quando um jogador adversário chutar a bola de

forma que ela ultrapasse as linhas laterais menores do seu lado do campo [CBF,

2013].

3.4.15. O vencedor

Um jogo de futebol pode ser vencido pela equipe que fizer mais gols, ou,

quando empatado, pode ser vencido na questão das regras de gols fora de casa,

pela prorrogação ou ainda pela cobrança de pênaltis [CBF, 2013].

3.5. SÚMULA

Na área esportiva, as súmulas são documentos descritivos sobre o resultado,

envolvidos, condições e ocorrências de uma partida desportiva, mais comumente no

futebol e futsal, elaboradas pelos árbitros [AULETE, 2014].

A seguir será exibida por meio das Figuras 6 e 7, a súmula de jogo a qual foi

usada como base para retirar as informações necessárias no desenvolvimento do

aplicativo.

Page 33: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

33

Figura 6 - Súmula da partida - 01.

Fonte: FFERJ, 2014.

Page 34: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

34

Figura 7- Súmula da partida - 02.

Fonte: FFERJ, 2014.

Page 35: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

35

3.6. CONSIDERAÇÕES FINAIS SOBRE O FUTEBOL

Não é de hoje que o futebol é um esporte popular e que atrai milhões de

pessoas. O futebol é considerado o esporte nacional aqui no Brasil, e movimenta

milhões de reais em campeonatos estaduais e nacionais. O futebol também é um

esporte que tem suas regras consolidadas mundialmente, o que facilita a

implantação de um aplicativo que gerencie os eventos ocorridos durante a partida.

No próximo capitulo serão mostrados alguns trabalhos correlatos, que

servirão como base de comparação para com a aplicação desenvolvida.

Page 36: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

36

4. TRABALHOS CORRELATOS

Este capitulo trata de aplicativos relacionados a controle de partidas de futebol

que já estão disponíveis na loja Google Play para download. Porém muitos deles

não contemplam funcionalidades capazes de gerenciar uma partida oficial de futebol,

visto que possuem limitações funcionais.

4.1. APLICATIVO “I, REFEREE”

O aplicativo chamado ―I, Referee‖ (Figura 8) mostra os cartões amarelo e

vermelho quando ocorre alguma infração durante a partida. Também é possível

emitir o som do apito do árbitro caso ocorra a infração, podendo ser emitido uma

vez, duas ou três vezes seguidas, de acordo com a infração cometida.

Figura 8 - Imagens do aplicativo "I, Referee".

Fonte: GOOGLE PLAY, 2014 .

4.2. APLICATIVO “REFEREE ASSISTANCE”

Outro aplicativo relacionado é o ―Referee Assistant‖ (Figura 9), que oferece a

opção da marcação de cartões amarelo ou vermelho, porém podendo ser adicionado

o número do atleta infrator. O aplicativo também conta com o cronômetro

responsável pelo controle de tempo de partida, bem como um placar para marcar a

ocorrência dos gols efetuados durante a partida.

Page 37: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

37

Figura 9 - Imagens do aplicativo “Referee Assistant”.

Fonte: GOOGLE PLAY, 2014 .

4.3. APLICATIVO “WHISTLE”

O aplicativo ―Whistle‖ (Figura 10), conta com um sistema de cronômetro para

controle de tempo de partida, e trabalha também com eventos ocorridos durante a

mesma, tais como gols, impedimentos, cartões, etc.

Figura 10 - Imagens do aplicativo “Whistle”.

Fonte: GOOGLE PLAY, 2014 .

Page 38: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

38

4.4. CONSIDERAÇÕES FINAIS DESTE CAPÍTULO

Considerando o resultado das pesquisas, foram encontrados vários aplicativos,

com funcionalidades distintas, porém todos com o intuito de gerenciar uma partida

de futebol. Entretanto, o primeiro software citado, está limitado a marcar apenas

infrações. Não há uma funcionalidade para marcar o tempo de jogo, nem mesmo

anotar o número e motivo pelo qual o jogador infrator recebeu o cartão.

O segundo software citado, chamado ―Referee Assistance‖, também está

limitado a registrar as infrações somente com o número do jogador infrator, não

sendo possível registrar o tempo de jogo decorrido no momento da infração e nem o

motivo pelo qual a infração foi registrada.

Para finalizar, no último software citado, chamado ―Whistle‖, no registro efetuado

pelo mesmo, não consta número de jogador e motivo. Este aplicativo mostra apenas

os eventos ocorridos durante a partida, e assim como os aplicativos anteriores,

possuem limitações considerando uma partida completa.

Após todas as informações serem devidamente coletadas e filtradas, referente

aos aplicativos citados anteriormente, a Tabela 1, foi gerada com o intuito de facilitar

a comparação entre os aplicativos, e verificar quais funcionalidades estão sendo

abrangidas para cada um deles.

Nesta tabela estão sendo apresentadas as principais funcionalidades disponíveis

em cada aplicativo.

Tabela 1 - Comparação de aplicativos pesquisados e suas funcionalidades.

Fonte: autoria própria.

Page 39: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

39

Na Tabela 1, temos o quadro ―Funcionalidade/Aplicativo‖ estão descritas

todas as funcionalidades de cada aplicativo, e nas colunas seguintes, estão

descritos os nomes dos aplicativos, seguidos da marcação de um ―X‖, nas linhas em

que os aplicativos contemplam tal funcionalidade.

A seguir será descrito cada funcionalidade detalhadamente:

Cronometro

o Para esta funcionalidade, será controlado o início e fim da partida,

juntamente com os minutos de acréscimo concedido pelo árbitro.

Anotação de cartão amarelo / vermelho

o Esta funcionalidade é responsável pelo registro de cartão

amarelo/vermelho quando um jogador é atuado pelo árbitro.

Mostrar cartão amarelo / vermelho

o Nesta funcionalidade, o cartão amarelo/vermelho será mostrado ao

jogador que cometeu a infração.

Emitir som de apito

o A função ―Emitir som de apito‖ é responsável por simular um som de

apito sempre que a funcionalidade for acionada.

Marcação de gols

o Nesta função, o árbitro poderá registrar os gols marcados no decorrer

da partida, juntamente com o número do jogador que efetuou o gol e o

tempo da partida.

Registro de substituições

o No registro de substituições, o árbitro indicará o número do jogador

que está entrando e o número do jogador que está saindo de campo.

Page 40: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

40

5. SISTEMA DE GERENCIAMENTO DE PARTIDAS DE FUTEBOL

Este capitulo descreve a arquitetura utilizada na implementação do aplicativo,

bem como seus requisitos e as telas de interface web e interface do aplicativo

Android.

5.1. ARQUITETURA

O sistema proposto contém duas interfaces, a primeira é uma interface Web

responsável pelo cadastro dos dados referente a partida, bem como registro de

equipe de arbitragem, e a segunda sendo uma interface gráfica para o sistema

operacional Android, em que o usuário deve entrar com informações referentes a

eventos da partida de futebol. Com estas informações, ao final da partida, o cliente

enviará informações para um servidor remoto, utilizando web service, e este por sua

vez processará as informações, retornando para o cliente se as informações obtidas

por meio do árbitro e da equipe de arbitragem estão coerentes ou não.

Existem dois papéis na perspectiva do aplicativo, são eles: árbitro e mesa

abitrária. Ambos terão acesso a todas as funcionalidades do aplicativo, sendo que

apenas as informações de login serão utilizadas para efetuar a equiparação de

dados e envio final das informações coletadas no decorrer da partida.

Ao final da partida, os dados coletados serão enviados para um servidor de

aplicação e equiparados, no qual os mesmos serão persistidos e estarão disponíveis

para registro e impressão das partes interessadas e consultas futuras.

Na Figura 11, é apresentado um diagrama com as funcionalidades básicas do

aplicativo:

Page 41: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

41

Figura 11 - Diagrama de fluxo básico do aplicativo "Soccer Referee".

Fonte: autoria própria.

5.2. REQUISITOS FUNCIONAIS

Os requisitos funcionais descrevem os serviços que o sistema deve oferecer e

suas "funções", quando da finalização da implementação, e qual o comportamento

esperado de acordo com as informações fornecidas pelo árbitro e mesa arbitrária.

Os requisitos estão apresentados nas seguintes seções:

5.2.1. Logar no Sistema

O sistema deverá permitir que árbitro e a equipe de arbitragem possuam

usuários e senhas, para que as informações de ambas as partes sejam identificadas

por meio do login. Isto é realizado por meio de um sistema de Login/Senha.

5.2.2. Registrar Infrações

O sistema deverá permitir o registro de infrações acrescidas de cartão amarelo

ou vermelho para o jogador que cometer algum tipo de ação julgada incorreta pela

arbitragem.

5.2.3. Remover Infrações

O sistema deverá permitir a exclusão de infrações uma vez que a mesma tenha

sido marcada erroneamente pela equipe de arbitrágem.

Page 42: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

42

5.2.4. Controlar tempo de partida

O sistema deverá permanecer zerado ao inicio de cada partida, disponibilizando

ao árbitro e a equipe de arbitragem a função para iniciar, pausar e reiniciar o tempo

de partida, além de fazer o cálculo do acréscimo do tempo extra.

5.2.5. Registrar pontuação

O sistema deverá permitir o registro de gols para as equipes durante a partida,

tendo selecionado o número do atleta e o tempo de jogo decorrido no momento do

gol.

5.2.6. Remover pontuação

O sistema deverá possibilitar a exclusão do gol marcado uma vez que o mesmo

tenha sido registrado erroneamente.

5.2.7. Carregar dados da súmula

O Sistema deverá carregar os dados na súmula, tais como o nome das equipes,

horário da partida, local da partida, nome dos integrantes de arbitragem e os demais

eventos ocorridos e registrados durante a partida.

5.3. REQUISITOS NÃO-FUNCIONAIS

Requisitos não-funcionais são os requisitos relacionados ao uso da aplicação

em termos de desempenho, usabilidade, confiabilidade, segurança, disponibilidade,

manutenibilidade e tecnologias envolvidas. A partir da Seção 5.3.1, estão listados

os requisitos não funcionais para este sistema.

5.3.1. Requisito não funcional 01

Sistema será desenvolvido na linguagem Java de modo a ser compatível com o

sistema operacional Android.

Page 43: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

43

5.3.2. Requisito não funcional 02

Será criado um documento contendo casos de uso, diagrama de classes,

diagrama de modelagem de dados e demais diagramas, como também informações

sobre o código fonte.

5.3.3. Requisito não funcional 03

A interface do sistema deverá ser agradável, objetiva e trivial ao usuário. Suas

funcionalidades e informações deverão estar bem intuitivas ao usuário.

5.3.4. Requisito não funcional 04

O sistema deverá estar disponível durante 99,9% do tempo.

5.3.5. Requisito não funcional 05

Para persistência de dados será utilizado o sistema gerenciador de banco de

dados SQLite. Por ser um software livre, haverá uma considerável diminuição dos

custos.

5.3.6. Requisito não funcional 06

O sistema não apresentará ao usuário quaisquer dados privados,por exemplo

senha de login.

5.4. DIAGRAMA DE CASO DE USO

No diagrama de casos de uso (Figura 12), são descritos os requisitos funcionais

propostos para o aplicativo Android.

Page 44: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

44

Figura 12 - Diagrama de caso de uso do aplicativo Android “Soccer Referee”.

Fonte: autoria própria.

E na Figura 13 são descritos os requisitos funcionais para a aplicação Web.

Figura 13 - Diagrama de caso de uso da aplicação Web.

Fonte: autoria própria.

Page 45: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

45

5.5. DIAGRAMA DE CLASSES

No diagrama de classes, apresentado na Figura 14, estão presentes as

funcionalidades propostas para o aplicativo. No diagrama a seguir é possível notar

que a modelagem dos dados, bem como as funções criadas foram feitas para

atender as necessidades do sistema. Para possibilitar uma melhor performance da

aplicação, foi utilizado o banco de dados que é embutido no aplicativo.

Figura 14 - Diagrama de classe do aplicativo "Soccer Referee".

Fonte: autoria própria.

5.6. DIAGRAMA DE MODELAGEM DE DADOS

Modelar significa criar um modelo que explique as características de

funcionamento e comportamento de um software a partir do qual ele será criado,

facilitando seu entendimento e seu projeto, por meio das características principais

que evitarão erros de programação, projeto e funcionamento [DEVMEDIA

MODELAGEM, 2014].

Page 46: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

46

A modelagem de dados referente ao aplicativo Android, está representada na

Figura 15.

Figura 15 - Modelagem de dados do aplicativo Android "Soccer Referee".

Fonte: autoria própria.

Para a aplicação Web, foi utilizada a modelagem de dados que está

representada na Figura 16.

Figura 16 - Modelagem de dados da aplicação Web.

Fonte: autoria própria.

Page 47: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

47

5.7. FUNCIONAMENTO DO SISTEMA

O funcionamento do Sistema ―Soccer Referee‖ conta com a interface criada para

o sistema operacional Android.

Esta interface e suas funcionalidades são descritas nas próximas seções por

meio de suas telas, mostrando cada uma com sua respectiva descrição.

5.8. INTERFACE DO APLICATIVO ANDROID

As telas do aplicativo são de navegação intuitiva, comparados aos demais

aplicativos citados, uma vez que a disposição dos ícones e desenhos auto

explicativos estão dispostos na tela de forma organizada, conforme imagens a

seguir.

5.8.1. Ícone

Como figura principal, temos o ícone contendo um árbitro de futebol e um

conjunto de cartões, amarelo e vermelho, dando ênfase a funcionalidade do

aplicativo, conforme Figura 17.

Figura 17 - Ícone "Soccer Referee".

Fonte: autoria própria.

5.8.2. Tela de apresentação

Inicialmente, temos a chamada Splash Screen ou Tela de Apresentação, que é

exibida ao abrir um aplicativo no qual é dada ênfase nos cartões amarelo e

vermelho, junto com um apito referenciando a equipe de arbitragem, tendo

sobrescrito o nome do aplicativo sob os cartões, vide Figura 18.

Page 48: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

48

Figura 18 - Splash Screen do aplicativo "Soccer Referee".

Fonte: autoria própria.

5.8.3. Tela de login

A tela de login é composta por campo de usuário e senha, número de

tentativas e botão de login, e pode ser visualizada na Figura 19.

Figura 19 - Tela de Login do aplicativo "Soccer Referee".

Fonte: autoria própria.

Page 49: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

49

5.8.4. Tela principal

Ao carregar a página principal, estão dispostos ícones referentes a

funcionalidades para gerenciar uma partida de futebol. No canto superior esquerdo,

há um ícone de um cronômetro, que permite controlar o início e fim da partida. No

canto superior direito, há um ícone de uma súmula, cuja a função é coletar todos os

dados vindos dos outros eventos da partida, e gerar a súmula final de jogo.

Separados por Home Team e Away Team, estão os cartões amarelo e vermelho,

que representam a marcação de infrações, ícones de uma bola de futebol, utilizados

para a marcação de gol e ícone de duas flechas, que representam a substituição de

atletas. Estes detalhes podem ser visualizados na Figura 20.

Figura 20 - Tela principal do aplicativo "Soccer Referee".

Fonte: autoria própria.

5.8.5. Tela de cronômetro

A tela de cronômetro, exibe o início e fim da partida. Nesta tela há um botão de

Start que inicia a contagem, Stop que interrompe o tempo quando necessário, e

Reset que zera o cronometro, conforme Figura 21.

Page 50: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

50

Figura 21 - Tela de cronômetro do aplicativo "Soccer Referee".

Fonte: autoria própria.

5.8.6. Tela de cartão amarelo

A tela de registro de cartão amarelo, registra o número do jogador e o motivo da

infração. Quando registrado, o tempo de jogo também é salvo com os demais dados,

vide Figura 22.

Page 51: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

51

Figura 22 - Tela de cartão amarelo do aplicativo "Soccer Referee" .

Fonte: autoria própria.

5.8.7. Tela de cartão vermelho

A tela de registro de cartão vermelho, assim como a tela de cartão amarelo,

registra o número do jogador e o motivo da infração. Quando registrado, o tempo de

jogo também é salvo com os demais dados, vide Figura 23.

Page 52: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

52

Figura 23 - Tela de cartão vermelho do aplicativo "Soccer Referee".

Fonte: autoria própria.

5.8.8. Tela de gol

A tela de registro de gols é composta pelo campo de número e um botão. O

usuário seleciona o número do jogador e ao registrar o gol, o tempo é adicionado ao

lado do número do jogador, conforme Figura 24.

Page 53: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

53

Figura 24 - Tela de registro de gols do aplicativo "Soccer Referee".

Fonte: autoria própria.

5.8.9. Tela de substituição

A tela de substituição é composta pelos números dos jogadores que irão sair e

que irão entrar. Nesta tela, apresentada na Figura 25, o usuário deverá selecionar o

número do atleta que está saindo de campo e o número do atleta que está entrando

em campo.

Page 54: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

54

Figura 25 - Tela de substituição do aplicativo "Soccer Referee".

Fonte: autoria própria.

5.8.10. Tela de súmula

Esta tela, conforme Figura 26, reúne todos os dados de jogo, como local de jogo,

horário de início do jogo, equipes que irão se enfrentar, entre outras informações

relevantes para a realização do jogo, bem como os demais dados coletados durante

a partida, para que sejam salvos e enviados para um servidor remoto.

Page 55: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

55

Figura 26 - Tela de súmula do aplicativo "Soccer Referee".

Fonte: autoria própria.

5.9. INTERFACE WEB

A interface Web foi desenvolvida com o intuito de ser simples, prática e

funcional. Seu objetivo principal, é coletar os dados referentes a partida de futebol,

bem como os nomes dos árbitros responsáveis pela mesma. Após processamento,

as informações serão disponibilizadas por meio de um web service que retorna

dados no formato JSON, que deverá ser consumido pela aplicação Android.

A seguir serão apresentadas as imagens referentes a aplicação Web.

Page 56: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

56

5.9.1. Tela de login da aplicação Web.

Na figura 27, está apresentada a tela de login da aplicação Web, na qual

somente usuários autorizados terão acesso as demais telas da aplicação.

Figura 27 - Tela de login da aplicação Web.

Fonte: autoria própria.

5.9.2. Tela de registro de dados da aplicação Web.

Nesta tela, apresentada na Figura 28, serão apresentados os dados

referentes a partida de futebol, e os dados referentes a equipe de arbitragem.

O usuário deve preencher todos os campos, uma vez que os mesmos são

mandatórios, e salvar os registros que foram inseridos no banco de dados.

Page 57: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

57

Figura 28 - Tela de registro da aplicação Web.

Fonte: autoria própria.

5.9.3. Tela de consulta da aplicação Web.

A tela de consulta da aplicação, apresentada na Figura 29, é responsável por

mostrar as informações cadastradas anteriormente na tela de registro. Nela é

possível verificar informações importantes relacionadas a partida e a equipe de

arbitragem.

Page 58: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

58

Figura 29 - Tela de consulta de partida.

Fonte: autoria própria.

5.9.4. Tela de serviço JSON da aplicação Web.

A tela representada na Figura 30, representa as informações cadastradas

anteriormente, porém já disponíveis em formato JSON, que será utilizada na

aplicação Android para o consumo de informações referente a partida de futebol e a

equipe de arbitragem selecionada para esta partida.

Page 59: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

59

{

"futebol":[

{"campeonato":"Brasileiro",

"jogo":"Coritiba x Parana",

"data":"25\/08\/2014",

"horario":"16:00",

"estadio":"Couto Pereira",

"UF":"PR"}],

"arbitragem":[

{"arbitro":"Josival Pereira",

"arbitro1":"Roberto Dinamite",

"arbitro2":"Arnaldo Cesar Coelho",

"quartoarbitro":"Rodrigo Oliveira",

"quintoarbitro":"Rafael Vazques",

"delegado":"Marcio Garcia"}

]

}

Figura 30 - Tela de serviço JSON.

Fonte: autoria própria.

Page 60: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

60

5.10. CONSIDERAÇÕES FINAIS

Neste capítulo foram apresentadas a arquitetura utilizada para o sistema Web e

para o aplicativo Android, bem como seus requisitos, suas telas e os diagramas

utilizados para o desenvolvimento do aplicativo.

No capítulo seguinte, será abordada a conclusão do projeto e algumas

melhorias que poderão ser implementadas em projetos futuros.

Page 61: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

61

6. CONCLUSÃO

O objetivo principal deste trabalho foi desenvolver um aplicativo que seja

utilizado como ferramenta gerenciadora de uma partida de futebol, sendo utilizada

por árbitro e equipe de arbitragem, afim de coletar dados durante a partida e reuní-

los em um lugar comum, chamado súmula, servindo esta como documento final

contendo todo o histórico e resultado oficial da partida.

O intuito do aplicativo é fornecer um fácil manuseio para o árbitro e equipe de

arbitragem, uma vez que o mesmo deve ser utilizado durante a partida, portanto a

interface deve ser simplificada e intuitiva.

Durante o desenvolvimento do projeto foram pesquisados diversos documentos,

artigos e regulamentos relacionadosa partidas de futebol, a regras de arbitragem,incluse

tendo contatos frequentes com árbitros profissionais, afim de coletar informações para o

desenvolvimento do aplicativo.

O fator motivacional decisivo para escolha do tema, foi automatizar uma prática que é

efetuada manualmente até os dias atuais, e por consequência tornar o trabalho da

equipe arbitragem ágil e consistente.

Como base de comparação, foi utilizada uma tabela contendo o aplicativo

desenvolvido e os aplicativos pesquisados durante desenvolvimento do projeto. A

Tabela 2, representa cada aplicativo com suas devidas funcionalidades.

Tabela 2 – Comparativo entre funcionalidades dos aplicativos pesquisados

Page 62: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

62

Conforme descrito na seção 4.4, foram detalhadas algumas das funcionalidades

dos aplicativos estudados. Como diferencial do aplicativo ―Soccer Referee‖, foi

adicionada uma nova funcionalidade conforme descrição a seguir:

Súmula

o A súmula é a principal funcionalidade do aplicativo, a qual é

responsável por reunir todos os dados coletados durante a partida em

uma mesma tela.

6.1. TRABALHOS FUTUROS

Consideração as características da plataforma Android, utilizada para a solução e

implementação para dispositivos móveis, e a definição de escopo e modelo

apresentado neste trabalho, é possível a visualização de melhorias que podem ser

implementadas.

Tais melhorias podem ser classificados como a aplicação em si e os dispositivos

disponíveis que suportem esta tecnologia.

6.2. APLICAÇÃO MOBILE

Em relação a aplicação mobile, uma sugestão seria o compartilhamento do

resultado oficial da partida em redes sociais, como por exemplo o Facebook, o Twitter, e

demais canais comunicação.

Também coletar os dados da partida, e gerar gráficos relacionados com o histórico

dos jogos, para que sejam usados como estatísticas para as futuras partidas.

6.3. APLICAÇÃO WEB

Na perspectiva da aplicação web, com intuito de comprovar a veracidade dos

dados coletados, sendo eles enviados pelo árbitro e pela mesa arbitrária, a sugestão

seria equiparar os dados obtidos de maneira automatizada, por meio de algoritmos

de comparação. Ao final deste processo, caso haja divergência de informações, os

dados deverão ser discutidos junto ao comitê julgador para que se tenha o resultado

final aprovado.

Page 63: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

63

6.4. OUTROS DISPOSITIVOS

Na linha dispositivos, uma sugestão seria tornar este sistema compatível com os

chamados SmartWatch, ou os relógios inteligentes, uma vez que estes aparelhos teriam

as mesmas funcionalidades de um smartphone, porém em tamanho reduzido e de fácil

manuseabilidade, dispensando assim o uso de um relógio e de um smartphone para o

árbitro ou equipe de arbitragem designada para a partida.

A sugestão é que a partir de um SmartWatch o árbitro tenha controle dos dados da

partida, por meio das funções disponíveis neste aplicativo.

Page 64: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

64

7. REFERÊNCIAS BIBLIOGRÁFICAS

ABNT.ORG.BR, Formatação pelas Regras Normas ABNT. 2014. Disponível em

<http:www.abnt.org.br> Acesso em Agosto de 2014.

APACHE FOUNDATION. The Apache Software Foundation. 2014. Disponível em:

< http://www.apache.org/> Acesso em: Junho de 2014.

APACHE HTTP. Apache HTTP Server Project. 2014. Disponível em: <

http://httpd.apache.org/> Acesso em: Agosto de 2014.

AULETE, Súmula. Brasil: Lexikon Editora Digital, 2014.

ANDROID DEVELOPERS. Android Developers. 2014. Disponível em:

<http://developer.android.com/index.html> Acesso em: Maio 2014.

ANDROID SDK. Android SDK. 2014. Disponível em:

<http://developer.android.com/sdk> Acesso em: Maio 2014.

CANIANO, Information Protection: Empowering Business Innovation, 2014.

Disponível em: <https://stevecaniano.sys-con.com/node/2292861> Acesso em:

Agosto de 2014.

CAELUM, Eclipse IDE, 2014. Disponível em < http://www.caelum.com.br/apostila-

java-orientacao-objetos/eclipse-ide/> Acesso em Julho de 2014.

CBF, Livro de Regras 2013 / 2014 – Português. 2014. Disponível em: <

http://www.cbf.com.br/arbitragem/comissao-publicacoes/livro-de-regras-2013-2014-

portugues#.U-bHZ-NdXAQ> Acesso em: Agosto 2014.

CREATELY.COM. Draw, Share, Validate and Export Diagram. 2014. Disponível

em: <https://creately.com/app/> Acesso em: Agosto 2014.

DEVMEDIA ECLIPSE, Conhecendo o Eclipse, 2014. Disponível em <

http://www.devmedia.com.br/conhecendo-o-eclipse-uma-apresentacao-detalhada-

da-ide/25589> Acesso em Agosto de 2014.

Page 65: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

65

DEVMEDIA MODELAGEM, Introdução a modelagem de dados, 2014. Disponível

em < www.devmedia.com.br/introducao-a-modelagem-de-dados/24953> Acesso em

Agosto de 2014.

ECLIPSE FOUNDATION. About the Eclipse Foundation. 2014. Disponível em: <

http://projects.eclipse.org/> Acesso em: Junho 2014.

FIFA.COM, Início das regras do futebol. 2014. Disponível em <

http://pt.fifa.com/newscentre/features/news/newsid=1976230/> Acesso em: Junho

2014.

FFERJ, Federação de Futebol do Estado do Rio de Janeiro. 2014. Disponível em

<http://www.fferj.com.br> Acesso em Junho de 2014.

GARTNER. Gartner Says Cloud, Mobility and Open Source Will Drive

Application Development Market to Exceed $9 Billion in 2012. 2012. Disponível

em: <http://www.gartner.com/newsroom/id/2131115> Acesso em: Abril 2014.

GOOGLE PLAY, Referee. 2014. Disponível em <

https://play.google.com/store?hl=pt_BR> Acesso em Maio de 2014.

HISTORIA-DO-FUTEBOL, História do Futebol. 2014. Disponível em:

<http://historia-do-futebol.info> Acesso em: Julho 2014.

IBM, Internacionalização. 2014. Disponível em: <http://publib16.boulder.ibm.com/>

Acesso em: Abril 2014.

IMASTERS, Hangout sobre Internacionalização e Localização de aplicações

web. 2014. Disponível em <

http://imasters.com.br/artigo/25233/desenvolvimento/hangout-sobre-

internacionalizacao-e-localizacao-de-aplicacoes-web/> Acesso em Julho de 2014.

JSON.ORG, ECMA-404 The JSON Data Interchange Standard. 2014. Disponível

em <http:www.json.org> Acesso em Agosto de 2014.

LECHETA, R. Google Android - Aprenda A Criar Aplicações Para Dispositivos

Móveis Com o Android Sdk. Brasil: Novatec, 2014.

Page 66: UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ …repositorio.roca.utfpr.edu.br/jspui/bitstream/1/3631/1/CT... · ao Curso de Especialização em Tecnologia Java e Desenvolvimento para

66

MENDES, D. Programação Java em Ambiente Distribuído. 2011. Brasil: Novatec,

2011

NETO, A. Web Services em Java, 2006. Brasil: Brasport, 2006.

PHP.NET. Manual do PHP. 2014. Disponível em:

<http://php.net/manual/pt_BR/index.php> Acesso em: Julho 2014.