Disciplina : Tópicos Avançados em Engenharia de Software III
Aluno: Rafael Marques - [email protected]
Universidade Federal de Pernambuco - Mestrado
Data: 10/12/2003
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Estimando Projetos de Software Usando
Pontos de Caso de Uso
Estimando Projetos de Software Usando Pontos de Caso de Uso

Motivação

Introdução

Modelagem de Caso de Uso

Estimativas usando Pontos de Caso de Uso

Exercício

Referências
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Visão Geral
Estimando Projetos de Software Usando Pontos de Caso de Uso

Medidas de tamanho de software

SLOC - Source Lines of Code

Pontos de Função - FP

Pontos de Caso de Uso - UCP
 Gustav Karmer 1993
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Motivação
Estimando Projetos de Software Usando Pontos de Caso de Uso

Para processos de desenvolvimento dirigidos a
Caso de Uso, logo no início do projeto já é
disponibilizado um modelo de Caso de Uso.

Problema na variação de estilos, o que gera caos
na comparação entre produtos de diferentes
empresas. Deve haver uma padronização de
estilos.
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Introdução
Estimando Projetos de Software Usando Pontos de Caso de Uso
Caso de Uso
[UML]

Um caso de uso (UC) representa a
especificação de uma sequência de ações, que
um sistema desempenha para produzir um
resultado.
Algumas Características:
- É sempre iniciado por um ator
- É completo
- Provê valor a um ator
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]

Estimando Projetos de Software Usando Pontos de Caso de Uso

UCs são:
 Independente de tecnologia;
 Unidade de medida padrão para o software;
 Simples;
 Compreensível por não-técnicos;
 Utilizável desde o início do sistema.

Só podem ser utilizadas por empresas que adotem
os casos de uso como forma de expressão de
requisitos.
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Introdução
Estimando Projetos de Software Usando Pontos de Caso de Uso

A identificação de Caso de Uso é feita através da
colecta e análise dos requisitos.

Exemplos: “dar informação sobre produto”, “fazer
encomenda”, “cancelar encomenda”

Questões p/ identificar use cases:


Que funções um ator vai querer do sistema?
O sistema armazena informação?
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Caso de Uso
Estimando Projetos de Software Usando Pontos de Caso de Uso
Atores
Um ator é um agente que interage com o sistema, um tipo
de usuário ou categoria com papel definido, podendo ser
seres humanos, máquinas, dispositivos ou outros sistemas.
Exemplos de atores:
Cliente, usuário, gerente, computador, impressora, etc
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Definição
Estimando Projetos de Software Usando Pontos de Caso de Uso



Cada ator deve se comunicar com pelo menos 1
Caso de Uso;
São humanos, não humanos, ativos, passivos
Questões p/ identificar actores
 Quem utiliza o sistema?
 Quem está interessado nos resultados do
sistema?
 Quem é responsável pela administração do
sistema?
 Com que outros sistemas o sistema deve se
comunicar?
 Quem fornece informação ao sistema?
 Quem necessita do sistema para poder realizar
suas atividades diárias?
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Atores
Estimando Projetos de Software Usando Pontos de Caso de Uso
Modelagem de Casos de Uso
Definição

A modelagem de caso de uso é um técnica
utilizada para descrever a funcionalidade de um
sistema através de atores externos interagindo
em casos de uso.

Modelo de Caso de Uso define o escopo
funcional do sistema a ser desenvolvido.
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]

Estimando Projetos de Software Usando Pontos de Caso de Uso

Um modelo de Caso de Uso descreve as funções
do sistema e seu ambiente.

É formada por duas partes:
1. Um diagrama que fornece uma visão geral
dos atores e os UCs bem como suas
interações.
2. A descrição dos UCs detalhando os
requisitos e documentando o fluxo de
eventos entre os atores e o sistema.
 Um cenário representa uma sequência
específica de ação ilustrando um
comportamento.
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Modelagem de Casos de Uso
Estimando Projetos de Software Usando Pontos de Caso de Uso



Um cenário é uma sequência de ações que ilustra
um comportamento do sistema
No cenário descreve-se quando o use case interage
com os atores
Tipo de cenário:


Principal: descreve a situação quando tudo corre
bem (happy day scenario)
Alternativo ou secundário: permite uma
sequência diferente de eventos em relação ao
cenário principal (e.g. Exceções ou outras
acções possíveis)
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Modelagem de Casos de Uso
Estimando Projetos de Software Usando Pontos de Caso de Uso
Cliente
Fazer pedido
Consultar o pedido
Sistema de
Inventório
Representante de
Vendas
Cancelar o pedido
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Ex. Diagrama de UC
Estimando Projetos de Software Usando Pontos de Caso de Uso
Nome do UC: Fazer pedido
Descrição: O cliente fornece o endereço e os códigos do
produtos desejados. O sistema confirma a ordem.
Fluxo Básico de Eventos:
1. O cliente fornece nome e endereço
2. O cliente fornece os códigos dos itens que deseja comprar
3. O sistema fornece uma descrição e o preço de cada item
4. O sistema calcula o total do pedido
5. O cliente fornece as informações de seu cartão de crédito
6. O sistema valida as informações
7. O sistema confirma ao cliente o pedido
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Descrição de UC
Estimando Projetos de Software Usando Pontos de Caso de Uso
Descrição do UC (Cont.)
1.1 O produto está fora de estoque
1.1.1 O sistema informa ao cliente que o respectivo
produto está fora de estoque
2.1 Cartão de crédito inválido
2.1.1 O sistema informa ao cliente que o cartão é
inválido
2.1.2 O cliente informa novamente as informações
do cartão de crédito ou cancela o pedido.
Pre-Condições:
O cliente está logado no sistema
Post-Condições:
O pedido foi realizado
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Fluxos Alternativos:
Estimando Projetos de Software Usando Pontos de Caso de Uso

Histórico
 Desenvolvido por Gustav Karner [1993]

Foi desenvolvido baseado em Pontos de
Função.
 Vantagem: Não precisa de tanto detalhes
das informações.
Esse método tem sido avaliado através de
estudos de casos por empresas como:
 Mogul.com, Cap Gemini Ernst & Young,
IBM, Ericsson e Sun

Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Pontos de Caso de Uso
Estimando Projetos de Software Usando Pontos de Caso de Uso
Atribuir peso
aos atores
Atribuir peso
aos Casos de Uso
Calcular o valor não
ajustado dos UCP
Atribuir peso
aos fatores técnicos
Estimar o esforço
do Projeto
Calcular o valor
ajustado dos UCP
Atribuir peso
aos fatores ambentais
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Pontos de Caso de Uso
Estimando Projetos de Software Usando Pontos de Caso de Uso
Pontos de Caso de Uso
Definições
 Fatores ambientais - Fatores referentes ao
nível de experiência da equipe de
desenvolvimento.

Fatores técnicos - Fatores técnicos do projeto,
referentes a arquitetura do sistema.
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]

Estimando Projetos de Software Usando Pontos de Caso de Uso
1.
Cada ator e UC são categorizados de acordo com
sua complexidade e atribuído um determinado
peso
2.
Pontos de UC sem ajustes são calculados a partir
do somatório dos pesos para cada ator e UC do
sistema
3.
Pontos de UC são ajustados em função dos
valores de 13 fatores técnicos e 8 fatores
ambientais
4.
Finalmente o UCP é multiplicado por um valor de
produtividade
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Método de Estimativas
Estimando Projetos de Software Usando Pontos de Caso de Uso
Classificando Atores
Simples, médio e complexo



Atribuir peso
aos Casos de Uso
Calcular o valor não
ajustado dos UCP
SIMPLES: sistemas que se comunicam via
interface bem definida, por exemplo, API.
Atribuir peso
MÉDIO: sistemas que se comunicam
aos fatores técnicos
através de algum tipo de protocolo, por
exemplo, TCP/IP ou HTTP
Atribuir peso
COMPLEXO: pessoas interagindo através aos fatores ambentais
de interface gráfica ou Web Page
Calcular o valor
Obs: Fácil, Moderado, Difícil ajustado dos UCP
Estimar o esforço
do Projeto
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]

