26

Estimativa de Software em Pontos de Caso de Uso

Embed Size (px)

Citation preview

Page 1: Estimativa de Software em Pontos de Caso de Uso
Page 2: Estimativa de Software em Pontos de Caso de Uso

Estimativa de Software Baseada em Ponto de Caso de Uso

Page 3: Estimativa de Software em Pontos de Caso de Uso

• Fabio Pinheiro Abreu

– Bacharel em Ciência da Computação

– Mestre em Informática Aplicada

– Certificado PMP

– Implementador Oficial MPS.BR

– Consultor em Gestão e Processos

– Professor na Área de Gestão de Projetos

– Conselheiro de 2006 a 2009 e Diretor em 2010 do PMI-CE

– Mais de 10 anos de experiência na área de TI tendo trabalhado no BANCO DO NORDESTE, UNISYS BRASIL, INSTITUTO ATLÂNTICO gerenciando projetos e portfólios para clientes como CPQD, EPSON, FORD/TROLLER, DÍGITRO, PADTEC, TOLEDO e TRIBUNAL DE JUSTICA DO CEARÁ

Apresentação

Page 4: Estimativa de Software em Pontos de Caso de Uso

Agenda

1 - Motivação

2 - Tipos de Estimativas

3 - Ponto de Caso de Uso

4 - Quem utiliza

5 – Ponderação de Atores

6 – Ponderação de Casos de Uso

7 – Contagem de Transações

8 – Pontos de Casos de Uso Não-Ajustados

9 – Ponderação de Fatores Técnicos

10 – Ponderação de Fatores Ambientais

11 – Estimativa de Tamanho

12 – Estimativa de Esforço

Page 5: Estimativa de Software em Pontos de Caso de Uso

• Estimativas são um dos grandes desafios para contratantes e fornecedores de serviços de desenvolvimento de software pois afetam a análise de viabilidade, elaboração de propostas, o planejamento e acompanhamento dos projetos;

Motivação

Page 6: Estimativa de Software em Pontos de Caso de Uso

• Estimativa de Tamanho

– Grandeza física medida através dos requisitos, análise & projeto ou código do software com base nas suas funções e complexidade do problema

• Estimativa de Esforço

– Trabalho necessário para desenvolvimento do projeto obtido a partir da estimativa de tamanho

• Estimativa de Prazo

– Tempo necessário para desenvolvimento do projeto obtido a partir da estimativa de esforço e quantidade de recursos envolvidos no projeto

Tipos de Estimativas

Page 7: Estimativa de Software em Pontos de Caso de Uso

• Técnica de estimativa de tamanho de projeto de software orientado a objetos

• Explora o modelo e a descrição dos casos de uso

• Depende de uma padronização dos casos de uso pois a contagem se baseia em transações identificadas nos fluxos de eventos

• É uma técnica simples e aplicável desde o início do processo de desenvolvimento de software

Ponto de Caso de Uso

Page 8: Estimativa de Software em Pontos de Caso de Uso

• Banco do Nordeste do Brasil – BNB;

• Instituto Atlântico

• Centro de Gestão e Desenvolvimento Tecnológico – CGDT

• E-NOVAR Soluções Tecnológicas

Quem utiliza

Page 9: Estimativa de Software em Pontos de Caso de Uso

Complexidade Descrição Fator

Simples Aplicação com API definidas 1

Intermediário Aplicação com interface baseada em protocolo ou interação de usuário baseado em linhas de comando

2

Complexo Interação de usuário através de interface gráfica

3

∑ UAW (Unadjusted Actor Weight) = ∑ Fator dos Atores

Ponderação de Atores

Page 10: Estimativa de Software em Pontos de Caso de Uso

Complexidade Descrição Fator

Simples Até 3 transações incluindo fluxos alternativos

5

Intermediário De 4 a 7 transações incluindo fluxos alternativos

10

Complexo De 8 a 11 transações incluindo fluxos alternativos

15

N-Complexo Acima de 11 transações Fx

∑ UUCW (Unadjusted Use Case Weight) = ∑ Fator dos UCs

Fx = 15*(transações/11) + Fator(resto da divisão de transações/11)

Ponderação de Casos de Uso

Page 11: Estimativa de Software em Pontos de Caso de Uso

• O que é uma transação?

– “É um conjunto de atividades atômicas, as quais são executadas completamente ou não”;

– “É um evento que ocorre entre o ator e o sistema”;

– “São passos dos fluxos de eventos de casos de uso, que deve ser executado por completo, ou a realização de algum processamento complexo”;

Contagem de Transações

Page 12: Estimativa de Software em Pontos de Caso de Uso

• O que contar?

– passos que contenham campos de entrada possuindo valores passíveis de escolha originados de leitura de dados (listas de opções, combos e grids);

– passos que apresentem retorno de consultas com filtros preenchidos por buscas em bancos de dados;

Contagem de Transações

Page 13: Estimativa de Software em Pontos de Caso de Uso

• O que contar?

– passos que proporcionem validações complexas de negócio;

– passos que contenham uma geração de relatório são considerados como uma transação, e cada filtro originado da leitura de dados das consultas será considerado uma outra transação;

Contagem de Transações

