Você está na página 1de 40

Análise de Pontos de Caso de

Uso

Prof. Raul Sidnei Wazlawick


Descobrindo casos de uso

Atores: usuários e sistemas que se


comunicam com o sistema sendo
desenvolvido.
Entrevistar os atores e descobrir os
processos que eles iniciam ou
participam
Tipos de casos de uso por ordem de
importância

Processos de Negócio
“Gerenciar” (CRUD*)
Relatórios

*CRUD=Create, Retrieve, Update, Delete.


Exemplos de Processos de
Negócio
Emprestar filmes
Devolver filmes
Comprar filmes
Reservar filmes
Exemplos de CRUD

Gerenciar Filmes
Gerenciar Clientes
Exemplos de relatórios

Emitir relatório de filmes


emprestados por cliente
Emitir relatório de clientes que
levaram determinado filme
Emitir relatório dos filmes com maior
saída
Granularidade de um Caso de
Uso
Um caso de uso deve ser mono-sessão, ou
seja, executado em uma única interação e
não se estendendo ao longo de vários dias
Um caso de uso deve ser interativo, com
informações fluindo para dentro e para
fora do sistema
Um caso de uso deve produzir uma
alteração consistente na informação
armazenada
Pontos de caso de uso

Técnica proposta em 1993 pr Gustav


Karner.
Esforço é resultado de:
Número e complexidade de casos de uso
Número e complexidade de atores
Fatores técnicos (requisitos suplementares)
Fatores ambientais
Aplicando ao caso de uso de alto
nível
Sabe-se apenas a quantidade de casos
de uso e pode-se especular sobre sua
complexidade.
Atores e casos de uso classificam-se
em:
Simples
Médio
Complexo
Valoração dos Atores

