Qualidade de Software
Álvaro Oliveira1
; Bruno Neves2
1 - antonioalvarooliveira@gmail.com
2- fbrunoneves@gmail.com
UNIVERSIDADE ESTADUAL DO CEARÁ – UECE
PRÓ-REITORIA DE PÓS-GRADUAÇÃO E PESQUISA - PROPGPq
CENTRO DE CIÊNCIAS E TECNOLOGIA – CCT
Mestrado Acadêmico em Ciência da Computação - MACC
Engenharia de Software
Prof. Dr. Paulo Henrique Mendes Maia
Crise de Software
● Foram descobetos no ano de 1960;
● No desenvolvimento de um grande sistema;
● Continuaram a incomodar durante todo o seculo xx.
2
Crise do Software - Problemas
● Cronogramas não observados.
● Projetos abandonados.
● Módulos que não operam corretamente quando combinados.
● Programas que não fazem exatamente o que era esperado.
● Sistemas tão difíceis de usar que são descartados.
● Sistemas que simplesmente param de funcionar.
3
E hoje?
4
Como definir Qualidade?
● Qualidade é um termo que pode ter diferentes interpretações;
● Existem muitas definições de qualidade propostas na literatura com
diferentes pontos de vista;
● Visão popular pode ser diferente do seu uso profissional.
5
Exemplo: Carro
O que um determinado produto
apresenta para considerarmos
que o mesmo tem qualidade?
6
Exemplo: Carro
● Diversos aspectos são levados em conta:
No caso de um automóvel, fatores
como conforto, segurança,
desempenho, beleza e $$ têm
estreita relação com a qualidade.
7
Normas e Modelos para Qualidade
● ISO 9126 - Norma para qualidade de produtos de software
● ISO 12119 - Norma para qualidade de pacotes de software
● ISO 12207 - Processos de ciclo de vida do software.
● NBR ISO 9003:2004 -Diretrizes para aplicação da norma ISO 9001
ao desenvolvimento, fornecimento e manutenção de software.
● CMMI- Capability Maturity Model Integration. Modelo do SEI que
estende o CMM para avaliação de processos de software.
8
Conceito de Qualidade
Segundo a atual norma brasileira sobre o assunto (NBR ISO 8402), qualidade
é:
“A totalidade das características de uma entidade
que lhe confere a capacidade de satisfazer
às necessidades explícitas e implícitas”
9
Qualidade de Software - Motivação
● O principal objetivo da Engenharia de Software (ES) é ajudar a produzir
software de qualidade;
● Empresas que desenvolvem software de qualidade são mais
competitivas;
● Empresas que utilizam software de alta qualidade podem, em geral,
oferecer um melhor serviço a um preço mais competitivo.
10
Definição de 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”
11
Princípios Básicos da Qualidade
12
Redução de custo da
Qualidade
Satisfação do cliente
Controle do projeto
Melhoria continua dos
processos
O que o Cliente Deseja?
● Atendimento aos requisitos especificados
● Defeito zero
● Alto desempenho
● Baixo custo
● Desenvolvimento rápido
● Facilidade de uso
● Eficiência nos serviços associados
● Inovação
13
Gerenciamento da qualidade
● Nível organizacional
○ Framework;
○ Padrões de processos organizacionais;
○ Definir os processos de desenvolvimento de software;
■ Incluindo os requisitos de sistema, projeto e código.
● Nível de projeto
○ Aplicação de processos de qualidades;
○ Saídas conformes aos padrões do projeto;
○ Estabelecimento do plano de qualidade.
14
Plano de qualidade
● Introdução ao produto
● Planos de produto
● Descrições de processo
● Metas de Qualidade
● Riscos e Gerenciamentos de riscos
15
Deve estabelecer as qualidades desejadas para o software e
descrever como elas devem ser avaliadas.
Importante Saber
16
Plano de qualidade, você
deve tentar mantê-los o mais
breve possível.
Garantia X Controle
Qualidade
17
Garantia da Qualidade
● Tenta produzir software com uma baixa taxa de defeitos;
● Natureza proativa (Estar no controle)
● Definição de procedimentos, padrões, treinamentos.
● Gerência e melhoria de processo.
18
Controle da Qualidade
● Evita que produtos defeituosos sejam entregues aos
clientes;
● Natureza reativa (Estar sob controle)
● Objetiva monitoração de processo, e detecção e correção
de defeitos.
● Ex: Inspeções, ensaios e testes.
19
Revisões e Inspeções
● Atividades de controle de qualidade que examinam software e sua
documentação em busca de possíveis erros ou inconformidades com os
padrões previamente escolhidos.
20
Isto envolve:
● Examinar o software:
○ Sua documentação;
○ os registros do processo para descobrir erros e omissões;
○ verificar se os padrões de qualidade foram seguidos
O Processo de Revisão
Divide-se em Três: Atividades pré-revisão, Reunião de Revisão e
Atividades pós-revisão.
21
Inspeções de Programa
● As inspeções de programa são'revisões em pares'em que os membros da
equipe colaboram para encontrar bugs no programa que está sendo
desenvolvido.
● As inspeções podem fazer parte dos processos de verificação e validação
de software.
● Elas complementam os testes.
● Se usa um checklist de erros comuns de programação para ajudar na
busca por bugs.
22
Um checklist de inspeção
23
Medições e métricas
Fonte: Sommerville,9ª Edição
24
99 % é bom?
● Visão Clássica de Qualidade
● Equivale a 3,8 sigma.
O que isso significa?
Supondo que 5 mil cirurgias sejam realizadas num hospital por semana.
50 operações por semana seriam incorretas !
25
99% é bom?
Tabela de Conversão do Nível SIGMA
Porcentagem de Acerto Defeitos por Milhão de
Oportunidades (DPMO)
SIGMA
31% 690.000 1 sigma
69,2% 308.537 2 sigma
93,3% 66.807 3 sigma
99,4% 6.210 4 sigma
99,977% 233 5 sigma
99,99966% 3,4 6 sigma
26
Histórico do Seis SIGMA
Criado em 1980 pela Motorola
Popularizou-se por ser utilizado com sucesso em empresas como a General
Eletric e a Allied Signal.
Sigma é uma letra grega que é usada para representar o desvio padrão da
média. Quanto maior o desvio padrão, maior a imprevisibilidade.
27
O que é o Seis SIGMA?
Conjunto de práticas para otimizar o desempenho dos processos, eliminando
os defeitos e colocando-os em consonância com o padrão da empresa.
Sua escala é usada para medir o nível de qualidade de um processo através
de uma relação entre o número de defeitos por milhão e o nível SIGMA.
O objetivo é chegar próximo de “zero” defeito.
28
Seis SIGMA e o DMAIC
● D - Definir (Define)
○ define-se com precisão o escopo do projeto
● M- Medir (Measure)
○ determina-se a localização ou foco do problema
● A- Analisar (Analyze)
○ determinam-se as causas de cada problema prioritário
● I - Melhorar (Improve)
○ propõem-se, avaliam-se e implementam-se soluções para cada problema prioritário
● C - Controlar (Control)
○ garante-se que o alcance da meta seja mantido no longo prazo
29
O reino perdido
30
Eventos sobre Qualidade de Software
1. International Quality Software Conference - QSIC
2. Simpósio Brasileiro de Qualidade de Software – SBQS
31

