Buscar

Relatorio Final Completo

Prévia do material em texto

UFSC - UNIVERSIDADE FEDERAL DE SANTA CATARINA 
DEPARTAMEMENTO DE INFORMÁTICA E 
ESTATÍTISTICA 
BACHARELADO EM SISTEMAS DE INFORMAÇÃO 
 
 
 
 
 
 
 
DESENVOLVIMENTO DE UM SOFTWARE DE 
GERENCIAMENTO DE CAMPEONATOS DE FUTEBOL 
 
 
 
 
Fernando Peron 
 
Trabalho de conclusão de curso apresentado 
como parte dos requisitos para obtenção do 
grau de Bacharel em Sistemas de Informação 
 
 
Florianópolis - SC 
2005/1
 2 
Fernando Peron 
 
DESENVOLVIMENTO DE UM SOFTWARE DE 
GERENCIAMENTO DE CAMPEONATOS DE FUTEBOL 
 
 
Trabalho de conclusão de curso apresentado como parte dos requisitos para 
obtenção do grau de Bacharel em Sistemas de Informação. 
 
 
 
 
 
_______________________________________________ 
Orientador: Prof. Fernando Augusto da Silva Cruz, Dr. 
 
 
 
Banca Examinadora: 
 
 
 
 
 
 
 
_______________________________________ 
Prof. Ricardo Pereira e Silva, Dr. 
 
 
 
 
 
_______________________________________ 
Prof. Rosvelter Coelho da Costa, Dr. 
 3 
Sumário 
SUMÁRIO .......................................................................................................... 3 
LISTA DE FIGURAS.......................................................................................... 6 
RESUMO ........................................................................................................... 8 
1 INTRODUÇÃO............................................................................................... 9 
1.1 Objetivos .................................................................................................................................9 
1.2 Motivação................................................................................................................................9 
1.3 Contextualização do Problema.............................................................................................10 
1.4 Organização do Trabalho.....................................................................................................11 
2 ORGANIZAÇÃO DOS CAMPEONATOS DE FUTEBOL E REGRAS......... 12 
2.1 Campeonatos e Fórmulas de Disputa ...................................................................................12 
2.2 Pontuação..............................................................................................................................13 
2.3 Tabela de Classificação e Critérios de Desempate ...............................................................13 
2.4 Súmula da partida de futebol ...............................................................................................14 
2.5 Tribunal Desportivo .............................................................................................................14 
3 ESTADO DA ARTE ..................................................................................... 16 
3.1 Software LeaguePad .............................................................................................................16 
3.2 Football League Tracker (LTracker) - Versão 5.6...............................................................20 
3.3 Gerenciador de Campeonato V1.0 - Trilikix........................................................................23 
4 FUNDAMENTOS TEÓRICOS...................................................................... 26 
4.1 Fundamentos Teóricos..........................................................................................................26 
4.2 UML......................................................................................................................................27 
4.3 Passos para o Desenvolvimento do Programa......................................................................27 
4.3.1 A Fase Planejar e Elaborar ..................................................................................................28 
4.3.2 A Fase Construir...................................................................................................................28 
4.3.3 Fase Analisar ........................................................................................................................30 
 4 
4.3.4 Fase Projetar.........................................................................................................................31 
4.3.5 Fase Testar............................................................................................................................31 
4.3.6 Fase Instalar .........................................................................................................................31 
5 PROPOSTA DO TRABALHO...................................................................... 33 
5.1 Programa de Controle de Campeonatos de Futebol ............................................................33 
5.2 Definição dos usuários do Sistema........................................................................................34 
5.3 Definindo as Áreas do Sistema e os Casos de Uso ................................................................35 
5.3.1 Manutenção de Campeonatos...............................................................................................36 
5.3.2 Manutenção de Equipes........................................................................................................38 
5.3.3 Manutenção de Estádios .......................................................................................................39 
5.3.4 Administração de Temporadas.............................................................................................41 
5.3.4.1 Manutenção de Temporadas............................................................................................43 
5.3.4.2 Equipes Participantes.......................................................................................................46 
5.3.4.3 Manutenção de Jogadores................................................................................................47 
5.3.4.4 Manutenção de Árbitros ..................................................................................................50 
5.3.4.5 Manutenção da Estrutura do Campeonato .....................................................................51 
5.3.4.6 Punições............................................................................................................................56 
5.3.4.7 Administração de Jogos ...................................................................................................58 
5.3.4.7.1 Manutenção da Tabela de Jogos ......................................................................................60 
5.3.4.7.2 Manutenção da Escalação do Jogo...................................................................................62 
5.3.4.7.3 Manutenção de Eventos do Jogo......................................................................................65 
5.4 O Modelo Conceitual ............................................................................................................68 
5.5 Diagramas de Classes de Projeto..........................................................................................70 
6 CONSIDERAÇÕES DO PROJETO E IMPLEMENTAÇÃO DO PROG ....... 75 
6.1 A Abertura do Sistema .........................................................................................................75 
6.2 Os Cadastros.........................................................................................................................76 
6.2.1 Cadastro de Campeonato .....................................................................................................76 
6.2.2 Cadastro de Temporada .......................................................................................................776.2.3 Cadastro de Equipe ..............................................................................................................78 
 5 
6.2.4 Cadastro de Estádios ............................................................................................................79 
6.3 A Administração de Temporada ..........................................................................................80 
6.3.1 Cadastro da Estrutura da Temporada .................................................................................81 
6.3.2 Cadastro de Árbitro..............................................................................................................81 
6.3.3 Incluir Equipe na Disputa da Temporada............................................................................82 
6.3.4 Cadastro de Jogador.............................................................................................................83 
6.3.5 Punições do Tribunal ............................................................................................................84 
6.4 Administração da Tabela de Jogos.......................................................................................85 
6.4.1 Manutenção de Jogos............................................................................................................86 
6.4.2 Definir Escalação de um Jogo...............................................................................................89 
6.4.3 Definir Lances da Partida.....................................................................................................91 
6.5 As Estatísticas .......................................................................................................................91 
6.5.1 Tabela de Classificação.........................................................................................................92 
6.5.2 Campanha por Equipe..........................................................................................................93 
7 CONCLUSÕES E TRABALHOS FUTUROS............................................... 95 
BIBLIOGRAFIAS REFERENCIADAS ............................................................. 98 
BIBLIOGRAFIAS CONSULTADAS................................................................. 98 
ANEXO 1 – BANCO DE DADOS: MODELO LÓGICO E.R. ........................... 99 
ANEXO 2 – BANCO DE DADOS: IMPLEMENTAÇÃO FÍSICA .................... 100 
ANEXO 3 – CÓDIGO FONTE DO SISTEMA................................................. 105 
ANEXO 4 - ARTIGO ...................................................................................... 241 
 6 
Lista de Figuras 
Figura 3.1. LeguePad: Tela de Abertura.................................................................... 16 
Figura 3.2. LeguePad: Tabela de Jogos..................................................................... 17 
Figura 3.3. LeguePad: Tabela de Classificação......................................................... 18 
Figura 3.4. LeguePad: Baixar base de dados de um campeonato.............................. 19 
Figura 3.5. LTracker: Interface inicial do sistema..................................................... 20 
Figura 3.6. LTracker: Tabela de classificação........................................................... 21 
Figura 3.7. LTracker: Gráfico de desempenho da equipe no campeonato................ 22 
Figura 3.8. LTracker: Tabela de jogos....................................................................... 23 
Figura 3.9. Trilikix: Tabela de jogos.......................................................................... 24 
Figura 3.10. Trilikix: Tabela de classificação............................................................ 25 
Figura 5.1. Usuários do Sistema................................................................................ 34 
Figura 5.2. Pacote da área do usuário........................................................................ 35 
Figura 5.3. Diagrama de caso de uso para Manutenção de Campeonatos................. 36 
Figura 5.4. Diagrama de caso de uso para Manutenção de Equipes.......................... 38 
Figura 5.5. Diagrama de caso de uso para Manutenção de Estádios......................... 40 
Figura 5.6. Pacote da área do usuário com casos de usos definidos.......................... 43 
Figura 5.7. Diagrama de caso de uso para Manutenção de Temporadas................... 44 
Figura 5.8. Diagrama de caso de uso para Equipes Participantes.............................. 46 
Figura 5.9. Diagrama de caso de uso para Manutenção de Jogadores....................... 48 
Figura 5.10. Diagrama de caso de uso para Manutenção de Árbitros....................... 50 
Figura 5.11. Diagrama de caso de uso para Manutenção da Est. Temporada........... 53 
Figura 5.12. Diagrama de caso de uso para Punições................................................ 57 
Figura 5.13. Diagrama de caso de uso para Administração de Temporadas............. 59 
Figura 5.14. Diagrama de caso de uso para Administração de Jogos........................ 60 
Figura 5.15. Diagrama de caso de uso para Manutenção da Tabela de Jogos........... 60 
Figura 5.16. Diagrama de caso de uso para Manutenção da Escalação Jogo............ 63 
Figura 5.17. Diagrama de caso de uso para Manutenção de Eventos do Jogo.......... 65 
Figura 5.18. Diagrama de caso de uso para Administração de Jogos........................ 68 
Figura 5.19. Modelo Conceitual................................................................................ 70 
Figura 5.20. Diagrama de Classes do Projeto - A...................................................... 72 
Figura 5.21. Diagrama de Classes do Projeto - B...................................................... 73 
 7 
