Você está na página 1de 4

Qualidade em Construção de Software

Erick Mendonça, Josnei Dias

Departamento de Computação
Universidade Federal de Sergipe (UFS) – São Cristóvão, SE – Brasil
erickmendonca@yahoo.com.br, josneiwaza@gmail.com

Abstract. This paper describes the general concept of quality and expands this
concept to software, product and process quality. We discuss reference
models to software and process quality and certifications for each model.
Finally, it shows the gains of maintaining a software development quality
process.

Resumo. Este artigo descreve o conceito geral de qualidade e expande esse


conceito para qualidade de software, produto e qualidade de processos. São
discutidos modelos de referência para qualidade de software e processos e as
certificações de cada modelo. Finalmente, é mostrado quais os ganhos de se
manter um processo de desenvolvimento de software de qualidade.

Introdução
Construir software é uma das atividades profissionais mais complexas e indispensáveis
para o desenvolvimento humano. Software influencia resultados em todas as outras
atividades: da agricultura à pesquisa em física teórica ou psicologia experimental.
Então é de importância mister que os sistemas eletrônicos sejam construídos com
qualidade.
Entretanto, faz-se necessário definir com exatidão o adjetivo “qualidade”. Quem
aufere e certifica a qualidade de um software? Com base em quais métricas? Afinal, o
que é qualidade?
Qualidade é atender expectativas, suprir a demanda. Em um produto, é atender
todas as especificações e desejos dos usuários, sem falhas. É um conceito relativo, mas
que precisa ser definido e mensurado para ser aplicado em engenharia.

Aspectos da qualidade na vida das pessoas


Qualidade é um conceito que pode ser aplicado, inclusive, na vida pessoal. Definir e
conseguir cumprir metas, prazos e projetos factíveis é um aspecto de qualidade.
Obviamente, é possível alcançar todos os objetivos da “qualidade” sem buscá-la
ativamente. Então, por que dar-se o trabalho?
Alcançar a qualidade sem persegui-la ativamente é ainda mais difícil. Como
saber se o que você está criando, no caso de um produto, tem qualidade? Cada
envolvido no processo terá um ponto de vista sobre a qualidade e, provavelmente, irá
ignorar todos os outros. Para um fornecedor, qualidade é redução de defeitos,
produtividade, rentabilidade; para um contratante de serviços, qualidade é uma seleção
de critérios para acompanhamento, entrega, avaliação e aceitação de projetos e
produtos; para o comprador, qualidade é um produto ou serviço sem falhas e que atenda
às expectativas.

O que é Qualidade de Software?


Aplicar um conceito abstrato como qualidade em software torna-se ainda mais
complicado, caso não sejam feitas definições sobre o que é – realmente – qualidade
de software. Faz-se mister que sejam criadas métricas e conceitos aplicados, que
processos sejam revistos.
Qualidade demanda custo: o software precisa ser analisado constantemente e ser
produzido sobre uma nova égide da qualidade. No entanto, apesar do esforço maior para
tal, software precisa de qualidade para manter-se vivo, para ser competitivo.

Qualidade do Produto X Qualidade do Processo


Para se criar produtos de qualidade, é necessário investir na qualidade do processo de
criação destes produtos, e não em cada um deles isoladamente. Corre-se o risco de
atingir um nível de qualidade em um produto e não nos demais, pois o processo sob
o qual eles foram criados não está bem definido. Com um processo bem definido, é
possível repeti-lo em mais de um produto com bons resultados.

Modelos e Normas para a Qualidade de Software


Existem modelos estabelecidos que podem ser seguidos para auxiliar na criação de
software com qualidade.

O CMMI (Capability Maturity Model Integration) é um modelo de referência


