Qualidade e Confiabilidade de Software

Ano
1
Ano lectivo
2017-2018
Código
02023402
Área Científica
Engenharia de Software
Língua 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.