Você está na página 1de 88

Mtricas em

Projetos de Software
Aula 3
Marcelo Daibert
http://daibert.pro marcelo@daibert.pro

Apresentao
Marcelo Daibert

Graduado em Sistemas de Informao pela FMG


Especialista em Cincia da Computao pela UFV
Mestre em Cincia da Computao pela UFV
Gerente Tcnico da Opticalhost Optical Solues em
Informtica LTDA
Coordenador e Professor do Curso de Graduao em Cincia
da Computao da FAGOC Faculdade Governador Ozanam
Coelho
Lattes: http://lattes.cnpq.br/2823279949488775
Email MSN Google Talk: marcelo@daibert.pro
Site: http://daibert.pro
Twitter - @msdaibert
Submisso de Trabalhos / Projetos: http://suporte.daibert.pro

Agenda Aula 2
Tcnica Delhi Relatrio Final
PF Anlise de Pontos de Funes
UCP Use Case Points (?)

Tcnica Delphi
Relatrio

APF Anlise de Pontos de Funes


Function Point Analysis FPA
Quantifica o produto do trabalho de
desenvolvimento e manuteno de sistemas no
que diz a respeito de funes efetivamente
entregues ao usurio final, independentemente
da metodologia e ferramentas utilizadas

APF Histrico
1974 GUIDE - IBM
1979 IBM - Allan Albrecht
1986 IFPUG
SPQR/20
1993 Function Point Workbench

APF
Define uma medida utilizada para determinar o
tamanho de uma aplicao. Ela se baseia nas
funes executadas pela aplicao do ponto de
vista do usurio
Premissas:
Entradas Externas
Sadas Externas
Arquivos Lgicos Internos
Arquivos de Interface Externa
Consulta Externa

APF
Entrada Externa:
Processo elementar que processa dados ou
informaes de controle vindos de fora da fronteira
da aplicao. A principal inteno de uma EE
manter um ou mais ALI e/ou alterar o
comportamento do sistema

APF
Sada Externa:
Processo elementar que gera dados ou informaes
de controle que saem da fronteira da aplicao
Principal objetivo de uma SE apresentar dados ao
usurio por meio de lgica de processamento que
no seja apenas recuperao de dados.
A lgica de processamento deve obrigatriamente
conter ao menos uma frmula matemtica ou
clculo, ou criar dados derivados. Pode tambm
manter um ou mais ALIs e/ou alterar o
comportamento do sistema

APF
Sada Externa:
Exemplos:

Relatrios com totalizaes de dados


Relatrios que tambm atualizam arquivos
Consultar com apresentao de dados derivados ou clculos
Gerao de arquivos de movimento para outra aplicao
Informaes em formatos grficos

No Exemplos:
Consultas e relatrios sem nenhum totalizador, que no atualiza
ALI, no tem dado derivado ou modificam o comportamento do
sistema
Dois relatrios iguais, apenas com a distino de ordenao

APF
Arquivos Lgicos Internos
Grupos lgicos de dados do ponto de vista do
usurio cuja manuteno feita internamente na
aplicao

Arquivos de Interface Externa:


Grupo lgico de dados que passa de uma aplicao
para outra cuja manuteno pertence a outra
aplicao

APF
Consulta Externa:
Processo elementar que envia dados ou informaes
de controle para for a da fronteira da aplicao
A principal de uma CE apresentar informao ao
usurio por meio de uma simples recuperao de
dados de ALIs e/ou AIEs. A lgica de processamento
no deve conter frmula matemtica ou clculo,
criar dados derivados, manter um ou mais ALI e/ou
alterar o comportamento do sistema.

APF - Processo
Identificar e enumerar as funes da aplicao:
Nmero de Entradas Externas, Sadas Externas,
Arquivos Lgicos Internos, Arquivos de Interface
Externa e Consultas Externas

Classificar cada uma das funes identificadas


no seu nvel de complexidade
Simples, mdio ou complexo

