Fatores de qualidade de software
Os vários fatores que influenciam o software são denominados fatores de software. Eles podem ser amplamente divididos em duas categorias. A primeira categoria dos fatores é daqueles que podem ser medidos diretamente, como o número de erros lógicos, e a segunda categoria agrupa aqueles fatores que podem ser medidos apenas indiretamente. Por exemplo, sustentabilidade, mas cada um dos fatores deve ser medido para verificar o conteúdo e o controle de qualidade.
Vários modelos de fatores de qualidade de software e sua categorização foram sugeridos ao longo dos anos. O modelo clássico de fatores de qualidade de software, sugerido por McCall, consiste em 11 fatores (McCall et al., 1977). Da mesma forma, modelos compostos por 12 a 15 fatores foram sugeridos por Deutsch e Willis (1988) e por Evans e Marciniak (1987).
Todos esses modelos não diferem substancialmente do modelo de McCall. O modelo de fator de McCall fornece um método prático e atualizado para classificar os requisitos de software (Pressman, 2000).
Modelo de fator de McCall
Este modelo classifica todos os requisitos de software em 11 fatores de qualidade de software. Os 11 fatores são agrupados em três categorias - operação do produto, revisão do produto e fatores de transição do produto.
Product operation factors - Correção, Confiabilidade, Eficiência, Integridade, Usabilidade.
Product revision factors - Manutenibilidade, Flexibilidade, Testabilidade.
Product transition factors - Portabilidade, Reutilização, Interoperabilidade.
Fatores de qualidade do software de operação do produto
De acordo com o modelo de McCall, a categoria de operação do produto inclui cinco fatores de qualidade de software, que tratam dos requisitos que afetam diretamente a operação diária do software. Eles são os seguintes -
Exatidão
Esses requisitos tratam da exatidão da saída do sistema de software. Eles incluem -
Missão de saída
A precisão necessária de saída que pode ser afetada negativamente por dados ou cálculos imprecisos.
A integridade das informações de saída, que pode ser afetada por dados incompletos.
A atualidade das informações é definida como o tempo entre o evento e a resposta do sistema de software.
A disponibilidade da informação.
Os padrões para codificação e documentação do sistema de software.
Confiabilidade
Requisitos de confiabilidade lidam com falhas de serviço. Eles determinam a taxa de falha máxima permitida do sistema de software e podem se referir a todo o sistema ou a uma ou mais de suas funções separadas.
Eficiência
Lida com os recursos de hardware necessários para executar as diferentes funções do sistema de software. Inclui capacidades de processamento (fornecidas em MHz), sua capacidade de armazenamento (fornecidas em MB ou GB) e a capacidade de comunicação de dados (fornecidas em MBPS ou GBPS).
Também trata do tempo entre a recarga das unidades portáteis do sistema, como unidades de sistema de informação localizadas em computadores portáteis ou unidades meteorológicas colocadas ao ar livre.
Integridade
Este fator trata da segurança do sistema de software, ou seja, evitar o acesso de pessoas não autorizadas, também distinguir entre o grupo de pessoas a quem será concedida permissão de leitura e escrita.
Usabilidade
Os requisitos de usabilidade lidam com os recursos humanos necessários para treinar um novo funcionário e operar o sistema de software.
Fatores de qualidade de revisão de produto
De acordo com o modelo de McCall, três fatores de qualidade de software estão incluídos na categoria de revisão do produto. Esses fatores são os seguintes -
Capacidade de Manutenção
Este fator considera os esforços que serão necessários aos usuários e pessoal de manutenção para identificar as razões das falhas de software, para corrigir as falhas e verificar o sucesso das correções.
Flexibilidade
Esse fator lida com as capacidades e esforços necessários para apoiar as atividades de manutenção adaptativa do software. Isso inclui adaptar o software atual a circunstâncias e clientes adicionais sem alterar o software. Os requisitos deste fator também suportam atividades de manutenção perfectiva, como modificações e inclusões no software, a fim de melhorar o seu serviço e adaptá-lo às mudanças do ambiente técnico ou comercial da empresa.
Testabilidade
Os requisitos de testabilidade lidam com o teste do sistema de software, bem como com sua operação. Inclui resultados intermediários predefinidos, arquivos de log e também os diagnósticos automáticos realizados pelo sistema de software antes de iniciar o sistema, para descobrir se todos os componentes do sistema estão em funcionamento e para obter um relatório sobre as falhas detectadas. Outro tipo desses requisitos trata das verificações de diagnóstico automáticas aplicadas pelos técnicos de manutenção para detectar as causas das falhas de software.
Fator de qualidade de software de transição de produto
De acordo com o modelo de McCall, três fatores de qualidade de software estão incluídos na categoria de transição de produto que trata da adaptação do software a outros ambientes e sua interação com outros sistemas de software. Esses fatores são os seguintes -
Portabilidade
Os requisitos de portabilidade tendem à adaptação de um sistema de software a outros ambientes que consistem em hardware diferente, sistemas operacionais diferentes e assim por diante. O software deve ser possível para continuar usando o mesmo software básico em diversas situações.
Reutilização
Este fator trata da utilização de módulos de software originalmente projetados para um projeto em um novo projeto de software em desenvolvimento. Também podem permitir que projetos futuros façam uso de um determinado módulo ou grupo de módulos do software desenvolvido atualmente. Espera-se que a reutilização de software economize recursos de desenvolvimento, encurte o período de desenvolvimento e forneça módulos de maior qualidade.
Interoperabilidade
Os requisitos de interoperabilidade se concentram na criação de interfaces com outros sistemas de software ou firmware de outro equipamento. Por exemplo, o firmware do maquinário de produção e o equipamento de teste fazem interface com o software de controle de produção.