Skip to content

ucsal/solid-lucasmont-stack

 
 

Repository files navigation

Refatoração do Sistema Olimpíadas

Este projeto consiste na refatoração de um sistema legado de aplicação de provas, com foco em melhorar a organização do código, a legibilidade e a manutenção, sem remover as funcionalidades originais.

Objetivo

O objetivo da refatoração foi reorganizar o sistema para que cada classe tivesse uma responsabilidade mais clara, reduzindo a concentração de lógica em um único arquivo e facilitando a compreensão do projeto.

Funcionalidades mantidas

O sistema continua permitindo:

  • cadastro de participantes
  • cadastro de provas
  • cadastro de questões
  • aplicação de provas
  • registro das respostas
  • cálculo de nota
  • listagem de resultados
  • impressão do tabuleiro com base em FEN

Estrutura do projeto

App.java

Classe responsável por iniciar o sistema.

MenuConsole.java

Responsável pela interação com o usuário no terminal, exibindo opções do menu e recebendo dados digitados.

Sistema.java

Classe principal da lógica do sistema. Controla o cadastro de participantes, provas e questões, a aplicação da prova e a listagem dos resultados.

Participante.java

Representa os dados de um participante.

Prova.java

Representa os dados de uma prova.

Questao.java

Representa uma questão da prova, contendo enunciado, alternativas, resposta correta e posição inicial do tabuleiro em FEN.

Resposta.java

Representa a resposta marcada pelo participante em uma questão.

Tentativa.java

Representa uma tentativa de realização de uma prova, armazenando as respostas do participante.

TabuleiroUtil.java

Classe utilitária responsável por imprimir no console o tabuleiro de xadrez a partir de uma string FEN.

O que foi refatorado

  • A classe principal foi simplificada
  • A interação com o usuário foi separada em uma classe própria
  • A lógica principal do sistema foi organizada em uma classe central
  • As entidades foram mantidas apenas como estruturas de dados
  • A impressão do tabuleiro foi isolada em uma classe utilitária

About

ucsal-classroom-20261-ads-mat-solid-olimpiada created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 100.0%