SlideShare a Scribd company logo
1 of 26
Download to read offline
Estimativa de Software Baseada em
      Ponto de Caso de Uso
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Á
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
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;
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
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
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
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
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
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”;
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;
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;
Contagem de Transações




 • O que contar?
   – passos que apresentem
     funcionalidades de consultas auxiliares
     como casos de uso a parte (pop-up);
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;
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)”;
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.
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
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
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
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
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
Estimativa de Tamanho




 UCP = UUCP*TCF*EF
    UCP: Use Case Points
    UUCP: Unadjusted Use Case Points
    TCF: Technical Complexity Factor
    EF: Enterprise Factor
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
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;
Obrigado!


fabio.abreu@enovar.com.br
       (85) 9996.9510
       (85) 9154.5974

More Related Content

What's hot

La evolución de los sistemas operativos
La evolución de los sistemas operativosLa evolución de los sistemas operativos
La evolución de los sistemas operativosOsvaldo Magaña Cantú
 
3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones3.3.- Operadores y Expresiones
3.3.- Operadores y ExpresionesYenny Salazar
 
Arquitectura de von neumann
Arquitectura de von neumannArquitectura de von neumann
Arquitectura de von neumannGabriel Barboza
 
Arquitectura del microprocesador
Arquitectura del microprocesadorArquitectura del microprocesador
Arquitectura del microprocesadorsystemprisoners
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Basics of Operating System
Basics of Operating SystemBasics of Operating System
Basics of Operating SystemSoumit Ghosh
 
History of Operating System (1).pptx
History of Operating System (1).pptxHistory of Operating System (1).pptx
History of Operating System (1).pptxAngelaClarito1
 
Assembly Language Programming
Assembly Language ProgrammingAssembly Language Programming
Assembly Language ProgrammingNiropam Das
 
Operating system
Operating systemOperating system
Operating systemvivek anand
 
Recursividad (Divide y Vencerás)
Recursividad (Divide y Vencerás)Recursividad (Divide y Vencerás)
Recursividad (Divide y Vencerás)Lester Sanchez
 
Operating System 2
Operating System 2Operating System 2
Operating System 2tech2click
 
Mapa conceptual software Word
Mapa conceptual software WordMapa conceptual software Word
Mapa conceptual software Wordvikyiz
 
Ia2 Algoritmos Clasificacion Vecindad
Ia2 Algoritmos Clasificacion VecindadIa2 Algoritmos Clasificacion Vecindad
Ia2 Algoritmos Clasificacion VecindadCarlos Román
 
Introduction to Compiler Construction
Introduction to Compiler Construction Introduction to Compiler Construction
Introduction to Compiler Construction Sarmad Ali
 
1 componenetes del computador mapas conceptuales
1 componenetes del computador mapas conceptuales1 componenetes del computador mapas conceptuales
1 componenetes del computador mapas conceptualescortezbfajardo
 

What's hot (20)

La evolución de los sistemas operativos
La evolución de los sistemas operativosLa evolución de los sistemas operativos
La evolución de los sistemas operativos
 
Planificacion cpu
Planificacion cpuPlanificacion cpu
Planificacion cpu
 
3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones
 
Arquitectura de von neumann
Arquitectura de von neumannArquitectura de von neumann
Arquitectura de von neumann
 
Arquitectura del microprocesador
Arquitectura del microprocesadorArquitectura del microprocesador
Arquitectura del microprocesador
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Presentació de PSEInt
Presentació de PSEIntPresentació de PSEInt
Presentació de PSEInt
 
Basics of Operating System
Basics of Operating SystemBasics of Operating System
Basics of Operating System
 
History of Operating System (1).pptx
History of Operating System (1).pptxHistory of Operating System (1).pptx
History of Operating System (1).pptx
 
Assembly Language Programming
Assembly Language ProgrammingAssembly Language Programming
Assembly Language Programming
 
Operating system Tutorial.
Operating system Tutorial.Operating system Tutorial.
Operating system Tutorial.
 
Operating system
Operating systemOperating system
Operating system
 
