/Trabalho-de-PPOO

Trabalho realizado para disiciplina de práticas de programação orientada a objetos.

Primary LanguageJava

Instruções do Trabalho - Sistema de Venda de Ingressos

Objetivo do trabalho

O objetivo é praticar conceitos avançados de Orientação a Objetos (OO) e tópicos relacionados. O trabalho consiste em desenvolver um Sistema de Venda de Ingressos para atividades de eventos.

Sistema a ser desenvolvido

O sistema possui três módulos: Módulo de Administração (para cadastrar eventos, locais e atividades), Módulo de Compra de Ingressos e Módulo de Relatórios. A primeira fase abrange a implementação do Módulo de Administração.

Primeira Fase

O Módulo de Administração deve permitir o cadastro, listagem, detalhamento e remoção de eventos, locais e atividades, conforme o tema escolhido pelo grupo. Cada tema possui requisitos mínimos de dados a serem tratados no sistema.

Segunda Fase

A segunda fase inclui a implementação dos módulos de Compra de Ingressos e Relatórios, além de alterações no Módulo de Administração para salvar os dados em arquivo.

Requisitos de Orientação a Objetos

Como mencionado na primeira seção, o principal objetivo deste trabalho é que vocês pratiquem os conceitos de OO. Nesta seção, são apresentados os requisitos mínimos em relação ao uso de tais conceitos:

  • O trabalho deve usar corretamente os conceitos de Programação Orientada a Objetos vistos na disciplina.
  • O trabalho deverá fazer uso (correto) de composição, agregação e associação.
  • O trabalho deverá ter um bom design de Classes (baixo acoplamento, alta coesão, não ter replicação de código, ter design baseado em responsabilidade, etc.).
  • O código do trabalho deve fazer uso da divisão de camadas, separando as classes de interface com o usuário, regra de negócio e acesso a dados.
  • O trabalho deverá fazer uso (correto) de herança.
  • Pelos menos as atividades (na primeira fase) e os ingressos (na segunda fase) devem ser implementados usando herança.
  • Deve ser criado um diagrama de classes UML simplificado que apresente os nomes das classes e interfaces e os relacionamentos entre elas.
  • O trabalho deverá ser desenvolvido na linguagem Java (versão 17 ou superior).
  • O trabalho deverá fazer uso (correto) de polimorfismo, utilizando tanto variável polimórfica quanto polimorfismo de método.
  • A implementação do sistema deve utilizar tratamento de exceção.
  • O sistema deve tratar possíveis entradas inválidas do usuário e erros de execução.
  • A interface de usuário do Módulo de Administração pode ser via linha de comando ou interface gráfica, já dos módulos de Compras de Ingressos e de Relatórios precisa ser necessariamente interface gráfica.

Observações

O programa já tem dados de eventos/locais/atividades cadastrados e de ingressos vendidos(inclusive o pdf de alguns ingressos).