Your SlideShare is downloading. ×
  • Like
Gerenciamento de Qualidade
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Gerenciamento de Qualidade

  • 6,205 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Muito bom o conteúdo!
    Are you sure you want to
    Your message goes here
  • Estudo
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
6,205
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
271
Comments
2
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Gerenciamento de Qualidade Engenharia de Software 2o. Semestre de 2005 Slide 1
  • 2. Gerenciamento de Qualidade q Gerenciar a qualidade tanto do processo como do produto de software Slide 2
  • 3. Tópicos q Garantia e padrões de qualidade q Planejamento de qualidade q Controle de qualidade q Medição e métricas de software Slide 3
  • 4. Gerenciamento da qualidade de software q Preocupa-se em garantir que o nível exigido de qualidade do produto de software seja atingido q Envolve definir procedimentos e padrões de qualidade que devem ser seguidos q Devem ajudar a desenvolver uma “cultura de qualidade” onde qualidade deve ser vista como responsabilidade de todos. Slide 4
  • 5. O que é qualidade? q Classicamente, a noção de qualidade é a de que o produto desenvolvido deve cumprir com suas especificações q Para sistemas de software, existem problemas: • O desenvolvedor também possui requisitos de qualidade (por ex. facilidade de manutenção) • Alguns requisitos de qualidade são difíceis de serem especificados de forma não ambígua. (Ex. facilidade de manutenção). • Especificações de software são usualmente incompletas e inconsistentes. Slide 5
  • 6. O compromisso com a qualidade q Não se pode esperar por uma especificação perfeita antes de implantar procedimentos de gerenciamento de qualidade. q Deve-se implantar procedimentos para melhorar a qualidade dentro das restrições impostas por uma especificação imperfeita. q O gerenciamento de qualidade não se preocupa somente em reduzir defeitos, se preocupa defeitos também com outras características de qualidade do produto. Slide 6
  • 7. Atividades do gerenciamento de qualidade q Garantia de qualidade • Estabelecer uma estrutura de procedimentos e de padrões organizacionais para qualidade. q Planejamento de qualidade • Seleção e ajustes de procedimentos e de padrões de qualidade para um projeto específico. q Controle de qualidade • Garantir que os procedimentos e padrões estão sendo seguidos pela equipe de desenvolvimento de software. O gerenciamento de qualidade deve ser uma atividade separada do gerenciamento de projeto, de modo que a qualidade não seja comprometida. Slide 7
  • 8. Gerenciamento de qualidade e desenvolvimento de software Processo de desenvolvimento de software Processo de gerenciamento de qualidade Padrões e Plano de Relatórios de revisão procedimentos qualidade De qualidade Slide 8
  • 9. ISO 9000 q Padrão internacional para o gerenciamento de qualidade. q Aplicável a uma gama de organizações, desde a industria de manufatura até as indústrias de serviços. q ISO 9001 é aplicável a organizações que projetam, desenvolvem e dão manutenção a produtos q ISO 9001 é um modelo genérico de um processo de qualidade. Deve ser instanciado por cada organização. Slide 9
  • 10. ISO 9001 – áreas cobertas Responsabilidade de gerenciamento Sistema de qualidade Controle de produto que não estão em Controle de projeto conformidade Manuseio, armazenamento, embalagem e Compras entrega Produtos fornecidos para o comprador Identificação e facilidade de rastreamento do produto Equipamentos de inspeção e teste Status de inspeção e teste Revisão do contrato Ação corretiva Controle de documento Registros de qualidade Auditorias internas de qualidade Treinamento Prestação de serviços Técnicas estatísticas Slide 10
  • 11. Certificação ISO 9000 q Os procedimentos de garantia de qualidade devem ser documentados em um manual de qualidade organizacional q Instituições independentes podem certificar que o processo de qualidade de uma organização, segundo o manual, está em conformidade com a ISSO 9001 q Cada vez mais, os clientes procuram a certificação da ISO 9000 em fornecedores, como indicativo do nível de seriedade com que consideram a qualidade. Slide 11
  • 12. Garantia e padrões de qualidade q Padrões são a chave para gerenciamento de qualidade efetivos. q Podem ser internacionais, nacionais, organizacionais ou padrões de projeto. q Padrões de produto são os padrões que se aplicam ao produto de software em desenvolvimento. Ex: estilo de programação, etc. q Padrões de processo definem os processos a serem seguidos durante o desenvolvimento de software. Ex. definições de especificação, processos de projeto e validação, e documentos que devem ser gerados Slide 12
  • 13. Importância dos padrões q Encapsulam as melhores práticas – evitam a repetição de erros passados. q Infra estrutura para o processo de garantia de qualidade – envolve a verificação de conformidade com os padrões q Ajudam em termos de continuidade – todos os engenheiros de uma organização adotam as mesmas práticas – o esforço de aprendizado é reduzido. Slide 13
  • 14. Padrões de produto e de processo Padrões de produto Padrões de processo Formulário de revisão de projeto Conduta de revisão de projeto Estrutura do documento de requisitos Submissão de documentos a CM (gerenciamento de configuração) Modelo de cabeçalho de procedimento Processo de liberação de versão Estilo de programação em Java Processo de aprovação do plano de projeto Modelo do plano de projeto Processo de controle de mudança Formulário de pedido de mudança Processo de registro de teste Slide 14
  • 15. Qualidade de produto e de processo q A qualidade de um produto desenvolvido é diretamente influenciado pela qualidade do processo de produção. q Particularmente importante em desenvolvimento de software, uma vez que é difícil avaliar atributos de qualidade do produto sem utilizar o software por um período longo. q Contudo, a relação entre a qualidade de processo e do produto em produção é complexa – a modificação do processo nem sempre conduz à melhoria da qualidade. Slide 15
  • 16. Qualidade baseada em processo q Ligação direta entre o processo e produto em produtos manufaturados. q Mais complexo em software pois: • A aplicação de habilidades individuais e experiências é particularmente importante no desenvolvimento de software. • Fatores externos, tais como novidade de uma aplicação ou pressão comercial para a liberação rápida de um produto, podem afetar o produto. Slide 16
  • 17. Qualidade baseada no processo Desenvolva Avalie a qualidade Defina o processo O produto Do produto não sim Melhore o Qualidade Padronize o processo OK? processo Slide 17
  • 18. Atividades de gerenciamento de qualidade de processo q Definição de padrões de processo, como por exemplo: como conduzir revisões, quando devem ocorrer, etc. q Monitorar o processo de desenvolvimento, a fim de assegurar que os padrões estão sendo seguidos. q Relatar o processo de software para a gerência de projeto e para o comprador do software. Slide 18
  • 19. Planejamento de qualidade q Um plano de qualidade deve estabelecer as qualidades desejadas para o produto e como essas qualidades devem ser avaliadas. q Deve definir o processo de garantia de qualidade. q Deve selecionar os padrões organizacionais apropriados a um determinado produto e processo de desenvolvimento e, se necessário, definir novos padrões. Slide 19
  • 20. Estrutura do plano de qualidade q Introdução sobre o produto q Planos para o produto q Descrições de processo q Metas de qualidade q Riscos e gerenciamento dos riscos. Planos de qualidade devem ser documentos sucintos. Slide 20
  • 21. Atributos de qualidade do software Segurança Facilidade de Portabilidade compreensão Proteção Testabilidade Facilidade de uso Confiabilidade Facilidade de Facilidade de adaptação reuso Capacidade de Modularidade Eficiência recuperação Robustez Complexidade Facilidade de aprendizado Slide 21
  • 22. Controle de qualidade q Supervisionar o processo de desenvolvimento de software para garantir que os procedimentos e os padrões de garantia de qualidade seja seguidos. q Duas abordagens para o controle de qualidade • Revisões de qualidade • Avaliação automática de software e medição quantitativa de alguns atributos de software Slide 22
  • 23. Revisões de qualidade q O principal método de validar a qualidade de um processo ou de um produto. q Revisores examinam partes ou todo o processo ou o sistema e sua documentação para encontrar potenciais problemas. q Existem diferentes tipos de revisões com diferentes objetivos • Inspeções para a remoção de defeitos (produto) • Revisões para avaliar o progresso (produto e processo) • Revisões de qualidade (produto e padrões) Slide 23
  • 24. Tipos de revisões Tipo de revisão Objetivo Inspeções de projeto ou programa Detectar erros detalhados nos requisitos, nos projetos ou no código. A revisão deve ser orientada por uma lista de possíveis erros, Revisões de progresso Fornecer informações à gerência sobre o progresso geral do projeto. Essa é uma revisão de processo e de produto, e se preocupa com custos, planos e prazos. Revisões de qualidade Realizar uma análise técnica dos componentes ou da documentação do produto, a fim de encontrar inconsistências entre a especificação e o projeto, código ou documentação dos componentes e garantir que os padrões de qualidade foram seguidos Slide 24
  • 25. Medição e métricas de software q Medição de software se preocupa em obter um valor numérico para alguns atributos de um produto ou de um processo de software. q Permite comparações objetivas entre técnicas e processos. q Algumas organizações introduziram programas de medições, porém o uso sistemático de medições ainda não é comum. q Existem poucos padrões nesta área. Slide 25
  • 26. Métrica de Software q Qualquer tipo de medição que se refira a um sistema de software, processo ou documentação relacionada • Linhas de código em um programa, número de pessoas-dia necessário para desenvolver um componente, número de defeitos relatados em um produto de software fornecido, etc. q Permite que o sofware e o processo de desenvolvimento de software sejam quantificados q Medidas do processo de software ou produto q Podem ser usadas para estimar atributos do produto (métricas preditivas) ou controlar o processo de software (métricas de controle). Slide 26
  • 27. Métricas preditivas e de controle Processo de Produtos de software software Medições de Medições controle preditivas Decisões de gerenciamento Slide 27
  • 28. Suposições para medidas q Uma propriedade do software pode ser medida q Existe um relacionamento entre o que podemos medir e o que queremos saber. q Esse relacionamento pode ser formalizado e validado. Pode ser difícil relacionar o que pode ser medido com os atributos de qualidade desejados. Slide 28
  • 29. Relação entre atributos internos e externos de software Número de parâmetros de procedimento Manutenibilidade Complexidade ciclomática Confiabilidade Tamanho do programa em Linhas de código Portabilidade Número de mensagens de erro Facilidade de uso Extensão do manual do usuário Slide 29
  • 30. O processo de medição q Um processo de medição pode ser parte de um processo de controle de qualidade. q Dados coletados durante esse processo devem ser mantidos como um recurso organizacional (dados históricos) q Uma vez estabelecido um banco de dados de medição, comparações entre projetos podem ser efetuadas e métricas específicas podem ser aprimoradas. Slide 30
  • 31. Métricas de produto q Métricas devem predizer a qualidade do produto q Classes de métricas de produto • Métricas dinâmica – coletadas por medições feitas de um programa em execução • Métricas estáticas – coletadas por medições feitas das representações do sistema (projeto, programa, documentação) Métricas dinâmicas ajudam a avaliar a eficiência e confiabilidade; métricas estáticas ajudam a avaliar a complexidade, facilidade de compreensão e facilidade de manutenção. Slide 31
  • 32. Métricas estáticas e dinâmicas q Métricas dinâmicas estão intimamente relacionadas com os atributos de qualidade do software • É relativamente fácil medir o tempo de resposta de um sistema (atributo de performance) ou número de falhas (atributo de confiabilidade) q Métricas estáticas tem um relacionamento indireto com atributos de qualidade • É preciso derivar um relacionamento entre essas métricas e propriedades como complexidade, legibilidade e facilidade de manutenção. Slide 32
  • 33. Métricas de produto de software Métricas de software Descrição Tamanho do código Medida do tamanho de um programa. Complexidade ciclomática Medida da complexidade de controle de um programa. Pode estar relacionada com a facilidade de compreensão. Fan-in/Fan-out Fan-in - Medida do número de funções que chamam outra função. Fan-out é o número de funções que são chamada pela função. Extensão dos identificadores Mede o comprimento das variáveis. Quanto maior, mais compreensível o programa. Profundidade de declarações Ifs de muita profundidade são condicionais aninhadas de difícil compreensão e levam a erros Slide 33
  • 34. Métricas de software orientado a objetos Métricas de software Descrição Profundidade da árvore de herança Quanto mais profunda, mais complexo é o projeto. Método de Fan-in/Fan-out Idem ao software convencional. Deve- se fazer uma distinção entre as chamadas de outros métodos dentro do objeto e chamadas de métodos externos. Métodos ponderados por classes Número de métodos em uma classe ponderados pela complexidade de cada método. Número de operações sobrepostas Um alto valor para essa métrica indica (overloading) que a superclasse utilizada pode não ser uma classe principal apropriada para a subclasse. Slide 34
  • 35. Análise de medições q A dificuldade está em compreender o que as medidas significam • A análise dos dados coletados é bastante difícil q Profissionais da área de estatística podem oferecer ajuda valiosa. q A Análise dos dados deve levar em conta as circunstâncias locais. Slide 35
  • 36. Melhoria de processo q Entender os processos existentes q Introduzir alterações no processo para atingir objetivos organizacionais que, geralmente, são melhorar a qualidade do produto, reduzir os custos e o tempo de desenvolvimento q A maioria da literatura relacionada a melhoria de processo tem se concentrado na redução de defeitos. Isso reflete a grande preocupação da indústria em relação a qualidade de seus produtos. q Outros atributos do processo podem ser o alvo de melhorias. Slide 36
  • 37. Atributos de processo Características de processo Descrição Facilidade de compreensão Até que ponto o processo está explicitamente definido e com que facilidade de pode compreender a definição do processo? Visibilidade As atividades de processo culminam em resultados nítidos, de modo que o processo do processo seja externamente visível? Facilidade de suporte Até que ponto as atividades do processo podem ser apoiadas por ferramentas CASE? Confiabilidade O processo está projetado de tal maneira que seus erros sejam evitados ou identificados antes que resultem em erros no produto? Robustez O processo pode continuar , mesmo que surjam problemas inesperados? Facilidade de manutenção O processo pode evoluir para refletir melhorias de processo identificadas? Rapidez Com que rapidez pode ser concluído o processo de entrega de um sistema? Slide 37
  • 38. Estágios de melhoria de processo q Análise de processo • Analisar e modelar (quantitativamente, se possível) processos existentes q Identificação de melhoria • Identificar gargalos relativos a qualidade, ao prazo e ao custo q Introdução de mudançã de processo • Modificar o processo para remover os gargalos identificados q Treinamento em mudanças de processo • Treinar o pessoal envolvidos em novas propostas de processo q Ajuste de mudanças • Descobrir pequenos problemas e propor modificações no processo Slide 38
  • 39. Qualidade de processo e de produto q A qualidade de processo e qualidade de produto estão intimamente relacionados q Um bom processo geralmente produz bons produtos q Em algumas classes produtos manufaturados, o processo é o principal determinante da qualidade do produto q Para atividades baseadas em projeto, outros fatores também estão envolvidos, em especial a habilidade dos projetistas. Slide 39
  • 40. Principais fatores da qualidade de produtos de software Tecnologia de desenvolvimento Qualidade do Qualidade do Qualidade do processo produto pessoal Custo, tempo e cronograma Slide 40
  • 41. O Intituto de Engenharia de Software (SEI) q Fundado pelo Dept. de Defesa dos EUA, junto à Universidade Carnegie Mellon q A missão é a transferência de tecnologia de software, para capacitação das organizações que recebem fundos do DoD para grandes projetos de defesa. q Modelo de maturidade foi proposto em meados da década de 80, e refinado no início da década de 90. q O resultado desse trabalho tem tido grande influência na melhoria do processo de software Slide 41
  • 42. O Modelo de Maturidade de Capacitação da SEI Nível 5 Otimização Nível 4 Gerenciado Nível 3 Definido Nível 2 Repetível Nível 1 Inicial Slide 42
  • 43. Níveis do modelo de maturidae q Inicial • Essencialmente não controlado q Repetível • Procedimentos de gerenciamento de produto definidos e usados q Definido • Procedimentos e estratégias de gerenciamento de projeto definidos e usados q Gerenciado • Estratégias de gerenciamento de qualidade definidas e usadas. q Otimização • Estratégias de melhoria do processo definidas e usadas Slide 43
  • 44. Otimização Áreas-chave Gerenciamento da mudança de processo de processo Gerenciamento da mudança de tecnologia Prevenção de defeitos Gerenciado Gerenciamento da qualidade de sotware Gerenciamento do processo quantitativo Definido Revisão por pares Coordenação entre grupos Engenharia de produto de software Gerenciamento de software integrado Programa de Treinamento Definição de processo as organização Foco em processo da organização Repetível Gerenciamento de configuração de software Garantia de qualidade de software Gerenciamento de contrato de software Acompanhamento e supervisão do projeto de software Inicial Planejamento de projeto de software Gerenciamento de requisitos
  • 45. Problemas com o modelo da SEI q O enfoque é em gerenciamento de projeto em vez de gerenciamento de produto q Ignora o uso de tecnologias como por exemplo a prototipação. q Não incorpora a análise de risco como uma área chave de processo. q Não define o seu domínio de aplicabilidade Slide 45
  • 46. CMM e ISO 9000 q Existe uma clara correlação entre os processos chave e o padrão ISO 9000. q O CMM é mais detalhado e prescritivo e inclui uma estrutura de melhoria de processo. q Em geral, as organizações cuja maturidade de processo é classificada no Nível 2 ou 3 provavelmente são compatíveis com a ISO 9000. Slide 46
  • 47. Pontos chave q Gerenciamento de qualidade de software tem como objetivo garantir que o software está de acordo com os padrões propostos. q Procedimentos de garantia de qualidade devem ser documentados em um manual de qualidade organizacional. organizacional q Padrões de software reuni as melhores práticas q Revisão é a abordagem mais utilizada para avaliar a qualidade de software. Slide 47
  • 48. Pontos chave q Medições de software são informações coletadas sobre o processo de software e o produto de software. q Medidas de qualidade do produto devem ser usadas para identificar componentes potencialmente problemáticos. q Não existe um padrão universalmente aceito sobre métricas de software. Slide 48