Buscar

Aula 10 Qualidade de Software (CMMI)

Prévia do material em texto

Gerenciamento da Qualidade
Qualidade de Software
CMMI
O que é um processo de software
• Processo - uma seqüência de passos 
realizados para um determinado propósito. 
(IEEE)
• Processo de Software - conjunto de atividades, 
métodos, práticas e tecnologias que as pessoas 
utilizam para desenvolver e manter software e 
produtos relacionados (CMMI)
Processo de desenvolvimento de software
Entendimento 
Modificação 
Revalidação
Projeto 
Codificação 
Teste
Análise de Sistema 
Análise de Requisitos
DEFINIÇÃO
CONSTRUÇÃO
MANUTENÇÃO
Atividades de Apoio
• Gerenciamento de 
Configuração 
• Garantia de 
Qualidade de 
Software
• Planejamento e 
Acompanhamento
Fonte: Erika Nina Höhn
Premissa para a qualidade do processo de 
software
• A Qualidade do Processo de Software é 
dependente da qualidade do Processo de 
Desenvolvimento de Software realizado.
DEFINIÇÃO
CONSTRUÇÃO
MANUTENÇÃO
A
T
IV
ID
A
D
E
S
 D
E
 A
P
O
IO
Processo de 
Desenvolvimento de 
Software
SEI – instituto de 
Engenharia de Software 
que é um centro de 
pesquisa na Universidade 
de Carnegie-Mellon
Modelo de avaliação de 
capacitação de 
fornecedores 
CMM 
(Capability Maturity Model)
Framework CMMI
Surge para integrar os 
vários modelos CMM de 
Engenharia de Sistemas e 
de Software
Qualidade de processo de software 
X 
Maturidade de processo de software
• A maturidade dos processos de software de uma 
organização influencia na sua capacidade de atingir 
metas de custo, qualidade e cronograma.
• A qualidade do processo de software pode ser 
analisada através do nível de maturidade do processo.
Processo de software imaturo
• CARACTERÍSTICAS
• Processo de Desenvolvimento de Software ad hoc; 
improvisado.
• Processo de Desenvolvimento de Software fortemente 
dependente dos profissionais.
• Processo de Desenvolvimento de Software indisciplinado.
Processo de software imaturo
• CONSEQÜÊNCIAS
• Produtividade geralmente menor
• Prazo e qualidade de difícil previsão
• Custos de manutenção geralmente altos
• Baixa visão do progresso e da qualidade
• Mais riscos na adoção de nova tecnologia
• “Incêndios” freqüentes
Processo de software maduro
Características
• Processo de desenvolvimento de software conhecido 
por todos
• Processo de desenvolvimento de software com apoio 
visível da alta administração
• Auditagem da fidelidade ao processo de 
desenvolvimento de software
• Medidas do Produto e do Processo de desenvolvimento 
de software
Processo de software maduro
Características
• Adoção disciplinada de tecnologia
• Uso de teste-piloto
• Papéis e responsabilidades claras e inequivocamente 
definidos
• Acompanhamento da qualidade do produto e da 
satisfação do cliente
Processo de software maduro
Consequências
• Expectativas para custos, cronograma, 
funcionalidades e qualidade de produto de um 
modo geral, usualmente, alcançadas.
• Melhoria constante do processo de 
desenvolvimento de software porque:
• ele é definido e documentado
• compreendido, vivo e ativo
Melhoria de processo de software
• O crescente reconhecimento da importância de se 
garantir a Qualidade de um Produto de Software
(considerando os requisitos dos diversos pontos de 
vista) tem levado muitas organizações a melhorar o 
controle sobre todos os elementos envolvidos no 
desenvolvimento desse produto
Melhoria de Qualidade de Processo de 
Software
CMMI
• CMMI é um modelo de melhoria desenvolvido 
pelo Instituto de Engenharia de Software da 
Universidade Carnegie Mellon (SEI).
• Apresenta de forma organizada os processos 
que uma organização necessita executar para 
atingir os seus objetivos.
CMMI
• É uma evolução do CMM.
• Uma estrutura que descreve os elementos chaves
de um processo de software eficaz.
• Um caminho de melhoramento evolucionário (5 
níveis de maturidade) para organizações de 
software mudarem de um processo de software 
imaturo, ad hoc, para um processo maduro, 
disciplinado.
• Fornece uma maneira da organização manter, 
melhorar, institucionalizar e gerenciar os seus 
processos.
Representação
• Representação Contínua (Continuous)
• Permite que a organização escolha uma determinada 
área de processo (ou grupo de áreas de processo) e 
melhore processos relacionados a ela.
• Utiliza níveis de capacidade para caracterizar a 
melhoria associada.
• Representação por Estágios (Staged)
• Utiliza conjuntos predefinidos de áreas de processo 
para definir um caminho de melhoria para uma 
organização.
• Esse caminho é caracterizado por níveis de 
maturidade.
• Cada nível contém um conjunto de áreas de 
processos que caracterizam diferentes 
comportamentos organizacionais.
Representação
• Por estágios (Staged)
• Caminho de melhoria pré-definido
• 5 Níveis de maturidade:
• Contínua (Continuous)
• Possibilita escolher uma única área de processo para evoluir
• 4 Níveis de capacitação:
Área de processo em OtimizaçãoÁrea de processo Inicial
Organização em OtimizaçãoOrganização Inicial
Áreas Objetivos Práticas
Áreas de processo relevantes 
para a capacitação e 
aprimoramento do processo de 
sottware
Gerenciamento do Processo
Definição de processo organizacional
Foco no processo organizacional
Treinamento organizacional
Desempenho de processo organizacional
Inovação e implantação organizacional
Gerenciamento do Projeto
Planejamento de projeto
Monitoração e controle de projeto
Gerenciamento de acordo com fornecedores
Gerenciamento de projeto integrado
Gerenciamento de riscos
Integração de equipes
Gerenciamento quantitativo de projeto
Áreas de Processo
Engenharia
Engenharia de requisitos
Desenvolvimento de requisitos
Solução técnica
Integração de produto
Verificação
Validação
Apoio
Gerenciamento de configuração
Gerenciamento de qualidade de processo e 
produto
Medição e análise
Análise de decisão e resolução
Ambiente organizacional para integração
Análise causal e resolução
As áreas de processo são agrupadas em categorias que 
possuem características em comum:
Interpretando os níveis de capacitação
O CMMI Continuous classifica as áreas de processo da organização 
em seis níveis de capacitação:
• 0 – Incompleto: Possui um processo que não seja realizado ou seja realizado 
parcialmente
• 1 – Realizado: Possui um processo realizado; Satisfaz os objetivos específicos
• 2 – Gerenciado: O processo é planejado e realizado; Possui gerência
• 3 – Definido: Possui um processo único para a organização que é planejado e 
realizado
• 4 – Gerenciado Quantitativamente: O processo é controlado usando estatísticas 
ou qualquer outra técnica quantitativa
• 5 – Em Otimização: O processo é continuamente melhorado
CMMI por Estágios : permite avaliação da maturidade do 
processo em 5 níveis 
Áreas
24
Objetivos Práticas
Descrições abstratas de 
um estado desejado que 
devem ser atingidos por 
uma organização.
Áreas
24
Objetivos Práticas
Maneiras de atingir um 
objetivo
CMMI reconhece que o objetivo é 
mais importante que suas práticas 
... organizações podem usar 
quaisquer práticas para se atingir um 
dos objetivos
Área de 
Processo
Declaração 
do propósito
Notas 
Introdutórias
Áreas de 
Processo 
Relacionadas
Objetivos 
Específicos
Objetivos 
Genéricos
Práticas 
Específicas
Práticas 
Genéricas
Produtos de 
Trabalho
Sub-práticas
Elaborações 
de Práticas 
Genéricas
Chave: Requerido Esperado Informativo
Estrutura do modelo
Fonte: WESLEY, Addison. CMMI: Guidelinesfor Process Integration and Product Improvement. 2003.
Áreas de processo (PA)
• Áreas do processo onde a organização deve 
focar para ter o seu processo melhorado.
• O nível de capacitação de uma área de 
processo representa o grau de 
institucionalização que esta área de processo 
possui dentro da empresa.
• Para melhorar o nível de capacitação, a 
organização tem objetivos a realizar.
Área de 
Processo
Declaração 
do propósito
Notas 
Introdutórias
Áreas de 
Processo 
Relacionadas
Objetivos 
Específicos
Objetivos 
Genéricos
Práticas 
Específicas
Práticas 
Genéricas
Produtos de 
Trabalho
Sub-práticas
Elaborações 
de Práticas 
Genéricas
Chave: Requerido Esperado Informativo
Modelo de componentes
Fonte: WESLEY, Addison. CMMI: Guidelines for Process Integration and Product Improvement. 2003.
Objetivos Específicos (SG)
• Objetivos que se relacionam a uma específica 
Área de Processo.
• Descrevem o que deve ser implementado para 
satisfazer a área de processo. 
• São utilizados em avaliações para determinar se 
a área de processo foi satisfeita.
Área de 
Processo
Declaração 
do propósito
Notas 
Introdutórias
Áreas de 
Processo 
Relacionadas
Objetivos 
Específicos
Objetivos 
Genéricos
Práticas 
Específicas
Práticas 
Genéricas
Produtos de 
Trabalho
Sub-práticas
Elaborações 
de Práticas 
Genéricas
Chave: Requerido Esperado Informativo
Modelo de componentes
Fonte: WESLEY, Addison. CMMI: Guidelines for Process Integration and Product Improvement. 2003.
Objetivos Genéricos (GG)
• Objetivos que são comuns a múltiplas Áreas de 
Processo do modelo.
• Elas ajudam a determinar se a área de processo foi 
institucionalizada indicando se os processos são 
efetivos, repetíveis e duradouros.
• Cada área de processo possui 5 objetivos 
genéricos, ou seja, cada objetivo genérico está 
associado a um nível de capacitação.
Área de 
Processo
Declaração 
do propósito
Notas 
Introdutórias
Áreas de 
Processo 
Relacionadas
Objetivos 
Específicos
Objetivos 
Genéricos
Práticas 
Específicas
Práticas 
Genéricas
Produtos de 
Trabalho
Sub-práticas
Elaborações 
de Práticas 
Genéricas
Chave: Requerido Esperado Informativo
Modelo de componentes
Fonte: WESLEY, Addison. CMMI: Guidelines for Process Integration and Product Improvement. 2003.
Práticas
• Práticas são atividades que devem ser 
realizadas para que os objetivos de cada área 
de processo sejam satisfeitos.
• As práticas descrevem a infra-estrutura e as 
atividades que mais contribuem para a 
implementação e institucionalização eficaz da 
área de processo.
• Subpráticas e exemplos são fornecidos no 
modelo para ajudar a explicar a prática com 
mais detalhes.
Área de 
Processo
Declaração 
do propósito
Notas 
Introdutórias
Áreas de 
Processo 
Relacionadas
Objetivos 
Específicos
Objetivos 
Genéricos
Práticas 
Específicas
Práticas 
Genéricas
Produtos de 
Trabalho
Sub-práticas
Elaborações 
de Práticas 
Genéricas
Chave: Requerido Esperado Informativo
Modelo de componentes
Fonte: WESLEY, Addison. CMMI: Guidelines for Process Integration and Product Improvement. 2003.
Esquema de numeração
• Cada prática específica possui a seguinte modelo de 
numeração:
• SP X.Y-Z Nome de prática específica
• Onde:
• X = Número do objetivo específico
• Y = Número sequencial da prática específica
• Z = Nível de capacitação da prática específica
Área de 
Processo
Declaração 
do propósito
Notas 
Introdutórias
Áreas de 
Processo 
Relacionadas
Objetivos 
Específicos
Objetivos 
Genéricos
Práticas 
Específicas
Práticas 
Genéricas
Produtos de 
Trabalho
Sub-práticas
Elaborações 
de Práticas 
Genéricas
Chave: Requerido Esperado Informativo
Modelo de componentes
Fonte: WESLEY, Addison. CMMI: Guidelines for Process Integration and Product Improvement. 2003.
Práticas genéricas (GP)
• Descrevem o que deve ser feito para a realizar 
o objetivo genérico.
• Está voltada à institucionalização.
• Práticas genéricas estão diretamente 
relacionadas com os níveis de capacitação.
Áreas
Monitoração e controle 
do projeto
Objetivos
Os requisitos são 
analisados e validados e 
uma definição de 
funcionalidade necessária 
é desenvolvida
Práticas
Analisar os requisitos 
derivados para assegurar 
que eles são necessários e 
suficientes
Exemplo
Referências:
Somerville, Ian. Engenharia de Software. 8ª. Edição. São Paulo: Pearson Addison Wesley, 2007.
CMMI -
http://www.sei.cmu.edu/cmmi/
http://cmmiinstitute.com/
CMMI® para Desenvolvimento – Versão 1.2
http://www.sei.cmu.edu/library/assets/whitepapers/cmmi-dev_1-2_portuguese.pdf
PINHEIRO, DIOGO GRAÇA. Iniciando o CMMI em uma pequena empresa de engenharia de 
software Diagnóstico e proposta de implementação: Disponível em: http://pro.poli.usp.br/wp-
content/uploads/2012/pubs/iniciando-o-
cmmi-em-uma-pequena-empresa-de-engenharia-de-software.pdf
Apresentação feita pela Profa. Erika Nina Höhn

Continue navegando