• No results found

A norma ISO/IEC 9126 prevê a definição de características e o processo de avaliação de qualidade dos produtos de software, durante todo o seu ciclo de vida. Seus conceitos estão estruturados em quatro documentos. O primeiro destes documentos é o ISO/IEC 9126-1 (2002), que define as características consideradas na avaliação da qualidade de software e como estas características são decompostas em sub-características. O Quadro 3 apresenta a relação de características e respectivas sub-características descritas na norma ISO/IEC 9126-1 (2002).

Quadro 3 - Características e Sub-características da ISO 9126-1

Característica de

qualidade Sub-característica

FUNCIONALIDADE Conjunto de atributos que evidenciam a existência de um conjunto de funções e suas propriedades especificadas.

• Adequação

• Acurácia

• Interoperabilidade

• Conformidade

• Segurança de acesso

• Conformidade relacionada à funcionalidade

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.

• Maturidade

• Tolerância à falhas

• Recuperabilidade

• Conformidade relacionada à confiabilidade

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.

• Inteligibilidade

• Apreensibilidade

• Operacionalidade

• Conformidade relacionada à usabilidade

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.

• Comportamento em relação ao tempo

• Comportamento em relação aos recursos

• Conformidade relacionada à eficiência

PORTABILIDADE Conjunto de atributos que evidenciam a capacidade do software em ser

Quadro 3 (cont.) - Características e Sub-características da ISO 9126-1

Característica de

qualidade Sub-característica

• Adaptabilidade

• Capacidade para ser instalado

• Conformidade

• Capacidade para substituir

• Conformidade relacionada à usabilidade

MANUTENIBILIDADE Conjunto de atributos que evidenciam o esforço necessário para fazer

modificações especificadas no software.

• Analisabilidade

• Modificabilidade

• Estabilidade

• Testabilidade

• Conformidade relacionada à manutenibilidade

Complementando a definição de manutenibilidade apresentada pela norma

ISO/IEC 9126-1 (2002), o padrão IEEE Std 610.12 (1990), acrescenta o conceito da

manutenibilidade como “a facilidade com a qual um sistema, ou seus componentes, podem ser modificados para a correção de falhas, para a melhoria de desempenho ou outros atributos e para adaptar-se a um ambiente de mudanças”.

As medidas de qualidade de produto de software que quantificam as características e sub-características definidas no documento ISO/IEC 9126-1 (2002) estão descritas nos outros três documentos da norma.

O segundo documento, que define as medidas externas para avaliação das características de qualidade de produto de software é a norma ISO/IEC 9126-2. As medidas externas definidas nesta norma referem-se aos atributos do tipo externos, apresentados na seção 2.2.1, e estão relacionadas com o comportamento do sistema. De acordo com ISO/IEC 9126-2 (2002), as medidas externas, somente podem ser utilizadas durante a fase de testes do sistema ou durante sua fase de utilização, portanto, a medição é realizada quando da execução do software no seu ambiente operacional. O Quadro 4 apresenta as medidas externas de

manutenibilidade definidas na norma ISO/IEC 9126-2 (2002), as questões que estas medidas visam responder e suas respectivas fórmulas de cálculo.

Quadro 4 - Medidas externas de manutenibilidade (ISO/IEC 9126-2, 2002)

Atributos Questões Fórmula

Capacidade de Análise Rastreabilidade

de Auditoria • O usuário pode identificar qual operação específica causou a falha?

• O mantenedor consegue identificar

facilmente qual operação causou a falha?

X= A / B

A= número de dados efetivamente gravados durante a operação. B= número de dados previstos para serem gravados suficientes para monitorar o status do software durante a operação.

Suporte a função

de diagnóstico • Quão capazes são as funções de diagnóstico no suporte a análise causal?

• O usuário pode identificar qual

operação específica causou a falha?

X= A / B

A= número de falhas que o mantenedor pode detectar.

B= número total de falhas. Capacidade

Análise de Falhas

