99
www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

Embed Size (px)

Citation preview

Page 1: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Análise de Pontos de FunçãoCristiane Oliveira

Novembro/2014

Page 2: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Sobre o instrutor

Page 3: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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)

Roteiro

Page 4: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Métricas de Software: necessárias ou não?

Page 5: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• “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

Métricas

Page 6: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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?

Métricas

Page 7: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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

Métricas

Page 8: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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

Como medir software?

Page 9: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Análise de Pontos de Função

Page 10: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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

Análise de Pontos de Função

Page 11: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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)

Um breve histórico

Page 12: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Processo de Medição

Reunir a documenta

ção disponível

Determinar

Escopo e a

Fronteira da

Contage

m

MedirFunçõesde Dados

MedirFunções

de Transação

Calcular tamanho funcional

Documentar e

reportar

Page 13: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Processo de Medição

Reunir a documenta

ção disponível

Determinar

Escopo e a

Fronteira da

Contage

m

MedirFunçõesde Dados

MedirFunções

de Transação

Calcular tamanho funcional

Documentar e

reportar

Page 14: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Reunir documentação disponível

Page 15: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Na prática...

Sistema de Pesquisa (PESQ) – Documentação disponível

Page 16: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Processo de Medição

Reunir a documenta

ção disponível

Determinar

Escopo e a

Fronteira da

Contage

m

MedirFunçõesde Dados

MedirFunções

de Transação

Calcular tamanho funcional

Documentar e

reportar

Page 17: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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

Determinar Escopo e Fronteira

Page 18: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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

Determinar Escopo e Fronteira

Page 19: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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

Determinar Escopo e Fronteira

Page 20: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Determinar Escopo e Fronteira

Page 21: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Determinar Escopo e Fronteira

Recursos Humanos

Financeiro

Controle Patrimonial

Exemplo de Fronteira da Aplicação

Page 22: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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?

Determinar Escopo e Fronteira

#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.

Page 23: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Na prática...

Sistema de Pesquisa (PESQ) – Escopo e Fronteira da Aplicação

Page 24: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Processo de Medição

Reunir a documenta

ção disponível

Determinar

Escopo e a

Fronteira da

Contage

m

MedirFunçõesde Dados

MedirFunções

de Transação

Calcular tamanho funcional

Documentar e

reportar

Page 25: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Dados

Page 26: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Dados

Page 27: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Dados

Page 28: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Dados

Page 29: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Dados

Page 30: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Dados

Page 31: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Dados

Page 32: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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).

Medir Funções de Dados

Page 33: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Dados

Page 34: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Dados

Page 35: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Na prática...

Sistema de Pesquisa (PESQ) - Medir Funções de Dados

Page 36: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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

Medir Funções de Dados

Page 37: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Dados

Page 38: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Medir Funções de Dados

Vamos pensar...

Será que todos esses tipos de dados podem ser ALIs?

Tipo de Dados

Dados de Negócio

Dados de Referência

Dados de Código

É um ALI?

SIM

SIM

NÃO

Page 39: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Dados

Page 40: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Dados

Page 41: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

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?

Page 42: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Dados

Page 43: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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).

Medir Funções de Dados

Page 44: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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)

Medir Funções de Dados

Page 45: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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 dadosExemplo: 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

Medir Funções de Dados

Page 46: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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 estrangeirasExemplo: 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

Medir Funções de Dados

Page 47: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Dados

Page 48: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Dados

Page 49: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

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

Page 50: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

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

Page 51: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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?

• ,

Medir Funções de Dados

Page 52: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Dados

Page 53: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Dados

Page 54: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Na prática...

Sistema de Pesquisa (PESQ) - Medir Funções de Dados

Page 55: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Processo de Medição

Reunir a documenta

ção disponível

Determinar

Escopo e a

Fronteira da

Contage

m

MedirFunçõesde Dados

MedirFunções

de Transação

Calcular tamanho funcional

Documentar e

reportar

Page 56: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• Processo elementar que oferece funcionalidade ao usuário para processar dados.

• Podem ser:– Entradas Externas (EE)– Saídas Externas (SE)– Consultas Externas (CE)

Medir Funções de Transações

Page 57: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Transações

Page 58: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Transações

Page 59: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Transações

Page 60: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Transações

Page 61: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Transações

Page 62: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Transações

Page 63: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Transações

Page 64: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Transações

Page 65: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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

Medir Funções de Transações

Page 66: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• #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.

Medir Funções de Transações

Page 67: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• Resumo das funções realizadas pelas EEs, CEs e SEs

Medir Funções de Transações

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áriaF – É uma função, mas não é a intenção primáriaN/A - Não é permitida

Page 68: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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

Medir Funções de Transações

Page 69: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Transação

Page 70: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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

Medir Funções de Transação

Page 71: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Na prática...

Sistema de Pesquisa (PESQ) - Medir Funções de Transação

Page 72: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Transação

Page 73: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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

Medir Funções de Transação

Page 74: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Transação

Page 75: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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)

Medir Funções de Transação

Page 76: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Transação

Page 77: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

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?

Page 78: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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).

Medir Funções de Transação

Page 79: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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

Medir Funções de Transação

Page 80: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Transação

Page 81: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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

Medir Funções de Transação

Page 82: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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

Medir Funções de Transação

Page 83: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

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

Page 84: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

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

Page 85: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

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

Page 86: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

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?

Page 87: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

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

Page 88: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Medir Funções de Transação

• Definição dos pesos sobre a Complexidade

Tipo Função

Complexidade Funcional

Complexidade Total

Total Pontos

EE 3 B x 3 9

CE 1 B x 3 3

SE 0 0 12

Page 89: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Medir Funções de Transação

Page 90: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Processo de Medição

Reunir a documenta

ção disponível

Determinar

Escopo e a

Fronteira da

Contage

m

MedirFunçõesde Dados

MedirFunções

de Transação

Calcular tamanho funcional

Documentar e

reportar

Page 91: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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:

• 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

Calcular Tamanho Funcional

DFP = ADD + CFP

Page 92: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• Aplicação:

• Onde:

– AFP = Contagem de Pontos de Função da Aplicação

– ADD = Tamanho das funções a serem entregues ao

usuário

Calcular Tamanho Funcional

AFP = ADD

Page 93: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• Projeto de Melhoria:

• 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

Calcular Tamanho Funcional

EFP = ADD + CHGA + CFP + DEL

Page 94: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• Tamanho Funcional de uma aplicação após Projeto de Melhoria:

• 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

Calcular Tamanho Funcional

AFPA= (AFPB + ADD + CHGA) – (CHGB + DEL)

Page 95: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Processo de Medição

Reunir a documenta

ção disponível

Determinar

Escopo e a

Fronteira da

Contage

m

MedirFunçõesde Dados

MedirFunções

de Transação

Calcular tamanho funcional

Documentar e

reportar

Page 96: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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.

Documentar e reportar

Page 97: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Processo de Medição

Reunir a documenta

ção disponível

Determinar

Escopo e a

Fronteira da

Contage

m

MedirFunçõesde Dados

MedirFunções

de Transação

Calcular tamanho funcional

Documentar e

reportar

Page 98: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

• 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

).

Referências Bibliográficas

Page 99: Www.aprendavirtual.com Análise de Pontos de Função Cristiane Oliveira Novembro/2014

www.aprendavirtual.com

Análise de Pontos de FunçãoCristiane Oliveira

Novembro/2014