Você está na página 1de 9

Qualidade de

Produto de Software

Prof. Leandro Bento Pompermaier


PUCRS, FACIN
leandro.pompermaier@pucrs.br

3/14/2011

Crenças Crenças
n Mesmo sistemas perfeitos podem falhar n Não se pode esperar que sistemas não contenham
q falhas provocadas por causa exógenas defeitos
n falhas provocadas por mau uso, deliberado ou não q caso um sistema não contenha defeitos não o saberemos
n falhas provocadas por falhas de hardware n muitas vezes podemos saber se módulos têm defeitos ou não
n falhas provocadas por falhas da plataforma de software usada q implica a necessidade de medir o desempenho e avaliar a
n Não é possível antever todas as potenciais causas de corretude durante a execução do sistema
n instrumentação do código
falhas
q exógenas – provocadas por causas externas n As características de fidedignidade não podem ser
q endógenas – provocadas por defeitos no próprio software adicionadas a posteriori
q as características precisam ser especificadas, arquitetadas,
n Algumas falhas poderão ser toleradas projetadas etc. junto com os requisitos funcionais
q desde que os danos possam ser asseguradamente mantidos
q para atingir bons níveis de fidedignidade deve-se
abaixo de um limite estabelecido
n prevenir a inserção de defeitos
n controlar as falhas de causas exógenas
Definições de “qualidade” Modelo da economia da qualidade
n Deming qualidade é a satisfação total do consumidor Custo decorrente de falhas

n Juran qualidade é a adequação ao uso


n Crosby qualidade é a conformidade com os Custo total

requisitos

risco: desenvolvimento correto do problema errado Valor do serviço

n Falconi qualidade é a preferência do consumidor


n NBR 8402/1994 Custo do desenvolvimento

q Totalidade de características de uma entidade que lhe confere a Perda por falta Perda por excesso
de qualidade de qualidade
capacidade de satisfazer as necessidades explícitas e implícitas
C
u
s
t Valor líqüido
o
Qualidade assegurada

Qualidade de Software Qualidade de Processo vs. Qualidade


n A Qualidade de Software é definida por de Produto de Software
[PRESSMAN 2001] como: n Qualidade de Processo: preocupa-se com a
q Conformidade com requisitos funcionais e de qualidade nas etapas de desenvolvimento,
performance explicitamente estabelecidos, ou seja, como se faz o produto
padrões de desenvolvimento explicitamente
n Qualidade de Produto: preocupa-se com os
documentados e características implícitas
inerentes a todo o profissional desenvolvedor de atributos de qualidade do resultado do
software. desenvolvimento de software.

n Pergunta: podemos ter qualidade de produto


sem qualidade de processo? E vice-versa?
3/14/2011 3/14/2011
Teste de Conceitos
Software e
n Fundamentos da Qualidade de SW [PRESSMAN 2001]:
Processo de q Requisitos de software são a base na qual a qualidade é
Desenvolvimento medida. Falta de conformidade com requisitos É falta de
qualidade.
q Padrões especificados definem o conjunto de critérios de
desenvolvimento que guiam a maneira na qual o software
é construído. Se o critério não é seguido, a falta de
qualidade é quase certa.
q Um conjunto de requisitos implícitos são frequentemente
não mencionados (Ex: Facilidade de uso ou manutenção).
Se o SW está de acordo com os requisitos explícitos mas
falha nos implícitos a qualidade do SW é suspeita.

3/14/2011 3/14/2011

Conceitos Conceitos
n Garantia da qualidade de software: n Verificação
q Conjunto de atividades técnicas aplicadas durante q Assegura que o produto atende às especificações
todo o processo de desenvolvimento do produto; q “Estamos construindo certo o produto?”
q O objetivo é garantir que tanto o processo de n Validação
desenvolvimento quanto o produto desenvolvido
atinjam os níveis de qualidade especificados; q Assegura que o produto atende às necessidades
q “Estamos construindo o produto certo?”

3/14/2011 3/14/2011
Para reflexão Teste X Qualidade de SW
n Qual a importância do teste no contexto da n A qualidade não é testável. Se ela não
qualidade de software? existe antes de você começar a testar, ela
n O teste é necessário? não existirá quando o teste estiver
n O teste é suficiente? terminado.
n Por que? n A qualidade é incorporada no SW através
da aplicação de processo de engenharia de
software, tais como:
q Aplicação adequada de métodos e ferramentas;
q Revisões técnicas formais e revisão por pares
efetivas;
q Acompanhamento e gerenciamento sólido;
3/14/2011 3/14/2011

Defeito x Falha x Erro Defeito x Falha x Erro


n Defeito (Fault) faz parte do universo físico, ou n Falha (Failure) só é possível perceber no
seja, sempre é cometido por um indivíduo e universo do usuário. A falha é percebida quando
caracteriza-se por uso incorreto de processo ou o comportamento da aplicação é diferente dos
sintaxe. Por exemplo, uma instrução ou requisitos relatados pelo cliente. A falha é
comando incorreto em uma determinada gerada a partir de um ou vários erros.
linguagem de programação.

3/14/2011 3/14/2011
Defeito x Falha x Erro Tipos de defeito
n Erro (Error) se dá no universo da informação e é n Taxonomia definada por Shull (1998) a partir do padrão
conseqüência de um defeito em um artefato IEEE Std 830-1998 para especificação de requisitos:
de software. Um erro é caracterizado pela Tipo de Defeito Definição
diferença do valor processado e o valor Omissão Informação necessária não incluída
esperado. Dessa forma todo valor que seja
Ambigüidade Informação passível de múltiplas interpretações
diferente do esperado é classificado como erro.
Inconsistência Informações conflitantes

Fato Incorreto Informação que não é verdadeira para as


