gerenciamento de qualidade - unesp

48
Slide 1 Gerenciamento de Qualidade Engenharia de Software 2o. Semestre de 2005 UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA

Upload: others

Post on 16-Oct-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Gerenciamento de Qualidade - Unesp

Slide 1

Gerenciamento de Qualidade

Engenharia de Software

2o. Semestre de 2005

UNIVERSIDADE ESTADUAL PAULISTAINSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA

Page 2: Gerenciamento de Qualidade - Unesp

Slide 2

Gerenciamento de Qualidade

● Gerenciar a qualidade tanto do processo como do produto de software

Page 3: Gerenciamento de Qualidade - Unesp

Slide 3

Tópicos

● Garantia e padrões de qualidade

● Planejamento de qualidade

● Controle de qualidade

● Medição e métricas de software

Page 4: Gerenciamento de Qualidade - Unesp

Slide 4

Gerenciamento da qualidade de software

● Preocupa-se em garantir que o nível exigido de qualidade do produto de software seja atingido

● Envolve definir procedimentos e padrões de qualidade que devem ser seguidos

● Devem ajudar a desenvolver uma “cultura de qualidade” onde qualidade deve ser vista como responsabilidade de todos.

Page 5: Gerenciamento de Qualidade - Unesp

Slide 5

O que é qualidade?

● Classicamente, a noção de qualidade é a de que o produto desenvolvido deve cumprir com suas especificações

● 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.

Page 6: Gerenciamento de Qualidade - Unesp

Slide 6

O compromisso com a qualidade

● Não se pode esperar por uma especificação perfeita antes de implantar procedimentos de gerenciamento de qualidade.

● Deve-se implantar procedimentos para melhorar a qualidade dentro das restrições impostas por uma especificação imperfeita.

● O gerenciamento de qualidade não se preocupa somente em reduzir defeitosreduzir defeitos, se preocupa também com outras características de qualidadeoutras características de qualidadedo produto.

Page 7: Gerenciamento de Qualidade - Unesp

Slide 7

Atividades do gerenciamento de qualidade

● Garantia de qualidade• Estabelecer uma estrutura de procedimentos e de padrões

organizacionais para qualidade.

● Planejamento de qualidade• Seleção e ajustes de procedimentos e de padrões de qualidade para

um projeto específico.

● 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.

Page 8: Gerenciamento de Qualidade - Unesp

Slide 8

Gerenciamento de qualidade e desenvolvimento de software

Processo de desenvolvimento

de software

Processo de gerenciamento de

qualidade

Padrões eprocedimentos

Plano de qualidade

Relatórios de revisãoDe qualidade

Page 9: Gerenciamento de Qualidade - Unesp

Slide 9

ISO 9000

● Padrão internacional para o gerenciamento de qualidade.

● Aplicável a uma gama de organizações, desde a industria de manufatura até as indústrias de serviços.

● ISO 9001 é aplicável a organizações que projetam, desenvolvem e dão manutenção a produtos

● ISO 9001 é um modelo genérico de um processo de qualidade. Deve ser instanciado por cada organização.

Page 10: Gerenciamento de Qualidade - Unesp

Slide 10

ISO 9001 – áreas cobertas

TreinamentoAuditorias internas de qualidade

Identificação e facilidade de rastreamento do produto

Produtos fornecidos para o comprador

Ação corretivaRevisão do contrato

Status de inspeção e testeEquipamentos de inspeção e teste

Registros de qualidadeControle de documento

Técnicas estatísticasPrestação de serviços

ComprasManuseio, armazenamento, embalagem e entrega

Controle de projetoControle de produto que não estão em conformidade

Sistema de qualidadeResponsabilidade de gerenciamento

Page 11: Gerenciamento de Qualidade - Unesp

Slide 11

Certificação ISO 9000

● Os procedimentos de garantia de qualidade devem ser documentados em um manual de qualidade organizacional

● Instituições independentes podem certificar que o processo de qualidade de uma organização, segundo o manual, está em conformidade com a ISSO 9001

● 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.

Page 12: Gerenciamento de Qualidade - Unesp

Slide 12

● Padrões são a chave para gerenciamento de qualidade efetivos.

● Podem ser internacionais, nacionais, organizacionais ou padrões de projeto.

● Padrões de produto são os padrões que se aplicam ao produto de software em desenvolvimento. Ex: estilo de programação, etc.

● 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

Garantia e padrões de qualidade

Page 13: Gerenciamento de Qualidade - Unesp