Figura 6.1. Sistema: Tela inicial................................................................................ 75 
Figura 6.2. Sistema: Cadastro de Campeonatos......................................................... 77 
Figura 6.3. Sistema: Cadastro de Temporadas........................................................... 78 
Figura 6.4. Sistema: Cadastro de Equipes.................................................................. 79 
Figura 6.5. Sistema: Cadastro de Estádios................................................................. 80 
Figura 6.6. Sistema: Cadastro da Estrutura da Temporada........................................ 81 
Figura 6.7. Sistema: Cadastro de Árbitros................................................................. 82 
Figura 6.8. Sistema: Equipes que disputam a Temporada......................................... 83 
Figura 6.9. Sistema: Cadastro de Jogadores.............................................................. 84 
Figura 6.10. Sistema: Punições do Tribunal.............................................................. 85 
Figura 6.11. Sistema: Administração da Tabela de Jogos......................................... 86 
Figura 6.12. Sistema: Cadastro de um novo jogo...................................................... 87 
Figura 6.13. Sistema: Cadastro de Jogo – Estatísticas............................................... 88 
Figura 6.14. Sistema: Cadastro de Jogo - Comentários............................................. 88 
Figura 6.15. Sistema: Cadastro de Jogo - Fotos......................................................... 89 
Figura 6.16. Sistema: Escalação das Equipes............................................................ 90 
Figura 6.17. Sistema: Lances da Partida.................................................................... 91 
Figura 6.18. Sistema: Tabela de Classificação.......................................................... 92 
Figura 6.19. Sistema: Campanha por Equipe............................................................. 93 
 8 
Resumo 
O presente trabalho apresenta o desenvolvimento de um sistema de informação 
para campeonatosde futebol. 
 O trabalho contextualiza o leitor para o entendimento do problema e mostra, 
resumidamente, uma abordagem para o desenvolvimento de software orientado a 
objetos. 
 Sua finalidade é a da aplicação prática dos conhecimentos adquiridos ao longo 
do curso de Sistemas de Informação, além de disponibilizar uma ferramenta com 
qualidade que supri algumas deficiências dos sistemas similares no mercado. 
 
Palavras-Chaves: Sistemas de Informação, Desenvolvimento de Software, 
Programação Orientada a Objetos, Programa de Controle de Campeonatos de Futebol. 
 9 
Capítulo 1 
Introdução 
 Neste capítulo serão destacados o tema e a motivação para o desenvolvimento 
deste projeto, contextualizando-o apresentando seus objetivos gerais e específicos, além 
da forma como o trabalho será apresentado. 
 
1.1 Objetivos 
 
1.1.1 Objetivo Geral 
O objetivo é o desenvolvimento de um programa de computadores exercitando 
na prática os conhecimentos adquiridos durante o curso de Sistema de Informação, com 
maior ênfase para os conhecimentos de Programação Orientada a Objetos, Análise e 
Projeto de Software, Banco de Dados, Engenharia de Usabilidade e Engenharia de 
Software. O software será uma aplicação capaz de fazer o gerenciamento completo de 
um campeonato de futebol desde controle de tabela de jogos e resultados, além da 
geração automática de relatórios, estatísticas e gráficos que permitam ao usuário 
entender melhor a competição. 
1.1.2 Objetivo Específico 
Como objetivo específico, o trabalho tem por finalidade por em prática os 
conhecimentos adquiridos durante o transcorrer do Curso de Sistemas de Informação. 
�
 Entender o escopo do problema, apresentando os aspectos relevantes de um 
campeonato de futebol; 
�
 Análise e projeto do sistema utilizando UML – Unified Modeling Language; 
�
 Implementação do sistema utilizando linguagem orientada a objetos Delphi 
versão 8; 
�
 Construção de um modelo relacional ER e implementação utilizando Banco 
de Dados Interbase versão 7.1; 
O projeto ainda utilizará conhecimentos e a prática de Gerenciamento de 
Projetos, Engenharia de Software e Engenharia de Usabilidade. 
 
1.2 Motivação 
 10 
O presente trabalho tem como tema, o desenvolvimento de um sistema de 
informação computacional para auxiliar o controle de campeonatos de futebol. 
O futebol é o esporte mais popular e praticado no Brasil. É o esporte de maior 
interesse seja na programação da televisão quanto em notícias nos jornais; lota estádios. 
A paixão pelo esporte é grande e o brasileiro se julga um grande conhecedor do esporte. 
O futebol é assunto de discussão em todos os ambientes: bares, empresas, colégios, etc. 
Este esporte também movimenta grandes quantias de dinheiro dentro e fora dos 
campos. O sucesso de uma equipe num campeonato e certeza de grandes lucros. 
Invariavelmente, jogadores e treinadores possuem rendimentos altíssimos. Por outro 
lado, fora dos gramados existem loterias pagam prêmios milionários a apostadores que 
acertam os resultados dos jogos. 
Este trabalho tem por objetivo apresentar-se com uma ferramenta capaz de 
auxiliar os fãs do esporte a acompanhar o campeonato com o apoio de grande 
quantidade de informações. Além disso, o fã poderá ter nesta ferramenta, uma grande 
base de dados do futebol ao seu dispor. Outra finalidade do trabalho é a utilização da 
ferramenta por apostadores de loterias que poderão ter nela, uma boa fundamentação de 
informações para suas apostas. Por último, ela pode ser utilizada por profissionais do 
esporte, como técnicos ou clubes de futebol a fim de organizar as informações dos 
campeonatos que disputam. 
 
1.3 Contextualização do Problema 
Conforme apresentado nos tópicos anteriores, este trabalho tem por objetivo 
criar uma ferramenta para auxiliar desde simples torcedores de futebol, gerentes 
profissionais de equipes de futebol até apostadores de loterias, a gerenciar campeonatos 
de futebol. 
Assim sendo, o sistema deve: 
�
 Apresentar soluções para gerenciamento de campeonatos com as mais diferentes 
fórmulas de disputa; 
�
 Ter a capacidade de gerenciar as informações que o usuário deseja controlar, ou 
seja, cada usuário tem um interesse no uso do sistema e ele deve prover 
condições de que cada um utilize da forma mais conveniente aos seus objetivos; 
�
 Apresentar a maior quantidade de estatísticas que as informações que foram 
inseridas no sistema possam gerar. 
 11 
 
1.4 Organização do Trabalho 
Este trabalho, em seu segundo capítulo contextualizará o funcionamento dos 
campeonatos de futebol, apresentando as variações de regulamentos de disputa e como 
isso afeta um sistema de gerenciamento de campeonatos de futebol. Neste mesmo 
capítulo será também apresentado uma visão das funcionalidades que deverão estar 
presentes no software, assim como as suas limitações. 
O capítulo terceiro mostra algumas ferramentas existentes para controle de 
campeonato de futebol e faz uma análise de cada uma delas. O conteúdo deste capítulo, 
além de ajudar no entendimento do problema, ajuda também na avaliação do resultado 
deste trabalho, à medida que permite uma comparação. 
No quarto capítulo, o trabalho apresentada o um processo de desenvolvimento 
de software em todas as suas fases. O objetivo é utilizar este processo, com algumas 
variações e aplicá-lo no desenvolvimento deste software. 
No capítulo cinco, mostra a análise e projeto do sistema. Este capítulo mostra 
como o software foi pensado e planejado antes de ser implementado. Já o capítulo seis 
apresenta o resultado final da implementação do sistema, onde é possível verificar os 
resultados finais do trabalho. 
Por fim, são apresentadas uma breve conclusão do trabalho e algumas propostas 
para futuros trabalhos relacionados ao tema. 
 
 12 
Capítulo 2 
 
Organização dos Campeonatos de Futebol e 
Regras 
 
Introdução 
O futebol é conhecido como um esporte com regras conservadoras, ou seja, de 
poucas mudanças ao longo do tempo. Ao mesmo tempo, para tornar o futebol mais 
atraente para o público, as fórmulas de disputa dos campeonatos de futebol são bastante 
diversificadas. O objetivo deste capítulo é apresentar as principais variações das 
formulas de disputa dos campeonatos, além de eventuais variações das aplicações da 
regra do esporte. Por fim, também são apresentados os pontos fundamentais de 
organização do campeonato, como a “Súmula do Jogo” e a influência do Tribunal 
Desportivo. Todos os pontos abordados neste capítulo deverão se concretizar em 
soluções flexíveis dentro do software desenvolvido. 
 
2.1 Campeonatos e Fórmulas de Disputa 
As fórmulas de disputas de um campeonato é o mecanismo que organiza a 
maneira de como será disputada a competição. Na fórmula de disputa de uma 
competição é definido de que forma será conhecido o campeão da disputa, a ordem de 
classificação, os times que serão rebaixados, etc. 
Os campeonatos de futebol são organizados por diferentes fórmulas de disputa. 
Uma Copa do Mundo, por ser um campeonato disputado num espaço de tempo curto e 
possuir uma grande quantidade de equipes participantes, possui uma fórmula de disputa 
bastante particular. A Copa do Mundo é dividida em fases. Dentro de cada fase, as 
equipes são dividas em Grupos. Os melhores colocados de cada um dos grupos se 
classificam para fase seguinte, até a grande final do campeonato, onde o vencedor é o 
campeão. 
 13 
Já os campeonatos nacionais, como, por exemplo, o Campeonato Brasileiro de 
2004 e Campeonato Inglês, possuem fórmula de disputa mais tradicional, adequado ao 
tempo de disputa e ao pequeno número de times participantes. Neste tipo de 
campeonato, a disputa é numa única fase e um único grupo. Todos jogam entre si, uma, 
duas, três ou quatro vezes dependendo da fórmula de disputado campeonato. Ao final 
do campeonato, o campeão é a equipe que mais acumular pontos ao longo do 
campeonato. Neste tipo de fórmula de disputa não existe a grande final. 
 
