Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Rafael Targino rtargino@unicarioca.edu.br @rafatargino QUALIDADE DE SOFTWARE Unidade II - Qualidade do Produto 2 Normas de Qualidade de Produto • Avaliação da qualidade de produtos de software ao longo do desenvolvimento – Norma ISO/IEC 9126 (NBR 13596). • Evoluída para a Norma ISO/IEC 25010 • Avaliação da qualidade de pacotes de software – Norma ISO/IEC 12119 (NBR ISO/IEC 12119). ENTIDADE PONTO DE VISTA CARACTERÍSTICAS Esp. de Requisitos Esp. de Projeto Produto Final ... Usuário Desenvolvedor Gerência ... = Conjunto de propriedades a serem satisfeitas Conceito Multidimensional 3 • Servem para: – Validar a completude de uma especificação de requisitos; – Identificar requisitos de software; – Identificar objetivos do projeto de software; – Identificar objetivos dos testes de software; – Identificar critérios de garantia de qualidade de software; – Identificar critérios de aceitação para um produto final de software. Características de Qualidade Características de Qualidade • 1977: – Proposta de McCall. • 1991: – ISO define a ISO 9126 (NBR 13596). • 1997: – ISO define a ISO 12119 (NBR 12119). • 2001: – Nova versão da ISO 9126 • 2011: – Substituição da ISO 9126 pela série de normas ISO 25000 4 Características de McCall Características de McCall • Para cada uma das características pode-se definir um conjunto de métricas. • Muitas serão medidas de forma subjetiva. • As métricas podem estar na forma de um checklist. 5 Engenharia de Requisitos I S O 9 1 2 6 / I S O 2 5 0 0 0 • Software Product Evaluation - Quality Characteristics and Guidelines for their use. • Tem como objetivo definir as características de qualidade desejáveis para um produto de software. • Estas características provêem uma linha base para posteriores refinamentos. ISO/IEC 9126; Information Technology - Software Evaluation - Quality Characteristics and Guidelines for their use; ISO; dezembro 1991 ISO/IEC 9126 6 • Inclusão de novas características. • Define métricas para as características de qualidade. • Divide-se em: – 9126-1: modelo de qualidade; – 9126-2: métricas externas; – 9126-3: métricas internas; – 9126-4: métricas para qualidade no uso. ISO 9126 (2001) Modelo de Qualidade 9126-1 Características Externas 9126-2 Características Internas 9126-3 Características de Qualidade de uso 9126-4 Quando executado Durante o desenvolvimento Utilização do software Modelo de Qualidade NBR ISO/IEC 9126 7 • A qualidade é avaliada de acordo com 3 perspectivas: – Qualidade interna – tipicamente medidas estáticas de produtos intermediários. – Qualidade externa – tipicamente medida a partir do produto quando executado. – Qualidade em uso – medida durante o uso do produto final. • A qualidade do processo contribui para a melhoria da qualidade do produto (interna e externa). ISO 9126 (2001) • Conjunto de características do produto de software que avaliam o produto segundo uma visão interna. • Usados para definir estratégias de desenvolvimento e critérios para avaliação e verificação durante todo o desenvolvimento. • Referem-se a medições de um produto de software a partir de suas próprias características internas, sem a necessidade de execução dos programas, como por exemplo, linhas de código, número de erros encontrados em revisões, etc. Qualidade Interna 8 • Conjunto de características do produto de software que avaliam o produto segundo uma visão externa. • Qualidade quando o software é executado. • Avaliado através de testes em ambientes simulados. Qualidade Externa • Visão do usuário sobre a qualidade do produto. • Avalia se o produto alcança seus objetivos em um ambiente específico de uso em cenários de tarefas do usuário especificados. • É medida em relação ao resultado da utilização do software e não em relação a características do produto. • Efeito combinado da qualidade externa e interna. Qualidade em Uso 9 Visões da Qualidade de SW Necessidades de qualidade do usuário Qualidade Interna Verificação Validação Uso e Feedback Qualidade Externa indica Qualidade no uso indica Requisitos internos de qualidade Contribuem para especificar Requisitos externos de qualidade Contribuem para especificar Estrutura Hierárquica de um Modelo de Qualidade Característica Subcaracterística Subcaracterística Subcaracterística Atributo Atributo AtributoAtributo Atributo 10 Atributos Externos e Internos x x x x x x x x x x x xx x x x x x x x x x x x xx x x x x x x atributo subcaracterística característica Atributos internos (atributos do software) Atributos externos (atributos do sistema) Qualidade Interna e Externa Funcionalidade Confiabilidade Usabilidade Eficiência Manutenibilidade Portabilidade Qualidade Interna e Externa 11 Definições das Características • Funcionalidade: Capacidade do produto de software de prover funções que atendam necessidades explícitas e implícitas, quando o software estiver sendo utilizado sob condições especificadas. • Confiabilidade: Capacidade do produto de software de manter um nível de desempenho especificado, quando usado em condições especificadas. • Usabilidade: Capacidade do produto de software de ser compreendido, aprendido, operado e atraente ao usuário, quando usado sob condições especificadas. Definições das Características • Eficiência: Capacidade do produto de software de apresentar desempenho apropriado, relativo à quantidade de recursos usados, sob condições especificadas. • Manutenibilidade: Capacidade do produto de software de ser modificado. As modificações podem incluir correções, melhorias ou adaptações do software devido a mudanças no ambiente e nos seus requisitos ou especificações funcionais. • Portabilidade: Capacidade do produto de software de ser transferido de um ambiente para outro. 12 Qualidade Interna e Externa Funcionalidade Confiabilidade Usabilidade Eficiência Manutenibilidade Portabilidade Qualidade Interna e Externa Adequação Acurácia Interoperabilidade Segurança Conformidade de funcionalidade O Software satisfaz às necessidades explícitas e implícitas do usuário? Qualidade Interna e Externa • Adequação - presença das funções especificadas. – Cobertura de Implementação Funcional = nº funções implementadas / nº funções especificadas – Estabilidade Funcional = nº funções alteradas após operação / nº funções especificadas • Acurácia - o produto gera resultados precisos ou dentro do esperado. – Frequência de inacurácia em resultado especificado = nº de inacurácias / tempo de operação • Interoperabilidade - capacidade de interagir e interoperar com outros sistemas, de acordo com o especificado. – Quão bem sucedidas são as trocas de dados 13 Qualidade Interna e Externa • Segurança (Security) - capacidade para prevenir o acesso não autorizado. – Taxa de prevenção de ataques externos • Conformidade - observância padrões, convenções ou regras estabelecidas. – Taxa de atendimento a padrões funcionais. Qualidade Interna e Externa Funcionalidade Confiabilidade Usabilidade Eficiência Manutenibilidade Portabilidade Qualidade Interna e Externa Maturidade Tolerância a falhas Recuperabildiade Conformidade de confiabilidade O SW, durante um período de tempo, funciona de acordo com as condições pré-estabelecidas? 14 Qualidade Interna e Externa • Maturidade – baixa presença de falhas. – Ex: Sistemaexaustivamente testado e corrigido. • Tolerância a falhas - capacidade do produto para manter determinados níveis de desempenho mesmo na presença de problemas. • Recuperabilidade - capacidade do produto para re- estabelecer o nível de desempenho desejado e recuperar dados em caso de ocorrência de falha. Qualidade Interna e Externa Funcionalidade Confiabilidade Usabilidade Eficiência Manutenibilidade Portabilidade Qualidade Interna e Externa Inteligibilidade Apreensibilidade Operacionalidade Atratividade Conformidade de usabilidade O SW é fácil de usar? 15 Qualidade Interna e Externa • Inteligibilidade - medida da facilidade do usuário para reconhecer a lógica de funcionamento do produto e sua aplicação. • Apreensibilidade - medida da facilidade encontrada pelo usuário para aprender a utilizar o produto. • Operacionalidade - medida da facilidade para operar o produto. • Atratividade – capacidade de atrair um potencial usuário para o sistema. Qualidade Interna e Externa Funcionalidade Confiabilidade Usabilidade Eficiência Manutenibilidade Portabilidade Qualidade Interna e Externa Comportamento em relação ao tempo Comportamento em relação a recursos Conformidade de eficiência O SW não desperdiça recursos? 16 Qualidade Interna e Externa • Comportamento em relação ao tempo - medida do tempo de resposta e de processamento, assim como as taxas de processamento (throughput), ao executar a funções prescritas. • Comportamento em relação aos recursos - medida da quantidade de recursos necessários (CPU, disco e memória, dentre outros) e a duração do seu uso ao executar as funções. Qualidade Interna e Externa Funcionalidade Confiabilidade Usabilidade Eficiência Manutenibilidade Portabilidade Qualidade Interna e Externa Analisabilidade Modificabilidade Estabilidade Testabilidade Conformidade de manutenibilidade O SW é fácil de alterar? 17 • Analisabilidade - medida do esforço necessário para diagnosticar deficiências ou causas de falhas, ou localizar as partes a serem modificadas para corrigir os problemas. – McCabe (complexidade ciclomática) • Modificabilidade - medida do esforço necessário para realizar alterações, remover falhas ou para adequar o produto a eventuais mudanças de ambiente operacional. • Estabilidade - medida do risco de efeitos inesperados provenientes de modificações. • Testabilidade - medida do esforço necessário para testar o software alterado. Qualidade Interna e Externa Qualidade Interna e Externa Funcionalidade Confiabilidade Usabilidade Eficiência Manutenibilidade Portabilidade Qualidade Interna e Externa Adaptabildiade Capac. para ser instalado Capac. para substituir Co-existência Conformidade de portabilidade O SW é fácil de adaptar para diversas plataformas? 18 Qualidade Interna e Externa • Adaptabilidade - medida da facilidade de se adaptar o produto para funcionar em outros ambientes operacionais diferentes do originalmente especificado. • Capacidade para ser Instalado - medida do esforço necessário para se instalar o produto. • Capacidade para substituir - medida do esforço necessário para usar o produto em substituição a outro produto, previamente especificado. • Co-existência – mede o quão facilmente o software convive com outros instalados no mesmo ambiente. Adequação Acurácia Interoperabilidade Seg. acesso Conformidade Funcionalidade Maturidade Toler. Falhas Recuperabilidade Conformidade Confiabilidade Inteligibilidade Apreensibilidade Operabilidade Atratividade Conformidade Usabilidade Comport. relação ao tempo Comport. relação aos recursos Conformidade Eficiência Analisabilidade Modificabilidade Estabilidade Testabilidade Conformidade Manutenibilidade Adaptabilidade Cap. p/ ser InstaladoCo-existência Cap. p/ substituir Conformidade Portabilidade Resumo – Características e Sub-características de Qualidade 19 Exercício 1. Discuta em grupos de 2 ou 3 alunos uma avaliação do AVA conforme as características de qualidade da norma ISO 9126. Avalie cada subcaracterística com as respostas “Atende”, “Atende Parcialmente” e “Não Atende”. 2. É possível avaliar todas as características? Por que? 20 • Visão do usuário sobre a qualidade do produto. • Avalia se o produto alcança seus objetivos em um ambiente específico de uso em cenários de tarefas do usuário especificados. • É medida em relação ao resultado da utilização do software e não em relação a características do produto. • Efeito combinado da qualidade externa e interna. Qualidade em Uso • Efetividade • Produtividade • Segurança • Satisfação (Safety) Qualidade em Uso 21 Qualidade em Uso Qualidade em uso Efetividade Produtividade Segurança Satisfação Qualidade em Uso Qualidade em uso Efetividade Produtividade Segurança Satisfação Capacidade do produto de software possibilitar ao usuário alcançar seus objetivos com correção e completude no contexto de uso especificado 22 Qualidade em Uso • Métricas de efetividade: – Efetividade da tarefa: Que proporção da tarefa é completada corretamente? – Completude da tarefa: no de tarefas completadas / total de tarefas testadas – Frequência de erro: no de erros do usuário / tempo ou no de tarefas. Qualidade em Uso Qualidade em uso Efetividade Produtividade Segurança Satisfação Capacidade do produto de software possibilitar ao usuário gastar quantidade de recursos adequados em relação a efetividade alcançada 23 Qualidade em Uso • Métricas de Produtividade: – Eficiência da tarefa: efetividade / tempo – Custo efetivo: efetividade / custo – Proporção produtiva: tempo produtivo / tempo da tarefa – Grau de eficiência do usuário: eficiência usuário comum / eficiência usuário especializado. – Grau de produtividade do usuário: produtividade usuário comum / produtividade usuário especializado. Qualidade em Uso Qualidade em uso Efetividade Produtividade Segurança Satisfação Capacidade do produto de software alcançar níveis aceitáveis de risco de prejuízo a pessoas, negócios, software ou ao ambiente em um contexto de uso especificado 24 Qualidade em Uso • Métricas de segurança (Safety) – Bem-estar do usuário: no usuários com LER, fadiga, etc / total afetado. – Segurança das pessoas afetadas pelo sistema: no pessoas colocadas em perigo / no total afetado – Danos econômicos: no de ocorrências / situações medidas Qualidade em Uso Qualidade em uso Efetividade Produtividade Segurança Satisfação Capacidade do produto de software satisfazer os usuários em um contexto de uso 25 Qualidade em Uso • Métricas de Satisfação: – Escala de Satisfação: questionário respondido / média população – Pesquisa de Satisfação: resultado anterior / resultado atual – Uso discreto do produto: no de utilizações / no que o usuário teve intenção de usar Resumo • Qualidade em uso: Capacidade de um produto de software de influenciar a eficácia, produtividade, segurança e satisfação de usuários de modo a satisfazer suas reais necessidades ao utilizar o produto de software para atingir suas metas em contextos de uso especificados. • Qualidade externa: capacidade de um produto de software de influenciar o comportamento de um sistema para satisfazer necessidades explícitas e implícitas quando o sistema que inclui o software for utilizado em condições especificadas. • Qualidade interna: capacidade de um conjunto de atributos estáticos de um produto de softwarede satisfazer necessidades explícitas e implícitas quando o produto de software for utilizado em condições especificadas. 26 Norma ISO/IEC 25000 - SQuaRE • A norma ISO/IEC 25000 é uma evolução das séries de normas 9216 e 14598 que tratam da qualidade do produto de software • SQuaRE – Software product Quality Requeriments and Evaluation (Requisitos de Qualidade e Avaliação de Produtos de Software) • Uma nova apresentação do conteúdo proposto pelas normas 9216 e 14598 (compostas por 10 documentos) • A SQuaRE reorganizou o material existente mas não realizou mudanças radicais no material Modelo de Qualidade 9126-1 Características Externas 9126-2 Características Internas 9126-3 Características de Qualidade de uso 9126-4 Quando executado Durante o desenvolvimento Utilização do software Modelo de Qualidade NBR ISO/IEC 9126 27 Estabelecer Requisitos de Avaliação Especificar a Avaliação Estabelecer o propósito da avaliação Identificar tipos de produto(s) a serem avaliados Especificar modelo de qualidade Selecionar medidas Julgar os resultados Estabelecer critérios para julgamento Projetar a Avaliação Produzir o plano de avaliação Obter as medidas Comparar com critérios Estabelecer níveis de pontuação p/ as medidas Executar a Avaliação SQuaREEstabelecendo um processo de avaliação usando medidas – proposição ISO/IEC 14598 Norma ISO/IEC 25000 - SQuaRE • Apresentação da Norma SQuaRE 9126-1 9126-2 / 9126-3 / 9126-4 Requisitos de Qualidade 2503n Modelo de Qualidade 2501n Gerenciamento de Qualidade 2500n Gerenciamento de Qualidade 2502n Avaliação 2504n 1459814598 9126 + 14598 + Nova Proposição 28 Norma ISO/IEC 25000 - SQuaRE • 25010 - Modelo de Qualidade – Esta divisão corresponde principalmente a antiga ISO/IEC 9126-1. São definidos os conceitos de qualidade externa, interna e em uso, que permitem orientar diferentes perspectivas de avaliação Relação das Normas 9126 e 14598 com a SQuaRE 29 Exercício • Utilizando a avaliação anterior do AVA para as características de qualidade definidas pela ISO 9126, proponha 1 a 2 medidas para cada uma das subcaracterísticas. • Classifique cada uma das medidas como qualitativas e quantitativas • Para a medida qualitativa, informe também o domínio de valores possíveis para a resposta. 30 Referências Bibliográficas • KOSCIANSKI, A. e SOARES, M. S. Qualidade de Software. NOVATEC. • PRESSMAN, R. S. Engenharia de Software. McGraw Hill, • Notas de Aula do Prof. David Zanetti, Qualidade de Software - Unicarioca
Compartilhar