Sie sind auf Seite 1von 72

Medidas de

Esforo de
Desenvolvimento
de Software
Prof. Luiz Leo

luizleao@gmail.com
luizleao.com
Unidade 2 Determinao de ponto
funo
Ponto Funo
Fator de ajuste
Contagem de ponto funo no ajustado
Ponto funo ajustado
Medidas no modelo preliminar de dados
Modelo e funes bsicas
Projeto detalhado
Medir arquivos lgicos internos
Complexidade de algoritmos
Unidade 2 Determinao de ponto funo
(cont.)

Tratamento nas entradas de dados


Complexidade da entrada
Sada
Complexidade da sada

Consultas
Complexidade das consultas
TED Tipo de Elemento de Dados
TER Tipo de Elemento de Registro
TAR Tipo de Arquivo Referenciado
Unidade 2 Determinao de ponto funo
(cont.)

Calculo de PF para:
Um caso e uso
Um programa
Um diagrama de classes
Um diagrama de sequencia
Uma tela
Um arquivo
Um DFD
Um diagrama lgico de dados
Uma proposta de manuteno
Uma classe de projeto
Anlise de Pontos de Funo
Criado por Allan Albrecht na IBM em 1979

Foi regulado pelo IFPUG - International Function Point Users


Group, onde foi criada a norma ISO 20296:2009 que
especificou as definies, regras e passos para a
aplicao da medida de tamanho funcional do IFPUG
(FSM)

Define uma relao emprica baseada em medidas de


contagem do domnio de aplicao do software
(requisitos) e avaliao da complexidade do software.

Est diretamente ligado a funcionalidade que o usurio


tem acesso (Casos de Uso), abstraindo detalhes de
implementao
Objetivos da Anlise de PF
A anlise considera as vrias formas com
que os usurios interagem com o sistema,
com os seguintes objetivos:
1. Fornecer medidas consistentes;
2. Medir funcionalidades que o usurio
solicita ou recebe;
3. Independncia da tecnologia;
4. Mtodo simples.
Conceitos, segundo IFPUG
Usurio: Qualquer pessoa ou sistema que interaja
com o sistema a qualquer momento e especifique
requisitos funcionais.
Reconhecido pelo Usurio: Requisitos definidos para
processos ou grupos de dados acordados e
entendidos entre usurio e desenvolvedor
Viso do Usurio: Requisitos funcionais como
percebidos pelo usurio
Fronteira: Interface conceitual entre o software em
estudo e seus usurios
Processo de Contagem de PF
Unidade 2

Elementos de Contagem de PF
Tipos de Contagem
Contagem de um projeto de
desenvolvimento (incluindo migrao)

Contagem de um projeto de melhoria

Contagem de uma aplicao em


produo (ou baseline)
Unidade 2

Escopo da Contagem

O escopo define se a contagem abranger


um ou mais sistemas ou apenas parte de um
sistema.
Por exemplo:
Todas as funcionalidades disponveis
Apenas as funcionalidades efetivamente
utilizadas pelo usurio
Apenas algumas funcionalidades especficas
(relatrios, transaes cadastrais, etc.)
Unidade 2

Fronteira da Aplicao
a interface conceitual que delimita o
software que ser medido e o mundo
exterior (os atores de interface)
Ator = pessoa ou sistema que interage com a
aplicao, recebendo ou enviando dados
Unidade 2

Algumas regras para identificar as


fronteiras
Deve ser feita com base no Ponto de Vista do Usurio (o que ele
pode entender e descrever)
Baseada na separao das funes relacionadas pelos
processos do negcio, no considerando tecnologias (banco de
dados, p. ex.)
Obter a documentao do sistema
Verificar como os grupos de dados so mantidos
Identificar as entidades (dados) e processos (casos de uso, por
exemplo)
Unidade 2

Funes do Tipo Dado

Representam a funcionalidade oferecida ao usurio para


cumprir requisitos de dados
Podem ser de dois tipos:
Arquivo Lgico Interno (ALI)
Arquivo de Interface Externa (AIE)

O nome arquivo refere-se a grupos de dados


logicamente correlatos e no sua implementao fsica
Ex: Um arquivo Pessoa Fsica pode conter dados das
tabelas Pessoa, PessoaFisica, PessoaEndereco, etc.
Unidade 2

Arquivo Lgico Interno (ALI)

Um grupo lgico de dados ou de informaes


de controle, identificvel pelo usurio,
mantido dentro da fronteira da aplicao que
est sendo contada.
Armazena dados mantidos por um ou mais
processos (transaes) da aplicao em
questo.
Ex: tabelas de banco de dados atualizadas pela
aplicao (no considerar chaves primrias do tipo
identificador, como id ou sequncia).
Unidade 2
Arquivo de Interface Externa (AIE)
Um grupo lgico de dados ou informaes de
controle, identificvel pelo usurio, mantido
fora da fronteira da aplicao que est sendo
contada.
Exemplos:
tabelas de banco de dados lidas pela aplicao,
mas mantidas por outra
Arquivos externos (gerados externamente)
Mensagens de dados (em um protocolo) gerados
externamente
Unidade 2
Atribuindo complexidade a um ALI/AIE
Identificar os TERs e TEDs
TER Tipo de Elemento de Registro

Subgrupo de dados dentro de um ALI/AIE reconhecvel


pelo usurio
Ex: Arquivo Pessoa, que a generalizao de PessoaFisica,
pode ser identificado pelo usurio no formulrio, logo,
conta como 2 TERs

TED Tipo de Elemento de Dado

Campo nico, no repetitivo e reconhecvel pelo usurio


Ex: Campos do arquivo (ou entidade), que o usurio
visualiza no formulrio
Unidade 2
Tabela de Referncia -
Complexidade de ALIs e AIEs
Unidade 2
Peso das Funes de Dados
Unidade 2
Funes de Transao
Representam a funcionalidade oferecida
ao usurio para processar dados da
aplicao

Podem ser de trs tipos:


Entrada Externa (EE)

Sada Externa (SE)

Consulta Externa (CE)


Unidade 2
Entrada Externa (EE)
Cada transao de entrada contada.
A transao deve atualizar uma base de
dados com incluso, alterao ou
excluso.
Transao pode ser interpretada como uma
rotina/processo que executa um conjunto de
aes atmicas que produz um resultado
visvel e de valor ao usurio do sistema.
Pode ser mapeado em telas, formulrios (em
janelas), pginas, etc.
Unidade 2
Sada Externa (SE)
Relatrios, telas, mensagens de erros e qualquer
processo que visvel externamente ao sistema
(caso de uso).
Deve obrigatoriamente calcular ou criar dados
derivados como detalhes de subtotais, arquivos
intermedirios internos ou alterar o resultado do
comportamento do sistema.

Ex: Consulta a validade do carto de credito do


Cliente. Caso esteja invlido, exibida uma
mensagem e excludo o carrinho de compras
Unidade 2
Consulta Externa (CE)
uma funcionalidade de consulta simples,
que atravs de uma solicitao do usurio
(uma entrada on-line), resulta na gerao
de uma resposta imediata sob a forma de
uma sada on-line.

Ex: Consulta ao cadastro de clientes.


Unidade 2
Atribuindo complexidade a uma Funo de
Transao
Identificar os TARs e TEDs
TAR Tipos de arquivos referenciados
Quantidade de ALI/ AIE mantidos (exceto CE) ou
referenciados pela funo de transao

TED Tipos de Elementos de Dados


Campos reconhecveis pelo usurio, que cruzam a
fronteira da aplicao durante a funo de transao
Ex: Campos do arquivo (ou entidade), que o usurio
visualiza no formulrio
Unidade 2
Tabela de referncia - Complexidade
de EEs

Pontuao
Para cada Entrada Externa ser atribudo um nmero
de Pontos de Funo, de acordo com a sua
complexidade funcional relativa:
BAIXA (SIMPLES COMPLEXIDADE): 3 (trs) Pontos por
Funo;
MDIA COMPLEXIDADE: 4 (quatro) Pontos por Funo;
ALTA (COMPLEXA): 6 (seis) Pontos por Funo.
Unidade 2
Complexidade de Sadas Externas
ITENS DE DADOS REFERENCIADOS (TED)

N DE ARQUIVOS
REFERENCIADOS 1A5 6 A 19 20 OU MAIS
(TAR)
Apenas 1 SIMPLES SIMPLES MDIA

De 2 ou 3 SIMPLES MDIA COMPLEXA

4 ou mais MDIA COMPLEXA COMPLEXA

Pontuao
Para cada Sada Externa ser atribudo um nmero de
Pontos de Funo, de acordo com a sua complexidade
funcional relativa:
SIMPLES: 4 (quatro) Pontos por Funo;
MDIA: 5 (cinco) Pontos por Funo;
COMPLEXA: 7 (sete) Pontos por Funo.
Unidade 2
Complexidade de Consultas Externas
ITENS DE DADOS REFERENCIADOS (TED)
N DE ARQUIVOS
REFERENCIADOS 1A5 6 A 19 20 OU MAIS
(TAR)
Apenas 1 SIMPLES SIMPLES MDIA
De 2 a 3 SIMPLES MDIA COMPLEXA
4 ou mais MDIA COMPLEXA COMPLEXA

