Escolar Documentos
Profissional Documentos
Cultura Documentos
Gerenciamento de Qualidade
Engenharia de Software 2o. Semestre de 2005
Slide 1
Gerenciamento de Qualidade
q
Slide 2
Tpicos
q q q q
Garantia e padres de qualidade Planejamento de qualidade Controle de qualidade Medio e mtricas de software
Slide 3
Preocupa-se em garantir que o nvel exigido de qualidade do produto de software seja atingido Envolve definir procedimentos e padres 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?
q
Classicamente, a noo de qualidade a de que o produto desenvolvido deve cumprir com suas especificaes Para sistemas de software, existem problemas:
O desenvolvedor tambm possui requisitos de qualidade (por ex. facilidade de manuteno) Alguns requisitos de qualidade so difceis de serem especificados de forma no ambgua. (Ex. facilidade de manuteno). Especificaes de software so usualmente incompletas e inconsistentes.
Slide 5
No se pode esperar por uma especificao perfeita antes de implantar procedimentos de gerenciamento de qualidade. Deve-se implantar procedimentos para melhorar a qualidade dentro das restries impostas por uma especificao imperfeita. O gerenciamento de qualidade no se preocupa somente em reduzir defeitos, se preocupa defeitos tambm com outras caractersticas de qualidade do produto.
Slide 6
Garantia de qualidade
Estabelecer uma estrutura de procedimentos e de padres organizacionais para qualidade. Seleo e ajustes de procedimentos e de padres de qualidade para um projeto especfico. Garantir que os procedimentos e padres esto sendo seguidos pela equipe de desenvolvimento de software.
Planejamento de qualidade
Controle de qualidade
O gerenciamento de qualidade deve ser uma atividade separada do gerenciamento de projeto, de modo que a qualidade no seja comprometida.
Slide 7
Padres e procedimentos
Plano de qualidade
Slide 8
ISO 9000
q
Padro internacional para o gerenciamento de qualidade. Aplicvel a uma gama de organizaes, desde a industria de manufatura at as indstrias de servios. ISO 9001 aplicvel a organizaes que projetam, desenvolvem e do manuteno a produtos ISO 9001 um modelo genrico de um processo de qualidade. Deve ser instanciado por cada organizao.
Slide 9
Sistema de qualidade
Controle de projeto Compras Identificao e facilidade de rastreamento do produto Status de inspeo e teste Ao corretiva Registros de qualidade Treinamento Tcnicas estatsticas
Slide 10
Os procedimentos de garantia de qualidade devem ser documentados em um manual de qualidade organizacional Instituies independentes podem certificar que o processo de qualidade de uma organizao, segundo o manual, est em conformidade com a ISSO 9001 Cada vez mais, os clientes procuram a certificao da ISO 9000 em fornecedores, como indicativo do nvel de seriedade com que consideram a qualidade.
Slide 11
Padres so a chave para gerenciamento de qualidade efetivos. Podem ser internacionais, nacionais, organizacionais ou padres de projeto. Padres de produto so os padres que se aplicam ao produto de software em desenvolvimento. Ex: estilo de programao, etc. Padres de processo definem os processos a serem seguidos durante o desenvolvimento de software. Ex. definies de especificao, processos de projeto e validao, e documentos que devem ser gerados
Slide 12
Encapsulam as melhores prticas evitam a repetio de erros passados. Infra estrutura para o processo de garantia de qualidade envolve a verificao de conformidade com os padres Ajudam em termos de continuidade todos os engenheiros de uma organizao adotam as mesmas prticas o esforo de aprendizado reduzido.
Slide 13
Padres de processo
Conduta de reviso de projeto Submisso de documentos a CM (gerenciamento de configurao) Processo de liberao de verso Processo de aprovao do plano de projeto Processo de controle de mudana Processo de registro de teste
Slide 14
A qualidade de um produto desenvolvido diretamente influenciado pela qualidade do processo de produo. Particularmente importante em desenvolvimento de software, uma vez que difcil avaliar atributos de qualidade do produto sem utilizar o software por um perodo longo. Contudo, a relao entre a qualidade de processo e do produto em produo complexa a modificao do processo nem sempre conduz melhoria da qualidade.
Slide 15
Ligao direta entre o processo e produto em produtos manufaturados. Mais complexo em software pois:
A aplicao de habilidades individuais e experincias particularmente importante no desenvolvimento de software. Fatores externos, tais como novidade de uma aplicao ou presso comercial para a liberao rpida de um produto, podem afetar o produto.
Slide 16
Defina o processo
sim
Padronize o processo
Slide 17
Definio de padres de processo, como por exemplo: como conduzir revises, quando devem ocorrer, etc. Monitorar o processo de desenvolvimento, a fim de assegurar que os padres esto sendo seguidos. Relatar o processo de software para a gerncia de projeto e para o comprador do software.
Slide 18
Planejamento de qualidade
q
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 padres organizacionais apropriados a um determinado produto e processo de desenvolvimento e, se necessrio, definir novos padres.
Slide 19
Introduo sobre o produto Planos para o produto Descries de processo Metas de qualidade Riscos e gerenciamento dos riscos. Planos de qualidade devem ser documentos sucintos.
Slide 20
Slide 21
Controle de qualidade
q
Supervisionar o processo de desenvolvimento de software para garantir que os procedimentos e os padres de garantia de qualidade seja seguidos. Duas abordagens para o controle de qualidade
Revises de qualidade Avaliao automtica de software e medio quantitativa de alguns atributos de software
Slide 22
Revises de qualidade
q
O principal mtodo de validar a qualidade de um processo ou de um produto. Revisores examinam partes ou todo o processo ou o sistema e sua documentao para encontrar potenciais problemas. Existem diferentes tipos de revises com diferentes objetivos
Inspees para a remoo de defeitos (produto) Revises para avaliar o progresso (produto e processo) Revises de qualidade (produto e padres)
Slide 23
Tipos de revises
Tipo de reviso
Inspees de projeto ou programa
Objetivo
Detectar erros detalhados nos requisitos, nos projetos ou no cdigo. A reviso deve ser orientada por uma lista de possveis erros, Fornecer informaes gerncia sobre o progresso geral do projeto. Essa uma reviso de processo e de produto, e se preocupa com custos, planos e prazos. Realizar uma anlise tcnica dos componentes ou da documentao do produto, a fim de encontrar inconsistncias entre a especificao e o projeto, cdigo ou documentao dos componentes e garantir que os padres de qualidade foram seguidos
Revises de progresso
Revises de qualidade
Slide 24
Medio de software se preocupa em obter um valor numrico para alguns atributos de um produto ou de um processo de software. Permite comparaes objetivas entre tcnicas e processos. Algumas organizaes introduziram programas de medies, porm o uso sistemtico de medies ainda no comum. Existem poucos padres nesta rea.
Slide 25
Mtrica de Software
q
Qualquer tipo de medio que se refira a um sistema de software, processo ou documentao relacionada
Linhas de cdigo em um programa, nmero de pessoas-dia necessrio para desenvolver um componente, nmero de defeitos relatados em um produto de software fornecido, etc.
q q
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 (mtricas preditivas) ou controlar o processo de software (mtricas de controle).
Slide 26
Medies de controle
Medies preditivas
Decises de gerenciamento
Slide 27
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 difcil relacionar o que pode ser medido com os atributos de qualidade desejados.
Slide 28
Complexidade ciclomtica
Confiabilidade
Slide 29
O processo de medio
q
Um processo de medio pode ser parte de um processo de controle de qualidade. Dados coletados durante esse processo devem ser mantidos como um recurso organizacional (dados histricos) Uma vez estabelecido um banco de dados de medio, comparaes entre projetos podem ser efetuadas e mtricas especficas podem ser aprimoradas.
Slide 30
Mtricas de produto
q q
Slide 31
Slide 32
Descrio
Medida do tamanho de um programa. Medida da complexidade de controle de um programa. Pode estar relacionada com a facilidade de compreenso. Fan-in - Medida do nmero de funes que chamam outra funo. Fan-out o nmero de funes que so chamada pela funo. Mede o comprimento das variveis. Quanto maior, mais compreensvel o programa. Ifs de muita profundidade so de difcil compreenso e levam a erros
Fan-in/Fan-out
Slide 33
Descrio
Quanto mais profunda, mais complexo o projeto. Idem ao software convencional. Devese fazer uma distino entre as chamadas de outros mtodos dentro do objeto e chamadas de mtodos externos. Nmero de mtodos em uma classe ponderados pela complexidade de cada mtodo. Um alto valor para essa mtrica indica que a superclasse utilizada pode no ser uma classe principal apropriada para a subclasse.
Slide 34
Anlise de medies
q
Profissionais da rea de estatstica podem oferecer ajuda valiosa. A Anlise dos dados deve levar em conta as circunstncias locais.
Slide 35
Melhoria de processo
q q
Entender os processos existentes Introduzir alteraes no processo para atingir objetivos organizacionais que, geralmente, so 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 reduo de defeitos. Isso reflete a grande preocupao da indstria em relao a qualidade de seus produtos. Outros atributos do processo podem ser o alvo de melhorias.
Slide 36
Atributos de processo
Caractersticas de processo Descrio
Facilidade de compreenso At que ponto o processo est explicitamente definido e com que facilidade de pode compreender a definio do processo? As atividades de processo culminam em resultados ntidos, de modo que o processo do processo seja externamente visvel? 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 concludo o processo de entrega de um sistema? Slide 37
Visibilidade
Anlise de processo
Analisar e modelar (quantitativamente, se possvel) processos existentes Identificar gargalos relativos a qualidade, ao prazo e ao custo Modificar o processo para remover os gargalos identificados Treinar o pessoal envolvidos em novas propostas de processo Descobrir pequenos problemas e propor modificaes no processo
Slide 38
Identificao de melhoria
Ajuste de mudanas
q q
A qualidade de processo e qualidade de produto esto 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 tambm esto envolvidos, em especial a habilidade dos projetistas.
Slide 39
Qualidade do processo
Qualidade do produto
Qualidade do pessoal
Slide 40
Fundado pelo Dept. de Defesa dos EUA, junto Universidade Carnegie Mellon A misso a transferncia de tecnologia de software, para capacitao das organizaes que recebem fundos do DoD para grandes projetos de defesa. Modelo de maturidade foi proposto em meados da dcada de 80, e refinado no incio da dcada de 90. O resultado desse trabalho tem tido grande influncia na melhoria do processo de software
Slide 41
Nvel 1 Inicial
Slide 42
Inicial
Essencialmente no controlado Procedimentos de gerenciamento de produto definidos e usados Procedimentos e estratgias de gerenciamento de projeto definidos e usados Estratgias de gerenciamento de qualidade definidas e usadas. Estratgias de melhoria do processo definidas e usadas
Repetvel
Definido
Gerenciado
Otimizao
Slide 43
reas-chave de processo
Definido
Otimizao
Gerenciamento da mudana de processo Gerenciamento da mudana de tecnologia Preveno de defeitos
Gerenciado
Gerenciamento da qualidade de sotware Gerenciamento do processo quantitativo Reviso por pares Coordenao entre grupos Engenharia de produto de software Gerenciamento de software integrado Programa de Treinamento Definio de processo as organizao Foco em processo da organizao
Repetvel
Gerenciamento de configurao de software Garantia de qualidade de software Gerenciamento de contrato de software Acompanhamento e superviso do projeto de software Planejamento de projeto de software Gerenciamento de requisitos
Inicial
O enfoque em gerenciamento de projeto em vez de gerenciamento de produto Ignora o uso de tecnologias como por exemplo a prototipao. No incorpora a anlise de risco como uma rea chave de processo. No define o seu domnio de aplicabilidade
Slide 45
Existe uma clara correlao entre os processos chave e o padro ISO 9000. O CMM mais detalhado e prescritivo e inclui uma estrutura de melhoria de processo. Em geral, as organizaes cuja maturidade de processo classificada no Nvel 2 ou 3 provavelmente so compatveis com a ISO 9000.
Slide 46
Pontos chave
q
q q
Gerenciamento de qualidade de software tem como objetivo garantir que o software est de acordo com os padres propostos. Procedimentos de garantia de qualidade devem ser documentados em um manual de qualidade organizacional. organizacional Padres de software reuni as melhores prticas Reviso a abordagem mais utilizada para avaliar a qualidade de software.
Slide 47
Pontos chave
q
Medies de software so informaes coletadas sobre o processo de software e o produto de software. Medidas de qualidade do produto devem ser usadas para identificar componentes potencialmente problemticos. No existe um padro universalmente aceito sobre mtricas de software.
Slide 48