apresentacao_qualidadedesoft

61
Qualidade de Software Valdir Sant’Ana……….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

description

Qualidade de softare

Transcript of apresentacao_qualidadedesoft

Page 1: apresentacao_qualidadedesoft

Qualidade de Software

Valdir Sant’Ana……….RA01580/00-5Sidnei da Silva Padilha….RA03219/00-1

Luiz Ricardo C. Batista….RA 00499/00-4André de Souza Barbosa….RA02783/00-3

Page 2: apresentacao_qualidadedesoft

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

Page 3: apresentacao_qualidadedesoft

Usuários de Software

Usuário Final

Desenvolvedores

Suporte

Page 4: apresentacao_qualidadedesoft

Outra Classe de Usuários

“penumbra”

Page 5: apresentacao_qualidadedesoft

O software deve ter características que atendam às necessidades de todos os

seus usuários

Page 6: apresentacao_qualidadedesoft

Controle da Qualidade de Software

conjunto planejado e sistemático de todas as ações necessárias para fornecer uma confiança adequada de que o item ou produto está de acordo com os requisitos técnicos estabelecidos

Page 7: apresentacao_qualidadedesoft

Qualidade de Software

Qualidade do Processo

Qualidade do Produto

Page 8: apresentacao_qualidadedesoft

Produto e Processo estão fortemente relacionados e não podem ser separados quando se analisa a qualidade

Page 9: apresentacao_qualidadedesoft

A implantação de um Programa de Qualidade começa pela definição e implantação de um processo de desenvolvimento

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

Page 10: apresentacao_qualidadedesoft

Qualidade do Processo

A qualidade do processo é essencial para se ter qualidade do produto

ISO 9000-3

CMM

Page 11: apresentacao_qualidadedesoft

ISO 9000-3

Sistema da Qualidade: Estrutura Responsabilidade do fornecedor Responsabilidade do comprador Análise crítica conjunta

Atividades do Ciclo de Vida Análise crítica do contrato Especificação dos Requisitos do comprador Planejamento do desenvolvimento Projeto e implementação Testes e validação Aceitação Cópia, entrega e instalação Manutenção

Page 12: apresentacao_qualidadedesoft

Atividades de Apoio Gerenciamento da configuração Controle de documentos Registros da qualidade Medição Regras, convenções Ferramentas e técnicas Aquisição Produto de software incluído Treinamento

ISO 9000-3

Page 13: apresentacao_qualidadedesoft

• Demonstra que o Sistema de Qualidade da Organização é efetivoFornece evidência de que a Organização é

capaz de produzir produtos e serviços de qualidade

Não avalia diretamente a qualidade de nenhum produto ou serviço

Certificação ISO 9000

Page 14: apresentacao_qualidadedesoft

CMM - Capability Maturity Model(Modelo de Maturidade de Capacidade)

• Motivação: Projetos do Departamento de Defesa

• 5 Níveis de Maturidade para o Processo

Page 15: apresentacao_qualidadedesoft

5. Otimizado Gerência de mudanças no processoGerência de mudanças na tecnologiaPrevenção de defeitos

4. Gerenciado Gerência da qualidade de softwareGerência quantitativa do processo

3. Definido RevisõesCoordenação entre gruposEngenharia do produto de softwareGerência de software integradaPrograma de treinamentoDefinição do processo da organizaçãoFoco no processo da organização

2. Repetível Gerência de configuraçãoGarantia da qualidade de softwareGerência de contratos de softwareAcompanhamento de projetos de softwarePlanejamento de projetos de softwareGerência de requisitos

1. Inicial

CMM - Níveis de Maturidade

Page 16: apresentacao_qualidadedesoft

Comparação entre ISO 9000-3 e CMM

ISO 9000-3

• identifica os requisitos mínimos para um Sistema da Qualidade

CMM

• tem como filosofia a necessidade de contínuos aperfeiçoamentos no processo

Page 17: apresentacao_qualidadedesoft

Qualidade do Produto

Características de Qualidade

Técnicas para Avaliação da Qualidade

Page 18: apresentacao_qualidadedesoft

Dois tipos de Avaliação

Avaliação ao longo do processo de desenvolvimento

Avaliação de pacotes

Page 19: apresentacao_qualidadedesoft

Avaliação ao longo do Desenvolvimento

qualidade externadeve estar explicitamente definida na Especificação de Requisitos do Projeto

qualidade internaatributos que são geralmente acrescentados pela empresa

Page 20: apresentacao_qualidadedesoft

QUALIDADE INTERNA

QUALIDADE EXTERNA

Page 21: apresentacao_qualidadedesoft

Características de Qualidade do Produto

Norma ISO 9126Características de Qualidade para

