Você está na página 1de 61

Qualidade de Software

Valdir SantAna.RA01580/00-5
Sidnei da Silva Padilha.RA03219/00-1
Luiz Ricardo C. Batista.RA 00499/00-4
Andr de Souza Barbosa.RA02783/00-3

Qualidade de Software

Conjunto de caractersticas a serem


satisfeitas em um determinado grau de
modo que o software satisfaa s
necessidades de seus usurios

Usurios de Software

Desenvolvedores

Usurio Final

Suporte

Outra Classe de Usurios

penumbra

O software deve ter caractersticas que


atendam s necessidades de todos os
seus usurios

Controle da Qualidade de Software


conjunto planejado e sistemtico de
todas as aes necessrias para fornecer
uma confiana adequada de que o item
ou produto est de acordo com os
requisitos tcnicos estabelecidos

Qualidade de Software

Qualidade do Processo
Qualidade do Produto

Produto e Processo esto fortemente


relacionados e no podem ser separados
quando se analisa a qualidade

A implantao de um Programa de Qualidade


comea pela definio e implantao de um
processo de desenvolvimento

O processo de desenvolvimento de
software deve estar documentado,
compreendido e seguido

Qualidade do Processo
A qualidade do processo essencial para
se ter qualidade do produto
ISO 9000-3
CMM

ISO 9000-3
Sistema da Qualidade: Estrutura
Responsabilidade do fornecedor
Responsabilidade do comprador
Anlise crtica conjunta

Atividades do Ciclo de Vida

Anlise crtica do contrato


Especificao dos Requisitos do comprador
Planejamento do desenvolvimento
Projeto e implementao
Testes e validao
Aceitao
Cpia, entrega e instalao
Manuteno

ISO 9000-3

Atividades de Apoio
Gerenciamento da configurao
Controle de documentos
Registros da qualidade
Medio
Regras, convenes
Ferramentas e tcnicas
Aquisio
Produto de software includo
Treinamento

Certificao ISO 9000


Demonstra que o Sistema de Qualidade
da Organizao efetivo
Fornece evidncia de que a Organizao
capaz de produzir produtos e servios de
qualidade
No avalia diretamente a qualidade de
nenhum produto ou servio

CMM - Capability Maturity Model


(Modelo de Maturidade de Capacidade)
Motivao: Projetos do Departamento de
Defesa
5 Nveis de Maturidade para o Processo

CMM - Nveis de Maturidade


5. Otimizado

Gerncia de mudanas no processo


Gerncia de mudanas na tecnologia
Preveno de defeitos

4. Gerenciado

Gerncia da qualidade de software


Gerncia quantitativa do processo

3. Definido

Revises
Coordenao entre grupos
Engenharia do produto de software
Gerncia de software integrada
Programa de treinamento
Definio do processo da organizao
Foco no processo da organizao
Gerncia de configurao
Garantia da qualidade de software
Gerncia de contratos de software
Acompanhamento de projetos de software
Planejamento de projetos de software
Gerncia de requisitos

2. Repetvel

1. Inicial

Comparao entre ISO 9000-3 e CMM


ISO 9000-3
identifica os requisitos mnimos para um
Sistema da Qualidade
CMM
tem como filosofia a necessidade de
contnuos aperfeioamentos no processo

Qualidade do Produto
Caractersticas de Qualidade
Tcnicas para Avaliao da Qualidade

Dois tipos de Avaliao

Avaliao ao longo do processo de


desenvolvimento
Avaliao de pacotes

Avaliao ao longo do
Desenvolvimento
qualidade externa
deve estar explicitamente definida
Especificao de Requisitos do Projeto

na

qualidade interna
atributos que so geralmente acrescentados
pela empresa

QUALIDADE
EXTERNA

QUALIDADE
INTERNA

Caractersticas de
Qualidade do Produto
Norma ISO 9126
Caractersticas de Qualidade para
Domnios Especficos
Caractersticas de Qualidade para
Tecnologias Especficas

ISO 9126

Define seis caractersticas de qualidade e


sub-caractersticas associadas a estas
caractersticas

Caracterstica da ISO 9126