Pontuao
Para cada Consulta Externa ser atribudo um nmero de
Pontos por Funo, de acordo com a sua complexidade
funcional relativa:
SIMPLES: 3 (trs) Pontos por Funo;
MDIA: 4 (quatro) Pontos por Funo;
COMPLEXA: 6 (seis) Pontos por Funo
Unidade 2
Resumo dos pesos das Funes de
Transao
Unidade 2
Resumo do Clculo dos PF No
Ajustados

Fator de peso da Complexidade


Parametro de Medio Contagem baixa media alta
EE Entradas Externas X 3 4 6 =
SE Sadas Externas X 4 5 7 =
CE Consultas Externas X 3 4 6 =
ALI Arquivos Lgicos Internos X 7 10 15 =
AIE Arquivos de interfaces ext. X 5 7 10 =

Contagem total - Pontos por funo (no ajustado)


Unidade 2
Fator de Ajuste de Valor (FAV)
Passo final na contagem de pontos de funo

Avalia restries de negcio adicionais do


software no consideradas pelos cinco tipos de
funes.

Todas as funes avaliadas na contagem de


Pontos de Funo so funes do software

Baseado na influncia de 14 Caractersticas


Gerais do Sistema
Unidade 2
Fator de Ajuste

O IFPUG (International Function Point Users


Group), rgo responsvel pela tcnica,
tornou o fator de ajuste opcional para
adequar-se ao padro ISO/IEC.
O objetivo do fator ajustar os pontos de
funo no-ajustados em 35% de acordo
com a influncia de 14 caractersticas gerais.
No processo aqui apresentado, no ser
utilizado no clculo final.
Unidade 2
Clculo do Fator de Ajuste

Caractersticas no funcionais interferem na


complexidade do produto.

Calcular o Fator de Ajuste:


Avaliar o impacto de cada uma das 14
caractersticas
Atribuir a cada caracterstica um peso de 0 a 5.
Calcular o nvel de influncia:
Somando-se os pesos de cada uma das
caractersticas.
Aplicar a frmula de clculo do fator de ajuste
(variao de + 35%).
Unidade 2
Clculo do Fator de Ajuste
Atribumos uma nota de 0 5 a
Caractersticas Gerais: cada uma das Caractersticas
1. Comunicao de Dados Gerais do Sistema que
2. Processamento de Dados Distribudo (Funes corresponde aos seguintes
Distribudas) critrios:
3. Desempenho 0 Nenhuma influncia,
4. Configurao do equipamento 1 Influncia incidental,
5. Volume de Transaes 2 Influncia Moderada,
6. Entrada de Dados On-Line 3 Influncia Mdia,
Interface com o usurio
7.
4 Influncia Significante,
8. Atualizao On-Line
5 Essencial
9. Processamento Complexo
10. Reusabilidade
11. Facilidade de Implantao
12. Facilidade Operacional
13. Mltiplos Locais
14. Facilidade de mudanas
Unidade 2
Clculo do Fator de Ajuste
Fator de Ajuste:

Nt(total) = 14 Nt

i=1

VAF = 0,65 + (0,01 X Nt(total))

(0,65 <= VAF <= 1,35)


Unidade 2
Estudo de Caso: Sistema de Controle
de Ponto

O sistema tem por objetivo registrar a entrada


e sada de funcionrios de uma determinada
empresa.
O exemplo serve para ilustrar a tcnica de PF.
Portanto, o sistema uma simplificao de um
sistema real.
A seguir, apresentada uma pequena
documentao necessria para
compreenso do sistema e serve de base
para o clculo dos PF.
Unidade 2
Descrio do Sistema
No sistema de controle de pontos, um
trabalhador registra suas entradas e sadas
do ambiente do trabalho.

Casoo trabalhador esquea o carto de


ponto, ele pode justificar tal ocorrncia.

O trabalhador tambm pode acompanhar


a sua frequncia, onde o sistema
apresenta os totais de horas trabalhadas
em um determinado perodo.
Unidade 2
Descrio do Sistema (Cont.)
Cada trabalhador pode ter acesso apenas
s suas informaes.

Alm disso, o gerente pode emitir um


relatrio com as informaes de frequncia
de todos os funcionrios de seu
departamento.
Unidade 2
Viso do Sistema de Ponto

