47
Qualidade de Software Aula 8 / 2014/1 Prof. Dr. Luís Fernando Garcia [email protected] www.garcia.pro.br

Qualidade de SoftwareAula 8 / 2014/1

  • Upload
    thy

  • View
    41

  • Download
    3

Embed Size (px)

DESCRIPTION

Qualidade de SoftwareAula 8 / 2014/1. Prof. Dr. Luís Fernando Garcia [email protected] www.garcia.pro.br. PSP e TSP. CMM e CMMI/ MPS-BR – Foco nas empresas/organizações ... PSP e TSP – modelos baseados no indivíduo e na equipe/time/grupo. PSP. - PowerPoint PPT Presentation

Citation preview

Page 1: Qualidade de SoftwareAula 8 / 2014/1

Qualidade de SoftwareAula 8 / 2014/1

Prof. Dr. Luís Fernando Garcia

[email protected]

Page 2: Qualidade de SoftwareAula 8 / 2014/1

PSP e TSP

CMM e CMMI/ MPS-BR – Foco nas empresas/organizações ...

PSP e TSP – modelos baseados no indivíduo e na equipe/time/grupo ...

Page 3: Qualidade de SoftwareAula 8 / 2014/1

PSP

PSP (Personal Software Process) – 2000 por Humphrey (um dos pais do CMM...)

Foco na melhoria de processos do indivíduo – tornando sua forma de trabalho mais disciplinada ...

CMMI – foco no “o que deve ser feito…” PSP/TSP – acrescentam o “como…”

Page 4: Qualidade de SoftwareAula 8 / 2014/1

PSP

Constatação:

Qualidade rege-se pelos PIORES elementos/componentes

Normalmente, o indivíduo Analista Desenvolvedor Testador

Page 5: Qualidade de SoftwareAula 8 / 2014/1

PSP

Possibilitar:

Ao DESENVOLVEDOR

Conhecer-se Medir-se Analisar-se Aprender …

Page 6: Qualidade de SoftwareAula 8 / 2014/1

PSP

PSP - Personal Software Process

É um framework para auxiliar o desenvolvedor a estimar e planejar suas tarefas, acompanhar sua performance em relação ao planejado e melhorar a qualidade dos produtos produzidos.

Page 7: Qualidade de SoftwareAula 8 / 2014/1

PSP

Um processo pessoal para o desenvolvimento de software Passos definidos Formulários Padrões

Uma infra-estrutura de medição e análise para a caracterização deste processo

Um procedimento definido para a melhoria da performance

Page 8: Qualidade de SoftwareAula 8 / 2014/1

PSP – Objetivos

auxiliar o desenvolvedor a gerenciar seu trabalho, conhecer seus talentos e melhorar suas habilidades;

oferecer métricas e análises métricas; introduzir gradativamente técnicas de

Engenharia de Software.

Page 9: Qualidade de SoftwareAula 8 / 2014/1

PSP – Objetivos

Page 10: Qualidade de SoftwareAula 8 / 2014/1

PSP – Compromissos

Page 11: Qualidade de SoftwareAula 8 / 2014/1

PSP – Compromissos

Page 12: Qualidade de SoftwareAula 8 / 2014/1

PSP

Utilizados um conjunto de métodos, formulários e scripts (roteiros) para planejar, medir, gerenciar o trabalho individual/times (grupos) ...

Page 13: Qualidade de SoftwareAula 8 / 2014/1

PSP - Níveis

Nível 0 = fundamentos de medidas e formatos de relatórios;

Nível 1 = Planejamento e estimativas de tamanho e tempo;

Nível 2 = Controle pessoal de qualidade de projeto;

Nível 3 = Extensão a projetos maiores

Page 14: Qualidade de SoftwareAula 8 / 2014/1

PSP - Níveis

Page 15: Qualidade de SoftwareAula 8 / 2014/1

PSP - Níveis

Page 16: Qualidade de SoftwareAula 8 / 2014/1

PSP – 0 – Medição Pessoal

Atividades:

Registro de tempo Registro de defeitos Padrão de tipos de defeitos Padrão de codificação Medida de tamanho Proposta de melhoramento do processo

Page 17: Qualidade de SoftwareAula 8 / 2014/1

PSP – 0 – Medição Pessoal

No nível de Medição Pessoal, você aprende a registrar o tempo gasto em cada etapa do ciclo do desenvolvimento, registrando ainda os defeitos encontrados. Isto é conseguido através do uso de formulários adequados. O nível PSP0.1 inclui o uso de um padrão de codificação, de medidas padronizadas e do formulário de proposta de melhoramento do processo.

