You are on page 1of 137

QUALIDADE DE SOFTWARE

Luiz Roberto 2008

1

2

3

4 .

5 .

6 .

7 .

8 .

9 .

10 .

11 .

12 .

13 .

14 .

15 .

16 .

17 .

18 .

19 .

20 .

21 .

22 .

23 .

24 .

25 .

26 .

27 .

28 .

29 .

30 .

31 .

32 .

33 .

34 .

35 .

36 .

37 .

38 .

39 .

40 .

41 .

42

QUALIDADE

Qualidade de Software é um conjunto de atributos que devem ser satisfeitos de modo que o software atenda às necessidades dos usuários.
43

44

45 . um isento de erros não é. prático.O barco tem que ser para duas pessoas. mas também nos implícitos: flexível. seguro e barato. fácil de uso. cuidado! Se um software com muitos erros perde valor para o usuário. de qualidade.. As necessidades do usuário estão nos requisitos explícitos. Mas. necessariamente. rápido..

agenda ou cor de tela. “A ausência de funções necessárias (requisitos declarados) não pode ser compensada por funções auxiliares genéricas não solicitadas. como: calculadora.“Software de qualidade é aquele que não apenas satisfaz as exigências. mas também é implementado a tempo e de acordo com o orçamento”. Um software de qualidade deve encantar o cliente e não somente funcionar direito e não ter erros.” Bill Gates 46 .

buscando dar qualidade ao software • Controle e Medição do processo de desenvolvimento • Técnicas de Garantia da Qualidade • Técnicas de melhoria contínua • Utilização de métodos. padrões e ferramentas 47 .MELHORIA DA QUALIDADE • Projeto realizado dentro de um rigor científico.

48 .

Principais Normas Nacionais/Internacionais na Área de Software NORMA ISO 9126 Características da qualidade de produtos de software Versão brasileira da ISO 9126 Guias para avaliação de produtos de software. baseados na ISO 9126 Características de qualidade de pacotes de software (software de prateleiras) Norma para a qualidade do processo de desenvolvimento de software. NBR 13596 ISO 14598 ISO 12119 ISO 12207 NBR ISO 9001 Modelo para garantia de qualidade em projeto. desenvolvimento. intalação e assistência técnica (processo) 49 .

Não é uma norma ISO. Ainda não é uma norma oficial ISO. mas o processo está em andamento. SPICE ISO 15504 ISO 50 . Projeto da ISO/IEC para avaliação de processo de desenvolvimento de software.Principais Normas Nacionais/Internacionais na Área de Software NORMA CMM Modelo da SEI para avaliação da qualidade do processo de desenvolvimento de software. mas é muito bem aceita no mercado.

GARANTIA DAQUALIDADE Software Quality Assurance (SQA) A garantia da qualidade é um conjunto de atividades que asseguram que todos os esforços serão feitos para garantir que o software tenha a qualidade desejada a partir de: • Minimizar o número de defeitos • Criar mecanismos para controlar o desenvolvimento e manutenção. de forma a preservar prazo e custo • Garantir que o software possa ser “usável” pelo mercado • Melhorar a qualidade de futuras versões 51 .

52 .

International Electrotechnical Commission SPICE .ISO .International Standards Organization IEC .Simulated Program with Integrated Circuits Emphasis 53 .

54 .

55 .

56 .

57 .

58 .

59 .

60 .

61 .

62 .

63 .

 Controle da documentação de software e das mudanças feitas nela. A SQA abrange:  Métodos e ferramentas de análise.  Revisões técnicas formais que são aplicadas durante cada fase de engenharia de software. projeto.Garantia de Qualidade de Software (SQA)  A garantia de qualidade de software é uma atividade que é aplicada ao longo de todo o processo de engenharia de software.  Um procedimento para garantir a adequação aos padrões de desenvolvimento de software.  Mecanismos de medição e divulgação.  Uma estratégia de testes de múltiplas fases. codificação e teste. 64  .

qualidade de software é definida como:  Conformidade a requisitos funcionais e de desempenho explicitamente declarados. a padrões de desenvolvimento claramente documentados e a características implícitas que são esperadas de todo software profissionalmente desenvolvido. Para os nossos propósitos.Garantia de Qualidade de Software (SQA)  Muitas definições de qualidade de software têm sido propostas na literatura.  Esta definição serve para enfatizar três pontos importantes 65 .

66 .

67 .

ESPECIFICAÇÃO 10% NECESSIDADES 10% PROJETO 10% . CODIFICAÇÃO 10% TESTES DE INTEGRAÇÃO TESTES DE MÓDULOS 25% 20% CODIFICAÇÃO (7%) PROJETO (5%) TESTES (15%) ESPECIFICAÇÕES (3%) NECESSIDADES (3%) MANUTENÇÃO (67%) 82% em acertos e manutenção 15% na construção 68 .