Consultar
Frequencia
Unidade 2
Casos de Uso
Registrar Permite ao trabalhador inserir, alterar, excluir as
frequncia informaes de entrada e sada em uma data.

Registrar O trabalhador insere uma justificativa em caso de


justificativa alterao ou excluso de horrio.

Acompanhar Exibe ao trabalhador o acompanhamento de seus


frequncia registros de ponto em um perodo escolhido,
totalizando as horas trabalhadas
Emitir relatrio de Permite ao gerente acompanhar o registro de
freqncia presena dos trabalhadores em um determinado
perodo informado.
Efetuar Logon Permite que o funcionrio (trabalhador ou gerente)
efetue a autenticao no sistema e, a partir deste
ponto, escolher as opes disponveis para acesso
ao sistema dependendo do perfil do usurio.
Consultar Consulta que o usurio efetua, visualizando os
Frequencia registros do dia
Unidade 2
Diagrama de Classes de Domnio

Observar que a classe


Funcionrio faz parte de
outro sistema (Controle de
Segurana) e a aplicao de
controle de ponto apenas faz
referncia a ela.

40
Unidade 2
Modelo de Banco de Dados (DER)

Observe que a classe Justificativa


(do modelo de classes) foi mapeada
para duas tabelas: JUSTIFICATIVA e
LINHAS.
Unidade 2
Transaes (Campos e Arquivos Referenciados)

Transao (Tela/Rel) Campos Arquivo (Tabela)

Logon Matricula, Senha, Mensagens, Comando Funcionrio


Registro de Ponto Indicador de entrada e sada, Mensagens, Apontamento
Comando (Ponto)
Consultar Freqncia Data do ponto, Horrio de entrada, Hora de Apontamento
sada, Mensagens, Comando

Registrar (incluir) freqncia Indicador de entrada ou sada, Horrio, Apontamento,


com Justificativa Justificativa, Mensagens, Comando Justificativa

Excluir Apontamento Mensagens, Comando Apontamento,


Justificativa
Alterar Apontamento Horrio anterior, Horrio novo, Justificativa, Apontamento,
Mensagens, Comando Justificativa
Acompanhar Freqncia Data inicial, Data final, Total de horas no Apontamento,
perodo, nome do funcionrio, data do Justificativa,
ponto, horrio do ponto, indicador de Funcionrio
ent/sada, justificativa, Mensagens,
Comando
Emitir Relatrio de Freqncia Data Inicial, Data final, Matricula, Nome, Apontamento,
Total de horas, Quantidade de Justificativa,
Justificativas, Total de horas geral, Funcionrio
Mensagens, Comando
Unidade 2
Contagem: Entradas Externas
Comple
Descrio da funo TAR TED PF
x

Registro de Ponto 1 3 S 3

Registrar (incluir)
freqncia com 2 5 M 4
Justificativa

Excluir Apontamento 2 2 S 3

Alterar Apontamento 2 5 M 4

TOTAL (EE) 14
Unidade 2
Contagem: Sadas Externas
TA TE
Descrio da funo Complex PF
R D

Logon 1 4 S 4

Acompanhar Frequencia 3 10 M 5

Emitir Relatrio de
3 9 M 5
Frequencia

TOTAL (SE) 14
Unidade 2
Contagem: Consultas Externas

Descrio TAR TED Complex PF

Consultar Freqncia 1 5 S 3

TOTAL (CE) 3
Unidade 2
Contagem:
Arquivos Lgicos Internos

Descrio TER TED Complex PF

Apontamento 1 3 S 7

Justificativa 1 3 S 7

TOTAL (ALI) 14
Unidade 2
Contagem: Arquivos de Interface
Externa

Descrio TER TED Complex PF

Funcionrio 1 4 S 5

TOTAL (AIE) 5
Unidade 2
Contagem Final de PF (no ajustados)
Item PF Brutos
Entradas Externas 14
Sadas Externas 14
Consultas Externas 3
Arquivos Lgicos Internos 14
Arquivos Lgicos Externos 5
Pontos Funo (no-
50
ajustados)
Unidade 2

Tamanho de produtos conhecidos*

Fonte: *Jones, Capers T., Estimating Software Costs, McGraw-Hill, 1998


Unidade 2
Correspondncia aproximada entre PF e
linhas de cdigo
LOC/FP
Produtividade
Mdia
Linguagem Mdia Mediana Baixa Alta
Cons

Access 35 38 15 47 -

JSP 59 - - - -
JavaScript 58 63 42 75 50
ASP 69 62 32 127 -

Java 62 63 53 77 80
Visual Basic 47 42 16 158 -