Simples: 1 (representa outro sistema ou


uma API-interface para programação de
aplicaçoes definida)
Médio: 2 (representa outro sistema que
interage através de um protocolo como
TCP-IP ou FTP
Complexo: 3 (representa uma pessoa
interagindo com o sistema através de
uma interface gráfica)
UAW - Unajusted Actor Weight

Conta-se cada ator uma única vez,


mesmo que apareça em vários casos
de uso.
UAW é a soma do valor de todos os
atores.

O uso do UAW é opcional.


UUCW - Unajusted Use Case
Weight
É a soma dos valores de cada caso de
uso
Valoração de Casos de Uso

Simples: 5 (estima-se menos do que 3


transações, ex.: relatórios)
Médio: 10 (estima-se de 4 a 7 transações,
ex.: CRUD)
Complexo: 15 (estima-se mais de 7
transações, ex.: processos de negócio)
UUCP - Unajusted Use Case
Points
UUCP = UAW + UUCW
Fatores de complexidade técnica

São estimados para o projeto como um


todo.
Cada fator tem um peso pré-determinado.
Cada fator receberá um valor no projeto:
0: nenhuma influência
1: influência mínima
2: influência moderada
3: influência média
4: influência significativa
5: grande influência
Fatores técnicos e seus pesos

T1: Sistema distribuído (2)


T2: Desempenho da aplicação/performance (1)
T3: Eficiência do usuário final (1)
T4: Processamento interno complexo (1)
T5: Reusabilidade/código reusável (1)
T6: Facilidade de instalação (0,5)
T7: Usabilidade/fácil para utilizar (0,5)
T8: Portabilidade (2)
T9: Facilidade de manutenção (1)
T10: Concorrência (1)
T11: Características especiais de segurança (1)
T12: Acesso fornecido a terceiros (1)
T13: Facilidades especiais de treinamento dos usuários (1)
TCF - Technical Complexity
Factor
TFactor = Somatorio do peso pelo
valor de cada fator técnico.
TCF = 0,6 +(0,01 * TFactor)
Fatores Ambientais

Avaliação da equipe e da empresa


(ambiente de trabalho)
Também têm um peso cada e recebem
um valor de 0 a 5, com o mesmo
significado dado aos fatores técnicos
Fatores Ambientais e seus pesos

F1: Familiaridade com o Processo Unificado/UP


(1,5)
F2: Experiência na Aplicação (0,5)
F3: Experiência com Orientação a Objetos (1)
F4: Capacidade do líder do projeto (0,5)
F5: Motivação (1)
F6: Requisitos estáveis (2)
F7: Trabalhadores com dedicação parcial (-1)
F8: Dificuldade na linguagem de programação (-1)
EF - Environmental Factor

EFactor = Somatório do peso


multiplicado pelo valor do fator
EF = 1,4 - (0,03 * EFactor)
UCP - Pontos de Caso de Uso

UCP = UUCP * TCF * EF

Se todos os fatores técnicos e


ambientais forem médios (valor 3),
então TCF e EF serão
aproximadamente iguais a 1, deixando
UCP ≅ UUCP.
Esforço

Cada UCP vai valer um número de


horas que pode variar em função do
padrão de caso de uso utilizado e da
experiência da equipe.
O histórico da equipe vai permitir
ajustar este valor.
Exemplo

Casos de Uso:
Emprestar filmes (PN) 15
Devolver filmes (PN) 15
Reservar filmes (PN) 15
Manter clientes (CRUD) 10
Manter filmes (CRUD) 10
Relatório de filmes por cliente (REP) 5
Relatório de clientes por filme (REP) 5
Atores:
Cliente (humano) 3
Gerente (humano) 3
Balconista (humano) 3
Cálculo dos pontos de caso de
uso não ajustados
UUCP = UAW + UUCW
Logo:
UUCP = (3+3+3) + (15+15+15+10+10+5+5)
UUCP = 9 + 75
UUCP = 84
Cálculo dos fatores técnicos
TFactor
T1: Sistema distribuído (2) x 0 = 0
T2: Desempenho da aplicação/performance (1) x 1 = 1
T3: Eficiência do usuário final (1) x 1 = 1
T4: Processamento interno complexo (1) x 0 = 0
T5: Reusabilidade/código reusável (1) x 4 = 4
T6: Facilidade de instalação (0,5) x 4 = 2
T7: Usabilidade/fácil para utilizar (0,5) x 3 = 1,5
T8: Portabilidade (2) x 0 = 0
T9: Facilidade de manutenção (1) x 4 = 4
T10: Concorrência (1) x 0 = 0
T11: Características especiais de segurança (1) x 1 = 1
T12: Acesso fornecido a terceiros (1) x 1 = 1
T13: Facilidades especiais de treinamento dos usuários (1) x 2 = 2
TOTAL: Tfactor = 17,5
Cálculo do TCF

TCF = 0,6 + (0,01 * TFactor)


TCF = 0,6 + (0,01 * 17,5)
TCF = 0,775
Cálculo do EFactor

F1: Familiaridade com o Processo Unificado/UP (1,5) x 3 = 4,5


F2: Experiência na Aplicação (0,5) x 4 = 2
F3: Experiência com Orientação a Objetos (1) x 5 = 5
F4: Capacidade do líder do projeto (0,5) x 4 = 2
F5: Motivação (1) x 4 = 4
F6: Requisitos estáveis (2) x 4 = 8
F7: Trabalhadores com dedicação parcial (-1) x 3 = -3
F8: Dificuldade na linguagem de programação (-1) x 1 = -1
TOTAL: EFactor = 21,5
Cálculo do EF

EF = 1,4 - (0,03 * EFactor)


EF = 1,4 – (0,03 * 21,5)
EF = 0,755
Cálculo dos pontos de casos de
uso ajustados
UCP = UUCP * TCF * EF
UCP = 84 * 0,775 * 0,755
UCP = 49,15
Esforço

O número de pontos de caso de uso


ajustados UCP deve ser multiplicado
pelo fator de esforço médio de um
membro da equipe.
Horas = UCP * Esforço
Fator de Esforço

Karner (1993) propôs 20 horas por


UCP.
Assim:
Horas = UCP * Esforço
Horas = 49,15 * 20
Horas = 983
Dias = Horas/8 = 122
Meses = Dias/20 = 6,14
Esforço

Ribu (2001) relatou que o esforço


pode variar de 15 a 30 horas por
ponto de caso de uso.
Esforço

Schneider e Winters (1998) propõe:


Contar os fatores ambientais E1 a E6 menores
que 3 e E7 e E8 maiores que três.
Se o total for 2 ou menos, assumir 20 horas por UCP
Se o total for 3 ou 4, assumir 28 horas por UCP
Se o total for maior do que 4, melhorar os fatores
ambientais antes de se comprometer com o projeto.
Histórico da empresa

Melhor do que usar medidas da


literatura é ter um histórico da
própria empresa.
Se, por exemplo, 5 projetos recentes
totalizaram 1.200 pontos de caso de
uso e 32.000 horas de trabalho, então
o esforço médio da empresa é
32.000/1.200 = 26,6 horas por UCP.
Esforço por tipo de caso de uso

Em um projeto, o esforço por ponto de caso


de uso é dado pelo número de horas
dividido pelo UUCP.
Assim:
Se horas = 8000 e UUCP = 320
8000/320 = 25 horas por UUCP
Caso de uso complexo: 15*25 = 375 horas
Caso de uso médio: 10*25 = 250 horas
Caso de uso simples: 5 *25 = 125 horas
Casos de uso nos ciclos
iterativos do UP
Após obter o esforço total para um
projeto pode-se aplicar COCOMO
para obter a duração linear ideal e o
tamanho da equipe.
O tamanho da equipe multiplicado pelo
número de horas trabalhadas por cada
um dentro de um ciclo resulta no
esforço total de um ciclo de
desenvolvimento.
Usando COCOMO básico, por
exemplo, se o esforço foi calculado
em 32 meses (5120 horas), a duração
recomendada para o projeto (em modo
orgânico) seria de:
2,5 * 320,38 = aprox. 9 meses
E o tamanho da equipe:
32 / 9 = entre 3 e 4 pessoas
Supondo então um projeto de 9 meses, com
uma equipe de 4 pessoas e ciclos iterativos
de 2 semanas (80 horas), cada ciclo
iterativo terá:
80 x 4 = 360 horas trabalhadas
Com os valores anteriores (25 horas por UUCP),
um ciclo comportaria aproximadamente:
1 caso de uso complexo
1 caso de uso médio e um simples
3 casos de uso simples
Cálculo automatizado no Enterprise Architect
Bibliografia

Banerjee, G. (2001). Use case points. Na Estimation Approach.


Disponível em: http://www2.fiit.stuba.sk/~bielik/courses/msi-
slov/reporty/use_case_points.pdf. Consultado em: 27/09/2010.
Cohn, M. (2005). Estimating with use case points. Disponível em:
http://www.methodsandtools.com/archive/archive.php?id=25.
Consultado em 27/09/2010.
Cockburn, Alistair. 2001. Writing Effective Use Cases. Addison-
Wesley.
Ribu, Kirsten. 2001. Estimating Object-Oriented Software Projects
with Use Cases. Master of Science Thesis, University of Oslo,
Department of Informatics.
Schneider, Geri and Jason P. Winters. 1998. Applying Use Cases: A
Practical Guide. Addison Wesley.

Você também pode gostar