Gerenciamento de Qualidade



Documentos relacionados
QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1

Atividade da gerência da qualidade

Engenharia de Software

Qualidade de Software

Gerenciamento de Qualidade. Paulo C. Masiero Cap SMVL

O processo de melhoria de processo

Padrões de Qualidade de Software e Métricas de Software

CHECK - LIST - ISO 9001:2000

Engenharia de Software

Políticas de Qualidade em TI

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL PEDROHOLI@GMAIL.COM CMM E CMMI

Qualidade de. Software. Definições. Qualidade do Produto ISO Processo de. Software. Modelo de Processo de. Software CMM SPICE ISO 12207

Qualidade de Software. Anderson Belgamo

Universidade Paulista

Sistemas de Gestão Ambiental O QUE MUDOU COM A NOVA ISO 14001:2004

Gerenciamento de Projeto

Implantação de um Processo de Medições de Software

CHECK LIST DE AVALIAÇÃO DE FORNECEDORES Divisão:

QUALIDADE DE SOFTWARE AULA N.7

GARANTIA DA QUALIDADE DE SOFTWARE

MODELO CMM MATURIDADE DE SOFTWARE

Copyright Proibida Reprodução. Prof. Éder Clementino dos Santos

ENQUALAB 2013 QUALIDADE & CONFIABILIDADE NA METROLOGIA AUTOMOTIVA. Elaboração em planos de Calibração Interna na Indústria Automotiva

Gerência de Projetos Prof. Dr. Sandro Ronaldo Bezerra Oliveira

Prof. Dr. Ivanir Costa. Unidade III QUALIDADE DE SOFTWARE

CMM Capability Maturity Model. Silvia Regina Vergilio

ISO Aécio Costa

ANÁLISE DOS REQUISITOS NORMATIVOS PARA A GESTÃO DE MEDIÇÃO EM ORGANIZAÇÕES

Qualidade de Software: Visão Geral

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Introdução à Qualidade de Software. Profº Aldo Rocha

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Qual a diferença entre certificação e acreditação? O que precisamos fazer para obter e manter a certificação ou acreditação?

Planejamento Avançado da Qualidade Elementos APQP

Padrões de Qualidade de Software

Qualidade na gestão de projeto de desenvolvimento de software

Fundamentos de Teste de Software

CMM - Capability Maturity Model

FACULDADE SENAC GOIÂNIA

Projeto de Sistemas I

ISO/IEC 12207: Gerência de Configuração

CICLO DE EVENTOS DA QUALIDADE

Engenharia de Requisitos

Engenharia de Software

Melhorias de Processos de Engenharia de Software

CMMI: Capability Maturity Model Integration

C.M.M. Capability Maturity Model Modelo de Maturidade da Capacidade

Professor: Disciplina:

CBG Centro Brasileiro de Gestão

Processos de gerenciamento de projetos em um projeto

Engenharia de Software

A visão do modelo MPS.BR para Gerência de Projeto - Nível G. por Adriana Silveira de Souza

Professor: Curso: Disciplina:

Gerência de Projetos de Software Modelos de gerência. CMM: Capability Maturity Model ITIL: Information Technology Infrastructure Library MPS BR

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Introdução a CMMI. Paulo Ricardo Motta Gomes Renato Miceli Costa Ribeiro

CMMI. B) descrições das atividades consideradas importantes para o atendimento de suas respectivas metas específicas. Governo do ES (CESPE 2009)

Modelo de Referência para melhoria do processo de software (MR mps)

OS 14 PONTOS DA FILOSOFIA DE DEMING

F.1 Gerenciamento da integração do projeto

Qualidade de Processo de Software Normas ISO e 15504

Análise de Pontos por Função

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Tipos de teste de software

Qualidade de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás

O que é CMMI? Base do CMMI. Melhorando o processo é possível melhorar-mos o software. Gerais. Processo. Produto

Requisitos de Software

LEVANTAMENTO DE REQUISITOS. Lílian Simão Oliveira

CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software. Conceitos de Qualidade. CURSO DE GRADUAÇÃO e DE PÓS-GRADUAÇÃO DO ITA

