A qualidade do software é um fator essencial para o sucesso de qualquer produto digital. A norma ISO/IEC 25010, desenvolvida pela International Organization for Standardization (ISO) e International Electrotechnical Commission (IEC), estabelece um conjunto de características e atributos que devem ser levados em consideração ao avaliar a qualidade de um software. Neste artigo, vamos apresentar a ISO/IEC 25010 e discutir sua importância para a qualidade do software.
Qual é a ISO/IEC 25010?
A ISO é uma organização internacional que promove a padronização de produtos e serviços por meio de normas internacionais. A IEC, por sua vez, é responsável pela normatização de tecnologias elétricas, eletrônicas e relacionadas. Juntas, ambas desenvolvem as normas ISO/IEC, e especificamente a 25010, que se refere à qualidade do software.
A ISO/IEC 25010 foi publicada em 2011, substituindo a ISO/IEC 9126, e descreve um modelo de qualidade de software. O modelo é composto por oito atributos ou características, que abrangem diferentes aspectos da qualidade do software.
Por que a ISO/IEC 25010 é importante para a qualidade do software?
A norma ISO/IEC 25010 é importante para a qualidade do software porque fornece uma estrutura consistente e abrangente para especificar os requisitos de qualidade e avaliá-los. Ao seguir as diretrizes e critérios estabelecidos pela norma, os desenvolvedores de software podem garantir que seu produto atenda às expectativas e necessidades dos usuários.
Investir na qualidade do software pode resultar em economia de tempo, esforço e recursos, além de diminuir o retrabalho e os problemas decorrentes de falhas no software. Adotar a ISO/IEC 25010 como referência para a qualidade do software também pode ajudar a prevenir e fiscalizar possíveis desvios de desenvolvedores e empresas.
Características e atributos da ISO/IEC 25010
A ISO/IEC 25010 é composta por oito características principais, cada uma com suas subcaracterísticas. Vamos analisar cada uma delas a seguir.
1. Adequação Funcional
A adequação funcional 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.
2. Eficiência de Performance
A eficiência de performance está relacionada à performance do software em relação à 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.
3. Compatibilidade
A compatibilidade é a capacidade de um produto, sistema ou componente de trocar informações, assim como de realizar funções enquanto compartilha um hardware. As subcaracterísticas são:
- 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.
4. Usabilidade
A usabilidade é a capacidade de um produto ou sistema de realizar objetivos eficientemente, efetivamente e de maneira satisfatória. As subcaracterísticas são:
- 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.
5. Confiabilidade
A confiabilidade diz respeito a quão bem um produto realiza funções específicas sob condições específicas. As subcaracterísticas deste atributo da ISO/IEC 25010 são:
- 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.
6. Segurança
A segurança é a capacidade de um produto ou sistema proteger informação e dados de vulnerabilidades. 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 ligadas a eles;
- Autenticidade: a identidade de um sujeito ou recurso pode ser provada.
7. 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. As subcaracterísticas deste atributo são:
- 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.
8. Portabilidade
A portabilidade é a capacidade de um sistema, produto ou componente de ser transferido de um ambiente para outro. As 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.
Conclusão
A ISO/IEC 25010 é uma ferramenta essencial para garantir a qualidade do software ao estabelecer um conjunto de características e atributos que devem ser levados em consideração durante o desenvolvimento e a avaliação de um produto digital. Ao adotar a ISO/IEC 25010 como referência para a qualidade do software, os desenvolvedores podem garantir que seu produto atenda às expectativas e necessidades dos usuários, resultando em maior satisfação e sucesso no mercado.