Slide 13

● Encapsulam as melhores práticas – evitam a repetição de erros passados.

● Infra estrutura para o processo de garantia de qualidade – envolve a verificação de conformidade com os padrões

● Ajudam em termos de continuidade – todos os engenheiros de uma organização adotam as mesmas práticas – o esforço de aprendizado é reduzido.

Importância dos padrões

Page 14: Gerenciamento de Qualidade - Unesp

Slide 14

Padrões de produto e de processo

Submissão de documentos a CM (gerenciamento de configuração)

Estrutura do documento de requisitos

Conduta de revisão de projetoFormulário de revisão de projeto

Padrões de processoPadrões de produto

Processo de liberação de versãoModelo de cabeçalho de procedimento

Processo de registro de testeFormulário de pedido de mudança

Processo de controle de mudançaModelo do plano de projeto

Processo de aprovação do plano de projetoEstilo de programação em Java

Page 15: Gerenciamento de Qualidade - Unesp

Slide 15

● A qualidade de um produto desenvolvido é diretamente influenciado pela qualidade do processo de produção.

● 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.

● 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.

Qualidade de produto e de processo

Page 16: Gerenciamento de Qualidade - Unesp

Slide 16

Qualidade baseada em processo

● Ligação direta entre o processo e produto em produtos manufaturados.

● 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.

Page 17: Gerenciamento de Qualidade - Unesp

Slide 17

Qualidade baseada no processo

Defina o processoDesenvolvaO produto

Avalie a qualidade Do produto

Melhore o processo

Padronize oprocesso

QualidadeOK?

simnão

Page 18: Gerenciamento de Qualidade - Unesp

Slide 18

● Definição de padrões de processo, como por exemplo: como conduzir revisões, quando devem ocorrer, etc.

● Monitorar o processo de desenvolvimento, a fim de assegurar que os padrões estão sendo seguidos.

● Relatar o processo de software para a gerência de projeto e para o comprador do software.

Atividades de gerenciamento de qualidade de processo

Page 19: Gerenciamento de Qualidade - Unesp

Slide 19

Planejamento de qualidade

● Um plano de qualidade deve estabelecer as qualidades desejadas para o produto e como essas qualidades devem ser avaliadas.

● Deve definir o processo de garantia de qualidade.

● Deve selecionar os padrões organizacionais apropriados a um determinado produto e processo de desenvolvimento e, se necessário, definir novos padrões.

Page 20: Gerenciamento de Qualidade - Unesp

Slide 20

Estrutura do plano de qualidade

● Introdução sobre o produto

● Planos para o produto

● Descrições de processo

● Metas de qualidade

● Riscos e gerenciamento dos riscos.

Planos de qualidade devem ser documentos sucintos.

Page 21: Gerenciamento de Qualidade - Unesp

Slide 21

Atributos de qualidade do software

Facilidade de usoTestabilidadeProteção

PortabilidadeFacilidade de compreensão

Segurança

Facilidade de aprendizado

ComplexidadeRobustez

EficiênciaModularidadeCapacidade de recuperação

Facilidade de reuso

Facilidade de adaptação

Confiabilidade

Page 22: Gerenciamento de Qualidade - Unesp

Slide 22

Controle de qualidade

● Supervisionar o processo de desenvolvimento de software para garantir que os procedimentos e os padrões de garantia de qualidade seja seguidos.

● 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

Page 23: Gerenciamento de Qualidade - Unesp

Slide 23

Revisões de qualidade

● O principal método de validar a qualidade de um processo ou de um produto.

● Revisores examinam partes ou todo o processo ou o sistema e sua documentação para encontrar potenciais problemas.

● 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)

Page 24: Gerenciamento de Qualidade - Unesp

Slide 24

Tipos de revisões

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

Revisões de qualidade

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 progresso

Detectar erros detalhados nos requisitos, nos projetos ou no código. A revisão deve ser orientada por uma lista de possíveis erros,

Inspeções de projeto ou programa

ObjetivoTipo de revisão

Page 25: Gerenciamento de Qualidade - Unesp

Slide 25

Medição e métricas de software

● Medição de software se preocupa em obter um valor numérico para alguns atributos de um produto ou de um processo de software.

● Permite comparações objetivas entre técnicas e processos.

● Algumas organizações introduziram programas de medições, porém o uso sistemático de medições ainda não é comum.

● Existem poucos padrões nesta área.

Page 26: Gerenciamento de Qualidade - Unesp

Slide 26

● 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.

