Baixe o app para aproveitar ainda mais
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
Compartilhar