93
CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS "Torcedor de Coração" Tiago Afonso Monteiro Projeto de Graduação apresentado ao Curso de Engenharia Eletrônica e de Computação da Escola Politécnica, Universidade Federal do Rio de Janeiro, como parte dos requisitos necessários à obtenção do título de Engenheiro. Orientador: Antônio Cláudio Gómez de Sousa Rio de Janeiro Agosto de 2014

CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

Embed Size (px)

Citation preview

Page 1: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS

"Torcedor de Coração"

Tiago Afonso Monteiro

Projeto de Graduação apresentado ao Curso de Engenharia Eletrônica e de Computação da Escola Politécnica, Universidade Federal do Rio de Janeiro, como parte dos requisitos necessários à obtenção do título de Engenheiro. Orientador: Antônio Cláudio Gómez de Sousa

Rio de Janeiro

Agosto de 2014

Page 2: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

ii

CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS

Tiago Afonso Monteiro PROJETO DE GRADUAÇÃO SUBMETIDO AO CORPO DOCENTE DO CURSO DE ENGENHARIA ELETRÔNICA E DE COMPUTAÇÃO DA ESCOLA POLITÉCNICA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE ENGENHEIRO ELETRÔNICO E DE COMPUTAÇÃO Autor:

_________________________________________________ Tiago Afonso Monteiro

Orientador:

_________________________________________________ Prof. Antônio Cláudio Gómez de Sousa, Dr.

Examinador:

_________________________________________________ Prof. Ricardo Rhomberg Martins, D. Sc.

Examinador:

_________________________________________________ Prof. Aloysio de Castro Pinto Pedroza, Dr.

Rio de Janeiro – RJ, Brasil

Agosto de 2014

Page 3: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

iii

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO

Escola Politécnica – Departamento de Eletrônica e de Computação

Centro de Tecnologia, bloco H, sala H-217, Cidade Universitária

Rio de Janeiro – RJ CEP 21949-900

Este exemplar é de propriedade da Universidade Federal do Rio de Janeiro, que

poderá incluí-lo em base de dados, armazenar em computador, microfilmar ou adotar

qualquer forma de arquivamento.

É permitida a menção, reprodução parcial ou integral e a transmissão entre

bibliotecas deste trabalho, sem modificação de seu texto, em qualquer meio que esteja

ou venha a ser fixado, para pesquisa acadêmica, comentários e citações, desde que sem

finalidade comercial e que seja feita a referência bibliográfica completa.

Os conceitos expressos neste trabalho são de responsabilidade do(s) autor(es).

Page 4: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

iv

DEDICATÓRIA

Aos meus pais e irmãos, que me ajudaram na longa caminhada que resultou neste

trabalho e na conclusão do curso.

Page 5: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

v

AGRADECIMENTO

Ao meu orientador, Antônio Cláudio, que me ajudou imensamente no

desenvolvimento deste trabalho.

Aos amigos da UFRJ, que fizeram parte do meu aprendizado durante os últimos

5 anos.

Aos amigos do trabalho, que me passaram diversos conhecimentos importantes

que utilizei neste trabalho.

À minha família, Tiago, Teresa, Alberto, Patrícia, que foram e têm sido

fundamentais no meu desenvolvimento pessoal e profissional.

Ao povo brasileiro que contribuiu de forma significativa à minha formação e

estada nesta Universidade. Este projeto é uma pequena forma de retribuir o investimento

e confiança em mim depositados.

Page 6: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

vi

RESUMO

O trabalho trata de controle de acesso de torcedores a estádios de futebol com a

utilização da tecnologia RFID. Para tal, utilizamos um web site para a compra de

ingressos e um leitor RFID com o uso de uma plataforma “arduino” para realizar o

controle de acesso dos torcedores.

Com o objetivo de obter um melhor controle de acesso aos cartões pelos

torcedores, cada usuário poderá adquirir um único cartão, sendo que este terá que ser

solicitado diretamente no site e retirado nos locais credenciados.

Por fim, o presente trabalho visa ainda propor um mecanismo para punição de

torcedores que agem em violação do estatuto do torcedor ou outras leis e regulamentos

aplicáveis, tendo como objetivo garantir uma maior segurança em nossos estádios.

Palavras-Chave: RFID, Arduino, UML, Controle de Acesso, ASP.NET, Documento de

Requisitos, Diagrama de Classes.

Page 7: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

vii

ABSTRACT

This project addresses the control of fans’ access to soccer stadiums using RFID

technology. For this purpose, we used an web site for the purchase of tickets and a

RFID reader with arduino to carry on the fans’ access control.

With the objective of obtaining a better control of the access to the cards by the

fans, each user will be able to acquire only one card, being certain that the card will

need to be requested directly in the site and collected in authorized locals.

Finally, the system aims at proposing a mechanism for the punishment of fans

that behave in violation of the “estatuto do torcedor” or any other applicable laws or

regulations, with the object of guarantying more security in our stadiums.

Key-words: Arduino, RFID, Access Control, UML, ASP.NET, Requirements

Document, Class Diagram.

Page 8: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

viii

SIGLAS

UFRJ – Universidade Federal do Rio de Janeiro

RFID – Radio-Frequency IDentification

IIS – Internet Information Services

IDE – Integrated Development Environment

API – Application Programming Interface

UML – Unified Modeling Language

SQL – Structured Query Language

ASP – Active Server Pages

SVN – Subversion

Page 9: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

ix

Sumário 1 Introdução 1

1.1 - Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 - Delimitação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.3 - Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.4 - Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.5 - Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.6 - Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Ferramentas 6

2.1 - Dropbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 - SVN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.3 - Argo UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3 - SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3 - Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.4 - Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Arquitetura

10

2.1 - Aplicação Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2 - Windows Form . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 13

4 Desenvolvimento Técnico

14

Page 10: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

x

4.1. - Análise .. . . . . .. . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . 15

4.1.1 - Casos de Uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.1.2 - Diagrama de Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.2. - Projeto . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . 19

4.2.1 - Modelo de dados Lógico . . . . . . . . . . . . . . . . . . . . . . . . 19

4.2.2 - Dicionário de Dados Conceitual. . .. . . . . . . . . . . . . . . . 21

4.2.3 - Desing Parter . . .. . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . 23

4.3 - Implementação . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 25

4.3.1 - Controle de Acesso às Páginas . . . . . . . . . . . . . . . . . . . 25

4.3.2 - Conexão com o Banco de Dados . . .. . . . . . . . . . . . . . . 26

4.3.3 - Datatable . .. . . .. . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.3.4 - Arduino . .. . ... .. . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.3.5 - Aplicação de Leitura do Cartão . . . . . . . . . . . . . . . .. . . 30

4.4 - Teste . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 31

4.5 - Instalação e Manutenção . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . 31

5 Fluxo do Sistema

32

5.1 - Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.2 - Tela Inicial do Torcedor . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 33

5.3 - Solicitar Cartão RFID .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5.4 - Login Administrador . .. . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 35

5.5 - Liberar Cartão RFID .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5.6 - Comprar Jogo . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 37

Page 11: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

xi

5.7 - Histórico de Jogos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5.8 - Punir Torcedores . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 39

5.9 - Histórico por Jogo .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.10 - Tela principal da aplicação de Leitura do Cartão . .. . . . . . . . . 42

5.11 - Permitir Entrada de Torcedores .. . . . . . . . . . . . . . . . . . . . . . . 42

5.12 - Entrada bloqueada para um mesmo Cartão. . . . . . . . . . . . . . . 43

5.13 - Entrada Bloqueada .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

6 Resultados e Conclusões

45

6.1 - Resultados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6.2 - Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

6.2 - Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Referências 48

Apêndice A 49

Apêndice B 58

Apêndice C 70

Page 12: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

xii

Lista de Figuras

3.1 – Conexão entre Clientes e Serviços . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.2 – Ambiente de desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.3 – Ambiente de produção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.4 – Arquitetura do Servidor IIS . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . 12

3.5 – Ambiente Windows Form . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . 13

4.1 – Modelo Cascata. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.2 – Diagramas de Classes . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . 17

4.3 – Modelo de Dados . . . . . .. . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . 21

4.4 – Divisão dos projetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.5 – Solução Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . 25

4.6 – Leitor RFID . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.7 – Montagem do leitor no arduino . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5.1 – Tela de Login. . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . 32

5.2 – Tela de Registro de Usuário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5.3 – Tela Inicial do Torcedor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5.4 – Tela de Solicitação do Cartão RFID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5.5 – Modelo do Cartão RFID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 35

5.6 – Tela Inicial do Administrador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . 36

5.7 – Tela de compra do jogo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.8 – Tela de compra do jogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5.9 – Tela de Histórico de jogos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5.10 – Tela de punição de torcedores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Page 13: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

xiii

5.11 – Aviso de Punição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.12 – Histórico de Jogos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.13 – Registro de novos Administradores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.14 – Tela Inicial da aplicação de leitura de cartão . . . . . . . . . . . . . . . . . . . . . . . . 42

5.15 – Entrada Permitida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.16 – Reutilização de um mesmo cartão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.17 – Entrada Bloqueada . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Page 14: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

xiv

Lista de Tabelas 4.1 – Dicionário de Dados Conceitual . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . 18

4.2 – Dicionário de Dados Lógico . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 21

Page 15: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

Capítulo 1

Introdução

1.1 – Tema

O tema do trabalho é o controle de acesso a eventos futebolístico.

1.2 – Delimitação

O hardware utilizará a técnica RFID. O software será limitado a controlar o

acesso de torcedores a eventos relacionados a partidas de futebol. Neste sentido, para

adquirirem ingresso para uma partida, os torcedores terão que se cadastrar no site, além

de realizar a compra do cartão RFID, o que também poderá ser feito pelo site.

Consideramos também necessária a presença da técnica de leitor RFID em todas

as roletas de estádios de futebol, trocando a atual técnica de leitura de código de barra

para a técnica em questão. Vale lembrar que, embora a maioria dos ingressos use o

código de barras atualmente, já existe a técnica RFID em muitas catracas dos estádios

de futebol, pois vários programas de sócios torcedores utilizam este tipo de cartão.

Por fim, uma última consideração. Apesar deste trabalho se restringir a controlar

acesso a estádios de futebol, a ideia seria que o princípio utilizado aqui poderia ser

ampliado para vários outros eventos, como shows e demais eventos esportivos. Neste

ponto, inclusive, poderia ser considerada a utilização de um cartão único para ingresso

em todos os tipos de evento associados ao sistema em questão.

Page 16: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

2

1.3 – Justificativa

Atualmente, com grandes eventos esportivos no Brasil, tal como a Copa do

Mundo e os Jogos Olímpicos, e com a disseminação da internet em todo território

brasileiro, desenvolver um software para facilitar e tornar mais racional o controle de

acesso dos torcedores aos estádios se tornou algo fundamental. Foi neste ponto que o

projeto foi proposto.

Visando à facilidade de ir ao estádio e a comodidade do torcedor, o projeto

baseia-se na compra de ingressos via web utilizando a técnica RFID, no mesmo modelo

empregado nas empresas de ônibus. O torcedor poderia comprar os ingressos desejados

pela internet, acessando o site, e ao passar pela roleta o crédito adquirido no seu cartão

seria descontado. Isso evitaria que o usuário precisasse enfrentar filas nos estádios, além

de vários outros problemas decorrente deste, tais como tumultos e violência policial,

inconvenientes de chuva e calor intenso, e também o fim dos ingressos após horas de

espera na fila. O tema do projeto aborda justamente uma proposta de como todos esses

tipos de problemas poderiam ser evitados.

Além de todos os problemas citados acima, com o sistema que desenvolvemos –

o qual denominamos “Torcedor de Coração” – podemos evitar um dos maiores

problemas existentes na realidade futebol brasileiro: a figura do cambista. Isto seria

possível pois cada torcedor teria apenas um cartão, identificado pelo CPF do indivíduo.

Como o CPF é único, evitaríamos que um torcedor adquirisse e utilizasse mais de um

cartão, evitando a utilização de cartão adicional que permitisse a entrada de outras

pessoas em conjunto. No capítulo 5 trataremos de toda a regra de negócio de sistema

que mostrará detalhes de como funcionará o Torcedor de Coração.

Outro ponto que justifica o desenvolvimento do sistema seria a possibilidade de

punição dos torcedores em tempo real. Isso seria possível pois, para realizar a compra

dos ingressos, todos os torcedores necessitam de um cadastro no site, o que permite

termos os dados dos torcedores presentes no estádio na base de dados. Assim, na

existência de qualquer tipo de irregularidade, os torcedores poderiam ser identificados

através do sistema, e encaminhados para autoridades competentes para eventual

Page 17: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

3

punição. Essa punição poderia ser realizada na forma de bloqueio da compra de

ingressos futuros, por exemplo. Voltaremos ao assunto ao longo do projeto.

1.4 – Objetivos

O principal objetivo do projeto é facilitar a compra de ingressos pelos

torcedores, com mais segurança e rapidez, utilizando a técnica RFID. Como

consequência, acreditamos que isso ocasionará um aumento do público nos estádios,

que ultimamente tem caído consideravelmente, mesmo com estádios mais modernos

sendo construídos. Além disto, ter uma técnica mais moderna na área futebolística é

fundamental para o Brasil, onde esse esporte tem grande popularidade, não por acaso

sendo conhecido como o "país do futebol".

Com vistas a esses objetivos é que foi desenvolvido o sistema Torcedor de

Coração, um aplicativo Web para a compra dos ingressos interligado com uma outra

aplicação executada localmente com um leitor RFID capaz de controlar a entrada dos

torcedores nos estádios. A funcionalidade primordial do sistema é permitir o cadastro de

