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.