Gerência de Projetos

Sistema de Gestão da Qualidade

QUALIDADE DE SOFTWARE

UNIP UNIVERSIDADE PAULISTA

Palestra Informativa Sistema da Qualidade NBR ISO 9001:2000

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

Metodologia de Gerenciamento de Projetos da Justiça Federal

Análise do Ambiente estudo aprofundado

Qualidade de Software. Qualidade de Software. Adequado à Especificação. Alguns Atributos de Qualidade. Equipe de Qualidade

Governança de TI. ITIL v.2&3. parte 1

ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI)

Gerenciamento de Problemas

Capítulo 24 Gerência de Qualidade. Aula 1 Qualidade e Padrões de Qualidade

pacotes de software na forma em que são É importante salientar que não é objetivo do software, suas atividades e produtos

Gerenciamento de Níveis de Serviço

ECS -ASSESSORIA E CONSULTORIA TÉCNICA. ISO 9001:2015 Tendências da nova revisão

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

Abordagens. Ao redor do computador. Ao redor do computador. Auditoria de Sistemas de Informação. Everson Santos Araujo

Fatores humanos de qualidade CMM E CMMI

Segurança da Informação e Proteção ao Conhecimento. Douglas Farias Cordeiro

MUDANÇAS NA ISO 9001: A VERSÃO 2015

Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto

PR 2 PROCEDIMENTO. Auditoria Interna. Revisão - 2 Página: 1 de 9

GESTÃO DAS INFORMAÇÕES DAS ORGANIZAÇÕES MÓDULO 11

Transcrição:

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

Gerenciamento de Qualidade Gerenciar a qualidade tanto do processo como do produto de software Slide 2

Tópicos Garantia e padrões de qualidade Planejamento de qualidade Controle de qualidade Medição e métricas de software Slide 3

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. Slide 4

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. Slide 5

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 defeitos, se preocupa também com outras características de qualidade do produto. Slide 6

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

Gerenciamento de qualidade e desenvolvimento de software Processo de desenvolvimento de software Processo de gerenciamento de qualidade Padrões e procedimentos Plano de qualidade Relatórios de revisão De qualidade Slide 8

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. Slide 9

ISO 9001 áreas cobertas Responsabilidade de gerenciamento Controle de produto que não estão em conformidade Manuseio, armazenamento, embalagem e entrega Produtos fornecidos para o comprador Equipamentos de inspeção e teste Revisão do contrato Controle de documento Auditorias internas de qualidade Prestação de serviços Sistema de qualidade Controle de projeto Compras Identificação e facilidade de rastreamento do produto Status de inspeção e teste Ação corretiva Registros de qualidade Treinamento Técnicas estatísticas Slide 10

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. Slide 11

Garantia e padrões de qualidade 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 Slide 12

Importância dos padrões 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. Slide 13

Padrões de produto e de processo Padrões de produto Padrões de processo Formulário de revisão de projeto Estrutura do documento de requisitos Modelo de cabeçalho de procedimento Estilo de programação em Java Conduta de revisão de projeto Submissão de documentos a CM (gerenciamento de configuração) Processo de liberação de versão Processo de aprovação do plano de projeto Modelo do plano de projeto Formulário de pedido de mudança Processo de controle de mudança Processo de registro de teste Slide 14

Qualidade de produto e de processo 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. Slide 15

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. Slide 16

Qualidade baseada no processo Defina o processo Desenvolva O produto Avalie a qualidade Do produto Melhore o processo não Qualidade OK? sim Padronize o processo Slide 17

Atividades de gerenciamento de qualidade de processo 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. Slide 18

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. Slide 19

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. Slide 20

Atributos de qualidade do software Segurança Proteção Confiabilidade Capacidade de recuperação Robustez Facilidade de compreensão Testabilidade Facilidade de adaptação Modularidade Complexidade Portabilidade Facilidade de uso Facilidade de reuso Eficiência Facilidade de aprendizado Slide 21

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 Slide 22

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) Slide 23

