|
A
norma ISO 9126
é um modelo de qualidade do produto. Ela define um conjunto de
características que um software deve atender para que o mesmo seja
considerado um "software de qualidade". Publicada em 1991 e refinada
em 2001, a Associação Brasileira de Normas Técnicas (ABNT) efetuou a
tradução da primeira versão em agosto de 1996 sob o código NBR 13596 e da
segunda versão em junho de 2003 com o mesmo código da International Organization for Standardization. A ISO 9126
é aplicada desde a definição dos requisitos do sistema, passando por todas
as etapas de análise, projeto, codificação e testes possivelmente almejando
uma certificação.
Torna-se possível através da ISO 9126:
. Definir os requisitos da qualidade de um produto de software;
. Avaliar a especificação do software, para verificar se ele irá satisfazer os requisitos de qualidade durante todo o ciclo de vida de
desenvolvimento;
. Descrever as particularidades e atributos do software implementados, através, por exemplo, da elaboração dos manuais de usuários;
. Avaliar o software desenvolvido, antes da entrega e aceitação do usuário final.
A norma ISO 9126 consiste em uma série de documentos os quais procuram abordar um dos tópicos destacados acima. Temos, então, a seguinte divisão:
. ISO/IEC 9126-1: Modelo de Qualidade. Documento basicamente de definições, composto por seis características de qualidade, onde cada uma delas é divididas em várias subcaracterísticas;
. ISO/IEC 9126-2: Métricas Externas;
. ISO/IEC 9126-3: Métricas Internas;
. ISO/IEC 9126-4: Métricas de Qualidade em Uso.
NORMA ISO 9126-1. MODELO DE QUALIDADE
Essa norma fornece seis características que descrevem as propriedades que um software de qualidade deve possuir. Cada uma das características possui um conjunto de subcaracterísticas que ajudam a complementar sua satisfação. Temos, então:
1. Funcionalidade: conjunto de atributos que evidenciam a existência de um conjunto de funções e suas propriedades especificadas.
1.1. Adequação: atributos do software que evidenciam a presença de um conjunto de funções e sua apropriação para as tarefas especificadas.
1.2. Acurácia: atributos do software que evidenciam a geração de resultados ou efeitos corretos ou conforme acordados.
1.3. Interoperabilidade: atributos do software que evidenciam sua capacidade de interagir com sistemas especificados.
1.4. Conformidade: atributos do software que fazem com que ele esteja de acordo com as normas, convenções ou regulamentações previstas em leis e descrições similares, relacionadas à aplicação.
1.5. Segurança de acesso: atributos do software que evidenciam sua capacidade de evitar o acesso não autorizado, acidental ou deliberado, a programas e dados.
2. Confiabilidade: conjunto de atributos que evidenciam a capacidade do software de manter seu nível de desempenho sob condições estabelecidas durante um período de tempo estabelecido.
2.1. Maturidade: atributos do software que evidenciam a freqüência de falhas por defeitos do software.
2.2. Tolerância a falhas: atributos do software que evidenciam sua capacidade em manter um nível de desempenho especificado nos casos de falhas no software ou de violação nas interfaces especificadas.
2.3. Recuperabilidade: atributos do software que evidenciam a sua capacidade de restabelecer seu nível de desempenho e recuperar os dados diretamente afetados, em caso de falha, e o tempo de esforço para tal.
3. Usabilidade: conjunto de atributos que evidenciam o esforço necessário para poder-se utilizar o software, bem como o julgamento individual deste uso, por um conjunto implícito ou explícito de usuários.
3.1. Inteligibilidade: atributos do software que evidenciam o esforço do usuário para reconhecer o conceito lógico e sua aplicabilidade.
3.2. Apreensibilidade: atributos do software que evidenciam o esforço do usuário para apreender sua aplicação.
3.3. Operacionalidade: atributos do software que evidenciam o esforço do usuário para a sua operação e controle da sua operação.
4. Eficiência: conjunto de atributos que evidenciam o relacionamento entre o nível de desempenho do software e a quantidade de recursos usados, sob condições estabelecidas.
4.1. Comportamento em relação ao tempo: atributos do software que evidenciam seu tempo de resposta, tempo de processamento e velocidade na execução de suas funções.
4.2. Comportamento em relação aos recursos: atributos do software que evidenciam a quantidade de recursos usados e a duração de seu uso na execução de suas funções.
5. Portabilidade: conjunto de atributos que evidenciam a capacidade do software em ser transferido de um ambiente para outro.
5.1. Adaptabilidade: atributos do software que evidenciam sua capacidade de ser adaptado a ambientes diferentes daqueles especificados, sem a necessidade de aplicação de outras ações ou meios além daqueles fornecidos para esta finalidade pelo software considerado.
5.2. Capacidade para ser instalado: atributos do software que evidenciam o esforço necessário para sua instalação num ambiente especificado.
5.3. Conformidade: atributos do software que o tornam consoante com padrões ou convenções relacionados à portabilidade.
5.4. Capacidade para ser substituído: o produto de software pode ser substituído por outro sem grandes esforços.
6. Manutenabilidade: refere-se ao esforço necessário para a realização de alterações específicas de software.
6.1. Analisibilidade: atributos do software que evidenciam o esforço necessário para diagnosticar deficiências ou causas de
falhas, ou para identificar partes a serem modificadas.
6.2. Modificabilidade: atributos do software que evidenciam o esforço necessário para modificá-lo, remover seus defeitos ou adaptá-lo a mudanças ambientais.
6.3. Estabilidade: atributos do software que evidenciam o risco de defeitos inesperados ocasionados por modificações.
6.4. Testabilidade: facilidade do software ser testado.
MÉTRICAS
Como foi visto, a norma ISO/IEC 9126-1 apenas define as características de um software de qualidade. Para avaliar a existência ou não das mesmas em um determinado produto de software, a ISO elaborou outros três documentos que atestam um conjunto das propriedades e subpropriedades mencionadas anteriormente. Entretanto, como alerta a própria Organização Internacional de Padronização: "as métricas dispostas no documento não compõem todas as possibilidades de mensuração".
A norma ISO/IEC 9126-2 define indicadores e métricas externas para avaliar um produto de software. Tratam-se, pois, de medições indiretas de um produto de software a partir do comportamento do sistema computacional ou do seu efeito no ambiente quando da execução de seus programas. A partir desta norma, aspectos como o tempo gasto para aprender a se usar uma função ou a capacidade dos usuários responderem adequadamente a mensagens de erro são abordados.
As métricas internas estão definidas na norma ISO/IEC 9126-3. Referem-se a medições diretas ou indiretas de um produto de software a partir de suas próprias características internas, sem a necessidade de execução dos programas. Como exemplo, pode-se citar a mensuração das linhas de código, do número de erros encontrados em revisões, da proporção das funções que são documentadas, das mensagens de erro que são auto explicativas, etc.
A norma ISO 9126-4 sugere meios de medir os efeitos de uso de um software em um determinado contexto, fazendo com que usuários especificados atinjam as metas determinadas com eficácia, produtividade, segurança e satisfação. Ela inclui uma explicação de como aplicar as métricas de qualidade de software, um conjunto básico de métricas para cada característica, e um exemplo de como aplicar as métricas durante o ciclo de vida do produto de software.
|