quinta-feira, 22 de abril de 2021

Norma ISO 9126 – Modelo de qualidade de software

A norma ISO 9126 define um conjunto de quesitos que visam padronizar a avaliação da qualidade de software. A norma divide-se em quatro partes (conforme ilustra a Figura abaixo), sendo a primeira uma visão geral do modelo de qualidade e as outras três os grupos de métricas definidas para este modelo:

  • Parte 1: Modelo de qualidade
  • Parte 2: Métricas externas
  • Parte 3: Métricas internas
  • Parte 4: Métricas de qualidade em uso

Qualidade externa se refere ao produto final como observado pelo usuário, e qualidade interna se relaciona com a estrutura e as características do produto relativas ao seu projeto e à sua construção.

A norma ISO 14598 recomenda a utilização do modelo de qualidade proposto na norma ISO 9126, que é o mais difundido na indústria. A norma 9126 tem foco na qualidade do produto de software e propõe atributos de qualidade distribuídos em seis características principais, cada qual, por sua vez, divididas em subcaracterísticas, conforme ilustra a Figura.

Modelo de Qualidade - ISO 9126 (parte 1). Fonte: NBR ISO/IEC 9126-1:2003 (p. 7)

Conforme podemos observar na Figura acima, todas as características de qualidade apresentam uma subcaracterística em comum: a conformidade. De acordo Koscianski e Soares (2009, p. 210), com a conformidade pode-se abranger atributos como padrões internos da organização ou exigências de legislação aplicáveis. É utilizada para avaliar o quanto o software respeita requisitos legais, padronizações ou normalizações aplicáveis.

A Norma NBR ISO/IEC 9126-1:2003 (p. 8-11), na parte 1, que trata do modelo de qualidade, define assim as seis características de qualidade:

Certificação ISO. Fonte: Aquir / shutterstock.com

  1. “Funcionalidade: Capacidade do produto de software de prover funções que atendam às necessidades explícitas e implícitas, quando o software estiver sendo utilizado sob condições especificadas. Suas subcaracterísticas são:
    • Adequação: capacidade do produto de software de prover um conjunto apropriado de funções para tarefas e objetivos do usuário especificados;
    • Acurácia: capacidade do produto de software de prover, com o grau de precisão necessário, resultados ou efeitos corretos ou conforme acordados;
    • Interoperabilidade: capacidade do produto de software de interagir com um ou mais sistemas especificados;
    • Segurança de acesso: capacidade do produto de software de proteger informações e dados, de forma que pessoas ou sistemas não autorizados não possam lê-los nem modificá-los e que não seja negado o acesso às pessoas ou sistemas autorizados;
    • Conformidade relacionada à funcionalidade: capacidade do produto de software de estar de acordo com normas, convenções ou regulamentações previstas em leis e prescrições similares relacionadas à funcionalidade.
  2. Confiabilidade:capacidade do produto de software de manter um nível de desempenho especificado, quando usado em condições especificadas. Suas subcaracterísticas são:
    • Maturidade: capacidade do produto de software de evitar falhas decorrentes de defeitos no software;
    • Tolerância a Falhas: capacidade do produto de software de manter um nível de desempenho especificado em casos de defeitos no software ou de violação de sua interface especificada;
    • Recuperabilidade: capacidade do produto de software de restabelecer seu nível de desempenho especificado e recuperar os dados diretamente afetados no caso de uma falha;
    • Conformidade relacionada à confiabilidade: capacidade do produto de software de estar de acordo com normas, convenções ou regulamentações relacionadas à confiabilidade.
  3. Usabilidade: Capacidade do produto de software de ser compreendido, aprendido, operado e atraente ao usuário, quando usado sob condições especificadas. Suas subcaracterísticas são:
    • Inteligibilidade: capacidade do produto de software de possibilitar ao usuário compreender se o software é apropriado e como ele pode ser usado para tarefas e condições de uso específicas;
    • Apreensibilidade: capacidade do produto de software de possibilitar ao usuário aprender sua aplicação;
    • Operacionalidade: capacidade do produto de software de possibilitar ao usuário operá-lo e controlá-lo;
    • Atratividade: capacidade do produto de software de ser atraente ao usuário;
    • Conformidade relacionada à usabilidade: capacidade do produto de software de estar de acordo com normas, convenções, guias de estilo ou regulamentações relacionadas à usabilidade.
  4. Eficiência : capacidade do produto de software de apresentar desempenho apropriado, relativo à quantidade de recursos usados, sob condições especificadas. Suas subcaracterísticas são:
    • Comportamento em relação ao tempo: capacidade do produto de software de fornecer tempos de resposta e de processamento, além de taxas de transferência, apropriados, quando o software executa suas funções, sob condições estabelecidas;
    • Utilização de Recursos: capacidade do produto de software de usar tipos e quantidades apropriados de recursos, quando o software executa suas funções sob condições estabelecidas;
    • Conformidade relacionada à eficiência: capacidade do produto de software de estar de acordo com normas e convenções relacionadas à eficiência.
  5. 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. Suas subcaracterísticas são:
    • Analisabilidade: capacidade do produto de software de permitir o diagnóstico de deficiências ou causas de falhas no software, ou a identificação de partes a serem modificadas;
    • Modificabilidade: capacidade do produto de software de permitir que uma modificação especificada seja implementada;
    • Estabilidade: capacidade do produto de software de evitar efeitos inesperados decorrentes de modificações no software;
    • Testabilidade: capacidade do produto de software de permitir que o software, quando modificado, seja validado;
    • Conformidade relacionada à manutenibilidade: capacidade do produto de software de estar de acordo com normas ou convenções relacionadas à manutenibilidade.
  6. Portabilidade : capacidade do produto de software de ser transferido de um ambiente para outro. Suas subcaracterísticas são:
    • Adaptabilidade: capacidade do produto de software de ser adaptado para diferentes ambientes especificados, sem necessidade de aplicação de outras ações ou meios além daqueles fornecidos para essa finalidade pelo software considerado;
    • Capacidade para ser instalado: capacidade do produto de software para ser instalado em um ambiente especificado;
    • Coexistência: capacidade do produto de software de coexistir com outros produtos de software independentes, em um ambiente comum, compartilhando recursos comuns;
    • Capacidade para Substituir: capacidade do produto de software de ser usado em substituição a outro produto de software especificado, com o mesmo propósito e no mesmo ambiente;
    • Conformidade relacionada à portabilidade: capacidade do produto de software de estar de acordo com normas ou convenções relacionadas à portabilidade.”

Nenhum comentário:

Postar um comentário