

Preocupados com a baixa qualidade dos softwares e o aumento da demanda por modelos de qualidade de software o mercado vem buscando cada vez mais adotar um modelo que atenda as suas necessidades e a de seus clientes. Dentro da engenharia de software existem duas visões: a visão de processo e a visão de produto. A visão de processo trata da avaliação e melhoria dos processos utilizados para o ciclo da vida do software enquanto que a visão de produto trata da avaliação de um produto de software.
O artigo introduz conceitos de qualidade de software apresentando diversos modelos para avaliação dentro das visões complementares de processo e produto.
A Norma ISO 8402[ISO8402] define Qualidade como á totalidade de características de uma entidade que lhe confere a capacidade de satisfazer às necessidades explícitas e implícitas.
Necessidades explícitas são aquelas expressas na definição de requisitos propostos pelo produtor já as implícitas são aquelas que, embora não expressas nos documentos do produtor, são necessárias para o usuário.
A KANO84 classifica os requisitos de acordo com o sentimento de satisfação:
Esta classificação está sujeita a modificações de acordo com o mercado e até de acordo com o cliente, pois muitas vezes ele mesmo não sabe quais são os requisitos que deverão conter o sistema. Cabe ao analista identificá-los e colocá-los em uma ordem de prioridade junto ao cliente, deste modo ambos identificarão o que realmente o sistema deverá conter.
O controle de qualidade surge de uma necessidade de se avaliar, julgar e controlar a produção de um produto.
Inicialmente são feitas verificações esparsas e não sistemáticas, em seguida, adotam-se técnicas e critérios bem definidos, podendo, em alguns casos, chegar-se à verificação de 100% dos produtos para eliminação daqueles produtos com defeito, impedindo que eles cheguem ao usuário. Satisfazendo assim tanto os clientes como os desenvolvedores que terão um produto confiável e de qualidade.
A Engenharia de Software tem como objetivo a melhoria da qualidade do seu produto, com propostas de modelos de desenvolvimento, métodos e técnicas para aplicação nas diversas fases de desenvolvimento do software.
A visão que busca a qualidade de software através da melhoria da qualidade de software orienta a elaboração de modelos de definição, avaliação e melhoria dos processos de software.
As Normas ISO 9000 tem como objetivo de certificar a organização mais não provê a qualidade máxima e sim a base mínima para se obter qualidade e não tem preocupação com a melhoria do processo. A série ISO consiste basicamente em 5 seções: ISO 900-1/ISO 9000-3, ISO 9001, ISO 9002, ISO 9003 e ISO 9004-1. A norma ISO que possui diretrizes do desenvolvimento é a ISO 9000-3 que é um documento complementar à ISO 9001 que aborda aspectos específicos do processo de desenvolvimento de software.
A norma ISO 12207-1 não tem processo de certificação, pois ela tem possibilidade de adaptação, serve como um guia, pois estabelecem os processos, atividades e tarefas a serem aplicados durante a aquisição, fornecimento, desenvolvimento, operação e manutenção de software.
A CMM determina a capacitação da organização e apoia a sua evolução de acordo com os cinco níveis estabelecidos pela mesma. Ela possibilita a construção de um ambiente coerente e homogêneo. A CMM é muito rígida e por isso deve-se ter um comprometimento de toda a empresa para que se adote esta norma. Com ela é possível avaliar fornecedores.
A SPICE é uma evolução da CMM e de outros modelos existentes, ela permite que resultados de avaliações de modelos possam ser comparados. Assim como a CMM existe um preocupação freqüente de evolução.
Todas estas normas dependem do comprometimento da empresa em geral para serem executadas e obtiverem sucesso, ou seja, a melhoria da qualidade de processos.
Avaliar a Qualidade de Produto de Software é verificar, através de técnicas e atividades operacionais o quanto os requisitos são atendidos. Os requisitos de uma maneira geral, são as necessidades, explicitados em termos quantitativos ou qualitativos, e têm por objetivo definir as características de um software, a fim de permitir o exame de seu atendimento.
Assim como a avaliação por processos a avaliação por produto de software possui várias normas, como a ISO/IEC, as quais são traduzidas para a versão brasileira ABNT (Associação Brasileira de Normas Técnicas).
A série ISSO/IEC 14598 oferece uma visão geral dos processos de avaliação de produto de software e fornece guias e requisitos para avaliação. Dentro desta norma encontramos a norma ISO/IEC14598-5 que fornece requisitos e recomendações para a implementação prática da avaliação de produto de software.
As características esperadas do processo de avaliação é que ele seja repetível, reprodutível, imparcial e objetivo.
O Processo de avaliação proposto pela Norma inclui cinco atividades:
A norma 9126 fornece as características e métricas para avaliação de software através das seguintes características:
A norma ISO/IEC 12119 é aplicável a pacotes de software e trata de todos os componentes do produto disponíveis aos usuários (documentação, manual de instruções e guia para instalação).
O objetivo da avaliação geral é a realização da análise do produto em relação às características de qualidade e a verificação da presença de condições mínimas para atendimento das necessidades do usuário final.
A análise examina o produto como um todo, sendo realizada através de um Procedimento de Avaliação, uma lista de verificação composta de questões, baseada nos critérios definidos, em que se simulam as condições normais de operação do produto e se emitem juízos sobre os atributos do produto em resposta a questionários.
As duas visões de processo e produto são necessárias e complementares, pois as duas visões buscam garantir a qualidade do software e ambas interferem no processo de desenvolvimento, realimentando-o com os resultados obtidos.
Existem várias normas de qualidade, mais infelizmente no Brasil a maioria das empresas não tem preocupação e não buscam ou adotam nenhum modelo ou norma de qualidade de software em seu ambiente de trabalho, ficando toda a responsabilidade em cima de cada indivíduo que exerce a sua função de acordo com sua experiência e conhecimento.
Referências
Neison Alves Campello de Carvalho
Analista de Sistemas
CooperSystem-DF
neisoncampello@coopersystem.com.br