• Nenhum resultado encontrado

Capítulo 2: Conceitos básicos de qualidade e software

2.3 Qualidade de produto de software

2.3.1 Modelo de qualidade ISO/IEC 9126

A série de normas ISO/IEC 9126 fornece um modelo básico de qualidade para produto e processo de software e um vocabulário de referência aceito pela comunidade científica. Ela está constituída em 4 partes: parte 1 - Modelo de qualidade, já publicada pela ABNT; parte 2 - Métricas externas; parte 3 - Métricas Internas; parte 4 - Métricas de qualidade em uso.

O modelo de qualidade do produto de software, descrito na parte 1, é apresentado em dois subtipos: qualidade externa e interna, e qualidade em uso. A qualidade externa é a totalidade das características do produto de software, do ponto de vista externo. Qualidade externa estimada (ou prevista) é a qualidade do produto de software a ser medido ao testar-se o produto num ambiente simulado, com dados simulados e com métricas externas.

A qualidade em uso é a visão da qualidade do produto de software, do ponto de vista do usuário, quando este produto é usado em ambiente e contexto específicos. A qualidade em uso estimada (ou prevista) é observada quando o produto é executado no ambiente do usuário, o que pode produzir resultado diferente daquele do ambiente onde foi desenvolvido, por causa das desigualdades de capacidade e necessidade, hardware e apoio.

O modelo da qualidade externa e interna especifica seis características de qualidade de um produto, subdivididas em subcaracterísticas. As subcaracterísticas são manifestadas externamente quando o software é utilizado como parte de um sistema computacional e resultam de atributos internos do software. As 6 (seis) características de qualidade externas e internas para um produto de software são:

• Funcionalidade: é a capacidade do produto de software de prover funções que atendam

necessidades explícitas e implícitas.

• Confiabilidade: é a capacidade do produto de software de manter um nível de

desempenho especificado.

• Usabilidade: é a capacidade do produto de software de ser compreendido, aprendido,

operado e atraente ao usuário.

• Eficiência: é a capacidade do produto de software de apresentar desempenho

• Manutenibilidade: é a capacidade do produto de software de ser modificado. Inclui: correções, melhorias ou adaptações do software.

• Portabilidade: é a capacidade do produto de software de ser transferido de um ambiente

para outro, seja ele organizacional, de hardware ou de software.

Observa-se que a característica de funcionalidade está relacionada com o que o software faz, para atender necessidades, enquanto que as demais características de qualidade estão relacionadas ao “quando” e ao “como” ele atende às necessidades.

MODELO DE QUALIDADE

Adequação Acurácia Interoperabilidade Seg. acesso Conformidade Funcionalidade

Maturidade Toler. Falhas Recuperabilidade Conformidade Cnfiabilidade

Inteligibilidade Apreensibilidade Operabilidade Atratividade Conformidade Usabilidade

Comport . relação ao tempo Comport . relação aos recursos Conformidade Eficiência

Analisabilidade Modificabilidade Estabilidade Testabilidade Conformidade Manutenibilidade

Adaptabilidade Cap. p/ ser Instalado Coexistência Cap. p/ substituir Conformidade Portabilidade

Subcaracterística Característica

Figura 2.2 - Modelo de qualidade externa e interna

Fonte: retirado com base na Norma 9126-1

A qualidade externa e interna de software é percebida nas seis características; no entanto, apenas suas subcaracterísticas podem ser medidas por meio de métricas. O modelo de qualidade externa e interna e suas subcaracterísticas são representados na Figura 2.2. No anexo I, deste trabalho, as 27 subcaracterísticas são relacionadas e descritas segundo a norma NBR 9126-1.

A qualidade em uso é, para o usuário, o efeito combinado das seis características de qualidade externa e interna do produto de software. Qualidade em uso é a visão da qualidade sob a perspectiva do usuário, e dependente da obtenção da necessária qualidade externa. Qualidade em uso é a capacidade do produto de permitir que usuários específicos atinjam metas especificadas com eficácia, produtividade, segurança e satisfação em seus respectivos contextos. As 4 (quatro) características do modelo de qualidade em uso estão representadas pela Figura 2.3.

M O D E L O D E Q U A L ID A D E

Q u alid ad e em u so

Q ualidade em uso

Produ tiv idade E fetividad e

Seg uran ça

Satisfação

