Objetivos / Competências
Implementar as melhores práticas no desenvolvimento de software, através de técnicas, arquiteturas e conceitos que promovam a sua manutenção evolutiva. Desenvolver software baseado em padrões. Desenhar e implementar testes de software.
Conteúdos programáticos resumidos
1 Padrões de Desenho
1.1 Padrões de Criação
1.2 Padrões Comportamentais
1.3 Padrões Estruturais
2 Fundamentos de Testes de Software
2.1 Testes White-box
2.2 Testes Black-box
2.3 Diagramas Causa-Efeito
3 Testes de Unidade
3.1 Testes de Interface
3.2 Testes de Estruturas de Dados
3.3 Testes de Condições Limite
3.4 Testes de Caminhos de Execução
3.5 Testes de Caminhos de Tratamento de Erros
4 Testes de Sistema
4.1 Testes de Integração
4.2 Testes de Performance: Robustez, Disponibilidade e Capacidade
4.3 Testes de Aceitação
4.4 Testes de Instalação
Metodologias de ensino e critérios de avaliação
Aulas de caráter essencialmente prático, com apelo constante à participação, desenvolvimento do espírito crítico e de iniciativa, e procura da excelência nos trabalhos realizados.
Ponderação, em todas as épocas de avaliação:
-trabalhos práticos intermédios (35%, mínimos: 10/20);
-trabalho prático final (50%, mínimos: 10/20) sujeito a defesa individual, onde o aluno terá de demonstrar as soluções para os problemas descritos no enunciado do trabalho e os conceitos teóricos necessários para a sua implementação;
-tarefas resolvidas presencialmente em aula (15%, mínimos para Época Normal: 12/20).
Parte da classificação dos trabalhos práticos resulta da sua avaliação contínua em Época Normal.
Todos os trabalhos são passíveis de defesa individual.
Bibliografia resumida
- Roger S. Pressman, (2005) Software engineering : A practitioner's approach, Boston, McGraw-Hill, (004.41 PRE)
- Gerreiro, S. (2015) Introdução à Engenharia de Software, FCA – Editora de Informática, ISBN: 978-972-722-795-2
- Mauro Nunes & Henrique O’Neill, (2001) Fundamental de UML, FCA Editora de Informática, (004.41 NUN)
- Spillner, A. et al. (2014). Software Testing Foundations: A Study Guide for the Certified Tester Exam (Rocky Nook Computing), Rocky Nook, ISBN: 978-1937538422
- Liu, H. (2009).Software Performance and Scalability, John Wiley & Sons, ISBN: 978-0470462539
- Molyneaux, I. (2014). The Art of Application Performance Testing: From Strategy to Tools, O'Reilly, ISBN: 978-1491900543
- Stuttard , D. (2011). The Web Application Hacker's Handbook: Finding and Exploiting Security Flaws, John Wiley & Sons, ISBN: 978-1118026472
- Wysopal, C. et al. (2006). The Art of Software Security Testing: Identifying Software Security Flaws, Addison Wesley, ISBN: 978-0321304865