Domínios EspecíficosCaracterísticas de Qualidade para

Tecnologias Específicas

Page 22: apresentacao_qualidadedesoft

ISO 9126

• Define seis características de qualidade e sub-características associadas a estas características

Page 23: apresentacao_qualidadedesoft

Característica da ISO 9126

FUNCIONALIDADEConjunto de atributos que evidenciam a

existência de um conjunto de funções e suas propriedades especificadas

Sub-características:• adequação• acurácia• interoperabilidade• conformidade• segurança de acesso

Page 24: apresentacao_qualidadedesoft

Característica da ISO 9126

CONFIABILIDADE conjunto de atributos que evidenciam a

capacidade do software de manter seu nível de desempenho sob condições estabelecidas durante um período de tempo estabelecido

Sub-características:• maturidade• tolerância a falhas• recuperabilidade

Page 25: apresentacao_qualidadedesoft

Característica da ISO 9126

USABILIDADEconjunto de atributos que evidenciam o esforço

necessário para se poder utilizar o software, bem como o julgamento individual deste uso, por um conjunto explícito ou implícito de usuários

Sub-características:• inteligibilidade• apreensibilidade• operacionalidade

Page 26: apresentacao_qualidadedesoft

Característica da ISO 9126

EFICIÊNCIAconjunto de atributos que evidenciam o

relacionamento entre o nível de desempenho do software e a quantidade de recursos usados, sob condições estabelecidas

Sub-características:• comportamento em relação ao tempo• comportamento em relação aos recursos

Page 27: apresentacao_qualidadedesoft

Característica da ISO 9126

MANUTENIBILIDADEconjunto de atributos que evidenciam o

esforço necessário para fazer modificações especificadas no software

Sub-características:• analisabilidade• modificabilidade• estabilidade• testabilidade

Page 28: apresentacao_qualidadedesoft

Característica da ISO 9126

PORTABILIDADEconjunto de atributos que evidenciam a

capacidade do software ser transferido de um ambiente para outro

Sub-características:• adaptabilidade• capacidade para ser instalado• conformidade• capacidade para substituir

Page 29: apresentacao_qualidadedesoft

Necessidades explícitasou implícitas

RequisitosGerenciais

ISO 9126/NBR13596 e outras informações técnicas

Especificação dos Requisitos de Qualidade

Produtos/Prod. intermediários

Valor medido

Nível de pontuação

Resultado (aceitável ou inaceitável)

Modelo de Processo de Avaliação

Definição dosrequisitos de

qualidade

Desenvolvimentode software

Medição

Seleção deMétricas

Definição donível de

pontuação

Definição doscritérios dejulgamento

Pontuação

Julgamento

Page 30: apresentacao_qualidadedesoft

Avaliação de pacotes

ISO-12119estabelece requisitos de qualidademostra como testar

Page 31: apresentacao_qualidadedesoft

Definições

FATOR (CARACTERÍSTICA) DE QUALIDADE atributo de software que contribui para a sua qualidade orientado ao usuário (o que o usuário espera encontrar no

produto)

MÉTRICA DE QUALIDADE função cuja entrada são dados do software e cuja saída é

um valor que pode ser interpretado como o grau em que o software possui um dado atributo que afeta sua qualidade

Page 32: apresentacao_qualidadedesoft

RAZÕES PARA MEDIR SOFTWARE

ENTENDER

PREDIZER

CONTROLAR

Page 33: apresentacao_qualidadedesoft

“Quando você pode medir o que você está falando, e expressá-lo em números, você conhece alguma coisa sobre ele; quando você não pode expressá-lo em números o seu conhecimento é imperfeito”

Lord Kelvin

Não podemos gerenciar o que não podemos medir

Page 34: apresentacao_qualidadedesoft

Métricas de Software

• Utilizadas para permitir a quantificação do grau em que as características estão presentes em um determinado produto de software métricas objetivas e subjetivas métricas diretas e indiretas métricas do produto e do processo

• Dificuldades para o uso de métricas falta de experimentos para validação falta de ferramentas de apoio

Page 35: apresentacao_qualidadedesoft

Características de Boas Métricas

CARACTERÍSTICAS ORGANIZACIONAIS• Aplicação ao processo de software e à gerência do projeto

• Alta visibilidade

• Consistência na aplicação

• Interesse e apoio da gerência

• Aceitação na organização

• Compatibilidade com a política da organização

• Existência de responsabilidade e controle

• Disponibilidade de dados históricos

• Correspondência ao processo de desenvolvimento

• Apoio aos objetivos de melhoria do processo

• Paciência

Page 36: apresentacao_qualidadedesoft

Características de Boas Métricas

