Notícias
Métricas de qualidade de software
Em software, as medições podem ser utilizadas de maneira semelhante. Antes mesmo de o produto existir, determina-se durante a análise de requisitos como deverá funcionar. (KOSCIANSKI, André, SOARES, Michel dos Santos, 2007)
De acordo com (KOSCIANSKI, André, SOARES, Michel dos Santos, 2007), pode-se, por exemplo, estabelecer qual o tempo máximo que o programa poderá demorar para fornecer uma certa resposta. Com base nessa informação, os projetistas e programadores deverão definir os algoritmos mais adequados, a forma de acesso e indexação de arquivos, requisitos de hardware e outros fatores que influenciam o resultado.
Segundo (Boehm,Brown e Lipow, 1976) definem uma árvore de atributos de qualidade de software bem definidos e bem diferenciados (figura 1), onde as direções das setas indicam implicações lógicas. Por exemplo, um programa que é fácil de ser mantido deve também ser facilmente testado, entendido e modificado.
A estrutura de mais alto nível reflete o uso de avaliação da qualidade de software. De acordo com (Boehm,Brown e Lipow, 1976), destacam a aquisição do pacote de software, o qual deve ter as seguintes características de nível médio na estrutura hierárquica: portabilidade, confiabilidade, eficiência, engenharia humana e facilidades de teste, uso e modificação.
Conforme (Davis, A. et al.,1993) também propõem uma lista de características que podem ser usadas para avaliar a qualidade do modelo de análise e da correspondente especificação de requisitos como: falta de ambiguidade, completude, corretude, facilidade de entendimento, verificabilidade, consistência interna e externa, concisão, facilidade de rastreamento, facilidade de modificação, precisão e reusabilidade.
- As Características de qualidade segundo a norma ISO 9126
Funcionalidade
A funcionalidade diz respeito àquilo que o software faz quando solicitado pelo usuário, como, por exemplo: imprimir um relatório, apresentar dados na tela ou registrar uma informação em uma base de dados. (KOSCIANSKI, André, SOARES, Michel dos Santos, 2007)
A característica se refere à capacidade para o cumprimento de tarefas, em outros termos, se uma dada função foi implementada ou não no programa. A maneira como essa função é executada é algo que pode ser avaliado em função de outras características. (KOSCIANSKI, André, SOARES, Michel dos Santos, 2007)
Pode-se dizer que esta característica é idêntica aos “requisitos funcionais” definidas por (Sommerville, 2003): “Os requisitos funcionais para um sistema descrevem a funcionalidade ou os serviços que se espera que o sistema forneça.”
As sub características da Funcionalidade de acordo com (ISSO/IEC 9126-1):
- Adequação: é a capacidade do software de fornecer um grupo de funcionalidades adequadas para tarefas especificas e para os objetivos dos usuários.
- Acurácia: é a capacidade do software fornecer resultados corretos e acordados com os necessário grau de precisão.
- Interoperabilidade: é a capacidade do software de interagir com um ou mais sistemas específicos.
- Segurança: é a capacidade do software de proteger informações e dados, de tal modo que pessoas ou sistema não autorizados não consigam acessá-las. Por outro lado, aqueles que estão autorizados poderão acessar essas informações ou dados.
- Conformidade com a funcionalidade: é a capacidade do software e aderir aos padrões, convenções, regras, regulamentações e leis relacionadas á funcionalidade.
Confiabilidade
Habitualmente, diz que um produto é confiável quando não falha. E em software, sabemos que a ocorrência de falhas é sempre uma possibilidade. (KOSCIANSKI, André, SOARES, Michel dos Santos, 2007)
Em primeiro lugar, como foi feito com a característica “funcionalidade”, aqui também é preciso definir um escopo. De acordo com a ISSO/IEC 9126, a confiabilidade de um programa se traduz com a capacidade de manter um certo nível de desempenho quando operando em um certo contexto de uso.
Segundo (Sommerville, 2003) classifica a confiabilidade entre as subcaracterísticas de confiabilidade por se tratarem de operações que o software é programado para realizar. Assim temos a tolerância a falhas e a recuperabilidade, ou seja, recuperação de falhas.
As sub características da Confiabilidade de acordo com (ISSO/IEC 9126-1):
- Maturidade: é a capacidade do software de evitar falhas decorrentes de falhas de software.
- Tolerância a falhas: é a capacidade do software de manter um nível específico de performance em caso de falhas ou de violações em sua interface específica.
- Recuperabilidade: é a capacidade do software de restabelecer um nível específico de performance em caso de falhas ou violações em sua interface específica.
- Conformidade com a funci0nalidade: é a capacidade do software de aderir a padrões, regras, regulamentações e leis relacionadas à conformidade.
Usabilidade
Usabilidade representa basicamente o quão é fácil usar o produto. (Qualidade de software) esta é provavelmente a característica mais difícil de tratar, tanto durante a definição de requisitos quanto durante os estágios posteriores do ciclo de vida, na verificação e validação do produto. (KOSCIANSKI, André, SOARES, Michel dos Santos, 2007)
As sub características da Usabilidade de acordo com (ISSO/IEC 9126-1):
- Inteligibilidade: é a capacidade do software de permitir ao usuário entender se o programa é amigável e como ele pode ser usado para tarefas particulares e outras condições de uso.
- Apreensibilidade: é a capacidade do software de permitir ao usuário aprender com sua aplicação.
- Operabilidade: é a capacidade do software de permitir o usuário operá-lo e controlá-lo.
- Atratividade: é a capacidade do software de ser atrativo para o usuário.
- Conformidade com a usabilidade: é a capacidade do software de aderir aos padrões, convenções, regras, regulamentações e leis relacionadas à usabilidade.
Eficiência
De acordo com a ISSO/IEC 9126, eficiência é o tempo de execução e os recursos envolvidos são compatíveis com o nível de desempenho do software.
A velocidade de operação de um software pode ser afetada por inúmeros fatores: velocidade da CPU, quantidade de memória cache e memória RAM, desempenho de disco rígido, volume de tráfego de rede, interação com outros softwares e com o sistema operacional, configurações deste último etc. (KOSCIANSKI, André, SOARES, Michel dos Santos, 2007)
As sub características da Eficiência de acordo com (ISSO/IEC 9126-1):
- Comportamento em relação ao tempo: é a capacidade do software de fornecer tempos apropriados de resposta e de processamento, relativos à soma de recursos e sob condições preestabelecidas.
- Comportamento em relação aos recursos: é a capacidade do software de utilizar a soma e os tipos de recurso quando executar suas funcionalidades sob condições preestabelecidas.
- Conformidade com a eficiência: é a capacidade do software de aderir aos padrões, convenções, regras, regulamentações e leis relacionadas á eficiência.
Manutenibilidade
De acordo com a ISSO/IEC 9126, é a capacidade do software ser mantido.
A característica de manutenibilidade esta relacionada à facilidade de modificação de um produto de software. (KOSCIANSKI, André, SOARES, Michel dos Santos, 2007)
Segundo (KOSCIANSKI, André, SOARES, Michel dos Santos, 2007), esta característica é de interesse especialmente para desenvolvedores e não deve ser confundida com a possibilidade de configurar o software. Uma modificação consiste, por exemplo, em uma correção do produto ou da adaptação a mudanças de requisitos, como mudanças de legislação.
As sub características da Manutenibilidade de acordo com (ISSO/IEC 9126-1):
- Analisabilidade: é a capacidade do software de passar por diagnósticos em busca de deficiências ou origens de falhas, ou para a identificação de pares que devem ser alteradas.
- Modificabilidade: é a capacidade do software de permitir que uma alteração específica seja implementada.
- Estabilidade: é a capacidade do software de evitar efeitos inesperados em decorrência de alterações.
- Testabilidade: é a capacidade do software de ser testado após alterações.
- Conformidade com a manutenibilidade: é a capacidade do software de aderir aos padrões, convenções, regras, regulamentações e leis relacionadas à manutenibilidade.
Portabilidade
De acordo com a ISSO/IEC 9126, é a capacidade do software ser transferido de um ambiente para outro.
A palavra “portabilidade” é utilizada geralmente para indicar a possibilidade de um código-fonte ser utilizado em diferentes plataformas de execução. Na norma 9126, a definição foi estendida para abranger a idéia de portar aplicações entre organizações diferentes. Em tese, supõe-se que um programa possa, então, ser elaborado para operar em ambientes com características diferentes. (KOSCIANSKI, André, SOARES, Michel dos Santos, 2007)
As sub características da Portabilidade de acordo com (ISSO/IEC 9126-1):
- Adaptabilidade: é a capacidade do software de ser adaptado a ambientes diferentes sem a aplicação de ações ou outros meios que não aqueles previamente estabelecidos.
- Facilidade de instalação: é a capacidade do software de ser instalado num ambiente especifico.
- Coexistência: é a capacidade do software de coexistir com outro software no mesmo ambiente e compartilhar recursos.
- Capacidade para substituir: é a capacidade do software de substituir um outro software no mesmo ambiente para o mesmo propósito.
- Conformidade com a portabilidade: é a capacidade do software de aderir aos padrões, convenções, regras, regulamentações e leis relacionadas à portabilidade.
[Crédito da Imagem: Qualidade de Software – ShutterStock]
Fonte: publicado por Vanessa Gomes em http://www.tiespecialistas.com.br/