• O usuário pode identificar qual

operação específica causou a falha?

• O mantenedor consegue identificar

facilmente a causa da falha?

X= 1- A / B

A= número de falhas com causas não identificadas

B= número total de falhas. Eficiência da

Análise de Falhas

• O usuário pode identificar causa da

falha?

• O mantenedor consegue identificar

facilmente a causa da falha?

• Quão fácil é a análise da causa da

falha?

X= Somatório (T) / N T = Tout – Tin

Tout = tempo de diagnóstico da causa da falha

Tin = tempo que o relatório de falha é recebido

N= número de falhas Capacidade de

Monitoração de Status

• O usuário pode identificar causa da

falha utilizando dados monitorados durante a operação do sistema?

• O mantenedor pode identificar causa da

falha utilizando dados monitorados durante a operação do sistema?

X= 1- A / B

A= número de casos que mantenedores (ou usuários) não conseguiram obter dados de monitoração

B= número de casos em que

mantenedores (ou usuários) tentaram obter dados de monitoração.

Capacidade de Mudança Eficiência do

ciclo de mudanças

• A resolução dos problemas ocorre em

um período de tempo aceitável do pondo de vista do usuário?

Tempo médio: Tav= soma(Tu) / N Tu= Trc - Tsn

Tsn= tempo no qual o usuário envia o requisito de alteração no sistema Trc= tempo no qual o usuário recebe nova release do sistema

N= número de releases Tempo de

implementação de falhas

• O mantenedor facilmente modifica o

sistema para resolver alguma falha?

Tempo médio: Tav= soma(Tm) / N Tm= Tout - Tin

Tout= tempo no qual as causas das falhas são removidas do sistema. Tin= tempo no qual as causas das falhas são descobertas.

Quadro 4 (cont.) - Medidas externas de manutenibilidade (ISO/IEC 9126-2, 2002)

Atributos Questões Fórmula

Complexidade de

modificação • O mantenedor facilmente modifica o sistema para resolver algum problema?

T= soma(A/B) / N

A= tempo de trabalho gasto na mudança B= tamanho da mudança

N= número de mudanças Modificação

parametrizada • O usuário ou o mantenedor facilmente modifica parâmetros para alterar o sistema e resolver os problemas?

X=1- A / B

A= número de casos em que o

mantenedor falha em modificar o sistema utilizando parâmetros.

B= número de casos em que o mantenedor consegue modificar o sistema utilizando parâmetros. Capacidade de

controle às mudanças do sistema

• O usuário consegue facilmente

identificar uma nova versão do sistema?

• O mantenedor facilmente modifica o

sistema para resolver algum problema?

X= A / B

A= número de registros de mudança gravados

B= número de registros de mudança planejados

Estabilidade % de sucesso

das mudanças • O usuário pode utilizar o sistema sem interrupções após uma manutenção?

• O mantenedor consegue mitigar as

falhas causadas por efeitos colaterais de manutenções?

X = { (Na / Ta) / (Nb / Tb) }

Na = número de casos em que usuários encontram falhas durante operação após uma modificação

Nb = número de casos em que usuários encontram falhas durante operação antes de uma modificação

Ta = tempo após modificação Tb = tempo antes da modificação Localização do

impacto das mudanças

• O usuário pode utilizar o sistema sem

interrupções após uma manutenção?

• O mantenedor consegue mitigar as

falhas causadas por efeitos colaterais de manutenções?

X= A / N

A= número de falhas novas após modificação

N= número de falhas resolvidas Testabilidade

Disponibilidade de função de teste

• O usuário ou mantenedor consegue,

facilmente, executar testes

operacionais sem a necessidade de preparação de recursos adicionais.

X= A / B

A= número de casos em que são

utilizadas as funções de teste disponíveis B= número de casos possíveis de utilização.

Eficiência do re-

teste • O usuário ou mantenedor consegue, facilmente, executar testes

operacionais e determinar se o sistema está pronto para entrar em produção?

