Avaliação de Produto de Software: as aplicações da NBR 13596 (ISO 9126) na CELEPAR
Escrito por Rosane Antunes Fernandes e Tânia Mara Vostoupal
Intodução
O Governo do Estado do Paraná incentivou a informatização de seus Órgãos e, atualmente, a maioria deles possui uma rede local ou, pelo menos, microcomputadores. Em decorrência deste processo de informatização, houve uma grande mudança no perfil dos usuários, que se aproximaram da tecnologia e passaram a dominar Windows, planilhas eletrônicas, editores de texto, correio eletrônico, tornando-se mais exigentes em termos de produtos de software. Usuários que antes trabalhavam com terminais "burros", estão hoje utilizando a informática como ferramenta no desenvolvimento de suas atividades cotidianas. Assim, estão solicitando cada vez mais produtos com interface amigável para aplicação imediata, gerando uma demanda muito grande por produtos de software, principalmente da área administrativa.
Dentro deste contexto, o papel da Celepar como responsável pela informatização do Estado, é fornecer soluções eficazes para atender esta demanda, de acordo com as necessidades dos usuários e dentro de prazos cada vez menores. Assim, há que se considerar a possibilidade dos produtos demandados já existirem prontos e acabados no próprio mercado de software. Desta forma, a atuação da Celepar abrange desde a orientação dos órgãos, pesquisa de mercado, elaboração de objeto técnico de editais de licitação, auxílio na avaliação e seleção de produtos, ou até mesmo o desenvolvimento interno dos produtos de software demandados.
Um dos maiores problemas encontrados no desenvolvimento destas atividades quando faz-se a opção pela busca da solução no mercado, foi a dificuldade em avaliar e selecionar produtos de software de forma objetiva, uma vez que, por força de legislação federal, os mesmos devem ser adquiridos através de licitação. Nesse sentido, a utilização da norma NBR 13596 - Tecnologia de Informação: Avaliação de Produto de Software - Características de Qualidade e Diretrizes para seu Uso (ISO 9126, homologada como norma brasileira através da ABNT - Associação Brasileira de Normas Técnicas em janeiro de 1996) mostrou-se bastante apropriada.
A NBR 13596 - Tecnologia de Informação: Avaliação de Produto de Software
Esta norma define seis características de qualidade de produto de software, que são subdivididas em diversas subcaracterísticas. A seguir, apresentaremos um breve esquema da norma.
CARACTE-RÍSTICA DE QUALIDADE |
SUBCARAC-TERÍSTICA DE QUALIDADE |
DEFINIÇÃO |
FUNCIONALIDADE | Conjunto de atributos que evidenciam a existência de um conjunto de funções e suas propriedades especificadas. | |
Adequação | Atributos do software que evidenciam a presença de um conjunto de funções e sua apropriação para as tarefas especificadas. | |
Acurácia | Atributos do software que evidenciam a geração de resultados ou efeitos corretos ou conforme acordados. | |
Interoperabilidade | Atributos do software que evidenciam sua capacidade de interagir com sistemas especificados. | |
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. | |
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. | |
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 | Atributos do software que evidenciam a freqüência de falhas por defeitos do software. | |
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. | |
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. | |
USABILIDADE (Capacidade para uso) | 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 | 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. | |
Operacionali-dade | Atributos do software que evidenciam o esforço do usuário para a sua operação e controle da sua operação. | |
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 | Atributos do software que evidenciam seu tempo de resposta, tempo de processamento e velocidade na execução de suas funções. | |
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. | |
PORTABILIDADE | Conjunto de atributos que evidenciam a capacidade do software em ser transferido de um ambiente para outro. | |
Adaptabilidade | Atributos do software que evidenciam sua capacidade de ser adaptado a ambientes diferentes especificados, sem a necessidade de aplicação de outras ações ou meios além daqueles fornecidos para esta finalidade pelo software considerado. | |
Capacidade para ser instalado | Atributos do software que evidenciam o esforço necessário para sua instalação num ambiente especificado. | |
Conformidade | Atributos do software que o tornam consoante com padrões ou convenções relacionados à portabilidade. | |
Capacidade para substituir | Atributos do software que evidenciam sua capacidade e esforço necessários para substituir um outro software, no ambiente estabelecido para este outro software. | |
Conjunto de atributos que evidenciam o esforço necessário para fazer modificações especificadas no software. | ||
Analisabilidade | 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. | |
MANUTENI- BILIDADE |
Modificabilidade | Atributos do software que evidenciam o esforço necessário para modificá-lo, remover seus defeitos ou adaptá-lo a mudanças ambientais. |
Estabilidade | Atributos do software que evidenciam o risco de efeitos inesperados ocasionados por modificações. | |
Testabilidade | Atributos do software que evidenciam o esforço necessário para validar o software modificado. |
A Aplicação da Norma
A norma define as características de qualidade que devem ser avaliadas em um produto de software, qualquer que seja a sua forma de aquisição ou de desenvolvimento.
No caso de aquisição, deve ser seguida a legislação pertinente, ou seja, à Lei No. 8666, que determina a compra através de licitação. A norma, neste caso, atua como um guia na elaboração do objeto técnico, definindo o que deve ser avaliado (as características e subcaracterísticas de qualidade). A aplicação da norma é adaptável ao produto que se deseja adquirir, ou seja, podemos definir quais características e subcaracterísticas são mais determinantes para o produto de software em questão. Por exemplo, para um determinado produto, as questões de segurança de acesso e de recuperabilidade podem ser mais importantes do que para outro. Assim, é possível definir uma pontuação para as características e subcaracterísticas de qualidade de acordo com o que se espera do produto de software desejado, de forma objetiva e clara, com a atribuição de pesos para as características mais importantes para o produto desejado. O resultado desta pontuação é que determina o produto vencedor da licitação.
Entretanto, apesar da norma definir cada característica e subcaracterística de qualidade, ela não define como medi-las. Há a necessidade, então, de um trabalho de definição das métricas a serem aplicadas em cada uma das subcaracterísticas de qualidade.
Exemplo:
Característica de qualidade de Funcionalidade:
- Subcaracterística Adequação:
- quantidade de funções atendidas, que poderão ser subdivididas em desejáveis e obrigatórias.
- Subcaracterística Segurança de Acesso:
- definição de notas a serem atribuídas de acordo com o atendimento de segurança de acesso a dados e funções; somente a funções; somente a dados; ou não possui segurança de acesso.
A definição da forma de medição das características e subcaracterísticas de qualidade também pode ser efetuada de acordo com o que se quer obter do produto a ser adquirido, ou seja, pode-se definir a medição somente para aquelas características que são determinantes para o produto de software desejado. Aliado a esta medição, a separação das características de qualidade permite a atribuição de pesos de forma a reforçar a importância desta ou daquela característica.
Na Celepar a norma tem sido aplicada também para a realização de pesquisas no mercado. Para a realização da pesquisa, constroem-se questionários seguindo as características da norma e estes questionários são enviados aos fornecedores. Estes são retornados à Celepar e pontuados, e servirão para construção de cartas-convite e definição de quem deverá recebê-las.
A norma também é de grande valia no caso do desenvolvimento de um produto de software, quando pode ser aplicada durante a realização dos testes de aceitação do produto ou de subprodutos do desenvolvimento, quase da mesma forma que a descrita acima. A diferença existente é que não há a necessidade de se definir uma fórmula de pontuação geral do produto, mas sim a definição de níveis mínimos de pontuação aceitáveis, abaixo dos quais o produto ou subproduto não será aceito. Também deve ser definida a sistemática a ser aplicada durante os testes: definição dos avaliadores, perfil dos avaliadores, critérios para consolidação da pontuação em caso de divergências entre os avaliadores, etc.
Conclusão
A qualidade de um produto de software era algo intangível, sem definições concretas. A norma NBR 13596 permite visualizar mais facilmente esta qualidade e, por conseqüência, definir uma forma de medir esta qualidade, possibilitando uma avaliação mais objetiva e uniforme. Além disso, é acessível a qualquer pessoa ou empresa, por se tratar de uma norma brasileira e, portanto, disponível a quem se interessar.
A aplicação da norma é simples, flexível e adaptável ao que se espera obter de um produto de software. Transforma a tarefa de avaliação e seleção de produtos de software em um procedimento claro, definido e matemático.
A seguir, citamos alguns exemplo de aplicação da norma nos projetos da Celepar:
- Aquisição do SYBASE;
- DETRAN - para aceitação de produtos de software desenvolvidos por terceiros;
- Almoxarifado - para pesquisa de mercado e elaboração de objeto técnico;
- Recursos Humanos - para pesquisa de mercado.