O Baseline Personal Process (PSP0 e PSP0.1) estabelece um ponto de partida para a compreensão do processo de software e, consequentemente, uma base sobre a qual promover as melhorias.

Page 18: Qualidade de SoftwareAula 8 / 2014/1

PSP – 0 – Medição Pessoal

Page 19: Qualidade de SoftwareAula 8 / 2014/1

PSP – 1 – Planejamento Pessoal

Atividades:

Estimativa de tamanho Relatório de testes Planejamento de tarefas Cronogramas

Page 20: Qualidade de SoftwareAula 8 / 2014/1

PSP – 1 – Planejamento Pessoal

No nível de Planejamento Pessoal, você aprende a planejar. A idéia geral é obter a capacidade de estimar quanto tempo levará para realizar uma tarefa baseado nas medições feitas em tarefas semelhantes anteriormente. Neste nível aprende-se a assumir compromissos que podem realmente ser cumpridos. O nível PSP1.1 inclui o planejamento de tarefas e a elaboração de cronogramas.

introduz técnicas para o estimativa de tamanho do software e esforço (PROBE)

planejamento de tarefas e cronograma relatório para registro dos dados de teste

Page 21: Qualidade de SoftwareAula 8 / 2014/1

PSP – 2 – Qualidade Pessoal

Atividades:

Revisões de código Revisões de projeto Padrões de Projeto

Page 22: Qualidade de SoftwareAula 8 / 2014/1

PSP – 2 – Qualidade Pessoal No nível de Qualidade Pessoal você aprende a lidar com seus erros.

Deve-se ter uma idéia precisa de quantos erros são cometidos (em média) em cada fase do ciclo de desenvolvimento. O modelo PSP mostra que a forma mais adequada para tratar erros é evitá-los desde a sua origem. Você deve utilizar os dados sobre defeitos já coletados para criar uma lista de verificação (checklist) a ser utilizada em suas revisões de projeto e de código. O nível PSP2.1 inclui a criação de padrões de projeto, bem como métodos de análise e prevenção de defeitos.

efetua o gerenciamento dos defeitos introduz técnicas de revisão tem seu foco no design não ensina a fazer design, mas a checar se está completo

Page 23: Qualidade de SoftwareAula 8 / 2014/1

PSP – 3 – Processo Cíclico Pessoal

Atividades:

Desenvolvimento cíclico

Page 24: Qualidade de SoftwareAula 8 / 2014/1

PSP – 3 – Processo Cíclico Pessoal

O nível de Processo Cíclico Pessoal é a última etapa do PSP. Neste nível, o PSP sai do desenvolvimento de pequenos programas para tratar do desenvolvimento de projetos maiores, embora ainda em nível pessoal. A idéia é dividir os grandes projetos em pequenos projetos que possam ser tratados no PSP2. Neste caso, o desenvolvimento acontece em passos incrementais.

expande os conceitos do PSP para projetos maiores divide um programa maior em pequenas partes aplica o PSP2 a cada uma das partes

Page 25: Qualidade de SoftwareAula 8 / 2014/1

PSP - Princípios Cada indivíduo é diferente – planejamento baseado em

desempenho individual A melhoria do desempenho é baseada no uso de processos

bem definidos/medidos A pessoa é responsável pela qualidade de seu trabalho –

responsabilidade em erros e atrasos Necessidade de um planejamento prévio das atividades,

seguindo um processo bem definido Medir o tempo gasto em cada etapa – os defeitos encontrados

– tamanho do sw para entender o desempenho individual Analisar os resultados ao final do processo – feedback e

melhoria do processo

Page 26: Qualidade de SoftwareAula 8 / 2014/1

PSP - Estrutura Requisitos – requisitos do sw Planejar – conjunto de scripts que guiam o trabalho Projetar - * Revisar o projeto - * Codificar - * Revisar o código - * Compilar e corrigir - * Testar - * (armazenar dados sobre tempo e defeitos

encontrados) Pós-morte – sintetizar os dados em um resumo de

planejamento

Page 27: Qualidade de SoftwareAula 8 / 2014/1

PSP - Estrutura

Page 28: Qualidade de SoftwareAula 8 / 2014/1

PSP - Scripts

Seqüência de tarefas claramente definidas Permite que mesmo programadores sem

experiência consigam desenvolver o projeto Baseado na estrutura acima. Exemplo de script:

Page 29: Qualidade de SoftwareAula 8 / 2014/1

PSP – Scripts - exemplo

Page 30: Qualidade de SoftwareAula 8 / 2014/1

PSP – Scripts - exemplo

Page 31: Qualidade de SoftwareAula 8 / 2014/1

PSP – Scripts

Todas as atividades citam o preenchimento de um log para registro de tempo

Dados necessários para que a pessoa possa analisar sua produtividade

Descrever minuciosamente os tempos dedicados a cada tarefa

Page 32: Qualidade de SoftwareAula 8 / 2014/1

PSP –Scripts

Page 33: Qualidade de SoftwareAula 8 / 2014/1

PSP – Plano de Projeto

Pilares do PSP ... Planejamento de cada atividade a ser

realizada levando ao controle do próprio trabalho ...

Realizado com base em um formulário padrão ...

Page 34: Qualidade de SoftwareAula 8 / 2014/1

PSP – Conclusões

PSP procura melhorar e disciplinar o trabalho individual Com o propósito de aumentar a eficiência de

desenvolvedor e a qualidade dos produtos

Implantado: Profissionais autodidatas Treinamentos formais

Page 35: Qualidade de SoftwareAula 8 / 2014/1

PSP – Conclusões

Estudos indicam:

Aumento/melhoria em vários aspectos (estimativas, por ex)

Abandono gradual da metodologia no cotidiano Uso do tempo para coleta dos indicadores

Solução – uso de programas automáticos para esta tarefa

Page 36: Qualidade de SoftwareAula 8 / 2014/1

PSP – Resultados

Page 37: Qualidade de SoftwareAula 8 / 2014/1

PSP x CMM

Page 38: Qualidade de SoftwareAula 8 / 2014/1

PSP – Referências

Page 39: Qualidade de SoftwareAula 8 / 2014/1

PSP – Referências

Page 40: Qualidade de SoftwareAula 8 / 2014/1

TSP

TSP (Team Software Process)

Baseado na melhoria de processos de uma equipe de desenvolvimento e usa a noção de time – grupo de pessoas com o mesmo objetivo ...

Page 41: Qualidade de SoftwareAula 8 / 2014/1

TSP O TSP provê um conjunto de

scripts de processos formulários métodos métricas

Estes elementos guiam os desenvolvedores em criar equipes eficazes estabelecer metas e planos para a equipe acompanhar e reportar o trabalho

TSPi Versão simplificada do TSP para equipes e projetos menores

Page 42: Qualidade de SoftwareAula 8 / 2014/1

TSP – Princípios

Estabelecimento de objetivos e papéis comuns; Definição de um processo comum de trabalho; Envolvimento de todos na produção do plano; Negociação do plano entre o time e a gerência; Revisão e aceite final pela gerência; Comunicação livre e freqüente.

Exige que a pessoa tenha sido previamente treinada em PSP Pode formar a base para a adoção do CMMI

Page 43: Qualidade de SoftwareAula 8 / 2014/1

TSP – Estrutura

PSP – aquisição de habilidades

Planos pessoais Métodos de planejamento Valores aprendidos Dados de processo Medidas de qualidade Processos definidos

Page 44: Qualidade de SoftwareAula 8 / 2014/1

TSP – Estrutura

TSP – construção de times – disciplina de times Comprometimento Planos agressivos Possessão da qualidade Objetivos do projeto Possessão do plano Detalhamento do plano Papéis de time Recursos de time

Page 45: Qualidade de SoftwareAula 8 / 2014/1

TSP – Estrutura

TSP – trabalho em times – disciplinas de administração Prioridade da qualidade Custo da qualidade Respeito dos processos Revisão de status Revisão de qualidade Comunicação Gerência de mudanças

Page 46: Qualidade de SoftwareAula 8 / 2014/1

TSP – Funcionamento

Iterativo Durante um projeto são realizados vários

relançamentos Revisados pelo TIME

Plano geral e detalhado para cada fase

Page 47: Qualidade de SoftwareAula 8 / 2014/1

TSPi – Funcionamento

Lançamento

Estratégia

Requisitos

Planejamento

Projeto

Implementação

Testes

Postmortem

Ciclo 1

Ciclo 2

Lançamento

Estratégia

Requisitos

Planejamento

Projeto

Implementação

Testes

Postmortem

. . .

Ciclo Final

Lançamento

Estratégia

Requisitos

Planejamento

Projeto

Implementação

Testes

Postmortem

Produto Final