ISO 9126: um guia para a melhor escolha de um software
Autor: Paulo Vinicius Oliveira Santos - FTI | Publicado: 2011-04-07T17:52:00-07:00

A escolha de um software que seja adequado ao tipo de trabalho dentro de uma companhia não é uma tarefa das mais fáceis. Há muitas variantes a serem analisadas, e uma escolha errada pode resultar em prejuízos para a empresa. Em razão disso, para auxiliar os gerentes de TI a fazerem a melhor escolha, foi criada a norma ISO 9126, que basicamente trata da qualidade de produto de software.


Os componentes deste modelo são o processo de desenvolvimento (refere-se à qualidade do produto de software gerado e é influenciado pela natureza do produto desenvolvido), o produto (compreende os atributos de qualidade do produto [sistema] de software) e a qualidade em uso (aferição da qualidade do software em cada contexto específico de usuário, que é a própria aferição do produto por parte do usuário).


Os atributos de qualidade são melhores vistos na figura abaixo.




Os atributos de qualidade de um software, segundo a ISO 9126.&nbsp;No nível mais alto temos as características de qualidade e nos quadros abaixo as suas sub-características. Cada característica/sub-característica compõe um&nbsp;Atributo de Qualidade&nbsp;do software.Fonte: Wikipedia.



Conforme podemos notar, a&nbsp;Conformidade é uma sub-categoria comum a todas as características de qualidade de um software. Por sua vez, conformidade&nbsp;&nbsp;é utilizada para avaliar o quanto o software obedece aos requisitos de legislação e todo o tipo de padronização ou normalização aplicável ao contexto.
A descrição das demais categorias e sub-categorias são descritas a seguir (Fonte:&nbsp;Wikipedia.).
FuncionalidadeA capacidade de um software prover funcionalidades que satisfaçam o usuário em suas necessidades declaradas e implícitas, dentro de um determinado contexto de uso.Suas sub-características são:Adequação, que mede o quanto o conjunto de funcionalidades é adequado às necessidades do usuário;
Acurácia&nbsp;(ou precisão) representa a capacidade do software de fornecer resultados precisos ou com a precisão dentro do que foi acordado/solicitado;
Interoperabilidade&nbsp;que trata da maneira como o software interage com outro(s) sistema(s) especificados;
Segurança&nbsp;mede a capacidade do sistema de proteger as informações do usuário e fornecê-las apenas (e sempre) às pessoas autorizadas;



ConfiabilidadeO produto se mantém no nível de desempenho nas condições estabelecidas.Suas sub-características são:Maturidade, entendida como sendo a capacidade do software em evitar falhas decorrentes de defeitos no software;
Tolerância a Falhas&nbsp;representando a capacidade do software em manter o funcionamento adequado mesmo quando ocorrem defeitos nele ou nas suas interfaces externas;
Recuperabilidade&nbsp;que foca na capacidade de um software se recuperar após uma falha, restabelecendo seus níveis de desempenho e recuperando os seus dados;
UsabilidadeA capacidade do produto de software ser compreendido, seu funcionamento aprendido, ser operado e ser atraente ao usuário.Note que este conceito é bastante abrangente e se aplica mesmo a programas que não possuem uma interface para o usuário final. Por exemplo, um programa batch executado por uma ferramenta de programação de processos também pode ser avaliado quanto a sua usabilidade, no que diz respeito a ser facilmente compreendido, aprendido, etc. Além disto, a operação de um sistema é uma interface Humano-Computador (ver&nbsp;IHC) sujeita às avaliações de usabilidade.Suas sub-características são:Inteligibilidade&nbsp;que representa a facilidade com que o usuário pode compreender as suas funcionalidades e avaliar se o mesmo pode ser usado para satisfazer as suas necessidades específicas;
Apreensibilidade&nbsp;identifica a facilidade de aprendizado do sistema para os seus potenciais usuários;
Operacionalidade&nbsp;é como o produto facilita a sua operação por parte do usuário, incluindo a maneira como ele tolera erros de operação;
Atratividade&nbsp;envolve características que possam atrair um potencial usuário para o sistema, o que pode incluir desde a adequação das informações prestadas para o usuário até os requintes visuais utilizados na sua interface gráfica;

EficiênciaO tempo de execução e os recursos envolvidos são compatíveis com o nível de desempenho do software.Suas sub-características são:Comportamento em Relação ao Tempo&nbsp;que avalia se os tempos de resposta (ou de processamento) estão dentro das especificações;
Utilização de Recursos&nbsp;que mede tanto os recursos consumidos quanto a capacidade do sistema em utilizar os recursos disponíveis;
Manutenibilidade
A capacidade (ou facilidade) do produto de software ser modificado, incluindo tanto as melhorias ou extensões de funcionalidade quanto as correções de defeitos, falhas ou erros.Suas sub-características são:Analisabilidade&nbsp;identifica a facilidade em se diagnosticar eventuais problemas e identificar as causas das deficiências ou falhas;
Modificabilidade&nbsp;caracteriza a facilidade com que o comportamento do software pode ser modificado;
Estabilidade&nbsp;avalia a capacidade do software de evitar efeitos colaterais decorrentes de modificações introduzidas;
Testabilidade&nbsp;representa a capacidade de se testar o sistema modificado, tanto quanto as novas funcionalidades quanto as não afetadas diretamente pela modificação;
PortabilidadeA capacidade do sistema ser transferido de um ambiente para outro.Como "ambiente", devemos considerar todo os fatores de adaptação, tais como diferentes condições de infra-estrutura (sistemas operacionais, versões de bancos de dados, etc.), diferentes tipos e recursos de hardware (tal como aproveitar um número maior de processadores ou memória). Além destes, fatores como idioma ou a facilidade para se criar ambientes de testes devem ser considerados como características de portabilidade.Suas sub-características são:Adaptabilidade, representando a capacidade do software ser a adaptar a diferentes ambientes sem a necessidade de ações adicionais (configurações);
Capacidade para ser Instalado&nbsp;identifica a facilidade com que pode se instalar o sistema em um novo ambiente;
Coexistência&nbsp;mede o quão facilmente um software convive com outros instalados no mesmo ambiente;
Capacidade para Substituir&nbsp;representa a capacidade que o sistema tem de substituir outro sistema especificado, em um contexto de uso e ambiente específicos. Este atributo interage tanto com&nbsp;adaptabilidade&nbsp;quanto com a&nbsp;capacidade para ser instalado;