torcedores e, após a compra do cartão RFID, o usuário estará apto para a compra dos

ingressos.

Outro objetivo de grande relevância que levou ao desenvolvimento do software é

a possibilidade de punir torcedor que comete irregularidades durante os eventos,

evitando assim a presença reiterada desses torcedores problemáticos nos jogos e

colaborando com a segurança e conforto de todos.

1.5 – Método

O presente projeto irá utilizar um método baseado nos conceitos da orientação a

objeto; será utilizado o padrão UML para fazer a documentação do sistema, e para o

ciclo de vida será adotado o modelo em cascata.

Page 18: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

4

À luz do exposto acima, o primeiro passo será o levantamento dos requisitos

para compreender o que o software irá realizar. Posteriormente, será montado o modelo

de casos de uso e, então, com a junção das informações obtidas, o diagrama de classes

será elaborado. A etapa seguinte consiste na programação e, por fim, ocorre a

construção do relatório de testes para verificar a funcionalidade dos casos de uso e a

correção de possíveis erros.

Na área de programação, o trabalho é dividido em dois tipos, uma plataforma

Web e uma aplicação Windows Form, que é uma API da framework da Microsoft.

Neste trabalho, o primeiro tipo irá utilizar ASP.NET com a linguagem C#, enquanto o

segundo tipo, por não ser web, utilizará apenas C#. Todo o projeto será rodado

localmente utilizando como servidor o próprio IIS nativo no Windows. O banco de

dados no sistema utilizados é SQL Server, também pertencente à Microsoft.

Em relação ao uso do RFID, será utilizada uma plataforma “arduino” com um

módulo de leitor RFID para fazer a simulação de uma roleta para leitura dos cartões. O

arduino comunicar-se-á com o aplicativo de leitor de cartão para realizar o controle de

acesso. No decorrer do projeto será explicado com mais detalhes como funcionará o

sistema.

Visando ao êxito do trabalho que está centrado na criação de um modelo simples

e também amplamente funcional, será feito o planejamento, o cronograma e os recursos

a serem utilizados.

1.6 – Descrição

No capítulo 2 será vistas as ferramentas que foram utilizadas para a realização

do projeto.

O capítulo 3 apresenta as arquiteturas utilizadas no projeto, tanto para a parte

web, como para a parte que roda localmente.

Page 19: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

5

Os dados técnicos serão visto no capítulo 4, tal como o diagrama de requisitos,

diagrama de classes, documento de testes, enfim toda a parte de desenvolvimento do

software.

Por fim no capítulo 5 será visto o fluxo do sistema, mostrando toda regra de

negócio utilizada para a realização do projeto. Enquanto no capítulo 6 será vista a

conclusão e os projetos futuros.

Page 20: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

6

Capítulo 2

Ferramentas

Neste capítulo, veremos as ferramentas utilizadas para a realização do projeto.

Elas foram muito importantes tanto na elaboração quanto no desenvolvimento do

sistema.

2.1 – Dropbox

Este aplicativo é um dos serviços mais simples e eficientes de armazenamento e

sincronização de arquivos entre diferentes dispositivos. Por meio do Dropbox, são

armazenados arquivos em nuvem, e os mesmos podem ser acessados através de um

endereço da web ou do aplicativo do programa disponível para Windows, Android e

iOS, mantendo todo o conteúdo sempre atualizado, independente de onde seja feito o

acesso.

Nesse sentido, percebemos o quão importante é a utilização do Dropbox para o

projeto. Primeiro, podemos acessar todas as informações do projeto em qualquer

computador. Segundo, não corremos o risco de um possível defeito no computador

ocasionar a perda de todas as informações presentes, uma vez que o armazenamento é

feito em nuvem.

Claro que pensando em um projeto de maior escala, o dropbox não seria a

ferramenta ideal. Contudo, apenas para um protótipo, esse serviço funciona de forma

altamente satisfatória.

2.2 – SVN

Trata-se de um sistema de controle de versão. Este tipo de sistema funciona com

a finalidade de gerenciar diferentes versões no desenvolvimento de documentos. O SVN

Page 21: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

7

é comumente utilizado no desenvolvimento de software para controlar as diferentes

versões — histórico e desenvolvimento — dos códigos-fontes e também

da documentação.

Foi pensando nisso que o SVN foi utilizado no projeto, principalmente com o

objetivo de visualizar as mudanças feitas no decorrer da evolução do software, podendo,

assim, recuperar as versões antigas dos códigos. Hoje em dia, ter um software de

controle de versões é fundamental para qualquer tipo de projeto, desde os pequenos até

os grandes.

2.3 –Argo UML

Trata-se de uma aplicação open source que usa UML para modelar o desenho

de software de computador. O sistema providencia suporte para quase todos os tipos de

diagrama da UML padrão e inclui suporte cognitivo.

No nosso sistema, o Argo UML foi utilizado para realizar os casos de uso e o

diagrama de classes. É uma ferramenta muito fácil de ser utilizada, possuindo a grande

vantagem de ser gratuita. 2.4 – SQL SERVER 2008

O SQL Server é um sistema gerenciador de banco de dados relacional

desenvolvido pela Microsoft. Como todos os bancos de dados, é um sistema cuja

principal função é armazenar e recuperar dados solicitados por outras aplicações de

software, sejam aquelas no mesmo computador ou aquelas em execução em outro

computador através de uma rede. Suas linguagens de consulta primárias são T-SQL e

ANSI SQL.

No projeto, utilizamos a versão que é cedida pela própria UFRJ em parceria com

a Microsoft. Porém, em condições normais, este é um sistema pago para ser utilizado a

partir da compra de licenças. Visto que o projeto foi todo desenvolvido apenas como um

protótipo, em princípio não nos preocupamos com isso. Porém, ao sair do padrão de

Page 22: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

8

protótipo e entrar em produção, essa questão é algo fundamental para o custo do projeto.

Vale lembrar, contudo, que atualmente a Microsoft faz parceria com diversas empresas,

tornando o preço de suas licenças algo mais acessível.

2.5 – Visual Studio 2010 O Microsoft Visual Studio é um pacote de programas da Microsoft para

desenvolvimento de software especialmente dedicado ao NET Framework e as

linguagens utilizadas são: Visual Basic , C, C++, C#. Também é um grande produto de

desenvolvimento na área web, usando a plataforma do ASP.NET.

Em nosso projeto, utilizamos as duas ferramentas mencionadas na definição

acima, tanta a parte de aplicação Web como aplicação API para “Windows form”. A

parte web foi utilizada para o desenvolvimento do site, onde ocorre o cadastramento e a

compra de ingressos pelo usuário. Enquanto na API foi desenvolvido o aplicativo que

controla a leitura dos cartões para o acesso dos torcedores.

No projeto, foi utilizada a versão Express do Visual Studio, que é um versão

gratuita disponibilizada pela Microsoft para o uso de estudantes. Apesar de gratuita é

completamente funcional, apenas algumas ferramentas auxiliares que não estão presente

tais como as ferramentas case e de controle de versão além de algumas extensões como

do Ajax. Pensando no sistema em produção, a utilização da versão Ultimate, que possui

diversas outras funcionalidade, principalmente o desenvolvimento em grupo no projeto,

seria fundamental. Porém, assim como no caso do banco de dados, esse fator

representaria um custo adicional para o projeto, já que a versão Ultimate também é

paga.

2.6 – Arduino Trata-se de uma plataforma de prototipagem eletrônica de hardware livre,

projetada com um microcontrolador, com suporte de entrada/saída embutido, utilizando

uma linguagem de programação padrão, a qual é essencialmente C/C++.

Page 23: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

9

O arduino foi utilizado no projeto para realizar a leitura dos cartões RFID. Em

conjunto com o arduino, foi utilizado o leitor RFID, que é conectado diretamente no

microcontrolador, onde através de uma lógica de programação que será apresentada

mais adiante, o aduino envia os dados para o aplicativo "Torcedor de Coração". Ele

realiza pesquisa no banco de dados para verificar se o torcedor efetuou a compra ou não

do jogo, e assim libera a sua entrada.

Ao acessarmos a URL arduino.cc, podemos fazer o download da IDE específica

do arduino, e foi nesta que desenvolvemos os códigos para comunicação com o arduino.

Page 24: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

10

Capítulo 3

Arquitetura

No projeto, desenvolvemos dois tipos diferentes de aplicações com diferentes

arquiteturas. A primeira é uma aplicação web, enquanto a segunda é uma aplicação

Windows Form. Abaixo trataremos cada uma delas.

3.1 Aplicação Web

O desenvolvimento da aplicação web pode ser dividido em duas grandes partes:

a parte do servidor e a parte do cliente.

Figura 3.1 – Conexão entre Clientes e Serviços. Fonte: Treinamentos TI [1].

A parte do servidor inclui as partes 'escondidas' do usuário, como as regras de

negócio sensíveis da aplicação e bancos de dados. A parte do cliente diz respeito a tudo

diretamente ligado à interface apresentada ao usuário. Por interface entende-se as

'páginas' visitadas.

Como todo o projeto foi rodado localmente, tanto o servidor de desenvolvimento

quanto o banco de dados estão localizados no mesmo ambiente. Assim, o prório

desenvolvedor é o cliente e realiza os testes do desenvolvedor. Isso é o que chamamos

ambiente de desenvolvimento.

Page 25: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

11

Na figura abaixo vemos o que foi exposto acima.

Figura 3.2 – Ambiente de desenvolvimento. Fonte: Treinamentos TI [2].

Em um ambiente em produção, como mostrado abaixo, teríamos vários clientes

que se comunicariam remotamente com o servidor de aplicação. Esse servidor se

comunicaria com outro servidor, o de banco de dados. Todos eles teriam que ser

robustos o suficiente para suportar o fluxo de usuários e dados.

Figura 3.3 – Ambiente de produção. Fonte: Treinamentos TI [3].

O servidor utilizado para rodar a aplicação é o IIS, que é um servidor nativo do

Windows. IIS é um servidor web criado pela Microsoft para seus sistemas operacionais.

Uma de suas características mais utilizadas é a geração de páginas HTML dinâmicas,

que, diferentemente de outros servidores web, usa tecnologia proprietária, o ASP

(Active Server Pages), mas também pode usar outras tecnologias com adição de

módulos de terceiros.

Page 26: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

12

Arquitetura do Servidor

O servidor é a parte que executa toda a lógica da aplicação, ou seja, toda a lógica

que não deve ser externalizada ao usuário sem que antes haja validação de dados.

A arquitetura de servidores é disposta da seguinte forma:

Figura 3.4 – Arquitetura do Servidor IIS. Fonte: Treinamentos TI [4].

Como mostra a ilustração, todos os Web Clients comunicam-se com aplicações

ASP.NET através do Microsoft Internet Information Services (IIS). O IIS autentica a

solicitação e, se necessário, localiza em seguida o recurso solicitado (como uma

aplicação ASP.NET). Se o cliente estiver autorizado, o recurso é disponibilizado.

Quando uma aplicação ASP.NET está sendo executada, ela pode usar recursos

internos de segurança do ASP.NET. Além disso, uma aplicação ASP.NET pode utilizar

os recursos de segurança do .NET Framework.

3.2 Windows Form

Windows Form é uma API que faz parte do Framework.NET desenvolvido pela

Microsoft. Esta é uma aplicação de janela Windows desenvolvida para rodar localmente

Page 27: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

13

na máquina do usuário. Ela é instalada a partir de um executável gerado durante o

deploy da aplicação. No projeto este tipo de aplicação foi desenvolvido para fazer a

leitura do cartão RFID.

Na figura abaixo, vemos que para esse tipo de aplicação não precisamos de um

servidor Web para seu funcionamento. Necessita-se apenas do cliente e a comunicação

com o banco de dados. Em fase de desenvolvimento, como é o caso presente, acessamos

o banco localmente. Em um estágio mais avançado, como em um ambiente de

produção, o banco é acessado remotamente, se estiver situado em outro servidor .

Podemos visualizar isso na figura abaixo:

Figura 3.5 – Ambiente Windows Form. Fonte: Treinamentos TI [5].

Page 28: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

14

Capítulo 4 Desenvolvimento Técnico Neste capítulo, trataremos em maior detalhe, como o desenvolvimento do

sistema foi realizado. Como mencionado na introdução, utilizamos o modelo em cascata

de desenvolvimento do software como base.

Figura 4.1 – Modelo Cascata. Fonte: http://modelocascata.blogspot.com.br [6].

No modelo em cascata, as fases observam a seguinte ordem:

1. Especificação de Requisitos

2. Projeto

3. Construção (implementação ou codificação)

4. Teste e depuração

5. Instalação

6. Manutenção de Software

Page 29: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

15

Ao longo do projeto, explicaremos o significado de cada fase, como foi

desenvolvida, e o resultado final de cada uma delas. Esse tipo de modelo não é, em

princípio, o ideal para o desenvolvimento de software em larga escala nos dias atuais,

uma vez que, a partir da evolução de cada etapa, o sistema pode mudar os seus

requisitos. Porém, considerando que neste projeto não temos contato direto com

nenhum cliente, e o mesmo foi desenvolvido por apenas um pessoa, o modelo em

cascata satisfaz perfeitamente às nossas necessidades.

Para realizar a especificação de requisitos, foi elaborado um documento de

requisitos, que se encontra no apêndice A no fim do projeto. Este documento, chamado

Especificação de Requisitos de Software, descreve todos os requisitos de hardware e

software. Requisitos são as condições ou capacidades que devem ser atendidas pelo

sistema para satisfazer a um contrato. No projeto, o documento foi realizado pela

mesma pessoa que analisou e implementou o sistema. Em condições comerciais, porém,

este tipo de documento é feito com o usuário, discutido por uma equipe de analistas de