APF - Processo
Ajustar o nmero de pontos de funo brutos ao
nvel de complexidade de processamento

APF Complexidade Entrada Externa

APF Complexidade Sada Externa

APF Complexidade ALI

APF Complexidade AIE

APF Complexidade Consulta Externa

APF Pesos

APF Produtividade / Linguagem

APF Ajuste
Para determinar o fator de ajuste, deve-se
estimar o nvel de influncia para cada uma das
caractersticas da aplicao relacionada abaixo:

APF Ajuste
Comunicao de Dados

APF Ajuste
Funes Distribudas

APF Ajuste
Performance

APF Ajuste
Configurao do Equipamento

APF Ajuste
Volume de Transaes

APF Ajuste
Entrada de Dados online

APF Ajuste
Interface com o Usurio

Auxlio navegao (teclas de funo, acesso direto e menus dinmicos)


Menus, Menus pop-up windows
Documentao on-line (help on-line)
Movimento automtico do cursor, Movimento de tela (scrolling) vertical e
horizontal
Impresso remota (atravs de transaes on-line),Processos batch submetidos a
partir de transaes on-line
Teclas de funo pr-definidas, Seleo de cursor em campos da tela
Utilizao intensa de campos com vdeo-reverso, intensificados, coloridos e
outros efeitos
Impresso da documentao das transaes on-line atravs de hard-copy
Utilizao de mouse ou outros dispositivos apontadores
O menor nmero possvel de telas para executar as funes do negcio (fcil
navegao)
Suporte bilngue (suporte a duas lnguas, contar como quatro itens)
Suporte multilngue (suporte a mais de duas lnguas, contar como seis itens)

APF Ajuste
Interface com o Usurio

APF Ajuste
Atualizao online

APF Ajuste
Processamento Complexo
Controle sensitivo processamento especial de
auditoria e/ou processamento de segurana
especfica da aplicao
Processamento lgico extensivo
Processamento matemtico extensivo
Processamento gerando muitas excees, resultando
em transaes incompletas que devem ser
processadas novamente
Processamento complexo para manusear mltiplas
possibilidades de entrada/sada - multimedia

APF Ajuste
Processamento Complexo

APF Ajuste
Reutilizao

APF Ajuste
Facilidade de Implantao

APF Ajuste
Facilidade Operacional

APF Ajuste
Mltiplos Locais

APF Ajuste
Facilidade de Mudanas Flexibilidade
Esto disponveis facilidades como consultas e
relatrios flexveis para atender necessidades
simples conte como 1 item
Esto disponveis facilidades como consultas e
relatrios flexveis para atender as necessidades de
complexidade mdia conte como 2 itens
Esto disponveis facilidades como consultadas e
relatrios flexveis para atender as necessidades
complexas conte como 3 itens

APF Ajuste
Facilidade de Mudanas Flexibilidade
Dados de controle so armazenados em tabelas que
so mantidas pelo usurio atravs de processos
online, mas mudanas so tornadas efetivas
somente no dia seguinte
Dados de controle so armazenados em tabelas que
so mantidas pelo usurio atravs de processos
online, as mudanas tem efeito imediatamente

APF Ajuste
Facilidade de Mudanas Flexibilidade

APF Ajuste
Fator de Ajuste:

FA = 0,65 + (0,01 * NI)


NI Nvel de Influencia
FA Fator de Ajuste

APF Dinmica
Vamos contar
Teoria:
S aprende fazendo

APF Exemplo
Funcionalidades do Prottipo:
Listas Clientes
Incluir, excluir e alterar clientes
Listas produtos
Incluir, excluir e alterar produtos
Listar histtrico de vendas
Incluir histrico de vendas
Relatrio de vendas

APF Exemplo
Modelo Lgico

APF Exemplo
Arquivo Lgico Interno

*DET Data Element Type


*RET Record Element Type

APF Exemplo
Arquivo Lgico Interno

APF Exemplo
Arquivo Lgico Interno

APF Exemplo
Arquivo Lgico Interno

