Qualidade de produtos de software

(Norma ISO/IEC 9126 e NBR 13596)
 
 
Sumário:
  • Métricas
  • Norma de qualidade da ISO/IEC
  • Características
  • Características e subcaracterísticas
  • A importância de cada característica
  • Modelo de processo de avaliação
  • Funções de um software
  • Qualidade de software (Síntese)

Métricas
  • Software de qualidade é aquele que atende as normas de Qualidade de Produtos de Software, editada pela Associação Brasileira de Normas Técnicas – ABNT.
  • A NBR 13596 é baseada na norma internacional de desenvolvimento de produtos de Software de qualidade intitulada ISO/IEC 9126.
 
 
Norma de qualidade da ISO/IEC
  • A norma ISO/IEC 9126 de 1991 ou NBR 13596 de 1996 representa a atual padronização mundial para a qualidade de produtos de software ;
  • Baseada em três níveis: características, subcaracterísticas e métricas;
  • Cada característica é refinada em um conjunto de subcaracterísticas e cada subcaracterística é avaliada por um conjunto de métricas.
 
 
Características
Funcionalidade
Confiabilidade
Usabilidade
Eficiência
Manutenibilidade
Portabilidade
 
A norma ISO/IEC 9126 propõe características e subcaracterísticas para determinar a qualidade de produtos de software.
 
 

Características e subcaracterísticas

Funcionalidade - Satisfaz as necessidades?

Subcaracterística Pergunta chave
 Adequação   Propõe-se a fazer o que é apropriado?
 Acurácia   Faz o que foi proposto de forma correta?
 Interoperabilidade   É capaz de interagir com os sistemas especificados
 Conformidade   Está de acordo com as normas, leis, etc?
 Segurança de Acesso   Evita acesso não autorizado a programas e dados?

Confiabilidade - É imune a falhas?

Subcaracterística Pergunta chave
 Maturidade   Com que frequência apresenta falhas por defeitos no software?
 Tolerância a falhas    Ocorrendo falhas, como ele reage?
 Recuperabilidade   É capaz de recuperar dados em caso de falhas?

Usabilidade - É fácil de usar?

Subcaracterística Pergunta chave
  Compreensibilidade    É fácil entender o conceito lógico e sua aplicabilidade?
  Apreensibilidade   É fácil aprender a usar?
 Operacionalidade    É fácil operar e controlar?

Eficiência - É rápido e “enxuto” ?

Subcaracterística Pergunta chave
  Comportamento em ao tempo   Qual o tempo de resposta, tempo de
  processamento na execução de suas funções?
  Comportamento em relação aos recursos   Quanto recurso usa? Durante quanto tempo?

Manutenibilidade - É fácil de modificar?

Subcaracterística Pergunta chave
  Analisabilidade   É fácil de encontrar uma falha, quando ocorre?
  Modificabilidade   É fácil modificar e adaptar?
  Estabilidade    Existe risco de efeitos inesperados quando se faz alterações?
  Testabilidade    É fácil validar o software modificado?

Portabilidade - É fácil de usar em outro ambiente?

Subcaracterística Pergunta chave
  Adaptabilidade   É fácil adaptar a ambientes diferentes?
  Instalabilidade   É fácil instalar?
  Conformidade    Está de acordo com padrões de portabilidade?
  Capacidade de substituição    É fácil usar para substituir outro?

Grupos ou organizações de normalização podem estabelecer seus próprios modelos de processo de avaliação e métodos para a criação e validação de métricas relacionadas com as características;

Também é necessário estabelecer níveis de pontuação e critérios específicos para a organização ou para a aplicação.

 
 
A importância de cada característica
  • Cada tipo de software tem seus próprios requisitos de qualidade;
  • A importância de cada característica de qualidade varia dependendo da Classe de software.
Classe Característica
  Sistema de Missão Crítica    Confiabilidade
  Software de Sistema em Tempo Real   Eficiência
  Software Interativo em relação ao usuário final    Usabilidade

A importância de cada característica depende também do ponto de vista considerado:

Visão do usuário

  • Estão interessados principalmente no uso do software, no seu desempenho, e nos efeitos do uso do software;
  • Avaliam o software sem conhecer seus aspectos internos : Confiabilidade, Eficiência, Usabilidade, Portabilidade.

Visão da equipe de desenvolvimento

  • Características de qualidade consideradas pelo usuário, mais características internas;
  • Qualidade dos produtos intermediários do processo de desenvolvimento do software.

Visão do gerente

  • Pode ter que balancear os melhoramentos na qualidade com critérios gerenciais, tais como atraso de cronograma ou estouro de orçamento;
  • Deseja otimizar a qualidade dentro das limitações de custo, recursos humanos e prazos.
 
 
Modelo de processo de avaliação

O processo pode ser aplicado a cada fase apropriada do ciclo de vida de cada componente de software produto.

Constituído de três estágios:
  • Definição de Requisitos de Qualidade;
  • Preparação da Avaliação;
  • Procedimento de Avaliação
 
 
Funções de um software

Refere-se à existência de um conjunto de funções que satisfazem necessidades explícitas ou implícitas:
Função Atributo
  Básica   Obrigatório
  Esperada   Linear
  Desejada   Atrativo
  Inesperada   Extremamente atrativo 

Atributo obrigatório Atributo atrativo
  Presença não traz satisfação    Presença satisfaz positivamente 
  Ausência traz forte insatisfação     Ausência não traz insatisfação 
 
 
Qualidade de software  (ISO/IEC 9126 – NBR 13596)
S í n t e s e
Característica subcaracterística Pergunta chave para a subcaracterística
  Funcionalidade (Satisfaz as necessidades?)   Adequação   Propõe-se a fazer o que é apropriado?
  Acurácia   Faz o que foi proposto de forma correta?
  Interoperabilidade   Interage com os sistemas especificados?
  Conformidade   Está de acordo com as normas, leis, etc?
  Segurança de acesso   Evita acesso não autorizado aos dados?
  Confiabilidade
(É imune a falhas?)
  Maturidade   Com que frequencia apresenta falhas?
  Tolerância a falhas   Ocorrendo falhas como ele reage?
  Recuperabilidade   É capaz de recuperar dados em caso de falhas?
  Usabilidade
(É fácil de usar?)
  Intelegibilidade   É fácil de entender o conceito e a aplicação?
  Apreensibilidade   É fácil de aprender a usar?
  Operacionalidade   É fácil de operar e controlar?
 Eficiência
(É fácil rápido e "enxuto"?)
  Tempo   Qual é o tempo de resposta, a velocidade de
  execução?
  Recursos   Quanto recurso usa? Durante quanto tempo?
  Manutenibilidade (É fácil de modificar?)   Analisabilidade   É fácil de encontrar uma falha quando ocorre?
  Modificabilidade   É fácil modificar e adaptar?
  Estabilidade   Há grande risco quando se faz alterações?
  Testabilidade   É fácil testar quando se faz alterações?
  Portabilidade
(É fácil de usar em outro ambiente?)
  Adaptabilidade   É fácil adaptar em outros ambientes?
  Instabilidade   É fácil instalar em outros ambientes?
  Conformidade   Está de acordo com padrões de portabilidade?
  Substituibilidade   É fácil usar para substituir outro?

Siglas:

ISO - International Organization for Standardization (Organização Internacional de Padrões)
IEC - International Electrotechnical Commission (Comissão Eletrotécnica Internacional)
NBR - Denominação de norma da Associação Brasileira de Normas Técnicas (ABNT)