requisitos que, após entendimentos, chegam ao um acordo final sobre o documento,

encaminhando o projeto para a próxima etapa com a aprovação do usuário.

Em nosso documento, vale ressaltar alguns pontos. Primeiramente, em sua seção

2.1 o documento descreve de forma clara o fluxo do sistema, desde o cadastro no

sistema até a entrada no estádio. Outro ponto importante encontra-se na seção 3.1, onde

temos a descrição de todos os requisitos funcionais pedidos pelo cliente, que será o guia

do desenvolvimento do software.

4.1 Análise

Análise é a parte da engenharia de software que se encarrega de transformar os

resultado dos requisitos em um conjunto de documentos capazes de serem interpretados

e utilizados na fase de projeto.

Para atingir esse objetivo, o projetista deve mapear as estruturas e

funcionalidades identificadas na análise de requerimentos dentro do contexto e das

Page 30: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

16

restrições da arquitetura, de forma a tornar possível a construção do software. Esta etapa

do projeto normalmente é desenvolvida pelos gerentes com os especialistas e

consultores, de forma a detalhar o que será programado, e assim se ter a certeza de que

os programadores seguirão boas normas de desenvolvimento de software.

Em nosso projeto, dividimos esta etapa em três: Casos de Uso, Diagrama de

Classes e Modelo de Dados lógico.

4.1.1 Casos de Uso

Casos de Uso permitem especificar requisitos com desenhos em UML. Os

requisitos representados como Casos de Uso descrevem quais são funcionalidades que o

sistema deve possuir, a partir da ótica de seus usuários (e elementos que interagem com

o sistema).

Casos de uso são tipicamente relacionados a "atores". Um ator é um humano ou

entidade máquina que interage com o sistema para executar um significante trabalho.

Em nosso projeto consideramos 4 atores. O primeiro são os torcedores, que são os

usuários comuns que irão comprar ingressos. O segundo é o administrador do site web,

responsável por liberar os cartões e punir torcedores. Também temos o administrador do

módulo, responsável pela escolha dos jogos a serem verificados. Por último, temos o

leitor RDIF, que é responsável pela leitura do cartão. Além disso, o caso de uso deve

conter uma frase representando uma ação significativa para a modelagem do sistema,

sendo que esta frase deve estar dentro de uma elipse do modelo UML.

No apêndice B, podemos visualizar todos os casos de uso do sistema e a

explicação de todo seu fluxo e detalhamento. Este fluxo é representado por uma

sequencia de eventos que deve ocorrer para a realização do caso de uso. Existem dois

tipos de fluxo: (i) a sequencia típica de eventos, que é aquela que acontecerá se tudo

ocorrer perfeitamente, e (ii) sequencias alternativas, que são aquelas que não seguem o

fluxo normal. Como já mencionado, usamos o ARGO UML para o desenho dos casos

de uso.

Page 31: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

17

4.1.2 Diagrama de Classes

Trata-se de um grafo que descreve as classes, seus atributos, operações e

relacionamentos presentes no sistema. É uma modelagem muito útil para o

desenvolvimento de sistemas, pois define todas as classes que o sistema necessita

possuir, é a base para a construção de outros diagramas.

Diagramas de Classes são utilizados para modelagem estática. A modelagem

estática deve dar suporte às necessidades funcionais do sistema, isto é, os serviços que o

sistema deve providenciar aos seus usuários finais.

Os Diagramas de Classes são utilizados para modelar:

◦ o modelo conceitual dos dados: classes, atributos, operações e associações

◦ o vocabulário do sistema: especificação das abstrações que estão contidas dentro do

domínio do sistema, identificando suas responsabilidades.

◦ colaboração: colaboração envolve trabalho conjunto entre objetos do sistema visando a

um comportamento cooperativo. Esta cooperação traduz-se, no diagrama de classes,

pelas relações existentes entre as classes.

Figura 4.2 – Diagrama de classes.

A classe pessoa é uma superclasse de torcedor e administrador, com isso seria

possível que qualquer pessoa, inclusive o administrador, compre entradas para os jogos.

Page 32: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

18

Isto fica claro no modelo conceitual com associação entre jogo e pessoa, porém este

problema é controlado pelo controle de sessão que será exposto mais adiante,

permitindo assim que apenas perfil de torcedor compre ingressos.

Afim de ter um controle das informações, foi criado atributos são responsáveis

por gravar determinadas ações dos usuários, podemos ver estes abaixo:

dt_punicao: Sabe-se quando houve a punição; assim ao se anular a punição, permaneça

a informação de que já o torcedor já foi punido;

dt_solicitacao_cartao: Sabe-se quando foi solicitado o cartão;

dt_entrega_cartao: Sabe-se quando o catão foi entregue;

dt_compra_jogo: Sabe-se quando a entrada no jogo foi comprada

dt_entrada_jogo: Sabe-se em que hora a pessoa entrou.

4.1.3 – Dicionário de Dados Conceitual

No dicionário de dados estão listados todos os metadados gerados no processo

de criação do diagrama de classe. Nele está descrito a definição de cada um dos

metadados. O dicionário pode ser consultado abaixo.

Tabela 4.1 – Dicionário de Dados.

Campo Descrição Informações Pessoa

Contem os atributos comuns para o torcedor e administrador Nome Nome da pessoa CPF CPFda pessoa Ocorre validação Email Email da pessoa

Senha Senha da pessoa Senha entre 6 e 12 caracteres

Perfil de acesso Perfil de administrador ou torcedor A para administrador e T para torcedor

Dt_nasc Data de nascimento Torcedor

Contem os atributos exclusivos do torcedor dtHora_solicitar_cartao Data e hora da solicitação do cartão

Page 33: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

19

RFID dtHora_punicao Data e hora da punição do torcedor NuCartao Número do cartão RFID

Administrador Contem os atributos exclusivos do administrador

Matricula Matrícula utilizada para cadastrar novos administradores

dtHoraentrada_cartao Data e hora que o cartão foi liberado Rodada

Contem os atributos para a classe rodada Nu_rodada Número das rodadas Ex: 1,2,3,4 ...

Jogo Contem os atributos para a classe jogo

dtHora_jogo Data e Hora do jogo Preço Preço do jogo

pessoa_jogo Contem atributos para a classe pessoa_jogo

dt_hora_compra_jogo Data e hora da compra do jogo por uma pessoa

dt_hora_entrada_jogo Data e hora da entrada em um jogo por um pessoa

Time Contem os atributos para a classe time

Nm_time Nome do time Estadio

Contem atributos para a classe estádio Nm_estadio Nome do estádio Capacidade Capacidade máxima do estádio

4.2 Projeto

Projeto é a parte da engenharia de software que se encarrega de transformar os

resultados da análise em documentos técnicos capazes de serem interpretados

diretamente pelo programador.

4.2.1 Modelo de Dados Lógico

Neste tópico, abordaremos a modelagem lógica do banco de dados no sistema,

realizada a partir das classes definidas para o sistema. Cada classe foi transformada em

Page 34: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

20

uma tabela com uma exceção, as sub-classes torcedor e administrador foram unificadas

em uma tabela correspondente à super-classe pessoa. A classe associativa foi

transformada em uma tabela de relacionamento, e as demais associações foram

transformadas em chaves estrangeiras nas tabelas. Alguns atributos foram

transformados em “flags”.

O modelo lógico mostra as ligações entre as tabelas de banco de dados, as

chaves primárias e os componentes de cada uma das tabelas.

No sistema, criamos seis tabelas, como vemos no modelo abaixo. A 'tb_pessoa'

armazena os dados do usuário, tanto dos torcedores como administradores, sendo que o

que diferencia um do outro é a coluna 'perfil_acesso', Quando esta com 'T', refere-se a

torcedor, já se for 'A', trata-se de administrador. Temos flags importantes nesta tabela. O

'flg_punir' indica se o torcedor está punido ou não. Além deste, a tabela possui o

'flag_solicitar', que indica o status do pedido do cartão RFID. Caso conste 'null', ainda

não foi realizado nenhum pedido de cartão por aquele torcedor. Se constar 'S', o

torcedor já solicitou e está na pendência pelo administrador. Por fim, se constar 'E',

significa que o cartão já foi entregue.

As tabelas, 'tb_rodada', 'tb_estadio', tb_time', armazenam, respectivamente, as

rodadas, os estádios e os times. Na 'tb_jogo' ficam os jogos que foram cadastrados pelo

administrador do sistema, além de ficar registrado o preço dos ingressos e a capacidade

máxima para aquele jogo cadastrado pelo administrador. Aqui vale resalvar que a

capacidade será por jogo e não pelo estádio, isso é porque nem todo jogo em um mesmo

estádio tem o mesmo número de ingressos vendidos, isso fica evidente em jogos com

pouca evidencia em estádio com grande capacidade, onde, por vezes, algumas partes do

estádio fica fechado e a carga de ingressos é menor.

Por último, temos a 'tb_pessoa_jogo'. Esta tabela é responsável pelo

relacionamento entre a 'tb_pessoa' e a 'tb_jogo'. Nela temos os jogos por pesoa, ou seja,

conseguimos visualizar quais pessoas compraram ingressos para quais jogos. Nesta

tabela temos o 'flg_jogo_comprado', que servirá para indicar se o torcedor já passou

com o seu cartão pela roleta. Ou seja, se o valor é 'S', o jogo foi comprado pelo torcedor

e, ao passar pela roleta, o flag é atualizado para 'P'. Neste caso, se o torcedor tentar

Page 35: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

21

passar uma segunda vez pela roleta, o sistema indicará que o torcedor já utilizou o

cartão para aquele jogo. Obviamente, se o torcedor não comprou o jogo, não irá constar

dados referentes àquele usuário na tabela.

Abaixo podemos ver o Modelo elaborado para o projeto.

Figura 4.3 – Modelo de dados.

4.2.2 – Dicionário de Dados Lógico

No dicionário de dados estão listados todos os metadados gerados no processo

de criação das tabelas. Nele está descrito a definição de cada um dos metadados. O

dicionário pode ser consultado abaixo.

Tabela 4.2 – Dicionário de Dados

Campo Descrição Informações tb_pessoa

Contém os atributos da tabela tb_pessoa

cd_pessoa Código da pessoa Identificador único por usuário

Cpf CPF da pessoa Ocorre validação NuCartao Número do cartão RFID

flag_punicao Flag que indica punição para o torcedor.

S - Punido N ou Null - Não Punido

flag_solicitar Flag que indica a solicitação do cartão RFID

Null - Cartão não pedido

Page 36: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

22

S - Cartão pedido pelo torcedor, pendência administrador E - Cartão entregue ao torcedor, sem pendências

email_pessoa Email da pessoa

senha_pessoa Senha da pessoa Senha entre 6 e 12 caracteres

Nm_pessoa Nome da pessoa SobreNome Sobrenome da pessoa dt_nascimento Data de nascimento

tel_pessoa Telefone da pessoa Ocorre validação de dígitos

En_rua Endereço do usuário Ex: Rua Alves do Vale, número: 200

Nm_bairro Nome do bairro Nm_cidade Nome da Cidade Nu_cep Número do CEP

tel_pessoa Telefone da pessoa Ocorre validação de dígitos

tb_rodada Contém os atributos para a tabela tb_rodada

cd_rodada código da rodada Identificador único por rodada

Nu_rodada Número da rodada Ex: 1,2,3,4 ... tb_jogo

Contém os atributos para a tabela tb_jogo

cd_jogo código do jogo Identificador único por rodada

dtHora_jogo Data e Hora do jogo Preço Preço do jogo capacidade Capacidade por jogo cd_rodada Chave estrangeira da tb_rodada cd_estadio Chave estrangeira da tb_estádio cd_time Chave estrangeira da tb_time

tb_pessoa_jogo Contem os atributos para a tabela tb_pessoa_jogo

cd_pessoa Chave estrangeira da tb_pessoa cd_jogo Chave estrangeira da tb_jogo

flag_jogo_comprado Flag que indica o status da compra do ingresso pelo usuário

Null - Ingresso não comprado

Page 37: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

23

S - Ingresso comprado P - Torcedor Presente no estádio

tb_time Contém os atributos para a tabela tb_time

cd_time código do time Identificador único por time

Nm_time Nome do time tb_estadio

Contém os atributos para a tabela tb_estadio

cd_estadio código do estádio Identificador único por estádio

Nm_estadio Nome do estádio

4.2.3 Desing Pattern

Design Pattern descreve uma solução geral reutilizável para um problema

recorrente no desenvolvimento de sistemas de software orientados a objetos. Não se

trata de um código final, mas uma descrição ou modelo de como resolver um problema ,

que pode ser usado em diversas situações diferentes. Design Pattern normalmente

define as relações e interações entre as classes ou objetos, sem especificar os detalhes

das classes ou objetos envolvidos, ou seja, localiza-se em um nível de generalidade mais

elevado.

Isso pode ser mais bem entendido através da figura abaixo, que mostra como foi

desenvolvido o sistema. A aplicação foi divida em dois projetos.

Figura 4.4 - Divisão dos projetos

Como vemos acima o projeto web é divido em duas partes: Model e View, ou

seja, está sendo utilizado o MVC (Model-view-controller) simplificado para duas

Page 38: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

24

camadas. O projeto 'View' tem a responsabilidade apenas de se comunicar com o

usuário, ou seja, obter as informações inseridas pelo usuário e mostrar informações

solicitadas pelo torcedor. Isto deixa a página da tela mais limpa, facilitando o

entendimento do código e, assim, a manutenção deste. No projeto 'Model' é

desenvolvida toda a regra de negócio de sistema, ou seja, toda a lógica necessária para o

funcionamento do projeto. Neste projeto também foram inseridas as conexões com o

banco de dados e as querys de manipulação ao banco. Obviamente, existem outros tipos

de Desing Pattern bem mais evoluídos que o utilizado neste projeto, porém, para o que

proposto aqui, atende perfeitamente a demanda do projeto.

Outro ponto aplicado no projeto foi a divisão das páginas do administrador e

torcedor em pastas, como podemos observar na figura abaixo. Isso facilita ao

programador identificar as páginas, economizando tempo e tornando o ambiente mais

limpo e claro. Outra divisão feita foi colocar todas as mensagens e imagens que

aparecem para o usuário em pastas específicas, para a melhor apresentação do projeto.

Figura 4.5 – Solução Web.

Page 39: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

25

4.3 Implementação

O sistema 'Torcedor de Coração' foi desenvolvido na linguagem C#. Esta é

uma linguagem de programação orientada a objetos, fortemente tipada, desenvolvida

pela Microsoft como parte da plataforma .NET. A sua sintaxe orientada a objetos foi

baseada no C++, mas inclui muitas influências de outras linguagens de programação,

como Object Pascal e Java

Neste tópico iremos abordar alguns conceitos utilizados para o desenvolvimento

da aplicação, tais como o controle de acesso para cada página, como foram feitas as

conexões com o banco de dados, e a criação de Datatable que representa uma tabela de

dados na Memória.

4.3.1 Controle de Acesso às Páginas

O controle de acesso às páginas web no sistema é feito a partir do uso da Sessão.

Esta tem como principal objetivo identificar os usuários que estão acessando a aplicação

ASP.NET, criando um ambiente de memória exclusivo no servidor onde a aplicação é

executada.

Na aplicação, quando o usuário faz o login, este é salvo na sessão. Com isso,

dentro no 'Page Load' de todas as páginas existe uma verificação que examina se a

sessão do usuário está nula. Em caso afirmativo, o usuário é redirecionado para uma

página de erro, impedindo-o de entrar na aplicação. Isto é importante pois ao abrir outra

instância do browser em um mesmo computador e acessar a aplicação, a sessão será

sobrescrita, perdendo o seu valor anterior e com isto resolveríamos dois problemas:(i)

primeiro se um usuário estiver com duas instâncias browsers abertas e sair apenas de

uma, não corre o risco de continuar com sua sessão logada na outra página, impedindo

assim outros usuários de acessarem sua conta; e (ii) também impede que o usuário não

logado entre em páginas do sistema, pois sua session estará vazia e o aplicativo

impedirá o acesso do usuário.

4.3.2 Conexão com Banco de Dados

Page 40: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

26

O Visual Studio já possui o provedor de dados do .NET Framework para o SQL

Server. Este descreve uma coleção de classes usadas para acessar um banco de dados

SQL Server no espaço gerenciado. A partir do SqlDataAdapter, pode-se preencher

um DataSet, que pode ser usado para consultar e atualizar o banco de dados. Abaixo

explicaremos melhor o funcionamento.

O namespace utilizado:

using System.Data.SqlClient;

A partir deste, conseguir instanciar um SqlDataAdapter:

SqlDataAdapter DA = new SqlDataAdapter();

Então, a partir de um DataSet (que representa dados em um cache de memória)

como representado abaixo:

DataSet Dset = new DataSet();

Podemos executar comandos de banco de dados a partir do SqlDataAdapter, tal

como o select, como podemos visualizar no exemplo abaixo extraído do sistema. DA.SelectCommand = new SqlCommand("SELECT * FROM tb_pessoa", new SqlConnection(Properties.Settings.Default.CS1));

Por fim, preenchemos o DataSet com os dados recebidos do comando acima, para posteriormente ser manipulado pelo DataTable (que será explicado abaixo). DA.Fill(Dset, "tbPessoaCpf");

4.3.3 DataTable

DataTable é uma classe do .NET Framework, que está contida no namespace

System.Data. Esta classe é uma representação de uma Tabela na área de memória de

dados, ou seja, é uma tabela instanciada na memória e que existe, a princípio,

Page 41: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

27

temporariamente. Como toda tabela, um DataTable é composto de colunas e linhas.

Abaixo faremos uma breve descrição de como foi utilizado no sistema.

Para criação de uma DataTable dinamicamente, devemos declarar a utilização

do namespace. Após isto, declaramos e instanciamos o objeto do tipo DataTable.

using System.Data;

DataTable torcedorDeCoracao = new DataTable();

Assim como em uma tabela do banco de dados, um DataTable é composto por

colunas, razão pela qual temos que criar as mesmas:

torcedorDeCoracao.Columns.Add(new DataColumn("time"));

Com o comando acima, a tabela possui uma coluna chamada "time". Para

adicionar mais colunas, basta repetir o procedimento acima mudando o nome da coluna.

Para inserir linhas na DataTable, é necessário primeiro criar uma linha do tipo da

sua tabela, e depois anexar essa linha na tabela:

DataRow linhaDaTabela = torcedorDeCoracao.NewRow();

Com o comando acima, criamos um objeto do tipo "linha de tabela" da sua

tabela "torcedorDeCoracao ". Vamos atribuir valores para cada coluna:

linhaDaTabela["time"] = valor;

Com esse comando, populamos com dados a linha da tabela, bastando então

anexarmos essa linha na tabela criada

torcedorDeCoracao.Rows.Add(linhaDaTabela);

A partir daí, a linha foi adicionada à " torcedorDeCoracao ", que agora possui

uma coluna e uma linha. Para adicionar novas linhas, basta realizar novamente

Page 42: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

28

linhaDaTabela = torcedorDeCoracao.NewRow(); jogar novo valor na linha e,

depois, anexar essa linha à tabela novamente.

Para ler os dados da tabela, podemos ler um dado específico como abaixo:

minhaVariavel = torcedorDeCoracao.Rows[0]["time"];

Assim serão lidos os dados da coluna "time" da primeira linha. Outra

possibilidade seria ler todas as linhas da tabela:

foreach(DataRow linhaDaTabela in minhaTabela.Rows)

{ valor = linhaDaTabela["time"]; }

Dessa forma, todas as linhas da tabela "torcedorDeCoracao" serão lidas, sendo

jogada na variável "valor", para posterior manipulação dos dados.

4.3.4 Arduino

Agora trataremos do desenvolvimento na plataforma Arduino. Primeiramente,

além do arduino, precisamos de um leitor RFID, como mostrado abaixo. Esse leitor será

utilizado para fazer a leitura dos cartões.

Figura 4.6 – Leitor RFID

Page 43: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

29

Fazemos a conexão do arduino com o leitor, sendo que para tal utilizamos uma

placa protoboard. A montagem, que pode ser visualizada abaixo, é bem simples. Apenas

ligamos o 5V do módulo RFID ao pino 5V do Arduino, o pino GND do módulo RFID

ao pino GND do Arduino, e o pino D0 ou TX do módulo RFID ao pino 2 do Arduino.

Figura 4.7 – Montagem do leitor no arduino

Após isso, abrimos a IDE de programação do arduino, e inserimos o código

abaixo. Este código é responsável por ler o número do cartão e enviar para o Serial

Monitor, tendo assim o número único que será utilizado para verificar se o torcedor

efetuou a compra do jogo. #include<SoftwareSerial.h> SoftwareSerial pendrive(2,3); void setup() { Serial.begin(9600); pendrive.begin(9600); } void loop() { char entrada = 0; String resposta = ""; while(pendrive.available()) { entrada = pendrive.read(); if(entrada > 0) resposta += entrada; } pendrive.flush(); if(!resposta.equals("")) Serial.println(resposta); delay(100); }

Page 44: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

30

4.3.5 Aplicação de Leitura do Cartão

Este aplicativo foi recriado a partir do Serial Monitor do Arduino. Assim sendo,

como visto acima, conseguimos obter o número do cartão. Com este fazemos uma

consulta ao banco de dados a partir de um jogo pré-selecionado e, assim, verificamos se

o torcedor efetuou a compra do jogo.

4.4 Testes

Trata-se da investigação do software a fim de fornecer informações sobre sua

qualidade em relação ao contexto em que ele deve operar. Isso inclui a utilização do

produto para encontrar seus defeitos. O teste normalmente é realizado pelo testador de software, outra etapa do ciclo

da engenharia de software, e que envolve ações que vão desde o levantamento de

requisitos até a execução do teste propriamente dito. Em nosso projeto, foi criado um

relatório de testes, que está no Apêndice C, criado pelo próprio desenvolvedor. Este

relatório possui todos os passos para os testes serem realizados, incluindo o resultado

esperado. Com isso, os testes em si podem ser entregues para realização por outra

pessoa, sendo que, após o término, devem ser discutidos com o desenvolvedor e

corrigidos.

4.5 Instalação e Manutenção

No presente projeto, os últimos passos do ciclo de engenharia de software

(Instalação e Manutenção) não foram elaborados, porém, podemos realizar um pequeno

resumo de como isso funcionaria em produção. Após ser amplamente testado, o sistema

pode ser entregue para o cliente. O analista faz o deploy, ou seja a instalação do

software, com cliente, e posteriormente o testa em seu ambiente. Caso tudo seja operado

perfeitamente, a entrega é realizada com sucesso. Após a entrada em produção,

normalmente todos os projetos exigem um tempo de manutenção, o qual envolve

Page 45: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

31

contato corrente com o cliente, solucionando possíveis defeitos e melhorias pontuais no

sistema.

Page 46: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

32

Capítulo 5 Fluxo do Sistema

Neste capítulo, será explicado o funcionamento de todo o fluxo do sistema,

esclarecendo-se todas as regras de negócio. Regras de Negócio são declarações sobre a

forma como a empresa faz negócio. Elas refletem políticas do negócio. Com isso, as

organizações têm políticas para satisfazer os objetivos do negócio, satisfazer seus

clientes, fazer bom uso dos recursos, e obedecer às leis ou convenções gerais do

negócio.

Demonstraremos passo a passo o funcionamento do sistema, desde o cadastro

até a entrada no estádio.

5.1 Login

Ao acessar o Web Site, o torcedor encontrará o conteúdo abaixo, que consiste na

tela inicial do sistema.

Figura 5.1 – Tela de Login.

Page 47: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

33

Em se tratando do primeiro acesso, o torcedor terá que clicar em 'Registrar' para

fazer o cadastro no site. Ao fazer isso, ele será redirecionado para um formulário, onde

todos os campos serão de preenchimento obrigatório. Abaixo vemos todos os campos

necessários. Ao completar o formulário e clicar no botão 'Registrar', o cadastro estará

concluído e o usuário já estará apto a acessar o sistema.

Figura 5.2 – Tela de Registro de Usuário

Apenas como ilustração para apresentar o fluxo do sistema, criamos um login

fictício 'torcedor' e uma senha 'torcedor'. Contudo, vale lembrar que para os usuários o

login será seu CPF, que por ser um identificador único com a validação feita pela

sistema, impossibilitará uma pessoa de ter mais de um cartão.

5.2 Tela Inicial Torcedor

Em seguida, fazemos o login com o usuário mencionado acima. Caso o login e a

senha sejam digitados corretamente, o sistema redireciona o torcedor para a página

inicial do torcedor. Entretanto, caso a senha e/ou login estejam errados, uma mensagem

de erro é exibida informando isso ao usuário.

Page 48: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

34

Figura 5.3 – Tela Inicial do Torcedor

Como vemos na imagem, o torcedor possui como opção solicitar o cartão RFID,

comprar jogos, visualizar o seu histórico de jogos, além de alterar a sua senha.

5.3 Solicitar Cartão RFID

Como primeiro passo, o torcedor terá que solicitar o seu cartão RFID. Para isso,

ele terá que clicar em 'Solicitar Cartão', e então será redirecionado para a página abaixo.

Figura 5.4 – Tela de Solicitação do Cartão RFID

Page 49: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

35

Como ideia inicial, o cartão RFID terá um custo de 10 reais, valor que

entendemos razoável, já que atualmente no mercado um cartão do tipo é comprado na

internet por algo em torno de 4 reais. Com a compra em uma empresa especializada e

em grande quantidade, imaginamos que cada cartão deverá sair por não mais que 3

reais. Visto que o cartão será personalizado com a foto do torcedor, seu nome, data de

nascimento, CPF e o sexo, o custo deverá aumentar um pouco, mas nada muito além de

5 reais. O modelo do cartão está representado abaixo.

Figura 5.5 – Modelo do Cartão RFID

Dessa forma, ao preencher os dados do cartão RFID e clicar em comprar, um

pedido é enviado aos administradores do site informando que aquele torcedor efetuou a

compra e agora está pendente a entrega do cartão por parte do administrador.

5.4 Login Administrador

Com visto acima, a pendência de entrega do cartão recai sobre o administrador.

Com isso, vamos visualizar como o administrador libera o cartão para o torcedor.

Primeiramente, assim como no caso do torcedor, o administrador terá que entrar na

página inicial do web site, que é idêntica para os dois.

Como exemplo, criamos um login 'admin' e uma senha 'admin'. Porém, vale

uma observação aqui. A adição de um novo administrador somente pode ser feita a

partir de algum outro administrador, ou seja, somente um administrador existente pode

criar uma conta para outro. Visto isto, pode surgir a seguinte dúvida: como será criado o

primeiro? O primeiro administrador será criado pelo programador a partir do login e

Page 50: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

36

senha desejados pelos administradores do site que poderão alterar a senha em qualquer

momento mantendo este login, adicionando novos administradores. Voltando ao fluxo

do sistema, ao fazer o login, o administrador irá se deparar com a página abaixo.

Figura 5.6 – Tela Inicial do Administrador.

5.5 Liberar Cartão RFID

Para liberar o cartão, o administrador terá que clicar em 'Liberar Cartão' e então

será redirecionado para a página abaixo.

Como vemos, logo ao entrar na tela, aparecem todos os torcedores cujos pedidos

de cartão estão pendentes. Para liberar o cartão, primeiro o torcedor terá que comparecer

ao local credenciado, levando consigo um documento original com foto. No momento

de liberar o cartão, o funcionário terá que confirmar o nome e o CPF comparando com o

que é exibido pelo sistema. Caso esteja tudo correto, o administrador irá inserir o

número o cartão, que também é um código único, e, após clicar em 'Inserir', o cartão

será cadastrado para o torcedor e entregue ao mesmo.

Page 51: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

37

Figura 5.7 – Tela de pesquisa de pendências de cartão

5.6 Comprar Jogo

Após a liberação, o torcedor poderá fazer o login novamente no site e clicar em

'Comprar Jogo' para realizar a compra do jogo desejado. Após a escolha da rodada e do

jogo, temos o seguinte cenário.

Neste caso, o torcedor terá que inserir os seus dados bancários e então clicar em

'Comprar'. Imediatamente após a compra, o torcedor recebe um email com a

confirmação e seu cartão é carregado com aquele jogo específico. Com isto, o fluxo da

compra dos jogos está completo. Vale lembrar que se o torcedor tentar clicar para

comprar o ingresso sem ter solicitado o cartão ou sem ter tido seu cartão liberado pelos

administradores, uma mensagem informará ao usuário que está impossibilitado de

comprar o jogo devido à pendência com o cartão.

Page 52: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

38

Figura 5.8 – Tela de compra do jogo.

5.7 Histórico de Jogos

Caso o torcedor queira visualizar seu histórico de jogos, incluindo os jogos que

comprou e quanto gastou com cada jogo e no total, o usuário pode clicar em 'Histórico

de Jogos'. Nesta nova página ele terá todas as informações sobre os jogos.

Page 53: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

39

Figura 5.9 – Tela de Histórico de jogos.

Por fim, o torcedor ainda tem como funcionalidades alterar sua senha e, caso

tenha algum dúvida ou problema, pode clicar em 'Fale Conosco' para enviar suas

sugestões, reclamações ou dúvidas para o administrador do site, que irá avaliar o pedido

do torcedor.

5.8 Punir Torcedores

Além de fazer a liberação do cartão, o administrador possui ainda outras

funções, como punir torcedores. Esta função tem como principal objetivo impedir

torcedores de comprar ingressos. O torcedor pode ser punido por diversos motivos, mas,

visto a violência presente hoje em dia nos estádios, a função primordial é punir

torcedores que realizam ou incitam a violência, desde que, obviamente, assim seja

determinado pelas autoridades competentes. Para realizar esta função, o administrador

clica em 'Punir Torcedor' e, após inserir o CPF deste, confere os dados e clica em 'Punir'

para consolidar a punição, como podemos ver abaixo.

Page 54: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

40

Figura 5.10 – Tela de punição de torcedores.

Além de punir, o administrador pode cancelar a punição clicando em 'Cancelar

Punição', seguindo os mesmos passos descritos acima.

Caso um torcedor tente comprar um jogo estando punido, este será

impossibilitado, como podemos ver abaixo.

Figura 5.11 – Aviso de punição.

5.9 Histórico por Jogo

Outra funcionalidade muito importante do sistema é a consulta feita pelo

administrador por jogo. Neste relatório encontramos o total de torcedores presentes por

jogo e o total arrecadado, além da identificação de todos os torcedores presentes.

Page 55: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

41

Figura 5.12 – Histórico de Jogos

Por fim, além das funcionalidades de trocar a senha e o fale conosco (que

também estavam presentes no perfil do torcedor), temos a funcionalidade de cadastrar

administradores. Aqui um administrador tem a responsabilidade de cadastrar outros

preenchendo um formulário como vemos abaixo.

Figura 5.13 – Registro de novos Administradores.

Page 56: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

42

Com isso, concluímos todo o fluxo presente na parte web deste projeto. Agora

trataremos da parte da aplicação, que será a responsável pela liberação da entrada dos

torcedores através da leitura do cartão.

Aplicação para Leitura do Cartão

5.10 Tela principal da aplicação de Leitura do Cartão

Abaixo vemos a tela em que o adminsitrador da aplicação escolhe o jogo para

liberação da catraca. Por se tratar de um arduino para realizar o controle, outras

informações são importantes, tais como a porta de comunicação e a taxa de transmissão.

Ao clicar em 'Iniciar', a aplicação já pode ser usada em conjunto com o arduino para a

leitura dos cartões.

Figura 5.14 – Tela Inicial da aplicação de leitura de cartão.

5.11 Permitir a entrada de Torcedores

Ao clicar em iniciar, a conexão com o arduino é estabelecida. Logo, ao passar o

cartão pelo leitor, conseguimos obter o status de cada torcedor. Para o primeiro

exemplo, a entrada para o cartão 06939630 foi permitida, uma vez que o torcedor já

havia efetuado a compra do cartão.

Page 57: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

43

Figura 5.15 – Entrada permitida.

5.12 Entrada bloqueada para o mesmo Cartão

Caso o torcedor venha a passar o mesmo cartão pela roleta para o mesmo jogo, o

sistema indicará um erro, e não possibilitará a entrada do torcedor no estádio.

Figura 5.16 – Reutilização de um mesmo cartão.

Page 58: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

44

5.13 Entrada bloqueada

Por fim, se um torcedor que não tenha comprado o jogo tente passar seu cartão pelo

leitor, o aplicativo informará que a entrara foi negada e impossibilitará o torcedor de

entrar no estádio.

Figura 5.17 – Entrada bloqueada.

Com isso, terminamos todo o fluxo do sistema: começamos pelo cadastro no

site, passamos pela compra do jogo e, por fim, a entrada no estádio.

Page 59: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

45

Capítulo 6

Resultados e Conclusões

No presente capítulo tratamos dos resultados e conclusões do projeto, além de

abordarmos os planos futuros para o mesmo.

6.1 Resultados

A melhor maneira de explorar os resultados do projeto pode ser visualizada

através do relatório de testes, presente no apêndice C, que pertence a uma das etapas de

desenvolvimento de software conforme já citado no capítulo de desenvolvimento. Este

foi construído baseado nos casos de uso para comprovar as principais funcionalidades

do Web Site e assim validando o funcionamento do sistema. Vale destacar que não

houve experiência real com vários usuários, todo o relatório foi elaborado pelo próprio

programador, e os testes foram realizados por outra pessoa com todo o ambiente sendo

rodado localmente.

Nos testes vale ressalvar os casos 04, 14, 20, respectivamente cadastrar usuário,

comprar jogo e punir torcedor. Esses foram os principais funcionalidade pensadas para

elaboração do projeto. Com o teste 04 é possível ter todos os torcedores cadastrados em

uma mesma base de dados, o teste 14 facilitaríamos os torcedores para a realizar a

compra de ingressos, e por último com o teste 20 manteríamos os torcedores violentos

longe dos estádios.

Pensando em um ambiente de produção, faltaria realizar testes com vários

usuário ao mesmo tempo com o sistema rodando em um servidor global. Assim seria

possível receber um feedback com os principais problemas e pontos de melhoraria com

a finalidade de tornar o web site mais amigável.

Page 60: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

46

6.2 Conclusões No trabalho foi apresentado um sistema completo de controle de acesso a

torcedores a estádios de futebol, onde o objetivo é aumentar a presença de torcedores no

estádio através da facilidade na compra de ingressos e do aumento de segurança. O

sistema obtido após todo o processo de desenvolvimento esteve de acordo com o

proposto inicialmente, inclusive com novas ideias, tais como o fluxo de pedido e

liberação do cartão RFID.

A escolha do projeto surgiu da falta de controle na compra de ingressos e

segurança ineficaz nos estádios brasileiros e, mesmo com a copa do mundo, pouco foi

alterado neste sentido. A ideia de melhorar a qualidade de vida dos torcedores dentro

dos estádios ainda está em fase inicial no cenário brasileiro, e o projeto visa a mudança

deste conceito.

Ao longo do projeto não tivemos maiores problemas com o desenvolvimento

web, sendo que as dúvidas encontradas foram facilmente sanadas por meio de consultas

na internet. O maior problema identificado foi a dificuldade de encontrar um modo de

enviar dados do arduino para o sistema. Para tal questão a solução encontrada foi

realizar a reprodução do ambiente do arduino em um projeto de Windows Form. Deste

modo, foi criada a aplicação para a leitura do cartão. Com esta rodando localmente no

Visual Studio, conseguimos consultar o banco de dados e, assim, verificar se o cartão

estava liberado para determinado jogo. Durante o processo de desenvolvimento, foram colocados em prática muitos dos

conhecimentos obtidos na faculdade, como a modelagem do banco de dados e a

programação orientada a objeto. Também foi possível ter a oportunidade de conhecer o

framework .NET. Além disso, foi possível aprender mais sobre documentação de

sistemas, incluindo a criação de caso de uso, diagrama de classe e plano de teste, todos

criados durante o projeto.

Page 61: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

47

6.3 Trabalhos Futuros Hoje em dia, o mundo está muito dinâmico e o tempo tem sido algo muito

valioso. Com os smartphones, a vida das pessoas tem se tornado muito mais ágil, com

acessibilidade à internet na palma da mão. Tendo isso em vista, acreditamos que o

desenvolvimento futuro de um aplicativo para celulares transformará e dinamizará ainda

mais a compra de ingressos pelos torcedores. Desta forma, os torcedores poderiam a

qualquer momento efetuar a compra dos ingressos. Isso evitaria o gargalo da perda de

tempo para acessar um computador confiável com acesso à internet para efetuar a

compra dos ingressos, e, assim, seria possível tornar nossos jogos ainda mais populares

e lotados.

Page 62: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

48

Referências [1] PFLEEGER, S. LAWRENCE. Engenharia de Software Teoria e Pratica. Pearson,

2010. [2] ARDUINO, http://www.arduino.cc, 2014, (Acesso em 12 Maio 2014). [3] COUGO, P., Modelagem Conceitual e Projeto de Bancos de Dados. Rio de Janeiro,

Editora Campus, 1997. [4] ASP.NET, http://www.mundoasp.net, 2014, (Acesso em 12 Maio 2014). [5] REI, J., RFID Versus Código de Barras, M.Sc. dissertation, Universidade do Porto, Junho de 2010. [6]TREINAMENTOS TI, http://www.treinamentosti.com.br, 2014, (Acesso em 12

Maio 2014).

Page 63: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

49

Apêndice A

Documento de Requisitos

1 Introdução

1.1 Propósito

Este documento descreve os requisitos de software para o sistema Torcedor de

Coração. Esta especificação está planejada para o projetista, o desenvolvedor e o

responsável pela manutenção do sistema.

1.2 Escopo

A função do sistema é controlar a entrada de torcedores dentro de um estádio de

futebol. O sistema, através da tecnologia RFID, deve permitir ou rejeitar entradas de

torcedores no estádio de futebol.

1.3 Organização do Documento

O restante deste documento é organizado como segue: (i) haverá algumas

definições importantes na próxima subseção; (ii) o capítulo 2 contém uma descrição

geral do sistema; e (iii) o capítulo 3 identifica os requisitos.

1.4 Definições

Sistema Torcedor de Coração

Consiste no sistema onde os torcedores terão que se registrar para estarem

habilitados a comprar ingressos para as partidas de futebol.

Estádio

Page 64: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

50

Consiste no local do espetáculo com n lugares disponíveis. O número máximo

de lugares varia de acordo com cada estádio.

Entrada

A entrada consiste no local de acesso do torcedor no estádio, estando sempre

equipada com catracas dispondo de leitor RFID para leitura dos cartões, permitindo ou

não o acesso dos torcedores.

Cartão de Acesso (RFID)

Consiste do cartão de acesso dos torcedores ao estádio. Através deste cartão será

feita a compra de ingressos pelos usuários e, posteriormente, o acesso dos mesmos aos

estádios. Nos cartões serão registradas algumas informações pessoais para correta

identificação do torcedor no momento da entrada, tais como: nome completo, CPF, foto

atual, data de nascimento.

Para a obtenção do cartão de acesso RFID, o usuário deverá primeiramente se

cadastrar no site, e depois deverá retirar o seu cartão em um dos pontos credenciados

descritos no site. Para ter retirar o cartão de acesso RFID, o usuário deverá levar a

carteira de identidade ou equivalente com foto.

2.0 Descrição geral

2.1 Descrição

Os seguintes cenários apresentam uma descrição sucinta da funcionalidade do

sistema:

Perfil de Torcedor

1. Terão direito de se registrar no site e solicitar cartão de acesso.

2. Uma vez registrados e com o cartão, poderão comprar ingressos para os jogos.

3. Poderão alterar sua senha.

4. Poderão informar melhorias/dúvidas/sugestões para o site.

Page 65: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

51

Perfil de Administração

1. Visualizar todos os torcedores que comparecerão em cada jogo.

2. Punir os torcedores que cometem irregularidades, impedindo o acesso dos

mesmos aos jogos futuros.

3. Cadastrar novos administradores.

4. Visualizar torcedores com pendências de cartões solicitados e não retirados.

5. Cadastrar um cartão para um determinado torcedor.

6. Alterar sua senha

7. Informar melhorias/dúvidas/sugestões para o site.

Torcedor que não possui cadastro no site:

1. O torcedor, ao acessar o site, deve clicar no link de novo usuário.

2. O torcedor deverá cadastrar seus dados pessoais no local adequado site.

3. Por meio de CPF e senha, o usuário terá acesso ao sistema de compra de