CARACTERÍSTICAS TÉCNICAS• Número limitado de métricas

• Facilidade de cálculo

• Disponibilidade de dados para cálculo da métrica

• Precisão da definição

• Apoio de ferramentas

• Realização de experimentos

Page 37: apresentacao_qualidadedesoft

Identificação de Métricas Úteis

• A prática de coletar e usar métricas não validadas não pode ser aceita como Engenharia de Software

� Quando uma métrica parece promissora, a partir de resultados de pesquisa, ela deve ser validada pelo uso na Indústria em projetos de grande escala

� O benefício de uma métrica não pode ser avaliado de forma imediataSão necessários dados históricos para avaliar e

refinar métricas

Page 38: apresentacao_qualidadedesoft

Necessidade de Ferramentas

Ferramentas asseguram:• que as medidas sejam consistentes• produtividade na coleta de métricas

Page 39: apresentacao_qualidadedesoft

Gerência da Qualidade de Software

Planejamento da Qualidade

Controle da Qualidade

Page 40: apresentacao_qualidadedesoft

Características de Qualidade de Interesse

Documentos do Projeto

Informações sobre o Processo

Técnicas de Avaliação

Para avaliar software são necessárias as seguintes informações:

Page 41: apresentacao_qualidadedesoft

Planejamento do Controle da Qualidade

Identificação das características de qualidade de interesse para o produto

Definição da importância de cada característica

Definição de processos de avaliação

Definição de marcos e pontos de controle ao longo do processo de desenvolvimento

Page 42: apresentacao_qualidadedesoft

Plano de Controle da Qualidade

• Contem a descrição de todos os procedimentos a serem adotados no projetopara controle da qualidade de produtos

intermediários ao longo do desenvolvimentopara avaliação do produto final

� Define a equipe de controle da qualidade

Page 43: apresentacao_qualidadedesoft

Certificação• Walkthrough• Inspeção• Prova Formal

Testes

Técnicas para Avaliação da Qualidade

Page 44: apresentacao_qualidadedesoft

OBJETIVOS detectar erros em qualquer representação do software verificar se o software sob avaliação atinge os requisitos assegurar que foram obedecidos normas e padrões assegurar que o software é desenvolvido de forma uniforme tornar o produto gerenciável treinar a equipe

CARACTERÍSTICAS reunião com grupos de 3 a 5 pessoas envolve preparação prévia à reunião devem durar em torno de 2 horas

Walkthrough e Inspeções

Page 45: apresentacao_qualidadedesoft

semelhante ao walkthrough embora mais formal

baseada em critérios previamente definidos

Inspeção

Page 46: apresentacao_qualidadedesoft

Procedimentos para tornar eficaz a reunião

rever o produto e não o desenvolvedor estabelecer uma agenda e mantê-la limitar o debate detectar problemas mas não tentar resolvê-los na reunião fazer anotações limitar o número de participantes elaborar um conjunto de critérios a serem avaliados alocar recursos e espaço no cronograma para a reunião treinar revisores rever revisões anteriores

Page 47: apresentacao_qualidadedesoft

Inspeção por Fases

A avaliação do produto é feita através de uma série de avaliações parciais que podem ser realizadas com inspetores individuais ou com múltiplos inspetores

Cada avaliação parcial tem o objetivo de verificar se o produto possui uma ou mais propriedades

Page 48: apresentacao_qualidadedesoft

Prova Formal

OBJETIVOdemonstrar matematicamente a correção de um programa

VANTAGEMpercorrer todos os caminhos de um programa

DESVANTAGEMdificuldade

ausência de ferramentas

Page 49: apresentacao_qualidadedesoft

Modelos de Confiabilidade

avaliam a qualidade do software quando o trabalho de desenvolvimento está completo

são 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 código pode indicar quando se deve terminar a fase de testes pode ser usada para planejamento de recursos de

manutenção e suporte

Page 50: apresentacao_qualidadedesoft

CleanroomProcesso de desenvolvimento onde se enfatiza a construção

correta do programa

Prioridade 1: Prevenir falhas em vez de remover falhasSolução: verificação formal

Prioridade 2: Fornecer uma certificação estatística da qualidade do software

Solução: • a medida da qualidade é o tempo entre falhas do produto em

unidades de tempo• leva em consideração o crescimento da confiabilidade

durante o teste do sistema

Page 51: apresentacao_qualidadedesoft

NÍVEL AMBIENTE PESSOAS ECONOMIA APLICAÇÃO

DPequeno dano apropriedades

Sem risco parapessoas

Perda econômi-ca desprezível

LazerUso

doméstico

CDano a proprie-dades

Poucas pes-soas mutiladas

Perda econômi-ca significativa

Alarme deincêndio