X= Soma(T) / N

T= tempo de teste para assegurar que a falha está resolvida.

N= número de falhas resolvidas. Restartabilidade

do Teste • Após manutenção, o usuário e o mantenedor conseguem facilmente

realizar teste operacional utilizando pontos de checagem?

X= A / B

A= número de casos em que pausa e recomeçam os testes em pontos de checagem

B= número de casos identificados de pausas nos testes

Conformidade relacionada à Manutenibilidade

Conformidade Quão conforme é a manutenibilidade do

produto a regulamentos, normas e convenções?

X = 1- A / B

A= número de itens de conformidade especificados e não implementados durante teste.

B= número de itens de conformidade especificados.

O terceiro documento é a norma ISO/IEC 9126-3, que define as medidas internas de qualidade de produto de software. Estas medidas internas referem-se a atributos do tipo internos, apresentados na seção 2.2.1, e estão relacionadas com o sistema em si. De acordo com ISO/IEC 9126-3 (2002), as medidas internas devem ser aplicadas aos produtos de software não executáveis, durante a fase de desenvolvimento. Desta forma, estas medidas permitem identificar problemas de qualidade nos estágios iniciais da etapa de desenvolvimento dos produtos, possibilitando a execução de ações corretivas o mais cedo possível. O Quadro 5 apresenta as medidas internas de manutenibilidade definidas na norma ISO/IEC 9126-3 (2002).

Quadro 5 - Medidas internas de manutenibilidade (ISO/IEC 9126-3, 2002)

Atributos Questões Fórmula

Capacidade de Análise Registro de

atividades • Quão completa está o registro do status do sistema? X=A/B A= número de registros de dados

implementados.

B= número de registros de dados a implementar conforme especificação. Disponibilidade

da função de diagnóstico

• Quão completa está a disponibilização

da função de diagnóstico? X=A/B A= número de funções de diagnóstico

implementadas

B= número de funções de diagnóstico necessárias

Capacidade de Mudança Capacidade de

registro de mudanças

• As mudanças na especificação e nos

programas são registradas adequadamente no código com comentários?

X=A/B

A= número de mudanças registradas no código

B= número total de funções modificadas com relação ao código original

Estabilidade Impacto de

mudança • Qual a freqüência de impactos adversos após modificações? X=1-A/B A= número de impactos adversos

detectados após mudanças B= número de mudanças realizadas

Quadro 5 (cont.) - Medidas internas de manutenibilidade (ISO/IEC 9126-3, 2002)

Atributos Questões Fórmula

Localização de impacto da modificação

• Quão grande é o impacto da

modificação no software? X=A/B A= número de variáveis afetadas pela

modificação

B= número total de variáveis Testabilidade

Completude da função de testes “built-in”

• Quão completa é a capacidade do teste

“built-in”? X=A/B A= número de funções de teste “built-in”

implementadas

B= número de funções de teste “built-in” especificadas

Autonomia da

testabilidade • Quão independentemente o software pode ser testado? X=A/B A= número de dependências de outros

sistemas simuladas

B= número total de dependencias de teste de outros sistemas

Capacidade de observação do progresso do teste

• Quão completo é demonstrado o

resultado dos testes durante sua execução?

X=A/B

A= número de pontos de verificação implementados como especificado B= número de pontos de verificação especificados

Conformidade relacionada à Manutenibilidade

Conformidade Quão conforme é a manutenibilidade do

produto a regulamentos, normas e convenções?

X=A/B

A= número de itens implementados relacionados com a conformidade da manutenibilidade

B= número total de itens de conformidade

O quarto e último documento, a norma ISO/IEC 9126-4, define as medidas de qualidade em uso do software responsáveis pela avaliação dos efeitos da utilização do sistema no seu contexto específico. De acordo com ISO/IEC 9126-4 (2004), estas medidas avaliam se o produto atende as necessidades de usuários específicos em alcançar seus objetivos com relação à produtividade, efetividade, segurança e satisfação.