2.2 Pontuação 
 
Este é outro importante item que pode variar de campeonato para campeonato e 
até mesmo, sofrer alterações ao longo do tempo. Basta citar que até 1994, a equipe 
vencedora dos jogos ganhava dois pontos pelo feito. 
As regras de pontuação adotadas pela FIFA, organização que dirige o futebol no 
mundo estabelece as seguintes pontuações: três pontos ao time vencedor ou, em caso de 
empate, um ponto para cada time. 
 Esta pontuação é adota pela maioria dos campeonatos de futebol do mundo. 
Porém, até pouco tempo atrás, as regras de pontuação eram diferentes. Até a Copa do 
Mundo de 1994, a FIFA estabelecia as seguintes pontuações: dois pontos ao time 
vencedor ou, em caso de empate, um ponto para cada time. 
Existem ainda algumas variações adotadas por alguns campeonatos, por 
exemplo, o campeonato do EUA, os jogos que acabam empatados, existe uma disputa 
de Shut-Out, uma espécie de disputa de pênaltis. Este tipo de regra já foi adotado 
recentemente no Campeonato Brasileiro. A regra de pontuação deste tipo de 
campeonato é a seguinte: três pontos ao time vencedor ou em caso de empate no tempo 
normal de jogo, dois pontos ao time vencedor na prorrogação ou nos pênaltis e um 
ponto para o time perdedor na prorrogação e nos pênaltis. 
 
2.3 Tabela de Classificação e Critérios de Desempate 
A principal informação de um campeonato de futebol, além do resultado da 
partida, é a tabela de classificação. A tabela de classificação mostra as somas de pontos 
 14 
alcançadas pelas equipes no campeonato. É ela que determina a posição de cada equipe 
no campeonato. 
 A tabela de classificação de um campeonato também contempla outras 
informações. Estas informações, em geral, são os critérios de desempates. Os critérios 
de desempate, em geral, são os mesmos em todos os campeonatos. O que muda é a 
ordem de importância. Em todos os campeonatos, o primeiro critério é o número de 
pontos ganhos. O segundo critério, para o caso de empate é o número de vitórias para 
alguns campeonatos, enquanto que em outros campeonatos, o segundo critério é o saldo 
de gols. Também são utilizados como critérios de desempate o número de gols 
marcados. 
 
2.4 Súmula da partida de futebol 
Para todo jogo de futebol realizado existe um documento oficial intitulado 
“Súmula” que possui o resumo dos acontecimentos do jogo. A súmula é preenchida 
pelos árbitros da partida. Nela são colocadas as seguintes informações: 
Times que disputaram a partida, resultado da partida, data e hora do jogo. Constam 
também quais os jogadores marcaram os gols da partida. Além disso, nela há os 
jogadores que disputaram a partida e as substituições ocorridas no transcorrer do jogo. 
Também estão inclusos neste documento, as penalidades aplicadas pelo árbitro, como 
cartões amarelo e vermelho. 
 O software deste trabalho tem o objetivo fazer um resumo desta súmula da 
partida, podendo até mesmo, incluir informações que não constam na súmula oficial, 
com a finalidade de gerar uma variedade maior de estatísticas do campeonato. 
 
2.5 Tribunal Desportivo 
 O Tribunal Desportivo é um órgão responsável por aplicar as leis descritas nas 
regras do futebol e no regulamento das competições. O Tribunal Desportivo aplica 
sansões as equipes e jogadores do campeonato e muitas destas sanções possuem 
influencia direta no campeonato, como por exemplo a perda de pontos, perda de mando 
de campo ou suspensão de jogadores. 
 
 15 
Conclusão 
 A ferramenta proposta neste trabalho deve ter grande flexibilidade para aceitar 
que as diferentes competições de futebol possam ser controladas. É aceitável que em 
virtude desta flexibilidade, o sistema possa perder qualidade em legibilidade e 
usabilidade. 
 O software também tem por objetivo gerar uma grande quantidade de estatística 
do campeonato, das equipes e dos jogadores. Fica evidenciado desta forma, que não 
pode simplesmente fazer uma cópia eletrônica da Súmula. É necessário obter outras 
informações da partida para gerar tais estatísticas. 
 16 
Capítulo 3 
Estado da Arte 
 
Introdução 
Este capítulo apresenta três ferramentas disponíveis na Internet para download 
que tem objetivos semelhantes à aplicação objeto deste trabalho. O capítulo apresenta os 
pontos positivos e negativos de cada uma das ferramentas. O aproveitamento das boas 
soluções e a precaução com as franquezas das ferramentas existentes colaboraram para 
o desenvolvimento de um software completo e eficiente. Também terá a finalidade de 
estabelecer um parâmetro de qualificação do resultado deste trabalho. 
 
3.1 Software LeaguePad 
O software LeaguePad, disponível para download gratuito de sua versão trial e 
com algumas limitações de recursos em http://www.leaguepad.com/, é uma das 
aplicações mais interessantes e conhecidas na internet com a finalidade de administrar 
estatísticas de campeonatos de futebol. Suas interfaces com o usuário estão disponíveis 
em três diferentes línguas: inglês, francês e espanhol. 
 
Figura 3.1. LeguePad: Tela de Abertura. 
 17 
 O LeaguePad é um software extremamente flexível. Através dele é possível 
gerenciar qualquer tipo de competição de futebol. 
O software também se adapta as necessidades do usuário. Para os usuários que 
querem obter grandes quantidades de informações, o software atende a quase tudo que 
se possa imaginar. Por outro lado, caso o usuário queira apenas ter a tabela de jogos, os 
resultados e a classificação atualizada automaticamente, este software se adapta 
perfeitamente. A figura 3.2 mostra a tela do sistema onde o usuário gerencia a tabela de 
jogos do sistema. Nela é possível perceber a riqueza de informações de uma partida que 
o sistema permite inserir. 
 
Figura 3.2. LeguePad: Tabela de Jogos. 
 Já a figura 3.3 mostra a tabela de classificação gerada automaticamente pelo 
sistema a partir das informações inseridas na tabela de jogos. É outro relatório do 
sistema com riqueza de informações. Nesta mesma imagem, é possível observar no 
menu do lado direito da interface, a grande quantidade de relatórios e estatísticas 
oferecidos pelo sistema. Tanto na figura 3.2 quanto 3.3, percebe-se o cuidado dos 
desenvolvedores do software com a interface do sistema, que tem um visual bastante 
moderno. 
 
 18 
 
Figura 3.3. LeguePad: Tabela de Classificação. 
Outro ponto forte é, para o caso dos usuários que não querem inserir as 
informações no sistema, o que é uma tarefa bastante trabalhosa, ele permite baixar 
atualizações dos campeonatos pela Internet, conforme mostra a figura 3.4. Assim, o 
usuário tem a possibilidade de acessar as diversas estatísticas geradas pelo sistema sem 
ter qualquer trabalho. Estas atualizações são postadas por usuários que gerenciam seus 
campeonatos e compartilham as informações com os demais. 
 19 
 
Figura 3.4. LeguePad: Baixar base de dados de um campeonato. 
Também é interessante o site www.soccerstats.com, que utiliza da base de dados 
do sistema para mostrar na Internet as estatísticas para os usuários que não adquiram o 
sistema. Porém, nem todas as estatísticas que o software gera são mostradas no site. 
O ponto fraco deste software é o fato de ele tratar cada temporada de um 
campeonato de forma independente. Isso quer dizer que não é possível fazer uma 
análise entre duas temporadas de um campeonato de um determinado país. O mesmo 
problema ocorre com as equipes. Elas são tratadas de forma independente dentro de 
cada campeonato. Assim, se uma equipe “A” disputa dois campeonatos cadastrados no 
sistema. O sistema interpreta com duas equipes distintas, não sendo possível gerar 
estatísticas da equipe “A” nestes doiscampeonatos que disputou. 
A ferramenta foi desenvolvida na França e custa entre � 50,00 e � 90,00, 
dependendo da versão. Por se tratar de uma ferramenta bastante completa e com 
serviços de atualização de dados on-line sem custos adicionais, o valor é justificável. 
Porém, para os padrões brasileiros, pode ser considerado um custo elevado. 
 
 20 
3.2 Football League Tracker (LTracker) - Versão 5.6 
O Football League Tracker é outro bom software que se propõe a fazer o 
controle de campeonatos de futebol. Desenvolvido por Sr. Nigel Thomas, o programa é 
de origem inglesa e está disponível para download gratuito no endereço 
www.ngthomas.co.uk. 
 
Figura 3.5. LTracker: Interface inicial do sistema – Manutenção de Campeonato. 
Este programa também é bastante completo. Abrange quase todas as estatísticas 
que o jogo de futebol pode gerar. É possível controlar além da tabela de classificação, 
dados a respeito dos jogadores, como, por exemplo, lista de artilheiros e jogadores que 
marcaram gols contra. Também é possível acessar uma tabela de informações sobre as 
arbitragens do campeonato. Nesta tabela é possível saber quantos cartões o juiz aplicou 
durante o campeonato, qual a média de faltas que ele marca por jogo, quantos gols em 
média ocorrem durante os jogos que um determinado arbitro apita. 
 21 
 