FUNCIONALIDADE
Conjunto de atributos que evidenciam a existncia
de um conjunto de funes e suas propriedades
especificadas
Sub-caractersticas:
adequao
acurcia
interoperabilidade
conformidade
segurana de acesso

Caracterstica da ISO 9126

CONFIABILIDADE
conjunto de atributos que evidenciam a
capacidade do software de manter seu nvel
de desempenho sob condies estabelecidas
durante um perodo de tempo estabelecido
Sub-caractersticas:
maturidade
tolerncia a falhas
recuperabilidade

Caracterstica da ISO 9126

USABILIDADE
conjunto de atributos que evidenciam o esforo
necessrio para se poder utilizar o software, bem
como o julgamento individual deste uso, por um
conjunto explcito ou implcito de usurios
Sub-caractersticas:
inteligibilidade
apreensibilidade
operacionalidade

Caracterstica da ISO 9126

EFICINCIA
conjunto de atributos que evidenciam o
relacionamento entre o nvel de desempenho do
software e a quantidade de recursos usados, sob
condies estabelecidas
Sub-caractersticas:
comportamento em relao ao tempo
comportamento em relao aos recursos

Caracterstica da ISO 9126

MANUTENIBILIDADE
conjunto de atributos que evidenciam o
esforo necessrio para fazer modificaes
especificadas no software
Sub-caractersticas:
analisabilidade
modificabilidade
estabilidade
testabilidade

Caracterstica da ISO 9126

PORTABILIDADE
conjunto de atributos que evidenciam a
capacidade do software ser transferido de um
ambiente para outro
Sub-caractersticas:
adaptabilidade
capacidade para ser instalado
conformidade
capacidade para substituir

Necessidades explcitas
ou implcitas
Requisitos
Gerenciais
ISO 9126/NBR13596 e outras
informaes tcnicas
Especificao dos

Definio dos
requisitos de
qualidade

Requisitos de Qualidade

Seleo de
Mtricas

Definio do
nvel de
pontuao

Definio dos
critrios de
julgamento

Produtos/Prod.
Desenvolvimento intermedirios
de software
Valor medido
Medio

Pontuao

Nvel de
pontuao

Julgamento

Resultado
(aceitvel ou inaceitvel)

Modelo de Processo de Avaliao

Avaliao de pacotes

ISO-12119
estabelece requisitos de qualidade
mostra como testar

Definies

FATOR (CARACTERSTICA) DE QUALIDADE


atributo de software que contribui para a sua qualidade
orientado ao usurio (o que o usurio espera encontrar no
produto)

MTRICA DE QUALIDADE
funo cuja entrada so dados do software e cuja sada
um valor que pode ser interpretado como o grau em que o
software possui um dado atributo que afeta sua qualidade

ENTENDER

RAZES PARA
MEDIR SOFTWARE

PREDIZER

CONTROLAR

Quando voc pode medir o que voc est


falando, e express-lo em nmeros, voc
conhece alguma coisa sobre ele; quando voc
no pode express-lo em nmeros o seu
conhecimento imperfeito
Lord Kelvin

No podemos gerenciar o que


no podemos medir

Mtricas de Software
Utilizadas para permitir a quantificao do grau em que
as caractersticas esto presentes em um determinado
produto de software
mtricas objetivas e subjetivas
mtricas diretas e indiretas
mtricas do produto e do processo
Dificuldades para o uso de mtricas
falta de experimentos para validao
falta de ferramentas de apoio

Caractersticas de Boas Mtricas


CARACTERSTICAS ORGANIZACIONAIS

Aplicao ao processo de software e gerncia do projeto


Alta visibilidade
Consistncia na aplicao
Interesse e apoio da gerncia
Aceitao na organizao
Compatibilidade com a poltica da organizao
Existncia de responsabilidade e controle
Disponibilidade de dados histricos
Correspondncia ao processo de desenvolvimento
Apoio aos objetivos de melhoria do processo
Pacincia

Caractersticas de Boas Mtricas

CARACTERSTICAS TCNICAS

Nmero limitado de mtricas


Facilidade de clculo
Disponibilidade de dados para clculo da mtrica
Preciso da definio
Apoio de ferramentas
Realizao de experimentos

Identificao de Mtricas teis

A prtica de coletar e usar mtricas no validadas no


