Buscar

Engenharia de Software - Aula 18 - Qualidade de Software

Prévia do material em texto

Aula de Hoje
• Qualidade de Software
Visão popular de Qualidade
• Qualidade é vista como luxo, classe e questão de gosto
• Produtos caros, sofisticados e mais complexos são 
considerados de maior qualidade que produtos similares mais considerados de maior qualidade que produtos similares mais 
simples 
• Exemplos!?!?
•Qualidade pode ser discutida, sentida e julgada, mas não(!?!)
pode ser medida, controlada, nem gerenciada
Visão profissional de Qualidade
• Qualidade está relacionada com os Requisitos designados 
para o produto
• As não conformidades aos requisitos são consideradas • As não conformidades aos requisitos são consideradas 
defeitos, falta de qualidade
• Qualidade pode e deve ser medida, definida, monitorada, 
gerenciada e melhorada
Qualidade Produto X Processo
•Qualidade do Produto
• funcionalidade, confiabilidade, facilidade de uso, 
facilidade de manutenção, ...
Aula de hoje
facilidade de manutenção, ...
• Qualidade do Processo
• conjunto de métodos utilizados no desenvolvimento do
software
O que é Qualidade?
• “Qualidade é um conceito complexo e multifacetado” [David 
Garvin, 1984]
• No desenvolvimento de software...qualidade de um produto • No desenvolvimento de software...qualidade de um produto 
engloba o grau de atendimento às funções e características 
especificadas no modelo de requisitos
O que é Qualidade?
Satisfação do usuário = produto compatível + boa qualidade + entrega 
Requisitos funcionais
Requisitos
não-funcionais
dentro do orçamento e do prazo previstos
Gerenciamento de Projeto
[Robert Glass, 1998]
Visão profissional de Qualidade
requisitosrequisitos
PROCESSO DE 
CONSTRUÇÃO
PRODUTO
usuário
requisitosrequisitos
atendidosatendidos
PRODUTO COM QUALIDADE
Qualidade de Software
• Qualidade de software pode ser definida como um conjunto 
de atributos de software que devem ser satisfeitos de modo 
que o software atenda às necessidades dos usuáriosque o software atenda às necessidades dos usuários
• A determinação dos atributos relevantes para cada software 
varia em função do domínio da aplicação, das tecnologias 
utilizadas, das características específicas do projeto e das 
necessidades do usuário e da organização 
Visões de Qualidade de Software
usuário
Facilidade de Uso, Desempenho, 
Confiabilidade dos Resultados, Preço do 
Software, etc.
desenvolvedor
Taxa de defeitos, Facilidade de Manutenção e 
Conformidade em relação aos Requisitos de 
Usuários, etc
organização
Cumprimento de Prazo, Boa Previsão de 
Custo, Boa Produtividade 
Visões de Qualidade de Software
• Usuário: avalia o software sem conhecer seus aspectos 
internos, está apenas interessado na facilidade do uso, no 
desempenho, na confiabilidade dos resultados e no preço
• Desenvolvedores: avaliam aspectos de conformidade em • Desenvolvedores: avaliam aspectos de conformidade em 
relação aos requisitos dos clientes e também aspectos 
internos do software 
• Organização: avalia aspectos de conformidade em relação 
aos requisitos dos clientes e desenvolvedores e também 
aspectos de custo e cronograma
Qualidade de Software
• Os requisitos de software formam a base de onde a 
qualidade é avaliada 
• Tipos de requisitos: explícitos e implícitos• Tipos de requisitos: explícitos e implícitos
• O software deve atender aos requisitos explícitos e
implícitos para ter qualidade
Fatores da Qualidade – ISO 9126
• Padrão ISO 9126 tentativa de identificar atributos 
fundamentais de qualidade para software
• Identifica 6 (seis) atributos fundamentais de qualidade• Identifica 6 (seis) atributos fundamentais de qualidade
Funcionalidade
Confiabilidade
Usabilidade
Eficiência
Facilidade de Manutenção Portabilidade
Desafio
• Como mensurar esses atributos de qualidade?
• A comunidade de ES se esforça para desenvolver medidas 
precisas para a qualidade de softwareprecisas para a qualidade de software
• Algumas vezes se frustra pela natureza subjetiva da 
atividade
Desafio
• Diferentemente de outras disciplinas de engenharia, a 
engenharia de software não é fundamentada nas leis 
quantitativas da físicaquantitativas da física
• Medidas diretas (tensão (voltagem), massa, velocidade, 
temperatura) são incomuns no mundo do software
• As medidas e métricas de software são muitas vezes 
indiretas e abertas ao debate
Métricas para Qualidade
• Embora as métricas de software sejam imperfeitas, podem 
proporcionar uma maneira sistemática de avaliar a qualidade 
com base em um conjunto de regras com base em um conjunto de regras 
• Nesse sentido, alguns autores definem métricas para 
medição de software que podem ser usadas para avaliar 
quantitativamente (com números ☺) a qualidade de um 
software
Métricas
• Métricas para o modelo de Requisitos
• Métricas para o modelo de Projeto
• Métricas para Código Fonte• Métricas para Código Fonte
• Métricas para Testes
• Métricas para Manutenção
Existem métricas que podem medir a qualidade dos produtos gerados em todas 
as etapas do processo de desenvolvimento de software
Métricas
• Métricas para o modelo de requisitos
• Métricas baseadas em função – Ponto de Função –
objetivo é prever o tamanho do sistema e o trabalho objetivo é prever o tamanho do sistema e o trabalho 
necessário de codificação, integração e teste
• Métricas para qualidade da especificação – objetivo de 
analisar a qualidade da documentação
Métricas
• Métricas para o modelo de projeto
• Métricas de projeto da arquitetura
• Métricas para projeto OO• Métricas para projeto OO
• Métricas orientada a classes
• Métricas de projeto em nível de componentes
• Métricas de projeto de interface de usuário
Considerações Finais
• A preocupação com a qualidade cresceu à medida que o 
software passou a se tornar mais integrado à vida cotidiana
• É difícil desenvolver uma descrição completa e precisa sobre • É difícil desenvolver uma descrição completa e precisa sobre 
qualidade de software
• Existem métricas que podem ajudar a medir a qualidade de 
um software
• Independente da abordagem, a qualidade tem um custo que 
pode ser discutido em termos de prevenção, avaliação e falhas
Encerramento Disciplina
Engenharia Engenharia 
de de 
RequisitosRequisitos
Projeto Projeto 
de de 
SoftwareSoftware
Construção Construção 
e e 
TesteTeste
ImplantaçãoImplantação
Requisitos funcionais Requisitos funcionais Projeto de Dados, Projeto de Dados, Testes caixa Testes caixa Requisitos funcionais 
e não funcionais
Requisitos funcionais 
e não funcionais
Diagramas de Casos 
de uso, Atividades, 
Raia, Sequência, 
Classe, Dados...
Diagramas de Casos 
de uso, Atividades, 
Raia, Sequência, 
Classe, Dados...
Projeto de Dados, 
Projeto arquitetural, 
projeto de interface
Projeto de Dados, 
Projeto arquitetural, 
projeto de interface
Manutenção e 
Reengenharia de 
Software
Manutenção e 
Reengenharia de 
Software
Gerenciamento de ProjetoGerenciamento de Projeto
Qualidade de SoftwareQualidade de Software
Testes caixa 
branca e 
caixa preta
Testes caixa 
branca e 
caixa preta
Encerramento Disciplina
Encerramento Disciplina
Encerramento Disciplina
Encerramento Disciplina
Encerramento Disciplina
Encerramento Disciplina
AVISOS
• Próxima aula (dia 02/12/14) � 3ª Prova
• Notas serão divulgadas pelo Moodle
• Revisão de provas agendadas por email• Revisão de provas agendadas por email
Leitura Recomendada
• Capítulos 14 e 23 do livro texto: Pressman,
Roger. Engenharia de Software, 7ed.
McGrawHill, Porto Alegre, RS, 2011

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes