Você está na página 1de 27

Introdução à Qualidade de

Software

Ricardo de Almeida Falbo

Tópicos Especiais – Qualidade de Software


2008/2
Departamento de Informática
Universidade Federal do Espírito Santo
Agenda
 O que é Qualidade?
 O que é Qualidade de Software?
 Qualidade do Produto e do Processo
 Normas e Organismos Normativos
 Qualidade de Software e Processos Relacionados

Tópicos Especiais - Qualidade de Software 2008/2 2


O que é Qualidade?
 O que um determinado produto apresenta para
considerarmos que o mesmo tem qualidade?
Ex.: Carro

 Qualidade é um conceito relativo. Diversos


aspectos são levados em conta. No caso de um
automóvel, fatores como conforto, segurança,
desempenho, beleza e custo têm estreita relação
com a qualidade.

Tópicos Especiais - Qualidade de Software 2008/2 3


O que é Qualidade?
 Qualidade está fortemente relacionada à
conformidade com os requisitos.

 O que é “conformidade em relação a requisitos”?


observado x especificado.
 Pode haver problemas na observação.
 Pode haver problemas na especificação.

Tópicos Especiais - Qualidade de Software 2008/2 4


O que é Qualidade?
 Qualidade diz respeito à satisfação do cliente.

 Requisitos são especificados por pessoas e com o


objetivo de satisfazer outras pessoas.
 Uma especificação depende das escolhas feitas
(clientes alvo).
 Pode haver problemas na especificação.

Tópicos Especiais - Qualidade de Software 2008/2 5


Breve Histórico da Qualidade
 Relatos Históricos de 4.000 anos atrás no Egito.
 Marco Importante: Revolução Industrial
 1920: Controle Estatístico da Produção
 1940: Surgimento de vários organismos ligados
à qualidade
 ASQC (American Society for Quality Control)
 ABNT (Associação Brasileira de Normas Técnicas)
 ISO (International Standardization Organization)
 Ainda década de 1940: Japão destaca-se.
 Década de 1970: Qualidade de Software

Tópicos Especiais - Qualidade de Software 2008/2 6


O que é Qualidade de Software?
 Conferência da NATO (1968) – Crise de Software
 Problemas detectados:
 Cronogramas não observados.
 Projetos abandonados.
 Módulos que não operam corretamente quando
combinados.
 Programas que não fazem exatamente o que era
esperado.
 Sistemas tão difíceis de usar que são descartados.
 Sistemas que simplesmente param de funcionar.

 Passados 40 anos, o que mudou?

Tópicos Especiais - Qualidade de Software 2008/2 7


O que é Qualidade de Software?
 Qualidade em geral:
 é um conceito relativo.
 está fortemente relacionada à conformidade com
requisitos.
 diz respeito à satisfação do cliente.

 Como isso se manifesta em software?

Tópicos Especiais - Qualidade de Software 2008/2 8


Desenvolvimento de Software
 O aspecto não repetitivo do desenvolvimento de
software torna essa atividade difícil e, em boa
medida, imprevisível.

 Delimitar o escopo de um sistema não é trivial.

 A volatilidade dos requisitos é lugar comum no


desenvolvimento de software.

Tópicos Especiais - Qualidade de Software 2008/2 9


Fatores que afetam o
Desenvolvimento de Software e
influenciam a Qualidade
 Tamanho e complexidade do software;
 Número de pessoas envolvidas no projeto;
 Métodos, técnicas e ferramentas utilizadas;
 Custo x benefício do sistema;
 Custos associados à existência de erros;
 Custos associados à detecção e remoção de
erros; etc.

Tópicos Especiais - Qualidade de Software 2008/2 10


O que é Qualidade de Software?

Conjunto de características a serem satisfeitas em


um determinado grau, de modo que o software
satisfaça às necessidades de seus usuários.

Desenvolvedores

Usuários Usuários
Finais Indiretos

Tópicos Especiais - Qualidade de Software 2008/2 11


Qualidade do Produto x
Qualidade do Processo de Software

 Qualidade do produto de software não se atinge


de forma espontânea.

 A qualidade do produto depende fortemente da


qualidade do processo de desenvolvimento.

Tópicos Especiais - Qualidade de Software 2008/2 12


O que é Processo de Software?
 Processos de Software devem estabelecer:
 atividades a serem realizadas durante o processo, sua
estrutura e organização (decomposição e precedência),
incluindo a definição de um modelo de ciclo de vida
quando pertinente (ex.: processo de desenvolvimento);
 artefatos requeridos e produzidos por cada uma das
atividades do processo;
 procedimentos (métodos, técnicas, roteiros e padrões)
a serem adotados na realização das atividades;
 recursos necessários (humanos, hardware e software)