Controle deprocessos

BDano recuperá-vel ao ambiente

Risco paravidas humanas

Grande perdaeconômica

Sistemasmédicos

Sistemasfinanceiros

ADano irrecupe-rável ao am-biente

Muitas pessoasmortas

Desastre finan-ceiro

Controle detrens

Sistemasnucleares

Seleção do Nível de Avaliação

Page 52: apresentacao_qualidadedesoft

CARACTERÍSTICA NÍVEL D NÍVEL C NÍVEL B NÍVEL A

FuncionalidadeTeste funcional + Inspeção de

documentos+ Teste decomponentes

+ Prova formal

ConfiabilidadeFacilidades dalinguagem deprogramação

+ Análise datolerância afalhas

+ Modelos decrescimento daconfiabilidade

+ Prova formal

UsabilidadeInspeção dainterface como usuário

+ Aderência apadrões deinterface

+ Teste emlaboratório

+ Modelosmentais dousuário

Técnicas de Avaliação

Page 53: apresentacao_qualidadedesoft

CARACTERÍSTICA NÍVEL D NÍVEL C NÍVEL B NÍVEL A

EficiênciaMedição dotempo deexecução

+ Benchmark + Análise dacomplexidade dealgorítmos

+ Análise dedesempenho

ManutenibilidadeInspeção dedocumentos

+ Análiseestática

+ Análise doprocesso dedesenvolvimento

+ Avaliação darastreabilidade

PortatilidadeAnálise dainstalação

+ Aderência anormas deprogramação

+ Avaliação dasrestrições doambiente

+ Avaliação doprojeto de pro-gramas

Técnicas de Avaliação

Page 54: apresentacao_qualidadedesoft

ATIVIDADE EFICIÊNCIA

Revisões informais de projeto 25% a 40%

Inspeções formais de projeto 45% a 65%

Revisões informais de código 20% a 35%

Inspeções formais de código 45% a 70%

Teste de unidades 15% a 50%

Teste de integração 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, março 1996

Eficiência das Técnicas para a Detecção e Correção de Erros

Page 55: apresentacao_qualidadedesoft

QUALIDADE DO PROCESSODefinição do Processo de DesenvolvimentoUso do processo na construção da 1a. versão do

SECAvaliação do processoMelhorias no processo para construção das

demais versões

Projeto SEC - Uma Experiência de Gerência da Qualidade de Software

Page 56: apresentacao_qualidadedesoft

QUALIDADE DO PRODUTO Identificação de características de qualidade de sistemas

especialistasDefinição dos requisitos de qualidade do SECElaboração do Plano de QualidadeAvaliação da qualidade ao longo do desenvolvimento

• walkthrough• inspeções

Testes, depuração e refinamentos

Projeto SEC - Uma Experiência de Gerência da Qualidade de Software

Page 57: apresentacao_qualidadedesoft

Programa Brasileiro de Qualidade e Produtividade / Software

Diagnóstico das Empresas Brasileiras Indicadores e Metas Projetos Eventos

Page 58: apresentacao_qualidadedesoft

1997 - 589 Empresas

Diagnóstico da Qualidade e Produtividade em Software

Empresas Certificadas 1997Todos os setores 1.788Setor de Informática 129Pesquisa da Qualidade em Software 45 Certificação ISO 9001 36 Certificação ISO 9002 11 SW explicitado no escopo certificado 16

Certificação do Sistema da Qualidade

Page 59: apresentacao_qualidadedesoft

1997 - 589 Empresas

Diagnóstico da Qualidade e Produtividade em Software

Conhecimento dos Modelos CMM e SPICE

Categorias

Conhece e usaConhece e começa a usarConhece mas não usaNão conhece

CMM SPICE

7 1,2 20 3,4143 24,3419 71,1

No % 1 0,2 7 1,2 99 16,8482 81,8

No %

Page 60: apresentacao_qualidadedesoft

1997 - 589 Empresas

Diagnóstico da Qualidade e Produtividade em Software

Conhecimento de Normas para Qualidade

Categorias

Conhece e usaConhece mas não usaNão conhece

ISO 12207 ISO 9126 ou 12119

32 5,5115 19,6441 75,0

No % 43 7,3113 19,2443 73,5

No %

Page 61: apresentacao_qualidadedesoft

1997 - 589 Empresas

Diagnóstico da Qualidade e Produtividade em Software

Avaliação de Produtos Baseada nas Normas de Qualidade de Produtos de Software

CategoriasSegundo ISO 9126Segundo ISO 12119Auto-AvaliaçãoEm estudo/Preparando-se Não adota

8 1,4 No de empresas %

5 0,8 177 30,1 246 41,8 168 28,5