Laboratório de Desenho e Teste de Software
Git e Gradle, Java orientado a objetos, SOLID, testes, UML, refactoring, padrões e MVC no projeto integrador.
LDTS é a cadeira onde o código que escreves começa a parecer software a sério: versionado, testado, desenhado com princípios e organizado para crescer. Vens de Programação com C++ na bagagem; aqui a linguagem de trabalho é Java e o objetivo é outro. Já não basta o programa correr, é preciso que outro programador o perceba, que os testes o protejam e que uma mudança não parta tudo o resto. O projeto integrador das últimas semanas, um jogo em equipa de três, é onde estas peças se juntam.
Como está organizado
O percurso segue a ordem das páginas. Controlo de versões começa pelo Git e pelo Gradle, porque tudo o resto vive dentro de um repositório com builds repetíveis. Java orientado a objetos traduz o que sabes de C++ para Java, com ênfase em composição em vez de herança. Depois vêm as duas ferramentas de qualidade: princípios SOLID para desenhar classes e testes unitários com JUnit e Mockito para as proteger.
A segunda metade é desenho e organização. Diagramas UML ensina a ler e a esboçar classes, sequências e comunicações antes de codificar. Code smells e refactoring mostra como reconhecer código doente e o curar sem mudar comportamento. Padrões de desenho aplica os dez padrões do programa a problemas do jogo. Por fim, MVC e projeto integrador junta tudo no padrão Model-View-Controller e na organização do projeto.
Como estudar
LDTS aprende-se a fazer, não a ler. Em cada página, abre o IntelliJ e executa o exemplo: cria o branch, corre o teste, desenha o diagrama à mão antes de ver a solução. Nas sete semanas de exercícios, resolve cada ficha no próprio dia, porque cada semana usa a anterior. No projeto, escreve os testes à medida que crias as classes; testes escritos no fim, à pressa, não apanham os erros que interessam.
Avaliação
A avaliação é distribuída e não tem exame final. Conta 5 por cento de participação nas práticas, 55 por cento do projeto integrado em grupos de três e 40 por cento de duas provas individuais em computador, com mínimos por componente. As regras exatas, incluindo mínimos e acesso a recurso, mudam de ano para ano: confirma na ficha da unidade curricular no SIGARRA e na página da disciplina no Moodle.
Fontes e âmbito
Estas páginas seguem o âmbito da unidade curricular de Laboratório de Desenho e Teste de Software (L.EIC014) do 2.º ano, 1.º semestre da LEIC, ocorrência de 2025/26: Git, Gradle, Java, princípios de orientação a objetos, SOLID, testes unitários com JUnit e Mockito, UML, code smells, refactoring, padrões de desenho e MVC. O software de trabalho é o IntelliJ e a bibliografia obrigatória é Thinking in Java e Learning UML 2.0.
Material oficial da FEUP:
- Ficha da unidade curricular de LDTS, ocorrência de 2025/26, com objetivos, programa, bibliografia e avaliação (consultada em setembro de 2026): SIGARRA.