Análise de Pontos de Função
Cristiane Oliveira
Novembro/2014
www.aprendavirtual.com
Sobre o instrutor
• CFPS – Certified Function Point Specialist (2006/2009).
• Mestre em Sistemas e Computação.
• Pós graduada em Sistemas de Informação com ênfase em
Componentes Distribuídos e Web.
• Analista de Desenvolvimento da Desenbahia, atuando
como Administradora de Dados e coordenadora de
projetos.
www.aprendavirtual.com
Roteiro
• Métricas de Software
- Por que medir software?
- Técnicas para mensuração de tamanho
• Análise de Pontos de Função
- Conceitos gerais
- Etapas de Pontuação
- Atividade Prática I (resolução durante a apresentação dos
conceitos)
• Estudo de Caso
- Atividade Prática II (resolução e debate)
www.aprendavirtual.com
Métricas de Software:
necessárias ou não?
www.aprendavirtual.com
Métricas
• “Quando se pode medir aquilo sobre o qual se está falando
e expressá-lo em números, sabe-se alguma coisa sobre o
mesmo; mas quando não se pode medi-lo, quando não se
pode expressá-lo em números, o conhecimento que se tem
é de um tipo inadequado e insatisfatório; este pode ser o
começo do conhecimento, mas dificilmente alguém terá
avançado em suas ideias para o estágio da ciência.”
PRESSMAN apud Lorde Kelvin,2005
www.aprendavirtual.com
Métricas
• Vamos pensar...
– Como se contrata a construção de uma estrada?
– Como se compra uma casa?
– Como se contrata o desenvolvimento de software?
– Como se compra um software?
www.aprendavirtual.com
Métricas
•
O gerenciamento de projetos deve ser auxiliado pela
utilização de uma métrica que permita a mensuração de
um projeto e, consequentemente, a geração de sua
estimativa de prazo, custo e recursos.
• “Não se pode gerenciar o que não se pode medir.”
DE MARCO, 1982
www.aprendavirtual.com
Como medir software?
• Passo 1: Definir o que será medido:
– Tamanho
– Complexidade do software
– Qualidade do produto
• Passo 2: Definir a técnica a ser usada
– Linhas de código (KLOC)
– Análise de Pontos de Função
www.aprendavirtual.com
Análise de Pontos
de Função
www.aprendavirtual.com
Análise de Pontos de Função
• A Análise de Pontos de Função (APF) é um método
padronizado para medição de sistemas, o qual visa
estabelecer uma medida de tamanho do software.
• Utilizada por instituições públicas e privadas para:
– Estimar o custo e recursos requeridos para o
desenvolvimento, melhoria e manutenção do software
– Estabelecer um fator de normalização para a comparação de
softwares
www.aprendavirtual.com
Um breve histórico
• 1979 – APF foi criada por Allan J. Albrecht (IBM).
• 1986 – Surgiu o IFPUG (International Function Point Users
Group).
• 1988 – Lançado o Function Point Counting Practices Manual.
• 1998 – Nasceu o BFPUG (Brazilian Function Point Users Group)
• 1990 a 2010 - Novas versões do CPM (Counting Practices
Manual) lançadas.
– Versão atual: 4.3.1 (Jan/2010), em conformidade com a
ISO/IEC 14143-1:2007 (Information technology - Software
Measurement - Functional Size Measurement – Definition of
Concepts)
www.aprendavirtual.com
Processo de Medição
Reunir a
documentação
disponível
Determinar
Escopo e a
Fronteira da
Contagem
Medir
Funções
de Dados
Medir
Funções
de Transação
Calcular
tamanho
funcional
Documentar
e
reportar
www.aprendavirtual.com
Processo de Medição
Reunir a
documentação
disponível
Determinar
Escopo e a
Fronteira da
Contagem
Medir
Funções
de Dados
Medir
Funções
de Transação
Calcular
tamanho
funcional
Documentar
e
reportar
www.aprendavirtual.com
Reunir documentação disponível
• Documentação deve descrever a funcionalidade entregue pelo
software.
• Exemplos de documentação:
– Requisitos
– Casos de Uso
– Modelos de dados/objetos, Diagramas de Classes
– Layout de relatórios e telas
– Manuais de Usuários
• Se não houver documentação, consulte um especialista no
negócio.
www.aprendavirtual.com
Na prática...
Sistema de Pesquisa (PESQ) – Documentação disponível
www.aprendavirtual.com
Processo de Medição
Reunir a
documentação
disponível
Determinar
Escopo e a
Fronteira da
Contagem
Medir
Funções
de Dados
Medir
Funções
de Transação
Calcular
tamanho
funcional
Documentar
e
reportar
www.aprendavirtual.com
Determinar Escopo e Fronteira
• Passo 01: Identificar o propósito da contagem
• Exemplos:
– Tamanho de uma release específica de software.
– Tamanho de toda uma aplicação
• Passo 02: Identificar o escopo da contagem:
– Contagem em Projetos de Desenvolvimento
– Contagem em Projetos de Melhoria
– Contagem de uma Aplicação
www.aprendavirtual.com
Determinar Escopo e Fronteira
• Projeto de Desenvolvimento:
– Mede as funcionalidades entregues com a primeira versão do
software.
– Escopo: Funções construídas e as funções de conversão de
dados
• Projeto de Melhoria:
– Mede as modificações em uma aplicação existente (inclusão,
alteração ou exclusão de funções).
– Escopo: Inclui as funções incluídas, alteradas e excluídas,
assim como as funções de conversão de dados
www.aprendavirtual.com
Determinar Escopo e Fronteira
• Aplicação:
– Cálculo efetuado através da pontuação das funcionalidades
existentes em uma dada versão de uma aplicação.
– Também conhecido como baseline ou tamanho funcional
instalados, inicia quando o projeto de desenvolvimento é
finalizado e é atualizado sempre que um projeto de melhoria
alterar funções da aplicação.
– Escopo: Depende do propósito
• Apenas as funções usada pelo usuário.
• Todas as funções disponibilizadas
www.aprendavirtual.com
Determinar Escopo e Fronteira
• Passo 03: Identificar a fronteira da aplicação
– A fronteira consiste em uma espécie de “membrana“ que
separa o software a ser mensurado das demais aplicações.
– Define o que é externo e interno em relação a aplicação
pontuada.
– Depende da visão externa do usuário da aplicação.
– É independente de considerações técnicas ou de
implementação.
www.aprendavirtual.com
Determinar Escopo e Fronteira
Exemplo de Fronteira da Aplicação
Financeiro
Recursos
Humanos
Controle
Patrimonial
www.aprendavirtual.com
Determinar Escopo e Fronteira
• Exemplo: O Sistema Acadêmico possui três módulos:
Controle das Mensalidades, Controle de Matrículas e
Controle dos Docentes. Como esse sistema será
pontuado? São três sistemas diferentes ou um único?
#ficaadica: Pode-se utilizar as
especificações do sistema, o diagrama de
contexto ou o diagrama de casos de usos
para determinar a fronteira da aplicação.
www.aprendavirtual.com
Na prática...
Sistema de Pesquisa (PESQ) – Escopo e Fronteira da
Aplicação
www.aprendavirtual.com
Processo de Medição
Reunir a
documentação
disponível
Determinar
Escopo e a
Fronteira da
Contagem
Medir
Funções
de Dados
Medir
Funções
de Transação
Calcular
tamanho
funcional
Documentar
e
reportar
www.aprendavirtual.com
Medir Funções de Dados
• As Funções de Dados representam a funcionalidade
oferecida ao usuário para satisfazer requisitos de dados
internos e externos.
• Uma Função de Dado pode ser classificada como:
– Arquivos Lógicos Internos (ALI)
– Arquivos de Interface Externa (AIE)
• O termo arquivo refere-se ao agrupamento lógico de dados
e não a estrutura física dos mesmos.
www.aprendavirtual.com
Medir Funções de Dados
• ALI (Arquivo Lógico Interno):
– Grupo de dados ou informações de controle
logicamente relacionados, reconhecido pelo usuário,
mantido dentro da fronteira da aplicação.
– A intenção primária de um ALI é armazenar dados
mantidos por um ou mais processos elementares da
aplicação.
www.aprendavirtual.com
Medir Funções de Dados
• Informações de controle:
– São dados que influenciam um processo elementar.
Especificam o que, quando ou como os dados serão
processados.
– Exemplo: O Departamento Financeiro da empresa
Xinguilingue estabeleceu um ciclo para o pagamento de
seus funcionários. Como essa informação de
periodicidade afeta o processo de pagamento dos
funcionários, deve ser considerada uma informação de
controle.
www.aprendavirtual.com
Medir Funções de Dados
• Processo Elementar:
– Menor unidade de atividade que tem significado para o
usuário.
– Constituiu uma transação completa.
– Auto contida
– Deve deixar o negócio da aplicação em um estado
consistente.
www.aprendavirtual.com
Medir Funções de Dados
• Exemplo de Processo Elementar:
– Os requisitos do usuário para adicionar um empregado
incluem informações sobre salário e de seus
dependentes.
– Somente quando as informações de dependente e de
salário são adicionadas o empregado pode ser criado.
– Nesse caso, o processo elementar é “Cadastrar
empregado” e não somente “cadastrar dependentes” ou
“cadastrar salário”, pois estes não são autossuficientes.
www.aprendavirtual.com
Medir Funções de Dados
• Exemplos de ALIs:
– Em um Sistema de Controle Acadêmico, dados de
alunos, turmas, disciplinas, docentes.
– Em um Sistema de Administração de Condomínios,
dados de condôminos.
– Em um Sistema de Controle de Biblioteca, dados de
livros, empréstimos.
www.aprendavirtual.com
Medir Funções de Dados
• AIE (Arquivo de Interface Externa):
– Grupo de dados ou informações de controle logicamente
relacionados, reconhecido pelo usuário, referenciados pela
aplicação que está sendo contada, porém mantido dentro da
fronteira de outra aplicação.
– A intenção primária de um AIE é armazenar dados
referenciados através de um ou mais processos elementares
dentro da fronteira da aplicação contada.
– Um AIE contado para uma aplicação deve ser um ALI em
outra aplicação.
www.aprendavirtual.com
Medir Funções de Dados
• Exemplos de AIEs:
– Em um Sistema de Controle Acadêmico, dados de
livros, pagamento de boletos financeiros (mantidos pelo
Sistema de Controle de Biblioteca e Sistema Financeiro,
respectivamente) .
– Em um Sistema de Controle de Biblioteca, dados de
alunos (mantidos pelo Sistema de Controle Acadêmico).
www.aprendavirtual.com
Medir Funções de Dados
• Passo 01: Identificar as funções de dados.
• Passo 02: Classificar cada função de dado como um ALI
ou um AIE.
• Passo 03: Determinar a complexidade dos ALI ou AIE e
sua contribuição para o tamanho funcional.
www.aprendavirtual.com
Medir Funções de Dados
• Passo 01: Identificar as funções de dados:
1. Identificar no escopo da contagem todos os dados e informações
de controle logicamente relacionados e reconhecidos pelo usuário.
2. Excluir entidades que não são mantidas por nenhuma aplicação
3. Agrupar entidades relacionadas que são dependentes
4. Excluir as entidades classificadas como Dados de código
5. Excluir entidades que não contém atributos necessários para o
usuário
6. Remover entidades associativas que contém atributos adicionais
não necessários para o usuário e entidades associativas que
contém apenas chaves estrangeiras.
www.aprendavirtual.com
Na prática...
Sistema de Pesquisa (PESQ) - Medir Funções de Dados
www.aprendavirtual.com
Medir Funções de Dados
• Tipos de Entidades de Dados:
– Dados de Negócio (Business Data).
• Dados relacionados ao negócio da aplicação
propriamente dita.
Exemplo: Dados de Cliente, Paciente, Alunos
– Dados de Referência (Reference Data).
• Dados que dão “suporte” às regras de negócio
Exemplo: Dados de Moeda, Salários pagos por cargo
www.aprendavirtual.com
Medir Funções de Dados
• Tipos de Entidades de Dados:
– Dados de Código (Code Data).
• Fornecem uma lista de valores válidos que um
atributo descritivo pode ter.
• Nem sempre são especificados pelo usuários –
muitas vezes são identificados pelo desenvolvedor.
• Caso típico: tabelas de domínio, criadas por
normalização.
• Exemplo: Situação do cliente, Tipo de pagamento.
www.aprendavirtual.com
Medir Funções de Dados
Vamos pensar...
Será que todos esses tipos de dados
podem ser ALIs?
Tipo de Dados
É um ALI?
Dados de Negócio
SIM
Dados de Referência
SIM
Dados de Código
NÃO
www.aprendavirtual.com
Medir Funções de Dados
• Passo 01: Identificar as funções de dados.
• Passo 02: Classificar cada função de dado como um ALI
ou um AIE.
• Passo 03: Determinar a complexidade dos ALI ou AIE e
sua contribuição para o tamanho funcional.
www.aprendavirtual.com
Medir Funções de Dados
• Passo 02: Classificar cada função de dado como um ALI
ou AIE:
– ALI:
•
Mantido pela aplicação que está sendo mantida
– AIE:
•
Referenciado, mas não mantido, pela aplicação que
está sendo mantida
•
ALI de outra aplicação.
www.aprendavirtual.com
Medir Funções de Dados
• Beleza!! Já identifiquei todos os ALIs e AIEs.
• Mas... Eles são todos iguais? Têm o mesmo peso? Como
sei quantos pontos cada arquivo possui?
www.aprendavirtual.com
Medir Funções de Dados
• Passo 01: Identificar as funções de dados.
• Passo 02: Classificar cada função de dado como um ALI
ou um AIE.
• Passo 03: Determinar a complexidade dos ALI ou AIE e
sua contribuição para o tamanho funcional.
www.aprendavirtual.com
Medir Funções de Dados
• Fator de Complexidade de um ALR:
– É a classificação de cada função. As possíveis
classificações são: BAIXA, MÉDIA OU ALTA.
– A avaliação da complexidade é baseada na quantidade
de Tipo de Dados Elementares (DERs) e de Tipo de
Registros Elementares (RLRs).
www.aprendavirtual.com
Medir Funções de Dados
• Tipos de Dados Elementares (DERs):
– Consiste em cada elemento de dado único, não repetido
e reconhecido pelo usuário.
– Exemplo: Em um ALR chamado Paciente, existem
dados de RG, CPF, nome, data de admissão. Nesse
caso, temos:
• ALR = 1 (Aluno)
• DER = 4 (RG, CPF,nome e data de admissão)
www.aprendavirtual.com
Medir Funções de Dados
• Tipos de Dados Elementares (DERs):
– Contar um DER para cada campo único, reconhecido pelo
usuário e não repetido, mantido ou recuperado pela função
de dados
Exemplo: Contar apenas um DER para os 12 campos valor
Mensal Orçado. Conte um DER adicional para identificar o
mês aplicável.
– Contar apenas os DERs que estão sendo usados pela
aplicação medida.
Exemplo: Demais dados mantidos pelo Lattes sobre as Áreas
de Conhecimentos não são DERs do PESQ
www.aprendavirtual.com
Medir Funções de Dados
• Tipos de Dados Elementares (DERs):
– Contar um DER para cada parte do dado requisitado pelo
usuário para estabelecer um relacionamento com outra
função de dado. Casos de chave estrangeiras
Exemplo: Funcionário e Cargo.
– Revisar os atributos relacionados para determinar se eles
estão agrupados e contados como um simples DER ou se
são contados como DERs múltiplos.
Exemplo: Endereço
www.aprendavirtual.com
Medir Funções de Dados
• Tipos de Registros Elementares (RLRs):
– Subgrupo de elementos de dados, reconhecido pelo usuário,
dentro de um ALI ou AIE.
– Dividem-se em dois subgrupos:
• Obrigatório (deve usar pelo menos um no processo
elementar)
• Opcional (tem a opção de usar um ou nenhum dos
subgrupos durante o processo elementar)
– Cada subgrupo de dados equivale a um RLR. Se um ALR
não tiver subgrupos de dados, conta-se um único RLR.
www.aprendavirtual.com
Medir Funções de Dados
• Tipos de Registros Elementares (RLRs):
• Exemplo: Em um Sistema de Recursos Humanos, para
cadastrar um empregado é necessário informar o nome,
endereço, telefone. O empregado pode ou não ter
dependentes, sendo necessário armazenar informações
destes quando pertinente.
• Nesse caso temos:
– Empregado – 1 RLR
– Dependente - 1 RLR
– Pontuação Final: 1 ALR com 2 RLRs.
www.aprendavirtual.com
Medir Funções de Dados
• Tabela de Complexidade
1 a 19 DERs 20 a 50 DERs 51 ou + DERs
1 RLR
Baixa
Baixa
Média
2 a 5 RLRs
Baixa
Média
Alta
6 ou + RLRS
Média
Alta
Alta
www.aprendavirtual.com
Medir Funções de Dados
• Contribuição da Complexidade nos Pontos
Complexidade Funcional Peso nos ALI
Peso nos AIE
Baixa
7
5
Média
10
7
Alta
15
10
www.aprendavirtual.com
Medir Funções de Dados
• Treinando um pouco...
– Seja o ALR Paciente, atualizado pelo Sistema de
Administração Hospitalar, formado pelas seguintes
informações:
• Nome do paciente
• Data de nascimento
• Data de entrada no hospital
Como calcular a pontuação?
www.aprendavirtual.com
Medir Funções de Dados
• Determinando os DERs e RLRs:
– DERs = 3
– RLRs = 1
• Consultando as tabelas, conclui-se que:
– É um ALI de complexidade Baixa.
– Logo, contribui com 7 pontos na pontuação.
www.aprendavirtual.com
Medir Funções de Dados
• Passo 01: Identificar as funções de dados.
• Passo 02: Classificar cada função de dado como um ALI
ou um AIE.
• Passo 03: Determinar a complexidade dos ALI ou AIE e
sua contribuição para o tamanho funcional.
www.aprendavirtual.com
Na prática...
Sistema de Pesquisa (PESQ) - Medir Funções de Dados
www.aprendavirtual.com
Processo de Medição
Reunir a
documentação
disponível
Determinar
Escopo e a
Fronteira da
Contagem
Medir
Funções
de Dados
Medir
Funções
de Transação
Calcular
tamanho
funcional
Documentar
e
reportar
www.aprendavirtual.com
Medir Funções de Transações
• Processo elementar que oferece funcionalidade ao usuário
para processar dados.
•
Podem ser:
– Entradas Externas (EE)
– Saídas Externas (SE)
– Consultas Externas (CE)
www.aprendavirtual.com
Medir Funções de Transações
• Entradas Externas:
– Processo elementar que processa dados ou
informações de controle que vêm de fora da fronteira da
aplicação.
– A intenção primária de uma EE é manter um ou mais
ALI e/ou alterar o comportamento do sistema.
www.aprendavirtual.com
Medir Funções de Transações
• Exemplos de Entradas Externas:
– Inserir dados de aluno.
– Excluir paciente.
– Importar arquivo de pagamentos efetuados em um dia.
– Rotina de atualização do valor do triênio de um
funcionário.
www.aprendavirtual.com
Medir Funções de Transações
• Não devem ser consideradas Entradas Externas:
– Chamadas repetidas a uma entrada de dados já
pontuada (a funcionalidade deve ser contada uma única
vez por aplicação).
– “Refresh” ou cancelamento de dados em uma tela.
– Ordenação de dados em uma tela.
– Mensagens que necessitam confirmação do usuário.
www.aprendavirtual.com
Medir Funções de Transações
• Consultas Externas:
– Processo elementar que envia dados ou informações de
controle para fora da fronteira da aplicação.
– A intenção primária de uma CE é apresentar
informações ao usuário através de uma simples
recuperação de dados ou informações de controle.
www.aprendavirtual.com
Medir Funções de Transações
• Exemplos de Consultas Externas:
– Consulta dados de Clientes.
– Relatório de Pacientes internados em um dado dia.
– Lista de todos os Municípios (em um Combo Box).
– Consulta dados de um determinado Professor.
www.aprendavirtual.com
Medir Funções de Transações
• Não devem ser consideradas Consultas Externas:
– Relatórios ou arquivos enviados para outra aplicação
idênticos, apenas com valores diferentes.
– Cancelamento de uma determinada operação.
– Reordenamento de campos em uma tela.
www.aprendavirtual.com
Medir Funções de Transações
• Saídas Externas:
– Processo elementar que envia dados ou informações de
controle para fora da fronteira da aplicação.
– A intenção primária de uma SE é apresentar
informações ao usuário através da lógica de
processamento que não seja apenas a recuperação dos
dados ou informações de controle.
www.aprendavirtual.com
Medir Funções de Transações
• Exemplo de Saídas Externas:
– Relatório de total de clientes devedores.
– Arquivo listando todos os pacientes internados em um
dado dia, somando o valor da conta de cada um.
– Gráficos que mostrem a quantidade de alunos
matriculados em uma disciplina ao longo do tempo.
www.aprendavirtual.com
Medir Funções de Transações
• Não devem ser consideradas Saídas Externas:
– Relatórios ou arquivos enviados para outra aplicação
idênticos, apenas com valores diferentes.
– Relatórios ou arquivos enviados para outra aplicação
que não possuem dados derivados, cálculos ou
fórmulas e não mantêm um ALI dentro da aplicação
enviando dados.
– “Refresh” ou cancelamento de dados na tela.
– Reordenamento de campos em uma tela
www.aprendavirtual.com
Medir Funções de Transações
• #ficaadica
– Uma SE deve, obrigatoriamente, executar uma das
ações abaixo:
•
•
•
•
Alterar o comportamento do sistema,
Manter um ou mais ALIs,
Efetuar cálculos matemáticos
Criar dados derivados
– Uma CE não pode executar qualquer uma das ações
acima
– Todas as funções de Transações podem efetuar
validações de dados, assim como reclassificá-los ou
reorganizá-los.
www.aprendavirtual.com
Medir Funções de Transações
• Resumo das funções realizadas pelas EEs, CEs e SEs
Função
Tipo de Função de Transação
EE
SE
CE
Alterar o comportamento do
sistema
IP
F
N/A
Manter um ou mais ALI
IP
F
N/A
Apresentar a informação ao
usuário
F
IP
IP
IP – Intenção primária
F – É uma função, mas não é a intenção primária
N/A - Não é permitida
www.aprendavirtual.com
Medir Funções de Transações
• Lógica de processamento:
– Qualquer um dos requisitos especificamente solicitados
pelo usuário para completar um processo elementar:
•
•
•
•
Validações
Execução de fórmulas matemática e cálculos
Conversão de valores equivalentes
Filtro e seleção de dados através de critérios
especificados pelo usuário
• Análise de condições para determinar quais são
aplicáveis
• Atualização e/ou referência a ALI/AIE
• Criação de dados derivados
www.aprendavirtual.com
Medir Funções de Transação
• Passo 01: Identificar cada processo elementar
• Passo 02: Determinar o processo elementar único.
• Passo 03: Classificar .as Funções de Transação como
Entradas Externas, Consultas Externas ou Saídas Externas
• Passo 04: Determinar a complexidade funcional de cada
Função de Transação e sua contribuição para o tamanho
funcional.
www.aprendavirtual.com
Medir Funções de Transação
• Passo 01: Identificar cada processo elementar
– Compor e/ou decompor os requisitos funcionais do
usuário até a menor unidade de atividade que satisfaça
os itens:
• Significativo para o usuário
• Constitui uma transação completa
• É auto contido
• Deixa o negócio da aplicação em um estado consistente.
– Exemplo: Incluir um funcionário e seus dependentes
www.aprendavirtual.com
Na prática...
Sistema de Pesquisa (PESQ) - Medir Funções de Transação
www.aprendavirtual.com
Medir Funções de Transação
• Passo 01: Identificar cada processo elementar
• Passo 02: Determinar o processo elementar único.
• Passo 03: Classificar .as Funções de Transação como
Entradas Externas, Consultas Externas ou Saídas Externas
• Passo 04: Determinar a complexidade funcional de cada
Função de Transação e sua contribuição para o tamanho
funcional.
www.aprendavirtual.com
Medir Funções de Transação
• Passo 02: Determinar processos elementares únicos
– Quando comparado a um Processo Elementar (PE) já
identificado, contar dois PEs se eles:
• Requerem o mesmo conjunto de DERs;
• Requerem o mesmo conjunto de RLRs;
• Requerem o mesmo conjunto de lógicas de
processamento para completar o processo elementar
www.aprendavirtual.com
Medir Funções de Transação
• Passo 01: Identificar cada processo elementar
• Passo 02: Determinar o processo elementar único.
• Passo 03: Classificar .as Funções de Transação como
Entradas Externas, Consultas Externas ou Saídas Externas
• Passo 04: Determinar a complexidade funcional de cada
Função de Transação e sua contribuição para o tamanho
funcional.
www.aprendavirtual.com
Medir Funções de Transação
• Passo 03: Classificar cada processo elementar como
Entrada Externa (EE), Consulta Externa (CE) ou Saída
Externa (SE)
– Respeitar a intenção primária de cada processo
elementar:
– Considerar as diversas formas de lógica de
processamento e suas aplicabilidades (obrigatório,
opcional e proibida)
www.aprendavirtual.com
Medir Funções de Transação
• Passo 01: Identificar cada processo elementar
• Passo 02: Determinar o processo elementar único.
• Passo 03: Classificar as Funções de Transação como
Entradas Externas, Consultas Externas ou Saídas Externas
• Passo 04: Determinar a complexidade funcional de cada
Função de Transação e sua contribuição para o tamanho
funcional.
www.aprendavirtual.com
Medir Funções de Transação
• Há há!!! Agora já sei!
• Assim como os tipos dados, as transações
possuem pontos, pesos diferentes. Estou certo?
www.aprendavirtual.com
Medir Funções de Transação
• Passo 04: Determinar a complexidade funcional de cada
Função de Transação e sua contribuição para o tamanho
funcional.
– Semelhante ao conceito visto para Funções Tipo Dados.
– Pode ser: Baixa, Média ou Alta.
– A avaliação da complexidade é baseada na quantidade
de Tipos de Arquivos Referenciados (ALR) e na
quantidade de Tipo de Dados Elementares (DERs).
www.aprendavirtual.com
Medir Funções de Transação
• Tipos de Arquivos Referenciados (ALRs):
– Função de dados lida e/ou mantida pela função de
transação.
– Pode ser:
• Um ALI lido ou mantido por uma função de transação
ou
• UM AIE lido por uma função de transação
www.aprendavirtual.com
Medir Funções de Transação
• Tipos de Dados Elementares (DERs):
– Contar um DER para cada campo único reconhecido pelo
usuário, que cruza a fronteira durante o processamento da
função de transação.
– Contar apenas um DER por função de transação para a
habilidade de enviar uma mensagem de resposta de
aplicação mesmo que sejam mensagens múltiplas
– Contar apenas um DER por função de transação para a
habilidade de iniciar ações mesmo que haja múltiplos meios
para realizá-la.
www.aprendavirtual.com
Medir Funções de Transação
• Tipos de Dados Elementares (DERs):
– Não contar como DER:
• Literais como título de relatório, títulos de coluna,
dentre outros
• Selos gerados automaticamente pelo sistema como
atributo de data e hora
• Variável de paginação, números de página e
informações de posicionamento
www.aprendavirtual.com
Medir Funções de Transação
• Tipos de Dados Elementares (DERs):
– Não contar como DER :
• Ajudas de navegação (“anterior”, “próximo,” dentre
outros)
• Atributos gerados dentro da fronteira da aplicação e
armazenados em um ALI sem sair da fronteira da
aplicação
• Atributos obtidos ou referenciados de um ALI/AIE para
a participação em processamento sem sair da fronteira
www.aprendavirtual.com
Medir Funções de Transação
• Definição da Complexidade para EE
1 a 4 TD
5 a 15 TD
16 ou + TD
0 ou 1
ALR
Baixa
Baixa
Média
2 ALR
Baixa
Média
Alta
3 ou +
ALR
Média
Alta
Alta
www.aprendavirtual.com
Medir Funções de Transação
• Definição da Complexidade para SE/CE
1 a 5 TD
6 a 19 TD
20 ou + TD
0 ou 1
ALR
Baixa
Baixa
Média
2 a 3 ALR
Baixa
Média
Alta
4 ou +
ALR
Média
Alta
Alta
www.aprendavirtual.com
Medir Funções de Transação
• Definição dos pesos sobre a Complexidade
Baixa
Média
Alta
EE
3
4
6
SE
4
5
7
CE
3
4
6
www.aprendavirtual.com
Medir Funções de Transação
• Treinando um pouco:
– O Sistema de Administração Hospitalar, a pedido do
usuário, deverá incluir, alterar, excluir e consultar os
dados relacionados a paciente. O ALR de Paciente é
composto pelos campos:
• Nome do paciente
• Data de nascimento
• Data de entrada no hospital
Como calcular a pontuação?
www.aprendavirtual.com
Medir Funções de Transação
Análise das transações existentes nesse requisito:
3 EEs (uma para inclusão, alteração e outra para exclusão).
1 CE
Determinação dos ALR e DERs:
ALR = 1
DERs= 4
Análise da complexidade de cada funcionalidade, de
acordo com a tabela:
3 EE Baixas
1 CE Baixa
www.aprendavirtual.com
Medir Funções de Transação
• Definição dos pesos sobre a Complexidade
Tipo
Complexidade
Função Funcional
Complexidade
Total
EE
3Bx3
9
CE
1Bx3
3
SE
0
0
Total
Pontos
12
www.aprendavirtual.com
Medir Funções de Transação
• Passo 01: Identificar cada processo elementar
• Passo 02: Determinar o processo elementar único.
• Passo 03: Classificar .as Funções de Transação como
Entradas Externas, Consultas Externas ou Saídas Externas
• Passo 04: Determinar a complexidade funcional de cada
Função de Transação e sua contribuição para o tamanho
funcional.
www.aprendavirtual.com
Processo de Medição
Reunir a
documentação
disponível
Determinar
Escopo e a
Fronteira da
Contagem
Medir
Funções
de Dados
Medir
Funções
de Transação
Calcular
tamanho
funcional
Documentar
e
reportar
www.aprendavirtual.com
Calcular Tamanho Funcional
• O objetivo e escopo da contagem deverão ser considerados na
seleção e utilização da fórmula apropriada para calcular o
tamanho funcional
• Projeto de Desenvolvimento:
DFP = ADD + CFP
• Onde:
– DFP = Contagem de Pontos de Função de Desenvolvimento
– ADD = Tamanho das funções a serem entregues ao usuário
– CFP = tamanho das Funcionalidades de Conversão
www.aprendavirtual.com
Calcular Tamanho Funcional
• Aplicação:
AFP = ADD
• Onde:
– AFP = Contagem de Pontos de Função da Aplicação
– ADD = Tamanho das funções a serem entregues ao
usuário
www.aprendavirtual.com
Calcular Tamanho Funcional
• Projeto de Melhoria:
EFP = ADD + CHGA + CFP + DEL
• Onde:
– EFP = Contagem de Pontos de Função do projeto de Melhoria
– ADD = Tamanho das funções incluídas pelo projeto de Melhoria
• CHGA = Tamanho das funções alteradas pelo projeto de Melhoria
• CFP = Tamanho das Funcionalidades de Conversão
• DEL = Tamanho das funções excluídas pelo projeto de Melhoria
www.aprendavirtual.com
Calcular Tamanho Funcional
• Tamanho Funcional de uma aplicação após Projeto de Melhoria:
AFPA= (AFPB + ADD + CHGA) – (CHGB + DEL)
• Onde:
– AFPA = Contagem dos pontos da aplicação após o projeto de
Melhoria
– AFPB= Contagem dos pontos da aplicação antes do projeto de
Melhoria
– ADD = Tamanho das funções incluídas pelo projeto de Melhoria
• CHGA = Tamanho das funções alteradas pelo projeto de Melhoria
• CHGB = Tamanho das funções alteradas pelo projeto de Melhoria
• DEL = Tamanho das funções excluídas pelo projeto de Melhoria
www.aprendavirtual.com
Processo de Medição
Reunir a
documentação
disponível
Determinar
Escopo e a
Fronteira da
Contagem
Medir
Funções
de Dados
Medir
Funções
de Transação
Calcular
tamanho
funcional
Documentar
e
reportar
www.aprendavirtual.com
Documentar e reportar
• Documentar cada etapa do processo de contagem
– Propósito e Tipo da Contagem
– Escopo e Fronteira da Aplicação
– Funções de Dados e Funções de Transação, bem como o número
de pontos atribuído a cada uma
– Resultado da contagem
– Informações que auxiliem no posterior entendimento da contagem
• A prática de reportar os resultados das contagens de Pontos de
Função permitirá que os leitores identifiquem o padrão com o
qual as mesmas mantém conformidade.
www.aprendavirtual.com
Processo de Medição
Reunir a
documentação
disponível
Determinar
Escopo e a
Fronteira da
Contagem
Medir
Funções
de Dados
Medir
Funções
de Transação
Calcular
tamanho
funcional
Documentar
e
reportar
www.aprendavirtual.com
Referências Bibliográficas
• Manual de Práticas de Contagem de Pontos de Função.
International Function Point Users Group (IFPUG), 2010.
• SOMMERVILLE, Ian. Engenharia de Software, 2011. 9ª Edição.
Makron Books.
• VAZQUEZ, Carlos; SIMÕES, Guilherme; ALBERT, Renato. Análise
de Pontos de Função: Medição, Estimativas e Gerenciamento de
Projetos de Software. 13ª ed, Editora Érica, 2013.
• IFPUG - International Function Point Users Group (www.ifpug.org)
• BFPUG – Brazilian Function Point Users Group
(www.bfpug.com.br).
www.aprendavirtual.com
Análise de Pontos de Função
Cristiane Oliveira
Novembro/2014
www.aprendavirtual.com
Download

Corporate 2 Template - Sucesu-BA