Figura 3.6. LTracker: Tabela de classificação. 
O software também é repleto de gráficos para mostrar o desempenho das equipes 
ao longo do certame. Gráficos que mostram, por exemplo, a posição na classificação de 
um determinado time ao longo da competição, conforme a figura 3.7. Outro gráfico 
mostra uma comparação de desempenho entre um time e os lideres do campeonato. 
 22 
 
Figura 3.7. LTracker: Gráfico de desempenho da equipe no campeonato. 
O programa deixa a desejar em sua interface de difícil compreensão. Algumas 
tabelas possuem seus cabeçalhos com as palavras pela metade, não sendo possível saber 
que dado está inserido na coluna da tabela. O procedimento para inserir os jogos e 
placares, além das estatísticas também não é simples. Requer bastante trabalho do 
usuário para aprender e posteriormente usar. Existe também uma grande quantidade de 
menus em algumas interfaces. A figura 3.8 ilustra este problema. Nela observa-se um 
menu inferior e outro menu na parte superior da interface. 
 23 
 
Figura 3.8. LTracker: Tabela de jogos. 
O maior problema do software está no fato de ter sido projetado para 
acompanhar exclusivamente campeonatos com fórmulas de disputa semelhante aos 
disputados pelos campeonatos nacionais disputado na Europa. É inviável inserir no 
sistema campeonatos organizados por Fase e Grupos. Outro problema semelhante ao 
LeguePad é o fato do sistema interpretar cada campeonato de forma independente. 
 
3.3 Gerenciador de Campeonato V1.0 - Trilikix 
O Gerenciador de Campeonato Versão 1.0, disponível para download em versão 
Demo no endereço http://www.trilikix.com/gerenciador.php, é uma ferramenta de 
controle de campeonatos de futebol desenvolvida no Brasil. 
É um software mais simples que o LeaguePad e o LTracker. Suas 
funcionalidades basicamente servem para o acompanhamento da tabela de jogos e seus 
respectivos resultados e a geração automática da tabela de classificação a partir dos 
placares inseridos nos jogos. 
 24 
 
Figura 3.9. Trilikix: Tabela de jogos. 
Como o programa somente insere placar do resultado do jogo, não tendo a 
possibilidade de inserir estatísticas da partida ou escalação das equipes, a qualidade das 
informações geradas pelo sistema é ruim. As estatísticas são feitas exclusivamente sobre 
os resultados dos jogos. 
O software não consegue gerenciar as diferentes fórmulas de disputas de 
campeonatos. Está adaptado exclusivamente para os campeonatos com fórmula de 
disputa semelhante aos dos campeonatos nacionais disputados na Europa. Nestes 
campeonatos, as equipes jogam entre si e a que somar mais pontos é a campeã. No caso 
de haver interesse por inserir um campeonato onde as equipes são organizadas em 
Grupos e a competição tem diferentes fases de disputa, o software não gerencia estas 
situações. 
 25 
 
Figura 3.10. Trilikix: Tabela de classificação. 
Mesmo sendo um software com muitos defeitos e poucas qualidades, o custo 
para aquisição da versão licenciada é de R$ 149,90. 
 
Conclusão 
 Existem ferramentas disponíveis no mercado com a finalidade de gerenciar 
campeonatos de futebol. Embora algumas delas possuam boas qualidades, não foi 
identificada nenhuma ferramenta completa. Os valores para aquisição deste programas 
também não são baratos. Um software bom deve ter a capacidade de se adaptar as 
diferentes fórmulas de disputa dos campeonatos. Também deve ser capaz de administrar 
todas as informações inerentes a realização de um jogo, mas deixando a critério do 
usuário fazer uso destas informações ou não. Gerar boa qualidade de estatísticas 
preferencialmente não tratando cada campeonato ou equipe de forma individualizada. E 
por fim, ter um custo mais acessível ao mercado nacional. 
 26 
Capítulo 4 
Fundamentos Teóricos 
Introdução 
Neste capítulo é apresentada a fundamentação teórica que se utilizará para o 
desenvolvimento do programa de Controle de Campeonatos. São descritos os conceitos 
e uma seqüência de atividades que resultarão em um sistema orientado a objetos bem 
projetado. 
 
4.1 Fundamentos Teóricos 
A Programação Orientada a Objetos é uma extensão natural da programação 
estruturada. Sua essência é a reutilização de código. Uma vez que você cria um objeto 
para uma aplicação, este objeto poderá (e deverá) ser utilizado em novas aplicações 
[SIL 00]. 
Conforme descrito no capítulo 1 deste trabalho, o objetivo específico é de 
construir um programa para computadores utilizando os conceitos de programação 
orientada a objetos. Porém, a construção de um bom programa orientado a objetos vai 
além de saber o dominar uma linguagem orientada a objetos, como por exemplo, Java 
ou Delphi. Este é apenas o primeiro passo para construção. É fundamental para 
obtenção do sucesso do trabalho uma boa análise e um bom projeto. 
Assim, o trabalho se baseará na metodologia proposta pelo livro de Craig 
Larman: Utilizando UML e Padrões. Este livro apresenta um exemplo de processo de 
desenvolvimento, o qual descreve uma possível ordem de atividades e um ciclo de vida 
de desenvolvimento. Contudo, ele não prescreve um processo ou metodologia 
definitiva; ele fornece um exemplo de passos comuns. 
 Porém, antes de apresentar a metodologia proposta por Craig Larman, o trabalho 
fará uma breve explicação sobre UML. 
 
 27 
4.2 UML 
 Unified Modeling Leaguage – Linguagem de Modelagem Unificada – ou 
somente UML é uma linguagem visual para modelar sistemas computacionais 
orientados a objetos. Possui um sistema de notação – incluindo semântica para suas 
notações – dirigida a modelagem de sistemas, usando conceitos orientados a objeto. A 
UML é uma linguagem para especificar, visualizar e construir os artefatos de sistema de 
software. 
 UML tem o poder de transformar idéias em modelos reais. É uma linguagem 
destina estruturação de projetos. Um dos principais objetivos da UML é tornar todo o 
processo de desenvolvimento totalmente transparente e organizado [SOA 01]. 
 A UML é uma notação gráfica usada para expressar a análise e criação de 
projetos de software e para comunicá-los a outros. A UML é independente de 
linguagem, mas destina-se a descrever projetos orientados a linguagem. Como 
enfatizam os criadores da UML, ela não é uma metodologia em si; pode ser usada como 
ferramenta descritiva independente de qual seu processo de projeto [CAN 00]. 
Para Craig Larman, “...os autores da UML – Booch, Jocobson e Rumbaugh – prestaram 
um grande serviço à comunidade da tecnologiaorientada a objetos ao criar uma 
linguagem de modelagem padronizada que é elegante, expressiva e flexível.” e 
prossegue “... UML recebeu a aprovação de facto pela indústria, uma vez que seus 
criadores representam métodos de análise e / ou projeto de primeira geração muito 
populares.”. 
Porém, Craig Larman adverte que “UML é uma linguagem para modelagem; ela 
não guia um desenvolvedor em como fazer análise e projeto orientados a objetos, ou 
qual processo de desenvolvimento a ser seguido. Conseqüentemente, os metodologistas 
continuarão a definir métodos, modelagem e processos de desenvolvimento para a 
criação efetiva de sistemas de software; no entanto, agora, podem fazê-lo, usando uma 
linguagem comum – UML”. 
 
4.3 Passos para o Desenvolvimento do Programa 
Em sua metodologia, Craig Larman esclarece que “Em um nível alto, os 
principais passos até a entregar uma aplicação incluem os seguintes: 
 28 
1. Planejar e Elaborar – Planejamento, definição de requisitos, construção de 
protótipos e assim por diante. 
2. Construir – A construção do sistema. 
3. Instalar – A implantação do sistema para uso”. 
Ele complementa dizendo que “Um processo de desenvolvimento de software é 
um método para organizar as atividades relacionadas com a criação, entrega e 
manutenção de sistemas de software”. 
 
4.3.1 A Fase Planejar e Elaborar 
Para Craig Larman, “A fase Planejar e Elaborar de um projeto inclui a 
concepção inicial, a investigação de alternativas, o planejamento, a especificação de 
requisitos e assim por diante”. 
Uma lista de artefatos que esta fase do projeto deve gerar é listada abaixo: 
1. Plano – cronograma, recursos, orçamento, etc. 
2. Relatório de Investigação Preliminar – motivação, alternativas, necessidades 
de negócio. 
3. Especificação de Requisitos: exposição declarativa dos requisitos; 
4. Casos de Uso: descrição em prosa de processos do domínio; 
5. Diagramas de Casos de Uso: ilustração de todos os casos de uso e seus 
relacionamentos. 
6. Rascunho do modelo conceitual: um modelo conceitual preliminar 
aproximado, para ajuda na sua compreensão de como ele se relaciona com os casos de 
uso e a especificação dos requisitos. 
A construção dos artefatos cima listados não deve ser feita em ordem linear. 
Pelo contrário. Será freqüente às vezes em que duas ou mais tarefas serão desenvolvidas 
em paralelo, embora em alguns casos fique evidente a necessidade de uma tarefa antevir 
a outra, como por exemplo, a definição dos casos de uso vir a ser feita antes do 
rascunho do modelo conceitual. 
 
