FACOM31102 - Aula 02 - Fundamentos

Revisão de 01h16min de 12 de outubro de 2025 por 177.191.113.132 (discussão) (Custo da Qualidade)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

Fundamentos


  • Pressman: a qualidade é um conceito multifacetado e sua definição depende fundamentalmente de quem a está avaliando.
  • Categoriza a qualidade em cinco visões amplas:
Ponto de vista Foco da qualidade Definição na prática Síntese
Transcendental Excelência Inata Qualidade é o que se sente; é reconhecível Percepção de excelência que o software evoca
Focado no Usuário Adequação ao Propósito Qualidade é a satisfação das necessidades do usuário Software é de qualidade atende os requisitos explícitos e implícitos do cliente
Focado na Fabricação (Processo) Conformidade com as Especificações Qualidade é a aderência aos padrões de desenvolvimento e aos requisitos especificados Resultado de um processo bem executado e repetível
Baseado no Valor Custo-Benefício Qualidade é o que o cliente está disposto a pagar Produto de alta qualidade proporciona valor (benefícios) que justifica o custo


Histórico sobre Qualidade


  • Histórico da qualidade de software a partir da necessidade de mitigar a "Crise do Software"
    • Período em que projetos frequentemente excediam prazos, orçamentos e não entregavam a funcionalidade correta
  • A evolução da qualidade passou de uma fase de Correção de Defeitos (foco no produto final) para a Garantia da Qualidade (SQA) com foco na prevenção e melhoria contínua do processo)
    • SQA – Software Quality Assurance: Ao contrário do Teste de Software (que é uma atividade focada na detecção de defeitos no produto final), o SQA é uma atividade de prevenção e avaliação de processo que é aplicada desde o início do projeto.
  • A ênfase mudou de "Qualidade do Produto" para "Qualidade do Processo", reconhecendo que a qualidade do software é diretamente determinada pela qualidade do processo utilizado para criá-lo.


Custo da Qualidade


  • SQA enfatiza que a qualidade é um investimento, não apenas um custo
  • Custo da Qualidade (CoQ) é uma métrica usada para quantificar o esforço gasto para garantir a qualidade ou para corrigir a falta dela
  • CoQ é dividido em três categorias principais:
    • Custos de Prevenção: Custos associados a atividades que buscam evitar a ocorrência de defeitos
      • Exemplos: Planejamento da Qualidade, Treinamento de Engenharia de Software, Revisões Técnicas Formais
  • Custos de Avaliação (ou Detecção): Custos associados à verificação da qualidade do produto durante o desenvolvimento
    • Exemplos: Inspeções, Testes de Unidade/Integração/Sistema, Auditorias de Qualidade
  • Custos de Falha: Custos resultantes da não conformidade do produto, divididos em:
    • Falha Interna: Defeitos encontrados antes da entrega ao cliente
      • Exemplos: Custos de retrabalho, reparação de bugs após testes internos
    • Falha Externa: Defeitos encontrados após a entrega ao cliente
      • Exemplos: Suporte ao cliente, custos de garantia, perda de reputação, perda de negócios e responsabilidade legal (o custo mais alto)


  • Princípio: O custo para corrigir um defeito aumenta exponencialmente quanto mais tarde no ciclo de vida ele é descoberto
    • Se torna mais caro quando encontrado pelo cliente
    • SAída: Investimento em Prevenção é o mais eficiente.


Modelos e Padrões de Qualidade


  • Modelos e normas internacionais fornecem uma estrutura para a melhoria do processo de software, visando garantir a qualidade


  • Modelos de Maturidade de Processo:
    • CMMI (Capability Maturity Model Integration):
      • Um modelo de melhoria de processo que fornece uma estrutura para medir e melhorar a maturidade do processo de uma organização
    • CMMI organiza as práticas de processo em níveis de maturidade (do Inicial ao Otimizado) e em áreas de processo, focando em "o que" deve ser feito para alcançar a qualidade do processo
    • MPS.Br (Melhoria de Processo do Software Brasileiro):
      • MPS.Br é um modelo de maturidade e capacidade brasileiro, compatível com CMMI e ISO/IEC 15504, adaptado para a realidade e o custo das pequenas e médias empresas de software no Brasil


  • Normas e Padrões ISO (International Organization for Standardization):
    • ISO 12207:
      • Define os processos fundamentais do ciclo de vida do software
        • aquisição, fornecimento, desenvolvimento, operação, manutenção
      • Essencial para a perspectiva de fabricação
    • ISO/IEC 15504 (SPICE):
      • Foca na avaliação da capacidade do processo (Process Assessment). Usado para avaliar se uma organização está realizando seus processos de forma eficaz, ajudando a estabelecer níveis de capacidade
    • ISO 9126 (e a evolução SQuaRE):
      • ISO 9126 (Histórica):
        • Definiu a qualidade do produto de software com um modelo hierárquico de seis características principais:
          • Funcionalidade, Confiabilidade, Usabilidade, Eficiência, Manutenibilidade e Portabilidade
      • ISO/IEC 25000 (SQuaRE – Systems and Software Quality Requirements and Evaluation):
        • É o padrão sucessor da ISO 9126
        • Amplia e refina o modelo, focando nos Requisitos e Avaliação da Qualidade de Sistemas e Software
        • Principal padrão para definir as características de qualidade do produto (visão de produto).