Qualidade e Confiabilidade de Software

Ano
1
Ano lectivo
2022-2023
Código
02023402
Área Científica
Engenharia de Software
Língua de Ensino
Inglês
Outras Línguas de Ensino
Português
Modo de Ensino
Presencial
Duração
Semestral
Créditos ECTS
6.0
Tipo
Opcional
Nível
2º Ciclo - Mestrado

Conhecimentos de Base Recomendados

Programação, matemática discreta, estruturas de dados. 

Métodos de Ensino

Aulas T com exposição detalhada com meios audiovisuais, dos conceitos, princípios e técnicas fundamentais da Qualidade e Confiabilidade de Software, exemplos que despertem o interesse dos alunos e exemplifiquem a sua aplicação a situações reais. Aulas TP em que se pretende que os alunos, com a orientação do docente, resolvam exercícios de aplicação prática, conjugando conceitos teóricos distintos e raciocínio crítico face a problemas mais complexos. As aulas teórico-práticas serão ainda destinadas ao apoio aos trabalhos práticos. Prática: projetos de pequena dimensão e mini-testes.

Resultados de Aprendizagem

Esta unidade curricular aborda com profundidade as áreas da engenharia de software relacionadas com a verificação, validação e certificação. O objetivo é dotar os alunos com conhecimento abrangente sobre qualidade de software e as atividades técnicas levadas a cabo para assegurar a qualidade e a confiabilidade do software, incluindo análise estática e dinâmica, modelos de desenvolvimento e standards, e certificação de software. Os estudantes irão compreender como se conduz a garantia de qualidade durante o desenvolvimento de software, aprender a diferença entre análise estática e dinâmica, definir qualidade de software e descrever as atividades de garantia de qualidade no processo de desenvolvimento, realizar testes de software para melhorar a qualidade do software, obter conhecimento sólido em técnicas formais de análise estática, nomeadamente a verificação de modelos, e estimar o número de defeitos em aplicações de software baseadas em densidade de falhas e inserção de defeitos

Estágio(s)

Não

Programa

Fundamentos da qualidade de software

- Qualidade funcional e qualidade estrutural

- O valor económico da qualidade

- Confiabilidade de software: atributos, ameaças e meios

- Prevenção e remoção de defeitos

Análise estática e métodos formais

- Inspeções e revisões de software

- Análise estática automática

- Métodos formais de especificação e verificação

- Verificação de modelos

Teste de software

- Testes unitários, testes de integração e testes de sistema

- Testes black-box e white-box

- Testes baseados em modelos

- Critérios de cobertura

- Tracking de defeitos

- Verificação de sistemas distribuídos

- Testes de regressão

Modelos e standards de desenvolvimento

- Processos de ciclo de vida de software

- Qualidade de produtos de software

- Desenvolvimento dirigido por testes

- Programação por contrato

Certificação

- CMMI (Capability Maturity Model Integration)

- Medição e estimação da qualidade de software

- Verificação e validação

- Garantia de qualidade.

Docente(s) responsável(eis)

Henrique Santos do Carmo Madeira

Métodos de Avaliação

Avaliação
Mini Testes: 15.0%
Projecto: 25.0%
Exame: 60.0%

Bibliografia

- Paul Ammann and Jeff Offutt, ―Introduction to Software Testing‖, Cambridge University Press, 2008.

- Mordechai Ben-Ari, ―Principles of the Spin Model Checker‖, Springer, 2008.

- Stephen H. Kan, ―Metrics and Models in Software Quality Engineering‖, Addison-Wesley Professional, 2003.

- Mordechai Ben-Menachem, Garry S. Marliss, ―Software Quality: Producing Practical, Consistent Software‖, International Thomson Computer Press, 1997.