A qualidade de software, disciplina da Engenharia de Software desde 1970, é uma necessidade cada vez mais presente na disponibilização de sistemas.

O desenvolvedor de software deve ter o compromisso de realizar procedimentos durante o desenvolvimento que leve a um produto que atenda as necessidades dos stakeholders e também ao processo adotado na construção.

Desta forma, quando falamos em qualidade de software a preocupação está centrada em dois pontos: produto e processo. Produto para que a entrega ao stakeholder atenda às expectativas, tenha facilidade de uso e não apresente erros na execução e, Processo em relação aos recursos utilizados na construção como padronização, boa modularização, estruturas alinhadas com facilidade de compreensão e documentação, garantindo assim a continuidade dos sistemas entregues.

Nesta aula, conheceremos os conceitos, procedimentos e processos de certificação que viabilizam um projeto com qualidade.

O que é Qualidade de Software?

Segundo a NBR ISO 9000:2005, “qualidade é o grau no qual um conjunto de características inerentes satisfaz aos requisitos”. Ou seja, pode-se afirmar que se algum produto ou serviço atende aos requisitos especificados, este mesmo produto ou serviço possui a qualidade desejada.

Segundo Sommerville, o conjunto específico de atributos que se poderia esperar de um sistema de software depende de sua aplicação, mas podem ser generalizados em características essenciais apresentadas na Tabela 1.

Tabela 1: Atributos essenciais de um bom software | Fonte: Sommerville, 2007.

A obtenção da qualidade é obtida a partir do uso de boas práticas e um bom gerenciamento, mas acima de tudo a empresa deve ter uma cultura de qualidade.

No gerenciamento de qualidade de software, Sommerville define três atividades:

Garantia de qualidade: Procedimentos e padrões que conduzem a um software de alta qualidade.

Planejamento de qualidade: Adaptação dos procedimentos e padrões às características do software em desenvolvimento.

Controle de qualidade: Definição e aprovação de processos assegurando o uso pela equipe de desenvolvimento.

Como dito anteriormente, a qualidade está relacionada ao processo e ao produto. A qualidade do processo afeta diretamente a qualidade do produto, pois produto e processo estão fortemente relacionados e não podem ser separados.

Procedimentos e padrões de qualidade bem definidos, quando seguidos, produzirá um produto de qualidade.

A implantação de um Programa de Qualidade começa pela definição e implantação de um processo de desenvolvimento.  Portanto, o processo de desenvolvimento de software deve estar documentado, compreendido e seguido.

Portanto, o gerenciamento de qualidade de processo envolve, segundo Sommerville:

● Definição de padrões de processo, ‘como’ e ‘quando’ as revisões devem ser conduzidas.

● Monitoração do processo de desenvolvimento para assegurar que os padrões estão sendo seguidos.