pode ser aceita como Engenharia de Software
Quando uma mtrica parece promissora, a partir de
resultados de pesquisa, ela deve ser validada pelo uso na
Indstria em projetos de grande escala
O benefcio de uma mtrica no pode ser avaliado de
forma imediata
So necessrios dados histricos para avaliar e refinar
mtricas

Necessidade de Ferramentas

Ferramentas asseguram:
que as medidas sejam consistentes
produtividade na coleta de mtricas

Gerncia da Qualidade de Software

Planejamento da Qualidade
Controle da Qualidade

Para avaliar software so necessrias as seguintes


informaes:
Caractersticas de Qualidade de Interesse

Documentos do Projeto

Informaes sobre o Processo

Tcnicas de Avaliao

Planejamento do Controle da Qualidade


Identificao das caractersticas de qualidade de interesse para
o produto
Definio da importncia de cada caracterstica
Definio de processos de avaliao
Definio de marcos e pontos de controle ao longo do processo
de desenvolvimento

Plano de Controle da Qualidade

Contem a descrio de todos os procedimentos


a serem adotados no projeto
para controle da qualidade de produtos
intermedirios ao longo do desenvolvimento
para avaliao do produto final
Define a equipe de controle da qualidade

Tcnicas para Avaliao da Qualidade

Certificao
Walkthrough
Inspeo
Prova Formal

Testes

Walkthrough e Inspees
OBJETIVOS
detectar erros em qualquer representao do software
verificar se o software sob avaliao atinge os requisitos
assegurar que foram obedecidos normas e padres
assegurar que o software desenvolvido de forma uniforme
tornar o produto gerencivel
treinar a equipe
CARACTERSTICAS
reunio com grupos de 3 a 5 pessoas
envolve preparao prvia reunio
devem durar em torno de 2 horas

Inspeo

semelhante ao walkthrough embora mais


formal
baseada em critrios previamente definidos

Procedimentos para tornar eficaz a reunio


rever o produto e no o desenvolvedor
estabelecer uma agenda e mant-la
limitar o debate
detectar problemas mas no tentar resolv-los na reunio
fazer anotaes
limitar o nmero de participantes
elaborar um conjunto de critrios a serem avaliados
alocar recursos e espao no cronograma para a reunio
treinar revisores
rever revises anteriores

Inspeo por Fases

A avaliao do produto feita atravs de uma


srie de avaliaes parciais que podem ser
realizadas com inspetores individuais ou com
mltiplos inspetores
Cada avaliao parcial tem o objetivo de verificar
se o produto possui uma ou mais propriedades

Prova Formal
OBJETIVO
demonstrar matematicamente a correo de um programa

VANTAGEM
percorrer todos os caminhos de um programa

DESVANTAGEM
dificuldade
ausncia de ferramentas

Modelos de Confiabilidade
avaliam a qualidade do software quando o
trabalho de desenvolvimento est completo
so usados para estimar a taxa de defeitos que
est latente no produto quando este entregue
esta estimativa importante porque:
uma medida objetiva da qualidade do cdigo
pode indicar quando se deve terminar a fase de testes
pode ser usada para planejamento de recursos de
manuteno e suporte

Cleanroom
Processo de desenvolvimento onde se enfatiza a construo correta
do programa
Prioridade 1:
Prevenir falhas em vez de remover falhas
Soluo: verificao formal
Prioridade 2:
Fornecer uma certificao estatstica da qualidade do
software
Soluo:

a medida da qualidade o tempo entre falhas do produto em


unidades de tempo

leva em considerao o crescimento da confiabilidade durante o


teste do sistema

Seleo do Nvel de Avaliao


NVEL

AMBIENTE

PESSOAS

Pequeno dano a Sem risco para


propriedades
pessoas

Dano a proprie- Poucas pesdades


soas mutiladas

ECONOMIA

APLICAO

Perda econmi- Lazer


ca desprezvel
Uso
domstico

Perda econmi- Alarme de


ca significativa
incndio
Controle de
processos
Dano recuper- Risco para
Grande perda
Sistemas
vel ao ambiente vidas humanas econmica
mdicos
Sistemas
financeiros
Dano irrecupe- Muitas pessoas Desastre finan- Controle de
rvel ao ammortas
ceiro
trens
biente
Sistemas
nucleares

