Técnicas de estimativa - Pontos de caso de uso

UMA Use-Case é uma série de interações relacionadas entre um usuário e um sistema que permite ao usuário atingir um objetivo.

Os casos de uso são uma forma de capturar os requisitos funcionais de um sistema. O usuário do sistema é referido como um 'Ator'. Os casos de uso estão fundamentalmente na forma de texto.

Pontos de Caso de Uso - Definição

Use-Case Points (UCP)é uma técnica de estimativa de software usada para medir o tamanho do software com casos de uso. O conceito de UCP é semelhante ao de FPs.

O número de UCPs em um projeto é baseado no seguinte -

  • O número e a complexidade dos casos de uso no sistema.
  • O número e a complexidade dos atores no sistema.
    • Vários requisitos não funcionais (como portabilidade, desempenho, capacidade de manutenção) que não são escritos como casos de uso.

    • O ambiente em que o projeto será desenvolvido (como o idioma, a motivação da equipe, etc.)

A estimativa com UCPs requer que todos os casos de uso sejam escritos com um objetivo e aproximadamente no mesmo nível, fornecendo a mesma quantidade de detalhes. Portanto, antes da estimativa, a equipe do projeto deve garantir que escreveu seus casos de uso com metas definidas e em nível detalhado. O caso de uso normalmente é concluído em uma única sessão e, depois que o objetivo é alcançado, o usuário pode prosseguir para alguma outra atividade.

História de pontos de caso de uso

O método de estimativa de Ponto de Caso de Uso foi introduzido por Gustav Karner em 1993. O trabalho foi posteriormente licenciado pela Rational Software, que se fundiu à IBM.

Processo de contagem de pontos de caso de uso

O processo de contagem de Pontos de Caso de Uso tem as seguintes etapas -

  • Calcular UCPs não ajustados
  • Ajuste para complexidade técnica
  • Ajuste para a complexidade ambiental
  • Calcular UCPs ajustados

Etapa 1: Calcular pontos de casos de uso não ajustados.

Você calcula os pontos de caso de uso não ajustados primeiro, pelas seguintes etapas -

  • Determine o peso não ajustado do caso de uso
  • Determine o peso do ator não ajustado
  • Calcular pontos de caso de uso não ajustados

Step 1.1 - Determine o peso não ajustado do caso de uso.

Step 1.1.1 - Encontre o número de transações em cada caso de uso.

Se os Casos de Uso forem escritos com Níveis de Meta do Usuário, uma transação será equivalente a uma etapa do Caso de Uso. Encontre o número de transações contando as etapas no Caso de Uso.

Step 1.1.2- Classifique cada Caso de Uso como Simples, Médio ou Complexo com base no número de transações no Caso de Uso. Além disso, atribua Peso de Caso de Uso conforme mostrado na tabela a seguir -

Complexidade de caso de uso Número de transações Peso de caso de uso
Simples ≤3 5
Média 4 a 7 10
Complexo > 7 15

Step 1.1.3- Repita para cada caso de uso e obtenha todos os pesos de caso de uso. Peso de caso de uso não ajustado (UUCW) é a soma de todos os pesos de caso de uso.

Step 1.1.4 - Encontre Peso de Caso de Uso Não Ajustado (UUCW) usando a tabela a seguir -

Complexidade de caso de uso Peso de caso de uso Número de casos de uso produtos
Simples 5 NSUC 5 × NSUC
Média 10 NAUC 10 × NAUC
Complexo 15 NCUC 15 × NCUC
Unadjusted Use-Case Weight (UUCW) 5 × NSUC + 10 × NAUC + 15 × NCUC

Onde,

NSUC é o não. de Casos de Uso Simples.

NAUC é o não. de casos de uso médios.

NCUC é o não. de Casos de Uso Complexos.

Step 1.2 - Determine o peso do ator não ajustado.

Um Ator em um Caso de Uso pode ser uma pessoa, outro programa, etc. Alguns atores, como um sistema com API definida, têm necessidades muito simples e aumentam a complexidade de um Caso de Uso apenas ligeiramente.

Alguns atores, como um sistema interagindo por meio de um protocolo, têm mais necessidades e aumentam a complexidade de um Caso de Uso até certo ponto.

Outros Atores, como um usuário interagindo por meio da GUI, têm um impacto significativo na complexidade de um Caso de Uso. Com base nessas diferenças, você pode classificar os atores como simples, médios e complexos.

Step 1.2.1 - Classifique os atores como simples, médios e complexos e atribua os pesos dos atores conforme mostrado na tabela a seguir -

Complexidade do ator Exemplo Peso do Ator
Simples Um sistema com API definida 1
Média Um sistema interagindo por meio de um protocolo 2
Complexo Um usuário interagindo por meio da GUI 3

Step 1.2.2- Repita para cada ator e obtenha todos os pesos do ator. Peso do ator não ajustado (UAW) é a soma de todos os pesos do ator.

Step 1.2.3 - Encontre Peso do Ator Não Ajustado (UAW) usando a seguinte tabela -

Complexidade do ator Peso do Ator Número de Atores produtos
Simples 1 NSA 1 × NSA
Média 2 NAA 2 × NAA
Complexo 3 NCA 3 × NCA
Unadjusted Actor Weight (UAW) 1 × NSA + 2 × NAA + 3 × NCA

Onde,

NSA é o não. de Atores Simples.

NAA é o não. de Atores Médios.

NCA é o não. de Atores Complexos.

Step 1.3 - Calcular pontos de caso de uso não ajustados.

O Unadjusted Use-Case Weight (UUCW) e o Unadjusted Actor Weight (UAW) juntos fornecem o tamanho não ajustado do sistema, referido como Unadjusted Use-Case Points.

Unadjusted Use-Case Points (UUCP) = UUCW + UAW

As próximas etapas são ajustar os pontos de caso de uso não ajustados (UUCP) para complexidade técnica e complexidade ambiental.

Etapa 2: ajuste para complexidade técnica

Step 2.1 - Considere os 13 fatores que contribuem para o impacto da Complexidade Técnica de um projeto sobre os Pontos de Caso de Uso e seus Pesos correspondentes, conforme fornecido na tabela a seguir -

Fator Descrição Peso
T1 Sistema distribuído 2.0
T2 Tempo de resposta ou objetivos de desempenho de rendimento 1.0
T3 Eficiência do usuário final 1.0
T4 Processamento interno complexo 1.0
T5 O código deve ser reutilizável 1.0
T6 Fácil de instalar 0,5
T7 Fácil de usar 0,5
T8 Portátil 2.0
T9 Fácil de mudar 1.0
T10 Concorrente 1.0
T11 Inclui objetivos especiais de segurança 1.0
T12 Fornece acesso direto para terceiros 1.0
T13 Instalações especiais de treinamento de usuário são necessárias 1.0

Muitos desses fatores representam os requisitos não funcionais do projeto.

Step 2.2 - Para cada um dos 13 fatores, avalie o projeto e avalie de 0 (irrelevante) a 5 (muito importante).

Step 2.3 - Calcular o impacto do fator de peso de impacto do fator e o valor nominal para o projeto como

Impact of the Factor = Impact Weight × Rated Value

Step (2.4)- Calcule a soma do impacto de todos os fatores. Isso dá o Fator Técnico Total (TFactor) conforme indicado na tabela abaixo -

Fator Descrição Peso (W) Valor nominal (0 a 5) (RV) Impacto (I = W × RV)
T1 Sistema distribuído 2.0
T2 Tempo de resposta ou objetivos de desempenho de rendimento 1.0
T3 Eficiência do usuário final 1.0
T4 Processamento interno complexo 1.0
T5 O código deve ser reutilizável 1.0
T6 Fácil de instalar 0,5
T7 Fácil de usar 0,5
T8 Portátil 2.0
T9 Fácil de mudar 1.0
T10 Concorrente 1.0
T11 Inclui objetivos especiais de segurança 1.0
T12 Fornece acesso direto para terceiros 1.0
T13 Instalações especiais de treinamento de usuário são necessárias 1.0
Total Technical Factor (TFactor)

Step 2.5 - Calcular o fator de complexidade técnica (TCF) como -

TCF = 0.6 + (0.01 × TFactor)

Etapa 3: ajuste para complexidade ambiental

Step 3.1 - Considere os 8 Fatores Ambientais que podem afetar a execução do projeto e seus Pesos correspondentes, conforme apresentado na tabela a seguir -

Fator Descrição Peso
F1 Familiarizado com o modelo de projeto que é usado 1,5
F2 Experiência de aplicação 0,5
F3 Experiência orientada a objetos 1.0
F4 Capacidade de analista líder 0,5
F5 Motivação 1.0
F6 Requisitos estáveis 2.0
F7 Equipe de meio período -1,0
F8 Linguagem de programação difícil -1,0

Step 3.2 - Para cada um dos 8 fatores, avalie o projeto e avalie de 0 (irrelevante) a 5 (muito importante).

Step 3.3 - Calcular o impacto do fator de peso de impacto do fator e o valor nominal para o projeto como

Impact of the Factor = Impact Weight × Rated Value

Step 3.4- Calcule a soma do impacto de todos os fatores. Isso dá o Fator Ambiental Total (EFactor) conforme dado na tabela a seguir -

Fator Descrição Peso (W) Valor nominal (0 a 5) (RV) Impacto (I = W × RV)
F1 Familiarizado com o modelo de projeto que é usado 1,5
F2 Experiência de aplicação 0,5
F3 Experiência orientada a objetos 1.0
F4 Capacidade de analista líder 0,5
F5 Motivação 1.0
F6 Requisitos estáveis 2.0
F7 Equipe de meio período -1,0
F8 Linguagem de programação difícil -1,0
Total Environment Factor (EFactor)

Step 3.5 - Calcule o Fator Ambiental (EF) como -

1.4 + (-0.03 × EFactor)

Etapa 4: Calcular Pontos de Caso de Uso Ajustados (UCP)

Calcule os pontos de caso de uso ajustados (UCP) como -

UCP = UUCP × TCF × EF

Vantagens e desvantagens dos pontos de caso de uso

Vantagens dos pontos de caso de uso

  • Os UCPs são baseados em casos de uso e podem ser medidos no início do ciclo de vida do projeto.

  • UCP (estimativa de tamanho) será independente do tamanho, habilidade e experiência da equipe que implementa o projeto.

  • As estimativas baseadas em UCP estão próximas dos reais quando a estimativa é realizada por pessoas experientes.

  • O UCP é fácil de usar e não requer análises adicionais.

  • Os casos de uso estão sendo amplamente usados ​​como método de escolha para descrever os requisitos. Nesses casos, UCP é a técnica de estimativa mais adequada.

Desvantagens dos pontos de caso de uso

  • UCP pode ser usado apenas quando os requisitos são escritos na forma de casos de uso.

  • Depende de casos de uso bem escritos e orientados a objetivos. Se os casos de uso não forem bem ou uniformemente estruturados, o UCP resultante pode não ser preciso.

  • Fatores técnicos e ambientais têm um alto impacto na UCP. É preciso ter cuidado ao atribuir valores aos fatores técnicos e ambientais.

  • UCP é útil para a estimativa inicial do tamanho geral do projeto, mas são muito menos úteis para conduzir o trabalho de iteração a iteração de uma equipe.