ingressos.

Cadastro no Site:

1. O torcedor, ao se cadastrar no site, deverá informar seus dados pessoal, tais

como:

CPF, Nome completo, Data de nascimento, Email, Informação completa de sua

residência.

2. Além disso, o torcedor terá que escolher uma senha para acessos posteriores ao

site.

Cartões de acesso

1. Os cartões de acesso serão permanentes, sendo que cada usuário poderá adquirir

somente um cartão para todos os jogos e estádios. Os cartões serão identificados

por um código que o leitor de RFID interpreta para determinar se a entrada é

válida ou não.

2. Não é necessário que os números de cartão sejam sequenciais.

Page 66: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

52

Solicitar cartão:

1. Ao efetuar o login no site, o torcedor poderá solicitar seu cartão para

posteriormente comprar ingressos para os jogos.

Compra de ingresso pelo torcedor:

1. Ao efetuar o login no site, o torcedor escolherá o jogo que deseja comprar.

2. Após isto, o torcedor poderá utilizar seu cartão de credito para efetuar a compra

de seu ingresso.

Torcedor punido:

1. O torcedor eventualmente punido, após realizar o login no site, não conseguirá

adquirir seu ingresso, sendo mostrada uma mensagem de aviso impossibilitando

a compra.

Entrada do torcedor com seu cartão carregado:

1. O torcedor deverá levar seu cartão para o estádio.

2. Na catraca deverá aproximar seu cartão do leitor e então a sua entrada será

liberada.

3. Ao liberar a entrada, automaticamente o cartão deverá ter seu ingresso

descontado do cartão.

Entrada do torcedor com cartão sem crédito:

1. O torcedor, ao aproximar seu cartão do leitor da catraca, não terá seu acesso ao

estádio liberado.

2.2 Perspectiva do produto

Page 67: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

53

O software é um sistema web feito em asp.net com C#. Estão descritas abaixo as

características dos dispositivos que o sistema de software deve controlar.

Para cada Entrada:

- uma catraca com leitor de cartão RFID

Para o Sistema Web:

- Um sistema de cadastro de torcedor

- Um sistema de compra de ingressos

- Um sistema de punição dos torcedores

Para o Sistema local (aplicação que lê os cartões):

- Um sistema que controla a entrada dos torcedores

2.3 Funções do produto

Através do seu site, o sistema deverá ser capaz de controlar a compra de

ingressos para os jogos de futebol. Através de seu cadastro no site, o usuário poderá

escolher o seu jogo de preferência e, assim, efetuar a compra. Após a compra, o seu

cartão RFID será carregado com uma carga exclusiva para aquele jogo, de forma que

no dia da partida ele apenas terá que levar seu cartão para a partida. No estádio, o

usuário passará o cartão pelo leitor da catraca, liberando seu acesso. Nesse processo o

crédito adquirido para aquela partida será descontado, não podendo ser reutilizado.

Após, será atualizado no site que o usuário esteve presente no jogo. Dessa forma,

teremos um relatório com todos os torcedores que compareceram a cada partida.

A partir dos dados obtidos para o jogo, em caso de algum tipo de incidente ou

irregularidade, as autoridades responsáveis poderão investigar e eventualmente punir os

torcedores envolvidos, que poderão até ser seu acesso para partidas futuras negado. Isso

será feito através do sistema, onde haverá um perfil de administrador que será capaz de

punir os torcedores e impedi-los de comprar ingressos.

2.4 Características do usuário

Page 68: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

54

Os usuários do sistema (os torcedores) não requerem treinamento especial,

apenas um mínimo conhecimento sobre informática e acesso à internet.

2.5 Suposições sobre o sistema

Todo torcedor poderá ter somente um cartão de acesso RFID;

Todo o torcedor poderá ter apenas um login no site;

Todo o torcedor terá que utilizar cartão de crédito para efetuar a compra de

ingressos no site;

Todas as catracas terão leitores de cartões RFID;

Todos os cartões terão um identificador único;

Todos os torcedores poderão comprar somente 1 ingresso para um mesmo cartão

RFID;

3.0 Requisitos

3.1 Requisitos funcionais

Esta é uma lista de requisitos funcionais que o sistema deve satisfazer.

Requisito Funcional 1:

O sistema terá que limitar o número de ingressos disponíveis à carga máxima do

estádio.

n: número máximo de ingressos disponíveis para um jogo;

r: número de ingressos vendidos;

Sempre:

a = n – r >=0

a : número de ingressos disponíveis. Este número nunca poderá ser negativo.

O n será informado pelo administrador do site ao cadastrar cada jogo.

Requisito Funcional 2

Descrição: A catraca deve controlar o acesso dos torcedores aos jogos.

Page 69: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

55

Requisito Funcional 3

Descrição: O sistema tem que garantir a compra de ingressos pelos torcedores.

Requisito Funcional 4

Descrição: O sistema tem que garantir que apenas torcedores com ingressos

comprados tenham crédito em seu cartão para cada jogo específico.

Requisito Funcional 5

Descrição: O sistema tem que garantir que os torcedores punidos não obterão acesso

a estádios com seu cartão RFID.

Requisito Funcional 6

Descrição: O sistema tem que garantir que apenas usuários cadastrados possam

acessar a área do site reservada para aquisição de ingressos.

Requisito Funcional 7

Descrição: O sistema enviará e-mail com o comprovante de pagamento quando o

usuário efetuar o pagamento do ingresso.

Requisito Funcional 8

Descrição: O sistema tem que garantir que os usuários comprem somente um

ingresso para cada partida.

Requisito Funcional 9

Descrição: O sistema terá que ter dois perfis de acesso, o de Torcedor e o de

Administrador.

Requisito Funcional 10

Descrição: Caso um usuário faça o login no site mas ainda não tenha um cartão

RFID configurado para ele, o usuário deverá ficar com o status pendente no site e não

poderá comprar ingressos.

Requisito Funcional 11

Page 70: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

56

Descrição: Diminuir o número de ingressos disponíveis quando um torcedor efetua

a comprar de ingresso para uma partida; ou seja, diminui em 1 o valor de n.

Requisito Funcional 12

Descrição: O sistema terá que ter uma tela onde será possível punir os torcedores.

Requisito Funcional 13

Descrição: O sistema terá que ter uma tela de cadastro de torcedor com os campos

obrigatórios descritos nesse documento.

Requisito Funcional 14

Descrição: No sistema deverá ser possível visualizar todos os torcedores que

compareceram a determinado jogo.

Requisito Funcional 15

Descrição: O sistema deverá permitir que administradores cadastrem outros pessoas

como administradores.

Requisito Funcional 16

Descrição: O sistema deverá ter um relatório com todos os usuários com status

pendente de recebimento do cartão.

Requisito Funcional 17

Descrição: O sistema deverá permitir que o administrador libere o cadastro de cartão

para determinado torcedor.

Requisito Funcional 18

Descrição: O sistema deverá permitir que o administrador cadastre novas partidas

para um determinada rodada.

3.2 Interfaces de hardware

Devem existir interfaces de hardware com os leitores de cartão.

Page 71: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

57

3.3 Requisitos de desempenho

Requisito de Desempenho 1

Descrição: depois que um usuário passar pela catraca, esta terá que estar disponível

em no máximo 2 segundos para a entrada de um novo usuário.

Requisito de Desempenho 2

Descrição: Os relatórios com todos os torcedores que compareceram a cada jogo

deverão ser finalizados em no máximo 2 minutos.

3.4 Atributos

3.4.1 Disponibilidade

O sistema tem que estar disponível 24 h/dia, 7 dias por semana, podendo ser

parado em alguns instantes para atualização do sistema, mas com aviso prévio aos

usuários.

3.4.2 Proteção

Nenhum cartão diferente dos utilizados pelo sistema poderá ser aceito pelo leitor

de cartão. Nenhuma pessoa sem login poderá acessar o site.

3.4.3 Manutenção

A manutenção de melhorias do sistema deverá ser feita aos domingos e na parte

da noite.

Page 72: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

58

Apêndice B

Casos de Uso 1. Objetivo

Esse documento demonstra o modelo e a descrição dos Casos de Uso para o sistema

Torcedor de Coração.

2. Casos de Uso Sistema Web

UC1 Caso de Uso: Fazer Login Atores: Torcedor Propósito: O caso de uso inicia quando o usuário solicita fazer o login no

sistema, ou quando uma operação o que exige autenticação. Pré-Condições: Usuário está cadastrado no sistema Pós-Condições: Usuário está autenticado no sistema

Curso Típico de Eventos Ator (Cliente) Sistema

2. O usuário informa seu CPF e sua senha nos campos referentes.

1. O sistema apresenta uma tela com campos de CPF e senha, e uma opção "Esqueci minha senha".

3. Se o CPF está cadastrado, e a senha estiver

Page 73: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

59

correta, o sistema autentica o usuário. Caso contrário, o sistema informa que houve uma falha de autenticação e retorna para o passo 1.

Fluxo Alternativo

1.2 O usuário seleciona "Esqueci minha senha" na tela de login.

2.2 O sistema apresenta uma nova tela, onde o usuário deverá informar seu CPF.

2.3 O usuário informa o CPF 2.4 Se o CPF estiver cadastrado, uma nova senha é gerada e enviada por e-mail ao usuário. Caso contrário, o usuário é informado que o CPF não existe e retorna ao passo anterior.

UC2 Caso de Uso: Cadastrar no site Atores: Torcedor Propósito: O caso de uso inicia quando o usuário deseja se registrar no site. Pré-Condições: Nenhuma Pós-Condições: Usuário é cadastrado no sistema

Curso Típico de Eventos Ator (Cliente) Sistema

1. O usuário clica na opção de “Resgistrar”

2. O sistema apresenta um formulário onde todos os campos do formulário são de preenchimento obrigatório.

3. O usuário preenche todos os campos e clica em cadastrar.

4. Então, o sistema cadastra o novo usuário no sistema.

Fluxo Alternativo

2.3 O sistema apresenta um mensagem dizendo

que o CPF é invalido ou já está cadastrado, e impossibilita o usuário de se registrar.

Validação de Dados Campo Obrigatório Restrição Nome X -

Sobrenome X -

CPF X Deve conter 12 dígitos com o formato [xxxxxxxxx-

xx] O CPF cadastrado deve ser único no sistema

Senha X Deve ter entre 6-12 caracteres Confirmação

Senha X Deve ter entre 6-12 caracteres e ser igual ao campo Senha

Data de Nascimento X Formato de data, gerado a partir do calendário que

aparece ao clicar sobre o campo.

Page 74: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

60

CEP X Deve conter 8 dígitos com o formato [xxxxx-xxx] Endereço X -

Bairro X - Cidade X -

Telefone X Deve conter 11 dígitos com o formato [(xx) xxxxx-xxxx]

E-mail X -

UC3 Caso de Uso : Comprar Ingressos Atores: Torcedor Propósito: O caso de uso inicia quando o usuário deseja comprar um jogo. Pré-Condições: O Usuário está logado no site Pós-Condições: O ingresso é comprado

Curso Típico de Eventos Ator (Cliente) Sistema

1. O usuário clica em 'Compra Jogo' 3. O usuário seleciona a rodada desejada 2. O sistema apresenta um combobox com as de

rodadas cadastradas. 5. O usuário seleciona o jogo desejado. 4.O sistema apresenta os jogos relativos aquela

rodada. 7. O usuário informa suas opções bancárias e clica em “Comprar”

6. O sistema apresentada os dados relativos aquele jogo, além dos campos para preenchimento dos dados do cartão.

8. O sistema redireciona para um tela de confirmação de compra.

Fluxo Alternativo

2.6 O sistema não consegue validar a compra do

usuário e redireciona para uma tela de erro.

UC4 Caso de Uso : Fale Conosco Atores: Torcedor Propósito: O caso de uso inicia quando o usuário tem alguma dúvida/sugestão

sobre o site. Pré-Condições: O Usuário está logado no site Pós-Condições:

Curso Típico de Eventos Ator (Cliente) Sistema

1. O usuário clica em Fale Conosco 2. O sistema apresenta um formulário, onde

todos os campos são de preenchimento obrigatório.

3. O usuário preenche seu nome, email, assunto, e no campo descrição envia sua dúvida, crítica, elogio, sugestão.

4. Um email é enviado para o administrador do site.

Page 75: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

61

Validação de Dados Campo Obrigatório Restrição Nome X -

Assunto X - Descrição X -

E-mail X -

UC5 Caso de Uso : Alterar Senha Atores: Torcedor Propósito: O caso de uso inicia quando o usuário deseja trocar sua senha. Pré-Condições: O Usuário está logado no site Pós-Condições:

Curso Típico de Eventos Ator (Cliente) Sistema

1. O usuário clica em 'Alterar Senha' 2. O sistema apresenta um formulário com os

campos CPF, nova senha, e confirmação de senha.

3. O usuário preenche o CPF e a nova senha 4. A nova senha é atualizada no banco de dados para aquele usuário.

Fluxo Alternativo

2.1 O sistema apresenta um mensagem dizendo

que o CPF é invalido, e impossibilita o usuário de trocar a senha.

Validação de Dados Campo Obrigatório Restrição

CPF X Deve conter 12 dígitos com o formato [xxxxxxxxx-xx]

Senha X Deve ter entre 6-12 caracteres Confirmação

Senha X Deve ter entre 6-12 caracteres e ser igual ao campo Senha

UC6 Caso de Uso : Solicitar Cartão Atores: Torcedor Propósito: O caso de uso inicia o torcedor deseja solicitar um cartão RFID. Pré-Condições: O usuário está logado no site. Pós-Condições:

Curso Típico de Eventos Ator (Cliente) Sistema