VBScript 36 34 27 50 50
Fonte: http://www.qsm.com/FPGearing.html
Unidade 2
Fatores de McConnell
Variao da produtividade em funo da
escala

PM Pessoa Ms
Unidade 2
Aplicaes da Tcnica APF
Produtividade no Desenvolvimento
Horas por PF

Esforo de desenvolvimento
Produtividade (H/PF) * Tamanho (PF)

Custo de Software
Tamanho (PF) * Custo (R$/PF)

Taxa de Produo de Software


PF/Ms; PF/Ano

Taxa de Manuteno de Software


PF manuteno / PF aplicativo
Unidade 2
Clculo de PF
Caso de Uso
Unidade 2
Clculo de PF
Caso de Uso
Transaes:
Caso de Uso (Diagrama de Casos de Uso)

Arquivos:
Entidades (Caso de Uso Descritivo)
Unidade 2
Clculo de PF
Programa
Unidade 2
Clculo de PF
Programa
Transaes:
Identificar a quantidade de Telas
Verificar quantas transies cada tela ter
Arquivos:
Identificar nas tela quantas entidades os campos
representam.
Contar a quantidade de campos visveis
Mensagem de retorno conta como um atributo
do arquivo, assim como o boto de cadastro
Unidade 2
Clculo de PF
Diagrama de Classes
Unidade 2
Clculo de PF
Diagrama de Classes
Transaes:
Mtodos das classes que o usurio tenha
acesso
Implementaes internas no sero contadas

Arquivos:
Verificar classe ou grupo de classes representa
uma entidade (Arquivo)
Somar os atributos que compem a entidade
Unidade 2
Clculo de PF
Diagrama de Classes
Obs:1 Apenas os atributos que sero exibidos
devem ser contados. Detalhes de
implementao no sero considerados

Obs2: A contagem nos diagramas pode


antecipar as estimativas de custo/esforo,
mas preciso atentar para a Obs1
Unidade 2
Clculo de PF
Diagrama de Sequncia
Unidade 2
Clculo de PF
Diagrama de Sequncia
Transaes:
Cada passo da sequncia, menos se o retorno for
mensagem
Arquivos:
Cada Lifeline representa uma classe, que pode
representar um arquivo
Ver na classe os atributos a serem contados
Mensagem de retorno conta como um atributo
do arquivo
Unidade 2
Clculo de PF
Tela
Unidade 2
Clculo de PF
Tela
Transaes:
Quantidade de Transies de Tela
Ex: Na tela de cadastro temos uma consulta de dados
pessoais, que contar como uma transao a mais

Arquivos:
Identificar na tela quantas entidades os campos
representam.
Contar a quantidade de campos visveis
Mensagem de retorno conta como um atributo do
arquivo, assim como o boto de cadastro
Unidade 2
Clculo de PF
Arquivo
muito comum utilizarmos persistncia de dados
em formatos diversos de arquivos, pela facilidade
de manipulao (manual ou automatizada) e
pela portabilidade
Exemplos:
XML
CSV
Texto
Etc.
Unidade 2
Clculo de PF
Arquivo

Transaes:
Verificar que funcionalidades sensibilizam os
arquivos

Arquivos:
Normalmente, representam apenas um ALI
Arquivos XML, por serem dados estruturados,
podem, em algum momento, representar mais
de um ALI
Unidade 2
Clculo de PF
Arquivo

Exemplo
Ver o arquivo XML gerado pela ferramenta GOT
2
Unidade 2
Clculo de PF
DFD Diagrama de Fluxo de Dados
Unidade 2
Clculo de PF
DFD Diagrama de Fluxo de Dados
Transaes:
Identificar os processos que compem o
diagrama

Arquivos:
Identificar as Entidade Externa e Depsitos de
Dados, que representaro um ou mais arquivos
Enquanto as Entidades Externas podem ser ALIs
ou AIE, os Depsitos de Dados so sempre ALIs
Unidade 2
Clculo de PF
DFD Diagrama de Fluxo de Dados
Obs:
Cuidado na redundncia de dados, pois os
dados referente a Entidade Externa podem
fazer parte de um Arquivo e o Deposito de
Dados de Outro
Unidade 2
Clculo de PF
Diagrama Lgico
de Dados
Unidade 2
Clculo de PF
Diagrama Lgico
de Dados
Unidade 2
Clculo de PF
Diagrama Lgico de Dados
Transaes:
Processamentos e Condicionais
(Analisar) so contados

Arquivos:
Verificar dados da entrada e da sada de
dados

Das könnte Ihnen auch gefallen