terça-feira, 13 de abril de 2021

O que é qualidade de software

Para definirmos qualidade de software vamos começar com uma definição de qualidade de uma forma mais geral indicada por Pressman (2011, p. 359):

Qualidade é um conceito complexo e multifacetado que pode ser descrito segundo cinco pontos de vista diferentes:

  • A visão transcendental sustenta que qualidade é algo que se reconhece imediatamente, mas não se consegue definir explicitamente.
  • A visão do usuário dimensiona a qualidade em termos de metas específicas de um usuário final. Se um produto atende a essas metas, ele apresenta qualidade.
  • A visão do fabricante define qualidade em termos da especificação original do produto. Se o produto atende às especificações, ele tem qualidade.
  • A visão do produto sugere que a qualidade pode ser ligada a características inerentes (por exemplo função e recursos) de um produto.
  • A visão baseada em valor mede a qualidade tomando como base o quanto um cliente estaria disposto a pagar por um produto.

Mas... na realidade, qualidade engloba todas essas visões e outras mais. (PRESSMAN, 2011, p. 359).

Há, ainda, diversas outras definições de qualidade de software. Vamos considerar as principais delas:

  • De acordo com o glossário padrão de terminologia em Engenharia de Software do IEEE 610.12 (1990) (disponível em: <standards.ieee.org>), qualidade pode ser definida como “o grau no qual um sistema, componente, ou processo atende aos requisitos especificados e às necessidades ou expectativas do cliente ou usuário”.
  • A norma ISO/IEC 9126 (1991) define qualidade como “a totalidade de funcionalidades e características de um produto ou serviço que atendem à sua capacidade de satisfazer necessidades específicas ou implícitas”. Além disso, o padrão identifica seis atributos fundamentais de qualidade que um produto de software deve atender: funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade.
  • No contexto de desenvolvimento de software, qualidade
    [...] é o resultado de um bom gerenciamento de projeto e uma prática consistente de Engenharia de Software. O gerenciamento e a prática são aplicados no contexto de quatro grandes atividades que ajudam uma equipe de software a atingir alto padrão de qualidade de software: métodos de engenharia de software, técnicas de gerenciamento de projetos, ações de controle de qualidade e garantia da qualidade de software. (PRESSMAN, 2011; p. 370, grifo nosso).

O termo qualidade pode assumir diferentes significados, em função de estar ligado à percepção das pessoas, que têm gostos e formas de pensar distintos. Isso pode nos permitir concluir que a definição de qualidade de software também esteja ligada à percepção subjetiva dos seres humanos. Desta forma, a qualidade de software, assim como a qualidade de outros produtos, está sujeita à opinião das pessoas que, neste caso, assumem o papel de clientes, usuários e demais envolvidos com o projeto do software.

No entanto, ainda não há regras definitivas que indiquem claramente como desenvolver produtos de software de qualidade, embora a qualidade do produto seja considerada fortemente dependente da qualidade e adequação de seu processo de desenvolvimento. Mas podemos elencar as seguintes características para a qualidade de software:

  • Está fortemente relacionada à conformidade com os requisitos.
  • Caracteriza o grau de satisfação do cliente.
  • Não é responsabilidade de apenas uma área da empresa, e sim de todos.
  • Deve estar presente desde o planejamento do software.
Guia PMBOK
Fonte: <mefair.com >.

Além disto, a qualidade deve satisfazer um conjunto de diferentes pontos de vista:

  • Usuário:
    • Qualidade consiste na capacidade de satisfazer desejos.
    • Qualidade é a adequação ao uso.
  • Valor:
    • Qualidade é o grau de excelência a um preço aceitável e o controle da variabilidade a um custo aceitável.
  • Entrega:
    • Um produto ou serviço produzido de acordo com as especificações, com custo competitivo, mas entregue fora do prazo, pode ser considerado de qualidade?

As empresas de desenvolvimento de software vêm valorizando bastante a qualidade dos sistemas e aplicações, pois tornou-se claro que os gastos com qualidade não são um dispêndio financeiro, mas um importante investimento. Além disso, os clientes estão cada vez mais exigentes, o que também exige dos desenvolvedores muito mais cuidado na criação dos produtos de software.

Saiba mais

Modelo de Qualidade no Contexto SPB – Software Público Brasileiro

“A Qualidade de Produto de Software está passando por uma evolução, antes estava ligada à funcionalidade e agora está ligada à confiabilidade.A Qualidade de um Produto de Software pode ser percebida por várias visões, como:

  • Pela visão do desenvolvedor.
  • Pela visão do responsável pelo desenvolvimento.
  • Pela visão do usuário final.

Para o usuário final, o interesse está, por exemplo, na utilização, no desempenho, ou seja, em medidas externas de qualidade como:

  • Funções específicas estão disponíveis?
  • Qual é a confiabilidade do software e sua eficiência?
  • É facil de usar?
  • É facil para transferir para outro ambiente operacional?

Para o desenvolvedor, o interesse está na qualidade de produtos intermediários, ou seja, verificando, se estão coerentes com as expectativas do usuário final.

Para o responsável pelo desenvolvimento, o interesse está nos objetivos da comunidade, está em fazer o equilíbrio de melhoria de qualidade usando critérios como prazo e custo.

A definição de Qualidade de Produto de Software está baseada na definição de características de interesse em função da área de aplicação desse produto. De acordo com a área de aplicação do produto, certas características são mais desejáveis como:

  • Para aplicações de missão critica, a confiabilidade.
  • Para aplicações em tempo real, o desempenho.
  • Para aplicações interativas com o usuário não especializado, a usabilidade.
  • Para aplicações que mantêm informações sigilosas, a segurança.”

Fonte: CTI (2013).

Nenhum comentário:

Postar um comentário