Recursividad (Divide y Vencerás)
Recursividad (Divide y Vencerás)Recursividad (Divide y Vencerás)
Recursividad (Divide y Vencerás)
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesos
 
Operating System 2
Operating System 2Operating System 2
Operating System 2
 
Mapa conceptual software Word
Mapa conceptual software WordMapa conceptual software Word
Mapa conceptual software Word
 
operating system
operating systemoperating system
operating system
 
Ia2 Algoritmos Clasificacion Vecindad
Ia2 Algoritmos Clasificacion VecindadIa2 Algoritmos Clasificacion Vecindad
Ia2 Algoritmos Clasificacion Vecindad
 
Introduction to Compiler Construction
Introduction to Compiler Construction Introduction to Compiler Construction
Introduction to Compiler Construction
 
1 componenetes del computador mapas conceptuales
1 componenetes del computador mapas conceptuales1 componenetes del computador mapas conceptuales
1 componenetes del computador mapas conceptuales
 

Viewers also liked

Estimativas de Esforço - Engenharia de Software
Estimativas de Esforço - Engenharia de SoftwareEstimativas de Esforço - Engenharia de Software
Estimativas de Esforço - Engenharia de SoftwareEduardo Mendes
 
Estimativa de software usando pontos de função
Estimativa de software usando pontos de funçãoEstimativa de software usando pontos de função
Estimativa de software usando pontos de funçãoClaudio Martins
 
Estudo de caso seguradora - diagnostico
Estudo de caso   seguradora - diagnosticoEstudo de caso   seguradora - diagnostico
Estudo de caso seguradora - diagnosticozeusi9iuto
 
Sérgio J. - Estudo de caso seguradora - plano - solução
Sérgio J. - Estudo de caso   seguradora - plano - soluçãoSérgio J. - Estudo de caso   seguradora - plano - solução
Sérgio J. - Estudo de caso seguradora - plano - soluçãozeusi9iuto
 
Um Levantamento de Métodos de Avaliação de Arquiteturas de Software Específicas
Um Levantamento de Métodos de Avaliação de Arquiteturas de Software EspecíficasUm Levantamento de Métodos de Avaliação de Arquiteturas de Software Específicas
Um Levantamento de Métodos de Avaliação de Arquiteturas de Software EspecíficasOrlando Junior
 
Modelado funcional casos de uso
Modelado funcional casos de usoModelado funcional casos de uso
Modelado funcional casos de usoRobert Rodriguez
 
Gerador Eólico - Parte 1 (Stator)
Gerador Eólico - Parte 1 (Stator)Gerador Eólico - Parte 1 (Stator)
Gerador Eólico - Parte 1 (Stator)Unico Coisa
 
Métricas de estimativa de esforço em projetos de teste de software
Métricas de estimativa de esforço em projetos de teste de softwareMétricas de estimativa de esforço em projetos de teste de software
Métricas de estimativa de esforço em projetos de teste de softwareSamanta Cicilia
 
Gere sua propria energia elétrica em casa
Gere sua propria energia elétrica em casa Gere sua propria energia elétrica em casa
Gere sua propria energia elétrica em casa roberto moreira
 
Faça a sua energia elétrica sustentável em casa
Faça a sua energia elétrica sustentável em casaFaça a sua energia elétrica sustentável em casa
Faça a sua energia elétrica sustentável em casaroberto moreira
 
O que é design centrado no usuário
O que é design centrado no usuárioO que é design centrado no usuário
O que é design centrado no usuárioKarine Drumond
 
aula 5 - parte 2 - avaliação de marca
aula 5 - parte 2 - avaliação de marcaaula 5 - parte 2 - avaliação de marca
aula 5 - parte 2 - avaliação de marcaBrandAnalytics
 
Descrição formal de Casos de Uso
Descrição formal de Casos de UsoDescrição formal de Casos de Uso
Descrição formal de Casos de UsoNatanael Simões
 
Análise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de UsoAnálise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de UsoCursoSENAC
 

Viewers also liked (20)

Caso De Uso E Use Case Point
Caso De Uso E Use Case PointCaso De Uso E Use Case Point
Caso De Uso E Use Case Point
 
Estimativas de Esforço - Engenharia de Software
Estimativas de Esforço - Engenharia de SoftwareEstimativas de Esforço - Engenharia de Software
Estimativas de Esforço - Engenharia de Software
 
Caso De Uso
Caso De UsoCaso De Uso
Caso De Uso
 
Estimativa de software usando pontos de função
Estimativa de software usando pontos de funçãoEstimativa de software usando pontos de função
Estimativa de software usando pontos de função
 
Métrica de softwares
Métrica de softwaresMétrica de softwares
Métrica de softwares
 
Teste Estrutural
Teste EstruturalTeste Estrutural
Teste Estrutural
 
Estudo de caso seguradora - diagnostico
Estudo de caso   seguradora - diagnosticoEstudo de caso   seguradora - diagnostico
Estudo de caso seguradora - diagnostico
 
Sérgio J. - Estudo de caso seguradora - plano - solução
Sérgio J. - Estudo de caso   seguradora - plano - soluçãoSérgio J. - Estudo de caso   seguradora - plano - solução
Sérgio J. - Estudo de caso seguradora - plano - solução
 
Um Levantamento de Métodos de Avaliação de Arquiteturas de Software Específicas
Um Levantamento de Métodos de Avaliação de Arquiteturas de Software EspecíficasUm Levantamento de Métodos de Avaliação de Arquiteturas de Software Específicas
Um Levantamento de Métodos de Avaliação de Arquiteturas de Software Específicas
 
Modelado funcional casos de uso
Modelado funcional casos de usoModelado funcional casos de uso
Modelado funcional casos de uso
 
Gerador Eólico - Parte 1 (Stator)
Gerador Eólico - Parte 1 (Stator)Gerador Eólico - Parte 1 (Stator)
Gerador Eólico - Parte 1 (Stator)
 
Métricas de estimativa de esforço em projetos de teste de software
Métricas de estimativa de esforço em projetos de teste de softwareMétricas de estimativa de esforço em projetos de teste de software
Métricas de estimativa de esforço em projetos de teste de software
 
Gere sua propria energia elétrica em casa
Gere sua propria energia elétrica em casa Gere sua propria energia elétrica em casa
Gere sua propria energia elétrica em casa
 
Avaliação de Empresas
Avaliação de EmpresasAvaliação de Empresas
Avaliação de Empresas
 
Faça a sua energia elétrica sustentável em casa
Faça a sua energia elétrica sustentável em casaFaça a sua energia elétrica sustentável em casa
Faça a sua energia elétrica sustentável em casa
 
O que é design centrado no usuário
O que é design centrado no usuárioO que é design centrado no usuário
O que é design centrado no usuário
 
aula 5 - parte 2 - avaliação de marca
aula 5 - parte 2 - avaliação de marcaaula 5 - parte 2 - avaliação de marca
aula 5 - parte 2 - avaliação de marca
 
Descrição formal de Casos de Uso
Descrição formal de Casos de UsoDescrição formal de Casos de Uso
Descrição formal de Casos de Uso
 
Diagramas de casos de uso - aula 2
Diagramas de casos de uso - aula 2Diagramas de casos de uso - aula 2
Diagramas de casos de uso - aula 2
 
Análise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de UsoAnálise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de Uso
 

Similar to Estimativa de Software em Pontos de Caso de Uso

