Upload
internet
View
106
Download
0
Embed Size (px)
Citation preview
www.aprendavirtual.com
Análise de Pontos de FunçãoCristiane 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
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
www.aprendavirtual.com
Métricas de Software: necessárias ou não?
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
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
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
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?
www.aprendavirtual.com
Análise de Pontos de Função
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
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
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
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
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
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
Contage
m
MedirFunçõesde Dados
MedirFunções
de Transação
Calcular tamanho funcional
Documentar e
reportar
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
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
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
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
www.aprendavirtual.com
Determinar Escopo e Fronteira
Recursos Humanos
Financeiro
Controle Patrimonial
Exemplo de Fronteira da Aplicação
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.
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
Contage
m
MedirFunçõesde Dados
MedirFunções
de Transação
Calcular tamanho funcional
Documentar e
reportar
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
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
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
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
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
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
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
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
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
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
www.aprendavirtual.com
Na prática...
Sistema de Pesquisa (PESQ) - Medir Funções de Dados
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
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
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
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
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
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
• 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
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
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
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
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
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
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
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
• 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
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
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
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
Contage
m
MedirFunçõesde Dados
MedirFunções
de Transação
Calcular tamanho funcional
Documentar e
reportar
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
www.aprendavirtual.com
Na prática...
Sistema de Pesquisa (PESQ) - Medir Funções de Transação
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
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
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
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
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
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
• 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
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
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
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
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
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 Função
Complexidade Funcional
Complexidade Total
Total Pontos
EE 3 B x 3 9
CE 1 B x 3 3
SE 0 0 12
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
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
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
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
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
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)
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
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
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
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
www.aprendavirtual.com
Análise de Pontos de FunçãoCristiane Oliveira
Novembro/2014