4.3.2 A Fase Construir 
A fase construir envolve a implementação do projeto em software e em 
hardware. Envolve repetidos ciclos de desenvolvimento (provavelmente limitadas em 
 29 
tempo), dentro dos quais o sistema é estendido. O objetivo final é um sistema de 
software em operação que atenda corretamente os requisitos. 
Um ciclo de desenvolvimento na fase construir compreende as seguintes etapas: 
refinar plano, sincronizar artefatos, analisar, projetar, construir, testar. 
Antes de falar sobre cada uma das etapas da fase construir, é importante definir 
um ciclo de desenvolvimento do projeto. Craig Larman propõe um ciclo de 
desenvolvimento chamado de Iterativo. 
Um Ciclo de Desenvolvimento, ou também chamado de ciclo de vida, Iterativo 
se baseia no aumento e no refinamento sucessivo de um sistema através de múltiplos 
ciclos de desenvolvimentos de análise, de projeto, de implementação e de testes. 
O sistema cresce pelo acréscimo de novas funções em cada ciclo de 
desenvolvimento. Depois de uma fase preliminar de Planejar e Elaborar, o 
desenvolvimento continua numa fase Construir através de uma série de ciclos de 
desenvolvimento. 
Cada ciclo trata de um conjunto relativamente pequeno de requisitos, 
procedendo através da análise, do projeto, da construção e do teste. O sistema cresce 
incrementalmente, à medida que cada ciclo é completado. 
O desenvolvimento iterativo não significa desenvolver um trabalho banal por um 
tempo, atingir um marco no projeto e, então, experimentar mais um pouco. Uma 
definição do desenvolvimento iterativo é que ele é um processo planejado para voltar a 
uma área repetidamente, cada vez, complementando o sistema. Ele é um processo 
formalmente planejado e escalonado, e não algo que acontece ao acaso. 
A definição de desenvolvimento incremental é adicionar funcionalidades a um 
sistema durante vários ciclos de liberação de produto; cada incremental (nova versão do 
produto) contém mais funcionalidades. É importante não confundir: uma versão 
incremental é composta de múltiplos ciclos de desenvolvimento. 
A principal desvantagem do desenvolvimento iterativo e incremental é o 
aumento das expectativas. Uma vez que esse processo permite que sejam efetuadas 
demonstrações, logo tende-se a pensar que o sistema está “quase pronto”. 
Um Caso de Uso é uma descrição narrativa de um processo do domínio. Ciclos 
de desenvolvimento interativos são organizados por requisitos de casos de uso. 
Os Casos de Uso deveriam ser priorizados, e os de alta prioridade deveriam ser 
atacados nos ciclos de desenvolvimentos iniciais. A estratégia abrangente é, primeiro, 
pegar os casos de uso que influenciam significativamente o núcleo da arquitetura, 
 30 
materializando as camadas do domínio e dos serviços de alto nível, ou aqueles que são 
de uso críticos de alto risco. 
Os dois principais passos da fase construir - analisar e projetar – são as fases 
abordadas no livro de Craig Larman com grande ênfase. Abaixo é apresentado em 
detalhes o desenvolvimento de cada uma destas duas etapas. 
 “Para criar um software de uma aplicação, é necessária uma descrição do 
problema e dos seus requisitos – o que é o problema e o que o sistema deve fazer. A 
análise enfatiza uma investigação do problema, de como uma solução é definida”. 
 “Para desenvolver uma aplicação também é necessário ter descrições de alto 
nível e descrições detalhadas da solução lógica e de como ela atende os requisitos e as 
restrições. O projeto enfatiza uma solução lógica, ou seja, como o sistema atende os 
requisitos, afinal, projetos devem ser implementados em software e hardware”. 
 
4.3.3 Fase Analisar 
 Segundo Craig Larman, “A essência da análise e do projeto orientados a objeto é 
enfatizar a consideração de um domínio de problema e uma solução lógica, segundo a 
perspectiva de objetos (coisas, conceitos ou entidades). Na análise orientada a objetos, 
há uma ênfase na descoberta e na descrição dos objetos – ou conceitos – do domínio do 
problema”. 
 A Fase Analisar deve abranger as seguintes etapas: 
1. Construir um modelo conceitual inicial, identificando os conceitos, atributos e 
suas corretas associações. 
2. Fazer Diagrama de seqüência para os casos de uso identificando os eventos e 
as operações do sistema. Este diagrama de seqüências mostrado por Craig Larman não 
pertence à notação UML, porém será um importante artefato para a construção do 
Diagrama de Interação da UML na fase Projetar. 
3. Criar contratos para as operações do sistema que é um documento o que uma 
operação se compromete a atingir. Usualmente, ele segue um estilo declarativo, 
enfatizando o que acontecerá, em vez de como será conseguido. È comum em termos de 
mudanças de estado definidas por pré-condições e pós-condições. Um contrato pode ser 
escrito para um método individual de uma classe de software ou para uma operação 
mais abrangente do sistema. 
 31 
Durante um ciclo de desenvolvimento iterativo, é possível passar para a fase de 
projeto desde que estes documentos de análise estejam completos. 
 
4.3.4 Fase Projetar 
 Para Craig Larman “Durante o projeto orientado a objetos existe uma ênfase na 
definição de elementos lógicos de software, os quais, em última instância, serão 
implementadosem uma linguagem de programação orientada a objetos. Estes objetos de 
software têm atributos e métodos. Finalmente, durante a construção ou programação 
orientada a objetos, os componentes do projeto são implementados, tais como uma 
classe”. 
Durante este passo, é desenvolvida uma solução lógica baseada no paradigma 
orientado a objetos. O coração desta solução é a criação de diagramas de interação, os 
quais ilustram como os objetos devem se comunicar de maneira a atender os requisitos. 
Em seguida à geração de diagramas de interações, podem ser desenhados diagramas de 
classes, os quais sumarizam a definição das classes (e interfaces) que devem ser 
implementadas em software. 
A criação de diagramas de interação requer a aplicação de princípios para a 
atribuição de responsabilidades e visibilidades. 
 
4.3.5 Fase Testar 
 A fase Testar tem por objetivo verificar eventuais falhas de desenvolvimento no 
sistema. Devem avaliar basicamente três quesitos: funcionalidade (o sistema executa 
corretamente suas funções normais), recuperação (o sistema recupera-se adequadamente 
em caso de falha); desempenho (o sistema apresenta tempo de resposta adequado). 
Geralmente, a fase Testar é entendida com o último passo dentro de um ciclo de 
desenvolvimento. Porém, recomenda-se que seja uma atividade permanente durante a 
fase Construir. 
 
4.3.6 Fase Instalar 
A fase instalar envolve a colocação do sistema em produção. Para o software 
desenvolvimento com finalidades comerciais, isso significa que ele já está à venda e 
 32 
disponível para os clientes; para o software desenvolvido em uma instalação, significa 
que ele está em uso operacional. 
 
Conclusão 
Possuir conhecimentos avançados de uma linguagem de programação orientada 
a objetos ou mesmo de UML não garante a produção de bom programa de computador. 
São apenas requisitos. Para o desenvolvimento de grandes projetos com sucesso, é 
necessário uma metodologia de desenvolvimento de software. A metodologia propõe 
um processo de desenvolvimento de software iterativo, incremental e guiado por casos 
de usos. Este estabelece ciclos de desenvolvimentos dentro de janelas de tempo de 
forma a organizar o projeto. Por ser uma metodologia criada para ajudar estudantes e 
desenvolvedores a criar melhores projetos orientados a objetos, será a metodologia 
seguida no desenvolvimento deste trabalho. 
 
 33 
Capítulo 5 
Proposta do Trabalho 
 
Introdução 
Nos capítulos 2 foram apresentadas informações do domínio do problema acerca 
do funcionamento de um campeonato de futebol. No capítulo 3, foram apresentados três 
softwares que são solução para administrar a complexidade dos campeonatos de futebol. 
Este capítulo tem por função apresentar o que se deseja construir neste software para 
gerenciar os campeonato, aproveitando-se dos conhecimentos obtidos no capítulo 2 e 3. 
Além disso, neste capítulo também é descrito os resultados obtidos das fases de análise 
e planejamento do sistema, para no próximo capitulo demonstrar o resultado final. 
 
5.1 Programa de Controle de Campeonatos de Futebol 
A proposta deste trabalho é a criação de um programa de computador para fazer 
o controle de campeonatos de futebol. 
De acordo com a literatura apresentada no capítulo 3 deste trabalho, um bom 
sistema de controle de campeonatos deve ser capaz de gerenciar vários campeonatos de 
futebol. Dentro de cada campeonato, deve ser possível incluir as equipes que disputam a 
competição e os jogadores inscritos por estas equipes. Também fazem parte de um 
campeonato, os árbitros que apitam um jogo e o sistema também deve abranger este 
fato. 
Um sistema robusto para controle de campeonatos, deve principalmente ser 
capaz de aceitar o gerenciamento dos mais diferentes tipos de competições de futebol. É 
sabido, conforme explicado no capítulo 2, que cada tipo de competição tem suas 
fórmulas de disputa. Uma Copa do Mundo, exemplo, numa primeira fase as equipes são 
divididas em grupos. As equipes melhores colocadas avançam para fase seguinte, onde 
novamente se organizam em grupos e assim sucessivamente até chegar a grande final. 
Já num campeonato nacional disputado em um país da Europa, como por exemplo, o 
Campeonato Inglês de Futebol, possui uma fórmula de disputa diferente da fórmula de 
 34 
