Você está na página 1de 48

UNIVERSIDADE ESTADUAL PAULISTA

INSTITUTO DE BIOCINCIAS, LETRAS E CINCIAS EXATAS


DEPARTAMENTO DE CINCIAS DE COMPUTAO E ESTATSTICA

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
Tpicos
Garantia e padres de qualidade
Planejamento de qualidade
Controle de qualidade
Medio e mtricas de software

Slide 3
Gerenciamento da qualidade de
software
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?
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
O compromisso com a qualidade
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,
defeitos se preocupa
tambm com outras caractersticas de qualidade
do produto.

Slide 6
Atividades do gerenciamento de
qualidade
Garantia de qualidade
Estabelecer uma estrutura de procedimentos e de padres
organizacionais para qualidade.
Planejamento de qualidade
Seleo e ajustes de procedimentos e de padres de qualidade para
um projeto especfico.
Controle de qualidade
Garantir que os procedimentos e padres esto 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 no seja comprometida.

Slide 7
Gerenciamento de qualidade e desenvolvimento de
software

Processo de
desenvolvimento
de software

Processo de
gerenciamento de
qualidade

Padres e Plano de Relatrios de reviso


procedimentos qualidade De qualidade

Slide 8
ISO 9000
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
ISO 9001 reas cobertas
Responsabilidade de gerenciamento Sistema de qualidade
Controle de produto que no esto em Controle de projeto
conformidade
Manuseio, armazenamento, embalagem e Compras
entrega
Produtos fornecidos para o comprador Identificao e facilidade de rastreamento do
produto
Equipamentos de inspeo e teste Status de inspeo e teste

Reviso do contrato Ao corretiva


Controle de documento Registros de qualidade

Auditorias internas de qualidade Treinamento

Prestao de servios Tcnicas estatsticas

Slide 10
Certificao ISO 9000
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
Garantia e padres de qualidade
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
Importncia dos padres
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 produto e de
processo
Padres de produto Padres de processo

Formulrio de reviso de projeto Conduta de reviso de projeto

Estrutura do documento de requisitos Submisso de documentos a CM


(gerenciamento de configurao)
Modelo de cabealho de procedimento Processo de liberao de verso

Estilo de programao em Java Processo de aprovao do plano de projeto

Modelo do plano de projeto Processo de controle de mudana

Formulrio de pedido de mudana 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 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
Qualidade baseada em processo
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
Qualidade baseada no processo

Desenvolva Avalie a qualidade


Defina o processo
O produto Do produto

no
sim
Melhore o Qualidade Padronize o
processo OK? processo

Slide 17
Atividades de gerenciamento de
qualidade de processo
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
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
Estrutura do plano de qualidade
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
Atributos de qualidade do
software

Segurana Facilidade de Portabilidade


compreenso
Proteo Testabilidade Facilidade de uso

Confiabilidade Facilidade de Facilidade de


adaptao reuso
Capacidade de Modularidade Eficincia
recuperao
Robustez Complexidade Facilidade de
aprendizado

Slide 21
Controle de qualidade
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
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 Objetivo
Inspees de projeto ou programa Detectar erros detalhados nos requisitos,
nos projetos ou no cdigo. A reviso deve
ser orientada por uma lista de possveis
erros,
Revises de progresso 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.
Revises de qualidade 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

Slide 24
Medio e mtricas de software
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
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.
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
Mtricas preditivas e de controle

Processo de Produtos de
software software

Medies de Medies
controle preditivas

Decises de
gerenciamento

Slide 27
Suposies 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 difcil relacionar o que pode ser medido


com os atributos de qualidade desejados.

Slide 28
Relao entre atributos internos e
externos de software
Nmero de parmetros de
procedimento
Manutenibilidade

Complexidade ciclomtica

Confiabilidade
Tamanho do programa em
Linhas de cdigo
Portabilidade

Nmero de mensagens de erro

Facilidade de uso
Extenso do manual do usurio

Slide 29
O processo de medio
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
Mtricas devem predizer a qualidade do produto
Classes de mtricas de produto
Mtricas dinmica coletadas por medies feitas de um
programa em execuo
Mtricas estticas coletadas por medies feitas das
representaes do sistema (projeto, programa, documentao)

