Qualidade de Produto e de Processo de Software

Diferenças entre Qualidade de Produto e Qualidade de Processo de Software

Processo de SoftwareQualidade de Software pode ser vista como um conjunto de características que devem ser alcançadas em um determinado grau para que o produto atenda as necessidades de seus usuários (Rocha et al.,2001).
A qualidade do produto final é profundamente afetada pela qualidade do processo de desenvolvimento, portanto a qualidade deve ser uma meta a ser alcançada e aprimorada ao longo do processo de software.
Aqui se faz importante definirmos o que vem a ser um produto de software, assim como esclarecermos alguns pontos de um processo de software, vamos lá?

 

 

Produto de Software

Um produto de software compreende os programas e procedimentos de computador e a documentação e dados associados, que foram projetados para serem liberados para o usuário (ISO/IEC 12207-1, 1995).

Da mesma forma como existem diversas interpretações para qualidade de um modo geral, também existem diversas interpretações para qualidade de um produto de software, tais como:

– Boa fabricação.
– Deve durar muito.
– Bom desempenho.
– Adaptável às minhas necessidades específicas
– Fácil de usar.
– Sem defeitos, entre outros.

A especificação de Qualidade de Produto de Software deve ser mais precisa e detalhada. A formalização de Qualidade de Produto de Software pode ser feita usando-se um Modelo de Qualidade de Produto de Software.

Como mesmo as proposições bem sucedidas trazem dificuldades de aplicação, por causa dos muitos aspectos de qualidade oferecidos, surgiu a necessidade de um modelo padronizado. Por essa razão o comitê técnico da ISO/IEC começou a trabalhar para desenvolver o consenso requerido e encorajar a padronização em nível mundial. As primeiras tentativas de padronização surgiram em 1978. Em 1985 foi iniciado o desenvolvimento da Norma Internacional ISO/IEC 9126 – “Information Technology – Software product evaluation – Quality characteristics and guidelines for thei use” – publicada em 1991.

A Norma NBR 13596 é uma tradução da Norma ISO/IEC 9126.
Foi elaborada pela comissão de Estudos de Qualidade de Software do Subcomitê de Software do Comitê de Informática da ABNT – Associação Brasileira de Normas Técnicas e publicada em agosto de 1996. A norma avalia a qualidade de um produto de software através de um conjunto de
características. Essas características são divididas em seis grandes grupos, os quais serão apresentados em um outro post.

Processo de Software

Vejamos algumas definições da palavra processo:

– Um processo é “a maneira pela qual se realiza uma operação, segundo determinadas normas” (dicionário Aurélio)
– Um processo é uma sequência de passos realizados para um dado propósito” (IEEE)
– O processo integra pessoas, ferramentas e procedimentos.
– Processo é o que as pessoas fazem, usando procedimentos, métodos, ferramentas e equipamentos, para transformar matéria prima (entrada) em um produto (saída) que tem valor para o cliente.

Trends Tops - Agregador de Conteudos

Um processo de software pode ser definido como um conjunto de atividades, métodos, práticas e transformações que as pessoas usam para desenvolver e manter o software e os produtos associados (por exemplo:
planos de projeto, documentos, código, casos de teste e manuais de usuário) (IEEE-STD-610).
Um processo de software envolve um grande conjunto de elementos, tais como objetivos organizacionais, políticas, pessoas, comprometimentos, ferramentas, métodos, atividades de apoio e as tarefas da engenharia de software. Para que o processo de software seja eficiente ele precisa ser constantemente avaliado, medido e controlado. Quando as empresas não possuem conhecimento suficiente de todos os elementos do processo, essas atividades de avaliar, medir e controlar ficam difíceis de serem realizadas, nesse caso o processo de software passa a ser descontrolado, sem gerência e até mesmo caótico.
Algumas características de processos de softwares caóticos são (Pressman,2002).

– O processo é improvisado (profissionais e gerentes);
– O processo não é rigorosamente seguido e o cumprimento do mesmo não é controlado;
– O processo é altamente dependente dos profissionais atuais;
– A visão do progresso e da qualidade do processo é baixa;
– A qualidade do produto decorrente do processo é comprometida em função de prazos;
– Quando são impostas datas urgentes para entrega dos produtos, frequentemente, a funcionalidade e a qualidade dos mesmos são comprometidas para atender o cronograma;
– Não existe nenhuma base objetiva para julgar a qualidade do produto ou para resolver problemas de processo ou de produto, portanto, a qualidade do produto é difícil de ser prevista;
– As atividades ligadas à melhoria da qualidade, tais como revisões e testes, frequentemente são encurtadas ou eliminadas quando os projetos ultrapassam o cronograma previsto.

Já quando as coisas caminham bem e o processo é controlado e gerenciado com eficiência o processo passa a ser bom, passa a ser maduro e eficiente, gerando resultados positivos, tais como:

– O processo continua a despeito de problemas inesperados (Robustez).
– Rapidez na produção do sistema (Velocidade).
– O processo é aceito por todos os envolvidos nele (Aceitabilidade).
– Os erros do processo são descobertos antes que resultem em erros no produto (Confiabilidade).
– O processo evolui para atender alterações de necessidades organizacionais (Manutenibilidade).
– O processo é compreendido (usualmente através de documentação e de treinamento), utilizado, vivo e ativo.
– O processo é bem controlado – a fidelidade ao processo é objeto de auditoria e de controle.
– Medidas do produto e do processo são utilizadas.
– Os papéis e responsabilidades no processo estão claros ao longo de todo o projeto e por toda a organização.

 

– A produtividade e a qualidade dos produtos de software resultantes podem ser melhoradas com o tempo através de ganhos consistentes na disciplina obtida pelo uso do processo de software.
– Os gerentes monitoram a qualidade dos produtos de software e a satisfação do cliente.
– Existe uma base quantitativa, objetiva para julgar a qualidade dos produtos e analisar problemas com o produto e o processo.
– As organizações com processo de software de alta qualidade tem esse processo institucionalizado através de políticas, padrões e estruturas organizacionais.
Bom pessoal, acredito que tenha ficado claro que para se alcançar os objetivos de produtividade e qualidade é necessário que o processo de software seja eficiente, definido, gerenciado, medido e controlado

Se achou algum erro nesse post não deixe de nos informar, pois ficaremos muito agradecidos.

Perfil do Autor

Chefe de Redação
Chefe de RedaçãoAnalista de Sistemas
Nome Domingos, formado em Análise e Desenvolvimento de Sistemas, amante da tecnologia e trabalha com desenvolvimento de sites/blogs em wordpress
Cidade: Rio de Janeiro

Chefe de Redação

Nome Domingos, formado em Análise e Desenvolvimento de Sistemas, amante da tecnologia e trabalha com desenvolvimento de sites/blogs em wordpress Cidade: Rio de Janeiro

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

dois × 2 =