Atribuir peso
aos atores
Estimando Projetos de Software Usando Pontos de Caso de Uso
Classificando Atores
Peso
QT. Atores Total
Simples
Interface (API)
1
2
2
Médio
Protocolo
2
2
4
Complexo
Interface Gráfica
3
4
12
UAW - Unadjusted Actors Weight
UAW =  Atores * Pesos
18
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Tipo de Ator Descrição
Estimando Projetos de Software Usando Pontos de Caso de Uso
Classificando UC
Atribuir peso
aos Casos de Uso
Simples, médio e complexo



SIMPLES: casos de uso com <= 3 de
transações
MÉDIO: casos de uso com >=4 e <7
transações
COMPLEXO: casos de uso com >=7
transações
Calcular o valor não
ajustado dos UCP
Atribuir peso
aos fatores técnicos
Atribuir peso
aos fatores ambentais
 Uma transação é um conjunto atômico de atividades.
 O número de transações pode ser determinado contando o
número de passos do caso de uso, incluindo os fluxos
alternativos.
Calcular o valor
ajustado dos UCP
Estimar o esforço
do Projeto
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]

Atribuir peso
aos atores
Estimando Projetos de Software Usando Pontos de Caso de Uso
Classificando UC
Descrição
Peso
QT. UC
Total
Simples
1 - 3 Transações
5
8
40
Médio
4 - 6 Transações
10
12
120
Complexo
7 - Transações
15
4
60
UUCW - Unadjusted Use Case Weight
UUCW = UC* Peso
220
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Tipo UC
Estimando Projetos de Software Usando Pontos de Caso de Uso
Classificando UC
Descrição
Peso
QT. UC
Total
Simples
1 - 4 Classes
5
8
40
Médio
5 - 10 Classes
10
12
120
Complexo
> 10 Classes
15
4
60
UUCW - Unadjusted Use Case Weight
UUCW = UC* Peso
220
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Tipo UC
Estimando Projetos de Software Usando Pontos de Caso de Uso
Atribuir peso
aos atores
Classificando UC
UAW - Unadjusted Actors Weight
18
UUCW - Unadjusted Use Case Weight
220
UUCP - Unadjusted Use Case Points
238
Calcular o valor não
ajustado dos UCP
Atribuir peso
aos fatores técnicos
Atribuir peso
aos fatores ambentais
UUCP = UUCW + UAW
Calcular o valor
ajustado dos UCP
Estimar o esforço
do Projeto
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Atribuir peso
aos Casos de Uso
Estimando Projetos de Software Usando Pontos de Caso de Uso
Determinando Fatores Técnicos
Peso
Valor
Valor
Fator
Fator
T1
Sistema distribuído
2
0
0
T2
Tempo de resposta
1
3
3
T3
Eficiência p/ usuário
1
5
5
T4
Complexidade de
processamento
1
1
1
T5
Reuso
1
0
0
T6
Fácil de instalar
0.5
5
2.5
T7
Fácil de usar
0.5
5
2.5
T8
Portável
2
0
0
T9
Fácil de mudar
1
4
4
T10
Concorrência
1
0
0
T11
Segurança
1
3
3
T12
Acesso direto
1
5
5
T13
Treinamento especial
1
1
1
Faixa de 0 a 5
Atribuir peso
aos Casos de Uso
Calcular o valor não
ajustado dos UCP
Atribuir peso
aos fatores técnicos
Atribuir peso
aos fatores ambentais
Calcular o valor
ajustado dos UCP
Estimar o esforço
do Projeto
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Fator Descrição
Id.Fator
Descrição
Atribuir peso
aos atores
Estimando Projetos de Software Usando Pontos de Caso de Uso
Determinando Fatores Técnicos
TFactor = 27
Technical Complexity Factor (TCF) = 0.6 + (0.01*TFactor)
TCF = 0.6 + (0.01*27) TCF = 0.87
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
TFactor = (Valor atribuído T)x(Peso T)
Estimando Projetos de Software Usando Pontos de Caso de Uso
Determinando Fatores Ambientais
Atribuir peso
aos atores
Descrição
Descrição
Atribuir peso
Peso
Peso Valor
Valor Fator
Fator
E1
Familiaridade com o modelo usado
1.5
1
E2
Experiência na aplicação
0.5
4
E3
Experiência OO
1
1
E4
Capacidade do analista
0.5
5
E5
Motivação
1
5
E6
Requisitos estáveis
2
2
E7
Equipe em tempo parcial
-1
3
E8
Linguagem de programação
-1
1
aos Casos de Uso
1.5
2
Calcular o valor não
ajustado dos UCP
1
2.5
Atribuir peso
5
aos fatores
técnicos
4
-3 peso
Atribuir
aos fatores ambentais
-1
Calcular o valor
ajustado dos UCP
Estimar o esforço
do Projeto
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Fator
Id.Fator
Estimando Projetos de Software Usando Pontos de Caso de Uso
Determinando Fatores Ambientais
EFactor = 12
Environment Factor (EF) = 1.4 + (-0.03*EFactor)
EF = 1.4 + (-0.03*12)
EF = 0.755
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
EFactor = (Valor F1..F8)*Peso F
Estimando Projetos de Software Usando Pontos de Caso de Uso
Determinando Pontos de UC
Atribuir peso
aos atores
Atribuir peso
aos Casos de Uso
Calcular o valor não
ajustado dos UCP
UCP = 237*0.87*0.755
UCP = 155.637
Atribuir peso
aos fatores técnicos
Karner sugeriu 20 man-hours por ponto de UCAtribuir peso
aos fatores ambentais
Man-hours = 155.637*20
Man-hours = 3113.469
Calcular o valor
ajustado dos UCP
Estimar o esforço
do Projeto
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
UCP = UUCP*TCF*EF
Estimando Projetos de Software Usando Pontos de Caso de Uso