Page 76: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

62

1. O usuário clica em 'Solicitar Cartão' 2. O sistema apresenta um formulário para o usuário preencher com o dados bancários para a compra do cartão.

3. O usuário preenche seus dados. 4. O sistema indica para o administrador que o usuário ta com pendência de recebimento do cartão.

Fluxo Alternativo

2.3 O sistema não consegue validar a compra do

usuário e redireciona para uma tela de erro.

Administrador

UC7 Caso de Uso: Fazer Login Atores: Administrador Propósito: O caso de uso inicia quando o usuário solicita fazer o login no

sistema, ou quando uma operação o que exige autenticação. Pré-Condições: Usuário está cadastrado no sistema Pós-Condições: Usuário está autenticado no sistema

Curso Típico de Eventos Ator (Cliente) Sistema

2. O usuário informa sua matrícula e sua senha nos campos referentes.

1. O sistema apresenta uma tela com campos de matrícula e senha, e uma opção "Esqueci minha senha".

3. Se a matrícula está cadastrado, e a senha estiver correta, o sistema autentica o usuário. Caso contrário, o sistema informa que houve uma falha de autenticação e retorna para o passo

Page 77: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

63

1.

Fluxo Alternativo

1.2 O usuário seleciona "Esqueci minha senha" na tela de login.

2.2 O sistema apresenta uma nova tela, onde o usuário deverá informar sua matrícula.

2.3 O usuário informa a matrícula. 2.4 Se a matrícula estiver cadastrada, uma nova senha é gerada e enviada por e-mail ao usuário. Caso contrário, o usuário é informado que a matrícula não existe e retorna ao passo anterior.

UC8 Caso de Uso: Cadastrar Novos Administradores Atores: Administrador Propósito: O caso de uso inicia quando o usuário deseja cadastrar um novo

administrador para o site. Pré-Condições: Um administrador estar logado com o perfil de administrador. Pós-Condições: Um novo administrador é cadastrado no sistema.

Curso Típico de Eventos Ator (Cliente) Sistema

1. O administrador clica em cadastrar novo administrador.

2. O sistema apresenta um formulário onde todos os campos do formulário são de preenchimento obrigatório.

3. O administrador logado preenche todos os campos referente ao novo administrador do site.

4. Então, o sistema cadastra o novo administrador no sistema.

Fluxo Alternativo

2.3 O sistema apresenta um mensagem dizendo

que a matricula é invalido ou já está cadastrada, e impossibilita o cadastro do novo administrador.

Validação de Dados Campo Obrigatório Restrição Nome X -

Sobrenome X -

Matrícula X Deve conter 11 dígitos A matrícula cadastrada deve ser única no sistema

Senha X Deve ter entre 6-12 caracteres Confirmação

Senha X Deve ter entre 6-12 caracteres e ser igual ao campo Senha

Data de Nascimento X Formato de data, gerado a partir do calendário que

aparece ao clicar sobre o campo. CEP X Deve conter 8 dígitos com o formato [xxxxx-xxx]

Page 78: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

64

Endereço X - Bairro X - Cidade X -

Telefone X Deve conter 11 dígitos com o formato [(xx) xxxxx-xxxx]

E-mail X -

UC9

Caso de Uso : Fale Conosco Atores: Administrador Propósito: O caso de uso inicia quando o usuário tem alguma dúvida/sugestão

sobre o site. Pré-Condições: O administrador está logado no site Pós-Condições:

Curso Típico de Eventos Ator (Cliente) Sistema

1. O administrador clica em Fale Conosco 2. O sistema apresenta um formulário, onde

todos os campos são de preenchimento obrigatório.

3. O administrador preenche seu nome, email, assunto, e no campo descrição envia sua dúvida, crítica, elogio, sugestão.

4. Um email é enviado para o programador do site com as informações.

Validação de Dados Campo Obrigatório Restrição Nome X -

Assunto X - Descrição X -

E-mail X -

UC10 Caso de Uso : Alterar Senha Atores: Administrador Propósito: O caso de uso inicia quando o Administrador deseja trocar sua

senha. Pré-Condições: O Administrador tenha pedido uma nova senha clicando em

'Esqueci a senha' na tela inicial, e depois tenha feito o login no site. Pós-Condições:

Curso Típico de Eventos Ator (Cliente) Sistema

1. O Administrador clica em 'Alterar Senha' 2. O sistema apresenta um formulário com os

campos CPF, nova senha, e confirmação de senha.

3. O Administrador preenche o a matrícula e a nova senha

4. A nova senha é atualizada no banco de dados para aquele usuário.

Page 79: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

65

Fluxo Alternativo

2.1 O sistema apresenta um mensagem dizendo

que a matrícula é invalida, e impossibilita o usuário de trocar a senha.

Validação de Dados Campo Obrigatório Restrição

CPF X Deve conter 12 dígitos com a máscara no formato [xxxxxxxxx-xx]

Senha X Deve ter entre 6-12 caracteres Confirmação

Senha X Deve ter entre 6-12 caracteres e ser igual ao campo Senha

UC11 Caso de Uso : Liberar Cartão Atores: Administrador Propósito: O caso de uso inicia quando o Administrador deseja liberar um

cartão para um determinado torcedor. Pré-Condições: O torcedor já tenha solicitado o pedido do cartão. Pós-Condições: O cartão é liberado para o torcedor.

Curso Típico de Eventos Ator (Cliente) Sistema

1. O Administrador clica em 'Liberar Cartão' 2. O sistema apresenta um campo para o

preenchimento do CPF. 3. O Administrador preenche o CPF do torcedor.

4. O sistema apresenta dados do torcedor, além de um campo para o preenchimento do número do cartão.

5. O Administrador preenche com o número do cartão e clica em 'Inserir'.

6. O sistema grava o numero do cartão para o determinado torcedor.

Fluxo Alternativo

2.1 O sistema apresenta um mensagem dizendo que o CPF é invalido, e impossibilita o administrador de cadastrar o cartão.

UC12

Page 80: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

66

Caso de Uso : Punir Torcedor Atores: Administrador Propósito: O caso de uso inicia quando o Administrador punir algum torcedor,

impedindo este de comprar algum jogo. Pré-Condições: O administrador esteja logado no sistema. Pós-Condições:

Curso Típico de Eventos Ator (Cliente) Sistema

1. O Administrador clica em 'Punir Torcedor' 2. O sistema apresenta um campo para o

preenchimento do CPF. 3. O Administrador preenche o CPF do torcedor.

4. O sistema apresenta dados do torcedor.

5. O administrador clica em 'Punir'. 6. O sistema pune o torcedor impedindo este de comprar ingressos.

Fluxo Alternativo

2.1 O administrador escreve um CPF inválido, e o sistema envia uma mensagem de CPF não cadastrado no sistema.

UC13 Caso de Uso : Consultar Relatório de Torcedores Atores: Administrador Propósito: O caso de uso inicia quando o Administrador deseja visualizar os

torcedores presentes em determinada partida. Pré-Condições: O administrador esteja logado no sistema. Pós-Condições:

Curso Típico de Eventos Ator (Cliente) Sistema

1. O Administrador clica em 'Relatório por Jogo'

2. O sistema apresenta um combobox para escolha da rodada

3. O Administrador escolhe a rodada desejada

4. O sistema apresenta um combox para a escolha do jogo

6. O administrador escolhe o jogo desejado e clica em 'Relatório'.

6. O sistema apresenta uma grid como todos os torcedores presentes, com alguns de seus dados pessoais, e o valor pago no ingresso. Além disso, é apresentado o valor total de torcedores presentes e o total arrecadado.

UC14

Page 81: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

67

Caso de Uso : Cadastrar Novas Partidas Atores: Administrador Propósito: O caso de uso inicia quando o Administrador deseja cadastrar um

nova partida. Pré-Condições: O administrador esteja logado. Pós-Condições:

Curso Típico de Eventos Ator (Cliente) Sistema

1. O Administrador clica em 'Adicionar Jogo' 2. O sistema apresenta campos para

preenchimento das informações sobre a partida. 3. O administrador preenche os campos e clica em 'Cadastrar'

4. O sistema cadastra a partida e fica disponível para o torcedor comprar ingressos.

Validação de Dados Campo Obrigatório Restrição Rodada X Combobox

Data X Formato de data, gerado a partir do calendário que aparece ao clicar sobre o campo.

Time Mandante X Combobox Time Visitante X Combobox

Horário X Deve conter 4 dígitos com o formato [xx:xx] Estádio X Combobox Preço X -

Capacidade X -

UC15 Caso de Uso : Consultar Relatório de Cartões Pendentes Atores: Administrador Propósito: O caso de uso inicia quando o Administrador consultar quais

torcedores estão com status de cartão pendendo para o administrador.

Pré-Condições: O torcedor já tenha solicitado o solicitado o cartão. Pós-Condições:

Curso Típico de Eventos Ator (Cliente) Sistema

1. O Administrador clica em 'Liberar Cartão' 2. O sistema apresenta uma grid com todos os

torcedores pendentes, além da quantidade destes.

Fluxo Alternativo

2.1 O sistema apresenta uma mensagem dizendo

que o total de pendências é zero.

Módulo (Aplicação) de Leitura RFID

Page 82: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

68

UC16 Caso de Uso : Escolher Jogo Atores: Administrador do Módulo Propósito: O caso de uso inicia quando o Administrador deseja escolher um

jogo para posterior leitura do cartão. Pré-Condições: Ter acesso ao módulo Leitor RFID Pós-Condições: Programa pronto para ler os cartões.

Curso Típico de Eventos Ator (Cliente) Sistema

1. O Administrador abre o programa 3. O Administrador escolhe a rodada 2. O sistema apresenta uma tela com um

combobox para a escolha da rodada 4. O administrador escolhe o jogo desejado e clica em 'Iniciar', para ativar o sistema para a leitura dos cartões.

4. O sistema apresenta combobox para escolha do jogo

Leitor RFID

UC17 Caso de Uso : Liberar Entrada Atores: Leitor RFID

Page 83: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

69

Propósito: O caso de uso inicia quando um cartão é passado pelo leitor RFID Pré-Condições: Ter o cartão cadastrado na base de dados. Pós-Condições:

Curso Típico de Eventos Ator (Cliente) Sistema

1. O leitor lê o cartão 2. O sistema consulta na base de dados se o

cartão está com a entrada está liberada. 3. O leitor enviar uma mensagem para o programa dizendo se a entrada do cartão está liberada ou não.

Page 84: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

70

Apêndice C Plano de Teste

3. Objetivo

Esse documento descreve os procedimentos definidos para executar os testes no

sistema e assegurar sua qualidade. Também pode ser encontrada a descrição dos casos

de teste.

4. Premissas

Deverá ser feita uma carga de dados para poder executar os testes.

5. Casos de Teste

Identificador: CT-001 Perfil: Torcedor/Administrador Caso de Teste: Fazer Login Funcionalidade: Login Objetivo: Testar a funcionalidade Login no Sistema. Pré-Condição: Possuir usuário válido para efetuar o login.

Procedimento: Acessar o sistema; Inserir usuário e senha; Clicar em “Entrar”.

Resultado Esperado: Login do usuário efetuado com sucesso; Usuário redirecionado para a tela principal.

Resultado Final: Sucesso Identificador: CT-002 Perfil: Torcedor/Administrador Caso de Teste: Fazer Login Funcionalidade: Login

Objetivo: Testar a funcionalidade Login no Sistema sem preencher os campos obrigatórios.

Pré-Condição:

Procedimento: Acessar o sistema; Não Inserir usuário e senha; Clicar em “Entrar”.

Page 85: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

71

Resultado Esperado: O sistema deve informar a necessidade de preencher os campos obrigatórios.

Resultado Final: Sucesso Identificador: CT-003 Perfil: Torcedor/Administrador Caso de Teste: Fazer Login Funcionalidade: Login

Objetivo: Testar a funcionalidade Login no Sistema preenchendo um CPF/matrícula não cadastrado.

Pré-Condição:

Procedimento: Acessar o sistema; Inserir CPF não cadastrado e senha; Clicar em “Entrar”.

Resultado Esperado: O sistema deve informar que o CPF/matrícula não está cadastrado na base de dados.

Resultado Final: Corrigido, o sistema não informava mensagem de CPF/matrícula não cadastrados.

Identificador: CT-004 Perfil: Torcedor Caso de Teste: Registrar Usuário no Sistema Funcionalidade: Registro de usuário Objetivo: Testar a funcionalidade de registro de Usuário no Sistema. Pré-Condição:

Procedimento:

Entrar na tela no site Clicar em Registrar Inserir dados do usuário; Clicar em “Registrar”.

Resultado Esperado: Usuário é cadastrado com sucesso; Resultado Final: Sucesso Identificador: CT-005 Perfil: Torcedor Caso de Teste: Registrar Usuário no Sistema sem Campos Obrigatórios Funcionalidade: Registro de Usuário

Objetivo: Testar a funcionalidade de cadastro de usuário no Sistema sem preencher os campos obrigatórios.

Pré-Condição:

Procedimento:

Entrar na tela do site Clicar em Registrar Não inserir os dados do usuário; Clicar em “Registrar”.

Resultado Esperado: O sistema deve informar a necessidade de preencher os campos obrigatórios.

Resultado Final: Sucesso

Page 86: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

72

Identificador: CT-006 Perfil: Torcedor Caso de Teste: Cadastrar Usuário no Sistema - Testar Mascara dos Campos Funcionalidade: Cadastro do Usuário

Objetivo: Testar a funcionalidade de cadastro de usuário no Sistema com os campos que possuem mascara preenchido com valores errados.

Pré-Condição: Ter efetuado login no sistema.

Procedimento:

