Garantia de Qualidade do software Aula 15
Sumário Introdução Conceitos Custos da Qualidade O quê é? Quem faz? Porquê é importante? Qual é o produto? Como saber se está bem feita? Conceitos Custos da Qualidade Revisões Técnicas Formais Actividades de Garantia da Qualidade Medidas Importantes de Qualidade Fiabilidade Disponibilidade Segurança Standards ISO Plano de garantia de Qualidade IEEE
Introdução (I) O quê é? Quem faz? Definição explícita da qualidade Criação de actividades para garanti-la Realizar estas actividades em todos os projectos Utilizar métricas para melhorar a qualidade Quem faz? Todos os envolvidos no processo de desenvolvimento do sw
Introdução (II) Porquê é importante? Qual o produto? 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
Conceitos (I) O controlo de variação: Qualidade: é 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. Qualidade de desenho: O grau de materiais, tolerâncias e especificações da performance contribuem à qualidade do desenho. Quando são utilizados materiais de alto grau, há tolerâncias mais estritas e níveis mais altos de rendimento, a qualidade de desenho de um produto aumenta, se o produto se construir segundo estas especificações. Qualidade de concordância:No desenvolvimento de de software a qualidade refere_se aos requisitos, especificações e o desenho do sistema. A qualidade de concordância é um aspecto focado principalmente na implementação
Conceitos (II) produto satisfatório + Boa qualidade + Factores da qualidade: produto satisfatório + Boa qualidade + cumprimento de prazos e orçamentos = Utilizador satisfeito
Conceitos (III) Controlo de qualidade Garantia da qualidade série de inspecçõ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 objectivo é fornecer a gestão dos dados necessários sobre a qualidade do produto Custo da qualidade custos envolvidos na procura da qualidade
Custos da qualidade Prevenção Avaliação Falhas Planeamento Internas Revisões técnicas formais Equipa de testes Formação Avaliação Inspecção no processo e entre processos Calibragem/Afinação e manutenção de equipamentos Testes Falhas Internas Re-trabalho Reparação Análise das modalidades de falhas Externas Gestão de queixas Devolução e substituição de produtos Linhas de ajuda Trabalho de garantia
Custos relativos de correcção de erros 1 vez 3-6 vezes 15-40 vezes 30-70 vezes 40-1000 vezes 10 vezes
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 Os requisitos são a base da medição da qualidade Os padrões (standards) definem um conjunto de critérios de desenvolvimento Existe um conjunto de características implícitas não mencionadas Facilidade de uso Boa manutenção
Actividades de garantia da qualidade - precauções a serem tomadas no Plano de Projecto Estabelecimento de um Plano de Garantia de Qualidade Participação no desenvolvimento da descrição do processo de software Revisão das actividades 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 O plano de garantia da qualidade identifica: Avaliações, auditorias e revisões a realizar Standards a aplicar no projecto Procedimentos para informação e monitorização de erros Documentos produzidos pelo grupo de garantia da qualidade Re-alimentação de informação fornecida à equipa do projecto
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
Revisões Técnicas Formais Conceito: actividade de garantia de qualidade realizada pelos engenheiros de software Objectivos: Descobrir erros a nível lógico, funcional ou de implementação das representações do software Verificar o cumprimento dos requisitos Garantir o seguimento dos standards Garantir um desenvolvimento uniforme Facilitar a gestão dos projectos
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 Acções: explicação da agenda introdução do produtor percurso do produto e apontamento dos problemas detectados Convocar 3 – 5 pessoas Preparar em avanço, sem implicar mais de 2 horas de preparação Duração menor a 2 horas Realizada por Chefe de revisão Revisores (1 dos revisores assume o papel de registador) Produtor Começa-se pela explicação da agenda e introdução do produtor A seguir, o produtor faz o percurso do produto, explicando o material enquanto os revisores apontam os problemas detectados e o registador regista todos os factos
Medidas importantes de qualidade Fiabilidade (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
Medidas de Qualidade em geral Correcção grau em que o SW 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
Standards Plano de garantia de qualidade (IEEE) Documentos 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 Plano IEEE Documentação: documentos do projecto (plano), modelos (DER, hierarquias de classe), documentos técnicos (especificações, planos de teste) Standards, práticas e convenções: standards de documentos, codificação e alinhamentos de revisão. Métricas de produto, processo e projecto a recolher Revisões e auditorias: a realizar pela equipa de engenharia, grupo de garantia da qualidade e o cliente. Ferramentas de suporte: procedimentos de gestão da configuração, enfoque de gestão de contratos, métodos de gestão dos registos, formação requerida para cumprir as necessidades do plano e métodos de gestão dos riscos