Skip to content

Instantly share code, notes, and snippets.

@medeirosthiago
Last active June 3, 2016 13:05
Show Gist options
  • Save medeirosthiago/a53c20945f3e383552794039950603bd to your computer and use it in GitHub Desktop.
Save medeirosthiago/a53c20945f3e383552794039950603bd to your computer and use it in GitHub Desktop.
Use Case Points

UCP - Use Case Points

  • Medir um sw, quantificar um sw

    • Definir equipe / prazo / custo
    • esforço homem-hora
  • Substituir o FPA (ponto de função)

  • Criado por Gustav Kerner (1993)

    • Pouco depois do início do uso de OO
  • Medir projetos orientados a objetos (OO)

    • APF - Estruturado
    • UCP - OO
  • São avaliados também:

    • TCF - Fatores de complexidade técnica
    • EF - Fatores Ambientes

Processo

Calcular o UUCP (Unadjusted Use Case Point)

  • Relacionar e classificar os atores envolvidos (complexidade):

    1. Simples (Ator externo API) = 1
    2. Médio (Ator externo protocolo de comunicação) = 2
    3. Complexo (Ator interage com GUI) = 3
  • Relacionar e classificar os casos de uso envolvidos (complexidade):

    1. Simples (Possui 3 ou menos transações, incluindo cenários alternativos, menos de 5 objetos) = 5
    2. Médio (Possui 4 a 7 transações, incluindo cenários alternativos, 5 a 10 objetos) = 10
    3. Complexo (Possui mais de 7 transações, incluindo cenários alternativos, mais de 10 objetos) = 15
  • UUCP = Total de pesos dos atores relacionados + Total de pesos dos casos de uso relacionados

Calculpar o TCF (Technical Complexity Factor)

tabela-tcf

Valor fator: Irrelevante = 0; Simples = 1; Mediano = 3; Relevante 5.

  • Multiplicar o valor (fator) atribuído pelo respectivo peso, gerando a coluna resultado
  • Totalizar o resultado da multiplicação para gerar o TFATOR
  • Calcular o fator de complexidade de acordo com a seguinte fórmula:
    • TCF = 0,6 + (0,001 x TFATOR)

Calcular o EF (Environmental Factor)

tabela-ef

Valor fator: Irrelevante = 0; Simples = 1; Mediano = 3; Essencial 5.

  • Multiplicar o valor (fator) atribuído pelo respectivo peso, gerando a coluna resultado
  • Totalizar o resultado da multiplicação para gerar o EFATOR
  • Calcular o fator de complexidade de acordo com a seguinte fórmula:
    • EF = 1,4 + (-0,003 x EFATOR)

Calcular o UCP (Use Case Points)

  • UCP = UUCP x TCF x EF
  • Karner sugere a aplicação de 20hs/homem por ponto de UCP
    • Estimativa (horas) = UCP x 20

Cálculo Exemplo

Passo 1: Contagem Diagrama de Casos de Uso

Contar o UCP - Atores
00 x Simples    - 0 x 1  = 0
00 x Médio      - 0 x 2  = 0
10 x Complexo   - 10 x 3  = 30

Total UCP - Atores = 30
Contar UCP - Casos de Uso
0 x Simples    - 0 x 5  = 0
6 x Médio      - 6 x 10 = 60
1 x Complexo   - 1 x 15 = 15
Total UCP - Casos de Uso = 75

UUCP = 75

Passo 2: Contagem do TCF

F1  = 2   * 0 = 0
F2  = 1   * 3 = 3
F3  = 1   * 4 = 4
F4  = 1   * 3 = 3
F5  = 1   * 5 = 5
F6  = .5  * 5 = 2.5
F7  = .5  * 5 = 2.5
F8  = 2   * 3 = 6
F9  = 1   * 5 = 5
F10 = 1   * 0 = 0
F11 = 1   * 5 = 5
F12 = 1   * 5 = 5
F13 = 1   * 3 = 3

TFATOR = 44
TCF = 0.6 + (0.001 * TFATOR)
TCF = 0.6 + (0.001 * 44)

TCF = 0.644

Passo 3: Contagem do EF

F1 = 1.5 * 1 = 1.5
F2 = -1  * 5 = -5
F3 = .5  * 3 = 1.5
F4 = .5  * 1 = 0.5
F5 = 1   * 3 = 3
F6 = 1   * 3 = 3
F7 = -1  * 3 = -3
F8 = 2   * 1 = 2

EFATOR = 3.5
EF = 1.4 + (-0.03 * EFATOR)
EF = 1.4 + (-0.03 * 3.5)
EF = 1.4 + (-0.105)

EF = 1.295

Passo 4: Cálculo Final

UCP = UUCP * TCF * EF
UCP = 44 * 0.644 * 1.295
UCP = 36.69512
Estimativa em Horas = UCP * 20
Estimativa em Horas = 36.69512 * 20 = 733.9024 horas

Estimativa

Convertendo para dias e horas:

  • 30 dias 14 horas (24hs)

Convertendo para dias e horas (Celtab):

  • 184 dias (pesquisador/dia)
  • 37 semanas

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment