Estimativa de Software em Pontos de Caso de Uso

12.721 visualizações

Publicada em

Estimativa de Software em Pontos de Caso de Uso

  1. 1. Estimativa de Software Baseada em Ponto de Caso de Uso
  2. 2. Apresentação • 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Á
  3. 3. 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
  4. 4. Motivação • 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;
  5. 5. Tipos de Estimativas • 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
  6. 6. Ponto 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
  7. 7. Quem utiliza • Banco do Nordeste do Brasil – BNB; • Instituto Atlântico • Centro de Gestão e Desenvolvimento Tecnológico – CGDT • E-NOVAR Soluções Tecnológicas
  8. 8. Ponderação de Atores Complexidade Descrição Fator Simples Aplicação com API definidas 1 Intermediário Aplicação com interface baseada 2 em protocolo ou interação de usuário baseado em linhas de comando Complexo Interação de usuário através de 3 interface gráfica ∑ UAW (Unadjusted Actor Weight) = ∑ Fator dos Atores
  9. 9. Ponderação de Casos de Uso Complexidade Descrição Fator Simples Até 3 transações incluindo fluxos 5 alternativos Intermediário De 4 a 7 transações incluindo 10 fluxos alternativos Complexo De 8 a 11 transações incluindo 15 fluxos alternativos N-Complexo Acima de 11 transações Fx Fx = 15*(transações/11) + Fator(resto da divisão de transações/11) ∑ UUCW (Unadjusted Use Case Weight) = ∑ Fator dos UCs
  10. 10. Contagem de Transações • 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”;
  11. 11. Contagem de Transações • 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;
  12. 12. Contagem de Transações • 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;
  13. 13. Contagem de Transações • O que contar? – passos que apresentem funcionalidades de consultas auxiliares como casos de uso a parte (pop-up);
  14. 14. Contagem de Transações • 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;
  15. 15. Contagem de Transações • 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)”;
  16. 16. Contagem de Transações • 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.
  17. 17. Pontos de Casos de Uso Não-Ajustados UUCP = ∑UAW + ∑UUCW UUCP: Unadjusted Use Case Points UAW: Unadjusted Actor Weight UUCW: Unadjusted Use Case Weight
  18. 18. Ponderação de Fatores Técnicos 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
  19. 19. Ponderação de Fatores Técnicos 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
  20. 20. Ponderação de Fatores Ambientais 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
  21. 21. Ponderação de Fatores Ambientais 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
  22. 22. Estimativa de Tamanho UCP = UUCP*TCF*EF UCP: Use Case Points UUCP: Unadjusted Use Case Points TCF: Technical Complexity Factor EF: Enterprise Factor
  23. 23. Estimativa de Esforço 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
  24. 24. Referências • 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;
  25. 25. Obrigado!fabio.abreu@enovar.com.br (85) 9996.9510 (85) 9154.5974

×