disputa da Copa do Mundo. No Campeonato Inglês, as equipes jogam todas entre si em 
uma única fase em um único grupo. A que somar mais pontos é a grande campeã. 
Também a de se esperar de um bom software de Controle de Campeonatos a 
possibilidade de gerenciar os jogos dentro da competição, incluindo a escalação das 
equipes e juizes. Além do simples placar do jogo, deve ser possível inserir no sistema as 
diversas estatísticas inerentes a uma partida de futebol. Em contrapartida, é desejável 
que este sistema nos mostre de forma automática, uma porca de relatórios estatísticos 
que nos ajudem a compreender a competição. 
Desta forma, o que se pretende neste capítulo é fazer uma descrição detalhada 
das funcionalidades esperadas pelo software que será desenvolvido neste trabalho. 
Estas funcionalidades do software podem ser divididas em duas partes: Módulo 
de Gerenciamento do Campeonato e Módulo de Geração de Relatórios e Gráficos. No 
Módulo de Gerenciamento do Campeonato é onde as informações do campeonato são 
incluídas no sistema. Já o Módulo de Geração de Relatórios e Gráficos é a parte do 
sistema que abastecido das informações entradas na área de Gerenciamento do 
Campeonato, gera os relatórios e gráficos. Abaixo veremos uma descrição mais 
detalhada do que cada parte do sistema compreende. 
 
5.2 Definição dos usuários do Sistema 
O sistema não exige grandes preocupações com controles de acesso. Por se tratar 
de informações facilmente encontradas em periódicos e na Internet, não existe qualquer 
controle a ser feito quanto à restrição de acesso as informações. Assim, podemos 
imaginar um único usuário interagindo com o sistema, sendo capaz de realizar todas as 
operações disponíveis. 
Assim, no seguimento deste trabalho, as interações deste usuário com o sistema 
serão representados da seguinte forma: 
 
Figura 5.1. Usuários do Sistema. 
 
 35 
5.3 Definindo as Áreas do Sistema e os Casos de Uso 
O sistema deve ser capaz de suportar o controle de diversos campeonatos. Os 
campeonatos são disputados em sua grande maioria anualmente. Cada edição de um 
campeonato recebe o nome de Temporada. Assim, um campeonato deve ser cadastrado 
uma única vez. Por exemplo, o Campeonato Brasileiro da Série A corresponde a um 
único cadastro. Cada edição deste campeonato corresponde a uma temporada. Esta 
separação entre Campeonato e Temporada permitirá ao sistema gerar informações de 
um Campeonato ao longo das diversas Edições. Com isso, o conceito de campeonato no 
sistema é bastante simples, entretanto o conceito de Temporada é muito mais complexo, 
pois é na temporada que efetivamente registradas as tabelas de jogos e implicações. 
Suas funções serão descritas com maiores detalhes ainda neste capítulo. 
Outros dois importantes conceitos que o sistema administrará de forma única são 
as Equipes e os Estádios. Assim como os campeonatos, uma Equipe e um Estádio serão 
cadastrados uma única vez. Desta forma será possível gerar todas as informações 
referentes a uma Equipe ao longo das diferentes competições que disputou. 
 Assim, a área de acesso do sistema de um usuário pode ser dividida, inicialmente 
em quatro diferentes atividades, conforme demonstra a Figura 5.2. 
 
Figura 5.2. Pacote da área do usuário. 
 A seguir, cada um dos pacotes será detalhado, descrevendo seus casos de usos, 
para melhorar o entendimento de cada área do sistema. Para cada caso de uso descrito 
ao longo deste capítulo, foi implementado um diagrama de seqüência, porém, parafacilitar a compreensão do trabalho, eles não serão descritos neste capítulo. 
 
 36 
5.3.1 Manutenção de Campeonatos 
 A Manutenção de Campeonatos é a área onde o usuário efetuará o cadastro das 
diferentes competições. Nesta área, as três principais tarefas a serem realizadas são a 
Criação de novo campeonato, a Alteração dos dados de um campeonato e a Exclusão de 
um Campeonato do sistema. 
 
Figura 5.3. Diagrama de caso de uso para Manutenção de Campeonatos. 
 Abaixo é descrito cada um destes processos em detalhes: 
 
Criar um novo Campeonato 
Procedimentos: 
1. O sistema exibe o formulário para cadastro de novo campeonato. 
2. O usuário informa os dados do Campeonato (Nome do Campeonato e o País 
onde é disputado), escolhe o Tipo de Competição (Campeonato Nacional, 
Campeonato Internacional de Clubes, Campeonato de Seleções ou Demais 
Campeonatos) e solicita a gravação do cadastro. 
3. O sistema verifica se todos os dados foram informados e se estão corretos. Caso 
estejam, o cadastro é efetivado no sistema. 
Alternativas: 
1. Todos os obrigatórios não foram preenchidos. O sistema informa ao usuário 
quais os campos que não foram preenchidos e solicita ao usuário que corrija o 
erro. 
 
Selecionar um Campeonato 
 37 
Procedimentos: 
1. O sistema exibe a lista de Campeonatos Cadastrados. 
2. O Usuário seleciona o Campeonato desejado e escolhe a opção de manutenção 
(Alterar Dados ou Excluir Campeonato). 
Alternativas: 
1. Não existem Campeonatos cadastrados. O sistema desabilita as funções de 
manutenção de Campeonato, não permitindo ao usuário Alterar Dados ou 
Excluir Campeonato. 
 
Alterar dados de um Campeonato 
Procedimentos: 
1. O sistema busca no banco de dados os dados do cadastro e exibe em um 
formulário. 
2. O Usuário altera os dados desejados e solicita a gravação das alterações. 
Alternativas: 
1. Os dados do campeonato selecionado não existem ou estão corrompidos. O 
sistema exibe uma mensagem de alerta quanto ao problema encontrado. 
2. Todos os obrigatórios não foram preenchidos. O sistema informa ao usuário 
quais os campos que não foram preenchidos e solicita ao usuário que corrija o 
erro. 
 
Excluir um Campeonato 
Procedimentos: 
1. O sistema solicita a confirmação da exclusão do Campeonato. 
2. Após a confirmação do usuário o sistema exclui o Campeonato do banco de 
dados. 
Alternativas: 
1. O usuário não confirma a intenção de exclusão do Campeonato. O sistema não 
procede à operação de exclusão do Campeonato. 
2. O Campeonato já possui uma Temporada cadastrada, sendo referenciado por 
outros dados. O sistema alerta o usuário da impossibilidade de exclusão do 
Campeonato. 
 
 38 
5.3.2 Manutenção de Equipes 
 A Manutenção de Equipes é a área onde o usuário efetuará o cadastro das 
Equipes. Nesta área, as três principais tarefas a serem realizadas são a Criação de nova 
Equipe, a Alteração dos dados de uma Equipe e a Exclusão de uma Equipe do sistema. 
 
Figura 5.4. Diagrama de caso de uso para Manutenção de Equipes. 
 Abaixo é descrito cada um destes processos em detalhes: 
 
Criar uma nova Equipe 
Procedimentos: 
1. O sistema exibe o formulário para cadastro de nova Equipe. 
2. O usuário informa os dados da Equipe (Nome, Nome Completo, Cidade, País, 
Data de Fundação, Nome do Estádio e a imagem do Escudo), escolhe o Tipo de 
Equipe (Equipe ou Seleção) e solicita a gravação do cadastro. 
3. O sistema verifica se todos os dados foram informados e se estão corretos. Caso 
estejam, o cadastro é efetivado no sistema. 
Alternativas: 
1. Todos os obrigatórios não foram preenchidos. O sistema informa ao usuário 
quais os campos que não foram preenchidos e solicita ao usuário que corrija o 
erro. 
 
Selecionar uma Equipe 
Procedimentos: 
1. O sistema exibe a lista de Equipes Cadastradas. 
 39 
2. O Usuário seleciona a Equipe desejada e escolhe a opção de manutenção 
(Alterar Dados ou Excluir Equipe). 
Alternativas: 
1. Não existem Equipes cadastradas. O sistema desabilita as funções de 
manutenção de Equipes, não permitindo ao usuário Alterar Dados ou Excluir 
Equipe. 
 
Alterar dados de uma Equipe 
Procedimentos: 
1. O Sistema busca no banco de dados os dados do cadastro e exibe em um 
formulário. 
2. O Usuário altera os dados desejados e solicita a gravação das alterações. 
Alternativas: 
1. Os dados da Equipe selecionada não existem ou estão corrompidos. O sistema 
exibe uma mensagem de alerta quanto ao problema encontrado. 
2. Todos os obrigatórios não foram preenchidos. O sistema informa ao usuário 
quais os campos que não foram preenchidos e solicita ao usuário que corrija o 
erro. 
 
Excluir uma Equipe 
Procedimentos: 
1. O sistema solicita a confirmação da exclusão da Equipe. 
2. Após a confirmação do usuário o sistema exclui a Equipe do banco de dados. 
Alternativas: 
1. O usuário não confirma a intenção de exclusão da Equipe. O sistema não 
procede à operação de exclusão da Equipe. 
2. A Equipe já está inclusa na disputa de uma Temporada de um Campeonato, 
sendo referenciado por outros dados. O sistema alerta o usuário da 
impossibilidade de exclusão da Equipe. 
 
5.3.3 Manutenção de Estádios 
 A Manutenção de Estádios é a área onde o usuário efetuará o cadastro dos 
Estádios de Futebol. Nesta área, as três principais tarefas a serem realizadas são a 
 40 
Criação de novo Estádio, a Alteração dos dados de um Estádio e a Exclusão de um 
Estádio do sistema. 
 
Figura 5.5. Diagrama de caso de uso para Manutenção de Estádios. 
 Abaixo é descrito cada um destes processos em detalhes: 
 