● Permite que o sofware e o processo de desenvolvimento de software sejam quantificados

● Medidas do processo de software ou produto

● Podem ser usadas para estimar atributos do produto (métricas preditivas) ou controlar o processo de software (métricas de controle).

Métrica de Software

Page 27: Gerenciamento de Qualidade - Unesp

Slide 27

Métricas preditivas e de controle

Processo desoftware

Decisões de gerenciamento

Medições decontrole

Produtos desoftware

Medições preditivas

Page 28: Gerenciamento de Qualidade - Unesp

Slide 28

● Uma propriedade do software pode ser medida

● Existe um relacionamento entre o que podemos medir e o que queremos saber.

● Esse relacionamento pode ser formalizado e validado.

Pode ser difícil relacionar o que pode ser medido com os atributos de qualidade desejados.

Suposições para medidas

Page 29: Gerenciamento de Qualidade - Unesp

Slide 29

Relação entre atributos internos e externos de software

Manutenibilidade

Confiabilidade

Portabilidade

Facilidade de uso

Número de parâmetros deprocedimento

Complexidade ciclomática

Tamanho do programa em

Linhas de código

Número de mensagens de erro

Extensão do manual do usuário

Page 30: Gerenciamento de Qualidade - Unesp

Slide 30

O processo de medição

● Um processo de medição pode ser parte de um processo de controle de qualidade.

● Dados coletados durante esse processo devem ser mantidos como um recurso organizacional (dados históricos)

● 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.

Page 31: Gerenciamento de Qualidade - Unesp

Slide 31

● Métricas devem predizer a qualidade do produto

● 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.

Métricas de produto

Page 32: Gerenciamento de Qualidade - Unesp

Slide 32

Métricas estáticas e dinâmicas

● 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)

● 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.

Page 33: Gerenciamento de Qualidade - Unesp

Slide 33

Métricas de produto de software

Medida do tamanho de um programa.

Tamanho do código

Medida da complexidade de controle de um programa. Pode estar relacionada com a facilidade de compreensão.

Complexidade ciclomática

DescriçãoMétricas de software

Ifs de muita profundidade são de difícil compreensão e levam a erros

Profundidade de declarações condicionais aninhadas

Mede o comprimento das variáveis. Quanto maior, mais compreensível o programa.

Extensão dos identificadores

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.

Fan-in/Fan-out

Page 34: Gerenciamento de Qualidade - Unesp

Slide 34

Métricas de software orientado a objetos

Quanto mais profunda, mais complexo é o projeto.

Profundidade da árvore de herança

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étodo de Fan-in/Fan-out

DescriçãoMétricas de software

Um alto valor para essa métrica indica que a superclasse utilizada pode não ser uma classe principal apropriada para a subclasse.

Número de operações sobrepostas (overloading)

Número de métodos em uma classe ponderados pela complexidade de cada método.

Métodos ponderados por classes

Page 35: Gerenciamento de Qualidade - Unesp

Slide 35

Análise de medições

● A dificuldade está em compreender o que as medidas significam • A análise dos dados coletados é bastante difícil

● Profissionais da área de estatística podem oferecer ajuda valiosa.

● A Análise dos dados deve levar em conta as circunstâncias locais.

Page 36: Gerenciamento de Qualidade - Unesp

Slide 36

● Entender os processos existentes● 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

● 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.

● Outros atributos do processo podem ser o alvo de melhorias.

Melhoria de processo

Page 37: Gerenciamento de Qualidade - Unesp

Slide 37

Atributos de processo

Com que rapidez pode ser concluído o processo de entrega de um sistema?

Rapidez

Até que ponto as atividades do processo podem ser apoiadas por ferramentas CASE?

Facilidade de suporte

O processo pode continuar , mesmo que surjam problemas inesperados?

Robustez

O processo está projetado de tal maneira que seus erros sejam evitados ou identificados antes que resultem em erros no produto?

Confiabilidade

O processo pode evoluir para refletir melhorias de processo identificadas?

Facilidade de manutenção

As atividades de processo culminam em resultados nítidos, de modo que o processo do processo seja externamente visível?

Visibilidade

Até que ponto o processo está explicitamente definido e com que facilidade de pode compreender a definição do processo?

Facilidade de compreensão

DescriçãoCaracterísticas de processo

Page 38: Gerenciamento de Qualidade - Unesp

Slide 38

● Análise de processo• Analisar e modelar (quantitativamente, se possível)

processos existentes

