
Qualidade do Software
Código
11170
Unidade Orgânica
Faculdade de Ciências e Tecnologia
Departamento
Departamento de Informática
Créditos
6.0
Professor responsável
Ana Maria Diniz Moreira, Miguel Carlos Pacheco Afonso Goulão
Horas semanais
4
Língua de ensino
Português
Objectivos
Saber:
- Componentes de um sistema de gestão da qualidade (SGQ)
- Modelos de qualidade de software e sua avaliação
- Verificação e validação
- Princípios, objectivos e conceitos fundamentais da reengenharia de software
- Software legado
- Técnicas e ferramentas de engenharia reversa
- Reengenharia e refabricação de programas
Saber fazer:
- Reificar um SGQ para projectos de desenvolvimento de software
- Construir um modelo de qualidade de software
- Selecionar e utilizar técnicas de verificação e validação adequadas
- Avaliação crítica do grau de cobertura atingido com as técnicas de verificação e validação
- Analisar sistemas existentes de dimensão não trivial
- Obtenção/extracção de conceitos de alto nível de sistemas legados
- Elaboração de diagnósticos úteis para a reengenharia
- Dominar técnicas de reengenharia de software
Soft skills:
- Trabalho em equipa
- Defesa pública de pontos de vista
Pré-requisitos
Engenharia de Software, Métodos de Desenvolvimento de Software
Conteúdo
1. Introdução à Qualidade de Software
2. Modelos de Qualidade de Software
2.1 Modelos de Qualidade do Processo
2.2 Modelos de Qualidade do Produto
3. Verificação e Validação de Software
3.1 Revisões (passo-a-passo, inspecções, demonstrações, auditorias)
3.2 Técnicas de leitura (ad-hoc, baseada em listas de verificação, baseada em defeitos, baseada em perspectiva)
3.3 Análise de custos e benefícios das revisões
3.4 Teste de software (fundamentos, testes de caixa negra, testes de caixa branca)
4. Evolução de Software
4.1 Leis da Evolução de Software
4.2 Deterioração de Software
5. Mineração de repositórios de software
5.1 Engenharia reversa de sistemas de software
5.2 Métricas de software
5.3 Visualização de software
6. Reengenharia de sistemas de software
6.1 Fundamentos de reengenharia
6.2 Refabricação
6.3 Rastreabilidade
7. Reutilização de Software
7.1 Famílias de software
7.2 Bibliotecas de componentes reutilizáveis
Bibliografia
Chikofsky, E.J., Cross II, J.H. Reverse Engineering and Design Recovery: a Taxonomy. IEEE Software 7(1), pp.13-17, IEEE Computer Society Press, January 1990.
Lanza M.; Marinescu R. Object-Oriented Metrics in Practice. Springer-Verlag 2006. ISBN-10 3-540-24429
Fowler M. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999. ISBN:0-201-48567-2
Método de avaliação
Componentes da avaliação:
Existem dois componentes na avaliação: a componente da nota relativa aos testes (NT); e a componente da nota relativa aos trabalhos práticos (NP) . A nota final (NF) é calculada pela fórmula:
NF = NT + NP
Componente Prática:
Esta componente de avaliação é constituída por trabalhos práticos laboratoriais a realizar durante o semestre. A nota da componente prática é calculada do seguinte modo:
NP = 0,35*NP1 + 0,20*NP2
em que:
- NA é a nota de participação do aluno nas aulas;
- NP1 é a nota dos trabalhos práticos sobre evolução de software (1ª metade do semestre);
- NP2 é a nota dos trabalhos práticos de verificação e validação (2ª metade do semestre);
Testes:
Esta componente de avaliação é constituída por 2 testes sem consulta, escritos e individuais. A nota desta componente é calculada do seguinte modo:
NT = 0,15 * NT1 + 0,30 * NT2
em que:
- NT1 é a nota do teste 1;
- NT2 é a nota do teste 2.
Exame Final:
NT é a nota obtida em exame final.
Nota final:
O aluno com frequência obtém aprovação se ambas as notas NF e NT forem superiores ou iguais a 9.5.
Frequência obtida em 2018/2019:
Obtém frequência à disciplina o aluno que tenha uma nota superior ou igual a 9.5 na média ponderada dos trabalhos práticos (ver pesos relativos definidos acima).
O aluno sem frequência é excluído do exame de recurso nesse ano lectivo.
A regra acima para a obtenção de frequência aplica-se a todos os alunos, repetentes e de 1ª inscrição, excepto alunos que obtiveram frequência na edição de 2017/2018.
Frequências do ano lectivo anterior 2017/2018:
Os alunos que tenham obtido frequência na edição de 2017/2018 mantêm-na no presente ano. Caso entreguem algum trabalho em 2018/2019, perdem a frequência automática. A fórmula de cálculo da nota é igual à dos alunos que obtém frequência em 2018/2019.
Melhoria de nota:
As melhorias de nota apenas se realizam por exame, sendo a nota final igual à nota do exame, para frequências antigas, ou calculada com a mesma fórmula da aprovação, para melhorias de notas obtidas em 2018/2019.