Page 14: Estimativa de Software em Pontos de Caso de Uso

• O que contar?

– passos que apresentem funcionalidades de consultas auxiliares como casos de uso a parte (pop-up);

Contagem de Transações

Page 15: Estimativa de Software em Pontos de Caso de Uso

• O que contar?

– passos onde existirem validações simples de campo de entrada de dados são considerados como uma única transação se a quantidade de validações for menor ou igual a 10. Se a quantidade de validações for maior que 10, conta-se uma transação a cada grupo de 5 validações;

Contagem de Transações

Page 16: Estimativa de Software em Pontos de Caso de Uso

• O que NÃO contar?

– passos que descrevam o início e o fim do caso de uso, por exemplo, “O caso de uso se inicia...” ou “o caso de uso se encerra...” ;

– passos que detalhem a interação entre o sistema e o ator, por exemplo, “O usuário pressiona confirmar” ou “o sistema solicita ao usuário informar a

operação (incluir, alterar, excluir)”;

Contagem de Transações

Page 17: Estimativa de Software em Pontos de Caso de Uso

• O que NÃO contar?

– passos que solicitem escolhas com valores fixos (sem leitura de dados);

– passos que façam leituras auxiliares de dados que já tenham sido realizadas em outros fluxos do mesmo caso de uso;

– fluxos alternativos que contenham

mensagens de erro.

Contagem de Transações

Page 18: Estimativa de Software em Pontos de Caso de Uso

UUCP = ∑UAW + ∑UUCW

UUCP: Unadjusted Use Case Points

UAW: Unadjusted Actor Weight

UUCW: Unadjusted Use Case Weight

Pontos de Casos de Uso Não-Ajustados

Page 19: Estimativa de Software em Pontos de Caso de Uso

Descrição Peso Fator

T1 – Sistemas Distribuídos 2 X1

T2 – Tempo de Resposta / Desempenho 1 X2

T3 – Eficiência Online 1 X3

T4 – Processamento Interno Complexo 1 X4

T5 – Código reutilizável 1 X5

T6 – Facilidade de Instalação 0,5 X6

T7 – Usabilidade 0,5 X7

T8 – Portabilidade 2 X8

T9 – Facilidade de Manutenção 1 X9

T10 – Acessos simultâneos 1 X10

T11 – Aspectos Especiais de Segurança 1 X11

T12 – Acesso Direto para Terceiros 1 X12

T13 – Facilidades Especiais de Treinamento 1 X13

Ponderação de Fatores Técnicos

Page 20: Estimativa de Software em Pontos de Caso de Uso

TCF = 0,6 + (0,01 * ∑ Peso*Fator Ti)

TCF: Technical Complexity Factor

Peso: Ponderação de cada T no modelo de estimativas

Fator: Valor de 0 a 5 atribuído para cada T, onde: 0 – Não, 1 – Pouco, 2 – Razoável, 3 – Médio, 4 – Muito e 5 - Elevado

Ponderação de Fatores Técnicos

Page 21: Estimativa de Software em Pontos de Caso de Uso

Descrição Peso Fator

E1 – Familiaridade com o Processo de Desenvolvimento 1,5 X1

E2 – Experiência na Aplicação 0,5 X2

E3 – Experiência em Orientação a Objetos 1 X3

E4 – Experiência do Líder do Projeto 0,5 X4

E5 – Motivação 1 X5

E6 – Estabilidade dos Requisitos 2 X6

E7 – Membros da Equipe com Dedicação Parcial -1 X7

E8 – Dificuldade da Linguagem de Programação -1 X8

Ponderação de Fatores Ambientais

Page 22: Estimativa de Software em Pontos de Caso de Uso

EF = 1,4 + (-0,03 * ∑ Peso*Fator Ei)

EF: Enterprise Factor

Peso: Ponderação de cada E no modelo de estimativas

Fator: Valor de 0 a 5 atribuído para cada E, onde: 0 – Não, 1 – Pouco, 2 – Razoável, 3 – Médio, 4 – Muito e 5 - Elevado

Ponderação de Fatores Ambientais

Page 23: Estimativa de Software em Pontos de Caso de Uso

UCP = UUCP*TCF*EF

UCP: Use Case Points

UUCP: Unadjusted Use Case Points

TCF: Technical Complexity Factor

EF: Enterprise Factor

Estimativa de Tamanho

Page 24: Estimativa de Software em Pontos de Caso de Uso

Esforço = UCP*Produtividade*Gestão*Risco

UCP: Use Case Points

Produtividade: Horas necessárias para produzir 1 UCP

Gestão: Fator de gestão do processo de desenvolvimento

Risco: Fator de risco do projeto

Estimativa de Esforço

Page 25: Estimativa de Software em Pontos de Caso de Uso

• Pontos de Casos de Uso Técnicos (TUCP): Uma Extensão da UCP – Tatiana Cavalcanti Monteiro;

• Estimating Object-Oriented Software Projects With Use Cases – Kirsten Ribu;

• Metrics for Objectory – Gustav Karner;

Referências

Page 26: Estimativa de Software em Pontos de Caso de Uso

Obrigado!

[email protected]

(85) 9996.9510

(85) 9154.5974