que abrange práticas para auferir maturidade ao processo de desenvolvimento. Pode ser
avaliado em níveis, de 1 a 5, e possui três dimensões como base: pessoas, ferramentas e
procedimentos. O processo reúne essas dimensões na criação de um produto. Possui
ainda modelos de documentos com melhores práticas de aprimoramento dos processos
para emrpesas que: adquirem software (CMMI for Acquisition), desenvolvem software
(CMMI for Development) e provêem serviços (CMMI for Services/People CMM).
O MPS.BR (Melhoria de Processos do Software Brasileiro) é um modelo de
referência semelhante ao CMMI, mas mantido por entidades brasileiras. É tido como
uma boa alternativa a outros métodos, pois possui um custo de certificação menor.
Também é segmentado em níveis, de A a G, e abrange três tipos de organizações: as
que adquirem software; as fábricas de software e as fábricas de teste.
Também existem normas ISO que definem qualidade de software, como a
ISO/IEC 9126. Estabelece três componentes principais: processo, produto e qualidade
em uso. Um produto pode possuir diversos atributos, internos e/ou externos. Apesar de
possuir como um componente o processo, o foco dessa norma ISO é a qualidade do
produto.
Adequação ou certificação em normas de qualidade de software?
Certificar-se utilizando um dos modelos de referência não basta: a certificação possui
um custo atrelado (inclusive de renovação períodica), além de um valor agregado que
será cobrado pelos clientes e usuários. Caso não se tenha o apreço de manter a
continuidade da qualidade do processo, possuir uma certificação pode não trazer tantos
bônus que justifiquem seus ônus. Porém, uma vez a empresa tendo incorporado a
importância de adquirir e manter uma certificação desse tipo, ela poderá servir como
um bem-vindo cartão de visita, que permitirá a ela participar de forma mais competitiva
em meio a mercados mais exigentes.
Adequar o processo de desenvolvimento e trabalho em uma empresa, tendo
como base um ou mais modelos de referência atestados pela comunidade é um trabalho
árduo, mas proveitoso. Produtos e serviços construídos com processos de qualidade
maduros possuem alta chance de serem produtos de qualidade. Depois de adequado o
processo de trabalho, alcançar uma certificação não deve demandar mais tanto esforço e
trará para a empresa um selo de qualidade atestado nacional ou mundialmente. No final
das contas, essa decisão deve estar atrelada ao planejamento estratégico da empresa, que
guiará seus executivos na tomada de decisões sobre custos/retorno sobre os
investimentos feitos, público alvo, perspectivas de crescimento etc.

Considerações Finais
Construir um software de qualidade não é uma ciência exata, mas é um objetivo
plenamente alcançável. Os modelos de referência auxiliam e trazem métricas palpáveis
para o aprimoramento do processo de desenvolvimento de software. Essas métricas
definem as metas e objetivos que devem ser alcançados para se construir um produto de
qualidade e ser certificado como uma produtora de software de qualidade.
Não bastam, porém, apenas guias e métricas. O processo de desenvolvimento de
software possui como principal componente o ser humano e a complexidade do
ambiente no qual está inserido. Faz-se necessário uma manutenção das relações
interpessoais em estado próximo ao ideal, que almeje sempre motivar as pessoas
envolvidas no processo de trabalho, fazendo sempre com que elas se sintam parte
integrante dele e tenham seus anseios e talentos reconhecidos e direcionados em prol do
aprimoramento constante e bom aproveitamento da sinergia inerente ao trabalho em
equipe.

Referências
ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBRISO/IEC9126-
Engenharia de software - Qualidade de produto - Parte 1: Modelo de qualidade.
2003.
WIKIPÉDIA. CMMI. Disponível em: <http://pt.wikipedia.org/wiki/CMMI>. Acesso
em: 01 maio 2011.
WIKIPÉDIA. MPS.BR. Disponível em: <http://pt.wikipedia.org/wiki/MPS.BR>.
Acesso em: 01 maio 2011.
WIKIPÉDIA. Qualidade de Software. Disponível em: <
http://pt.wikipedia.org/wiki/Qualidade_de_software >. Acesso em: 01 maio 2011.
SEI – SOFTWARE ENGINEERING INSTITUTE
http://www.sei.cmu.edu/cmmi/tools/
MPS-BR
http://www.softex.br/mpsbr/_guias/default.asp

Você também pode gostar