• Nenhum resultado encontrado

2.5. Qualidade dos Produtos de Software

2.5.1. Modelo para Características Externas e Internas

O modelo de qualidade para características externas e internas classifica os atributos de qualidade dos produtos de software em seis características (funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade). Estas características podem ser desdobradas em subcaracterísticas. As subcaracterísticas podem ser desdobradas em mais níveis, que caracterizam os atributos da qualidade. As métricas internas e externas aplicam-se, em geral, ao nível dos atributos da qualidade. Portanto, o modelo de qualidade está dividido em características, subcaracterísticas e métricas [WEBERK01].

A ISO/IEC 9126 define que as características de qualidade de um produto são [WEBERK01] [9126-2] [9126-3]:

9 Funcionalidade: conjunto de atributos que evidenciam a existência de

são as que satisfazem as necessidades explícitas ou implícitas. Tem como subcaracterísticas: adequação, acurácia, interoperabilidade, segurança de acesso e conformidade;

9 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. Tem como subcaracterísticas: maturidade, tolerância a falhas, recuperabilidade e conformidade;

9 Usabilidade: conjunto de atributos que evidenciam o esforço

necessário para se poder utilizar o software, bem como o julgamento individual desse uso, por um conjunto explícito ou implícito de usuários. Tem como subcaracterísticas: inteligibilidade, apreensibilidade, operacionalidade, atratividade e conformidade;

9 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. Tem como subcaracterísticas: comportamento em relação ao tempo, comportamento em relação aos recursos e conformidade;

9 Manutenibilidade: conjunto de atributos que evidenciam o esforço

necessário para fazer modificações especificadas no software. Tem como subcaracterísticas: analisabilidade, modificabilidade, estabilidade, testabilidade e conformidade;

9 Portabilidade: conjunto de atributos que evidenciam a capacidade do

subcaracterísticas: adaptabilidade, capacidade para ser instalado, coexistência, capacidade para substituir e conformidade.

A Tabela 1 mostra as subcaracterísticas e as perguntas típicas para cada característica [LIMARS01]:

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 É capaz de interagir com os sistemas especificados? Segurança Controla acessos não autorizados a programas e dados? Conformidade Esta de acordo com as normas, leis etc.?

Confiabilidade É imune a falhas?

Maturidade Com que freqüência apresenta falhas por defeitos no software?

Tolerância à falha Ocorrendo falhas, como ele reage?

Recuperabilidade É capaz de recuperar dados em caso de falhas? Usabilidade É fácil de usar?

Inteligibilidade É fácil entender seu conceito lógico e sua aplicabilidade? Apreensibilidade É fácil aprender a usá-lo?

Operacionalidade É fácil operá-lo e controlá-lo? Atratividade É capaz de ser atrativo? Eficiência É rápido e "enxuto"? Comportamento em

relação ao tempo

Qual é o tempo de resposta, processamento e velocidade na execução de suas funções?

Comportamento em

relação aos recursos Quanto de recurso usa? Durante quanto tempo? Manutenibilidade É fácil modifica-lo?

Analisabilidade É fácil de encontrar uma falha, quando ocorrer? Modificabilidade É fácil de se modificar e de se adaptar?

Funcionalidade Satisfaz as necessidades?

uma alteração?

Testabilidade É fácil validar o software modificado? Portabilidade É fácil usá-lo em outro ambiente?

Adaptabilidade É fácil adaptar-se a ambientes diferentes? Capacidade para ser

instalado É fácil instalá-lo?

Coexistência Está de acordo com os padrões de portabilidade? Capacidade para

substituir É fácil usá-lo em substituição a outro?

Tabela 1: Relação de características, subcaracterísticas e perguntas típicas

A ISO/IEC 9126-1 conduz a um entendimento dos conceitos que definem as diversas características e subcaracterísticas da qualidade de produto de software; porém, na prática, ainda não facilita o suficiente a definição dos requisitos de qualidade a partir dela. As definições de características de qualidade permitem perceber um possível universo de requisitos que se enquadram no conceito apresentado, mas dificilmente permitiriam elaborar uma declaração de requisitos mais criteriosa, quanto às mesmas. Não faz sentido, por exemplo, uma declaração do tipo “o produto de software deve ter uma usabilidade de 0,5”, pois esse número não teria qualquer significado (pelo menos no estado da arte em que se encontra o tema de medição da qualidade de produto de software) [WEBERK01].

O primeiro desdobramento em subcaracterísticas serve para delimitar melhor o amplo universo contemplado pela característica. Introduz conceitos mais detalhados que facilitam a especificação de requisitos, ajudando a pensar na característica da qualidade a partir de seus componentes. Mas este desdobramento ainda não é suficiente para especificar os requisitos da qualidade. Uma declaração

do tipo “a operacionalidade deve ser igual a 0,8”, por exemplo, continua sem fazer sentido [WEBERK01].

Assim, o usuário da norma que necessite elaborar sua declaração de requisitos deve fazer o próximo nível de desdobramento, os atributos, (que não estão presentes na ISO/IEC 9126-1), identificando aspectos relevantes ao produto de software e que se enquadram nas características e subcaracterísticas citadas. Desta forma, uma declaração do tipo “o tempo de uso do produto de software, até que se tenha domínio operacional do mesmo, deverá ser inferior a 20 horas”, por exemplo, é adequada como requisito da subcaracterística operacionalidade, que faz parte da característica usabilidade. Observe que foi necessário descer ao nível do atributo “tempo para se ter domínio operacional” para que o requisito pudesse ser declarado de forma objetiva e não ambígua [WEBERK01].

O documento ISO/IEC 9126-2 define métricas externas que se associam a atributos de qualidade e que podem ser uma referência inicial, facilitando a tarefa de definir atributos. O modelo de qualidade da ISO/IEC 9126-1 privilegia a visão do usuário do produto de software que, em geral, atua a partir da operação do sistema do qual o produto de software faz parte. Esta é a visão de qualidade externa [WEBERK01].

Porém, o efeito externo percebido no uso do produto de software é decorrente de seus atributos internos, típicos de sua arquitetura, tais como o nível de modularização dos programas, a documentação gerada, o tipo de diálogo utilizado na interação com o usuário, entre outros. Esses atributos internos mantêm correlações com as características e subcaracterísticas externas do produto de software. Cada atributo interno pode influenciar uma ou mais características e subcaracterísticas,

sendo que a identificação das correlações existentes não é um trabalho simples, depende de cada organização que desenvolve o software. Apesar disso, se a organização fizer este investimento, terá mais condições de garantir a qualidade de seus produtos pois será capaz de especificá-los e avaliá-los (através das características, subcaracterísticas e atributos externos) cada vez com mais precisão [WEBERK01].

Apesar da norma enumerar as características e subcaracterísticas de um software, algumas destas características são medidas de forma subjetiva. A norma ISO/IEC 9126 não define como quantificá-las.

Documentos relacionados