Você está na página 1de 5

UNIP – Universidade Paulista – Engenharia de Software - Métricas

Análise por ponto de função

Diagrama de Caso de Uso

Seguindo um exemplo de modelagem UML para um sistema de convênio médico, será


demonstrado o funcionamento do método de pontos de função por Caso de Uso.

1º Passo – Identificar e categorizar os atores

Identifique e categorize cada ator em níveis de complexidade, estes podem ser um


dentre os seguintes: simples, médio e complexo. Considere como simples um ator que
não esteja envolvido em regras de negócios complexas e com poucas entidades de
banco de dados envolvidas em seus processos. Semelhantemente, considere um ator na
categoria complexo se regras complexas estão envolvidas em suas interações e muitas
entidades do MER. Não há regra para isso, é baseado em experiências do passado.

Relacionar os atores disponíveis nos Casos de Uso: Titular, Dependente e Site. Atribuir um
peso a estes atores, seguindo a expectativa de 1:(simples), 2:(médio) e 3(complexo).

Atores Peso
Titular 3
Dependente 3
Site 2

Considerando os atores Titular e dependente com pesos máximos pois estes envolvem
várias entidades em banco de dados; suas regras de negócios pedem mais atenção, além
isso, várias interações humanas são pedidas em seus Casos de Uso. Já o ator site é um
sistema interno, trabalha com várias tabelas de bancos de dados, porém depende de
envolvimento puro do sistema em si; suas ações não acontecem por pedido de alguém e sim
por conseqüência da interação com alguém, então se classificou em complexidade média.

Prof. Marcelo Nogueira


UNIP – Universidade Paulista – Engenharia de Software - Métricas

2º Passo – Calcular o Total de Pesos Não Ajustados dos Atores (TPNAA)

Calcule o TPNAA (Total de Pesos Não Ajustados dos Atores), você faz isso contando o
número de atores em cada categoria. Em seguida, multiplique cada total pelo fator de
peso (1, 2, 3) elegido para cada grupo. Adicione os valores que agora são TPNAA.

Complexidade Qtd. de Atores Peso Resultado


1 0 1 0
2 1 2 2
3 2 3 6
TPNAA = 8

3º Passo – Identificar e categorizar os Casos de Uso

Identifique e categorize os Casos de Uso em simples, médios e complexos. Você faz


essa categorização pelo número de fluxos e transações pelos quais um Caso de Uso
passa. Se existe simples entrada de dados, baseada em uma entidade e sem regras de
negócio complexas, este Caso de Uso está na categoria simples; o oposto aplica-se à
categoria complexa. Outras duas formas de categorizar Casos de Uso é por meio de seu
número de classes ou interações que ocorrem entre seus objetos nos diagramas de
seqüência.

Casos de Uso Peso


Marcar Consulta 3
Cadastrar Titular 2
Cadastrar Dependente 2

Considerando o Caso de Uso Marcar Consulta como único complexo, pois o número de
transações é maior dos que tratam de cadastramento.

4º Passo – Calcular o Total de Pesos Não Ajustados dos Casos de Uso (TPNAUC)

Conte o número de Casos de Uso que existem em cada categoria. Multiplique o número
obtido no tópico anterior pelos fatores adotados para cada categoria. Some os valores e
este número é TPNAUC (Total de Pesos Não Ajustados dos Casos de Uso).

Complexidade Qtd. de Casos de Uso Peso Resultado


1 0 1 0
2 2 2 4
3 1 3 3
TPNAUC = 7

5º Passo – Calcular os Pontos Totais Não Ajustados (PTNA)

Some os pontos dos Casos de Uso não ajustados com os descobertos nos pontos não
ajustados dos Atores, isso resultará em PTNA (Pontos Totais Não Ajustados):

Prof. Marcelo Nogueira


UNIP – Universidade Paulista – Engenharia de Software - Métricas

PTNA = TPNAA + TPNAUC

Este cálculo é obtido: PTNA = 8+7 = 15

6º Passo – Criar a tabela de Fatores de Complexidade Ambiental (FCA)

Existem oito Fatores de Complexidade Ambiental (FCA), quais sejam:

F1 - Familiaridade com o Processo Iterativo Unificado;


F2 - Experiência na aplicação;
F3 - Experiência em orientação a objetos;
F4 - Capacidade de liderança de análise;
F5 - Motivação;
F6 - Estabilidade de requisitos;
F7 - Consultores Part-Time;
F8 - Dificuldade de programação na linguagem;

O valor do peso de cada fator é fornecido pelo método e foi atribuído devido à
importância de cada um.

A cada fator é assinalado um valor entre 0 (zero) e 5 (cinco), dependendo do seu reflexo
no projeto. Você pode considerar estes valores como:

0 = Não está presente ou não é suficiente;


1 = Insignificante influencia;
2 = Influência moderada;
3 = Influência média;
4 = Influência significativa;
5 = Influência significativa através de todo o processo.

O EFator é calculado: EFator = Peso * Valor

