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 Teóricas - Expositivas com a utilização de diapositivos de apoio, os quais cobrem todos os conteúdos lecionados com exemplos ilustrativos.
Aulas prático-laboratoriais - Aplicação prática de conceitos lecionados nas aulas teóricas, com estímulo à participação na apresentação de soluções por parte dos alunos. As aulas são guiadas pela utilização de um conjunto de fichas de trabalho, onde são descritas as tarefas que os alunos deverão executar.
Em todas as épocas, a classificação final é obtida pela média ponderada das seguintes componentes:
-Teste Escrito: 50% (Mínimo 10 valores)
Exame em Época Normal
Exame em Época de Recurso/Época Especial
-Trabalhos Práticos: 35% (Mínimo 10 valores)
-Fichas de Avaliação: 10%
-Presenças: 5%
Os alunos deverão frequentar 2/3 das aulas práticas (1/3 para alunos com estatuto trabalhador-estudante) para serem admitidos a avaliação em época normal.
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