Experiência na área de desenvolvimento tem
Atribuir peso
demonstrado que o esforço estimado para
aos Casos de Uso
realização de UC está na faixa de 15-30
Homem-hora por UCP
Calcular o valor não
ajustado dos UCP
Schneider e Winters
 Verificar os fatores de E1-E6 > 3
Atribuir peso
 Verificar os fatores de E7-E8 < 3
aos fatores técnicos
 Se o total for <=2, um UCP equivale a 20
Homem-horas
Atribuir peso
aos fatores ambentais
 Se for >2 e <4, um UCP equivale a 28
Homem-horas
Calcular o valor
ajustado dos UCP
 Se for >4, reaviliar o projeto
 Outra possibilidade é ajustar um UCP para
Estimar o esforço
36 Homem-horas
Planilha de Estimativas
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Variação para Determinar o Esforço
Atribuir peso
aos atores
do Projeto
Estimando Projetos de Software Usando Pontos de Caso de Uso




Variedade de estilo na especificação do UC
 Não existe padrão para especificar UC
Alguns especialistas da área desaconselham a
derivação do esforço a partir dos UCP
Os requisitos não-funcionais não contribuem
efetivamente no cálculo das estimativas
UCP não foi testado efitivamente em projetos de
grande e médio porte
 Muito ajustes e pesquisas devem ser realizados
para comprovar efetivamente a eficácia do
processo
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Problemas Associados aos UCP
Estimando Projetos de Software Usando Pontos de Caso de Uso
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Exercício
Estimando Projetos de Software Usando Pontos de Caso de Uso

Karner, Gustav. Resource Estimation for Objectory Projects

Banerjee, Gautam. Use Case Points, An Estimation Approach.
August, 2001. Url:

Smith, Jonh. The Estimation of Effort Based on Use Case,
Rational Software white paper

Aguiar, Murício. Pontos de Função ou Pontos de Caso de Uso?

Galen, Robert. A Survey of Software Estimating & Planing
Techniques, 2001.

Furlan, Jose. Modelagem de Obketos atraves da UML, Makron
Books,1998

Anda, Bente, Comparing Efforc Estimates Based on Use Cases Experience from Industry, In: 4Th International Conference on
the Unified Modeling Language (UML2001).
Copyright 2003 Rafael Marques. Todos os direitos reservados. [email protected]
Referências
Estimando Projetos de Software Usando Pontos de Caso de Uso
Download

Pontos de Caso de Uso - Universidade Federal de Pernambuco