● Identificação de melhoria• Identificar gargalos relativos a qualidade, ao prazo e ao custo

● Introdução de mudançã de processo• Modificar o processo para remover os gargalos identificados

● Treinamento em mudanças de processo• Treinar o pessoal envolvidos em novas propostas de

processo

● Ajuste de mudanças• Descobrir pequenos problemas e propor modificações no

processo

Estágios de melhoria de processo

Page 39: Gerenciamento de Qualidade - Unesp

Slide 39

● A qualidade de processo e qualidade de produto estão intimamente relacionados

● Um bom processo geralmente produz bons produtos

● Em algumas classes produtos manufaturados, o processo é o principal determinante da qualidade do produto

● Para atividades baseadas em projeto, outros fatores também estão envolvidos, em especial a habilidade dos projetistas.

Qualidade de processo e de produto

Page 40: Gerenciamento de Qualidade - Unesp

Slide 40

Principais fatores da qualidade de produtos de software

Qualidade do produto

Tecnologia de

desenvolvimento

Qualidade doprocesso

Custo, tempo e

cronograma

Qualidade dopessoal

Page 41: Gerenciamento de Qualidade - Unesp

Slide 41

● Fundado pelo Dept. de Defesa dos EUA, junto à Universidade Carnegie Mellon

● 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.

● Modelo de maturidade foi proposto em meados da década de 80, e refinado no início da década de 90.

● O resultado desse trabalho tem tido grande influência na melhoria do processo de software

O Intituto de Engenharia de Software (SEI)

Page 42: Gerenciamento de Qualidade - Unesp

Slide 42

O Modelo de Maturidade de Capacitação da SEI

Nível 1Inicial

Nível 2Repetível

Nível 3Definido

Nível 4Gerenciado

Nível 5Otimização

Page 43: Gerenciamento de Qualidade - Unesp

Slide 43

● Inicial• Essencialmente não controlado

● Repetível• Procedimentos de gerenciamento de produto definidos e usados

● Definido• Procedimentos e estratégias de gerenciamento de projeto definidos e

usados

● Gerenciado• Estratégias de gerenciamento de qualidade definidas e usadas.

● Otimização• Estratégias de melhoria do processo definidas e usadas

Níveis do modelo de maturidae

Page 44: Gerenciamento de Qualidade - Unesp

Áreas-chavede processo

Gerenciamento de configuração de softwareGarantia de qualidade de softwareGerenciamento de contrato de softwareAcompanhamento e supervisão do projeto de softwarePlanejamento de projeto de softwareGerenciamento de requisitos

Revisão por paresCoordenação entre gruposEngenharia de produto de softwareGerenciamento de software integradoPrograma de TreinamentoDefinição de processo as organizaçãoFoco em processo da organização

Gerenciamento da qualidade de sotwareGerenciamento do processo quantitativo

Gerenciamento da mudança de processoGerenciamento da mudança de tecnologiaPrevenção de defeitos

Inicial

Repetível

Definido

Gerenciado

Otimização

Page 45: Gerenciamento de Qualidade - Unesp

Slide 45

● O enfoque é em gerenciamento de projeto em vez de gerenciamento de produto

● Ignora o uso de tecnologias como por exemplo a prototipação.

● Não incorpora a análise de risco como uma área chave de processo.

● Não define o seu domínio de aplicabilidade

Problemas com o modelo da SEI

Page 46: Gerenciamento de Qualidade - Unesp

Slide 46

CMM e ISO 9000

● Existe uma clara correlação entre os processos chave e o padrão ISO 9000.

● O CMM é mais detalhado e prescritivo e inclui uma estrutura de melhoria de processo.

● 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.

Page 47: Gerenciamento de Qualidade - Unesp

Slide 47

Pontos chave

●● Gerenciamento de qualidade de softwareGerenciamento de qualidade de software tem como objetivo garantir que o software está de acordo com os padrões propostos.

● Procedimentos de garantia de qualidade devem ser documentados em um manual de qualidade manual de qualidade organizacionalorganizacional.

●● Padrões de softwarePadrões de software reuni as melhores práticas●● RevisãoRevisão é a abordagem mais utilizada para

avaliar a qualidade de software.

Page 48: Gerenciamento de Qualidade - Unesp

Slide 48

Pontos chave

● Medições de software são informações coletadas sobre o processo de software e o produto de software.

● Medidas de qualidade do produto devem ser usadas para identificar componentes potencialmente problemáticos.

● Não existe um padrão universalmente aceito sobre métricas de software.