*DET Data Element Type


*RET Record Element Type

APF Exemplo
Entrada Externa
Incluir Cliente
Excluir Cliente
Alterar Cliente
Incluir produto
Excluir produto
Alterar produto
Incluir histrico de vendas

APF Exemplo
Entrada Externa

APF Exemplo
Entrada Externa

APF Exemplo
Entrada Externa

APF Exemplo
Entrada Externa

APF Exemplo
Entrada Externa

APF Exemplo
Entrada Externa

APF Exemplo
Entrada Externa

APF Exemplo
Entrada Externa

APF Exemplo
Entrada Externa

APF Exemplo
Entrada Externa

APF Exemplo
Entrada Externa

APF Exemplo
Entrada Externa

APF Exemplo
Entrada Externa

APF Exemplo
Entrada Externa

APF Exemplo
Entrada Externa

APF Exemplo
Entrada Externa

APF Exemplo
Sada Externa
Relatrio de Vendas

APF Exemplo
Sada Externa

APF Exemplo
Sada Externa

APF Exemplo
Sada Externa

APF Exemplo
Consulta Externa
Listas Clientes
Listar Produtos
Listar Histrico de Vendas
Criao de Entradas Externa querer vrias Consultas
Externas
Entrada externa para recuperar dados do cliente
Entrada externa para recuperar a lista de produtos

APF Exemplo
Consulta Externa

APF Exemplo
Consulta Externa

APF Exemplo
Consulta Externa

APF Exemplo
Consulta Externa

APF Exemplo
Consulta Externa

APF Exemplo
Consulta Externa

APF Exemplo
Resumo Final

UCP Use Case Points


Mtodo criado por Gustav Karner 1993
Objetivo: Medir projetos orientados a objetos
APF Estruturado
UCP OO

So avaliados principalmente os Casos de Uso


Entretanto so avaliados ainda:
TCF Fatores de complexidade tcnica
EF Fatores Ambientes

UCP Processo
Calcular o UUCP Unadjusted Use Case Point
Relacionar e classificar os atores envolvidos
complexidade abaixo:

UCP Processo
Calcular o UUCP Unadjusted Use Case Point
Relacionar e classificar os casos de uso
complexidade abaixo:

UCP Processo
Calcular o UUCP Unadjusted Use Case Point
UUCP = Total de pesos dos atores relacionados +
total de pesos dos casos de uso relacionados

UCP Processo
Calcular o TCF (Technical Complexity Factor):
Atribuir um valor a cada fator em uma escala de 0 a
5, onde o 0 significa que o fator irrelevante e 5
significa que essencial. Se o fator no importante
e no irrelevante deve-se atribuir valor 3

UCP Processo
Calcular o TCF (Technical Complexity Factor):

UCP Processo
Calcular o TCF (Technical Complexity Factor):
Multiplicar o valor (fator) atribudo pelo respectivo
peso, gerando a coluna resultado
Totalizar o resultado da multiplicao - TFATOR
Calcular o fator de complexidade de acordo com a
seguinte frmula:
TCF = 0,6 + (0,01 * TFATOR)

UCP Processo
Calcular o EF (Environmental Factor)
Atribuir um valor a cada fator em uma escala de 0 a
5, onde o 0 significa que o fator irrelevante e 5
significa que essencial. Se o fator no importante
e no irrelevante, deve-se atribuir valor 3

UCP Processo
Calcular o EF (Environmental Factor)

UCP Processo
Calcular o EF (Environmental Factor)
Multiplicar o valor (fator) atribudo pelo respectivo
peso (coluna resultado)
Totalizar o resultado da multiplicao EFATOR
Calcular o fator de complexidade com a frmula:
EF = 1,4 + (-0,03 * EFATOR)

UCP Processo
Calcular o UCP Use Case Points
UCP UUCP * TCF * EF
Karner sugere a aplicao de 20hs/homem por
ponto de UCP
Estimativa (horas) = UCP * 20;