Criar um novo Estádio 
Procedimentos: 
1. O sistema exibe o formulário para cadastro de novo Estádio. 
2. O usuário informa os dados do Estádio (Nome Usual do Estádio, Nome Oficial, 
Capacidade, Cidade, País e a Foto) e solicita a gravação do cadastro. 
3. O sistema verifica se todos os dados foram informados e se estão corretos. Caso 
estejam, o cadastro é efetivado no sistema. 
Alternativas: 
1. Todos os obrigatórios não foram preenchidos. O sistema informa ao usuário 
quais os campos que não foram preenchidos e solicita ao usuário que corrija o 
erro. 
 
Selecionar um Estádio 
Procedimentos: 
1. O sistema exibe a lista de Estádios cadastrados. 
2. O Usuário seleciona o Estádio desejado e escolhe a opção de manutenção 
(Alterar Dados ou Excluir Estádio). 
Alternativas: 
 41 
1. Não existem Estádios cadastrados. O sistema desabilita as funções de 
manutenção de Estádio, não permitindo ao usuário Alterar Dados ou Excluir 
Estádio. 
 
Alterar dados de um Estádio 
Procedimentos: 
1. O Sistema busca no banco de dados os dados do cadastro e exibe em um 
formulário. 
2. O Usuário altera os dados desejados e solicita a gravação das alterações. 
Alternativas: 
1. Os dados do Estádio selecionado não existem ou estão corrompidos. O sistema 
exibe uma mensagem de alerta quanto ao problema encontrado. 
2. Todos os obrigatórios não foram preenchidos. O sistema informa ao usuário 
quais os campos que não foram preenchidos e solicita ao usuário que corrija o 
erro. 
 
Excluir um Estádio 
Procedimentos: 
1. O sistema solicita a confirmação da exclusão do Estádio. 
2. Após a confirmação do usuário o sistema exclui o Estádio do banco de dados. 
Alternativas: 
1. O usuário não confirma a intenção de exclusão do Estádio. O sistema não 
procede à operação de exclusão do Estádio. 
2. O Estádio já está vinculado a uma Equipe, sendo referenciado por outros dados. 
O sistema alerta o usuário da impossibilidade de exclusão do Estádio. 
3. O Estádio já está vinculado a um Jogo, sendo referenciado por outros dados. O 
sistema alerta o usuário da impossibilidade de exclusão do Estádio. 
 
5.3.4 Administração de TemporadasEsta é uma atividade das mais complexas no sistema e é nesta tarefa onde se 
efetivamente controlara os campeonatos de futebol gerando as respectivas estatísticas. 
Por isso, precisa ser divida em outras tarefas menores. 
 42 
Entre as atividades que compõem a Administração de Temporadas, a primeira 
dela é a Manutenção de Temporadas. É nesta tarefa que as temporadas serão cadastradas 
e parametrizadas. Toda Temporada estará relacionada a um Campeonato previamente 
cadastrado. 
Outro conceito a ser tratado na Administração de Temporadas é a Estrutura da 
disputa da competição. É nesta área do sistema, denominada Manutenção da Estrutura 
da Temporada, que o usuário irá configurar as Fases, Grupos e Rodadas que a 
Temporada irá ter. 
Ainda uma área para incluir as Equipes participantes de uma temporada, haja 
visto que um campeonato a cada Temporada possui diferentes Equipes na disputa. 
Um requisito importante do sistema é que gere estatísticas tanto das equipes 
quanto dos jogadores. Desta forma, é necessário termos uma área no sistema onde o 
usuário entre com o cadastro dos jogadores de cada equipe. Por uma opção de projeto, 
ao contrário das estatísticas das equipes, onde é se deseja obter informações 
independentes de temporadas, exigindo um cadastro único, para os Jogadores, somente 
será necessário obter as estatísticas dentro de uma determinada Temporada, como por 
exemplo, número de cartões recebidos, gols feitos, partidas jogadas, etc. Assim, um 
jogador será cadastrado uma vez para cada temporada de campeonato que dispute. 
Outra área do sistema que tem requisitos análogos ao dos Jogadores é a de 
Manutenção de Árbitros. É desejável que fique registrado nas partidas de futebol 
inseridos no sistema qual árbitro apitou e que estas informações gerem estatísticas. 
O Tribunal Desportivo de um Campeonato aplica diversas sanções aos clubes. 
Destas sanções, um tipo específico de sanção implica na perda ou ganho de pontos na 
tabela de classificação. Desta forma, o sistema deve ter uma área onde estas decisões do 
tribunal sejam refletidas inseridas. A área responsável por esta tarefa é denominada 
Punições. 
Por fim, a mais importante da Administração de Temporadas é a Administração 
dos Jogos. Esta também é uma área complexa do sistema que para ser mais bem 
compreendida será divida em áreas menores será adiante explicada. Na Figura 5.6 
ilustra a análise feita até o momento. 
 43 
 
Figura 5.6. Pacote da área do usuário com casos de usos definidos. 
 Abaixo é descrito cada um destes processos em detalhes: 
5.3.4.1 Manutenção de Temporadas 
 A Manutenção de Temporadas é a área onde o usuário efetuará o cadastro de 
cada uma das edições de um Campeonato. Desta forma, é exigido que para se cadastrar 
uma temporada, já exista o respectivo Campeonato Cadastrado. Nesta área, as três 
principais tarefas a serem realizadas são a Criação de novo Estádio, a Alteração dos 
dados de um Estádio e a Exclusão de um Estádio do sistema. 
 44 
 
Figura 5.7. Diagrama de caso de uso para Manutenção de Temporadas. 
 Abaixo é descrito cada um destes casos de uso em detalhes: 
 
Criar uma nova Temporada 
Procedimentos: 
1. O sistema exibe o formulário para cadastro de nova Temporada. 
2. O usuário informa os dados da Temporada (nome da temporada, escolha do 
campeonato a que se refere, descrição da fórmula de disputa, pontos por vitória 
no tempo normal, na prorrogação e nos pênaltis, pontos por empate no tempo 
normal e na prorrogação, pontos por derrota na prorrogação e nos pênaltis, 
critério de desempate da tabela de classificação, número de equipes promovidas 
para divisão superior, número de equipes classificadas para competição 1, 
número de equipes classificadas para competição 2, número de equipes para 
disputa do play-off de rebaixamento e número de equipes rebaixadas para 
divisão inferior) e solicita a gravação do cadastro. 
3. O sistema verifica se todos os dados foram informados e se estão corretos. Caso 
estejam, o cadastro é efetivado no sistema. 
Alternativas: 
1. Todos os obrigatórios não foram preenchidos. O sistema informa ao usuário 
quais os campos que não foram preenchidos e solicita ao usuário que corrija o 
erro. 
 45 
 
Selecionar uma Temporada 
Procedimentos: 
1. O sistema exibe a lista das Temporadas cadastradas. 
2. O Usuário seleciona a Temporada desejada e escolhe a opção de manutenção 
(Alterar Dados ou Excluir Temporada). 
Alternativas: 
1. Não existe temporada cadastrada. O sistema desabilita as funções de 
manutenção de temporada, não permitindo ao usuário alterar dados ou excluir 
temporada. 
 
Alterar dados de uma Temporada 
Procedimentos: 
1. O Sistema busca no banco de dados os dados do cadastro e exibe em um 
formulário. 
2. O Usuário altera os dados desejados e solicita a gravação das alterações. 
Alternativas: 
1. Os dados da temporada selecionada não existem ou estão corrompidos. O 
sistema exibe uma mensagem de alerta quanto ao problema encontrado. 
2. Todos os obrigatórios não foram preenchidos. O sistema informa ao usuário 
quais os campos que não foram preenchidos e solicita ao usuário que corrija o 
erro. 
 
Excluir uma Temporada 
Procedimentos: 
1. O sistema solicita a confirmação da exclusão da Temporada. 
2. Após a confirmação do usuário o sistema exclui a Temporada do banco de 
dados. 
Alternativas: 
1. O usuário não confirma a intenção de exclusão da Temporada. O sistema não 
procede à operação de exclusão da Temporada. 
2. A Temporada já possui equipes incluídas na disputa, ou árbitros cadastrados, ou 
Estrutura da Temporada, sendo referenciado por outros dados. O sistema alerta o 
usuário da impossibilidade de exclusão da Temporada. 
 46 
 
Abrir Dados de uma Temporada 
Procedimentos: 
1. O sistema opera com uma temporada aberta. Limpa os dados da Temporada 
anteriormente aberta. Ele seta seus valores para nova temporada aberta 
apresentando suas informações. 
Alternativas: 
1. Não existe nenhuma temporada cadastrada. O sistema desabilita a possibilidade 
de abrir uma temporada. Apresenta os dados em branco e não permite as demais 
operações da Administração de Temporada. 
 
5.3.4.2 Equipes Participantes 
 Nesta área do sistema, o usuário deverá determinar, entre as equipes já 
cadastradas no sistema, quais disputaram a temporada do campeonato. O sistema só 
permitirá inserir jogos na temporada das equipes incluídas na disputa. As principais 
tarefas a serem realizadas são a inclusão de equipe na disputa da temporada e a exclusão 
da equipe da disputa da temporada. 
 
Figura 5.8. Diagrama de caso de uso para Equipes Participantes. 
 Abaixo é descrito cada um dos casos de uso em detalhes: 
 
