Title: Qualidade de Software Valdir Sant
1Qualidade de SoftwareValdir SantAna.RA01580
/00-5Sidnei da Silva Padilha.RA03219/00-1Luiz
Ricardo C. Batista.RA 00499/00-4André de Souza
Barbosa.RA02783/00-3
2Qualidade 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
3Usuários de Software
Suporte
4Outra Classe de Usuários
penumbra
5(No Transcript)
6Controle 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 -
7Qualidade de Software
- Qualidade do Processo
- Qualidade do Produto
8- Produto e Processo estão fortemente relacionados
e não podem ser separados quando se analisa a
qualidade
9A 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
10Qualidade do Processo
- A qualidade do processo é essencial para se ter
qualidade do produto
11ISO 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
12ISO 9000-3
- 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
13 Certificação ISO 9000
- Demonstra que o Sistema de Qualidade da
Organização é efetivo - Fornece 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
14CMM - Capability Maturity Model (Modelo de
Maturidade de Capacidade)
- Motivação Projetos do Departamento de Defesa
- 5 Níveis de Maturidade para o Processo
15CMM - Níveis de Maturidade
16Comparaçã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
17Qualidade do Produto
- Características de Qualidade
- Técnicas para Avaliação da Qualidade
18Dois tipos de Avaliação
- Avaliação ao longo do processo de
desenvolvimento - Avaliação de pacotes
19Avaliação ao longo do Desenvolvimento
- qualidade externa
- deve estar explicitamente definida na
Especificação de Requisitos do Projeto - qualidade interna
- atributos que são geralmente acrescentados pela
empresa
20QUALIDADE INTERNA
21Características de Qualidade do Produto
- Norma ISO 9126
- Características de Qualidade para Domínios
Específicos - Características de Qualidade para Tecnologias
Específicas
22ISO 9126
- Define seis características de qualidade e
sub-características associadas a estas
características
23Característica da ISO 9126
- FUNCIONALIDADE
- Conjunto 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
24Caracterí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
25Característica da ISO 9126
- USABILIDADE
- conjunto 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
26Característica da ISO 9126
- EFICIÊNCIA
- conjunto 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
27Característica da ISO 9126
- MANUTENIBILIDADE
- conjunto de atributos que evidenciam o esforço
necessário para fazer modificações especificadas
no software - Sub-características
- analisabilidade
- modificabilidade
- estabilidade
- testabilidade
28Característica da ISO 9126
- PORTABILIDADE
- conjunto 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
29Necessidades explícitas
ou implícitas
Requisitos
Gerenciais
ISO 9126/NBR13596 e outras
informações técnicas
Especificação dos
Requisitos de Qualidade
Definição dos
requisitos de
qualidade
Seleção de
Definição do
Definição dos
Métricas
nível de
critérios de
pontuação
julgamento
Produtos/Prod.
Desenvolvimento
intermediários
de software
Valor medido
Medição
Nível de
pontuação
Pontuação
Julgamento
Resultado
(aceitável ou inaceitável)
Modelo de Processo de Avaliação
30Avaliação de pacotes
- ISO-12119
- estabelece requisitos de qualidade
- mostra como testar
31Definiçõ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
32(No Transcript)
33- 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
34- 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
35Caracterí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
36- 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
37Identificaçã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 imediata - São necessários dados históricos para avaliar e
refinar métricas
38 Necessidade de Ferramentas
- Ferramentas asseguram
- que as medidas sejam consistentes
- produtividade na coleta de métricas
39Gerência da Qualidade de Software
-
- Planejamento da Qualidade
- Controle da Qualidade
40Para avaliar software são necessárias as
seguintes informações
Características de Qualidade de
Interesse Documentos do Projeto Informações
sobre o Processo Técnicas de Avaliação
41Planejamento 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
42Plano de Controle da Qualidade
- Contem a descrição de todos os procedimentos a
serem adotados no projeto - para controle da qualidade de produtos
intermediários ao longo do desenvolvimento - para avaliação do produto final
- Define a equipe de controle da qualidade
43Técnicas para Avaliação da Qualidade
- Certificação
- Walkthrough
- Inspeção
- Prova Formal
- Testes
44 Walkthrough e Inspeções
- 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
45Inspeção
- semelhante ao walkthrough embora mais formal
- baseada em critérios previamente definidos
46Procedimentos 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
47Inspeçã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
48Prova Formal
- OBJETIVO
- demonstrar matematicamente a correção de um
programa - VANTAGEM
- percorrer todos os caminhos de um programa
- DESVANTAGEM
- dificuldade
- ausência de ferramentas
49Modelos 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
50Cleanroom
- Processo de desenvolvimento onde se enfatiza a
construção correta do programa - Prioridade 1 Prevenir falhas em vez de remover
falhas - Soluçã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
51Seleção do Nível de Avaliação
52(No Transcript)
53(No Transcript)
54Capers Jones, Software defect-removal
efficiency, IEEE Computer, março 1996
55Projeto SEC - Uma Experiência de Gerência da
Qualidade de Software
- QUALIDADE DO PROCESSO
- Definição do Processo de Desenvolvimento
- Uso do processo na construção da 1a. versão do
SEC - Avaliação do processo
- Melhorias no processo para construção das demais
versões
56Projeto SEC - Uma Experiência de Gerência da
Qualidade de Software
- QUALIDADE DO PRODUTO
- Identificação de características de qualidade de
sistemas especialistas - Definição dos requisitos de qualidade do SEC
- Elaboração do Plano de Qualidade
- Avaliação da qualidade ao longo do
desenvolvimento - walkthrough
- inspeções
- Testes, depuração e refinamentos
57Programa Brasileiro de Qualidade e Produtividade
/ Software
- Diagnóstico das Empresas Brasileiras
- Indicadores e Metas
- Projetos
- Eventos
58Certificação do Sistema da Qualidade
Empresas Certificadas
1997
Todos os setores
1.788
Setor de Informática
129
Pesquisa da Qualidade em Software
45
Certificação ISO 9001
36
Certificação ISO 9002
11
SW explicitado no escopo certificado
16
59(No Transcript)
60(No Transcript)
61Avaliação de Produtos Baseada nas Normas de
Qualidade de Produtos de Software
Categorias
Segundo ISO 9126
Segundo ISO 12119
Auto-Avaliação
Em estudo/Preparando-se
Não adota