condições especificadas
Inf. Estranha Informação desnecessária

OBS: De acordo com (Travassos et al., 2001) esta taxonomia também é aplicável
a outros artefatos.

3/14/2011 3/14/2011

Omissão Exemplo de omissão


1. Algum requisito importante relacionado à n Requisitos:
funcionalidade, ao desempenho, às restrições de 1. Livros podem ser emprestados para professores,
projeto, a atributos ou a interface externa não foi funcionários e alunos.
incluído; 2. O prazo de devolução para alunos é de 5 dias.
2. Não está definida a resposta do software para 3. O prazo de devolução para professores é de 10
todas as possíveis situações de entrada de dados; dias.
3. Faltam seções na especificação de requisitos; 4. Dependendo da categoria do livro, o prazo
poderá ser maior.
4. Faltam referências de figuras, tabelas e
diagramas; n Quais os defeitos nestes requisitos?
5. Falta definição de termos e unidades de medida. q Qual o prazo de devolução para funcionários?
q Quais as categorias possíveis?
q Quais os prazos diferenciados para cada
3/14/2011 3/14/2011
categoria?
Ambigüidade Exemplo de ambigüidade
n Um requisito tem várias interpretações n Requisitos:
devido a diferentes termos utilizados para q A multa será cobrada apenas de usuários do tipo
uma mesma característica ou vários aluno e professor.
significados de um mesmo termo para um n Qual o defeito neste requisito?
contexto em particular. n Duas interpretações podem ser tiradas deste
requisito devido ao uso incorreto do “e”:
1. A multa será cobrada tanto de professores quanto
de alunos;
2. A multa será cobrada apenas de professores que
também forem alunos;

3/14/2011 3/14/2011

Inconsistência Fato incorreto


n Dois ou mais requisitos são conflitantes. n Um requisito descreve um fato que não é
n Exemplo de inconsistência: verdadeiro, considerando as condições
q É permitido no máximo 20 renovações de um solicitadas para o sistema.
mesmo livro.
q Alunos podem permanecer com o mesmo livro
por no máximo um semestre.
n Qual o defeito nestes requisitos?
q Inconsistências entre os períodos máximos de
empréstimo nos dois requisitos.

3/14/2011 3/14/2011
Informação estranha Origem dos defeitos
n As informações fornecidas no requisito não n A tradução incorreta de informações entre as
são necessárias ou mesmo usadas. diversas etapas do processo de
desenvolvimento de software é a principal
causa de defeitos em software.
n Quanto mais cedo o defeito for identificado,
menor será o custo de sua correção.
n Solução: Introduzir atividades de VER&VAL
ao longo de todo o processo de
desenvolvimento de software.

3/14/2011 3/14/2011

Verificação e Validação (V&V) Verificação e Validação (V&V)


n É uma abordagem disciplinada para avaliar a n Por que utilizar técnicas de verificação e
qualidade dos produtos de software durante validação?
todo o ciclo de vida do produto. [SWBOK] q Resultados de estudos experimentais evidenciam
n Objetivo: benefícios da utilização destas técnicas no
desenvolvimento de software.
q Assegurar que o software cumpra com suas
especificações e atenda às necessidades dos q A utilização destes métodos na indústria tem
clientes mostrado resultados positivos considerando tanto
produtividade quanto qualidade.
n Constitui um processo em si
n Deve ser contemplado em todo o ciclo de
vida
q Não apenas na etapa após desenvolvimento
3/14/2011 3/14/2011
Alguns fatos sobre VER&VAL Verificação
n Inspeções aumentam significativamente a produtividade, n Avalia se o produto cumpre com:
qualidade e estabilidade dos projetos [FARGAN1976]
n Uma combinação de diferentes técnicas de VER&VAL q Sua especificação
apresenta melhor desempenho do que qualquer método q Requisitos funcionais e não-funcionais
isoladamente [HETZEL1976 e MEYER1978]
q Padrões estabelecidos
n Qualidade melhora a produtividade [MILLS1983]
n Corrigir um defeito após a entrega do produto é
frequentemente 100 vezes mais caro que corrigi-lo
durante as atividades de requisitos e projeto do sistema
[BOEHM e BASILI 2001]
n Testes podem provar a presença de erros, não sua
ausência [DIJKSTRA1970]

3/14/2011 3/14/2011

Validação Meta
n Assegura que o software atende às n É estabelecer a confiança de que o
expectativas do cliente produto é adequado a seu propósito
q Não significa que o produto está livre de
n Importante antecipar a validação dos defeitos
requisitos evitando erros e omissões q Garante que o produto é suficientemente bom
n Pode não esgotar possíveis problemas para o uso pretendido

n Alguns aspectos podem ser identificados n O nível de confiança dependerá:


q Das expectativas do cliente/usuário
apenas durante a implementação
q Do ambiente de mercado para o produto
q Do custo inerente as atividades de V&V

3/14/2011 3/14/2011
Exercício Resultados
n Tempo para Verificação e Validação
n Por favor, reunir-se em grupos de 3 - 5 n Falta de Documentação
pessoas;
n Documentação incompleta
n Debater e listar os principais fatores que
n Falta de Tempo
dificultam, na sua opinião, a realização de
verificação e validação na empresa onde n Falta de interesse/motivação
vocês trabalham / trabalharam (15min); n Falta de padrão e conhecimento
n Discutir os resultados com o grande grupo; n Prazos acordados
n Profissionais Qualificados
n Custos Financeiros
n Requisitos ruins
3/14/2011 n Conteúdo desnecessário

Resultados
n Requisitos deficientes;
n Falta de manutenção e documentação das
alterações de requisitos;
n Falta de planejamento;
n Infra-estrutura deficiente;
n Falta de cultura sobre V&V;

Você também pode gostar