Selecionar uma Equipe Cadastrada 
Procedimentos: 
1. O sistema exibe a lista das equipes cadastradas que não estão disputando a 
temporadas a qual está sendo incluída. 
2. O usuário seleciona a temporada desejada e escolhe a opção de inclusão. 
Alternativas: 
 47 
1. Não existe equipe cadastrada que não já não esteja incluída no campeonato. O 
sistema desabilita a operação de inclusão de equipe na disputa da temporada. 
 
Incluir Equipe na Disputa da Temporada 
Procedimentos: 
1. O usuário seleciona a equipe e solicita a inclusão na disputa da temporada. 
2. O sistema efetiva a inclusão da equipe na disputa da temporada no sistema. 
 
Selecionar uma Equipe que Disputa a Temporada 
Procedimentos: 
1. O sistema exibe a lista das equipes que estão disputando a temporada aberta. 
2. O usuário seleciona a equipe desejada e escolhe a opção de excluir da disputa. 
Alternativas: 
1. Não existe nenhuma equipe incluída na disputa da temporada. O sistema 
desabilita a operação de exclusão da equipe na disputa da temporada 
 
Excluir Equipe da Disputa da TemporadaProcedimentos: 
1. O usuário seleciona a equipe e solicita a da exclusão da disputa da Temporada. 
3. Após a confirmação do usuário o sistema exclui a Temporada do banco de 
dados. 
Alternativas: 
1. A equipe já possui jogadores cadastrados, sendo referenciado por outros dados. 
O sistema alerta o usuário da impossibilidade de exclusão da equipe. 
2. A equipe já possui jogos cadastrados, sendo referenciado por outros dados. O 
sistema alerta o usuário da impossibilidade de exclusão da equipe. 
3. A equipe já possui punições no sistema, sendo referenciado por outros dados. O 
sistema alerta o usuário da impossibilidade de exclusão da equipe. 
 
5.3.4.3 Manutenção de Jogadores 
 Nesta área do sistema, o usuário deverá determinar, entre as equipes incluídas na 
disputa da temporada, os jogadores inscritos por elas para disputa da temporada. Nesta 
 48 
área, as três principais tarefas a serem realizadas são a Criação de um novo Jogador, a 
Alteração dos dados de um Jogador e a Exclusão de um Jogador do sistema. 
 
Figura 5.9. Diagrama de caso de uso para Manutenção de Jogadores. 
 Abaixo é descrito cada um dos casos de uso em detalhes: 
 
Selecionar uma Equipe que Disputa a Temporada 
Procedimentos: 
1. O sistema exibe a lista das equipes que estão disputando a temporada aberta. 
2. O usuário seleciona a equipe desejada. 
3. O sistema apresenta a lista dos jogadores já cadastrados da equipe para a 
temporada aberta no sistema. 
Alternativas: 
1. Não existe nenhuma equipe inclusa na disputa da temporada. O sistema 
desabilita a operação de criar de novo jogador. 
 
Criar um novo Jogador 
Procedimentos: 
1. O sistema exibe o formulário para cadastro de novo jogador. 
2. O usuário informa os dados do jogador (apelido, nome completo, número da 
camisa, posição, nacionalidade, data de nascimento, e-mail e fotografia) e 
solicita a gravação do cadastro. 
3. O sistema verifica se todos os dados foram informados e se estão corretos. Caso 
estejam, o cadastro é efetivado no sistema. 
Alternativas: 
 49 
1. Todos os obrigatórios não foram preenchidos. O sistema informa ao usuário 
quais os campos que não foram preenchidos e solicita ao usuário que corrija o 
erro. 
 
Selecionar um Jogador 
Procedimentos: 
1. O sistema exibe a lista dos jogadores que estão cadastrados para disputa da 
temporada pela equipes selecionada. 
2. O usuário seleciona o jogador desejado e escolhe a opção de manutenção (alterar 
dados ou excluir um jogador). 
Alternativas: 
2. Não existe nenhum jogador cadastrado para a equipe na disputa da temporada. O 
sistema desabilita as operações de alteração de dados ou exclusão de jogador. 
 
Alterar dados de um Jogador 
Procedimentos: 
1. O Sistema busca no banco de dados o cadastro e exibe em um formulário. 
2. O Usuário altera os dados desejados e solicita a gravação das alterações. 
Alternativas: 
1. Os dados do jogador selecionado não existem ou estão corrompidos. O sistema 
exibe uma mensagem de alerta quanto ao problema encontrado. 
3. Todos os obrigatórios não foram preenchidos. O sistema informa ao usuário 
quais os campos que não foram preenchidos e solicita ao usuário que corrija o 
erro. 
 
Excluir um Jogador 
Procedimentos: 
1. O sistema solicita a confirmação da exclusão do jogador. 
2. Após a confirmação do usuário o sistema exclui o jogador do banco de dados. 
Alternativas: 
1. O usuário não confirma a intenção de exclusão do jogador. O sistema não 
procede à operação de exclusão do jogador. 
3. O jogador já possui participação em um jogo, sendo referenciado por outros 
dados. O sistema alerta o usuário da impossibilidade de exclusão do jogador. 
 50 
 
5.3.4.4 Manutenção de Árbitros 
 A Manutenção de Árbitros é a área onde o usuário efetuará o cadastro dos 
Árbitros da Temporada. Nesta área, as três principais tarefas a serem realizadas são a 
Criação de novo Árbitro, a Alteração dos dados de um Árbitro e a Exclusão de um 
Árbitro do sistema. 
 
Figura 5.10. Diagrama de caso de uso para Manutenção de Árbitros. 
 Abaixo é descrito cada um destes processos em detalhes: 
 
Criar um novo Árbitro 
Procedimentos: 
1. O sistema exibe o formulário para cadastro de novo árbitro. 
2. O usuário informa os dados do Árbitro (nome, data de nascimento e fotografia) e 
solicita a gravação do cadastro. 
3. O sistema verifica se todos os dados foram informados e se estão corretos. Caso 
estejam, o cadastro é efetivado no sistema. 
Alternativas: 
1. Todos os obrigatórios não foram preenchidos. O sistema informa ao usuário 
quais os campos que não foram preenchidos e solicita ao usuário que corrija o 
erro. 
 
Selecionar um Árbitro 
Procedimentos: 
 51 
1. O sistema exibe a lista dos Árbitros cadastrados para a temporada aberta. 
2. O usuário seleciona o árbitro desejado e escolhe a opção de manutenção (alterar 
dados ou excluir árbitro). 
Alternativas: 
1. Não existem árbitros cadastrados na temporada aberta. O sistema desabilita as 
funções de manutenção de árbitro, não permitindo ao usuário alterar dados ou 
excluir cadastro. 
 
Alterar dados de um Árbitro 
Procedimentos: 
1. O Sistema busca no banco de dados os dados do cadastro e exibe em um 
formulário. 
2. O usuário altera os dados desejados e solicita a gravação das alterações. 
Alternativas: 
1. Os dados do árbitro selecionado não existem ou estão corrompidos. O sistema 
exibe uma mensagem de alerta quanto ao problema encontrado. 
2. Todos os obrigatórios não foram preenchidos. O sistema informa ao usuário 
quais os campos que não foram preenchidos e solicita ao usuário que corrija o 
erro. 
 
Excluir um Árbitro 
Procedimentos: 
1. O sistema solicita a confirmação da exclusão do árbitro. 
2. Após a confirmação do usuário o sistema exclui o árbitro do banco de dados. 
Alternativas: 
1. O usuário não confirma a intenção de exclusão do árbitro. O sistema não 
procede à operação de exclusão do árbitro. 
2. O árbitro já está vinculado a um jogo, sendo referenciado por outros dados. O 
sistema alerta o usuário da impossibilidade de exclusão do arbitro. 
 
5.3.4.5 Manutenção da Estrutura do Campeonato 
Esta é uma área do sistema de grande complexidade a ser administrada. Em 
virtude da grande variedade de fórmulas de disputas já criadas e as que ainda poderão 
 52 
ser criadas. A idéia é de que um bom software de controle de campeonatos tenha a 
capacidade de gerenciar toda e qualquer fórmula de disputa de campeonato. 
 No estudo das fórmulas de disputadas de diversos campeonatos realizado nos 
mais diversos paises e tempos, ficou observado que, em geral, as fórmulas de disputa 
seguem a seguinte estrutura, semelhante à de uma árvore: 
 Uma Temporada de um Campeonato de futebol é dividida em Fases: alguns 
campeonatos possuem apenas uma fase – campeonatos nacionais disputados nos paises 
da Europa - enquanto outros possuem diversas fases – Copa do Mundo. 
 Uma Fase divide as equipes em grupos: é verdade que nos campeonatos 
nacionais disputados na Europa não existe divisão de equipes em grupos, mas mesmo 
assim, podemos dizer que as equipes são dividas em um único Grupo. Já em 
Campeonatos como a Copa do Mundo, a divisão das equipes em grupos sempre ocorre. 
 Dentro de uma Fase e um Grupo, ocorrem várias Rodadas: Em uma rodada, 
todas as equipes jogam dentro de seu grupo entre si. 
 Assim, o software deve gerenciar as fórmulas de disputa e esta rotina será uma 
das diferenças do programa deste trabalho em relação aos demais software existentes no 
mercado para esta mesma finalidade. 
 53 
 
Figura 5.11. Diagrama de caso de uso para Manutenção da Estrutura Temporada. 
 Abaixo é descrito cada um destes processos em detalhes: 
 
Criar uma nova Fase 
Procedimentos: 
1. O sistema exibe o formulário

Outros materiais

Perguntas Recentes