sexta-feira, 29 de março de 2013

QUALIDADE DE SOFTWARE

Qualidade de software - O que é necessário para um software ser considerado bom?




Um software, programa ou aplicativo é um conjunto de instruções sequenciadas destinadas a algum objetivo em comum.
Há desenvolvedores que criam seus programas sem usar qualquer documentação e outros que seguem o modelo documental e mais outras infinidades de caminhos. Tanto um como o outro podem produzir bons programas ou não. 
A verdade é que para um determinado software ser considerado de qualidade, não basta apenas ter a aprovação do cliente ou satisfazer o cliente. 
Saiba que existem normas de qualidade que aferem justamente esta qualidade, a excelência do software. A busca pela qualidade de software vem da engenharia de software.
Algumas normas existentes como a ISO 9126 e NBR 13596 representam a padronização mundial desejada para os produtos de software. As normas definem a qualidade de software como sendo "a totalidade de características de um produto de software que lhe confere a capacidade de satisfazer necessidades explícitas e implícitas."
Cada tipo de software tem seus próprios requisitos de qualidade. Certamente que um software destinado à área médica, será bem mais exigido em matéria de qualidade do que um software destinado a uma loja de pet shop, por exemplo.

Uma coisinha que li sobre atributos de um software diz respeito às suas funções, quer ver?

Pensemos em um ATRIBUTO OBRIGATÓRIO de um determinado software. A presença daquele atributo não trará a satisfação do usuário, pois já é de se esperar que ele contenha. Entretanto, quer ver um negócio? Ouse deixar o seu software sem um atributo obrigatório... com certeza gerará grande insatisfação do usuário.

Este é o lema: O que fazer para não gerar a insatisfação do usuário? Há muito tempo o homem se dedica a produzir com qualidade. Sei que existe uns xing lings aí no mercado, mas o que satisfaz realmente as pessoas, é a qualidade. Esta qualidade pode ser medida. As características que um software deve atender para ser considerado de fato um software de qualidade são:

FUNCIONALIDADE - ele satisfaz as necessidades? 
A funcionalidade é o que o software faz ou o que ele oferece aos usuários

       Acurácia - O software faz o proposto corretamente?
       Adequação - Propõe-se a fazer o que é apropriado?
       Conformidade - O software está de acordo com as leis?
       Interoperabilidade - O software interage com os sistemas especificados?
       Segurança - Evita acessos indevidos?


CONFIABILIDADE - o sistema é resistente a falhas?
O sistema deve apresentar um resultado preciso e adequado sempre que solicitado, sem perda de dados. 

       Tolerância - O software apresenta qual reação mediante erros?
       Maturidade - Qual frequência ocorre erros?
       Recuperabilidade - O software é capaz de não perder dados em caso de falhas?


USABILIDADE - o sistema é fácil de ser usado?
Este é um conceito muito importante e está diretamente ligado à satisfação do usuário, pois diz respeito à interação que há entre o usuário e o software.

       Intelegibilidade - O software é de fácil entendimento no tocante ao conceito e objetivo?
       Apreensibilidade - O software é simples de se utilizar?
       Operacionalidade - É um sistema fácil de se controlar?


EFICIÊNCIA - é veloz?
A eficiência está ligada aos recursos que o sistema usa e seu aproveitamento.

       Tempo - Qual a velocidade de execução do software?
       Recursos - Quanto recurso o sistema usa?


MANUTENIBILIDADE - é um sistema fácil de modificar ?
Conceito tem a ver com o fato de um sistema permitir ser modificado sem problemas quando encontrado um erro, adequar-se a um novo requisito ou a uma reescrita.

       Analisabilidade - Quando ocorre falha, é facil de encontrar?
       Testabilidade - Permite testes quando alterado?
       Modificabilidade - É fácil se modificar e adaptar?
       Estabilidade - Possui riscos graves ao altera-lo?
       Segurança - Evita acessos indevidos?


PORTABILIDADE - é fácil passa-lo para outro ambiente?
Existe portabilidade quando um determinado programa pode ser transferido  para um outro cenário e continuar funcionando sem erros.

       Adaptabilidade - é facil de adaptar em outros cenários?
       Instabilidade - A reinstalação em outros ambientes é fácil?
       Conformidade - Está conforme padrões de portabilidade?
       Substituibilidade - É fácil usar para substituir outro?


Enfim, as vantagens que um software de qualidade proporciona são facilmente compreendidas: Ele funcionará corretamente, será fácil de usar, possuirá manutenção simples e manterá a integridade dos dados.

Há de se ver o lado do usuário, principal interessado na utilização e no bom funcionamento do produto. O conceito de usabilidade define bem o que o usuário espera, principalmente.

Boas práticas de programação e atenção às características que fazem um produto de software  ser considerado de qualidade devem ser o norte do bom programador.

Bem, vou aqui encerrando mais uma postagem, desta vez mais ligada à área de engenharia de software.

Forte abraço
Fabiano Lopes - sexta feira da Paixão, 29/3/2013, 17:45 

      



       





Nenhum comentário:

Postar um comentário

GOSTOU? NÃO GOSTOU? TEM ALGO IMPORTANTE A ACRESCENTAR?
Comente, seu comentário é importante !