Especialização em Gerência de Projetos de Software Garantia da Qualidade de Software Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br Qualidade de Software 2009 Instituto de Ciências Exatas e Naturais Universidade Federal de Pará
Agenda Introdução Conceitos Qualidade Qualidade de Processo e Produto Qualidade de software Qualidade de Processo Qualidade de Produto PMBOK Conclusão
Introdução (I) O quê é? Definição explícita da qualidade Criação de atividades para garanti-la Realizar estas atividades em todos os projetos Utilizar métricas para melhorar a qualidade Quem faz? Todos os envolvidos no processo de desenvolvimento do software 3
Introdução (II) Por que é importante? Reduz a quantidade de trabalho repetido Permite reduzir custos e poupar tempo Qual o produto? Informes das revisões técnicas formais Planos e procedimentos de testes Quando está bem feito? Quando encontramos todos os erros antes de transformarem-se em defeitos 4
Conceitos (I) O controle de variação: é a chave de um produto de alta qualidade. No contexto do software, queremos controlar a variação a nível do processo, dos recursos e dos atributos do produto Qualidade: De desenho características especificadas pelos engenheiros para os elementos do software De concordância grau de cumprimento das especificações de desenho durante a sua realização. 5
Conceitos (II) Fatores da qualidade: produto satisfatório + Boa qualidade + cumprimento de prazos e orçamentos = Usuário satisfeito 6
Conceitos (III) Controle de qualidade série de inspeções, revisões e testes feitos ao longo do processo de desenvolvimento de forma a garantir que o produto cumpra com os requisitos estabelecidos Garantia da qualidade auditoria e funções de informação da gestão. O objetivo é fornecer a gestão dos dados necessários sobre a qualidade do produto Custo da qualidade custos envolvidos na procura da qualidade 7
Custos da qualidade Prevenção Planejamento Revisões técnicas formais Equipe de testes Formação Avaliação Inspeção no processo e entre processos Calibragem/Afinação e manutenção de equipamentos Testes Falhas Internas Re-trabalho Reparo Análise das modalidades de falhas Externas Gestão de requisições Devolução e substituição de produtos Linhas de ajuda Trabalho de garantia 8
Custos relativos de correção de erros 40-1000 vezes 40 30-70 vezes 30 20 15-40 vezes 10 0 10 vezes 3-6 vezes 1 vez requisitos desenho código teste des. teste sist. exploração 9
Qualidade A totalidade de características de uma entidade que lhe confere a capacidade de satisfazer às necessidades explícitas e implícitas ISO 8402
Conceito de Qualidade (Pressmann) Concordância com os requisitos funcionais e de performance, com padrões de desenvolvimento explicitamente documentados e com as características implícitas em todo software desenvolvido profissionalmente 1. Os requisitos são a base da medição da qualidade 2. Os padrões (standards) definem um conjunto de critérios de desenvolvimento 3. Existe um conjunto de características implícitas não mencionadas Facilidade de uso Boa manutenção 11
Qualidade Necessidades Explícitas O barco tem que ser para duas pessoas Necessidades Implícitas
Qualidade Divisão de requisitos em duas dimensões, gerando classificação dos requisitos de qualidade em: Necessários Normais Atrativos
Qualidade
Qualidade Necessários Ex: Automóvel não falhar nos primeiros 6 meses Normais Ex: Ruído e desempenho do automóvel Atrativos Ex: Automóvel já possui jogo de rodas
Atividades de garantia da qualidade - precauções a serem tomadas no Plano de Projeto Estabelecimento de um Plano de Garantia de Qualidade Participação no desenvolvimento da descrição do processo de software Revisão das atividades de engenharia de software para verificar o seu ajuste ao processo Auditoria dos produtos desenhados para verificar o seu ajuste com os definidos pelo processo Garantir que os desvios sejam documentados e geridos segundo o procedimento estabelecido Registar o que não esteja ajustado aos requisitos e reportá-lo 16
Revisões Revisão: Filtro do processo, utilizadas para detectar erros e defeitos Erro: problema de qualidade antes da entrega ao cliente Defeitos: problema de qualidade depois da entrega ao cliente 17
Revisões Técnicas Formais Conceito: atividade de garantia de qualidade realizada pelos engenheiros de software Objetivos: 1. Descobrir erros a nível lógico, funcional ou de implementação das representações do software 2. Verificar o cumprimento dos requisitos 3. Garantir o seguimento dos standards 4. Garantir um desenvolvimento uniforme 5. Facilitar a gestão dos projetos 18
Reuniões de Revisão Convocar 3 5 pessoas Preparar atempadamente, < 2horas Duração < 2 horas Informe: O quê foi revisado? Quem revisou? O quê foi detectado? Conclusões Realizada por: Chefe de revisão Revisores Produtor Ações: 1. explicação da agenda 2. introdução do produtor 3. percurso do produto e apontamento dos problemas detectados 19
Medidas importantes de qualidade Tempo médio entre falhas Tempo médio de falhas + tempo médio de reparação Disponibilidade (tempo médio de falhas / tempo médio entre falhas) x 100 (%) Exemplo: 1 falha de 5h por dia >> (5/24)*100 >> 20,83% falhas de 1h a cada 5h >> (1/5)*100 >> 20% Segurança Analisa os modos em que as falhas podem produzir acidentes Crítico em aplicações cuja falha pode causar a perda de vidas humanos 20
Medidas de Qualidade em geral Correção grau em que o Software faz a sua função Facilidade de manutenção Integridade relativo à segurança contra terceiros Facilidade de uso Eficácia na eliminação de defeitos 21
Standards ISO-9001 Adoptado por > 130 países Não é específico Standards do software ISO 9001 Quality systems Standards for Quality Assurance in Design, Development, Production, Installation and Service ISO 9000-3 Guidelines for Application of ISO 9001 to the Development, Supply and Maintenance of Software ISO 9004-2 Quality management and Quality System Elements Plano de garantia de qualidade (IEEE) Documentos Standards, práticas e convenções Revisões e auditorias Testes Ferramentas e métodos de suporte 22
Qualidade de Processo de Software Fator determinante na Qualidade do Software. Diversos Modelos de definição, avaliação e melhoria dos processos. Séries e Normas da ISO SW-CMM SPICE
Série ISO 9000 Voltadas para a gestão e garantia da qualidade. Especificam Requisitos Mínimos para Empresas. Define Normas, não Modelos. Não impõe Sistemas de Qualidade.
Norma ISO 9000-3 Específica para Software Diretrizes da Concepção à Manutenção Dividida em três partes principais.
Partes principais da ISO 9000-3 : Estrutura Descreve Aspectos Organizacionais São detalhadas as responsabilidades e ações que devem ser tomadas em relação a qualidade. Atividades do Ciclo de Vida: Determina que deve haver um ciclo de vida. Não determina qual ciclo de vida. Atividades de Suporte Descreve as atividades que apoiam as atividades do ciclo de vida.
Qualidade de Produto de Software Resultado do processo de desenvolvimento do mesmo. Avaliar é verificar requisitos. Exame Sistemático exige um processo de avaliação. Série ISO/IEC 14598 Usa como referência a Norma ISO/IEC 9126-1 que trata de características de qualidade.
Série ISO/IEC 14598 Essa série oferece uma visão geral do processo de avaliação de produtos de software e fornece guias e requisitos para avaliação. A norma ISO/IEC 14598-1 propõe um processo geral. As demais normas oferecem visões diferentes do processo de avaliação.
Série ISO/IEC 14598
Norma ISO/IEC 14598-5 Fornece Requisitos e Recomendações para a implementação prática da avaliação do produto de software. Produtos em Desenvolvimento ou Concluídos. Características da qualidade: Mesuramento x Experiência. Características do Processo de Avaliação: Repetível, Reprodutível, Imparcial e Objetiva.
Atividades da Norma ISO/IEC 14598-5
Norma ISO/IEC 9126-1 Fornece seis características que descrevem com um mínimo de sobreposição a qualidade de software.