% DO TOTAL DOS CUSTOS DO SISTEMA 80 Pessoa s 20 Anos 60 70 80 90 00 Hardware 69 .

70 .

71 .

72 .

73 .

74 .

WALKTHROUGH Recursos Fim previsto do projeto Início do projeto Marcos de revisão t FIGURA REPRESENTATIVA DA TÉCNICA WALKTHROUGH 75 .

76 .

77 .

78 .

Correção. Quanto um programa satisfaz sua especificação.
Confiabilidade. Quanto se pode esperar que um programa realize a função pretendida. Eficiência. Quantidade de recursos e código existentes no programa. Integridade. Acesso não autorizado. Usabilidade. Esforço para operar e interpretar as saídas.. Manutenibilidade. Esforço necessário para localizar um erro. Portabilidade. Esforço necessário para transferir um programa de um ambiente para outro. Interoperabilidade. Esforço necessário para acoplar um sistema a outro. Reusabilidade. Quanto um programa ou módulo pode ser reutilizado em outras aplicações.
79

Flexibilidade. Esforço necessário para modificar um programa.
Testabilidade. Esforço para testar um programa.

80

81

82

83

84 .

85 .

86 .

87 .

88 .

89 .

90 .

Qualidade – Avaliação do usuário 91 .

92 .

Métricas para Software • Métricas para o modelo de análise – Métricas baseadas em função – Métricas de qualidade de especificação • Métricas para o modelo de projeto • Métricas de código fonte • Métricas para teste • Métricas para manutenção 93 .

Avaliar a qualidade do modelo de análise e da correspondente especificação de requisitos. Prever o “tamanho” ou “complexidade” do sistema.Métricas para o Modelo de Análise 1. O tamanho é um indicador do esforço de codificação. 2. integração e teste. 94 .

95 . • Usando dados históricos. • Pontos por função são derivados usando uma relação empírica baseada em medidas de contagem direta de características do software. – Prever o n° de componentes e/ou o n° de linhas de código. o FP pode ser usado para: – Estimar o custo para projetar.Métricas baseadas em função • Métrica ponto por função (ou FP = function points) – Usada para a medir a funcionalidade do sistema. codificar e testar o software. – Prever o número de erros que serão encontrados durante o teste.

Características consideradas no cálculo de FP • Número de entradas externas (EIs) • Número de saídas externas (EOs) • Número de consultas externas (EQs) • Número de arquivos lógicos internos (ILFs) • Número de arquivos de interface externa (EIFs) 96 .

97 .

98 .

99 .

100 .

101 .

• Número de entradas externas (EIs) • Número de saídas externas (EOs) • Número de consultas externas (EQs) • Número de arquivos lógicos internos (ILFs) • Número de arquivos de interface externa (EIFs) 102 .

103 .

104 .

105 .

106 .

107 .

Métricas para Modelo de Projeto OO 108 .

Métricas para Modelo de Projeto OO 109 .

Métricas para Modelo de Projeto OO 110 .

111 .

112 .

113 .

114 .

115 .

Especificam Requisitos Mínimos para Empresas. não Modelos.Série ISO 9000     Voltadas para a gestão e garantia da qualidade. Define Normas. Não impõe Sistemas de 116 .

 117 .Norma ISO 9000-3 Específica para Software  Diretrizes da Concepção à Manutenção  Dividida em três partes principais.

 Atividades  . Descreve as atividades que apoiam as atividades do ciclo de vida.  Atividades   do Ciclo de Vida: de Suporte 118 Determina que deve haver um ciclo de vida. Não determina qual ciclo de vida.Partes principais da ISO 9000-3 :  Estrutura   Descreve Aspectos Organizacionais São detalhadas as responsabilidades e ações que devem ser tomadas em relação a qualidade.

ISO 9000-3  Guia para a aplicação da ISO 9001 para o desenvolvimento. não definindo modelos ou impondo sistemas de qualidade. 119  . fornecimento e manutenção de software. Especifica requisitos mínimos para assegurar a qualidade de produtos e serviços. criado em 1993.

entrega e instalação  manutenção 120 .ISO 9000-3 Atividades do Ciclo de Vida  Agrupa as atividades do ciclo de vida em 9 categorias:  análise crítica do contrato  especificação dos requisitos do comprador  planejamento do desenvolvimento  planejamento da qualidade  projeto e implementação  ensaios e validação  aceitação  cópia.