O Fator de Complexidade Ambiental (FCA) é calculado: FCA = 1,4 + (-0,03 * Efator)

Fator Descrição Peso Valor EFator


F1 Familiaridade com o Processo Iterativo Unificado 1.5 4 6
F2 Experiência na Aplicação 0.5 3 1.5
F3 Experiência em orientação a objetos 1 4 4
F4 Capacidade de Liderança de Análise 0.5 4 2
F5 Motivação 1 3 3
F6 Estabilidade de Requisitos 2 4 8
F7 Consultores Part-Time -1 0 0
F8 Dificuldade de Programação na Linguagem -1 3 -3
Total (Efator) = 21,5
FCA => 1,4 + (-0,03 * 21,5) = 0,755

Prof. Marcelo Nogueira


UNIP – Universidade Paulista – Engenharia de Software - Métricas

7º Passo – Criar a tabela de Fatores de Complexidade Técnica (FCT)

Existem 13 Fatores de Complexidade Técnicos (FCT):


T01 - Distribuição do sistema;
T02 - Resposta aos objetivos de desempenho;
T03 - Eficiência do usuário final;
T04 - Complexidade do Processo Interno;
T05 - Código deve ser reutilizado;
T06 - Facilidade de instalação;
T07 - Facilidade de uso;
T08 - Portabilidade;
T09 - Facilidade de alterar;
T10 - Concorrência;
T11 - Features de segurança;
T12 - Acesso direto a dispositivos de parceiros;
T13 - Treinamento especial aos usuários.
O valor do peso de cada fator é fornecido pelo método e foi atribuído devido à
importância de cada um.
A cada fator é assinalado um valor entre 0 (zero) e 5 (cinco), dependendo do seu reflexo
no projeto. Você pode considerar estes valores como:
0 = Não está presente ou não é suficiente;
1 = Insignificante influencia;
2 = Influência moderada;
3 = Influência média;
4 = Influência significativa;
5 = Influência significativa através de todo o processo.
O TFator é calculado: TFator = Peso * Valor
Fator de Complexidade Técnica (FCT): FCT = 0,6 + (0,01 * Tfator)

Fator Descrição Peso Valor Tfator


T01 Distribuição do sistema 2 5 10
T02 Resposta aos objetivos de desempenho 1 4 4
T03 Eficiência do usuário final 1 2 2
T04 Complexidade do Processo Interno 1 4 4
T05 Código deve ser reutilizado 1 2 2
T06 Facilidade de instalação 0.5 5 2.5
T07 Facilidade de uso 0.5 3 1.5
T08 Portabilidade 2 3 6
T09 Facilidade de alterar 1 3 3
T10 Concorrência 1 2 2
T11 Features de segurança 1 2 2
T12 Acesso direto a dispositivos de parceiros 1 5 5
T13 Treinamento especial aos usuários 1 3 3
Total (Tfator) = 47
FCT => 0.6 + (0,01 * 47) = 1,07

Prof. Marcelo Nogueira


UNIP – Universidade Paulista – Engenharia de Software - Métricas

8º Passo – Calcular os Pontos Totais de Caso de Uso

Calcule os Pontos dos Casos de Uso (PTUC) multiplicando os Pontos Totais Não
Ajustados (PTNA) por Fator de Complexidade Ambiental (FCA) por Fator de
Complexidade técnica (FCT):

PTUC = PTNA * FCA * FCT


Então:

PTUC = 15 * 0,755 * 1,07


PTUC = 12,117750

9º Passo – Efetivar estimativas com os pontos obtidos

Multiplique o número de pontos encontrados pelo número de homens\hora por ponto –


existe uma sugestão de Karner de usarmos 20 homens\hora trabalhadas por ponto, mas
podemos manipular isso. Esse cálculo nos dará o número de horas que serão gastas na
construção da solução:

Esforço = PTUC * 20

Então:
Esforço = 12.117750 * 20 = 242.355 horas

Esforço

Entende-se por esforço, todo o trabalho que será necessário para a implementação do
software, ou seja:

Diagrama de Casos de Uso terminados normalizados e validados;


Diagrama de Classes terminados e validados;
Diagrama de seqüência pronto e validado;
Interface Gráfica implementada e validada;
Diagrama de Estado pronto e validado;
Diagrama de Entidade / Relacionamento pronto e validado;
Codificação / compilação na linguagem esperada terminada;
Documentação pronta;
Testes terminados;
Homologação com cliente final terminada e assinada;
Fase de transição terminada.

Referências Bibliográficas

Medeiros, Ernani, Desenvolvendo Software com UML 2.0, São Paulo, Pearson, 2004.
Tonini, Antonio Carlos, Métricas de Software, São Paulo, SPIN, 2004.
Pressman, Roger S., Engenharia de Software, Rio de Janeiro, Mc Graw Hill, 2002.
Rational Rose 2000. http://www.rational.com http://www.ibm.com.br

Prof. Marcelo Nogueira

Você também pode gostar