[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...GUTS-RS
 
Teste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf eTeste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf eAlan Correa Morais
 
Pontos por função
Pontos por funçãoPontos por função
Pontos por funçãolipe_assis
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeAndré Abe Vicente
 
Planejamento projeto masiero
Planejamento projeto masieroPlanejamento projeto masiero
Planejamento projeto masieroMaitsudá Matos
 
Métricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosMétricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosJosé Claudemir Pacheco Júnior
 
Eng.Software-Métricas
Eng.Software-MétricasEng.Software-Métricas
Eng.Software-Métricaselliando dias
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
Micro serviços como ferramenta de inovação
Micro serviços como ferramenta de inovaçãoMicro serviços como ferramenta de inovação
Micro serviços como ferramenta de inovaçãoPedro Henrique
 
Teste de Desempenho, muito além do JMeter
Teste de Desempenho, muito além do JMeterTeste de Desempenho, muito além do JMeter
Teste de Desempenho, muito além do JMeterJuliano Santos
 
Apresentação tcc - Leticia Moretti e Rafael Azevedo
Apresentação tcc - Leticia Moretti e Rafael AzevedoApresentação tcc - Leticia Moretti e Rafael Azevedo
Apresentação tcc - Leticia Moretti e Rafael Azevedolemorettiribeiro
 
Monitoração - muito além do sistema operacional - WeOp 2014
Monitoração - muito além do sistema operacional - WeOp 2014Monitoração - muito além do sistema operacional - WeOp 2014
Monitoração - muito além do sistema operacional - WeOp 2014Marcus Vechiato
 

Similar to Estimativa de Software em Pontos de Caso de Uso (20)

[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
 
Teste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf eTeste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf e
 
Pontos por função
Pontos por funçãoPontos por função
Pontos por função
 
apresentação
apresentaçãoapresentação
apresentação
 
Rational Unfied Process
Rational Unfied ProcessRational Unfied Process
Rational Unfied Process
 
Aula 01
Aula 01Aula 01
Aula 01
 
Aula3
Aula3Aula3
Aula3
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
 
Planejamento projeto masiero
Planejamento projeto masieroPlanejamento projeto masiero
Planejamento projeto masiero
 
Métricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosMétricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetos
 
Eng.Software-Métricas
Eng.Software-MétricasEng.Software-Métricas
Eng.Software-Métricas
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
Micro serviços como ferramenta de inovação
Micro serviços como ferramenta de inovaçãoMicro serviços como ferramenta de inovação
Micro serviços como ferramenta de inovação
 
Overview de QA
Overview de QA Overview de QA
Overview de QA
 
Teste de Desempenho, muito além do JMeter
Teste de Desempenho, muito além do JMeterTeste de Desempenho, muito além do JMeter
Teste de Desempenho, muito além do JMeter
 
Apresentação tcc - Leticia Moretti e Rafael Azevedo
Apresentação tcc - Leticia Moretti e Rafael AzevedoApresentação tcc - Leticia Moretti e Rafael Azevedo
Apresentação tcc - Leticia Moretti e Rafael Azevedo
 
Dba Ciclo Palestra P5 V1a
Dba Ciclo Palestra P5 V1aDba Ciclo Palestra P5 V1a
Dba Ciclo Palestra P5 V1a
 
HOTNOC - WEB Network Operation System Monitoring by IdeaValley
HOTNOC - WEB Network Operation System Monitoring by IdeaValleyHOTNOC - WEB Network Operation System Monitoring by IdeaValley
HOTNOC - WEB Network Operation System Monitoring by IdeaValley
 
[Parfor] esw aula 04
[Parfor] esw   aula 04[Parfor] esw   aula 04
[Parfor] esw aula 04
 
Monitoração - muito além do sistema operacional - WeOp 2014
Monitoração - muito além do sistema operacional - WeOp 2014Monitoração - muito além do sistema operacional - WeOp 2014
Monitoração - muito além do sistema operacional - WeOp 2014
 

Estimativa de Software em Pontos de Caso de Uso

  • 1.
  • 2. Estimativa de Software Baseada em Ponto de Caso de Uso
  • 3. 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Á
  • 4. 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
  • 5. 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;
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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”;
  • 12. 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;
  • 13. 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;
  • 14. Contagem de Transações • O que contar? – passos que apresentem funcionalidades de consultas auxiliares como casos de uso a parte (pop-up);
  • 15. 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;
  • 16. 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)”;
  • 17. 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.
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. Estimativa de Tamanho UCP = UUCP*TCF*EF UCP: Use Case Points UUCP: Unadjusted Use Case Points TCF: Technical Complexity Factor EF: Enterprise Factor
  • 24. 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
  • 25. 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;
  • 26. Obrigado! fabio.abreu@enovar.com.br (85) 9996.9510 (85) 9154.5974