apresentacao_qualidadedesoft
-
Upload
adrianoheis2178 -
Category
Documents
-
view
214 -
download
2
description
Transcript of 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
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
Usuários de Software
Usuário Final
Desenvolvedores
Suporte
Outra Classe de Usuários
“penumbra”
O software deve ter características que atendam às necessidades de todos os
seus usuários
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
Qualidade de Software
Qualidade do Processo
Qualidade do Produto
Produto e Processo estão fortemente relacionados e não podem ser separados quando se analisa a qualidade
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
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 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
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
• 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
CMM - Capability Maturity Model(Modelo de Maturidade de Capacidade)
• Motivação: Projetos do Departamento de Defesa
• 5 Níveis de Maturidade para o Processo
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
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
Qualidade do Produto
Características de Qualidade
Técnicas para Avaliação da Qualidade
Dois tipos de Avaliação
Avaliação ao longo do processo de desenvolvimento
Avaliação de pacotes
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
QUALIDADE INTERNA
QUALIDADE EXTERNA
Características de Qualidade do Produto
Norma ISO 9126Características de Qualidade para
Domínios EspecíficosCaracterísticas de Qualidade para
Tecnologias Específicas
ISO 9126
• Define seis características de qualidade e sub-características associadas a estas características
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
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
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
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
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
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
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
Avaliação de pacotes
ISO-12119estabelece requisitos de qualidademostra como testar
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
RAZÕES PARA MEDIR SOFTWARE
ENTENDER
PREDIZER
CONTROLAR
“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
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
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
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
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
Necessidade de Ferramentas
Ferramentas asseguram:• que as medidas sejam consistentes• produtividade na coleta de métricas
Gerência da Qualidade de Software
Planejamento da Qualidade
Controle da Qualidade
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:
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
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
Certificação• Walkthrough• Inspeção• Prova Formal
Testes
Técnicas para Avaliação da Qualidade
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
semelhante ao walkthrough embora mais formal
baseada em critérios previamente definidos
Inspeção
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
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
Prova Formal
OBJETIVOdemonstrar matematicamente a correção de um programa
VANTAGEMpercorrer todos os caminhos de um programa
DESVANTAGEMdificuldade
ausência de ferramentas
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
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
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
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
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
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
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
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
Programa Brasileiro de Qualidade e Produtividade / Software
Diagnóstico das Empresas Brasileiras Indicadores e Metas Projetos Eventos
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
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 %
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 %
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