Tcnicas de Avaliao
CARACTERSTICA

NVEL D

NVEL C

NVEL B

NVEL A

Teste funcional

+ Inspeo de
documentos

+ Teste de
componentes

+ Prova formal

Confiabilidade

Facilidades da
linguagem de
programao

+ Anlise da
tolerncia a
falhas

+ Modelos de
crescimento da
confiabilidade

+ Prova formal

Usabilidade

Inspeo da
interface com
o usurio

+ Aderncia a
padres de
interface

+ Teste em
laboratrio

+ Modelos
mentais do
usurio

Funcionalidade

Tcnicas de Avaliao
CARACTERSTICA

NVEL D

NVEL C

NVEL B

NVEL A

Eficincia

Medio do
tempo de
execuo

+ Benchmark

+ Anlise da
complexidade de
algortmos

+ Anlise de
desempenho

Manutenibilidade

Inspeo de
documentos

+ Anlise
esttica

+ Anlise do
processo de
desenvolvimento

+ Avaliao da
rastreabilidade

Portatilidade

Anlise da
instalao

+ Aderncia a
normas de
programao

+ Avaliao das
restries do
ambiente

+ Avaliao do
projeto de programas

Eficincia das Tcnicas para a


Deteco e Correo de Erros
ATIVIDADE

EFICINCIA

Revises informais de projeto

25% a 40%

Inspees formais de projeto

45% a 65%

Revises informais de cdigo

20% a 35%

Inspees formais de cdigo

45% a 70%

Teste de unidades

15% a 50%

Teste de integrao

25% a 40%

Teste do sistema

25% a 55%

Beta-teste (< 10 clientes)

24% a 40%

Beta teste (> 1000 clientes)

60% a 85%

Capers Jones, Software defect-removal efficiency,


IEEE Computer, maro 1996

Projeto SEC - Uma Experincia de


Gerncia da Qualidade de Software
QUALIDADE DO PROCESSO
Definio do Processo de Desenvolvimento
Uso do processo na construo da 1a. verso do
SEC
Avaliao do processo
Melhorias no processo para construo das
demais verses

Projeto SEC - Uma Experincia de


Gerncia da Qualidade de Software
QUALIDADE DO PRODUTO
Identificao de caractersticas de qualidade de sistemas especialistas
Definio dos requisitos de qualidade do SEC
Elaborao do Plano de Qualidade
Avaliao da qualidade ao longo do desenvolvimento
walkthrough
inspees
Testes, depurao e refinamentos

Programa Brasileiro de Qualidade e


Produtividade / Software
Diagnstico das Empresas Brasileiras
Indicadores e Metas
Projetos
Eventos

Diagnstico da Qualidade e
Produtividade1997em
Software
- 589 Empresas
Certificao do Sistema da Qualidade
Empresas Certificadas
Todos os setores
Setor de Informtica
Pesquisa da Qualidade em Software
Certificao ISO 9001
Certificao ISO 9002
SW explicitado no escopo certificado

1997
1.788
129
45
36
11
16

Diagnstico da Qualidade e
Produtividade1997em
Software
- 589 Empresas
Conhecimento dos Modelos CMM e SPICE
Categorias
Conhece e usa
Conhece e comea a usar
Conhece mas no usa
No conhece

CMM
No
%
7
20
143
419

1,2
3,4
24,3
71,1

SPICE
No
%
1
7
99
482

0,2
1,2
16,8
81,8

Diagnstico da Qualidade e
Produtividade1997em
Software
- 589 Empresas
Conhecimento de Normas para Qualidade
Categorias
Conhece e usa
Conhece mas no usa
No conhece

ISO 12207

No
32
115
441

%
5,5
19,6
75,0

ISO 9126 ou 12119

No
43
113
443

%
7,3
19,2
73,5

Diagnstico da Qualidade e
Produtividade1997em
Software
- 589 Empresas
Avaliao de Produtos Baseada nas Normas de
Qualidade de Produtos de Software
Categorias
Segundo ISO 9126
Segundo ISO 12119
Auto-Avaliao
Em estudo/Preparando-se
No adota

No de empresas

8
5
177
246
168

1,4
0,8
30,1
41,8
28,5