Entre as várias definições de qualidade de software, podemos dizer que o conceito trata da capacidade de um produto digital satisfazer as necessidades declaradas e implícitas quando usado sob condições especificadas. Porém, como ter uma medida para isso? A ISO/IEC 25010 pode ser uma resposta.

Qual é a ISO para qualidade de software?

ISO é a sigla para International Organization for Standardization, uma organização internacional que promove a padronização de produtos e serviços por meio de normas internacionais. Já o IEC se refere à Comissão Eletrotécnica Internacional, que trabalha para normatização de tecnologias elétricas, eletrônicas e relacionadas. Em conjunto, ambas desenvolvem as normas ISO/IEC e, especificamente a 25010, versa sobre qualidade de software.

Para que serve a ISO/IEC 25010?

Como já introduzido anteriormente, a qualidade de um software é um objetivo do processo de desenvolvimento. Assim, ao desenvolver-se um produto digital, é preciso ter previamente estabelecidas as características de qualidade que se deseja alcançar. 

A ISO/IEC 25010 é um padrão ISO para qualidade de software, disponibilizada em 2011, substituindo a ISO/IEC 9126. Ela descreve um modelo de qualidade de software.

Por definição, modelo de qualidade é o conjunto definido de características, categorias de atributos de qualidade de software, e relações entre elas. Essa arquitetura fornece a estrutura para especificar os requisitos de qualidade e avaliá-los.

Quantos atributos possui a norma ISO/IEC 25010?

O modelo de qualidade de software da ISO/IEC 25010 é composto por oito atributos ou características. São elas:

  • Adequação Funcional
  • Eficiência de performance
  • Compatibilidade
  • Usabilidade 
  • Confiabilidade 
  • Segurança 
  • Manutenibilidade
  • Portabilidade
Atributos da ISO/IEC 25010
Fonte: https://iso25000.com

Cada atributo da ISO/IEC 25010 está organizado em subcaracterísticas, que se relacionam às propriedades do software. Vamos explicar cada atributo e falar sobre suas subdivisões.

Os atributos e subcaracterísticas da ISO/IEC 25010

Adequação funcional

Essa característica envolve a capacidade do software de realizar o que ele se propõe a fazer. As subcaracterísticas são:

  • Integridade funcional: cobertura de todas as tarefas e objetivos;
  • Correção funcional: quão bem provê os resultados corretos quando preciso;
  • Adequação funcional: quão bem é capaz de realizar tarefas e objetivos específicos.

Eficiência de performance

Esse atributo está relacionado à performance do software relacionada à quantidade de recursos utilizados e possui as seguintes subdivisões:

  • Comportamento do tempo: tempo de resposta e processamento;
  • Uso de recursos: quantidade e tipos de recursos utilizados por um produto ou sistema;
  • Capacidade: limite máximo de um produto.

Compatibilidade

É a capacidade de um produto, sistema ou componente de trocar informações, assim como de realizar funções enquanto compartilha um hardware. São subcaracterísticas:

  • Coexistência: capacidade de realizar funções eficientemente enquanto compartilha um ambiente ou recursos com outros produtos;
  • Interoperabilidade: capacidade de dois ou mais sistemas, produtos ou componentes de trocar informações e as utilizarem.

Usabilidade

Trata-se da capacidade de um produto ou sistema de realizar objetivos eficientemente, efetivamente e de maneira satisfatória. As subcaracterísticas são as seguintes:

  • Adequação reconhecível: capacidade de reconhecer se um produto ou sistema é apropriado para suas necessidades;
  • Capacidade de aprendizado: facilidade de aprender como utilizar o produto ou sistema;
  • Operabilidade: se um produto ou sistema possui atributos que facilitam seu uso e controle;
  • Proteção de erro do usuário: capacidade do produto proteger o usuário de erros;
  • Estética da interface de usuário: agradabilidade da interface;
  • Acessibilidade: capacidade de um produto ou sistema ser utilizado por pessoas com características e capacidades diversas.

Confiabilidade

Diz respeito a quão bem um produto realiza funções específicas sob condições específicas. Estas são as subcaracterísticas deste atributo da ISO/IEC 25010:

  • Maturidade: capacidade do produto atingir as necessidades de confiabilidade;
  • Disponibilidade: se um sistema, produto ou componente está acessível e operante;
  • Tolerância a falhas: capacidade de um sistema, produto ou componente operar apesar de falhas de hardware e/ou software;
  • Recuperabilidade: capacidade de recuperar dados em uma possível falha ou interrupção.

Segurança

A capacidade de um produto ou sistema proteger informação e dados de vulnerabilidades é chamada de segurança, dentre as características da ISO/IEC 25010. As subdivisões são:

  • Confidencialidade – produto ou sistema é capaz de garantir que dados são acessados apenas por aqueles que têm acesso autorizado. 
  • Integridade – capacidade de prevenir acesso não-autorizado e modificação de dados ou programas de computador.
  • Ausência de repúdio – capacidade de provar que ações ou eventos aconteceram.
  • Rastreabilidade de uso – ações de usuários não autorizados devem ser ligados a eles.
  • Autenticidade – a identidade de um sujeito ou recurso pode ser provada.

Manutenibilidade

A manutenibilidade é a característica que engloba a capacidade de um produto ou sistema ser modificado, atualizado e adaptado às mudanças de ambiente e requerimentos. Abaixo, vamos ver as subcaracterísticas deste atributo.

  • Modularidade: programas ou sistemas podem sofrer mudanças sem impactar em outros componentes;
  • Reusabilidade: capacidade de um recurso poder ser utilizado em mais de um sistema;
  • Analisabilidade: capacidade de diagnosticar problemas ou causas de falhas, assim como partes a serem modificadas;
  • Modificabilidade: capacidade de um produto ou sistema ser modificado sem introduzir defeitos ou diminuir a qualidade atual;
  • Testabilidade: efetividade de testes para o sistema, produto ou componente.

Portabilidade

Esta característica é a capacidade de um sistema, produto ou componente de ser transferido de um ambiente para outro. As suas subcaracterísticas são:

  • Adaptabilidade: capacidade de um produto ou sistema de ser adaptado a um novo hardware, software ou outros ambientes;
  • Facilidade de instalação: capacidade de um produto ou sistema ser instalado ou desinstalado facilmente;
  • Capacidade de substituição: capacidade de ser trocado por outro produto similar. 

Por que investir em qualidade utilizando a ISO/IEC 25010?

A razão principal para investir em qualidade parece óbvia: desenvolver um produto melhor. Porém, de acordo com Martin Fowler, produzir software de alta qualidade é mais barato.

A alta qualidade reduz o custo, tempo e esforço para adicionar funções novas, além de diminuir o retrabalho inútil. Em última análise, ainda é possível relacionar má qualidade aos efeitos nocivos decorrentes de falhas de software, como perda de clientes, reputação e, esticando a corda ao limite, perda de vidas e danos mais sérios às pessoas.

Por isso tudo, fica clara a importância de normas como a ISO/IEC 25010, no sentido de padronizar o tema de qualidade de software. Este modelo cria bases sólidas tanto para a evolução tecnológica sustentável como para a prevenção e fiscalização de possíveis desvios de rota por parte dos desenvolvedores e empresas.

ISO/IEC 25010

Leave a Reply