Qualidade de software

  • 1.
    Qualidade de Software ÁlvaroOliveira1 ; Bruno Neves2 1 - antonioalvarooliveira@gmail.com 2- fbrunoneves@gmail.com UNIVERSIDADE ESTADUAL DO CEARÁ – UECE PRÓ-REITORIA DE PÓS-GRADUAÇÃO E PESQUISA - PROPGPq CENTRO DE CIÊNCIAS E TECNOLOGIA – CCT Mestrado Acadêmico em Ciência da Computação - MACC Engenharia de Software Prof. Dr. Paulo Henrique Mendes Maia
  • 2.
    Crise de Software ●Foram descobetos no ano de 1960; ● No desenvolvimento de um grande sistema; ● Continuaram a incomodar durante todo o seculo xx. 2
  • 3.
    Crise do Software- Problemas ● Cronogramas não observados. ● Projetos abandonados. ● Módulos que não operam corretamente quando combinados. ● Programas que não fazem exatamente o que era esperado. ● Sistemas tão difíceis de usar que são descartados. ● Sistemas que simplesmente param de funcionar. 3
  • 4.
  • 5.
    Como definir Qualidade? ●Qualidade é um termo que pode ter diferentes interpretações; ● Existem muitas definições de qualidade propostas na literatura com diferentes pontos de vista; ● Visão popular pode ser diferente do seu uso profissional. 5
  • 6.
    Exemplo: Carro O queum determinado produto apresenta para considerarmos que o mesmo tem qualidade? 6
  • 7.
    Exemplo: Carro ● Diversosaspectos são levados em conta: No caso de um automóvel, fatores como conforto, segurança, desempenho, beleza e $$ têm estreita relação com a qualidade. 7
  • 8.
    Normas e Modelospara Qualidade ● ISO 9126 - Norma para qualidade de produtos de software ● ISO 12119 - Norma para qualidade de pacotes de software ● ISO 12207 - Processos de ciclo de vida do software. ● NBR ISO 9003:2004 -Diretrizes para aplicação da norma ISO 9001 ao desenvolvimento, fornecimento e manutenção de software. ● CMMI- Capability Maturity Model Integration. Modelo do SEI que estende o CMM para avaliação de processos de software. 8
  • 9.
    Conceito de Qualidade Segundoa atual norma brasileira sobre o assunto (NBR ISO 8402), qualidade é: “A totalidade das características de uma entidade que lhe confere a capacidade de satisfazer às necessidades explícitas e implícitas” 9
  • 10.
    Qualidade de Software- Motivação ● O principal objetivo da Engenharia de Software (ES) é ajudar a produzir software de qualidade; ● Empresas que desenvolvem software de qualidade são mais competitivas; ● Empresas que utilizam software de alta qualidade podem, em geral, oferecer um melhor serviço a um preço mais competitivo. 10
  • 11.
    Definição de Qualidadede 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” 11
  • 12.
    Princípios Básicos daQualidade 12 Redução de custo da Qualidade Satisfação do cliente Controle do projeto Melhoria continua dos processos
  • 13.
    O que oCliente Deseja? ● Atendimento aos requisitos especificados ● Defeito zero ● Alto desempenho ● Baixo custo ● Desenvolvimento rápido ● Facilidade de uso ● Eficiência nos serviços associados ● Inovação 13
  • 14.
    Gerenciamento da qualidade ●Nível organizacional ○ Framework; ○ Padrões de processos organizacionais; ○ Definir os processos de desenvolvimento de software; ■ Incluindo os requisitos de sistema, projeto e código. ● Nível de projeto ○ Aplicação de processos de qualidades; ○ Saídas conformes aos padrões do projeto; ○ Estabelecimento do plano de qualidade. 14
  • 15.
    Plano de qualidade ●Introdução ao produto ● Planos de produto ● Descrições de processo ● Metas de Qualidade ● Riscos e Gerenciamentos de riscos 15 Deve estabelecer as qualidades desejadas para o software e descrever como elas devem ser avaliadas.
  • 16.
    Importante Saber 16 Plano dequalidade, você deve tentar mantê-los o mais breve possível.
  • 17.
  • 18.
    Garantia da Qualidade ●Tenta produzir software com uma baixa taxa de defeitos; ● Natureza proativa (Estar no controle) ● Definição de procedimentos, padrões, treinamentos. ● Gerência e melhoria de processo. 18
  • 19.
    Controle da Qualidade ●Evita que produtos defeituosos sejam entregues aos clientes; ● Natureza reativa (Estar sob controle) ● Objetiva monitoração de processo, e detecção e correção de defeitos. ● Ex: Inspeções, ensaios e testes. 19
  • 20.
    Revisões e Inspeções ●Atividades de controle de qualidade que examinam software e sua documentação em busca de possíveis erros ou inconformidades com os padrões previamente escolhidos. 20 Isto envolve: ● Examinar o software: ○ Sua documentação; ○ os registros do processo para descobrir erros e omissões; ○ verificar se os padrões de qualidade foram seguidos
  • 21.
    O Processo deRevisão Divide-se em Três: Atividades pré-revisão, Reunião de Revisão e Atividades pós-revisão. 21
  • 22.
    Inspeções de Programa ●As inspeções de programa são'revisões em pares'em que os membros da equipe colaboram para encontrar bugs no programa que está sendo desenvolvido. ● As inspeções podem fazer parte dos processos de verificação e validação de software. ● Elas complementam os testes. ● Se usa um checklist de erros comuns de programação para ajudar na busca por bugs. 22
  • 23.
    Um checklist deinspeção 23
  • 24.
    Medições e métricas Fonte:Sommerville,9ª Edição 24
  • 25.
    99 % ébom? ● Visão Clássica de Qualidade ● Equivale a 3,8 sigma. O que isso significa? Supondo que 5 mil cirurgias sejam realizadas num hospital por semana. 50 operações por semana seriam incorretas ! 25
  • 26.
    99% é bom? Tabelade Conversão do Nível SIGMA Porcentagem de Acerto Defeitos por Milhão de Oportunidades (DPMO) SIGMA 31% 690.000 1 sigma 69,2% 308.537 2 sigma 93,3% 66.807 3 sigma 99,4% 6.210 4 sigma 99,977% 233 5 sigma 99,99966% 3,4 6 sigma 26
  • 27.
    Histórico do SeisSIGMA Criado em 1980 pela Motorola Popularizou-se por ser utilizado com sucesso em empresas como a General Eletric e a Allied Signal. Sigma é uma letra grega que é usada para representar o desvio padrão da média. Quanto maior o desvio padrão, maior a imprevisibilidade. 27
  • 28.
    O que éo Seis SIGMA? Conjunto de práticas para otimizar o desempenho dos processos, eliminando os defeitos e colocando-os em consonância com o padrão da empresa. Sua escala é usada para medir o nível de qualidade de um processo através de uma relação entre o número de defeitos por milhão e o nível SIGMA. O objetivo é chegar próximo de “zero” defeito. 28
  • 29.
    Seis SIGMA eo DMAIC ● D - Definir (Define) ○ define-se com precisão o escopo do projeto ● M- Medir (Measure) ○ determina-se a localização ou foco do problema ● A- Analisar (Analyze) ○ determinam-se as causas de cada problema prioritário ● I - Melhorar (Improve) ○ propõem-se, avaliam-se e implementam-se soluções para cada problema prioritário ● C - Controlar (Control) ○ garante-se que o alcance da meta seja mantido no longo prazo 29
  • 30.
  • 31.
    Eventos sobre Qualidadede Software 1. International Quality Software Conference - QSIC 2. Simpósio Brasileiro de Qualidade de Software – SBQS 31