Para que possamos compreender como produzir software com qualidade, se faz necessário contextualizar o que é qualidade.

Desde a década de 70, quando os softwares estavam restritos aos centros de pesquisas, áreas militares e às grandes empresas, até os dias atuais em que estão cada vez mais presentes em diversas atividades da sociedade, a engenharia de software tem contribuído para estabelecer um processo de desenvolvimento consistente, racional e que produza um produto confiável e com qualidade.

A importância do software na vida das pessoas aumenta a cada dia e tanto a vida pessoal quanto a profissional podem ser melhoradas com a presença de um software de alta qualidade. A qualidade do produto de software corresponde à totalidade das características que lhe confere a capacidade de satisfazer necessidades explícitas e implícitas (NBR ISO/IEC 14598-1, p.4)

A definição do que é qualidade do produto de software envolve várias características, como funcionalidade, confiabilidade, usabilidade, manutenabilidade, portabilidade e eficiência. Esta pode ser definida como a capacidade do produto de software apresentar desempenho apropriado relativo à quantidade de recursos usados sob condições especificadas. (NBR ISO/IEC 9126-1, p.7 e 10)

Dimensões da qualidade de um sistema Web

Petrasch (1999, p1) define qualidade de um software como:

“A existência de características em um produto, as quais correspondem aos requisitos. Além disto deve-se considerar as características que não correspondem aos requisitos, as quais reduzem a qualidade do software, e também as características neutras, as quais não são relevantes para a qualidade. Está claro que não só as presenças de características são importantes, mas também as ausências de características contra produtivas.”

Segundo essa definição, a qualidade de um software é determinada diretamente pela existência de características como, por exemplo, funcionalidade e desempenho, que atendam a requisitos definidos para o sistema. Além disso, em um software de qualidade deve inexistir características que não estejam associadas aos requisitos. A definição dos requisitos de qualidade de um software muda em função do valor que cada usuário atribui a eles em função do seu tipo de uso. Assim, a definição de qualidade não é um conceito estático.

Garvin, A. (1988) destaca a importância do modelo de qualidade baseado no usuário, no qual essa característica passa a ser medida pela percepção da pessoa que o utiliza. O usuário determina se o sistema em questão atende suas diversas expectativas, dentre elas: a funcionalidade, a usabilidade e o desempenho. Assim, a qualidade de um sistema não é um atributo absoluto, ela pode variar em função das expectativas de diferentes usuários. (IEEE Standard Glossary of Software Engineering Terminology IEEE-STD-729-1983)

Offutt (2002, p.26) afirma, quanto à qualidade de sistemas Web, que:

“Desenvolvedores de sistemas Web somente obtém um retorno do seu investimento se o seu Web site satisfaz a necessidade dos seus clientes. E, diferente de muitos vendedores de software, se a nova empresa concorrente publica um site de mais alta qualidade, os clientes irão quase que imediatamente mudar os seus negócios para este novo site, uma vez que eles descubram este site. Assim ao invés de “mais cedo, porém pior”, é freqüentemente mais vantajoso, “mais tarde, e melhor”.

Nessa citação, o autor destaca a importância da qualidade no caso para sistemas Web e justifica, através da satisfação dos futuros usuários, a dimensão de tempo no ciclo de desenvolvimento: ele defende que se deve desenvolver um sistema melhor, ainda que leve um tempo maior.

Os principais requisitos de qualidade de software do ponto de vista do usuário são: a funcionalidade, a usabilidade e o desempenho, caracterizadas através do gráfico 1, que demonstra as diferentes dimensões de qualidade de um software e a importância de cada uma delas sob o ponto de vista do desenvolvedor e do usuário.(Stutzke, 2002, p. 5)

dim_qsw_thumb

Gráfico 1 – As dimensões da qualidade e sua importância

(Adaptado de Stutzke, p.1)

Segundo o gráfico 1 o a funcionalidade, a usabilidade e o desempenho são as três principais dimensões de qualidade para os usuários.Portanto o processo de desenvolvimento de um sistema deve contemplar atividades de avaliação que permitam construir um sistema que atenda a objetivos pré-estabelecidos para as dimensões de qualidade mais valorizadas pelos usuários de um determinado software.