para a realização das atividades.

Tópicos Especiais - Qualidade de Software 2008/2 13


Qualidade do Processo de
Software

 Um bom processo não garante que os produtos


produzidos são de boa qualidade, mas é um
indicativo de que a organização é capaz de
produzir bons produtos.

Tópicos Especiais - Qualidade de Software 2008/2 14


Motivação para a busca da
Qualidade do Processo de Software

 Aumento da qualidade do produto.


 Diminuição do retrabalho.
 Maior produtividade.
 Redução do tempo para atender o mercado (time
to market).
 Maior competitividade.
 Maior precisão nas estimativas.

Tópicos Especiais - Qualidade de Software 2008/2 15


Como definir um processo?
 Apoio de Normas e Modelos de Qualidade de
Processos de Software.

Tópicos Especiais - Qualidade de Software 2008/2 16


Normas e Organismos
Normativos

 Normas internacionais de qualidade são criadas


no trabalho voluntário de especialistas do mundo
todo.
 Essas normas tornaram-se a base para
especificar produtos, organizar o fornecimento
de serviços e até mesmo para a elaboração de
legislação em vários países.

Tópicos Especiais - Qualidade de Software 2008/2 17


Padrões de Facto

 Muitas vezes padrões surgem espontaneamente,


a partir de uma necessidade ou como uma
solução amplamente adotada quando comparada
a outras alternativas.
 Padrões de facto são padrões aplicados na
prática, mas que não foram formalizados como
um regulamento.
 Podem ser criados involuntariamente ou por
razões comerciais.

Tópicos Especiais - Qualidade de Software 2008/2 18


Padrões de Jure

 São criados de maneira formal, regulamentada.


 São escritos seguindo regulamentos e aprovados
por instituições reconhecidas publicamente como
capacitadas para tal (ex., ISO, IEEE etc).

Tópicos Especiais - Qualidade de Software 2008/2 19


Uso de Padrões
 Adequação x Certificação.
 Adequação: deve preceder a certificação e
consiste em colocar em prática, total ou
parcialmente, aquilo que é proposto no padrão.
 Certificação: Envolve a participação de um
organismo ou empresa externa que possa
atestar que a empresa candidata segue
efetivamente o padrão.

Tópicos Especiais - Qualidade de Software 2008/2 20


Qualidade e Processos
Relacionados

Documentação Gerência de Configuração


de Software

Qualidade de Software

Verificação e Validação

Tópicos Especiais - Qualidade de Software 2008/2 21


Qualidade e Processos
Relacionados

Documentação Gerência de Configuração


de Software

Qualidade de Software

Verificação e Validação

Tópicos Especiais - Qualidade de Software 2008/2 22


Documentação e Gerência de
Configuração
 Artefatos registram a evolução do software para
que sejam criadas as bases para o
desenvolvimento, utilização e manutenção
efetivos.
 Artefatos devem retratar fielmente o software,
de modo que as atividades de avaliação e
modificação possam ser realizadas sem maiores
transtornos.
 Artefatos evidenciam a evolução do projeto. Mas
é muito importante registrar modificações que
ocorrem nos mesmos, de modo a se ter um
histórico da evolução, o que é feito por meio da
Gerência de Configuração de Software (GCS).

Tópicos Especiais - Qualidade de Software 2008/2 23


Gerência de Configuração
 Permite manter o controle da evolução dos
artefatos de software, além de ajudar a cumprir
metas de garantia da qualidade.
 Envolve, dentre outros:
 a identificação de itens de configuração de software,
 controle de alterações,
 registro e apresentação da situação dos itens e das
solicitações de alteração,
 garantia da consistência dos itens alterados,
 controle de versão, armazenamento, manipulação e
distribuição de itens.

Tópicos Especiais - Qualidade de Software 2008/2 24


Qualidade e Processos
Relacionados

Documentação Gerência de Configuração


de Software

Qualidade de Software

Verificação e Validação

Tópicos Especiais - Qualidade de Software 2008/2 25


Verificação e Validação
 Verificação: assegurar que o software, ou
determinada função do mesmo, está sendo
desenvolvido corretamente, o que inclui verificar
se os métodos e processos estão sendo aplicados
adequadamente.
 Validação: assegurar que o software que está
sendo desenvolvido é o software correto.

Tópicos Especiais - Qualidade de Software 2008/2 26


Análise Estática e Análise
Dinâmica
 Análise Estática: não envolve a execução
propriamente dita do produto. Pode e deve ser
aplicada em qualquer artefato intermediário.
Ex.: Revisões técnicas, inspeção de código.
 Análise Dinâmica: envolve a execução do
produto. Ex.: Testes.

Tópicos Especiais - Qualidade de Software 2008/2 27

Você também pode gostar