Entrar na tela do site Clicar em Registrar Inserir os dados do usuário; Nos campos que possuem mascara preencher com valores

errados; Clicar em “Registrar”.

Resultado Esperado: O sistema deve informar que os valores inseridos são inválidos.

Resultado Final: Corrigido, verificação de erros para as mascaras. Identificador: CT-007 Perfil: Torcedor Caso de Teste: Cadastrar Usuário no Sistema - Testar CPF Duplicado Funcionalidade: Cadastro do Usuário

Objetivo: Testar a funcionalidade de cadastro de usuário no Sistema com um CPF já cadastrado anteriormente.

Pré-Condição:

Procedimento:

Entrar na tela do site Clicar em Registrar Inserir os dados do usuário com o campo CPF duplicado; Clicar em “Registrar”.

Resultado Esperado: O sistema deve informar que o CPF deve ser único no sistema

Resultado Final: Sucesso Identificador: CT-008 Perfil: Torcedor Caso de Teste: Solicitar Cartão para o administrador do site Funcionalidade: Solicitar Cartão Objetivo: Testar a funcionalidade de solicitar o cartão RFID no sistema. Pré-Condição: Ter efetuado login no sistema.

Procedimento: Entrar na tela "Solicitar Cartão" Inserir dados do cartão de crédito para efetuar a compra Clicar em “Comprar”.

Resultado Esperado: Flag no banco de dados é alterado para Sim para comprovar

o pedido do Torcedor. Cartão é solicitado com sucesso.

Page 87: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

73

Resultado Final: Sucesso Identificador: CT-009 Perfil: Administrador Caso de Teste: Liberar Cartão para o Torcedor no sistema Funcionalidade: Liberar Cartão

Objetivo: Testar a funcionalidade de liberar o cartão RFID no sistema para um determinado torcedor.

Pré-Condição: Ter efetuado login no sistema.

Procedimento:

Entrar na tela "Liberar Cartão" Pesquisar pelo CPF do Torcedor Inserir o número do cartão RFID do torcedor no campo que

destinado. Clicar em 'Inserir'

Resultado Esperado: Campo no campo fica preenchido com o número do cartão

digitado pelo administrador. Cartão é inserido com sucesso para o Torcedor.

Resultado Final: Sucesso Identificador: CT-010 Perfil: Administrador Caso de Teste: Liberar Cartão para um Torcedor sem CPF cadastrado. Funcionalidade: Liberar Cartão

Objetivo: Testar a funcionalidade de liberar o cartão RFID no sistema para um determinado torcedor sem CPF cadastrado

Pré-Condição: Ter efetuado login no sistema.

Procedimento: Entrar na tela "Liberar Cartão" Pesquisar pelo CPF do Torcedor

Resultado Esperado: O sistema irá exibir um mensagem que o CPF não está

cadastrado e o cartão não poderá ser liberado para aquele torcedor.

Resultado Final: Sucesso Identificador: CT-011 Perfil: Administrador Caso de Teste: Adicionar Jogo no sistema Funcionalidade: Adicionar Jogo Objetivo: Testar funcionalidade de adicionar jogo Pré-Condição: Ter efetuado login no sistema.

Procedimento:

Entrar na tela "Adicionar Jogo" Selecionar a rodada, data do jogo, time mandante, time

visitante, horário da partida, estádio, preço do jogo e capacidade.

Clicar em 'Cadastrar'

Resultado Esperado: O sistema irá exibir um mensagem que o jogo foi

cadastrado com sucesso. O jogo é cadastrado na base de dados do sistema.

Resultado Final: Sucesso

Page 88: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

74

Identificador: CT-012 Perfil: Administrador Caso de Teste: Adicionar Jogo já cadastrado Funcionalidade: Adicionar Jogo

Objetivo: Testar a funcionalidade de adicionar um jogo sendo que este já havia sido cadastrado no sistema.

Pré-Condição: Ter efetuado login no sistema.

Procedimento:

Entrar na tela "Adicionar Jogo" Selecionar a rodada, data do jogo, time mandante, time

visitante, horário da partida, estádio, preço do jogo e capacidade para um jogo para cadastrado.

Clicar em 'Cadastrar'

Resultado Esperado: O sistema irá exibir um mensagem que o jogo já foi cadastrado no sistema.

Resultado Final: Sucesso Identificador: CT-013 Perfil: Administrador Caso de Teste: Adicionar Jogo com campos vazios Funcionalidade: Adicionar Jogo

Objetivo: Testar funcionalidade de adicionar jogo sem preencher todos os campos requeridos

Pré-Condição: Ter efetuado login no sistema.

Procedimento: Entrar na tela "Adicionar Jogo" Não preencher ao menos um dos campos Clicar em 'Cadastrar'

Resultado Esperado: O sistema irá exibir um mensagem que todos os campos são de preenchimento obrigatório.

Resultado Final: Sucesso Identificador: CT-014 Perfil: Torcedor Caso de Teste: Comprar Jogo pelo Sistema Funcionalidade: Comprar Jogo

Objetivo: Testa a funcionalidade de comprar jogo já cadastrado pelo administrador

Pré-Condição: Ter efetuado login no sistema e possuir cartão RFID liberado pelo administrador.

Procedimento:

Entrar na tela "Comprar Jogo" Preencher a rodada e o jogo desejado Preencher os dados do cartão de crédito Clicar em 'Comprar'

Resultado Esperado: O sistema irá exibir uma mensagem informando que o jogo

foi comprado com sucesso, e o cartão RFID do usuário será carregado.

Resultado Final: Sucesso

Page 89: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

75

Identificador: CT-015 Perfil: Torcedor Caso de Teste: Comprar Jogo já comprado Funcionalidade: Comprar Jogo

Objetivo: Teste Funcionalidade de comprar jogo já comprado pelo torcedor

Pré-Condição: Ter efetuado login no sistema e e possuir cartão RFID liberado pelo administrador.

Procedimento:

Entrar na tela "Comprar Jogo" Preencher a rodada e o jogo desejado Preencher os dados do cartão de crédito Clicar em 'Comprar'

Resultado Esperado: O sistema irá exibir uma mensagem informando que o jogo já foi comprado por aquele torcedor.

Resultado Final: Sucesso Identificador: CT-016 Perfil: Torcedor Caso de Teste: Comprar Jogo sem ter solicitado cartão RFID Funcionalidade: Comprar Jogo

Objetivo: Testar Funcionalidade de comprar jogo sem ter solicitado o cartão no site

Pré-Condição: Ter efetuado login no sistema Procedimento: Entrar na tela "Comprar Jogo"

Resultado Esperado: O sistema irá exibir uma mensagem informando que o torcedor ainda não solicitou o cartão RFID.

Resultado Final: Sucesso Identificador: CT-017 Perfil: Torcedor Caso de Teste: Comprar Jogo sem ter o cartão liberado pelo administrador Funcionalidade: Comprar Jogo

Objetivo: Testar Funcionalidade de comprar jogo sem ter o cartão liberado pelo administrador

Pré-Condição: Ter efetuado login no sistema e ter solicitado o cartão pelo site

Procedimento: Entrar na tela "Comprar Jogo"

Resultado Esperado:

O sistema irá exibir uma mensagem informando que o cartão foi solicitado porém ainda não foi liberado pelo administrador, solicitando então o torcedor ir em uma central de atendimento retirar o cartão.

Resultado Final: Sucesso

Identificador: CT-017 Perfil: Torcedor

Page 90: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

76

Caso de Teste: Histórico de jogos Funcionalidade: Histórico de jogos Objetivo: Testar funcionalidade de visualizar o histórico de jogo Pré-Condição: Ter efetuado login no sistema Procedimento: Entrar na tela "Histórico de Jogos"

Resultado Esperado:

O sistema irá apresentar um relatório com todos os jogos comprados pelo usuário, com os jogos, a data, e o valor do ingresso. Também é apresentado o número total de jogos comprados pelo torcedor e o valor total gasto.

Resultado Final: Sucesso Identificador: CT-018 Perfil: Torcedor Caso de Teste: Histórico de jogos sem ter comprado nenhum jogo Funcionalidade: Histórico de jogos

Objetivo: Teste Funcionalidade de visualizar o histórico de jogo sem ter comprado nenhum jogo

Pré-Condição: Ter efetuado login no sistema Procedimento: Entrar na tela "Histórico de Jogos"

Resultado Esperado: O sistema irá apresentar uma mensagem informando que o torcedor ainda não comprou nenhum jogo.

Resultado Final: Sucesso

Identificador: CT-019 Perfil: Torcedor Caso de Teste: Punir Torcedor Funcionalidade: Punição

Objetivo: Testar Funcionalidade de punir Torcedor com objetivo de impedir este de comprar ingressos

Pré-Condição: Ter efetuado login no sistema

Procedimento:

Entrar na tela "Punir Torcedor" Inserir um CPF válido As informações do torcedor irão aparecer na tela, clicar em

'Punir'

Resultado Esperado:

Flag de punição no banco de dados é alterado para Sim para comprovar a punição do Torcedor.

O sistema irá apresentar uma mensagem informando que o torcedor foi punido.

Resultado Final: Sucesso

Identificador: CT-020 Perfil Torcedor

Page 91: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

77

Caso de Teste: Punir Torcedor - CPF inválido Funcionalidade: Punição Objetivo: Testar Funcionalidade de punir Torcedor com CPF inválido Pré-Condição: Ter efetuado login no sistema

Procedimento: Entrar na tela "Punir Torcedor" Inserir um CPF inválido Clicar em Pesquisar

Resultado Esperado: O sistema irá apresentar uma mensagem informando o CPF é inválido.

Resultado Final: Sucesso

Identificador: CT-021 Perfil Torcedor Caso de Teste: Cancelar Punição do Torcedor Funcionalidade: Cancelar Punição

Objetivo: Testar Funcionalidade de cancelar a Punição do Torcedor permitindo este de comprar ingressos

Pré-Condição: Ter efetuado login no sistema

Procedimento:

Entrar na tela "Cancelar Punição" Inserir um CPF válido As informações do torcedor irão aparecer na tela, clicar em

'Punir'

Resultado Esperado:

Flag de punição no banco de dados é alterado para Não para comprovar o cancelamento da punição do Torcedor.

O sistema irá apresentar uma mensagem informando que a punição foi cancelada.

Resultado Final: Sucesso

Identificador: CT-022 Perfil: Torcedor Caso de Teste: Cancelar Punição do Torcedor - CPF inválido Funcionalidade: Cancelar Punição Objetivo: Testar Funcionalidade de cancelar a Punição com CPF inválido Pré-Condição: Ter efetuado login no sistema

Procedimento: Entrar na tela "Cancelar Punição" Inserir um CPF inválido Clicar em 'Pesquisar'

Resultado Esperado: O sistema irá apresentar uma mensagem informando que o CPF é inválido.

Resultado Final: Sucesso

Identificador: CT-023 Perfil: Administrador Caso de Teste: Registrar Administrador no Sistema Funcionalidade: Registro de administrador

Page 92: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

78

Objetivo: Testar a funcionalidade de registro de administrador no Sistema.

Pré-Condição: Ter efetuado login no sistema

Procedimento: Entrar na tela 'Adicionar Administrador' Inserir dados do usuário; Clicar em “Registrar”.

Resultado Esperado: Administrador é cadastrado com sucesso; Resultado Final: Sucesso Identificador: CT-024 Perfil: Administrador Caso de Teste: Relatório por Jogo Funcionalidade: Relatório Objetivo: Testa Funcionalidade de visualizar o relatório por cada jogo Pré-Condição: Ter efetuado login no sistema

Procedimento:

Entrar na tela "Relatório por Jogo" Escolher um Rodada Escolher um Jogo Clicar em 'Relatório'

Resultado Esperado: O sistema irá apresentar um relatório como todos os

torcedores presentes neste jogo. Além do total de torcedores e o total arrecadado.

Resultado Final: Sucesso

Identificador: CT-025 Perfil Administrador/ Torcedor Caso de Teste: Alterar Senha Funcionalidade: Senha Objetivo: Testa Funcionalidade de alteração da senha Pré-Condição: Ter efetuado login no sistema

Procedimento:

Entrar na tela "Alterar Senha" Escrever o CPF Escrever a nova Senha Confirmar a nova Senha Clicar em 'Enviar'

Resultado Esperado: O sistema irá apresentar uma mensagem confirmando o cadastro na nova senha.

Resultado Final: Sucesso Identificador: CT-026 Perfil: Administrador/ Torcedor Caso de Teste: Fale Conosco Funcionalidade: Fale Conosco

Page 93: CONTROLE DE ACESSO A EVENTOS FUTEBOLÍSTICOS Torcedor de … · ii controle de acesso a eventos futebolÍsticos tiago afonso monteiro projeto de graduaÇÃo submetido ao corpo docente

79

Objetivo: Testa Funcionalidade de enviar um email para o administrador através da opção 'Fale Conosco'

Pré-Condição: Ter efetuado login no sistema

Procedimento: Entrar na tela "Fale Conosco" Preencher os Campos Clicar em 'Enviar'

Resultado Esperado: O sistema irá enviar um email para o administrador do site.

Resultado Final: Sucesso

Identificador: CT-027 Perfil: Administrador/ Torcedor Caso de Teste: Esqueci a Senha Funcionalidade: Senha

Objetivo: Testa Funcionalidade de enviar nova senha quando usuário esqueceu a senha atual.

Pré-Condição:

Procedimento:

Entrar na tela Inicial do sistema Clicar em 'Esqueci a senha' Preencher o CPF Clicar em Enviar

Resultado Esperado: O sistema irá enviar um email para o usuário com uma nova senaha.

Resultado Final: Sucesso