4.2 O modelo da norma NBR ISO/IEC 9126-1
4.2.2 Características e subcaracterísticas de qualidade de software
O modelo de qualidade apresenta uma estrutura hierárquica, definindo características, subcaracterísticas de qualidade e atributos, como mostra a Figura 4.2, de uma forma genérica.
66
Figura 4.2 – Modelo básico de qualidade.Sabe-se, no entanto, que as características da qualidade definidas por essa norma não são diretamente mensuráveis. É necessário um desdobramento das características em níveis mais específicos, até chegar a um ponto em que se consiga obter uma medida objetiva.
O modelo de qualidade apresentado na Figura 4.2 pode ser aplicável na fase de definição de requisitos de qualidade de um software a ser desenvolvido, e também na fase de aceitação de produtos avaliando produtos intermediários e o produto final.
Os modelos de qualidade geralmente representam a totalidade dos atributos do software classificados em uma estrutura de árvore hierárquica de características e subcaracterísticas. O nível mais alto dessa estrutura é composto pelas características de qualidade, e o nível mais baixo é composto pelos atributos de qualidade do software. Esta norma fornece um modelo de propósito geral, o qual define seis amplas categorias de características de qualidade de software: funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade. Estas podem ser subdivididas em subcaracterísticas que possuem atributos mensuráveis. O efeito combinado das características de qualidade em uma situação particular de uso é definido como qualidade em uso; também devem ser consideradas a qualidade externa e a qualidade interna:
•
Qualidade em uso
– “satisfazer as necessidades reais de usuários ao utilizar o produto de software, para atingir metas especificadas em contextos de uso especificados”, ou seja, o efeito da utilização do produto, medido com relação às necessidades dos usuários.•
Qualidade externa
– “influenciar o comportamento de um sistema, para satisfazer necessidades explícitas e implícitas, quando o sistema que o inclui for utilizado sob condições especificadas”, ou seja, o efeito da execução das funções, medido com relação aos requisitos externos.•
Qualidade interna
– “atributos estáticos do produto de software para satisfazer necessidades explícitas e implícitas, quando o software for utilizado em condições especificadas”, ou seja, o efeito das propriedades de produtos intermediários, medidos com relação aos requisitos internos – projeto e código.A norma NBR ISO/IEC 9126-1, publicada em 2001, estabeleceu dois modelos de qualidade. Um modelo para qualidade externa e interna contendo um conjunto de seis características da qualidade de produto de software e suas respectivas subcaracterísticas, como mostra a Figura 4.3. O outro modelo é para qualidade em uso e contém quatro características de qualidade: Eficácia, Produtividade, Segurança e Satisfação, como mostra a Tabela 4.1. Esse modelo ainda requer estudos para sua aplicação.
Tabela 4.1 – Características de qualidade em uso (NBR ISO/IEC 9126-1, 2001)
Características Definições
67
completitude, no contexto de uso especificado.Produtividade O software deve permitir que seus usuários diretos e indiretos empreguem quantidade apropriada de recursos em relação à eficácia obtida, no contexto de uso especificado.
Segurança O software deve apresentar níveis aceitáveis de riscos de danos a pessoas, negócios, software, propriedades ou ao ambiente, no contexto de uso especificado
Satisfação O software deve satisfazer usuários, no contexto de uso especificado.
Os requisitos para a escolha dessas características foram os seguintes:
• cobrir conjuntamente todos os aspectos de qualidade de software resultantes da definição de qualidade da ISO;
• descrever a qualidade do produto com um mínimo de sobreposição; • ficar o mais próximo possível da terminologia estabelecida;
• formar um conjunto entre seis e oito características, por questões de clareza e manuseio; e • identificar áreas de atributos de produtos de software para posterior refinamento.
Figura 4.3 – Características e subcaracterísticas de qualidade.
O modelo de qualidade de produto de software foi definido para apoiar o objetivo de aplicar as seis características de qualidade em uma avaliação de produto de software. A utilização do modelo
68
apresentado não é obrigatória; outros modelos podem ser utilizados, mas é importante perceber a necessidade de seguir um modelo tanto para desenvolvimento do software quanto para uma avaliação. O modelo apresentado é baseado na definição das características de qualidade de software e das subcaracterísticas.As seis características de qualidade de software estão apresentadas na Tabela 4.2. Uma preocupação da norma foi definir características com um mínimo de sobreposição de conceitos entre elas.
Tabela 4.2 – Características de qualidade interna e externa (NBR ISO/IEC 9126-1, 2001)
Características Definições
Funcionalidade Conjunto de atributos que evidencia a existência de um conjunto de funções e suas propriedades especificadas. As funções são as que satisfazem às necessidades explícitas ou implícitas.
Confiabilidade Conjunto de atributos que evidencia a capacidade do software de manter seu nível de desempenho sob condições estabelecidas durante um período de tempo definido.
Usabilidade
Conjunto de atributos que evidencia 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. Entende-se por usuários aqueles que utilizam software interativo, ou seja, operadores, usuário final e usuários indiretos, que estão sob influência ou dependência do uso do software.
Eficiência Conjunto de atributos que evidencia o relacionamento entre o nível de desempenho do software e a quantidade de recursos usados, sob condições estabelecidas.
Manutenibilidade Conjunto de atributos que evidencia o esforço necessário para fazer modificações especificadas no software.
Portabilidade Conjunto de atributos que evidencia a capacidade do software de ser transferido de um ambiente para outro. Além de definir as características de qualidade de software e orientar quando devem ser utilizadas, a norma se preocupou, também, em apresentar um modelo de qualidade de produto de software. Sua publicação teve o grande mérito de estabelecer um modelo básico de qualidade de produto de software, transformado em referência conhecida por grande parte da comunidade.
Desde sua publicação, desenvolve-se uma opinião generalizada de que, apesar do grande benefício trazido por essa norma, ao definir um modelo de qualidade propiciando um vocabulário comum, há uma grande dificuldade em adequar sua aplicação para a avaliação prática de produtos de software. A série de normas NBR ISO/IEC 14598, complementares à norma NBR ISO/IEC 9126, procura oferecer diretrizes para essa questão.
Na Tabela 4.3, são apresentadas, para cada característica, as subcaracterísticas e suas definições. Tabela 4.3 – Subcaracterísticas de qualidade de software
69
FuncionalidadeAdequação Presença de um conjunto de funções e sua apropriação para as tarefas especificadas
Acurácia Geração de resultados ou efeitos corretos
Interoperabilidade Capacidade de interagir com outros sistemas especificados Conformidade Estar de acordo com normas, convenções e regulamentações Segurança de acesso Capacidade de evitar acesso não autorizado a programas e dados
Confiabilidade
Maturidade Frequência de falhas
Tolerância a falhas Capacidade de manter o nível de desempenho em caso de falha ou violação nas interfaces
Recuperabilidade Capacidade de restabelecer seu desempenho e restaurar dados após falha Conformidade Estar de acordo com normas, convenções e regulamentações
Usabilidade
Inteligibilidade Atributos do software que evidenciam o esforço do usuário para reconhecer o conceito lógico e sua aplicabilidade
Apreensibilidade Atributos do software que evidenciam o esforço do usuário para apreender sua aplicação
Operacionalidade Atributos do software que evidenciam o esforço do usuário para sua operação e controle desta
Atratividade A capacidade do software de ser atrativo ao usuário Conformidade Estar de acordo com normas, convenções e regulamentações
Eficiência
Comportamento em relação ao
tempo Tempo de resposta, de processamento e velocidade na execução de funções Comportamento em relação aos
recursos Quantidade de recursos utilizados
Conformidade Estar de acordo com normas, convenções e regulamentações
Manutenibilidade
Analisabilidade Esforço necessário para diagnosticar deficiência e causas de falhas Modificabilidade Esforço necessário para realizar modificações e remoção de defeitos Estabilidade Ausência de riscos de efeitos inesperados ocasionados por modificações Conformidade Estar de acordo com normas, convenções e regulamentações
Testabilidade Facilidade de ser testado
Portabilidade
Adaptabilidade Capacidade de ser adaptado a ambientes diferentes Capacidade para ser instalado Esforço necessário para a instalação
Coexistência Capacidade do software de coexistir com outros produtos independentes, em um ambiente comum, compartilhando os mesmos recursos
Conformidade Consonância com padrões ou convenções de portabilidade Capacidade para substituir Capacidade e esforço necessário para substituir outro software
A elaboração dessa série de normas consolidou-se na estrutura mostrada na Tabela 4.4. Estudos e revisões continuam sendo desenvolvidos em termos dessa estrutura.
70
Tabela 4.4 – Normas da série ISO/IEC 9126: “Status” em 2009Norma Título Assunto Estado Internacional Estado Nacional
9126-1
Engenharia de software – Qualidade de Produto – Modelo de Qualidade
Definição das características e subcaracterísticas da qualidade
Norma, publicada em 2001 Norma, publicada em 2003
9126-2 Engenharia de software – Qualidade de Produto – Medidas externas Exemplos de medidas externas
Relatório técnico, publicado
em 2003 Relatório técnico a ser publicado
9126-3 Engenharia de software – Qualidade de Produto – Medidas internas Exemplos de medidas internas
Relatório técnico, publicado
em 2003 Relatório técnico a ser publicado
9126-4
Engenharia de software – Qualidade de Produto – Medidas qualidade em uso
Exemplos de medidas de qualidade em uso
Relatório técnico, publicado
em 2004 Relatório técnico a ser publicado
No Apêndice D, estão resumidos os conceitos de qualidade para produtos de software.
Esta série de normas está sendo reestruturada numa nova série, que será apresentada na próxima seção.