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.
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:
- “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.
- 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.
- 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.
- 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.
- 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.
- 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