Figura 2.3 - Modelo de qualidade para qualidade em uso

Fonte: elaborada com base na norma NBR 9126-1.

Suas quatro características são definidas como segue:

• Eficácia: é a capacidade de permitir que usuários atinjam metas especificadas com

acurácia e completude, em um contexto de uso especificado.

• Produtividade: é a capacidade de permitir que seus usuários empreguem quantidade

apropriada de recursos em relação à eficácia obtida, em um contexto de uso.

• Segurança: é a capacidade de apresentar níveis aceitáveis de riscos de danos a pessoas,

negócios, software, propriedades ou ao ambiente, em um contexto de uso.

• Satisfação: é a capacidade de satisfazer usuários, em um contexto de uso especificado.

Com terminologia consistente para tratar da qualidade do produto de software, as características e subcaracterísticas apresentadas na norma permitem identificar os requisitos de qualidade e critérios de garantia de qualidade ou de aceitação de produtos de software. Um

requisito, especificação ou avaliação de qualidade de produto de software deve usar características e subcaracterísticas para mapear seus atributos e métricas. A categorização de atributos de qualidade deve ser descrita de forma:

• Objetiva: com procedimento escrito, que permita assinalar o número ou categoria de

cada atributo do produto;

• Empírica: em que dados obtidos por observação ou questionários permitam a validação

psicométrica;

• Reprodutível: com procedimentos de medição que permitam reproduzir essas medidas,

dentro de tolerâncias adequadas.

Para que a avaliação da qualidade de um produto em relação a seus requisitos ocorra de forma objetiva e mensurável, é necessário que se apresente um método ou uma ferramenta que meça a qualidade. Para a NBR 9126-1, medição é a aplicação de uma métrica para atribuir valor, numérico ou de categoria, a um atributo, a partir de uma escala previamente fixada (NBR ISO/IEC 9126-1, 2001).

Os requisitos de qualidade não devem ser utilizados com a finalidade de atingir a qualidade perfeita, mas a qualidade necessária e suficiente para cada contexto específico de uso. Convém, quando da validação de um produto que seja utilizado o critério de atendimento estabelecido para cada requisito.

Os critérios na avaliação do produto final devem conter os requisitos de qualidade declarados na especificação e em forma de métricas externas, enquanto as métricas internas devem ser usadas durante o desenvolvimento. É relevante frisar que os requisitos de qualidade do produto e suas métricas não mudam durante os diversos estágios do ciclo de vida do software, apenas adquirem diferentes visões.

Na Figura 2.4, os requisitos de qualidade externa especificam o nível de qualidade requerido, sob o ponto de vista externo. Incluem requisitos derivados das necessidades de qualidade em uso e contribuem para especificar os requisitos de qualidade interna.

Necessidades de qualidade do usuário Requisitos de qualidade externa Requisitos de qualidade interna Qualidade em uso Qualidade externa Qualidade interna Contribuem para especificar

Contribuem para especificar

indica indica utilização e feedback validação Verificação/ validação Requisitos Produtos Métricas de qualidade em uso Métricas externas Métricas internas

Qualidade no ciclo de vida do software

Figura 2.4 - Qualidade no ciclo de vida do software

Fonte: NBR ISO/IEC (9126-1, 2001).

Na avaliação de qualidade de um produto de software final, a NBR 9126-1 recomenda que, para cada meta de qualidade, seja definido um modelo característico de qualidade externa, decomposto hierarquicamente, como pré-condição para a montagem da lista de verificação de tópicos relacionados.

Na prática, pode não ser possível medir todas as características e subcaracterísticas internas e externas de cada componente de um produto de software. Assim, dependendo do objetivo e da natureza do produto, o modelo deve ser adequado (NBR ISO/IEC 9126-1, 2001).

Numa avaliação de produtos de software, é importante que exista um ambiente de apoio a essa atividade (Azevedo, 1998), com métodos de avaliação estruturados e banco de dados históricos de avaliações realizadas (Martinez, 1999), para que se possa acompanhar a evolução da qualidade dos produtos de software.

A grande contribuição da norma NBR 9126-1 é ter definido e estabelecido um modelo teórico de qualidade. Mas, para a aplicação prática desse modelo dentro de uma avaliação de produto de software, deve ser utilizado outro conjunto de normas, a série NBR ISO/IEC 14598.