Guia Completo de Gerenciamento da Qualidade de Software
Classificado em Computação
Escrito em em
português com um tamanho de 5,16 KB
Gerenciamento da Qualidade de Software
Preocupa-se em garantir que o nível exigido de qualidade do produto de software seja atingido. Envolve definir procedimentos e padrões de qualidade que devem ser seguidos.
O que é qualidade
Classicamente, a noção de qualidade é a de que o produto desenvolvido deve cumprir com suas especificações.
O compromisso com a qualidade
- Não se pode esperar por uma especificação perfeita antes de implantar procedimentos de gerenciamento de qualidade.
- Deve-se implantar procedimentos para melhorar a qualidade dentro das restrições impostas por uma especificação imperfeita.
- O gerenciamento de qualidade não se preocupa somente em reduzir defeitos, mas também com outras características de qualidade do produto.
Atividades do gerenciamento de qualidade
- Garantia de qualidade: Estabelecer uma estrutura de procedimentos e de padrões organizacionais para qualidade.
- Planejamento de qualidade: Seleção e ajustes de procedimentos e de padrões de qualidade para um projeto específico.
- Controle de qualidade: Garantir que os procedimentos e padrões estão sendo seguidos pela equipe de desenvolvimento de software.
ISO 9000 e ISO 9001
- ISO 9000: Padrão internacional para o gerenciamento de qualidade, aplicável a uma gama de organizações, desde a indústria de manufatura até as indústrias de serviços.
- ISO 9001: Aplicável a organizações que projetam, desenvolvem e dão manutenção a produtos. É um modelo genérico de um processo de qualidade que deve ser instanciado por cada organização.
- Certificação ISO 9000: Os procedimentos de garantia de qualidade devem ser documentados em um manual de qualidade organizacional.
Garantia e padrões de qualidade
- Padrões: São a chave para o gerenciamento de qualidade efetivo. Podem ser internacionais, nacionais, organizacionais ou padrões de projeto.
- Padrões de produto: Aplicam-se ao produto de software em desenvolvimento (ex: estilo de programação, formulário de revisão de projeto, estrutura do documento de requisitos).
- Padrões de processo: Definem os processos a serem seguidos durante o desenvolvimento (ex: definições de especificação, processos de projeto e validação, processo de liberação de versão).
Importância dos padrões
- Encapsulam as melhores práticas, evitando a repetição de erros passados.
- Fornecem infraestrutura para o processo de garantia de qualidade, envolvendo a verificação de conformidade.
- Ajudam em termos de continuidade, reduzindo o esforço de aprendizado ao padronizar práticas entre engenheiros.
Qualidade baseada em processo
Existe uma ligação direta entre processo e produto. Em software, é mais complexo devido a fatores externos, como a novidade da aplicação ou pressão comercial para liberação rápida.
Planejamento e controle de qualidade
O plano de qualidade deve estabelecer as qualidades desejadas e como avaliá-las. A estrutura inclui: introdução sobre o produto, planos para o produto, descrições de processo, metas de qualidade e gerenciamento de riscos.
Atributos de qualidade do software
- Segurança: Confiabilidade, capacidade de recuperação, robustez.
- Facilidade de compreensão: Testabilidade, facilidade de adaptação, modularidade.
- Portabilidade: Facilidade de uso, facilidade de reuso, eficiência.
Revisões de qualidade
O principal método de validar a qualidade. Os revisores examinam partes ou todo o sistema para encontrar problemas. Tipos incluem:
- Inspeções: Remoção de defeitos (requisitos, projetos ou código).
- Revisões de progresso: Avaliar o progresso geral do projeto para a gerência.
- Revisões de qualidade: Análise técnica para encontrar inconsistências entre especificação, projeto e código.
Medição e métricas de software
A medição permite comparações objetivas. Métricas quantificam o sistema, processo ou documentação (ex: linhas de código, defeitos relatados).
Métricas de produto
- Métricas dinâmicas: Coletadas durante a execução (eficiência e confiabilidade).
- Métricas estáticas: Coletadas das representações do sistema (complexidade, legibilidade, manutenção).
Níveis do modelo de maturidade (CMM)
- Inicial: Essencialmente não controlado.
- Repetível: Procedimentos de gerenciamento de produto definidos.
- Definido: Estratégias de gerenciamento de projeto definidas.
- Gerenciado: Estratégias de gerenciamento de qualidade definidas.
- Otimização: Estratégias de melhoria contínua do processo.