Mtricas dinmicas ajudam a avaliar a eficincia e


confiabilidade; mtricas estticas ajudam a avaliar a
complexidade, facilidade de compreenso e facilidade de
manuteno.

Slide 31
Mtricas estticas e dinmicas
Mtricas dinmicas esto intimamente
relacionadas com os atributos de qualidade do
software
relativamente fcil medir o tempo de resposta de um sistema
(atributo de performance) ou nmero de falhas (atributo de
confiabilidade)
Mtricas estticas tem um relacionamento
indireto com atributos de qualidade
preciso derivar um relacionamento entre essas mtricas e
propriedades como complexidade, legibilidade e facilidade de
manuteno.

Slide 32
Mtricas de produto de software
Mtricas de software Descrio
Tamanho do cdigo Medida do tamanho de um
programa.
Complexidade ciclomtica Medida da complexidade de
controle de um programa. Pode
estar relacionada com a
facilidade de compreenso.
Fan-in/Fan-out Fan-in - Medida do nmero de
funes que chamam outra
funo. Fan-out o nmero de
funes que so chamada pela
funo.
Extenso dos identificadores Mede o comprimento das
variveis. Quanto maior, mais
compreensvel o programa.
Profundidade de declaraes Ifs de muita profundidade so
condicionais aninhadas de difcil compreenso e levam
a erros
Slide 33
Mtricas de software orientado a
objetos
Mtricas de software Descrio
Profundidade da rvore de herana Quanto mais profunda, mais complexo
o projeto.
Mtodo de Fan-in/Fan-out Idem ao software convencional. Deve-
se fazer uma distino entre as
chamadas de outros mtodos dentro do
objeto e chamadas de mtodos
externos.
Mtodos ponderados por classes Nmero de mtodos em uma classe
ponderados pela complexidade de cada
mtodo.

Nmero de operaes sobrepostas Um alto valor para essa mtrica indica


(overloading) que a superclasse utilizada pode no
ser uma classe principal apropriada
para a subclasse.

Slide 34
Anlise de medies
A dificuldade est em compreender o que as
medidas significam
A anlise dos dados coletados bastante difcil
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
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?
Visibilidade As atividades de processo culminam em resultados
ntidos, de modo que o processo do processo seja
externamente visvel?
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 manuteno O processo pode evoluir para refletir melhorias de
processo identificadas?
Rapidez Com que rapidez pode ser concludo o processo de
entrega de um sistema? Slide 37
Estgios de melhoria de processo
Anlise de processo
Analisar e modelar (quantitativamente, se possvel)
processos existentes
Identificao de melhoria
Identificar gargalos relativos a qualidade, ao prazo e ao custo
Introduo de mudan de processo
Modificar o processo para remover os gargalos identificados
Treinamento em mudanas de processo
Treinar o pessoal envolvidos em novas propostas de
processo
Ajuste de mudanas
Descobrir pequenos problemas e propor modificaes no
processo

Slide 38
Qualidade de processo e de
produto
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
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
O Intituto de Engenharia de
Software (SEI)
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
O Modelo de Maturidade de
Capacitao da SEI
Nvel 5
Otimizao

Nvel 4
Gerenciado

Nvel 3
Definido

Nvel 2
Repetvel

Nvel 1
Inicial

Slide 42
Nveis do modelo de maturidae
Inicial
Essencialmente no controlado
Repetvel
Procedimentos de gerenciamento de produto definidos e usados
Definido
Procedimentos e estratgias de gerenciamento de projeto definidos e
usados
Gerenciado
Estratgias de gerenciamento de qualidade definidas e usadas.
Otimizao
Estratgias de melhoria do processo definidas e usadas

Slide 43
Otimizao
reas-chave Gerenciamento da mudana de processo

de processo Gerenciamento da mudana de tecnologia


Preveno de defeitos
Gerenciado
Gerenciamento da qualidade de sotware
Gerenciamento do processo quantitativo
Definido
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
Inicial Planejamento de projeto de software
Gerenciamento de requisitos
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
prototipao.
No incorpora a anlise de risco como uma rea
chave de processo.
No define o seu domnio de aplicabilidade

Slide 45
CMM e ISO 9000
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
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
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

Você também pode gostar