Partilhar: WhatsApp
aulify · Mini-Projecto
UC UC00619 · T. Desenv. Software
Versão · Aluno

Mini-Projecto · App Java OOP + BD

Sistema com colecções, JDBC, testes
⏱ Duração estimada: 16 horas (≈ 10 aulas) ↗ Referencial SNQ
Índice

Contexto

Cada par/trio constrói uma aplicação Java completa com OOP, persistência em base de dados (SQLite), CLI interactiva, testes unitários e Maven. Cenários:

Requisitos

Funcionais

  1. Maven com pom.xml.
  2. Mínimo 3 classes com OOP (herança ou interfaces).
  3. Persistência SQLite via JDBC (DAOs).
  4. CLI com menu interactivo.
  5. CRUD completo (criar, listar, actualizar, apagar).
  6. Validação de inputs.
  7. Excepções customizadas (mínimo 1).
  8. Testes JUnit (mínimo 5 testes).

Não-funcionais

  1. Estrutura modular (packages: model, dao, ui, util).
  2. PreparedStatement em todas as queries.
  3. Try-with-resources em conexões.
  4. README completo.
  5. GitHub com commits regulares.
  6. Apresentação com demo.

Fases

Fase 1 · Design (2h)

Fase 2 · Models (2h)

Fase 3 · DAOs (4h)

Fase 4 · CLI (3h)

Fase 5 · Excepções + validação (1h)

Fase 6 · Testes (2h)

Fase 7 · README + GitHub (1h)

Fase 8 · Apresentação (1h)

Critérios de avaliação

Item Peso
Design + diagrama de classes 10%
OOP + arquitectura 15%
JDBC + DAOs 20%
CLI usável 10%
Validação + excepções 10%
Testes JUnit 15%
GitHub workflow 5%
README 5%
Apresentação 10%

Reflexão

Em meia página: que conceito OOP te custou mais (herança, interfaces, polimorfismo)? Como estruturaste o projecto e o que mudarias se voltasses a começar? JDBC raw ou preferes que existisse algo de mais alto nível? Que biblioteca/ferramenta descobriste útil? Spring Boot seguinte natural?