Introdução    Motivação  Mortalidade dos trabalhos de padronização SPICE (Software Process Improvement and Capability dEtermination) Organização  4 Centros Técnicos  Conselho Administrativo  Organizações privadas e estatais 121 .SPICE (ISO 15504-7) .

SPICE (ISO 15504-7) 122 .

SPICE (ISO 15504-7) 123 .

O que é ?   É um conjunto de documentos Consiste de um framework de avaliação  Facilita o auto-julgamento  Desperta consciência do contexto  Produz um perfil do processo  Direciona a adequação das atividades  Apropriado para organizações de diversos tamanhos 124 .SPICE .

Aplicação    Aplicado para organizações envolvidas com qualquer atividade relacionada ás atividades de computação A Avaliação examina o processo e determina a efetividade deste Resultados podem usados para  Auto-Avaliação  Melhoria do processo 125 .SPICE .

Documentos do SPICE  O SPICE é composto por 9 partes: parte 1: Conceitos e Guia Introdutório parte 2: Modelo de Gerenciamento de Processo parte 3: Avaliação do Processo parte 4: Guia para Condução de uma Avaliação parte 5: Construção. Seleção e Uso das Ferramentas de Avaliação parte 6: Qualificação e Treinamento dos Avaliadores parte 7: Guia para o Processo de Melhoria parte 8: Guia para Orientação da Determinação da Capacidade do Processo parte 9: Dicionários 126 .

Capability Maturity Model Integration (CMMI) Avaliação da Capacidade e Maturidade de uma organização e indica diretrizes para uma melhoria. 127       . Cinco níveis de maturidade definidos. Clientes como o Departament of Defense dos EUA. Influenciou fortemente os que o seguiram. Desenvolvido pelo Software Engineering Institute (SEI) da Carnegie Mellon University. Grande Prestígio.

Padronização de processo 2 Gerido Gestão básica de projeto 1 Realizado 0 Incompleto 128 . A Gestão não atinge metas e objetivos.Níveis de Maturidade CMM Nível 5 Otimizado 4 Quantitativamente gerido 3 Definido Foco Aperfeiçoamento contínuo de processo Gestão quantitativa A melhoria contínua do processo por meio de avaliação quantitativa e da implantação de tecnologias e idéias inovadoras. Gestão Quantitativa de Projeto Desenvolvimento de Requisitos Solução Técnica Integração de Produtos Verificação/Validação Foco do Processo Organizacional Treinamento Organizacional Gestão Integrada de Projeto Gestão Integrada de Fornecedor Gestão de Risco Análise e Resolução de Decisão Ambiente Organizacional para Integração Formação Integrada de Equipe Gestão de Requisitos Planejamento e Controle de Projeto Gestão de nível de serviço Medição e Análise Garantia de Qualidade de Processo e de Produto A Gestão implementada atinge seus objetivos. Áreas de Processo Métricas detalhadas do processo de software e da qualidade.

Norma ISO/IEC 9126-1  Fornece seis características que descrevem com um mínimo de sobreposição a qualidade de software. 129 .

 130 .Gerência de qualidade de projeto – PMBOK  Abordagem: Descrever o processo de Gerência de qualidade de projeto do PMBOK.  Apresentar críticas ao processo.

 Garantia de Qualidade.  Controle de Qualidade.Gerência de qualidade de projeto – PMBOK  Processos: Planejamento de Qualidade.  131 .

1. Planejamento da qualidade  Identificar quais padrões de qualidade são relevantes para o projeto e determinar a forma de satisfazê-los. 132 .

Garantia de Qualidade  Avaliar periodicamente o desempenho geral do projeto buscando assegurar a satisfação dos padrões relevantes de qualidade.2. 133 .

134 . Controle de Qualidade  Monitorar os resultados específicos do projeto para determinar se eles estão de acordo com os padrões de qualidade relevantes e identificar as formas para eliminar as causas de desempenhos insatisfatórios.3.

Gerência de qualidade de projeto – PMBOK    A abordagem da gerência da qualidade descrita é baseada principalmente nos padrões ISO 9000. A ISO 9000 somente indica o controle da não conformidade do produto e recomenda ações preventivas e corretivas. A melhoria contínua do processo não é abordada por ela. 135 . Aconselhado para organizações em busca de certificado.

Objetivos da empresa é muito pouco levado em consideração. Não estabelece processos. É muito limitado na abordagem de produto. somente atividades. 136 .Gerência de qualidade de projeto – PMBOK    Pouco flexível: Não admite adaptação dos aspectos abordados.

 Difusão extensa.Gerência de qualidade de projeto – PMBOK  Quais os aspectos positivos? Norma internacional. caso a organização busque alcançá-la.  Reconhecimento do valor da certificação ISO-9001.  137 .