Tipos de revisões Tipo de revisão Inspeções de projeto ou programa Revisões de progresso Revisões de qualidade Objetivo Detectar erros detalhados nos requisitos, nos projetos ou no código. A revisão deve ser orientada por uma lista de possíveis erros, 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. 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

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. Slide 25

Métrica de Software 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). Slide 26

Métricas preditivas e de controle Processo de software Produtos de software Medições de controle Medições preditivas Decisões de gerenciamento Slide 27

Suposições para medidas 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. Slide 28

Relação entre atributos internos e externos de software Manutenibilidade Número de parâmetros de procedimento Complexidade ciclomática Confiabilidade Portabilidade Tamanho do programa em Linhas de código Número de mensagens de erro Facilidade de uso Extensão do manual do usuário Slide 29

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. Slide 30

Métricas de produto 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. Slide 31

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. Slide 32

Métricas de produto de software Métricas de software Tamanho do código Complexidade ciclomática Fan-in/Fan-out Extensão dos identificadores Profundidade de declarações condicionais aninhadas Descrição Medida do tamanho de um programa. Medida da complexidade de controle de um programa. Pode estar relacionada com a facilidade de compreensão. 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. Mede o comprimento das variáveis. Quanto maior, mais compreensível o programa. Ifs de muita profundidade são de difícil compreensão e levam a erros Slide 33

Métricas de software orientado a objetos Métricas de software Profundidade da árvore de herança Método de Fan-in/Fan-out Métodos ponderados por classes Número de operações sobrepostas (overloading) Descrição Quanto mais profunda, mais complexo é o projeto. Idem ao software convencional. Devese fazer uma distinção entre as chamadas de outros métodos dentro do objeto e chamadas de métodos externos. Número de métodos em uma classe ponderados pela complexidade de cada método. Um alto valor para essa métrica indica que a superclasse utilizada pode não ser uma classe principal apropriada para a subclasse. Slide 34

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. Slide 35

Melhoria de processo 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. Slide 36

Atributos de processo Características de processo Facilidade de compreensão Visibilidade Facilidade de suporte Confiabilidade Robustez Facilidade de manutenção Rapidez Descrição Até que ponto o processo está explicitamente definido e com que facilidade de pode compreender a definição do processo? As atividades de processo culminam em resultados nítidos, de modo que o processo do processo seja externamente visível? Até que ponto as atividades do processo podem ser apoiadas por ferramentas CASE? O processo está projetado de tal maneira que seus erros sejam evitados ou identificados antes que resultem em erros no produto? O processo pode continuar, mesmo que surjam problemas inesperados? O processo pode evoluir para refletir melhorias de processo identificadas? Com que rapidez pode ser concluído o processo de entrega de um sistema? Slide 37

Estágios de melhoria de processo 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 Slide 38

Qualidade de processo e de produto 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. Slide 39

Principais fatores da qualidade de produtos de software Tecnologia de desenvolvimento Qualidade do processo Qualidade do produto Qualidade do pessoal Custo, tempo e cronograma Slide 40

O Intituto de Engenharia de Software (SEI) 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 Slide 41

O Modelo de Maturidade de Capacitação da SEI Nível 4 Gerenciado Nível 5 Otimização Nível 3 Definido Nível 2 Repetível Nível 1 Inicial Slide 42

Níveis do modelo de maturidae 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 Slide 43

Áreas-chave de processo Inicial Repetível Definido Gerenciado 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 Gerenciamento de configuração de software Garantia de qualidade de software Gerenciamento de contrato de software Acompanhamento e supervisão do projeto de software Planejamento de projeto de software Gerenciamento de requisitos Otimização Gerenciamento da mudança de processo Gerenciamento da mudança de tecnologia Prevenção de defeitos Gerenciamento da qualidade de sotware Gerenciamento do processo quantitativo

Problemas com o modelo da SEI 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 Slide 45

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. Slide 46

Pontos chave Gerenciamento 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 organizacional. Padrões de software reuni as melhores práticas Revisão é a abordagem mais utilizada para avaliar a qualidade de software. Slide 47

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. Slide 48