Vous êtes sur la page 1sur 21

Qualidade de Software

Engenharia de Software
Fernando Cesar Miranda
verso 1.2 01/05/2013

Qualidade de Software
Definio: Conformidade requisitos

funcionais e de desempenho
explicitamente declarados, a padres de
desenvolvimento claramente
documentados e a caractersticas
implcitas que so esperadas de todo
software profissionalmente desenvolvido.
Requisitos de software <-> Qualidade.
Critrios de desenvolvimento <-> Qualidade.
Requisitos subjetivos.

Garantia da Qualidade de
Software
A garantia da qualidade de software (SQA
Software Quality Assurance) um padro
sistemtico e planejado de aes que so
exigidas para garantir a qualidade de
software.

SQA (Atividades)
Aplicao de mtodos, ferramentas e tcnicas no

desenvolvimento (analistas e projetistas).


Realizao de revises tcnicas formais (FTR Formal
Technical Review).
Atividades de teste de software.
O grau em que padres e procedimentos formais so
aplicados (auditorias).
Controle de mudana (gerenciamento de configurao
de software).
Medio: Mtricas de software.
Anotao e manuteno de registros: procedimentos
para a coleta e disseminao de informaes.

Revises de Software
O trabalho tcnico precisa de reviso pelo

mesmo motivo que os lpis precisam de


borrachas. Errar humano.
Mquina de caf x FTR.

Revises Tcnicas Formais


Descobrir erros de funo, lgica ou

implementao.
Verificar se atende aos requisitos.
Garantir que tenha sido representado de
acordo com os padres.
Obter um software que seja desenvolvido
uniformemente.
Tornar o projeto administrvel.

Revises de Software
Impacto de custo de defeito de software

(IBM/1981):

Erro descoberto na fase de


Projeto

Custo
1

Antes do teste

6,5

Durante o teste

15

Aps lanamento

60 a 100

Ampliao e remoo defeitos. (Pressman 739).

Custos associados
qualidade

Preveno:
5% a 15%.
Controlveis (Investimentos).
Avaliao:
20% a 25%.
No controlveis (Perdas e prejuzos).
Falhas internas e falhas externas:
65% a 70%.
No controlveis (Perdas e prejuzos).

Retorno associado
qualidade
CMM/SEI:

Aumento da produtividade: 35%.


Diminuio dos bugs: 39%.
Retorno financeiro: 5 x 1 (9 x 1).

Mtricas de Qualidade de
Software
DSQI (Design Structure Quality Index):
ndice de qualidade da estrutura do projeto.
Valores:
S1: nmero total de mdulos na arquitetura de

programa.
S2: nmero de mdulos cuja funo correta dependa
de fonte de entrada de dados que que produza dados
a serem usados em outro lugar.
S3: nmero de mdulos cuja funo correta dependa
de processamento anterior.
S4: nmero de itens de BD.
S5: nmero de itens nicos de BD.
S6: nmero de segmentos de BD.
S7: nmero de mdulos com uma nica entrada e
sada.

Mtricas de Qualidade de
Software

DSQI:
D1: Estrutura do programa.
D1 = 1 mtodo formal OU D1 = 0 caso contrrio.
D2: Interdependncia modular:
D2 = 1 (S2 / S1).
D3: Mdulos no dependentes de processamento

anterior:
D3 = 1 (S3 / S1).
D4: Tamanho do BD:
D4 = 1 (S5 / S4).
D5: Compartimentao do BD:
D5 = 1 (S6 / S4).
D6: Caracterstica de entrada/sada modular:
D6 = 1 (S7 / S1).

Mtricas de Qualidade de
Software
DSQI:

DSQI wi Di
i 1

Onde wi o peso relativo de cada item.


DSQI varia de 0 a 1.
Deve ser calculado com intuito de se

obter um baseline.
Mudanas profundas no projeto devem
resultar em um novo clculo de DSQI.

Mtricas de Qualidade de
Software
ndice de Maturidade de Software:

IEEE Standard 982.1 1988


Mt: nmero de mdulos da verso atual.
Fc: nmero de mdulos da verso atual que

foram mudados.
Fa: nmero de mdulos da verso atual que
foram adicionados.
Fd: nmero de mdulos da verso anterior
que foram suprimidos na verso atual.

Mtricas de Qualidade de
Software
ndice de Maturidade de Software:

[ Mt ( Fa Fc Fd )]
SMI
Mt
A medida que SMI se aproxima de 1 o

produto comea a se estabilizar.

Mtricas de Qualidade de
Software
ndice de Maturidade de Software

(Exemplo):
Verso
0

Mt

100

94

95

96

95

Fc

10

Fa

Fd

SMI

0,78

0,86

0,93

0,97

Abordagens Formais SQA


Garantia estatstica de qualidade:
ndice de Defeitos (DI Defect Index)

DI

(i * PLi)
PS

Si
Mi
Ti
PLi w1( ) w2( ) w3( )
Di
Di
Di

Abordagens Formais SQA


Garantia estatstica de qualidade:
ndice de Defeitos (DI Defect Index)
Onde:
Di = nmero total de defeitos descobertos durante o

i-simo passo do processo de engenharia de


software.
Si = nmero de defeitos srios.
Mi = nmero de defeitos moderados.
Ti = nmero de defeitos menos inportantes.
PS = tamanho do produto do i-simo passo.
Wi = fator de peso para os defeitos.

Abordagens Formais SQA


Processo da Sala Limpa (Cleanroom):
A prioridade realizada usando-se uma

verificao matemtica humana (prova de


corretitude) em lugar da depurao do
programa para preparar o software para o
teste de programa.
90% dos defeitos foram encontrados antes
que os primeiros testes fossem realizados,
para projetos de software de 1 KLOC a 50
KLOC.

Confiabilidade de Software
Medidas de confiabilidade e

disponibilidade:
MTBF = MTTF + MTTR
Mean Time Between Failure (MTBF).
Mean Time To Failure (MTTF).
Mean Time To Repeair (MTTR).
Disponibilidade = MTTF / (MTTF + MTTR)

Segurana de Software
a atividade de garantia de qualidade de

software que se concentra na identificao


e avaliao de casualidades em potencial
que possam exercer um impacto negativo
sobre o software e fazer com que todo o
sistema falhe.

Garantindo a qualidade:
Certificao oficial.
Avaliao in house.
Avaliao por terceiros.