apftexto
DESCRIPTION
Analise de Ponto de FunçãoTRANSCRIPT
2
“Não se consegue controlar o que não se consegue medir.”
3
Bibliografia"Function Point Analysis: Measurement Practices for Successful Software Projects", de David Garmus e David Herron "Análise de Pontos de Função: Medição,Estimativas e Gerenciamento de Projetos de Software", de Carlos Vazquez, Gulherme Simões eRenato Albert
4
Referências On Linehttp://www.ifpug.orghttp://www.bfpug.com.brhttp://www.isbsg.org.au
5
ConteúdoO que é APF ?Objetivos da TécnicaComo se Calcula – Processo de ContagemDefiniçõesTipo de ContagemFunções de DadosFunções de TransaçãoCálculo dos Pontos não AjustadosFator de AjusteCálculo dos Pontos AjustadosDúvidas e DicasPrática – Exemplo e exercícios
6
O que é APF ?“É uma medida de dimensionamento de software através da funcionalidade implementada em um sistema, sob o ponto de vista do usuário.”
7
Objetivos da TécnicaMedir o que foi requisitado e recebido pelo usuário (visão do usuário);Medir independentemente da tecnologia utilizada para implementação (linguagem, método, plataforma);Prover uma métrica de medição para apoiar a análise de produtividade e qualidade;Prover uma forma de estimar o tamanho do software; eProver um fator de normalização para comparação de software.
8
Benefícios da TécnicaDeterminar o tamanho de um produto adquirido através da contagem de todas as funções incluídas –é saber o que se está comprando.Auxilia a análise do tipo make or buyAuxilia a análise de produtividade e qualidadeApoia o gerenciamento de escopo de projetos (aumento ou diminuição do escopo).Complementa o gerenciamento dos requisitos (solidez e completeza).
9
Benefícios da TécnicaEstimar custo e recursos para o desenvol-vimento e manutenção de software.Meio para fundamentar a negociação de contratos.Comparativo de softwares ou produtividade.
10
DefiniçõesEscopo da contagem – define quais funcionalidades (de uma ou mais aplicações) serão incluídas em uma determinada contagem.Fronteira da aplicação – é a interface conceitual que delimita o software que será medido e o mundo exterior.
11
DefiniçõesProcesso elementar – menor unidade de atividades significativa para o usuário. Deve ser completo em si mesmo, independente, e deixar o negócio da aplicação em estado consistente.Arquivo Lógico Interno (ALI) – são os dados ou informações mantidas pela aplicação a ser contada.Arquivo de Interface Externa (AIE) – são os dados lidos de outra aplicação.
12
DefiniçõesEntrada Externa (EE) – É a função que faz a manutenção dos dados da aplicação.Saída Externa (SE) – É a função que tem processamento da informação a ser exibida.Consulta Externa (CE) – É uma consulta simples da informação armazenada na aplicação.
13
Como se Calcula:1. A definição do propósito da contagem deve ser feita
definindo-se o tipo de contagem e identificando-se o escopo da contagem e a fronteira da aplicação.
2. O cálculo dos pontos não ajustados é feito em seguida, identificando-se e classificando as Funções de Dados e de Transação.
3. Deve ser determinado e calculado o fator de ajuste.4. Finalmente calcula-se o valor dos pontos por função
ajustados aplicando-se a fórmula adequada.
14
Como se Calcula – Processo de Contagem
1
2
Determinar o Tipo deContagem
Definir a Fronteirada Aplicação eo Escopo daContagem
Contar Funções do Tipo
Dados
Contar Funções do Tipo
Transação
CalcularContagem de
Pontos de Função nãoAjustados
Determinar/CalcularValor do
Fator de Ajuste
CalcularNúmero dePontos deFunção
Ajustados
3
4
15
1- Definir Propósito da ContagemPara esta definição devemos:
Identificar o tipo de contagem;Definir a fronteira da aplicação;Definir o escopo da contagem.
16
1.1- Identificar o Tipo de Contagem
Projeto de Desenvolvimento – para a primeira instalação do software, conta também se houver atividade de conversão de dados (do sistema antigo para o novo – que está sendo contado).Projeto de Melhoria – é a contagem para manutenção de um sistema, exclusão, alteração ou inclusão de funcionalidades.Aplicação – também chamado de baseline é a contagem real de um software ou parte dele.
17
1.2- Definir a Fronteira AplicaçãoPara determinação da fronteira:
Deve ter base no ponto de vista do usuário. O foco deve estar no que ele pode entender e descrever;A fronteira entre aplicações deve ser baseada na separação das funções conforme estabelecido pelo negócio e não em considerações tecnológicas;
18
1.2- Definir a Fronteira AplicaçãoPara determinação da fronteira (cont.):
Em projetos de melhoria, a fronteira estabelecida no início do projeto deve estar de acordo com a fronteira estabelecida para a aplicação.
19
1.3- Definir o Escopo ContagemO escopo da contagem pode abranger:
Todas as funcionalidades disponíveis;Funcionalidades efetivamente utilizadas pelo usuário;Algumas funcionalidades específicas (relatórios, módulos, etc)
20
2- Cálculo dos pontos não ajustadosPara o cálculo dos pontos não ajustados devemos:
Identificar as funções de dados e de transação da aplicação;Identificar a complexidade de cada um;Atribuir o valor dos pontos (contribuição);Somar o total dos pontos encontrados.
21
2.1- Contar Funções de DadosArquivo Lógico Interno (ALI) – um grupo de dados ou informações de controle; identificável pelo usuário; logicamente relacionados; mantido dentro da fronteira da aplicação.A principal intenção de um ALI é armazenar dados mantidos por meio de um ou mais processos elementares da aplicação.
22
2.1- Contar Funções de DadosExemplos de ALI:
Tabelas que armazenam dados mantidos pela aplicação;Arquivos de configuração mantidos pela aplicação;Arquivos de segurança de acesso à aplicação (senhas), mantidos por ela;Arquivos de help, desde que mantidos pela aplicação;Arquivos de mensagens de erro, desde que mantidos pela aplicação;Arquivos mantidos não só pela aplicação, mas também por outra aplicação.
23
2.1- Contar Funções de DadosNão-Exemplos de ALI:
Arquivos temporários, de trabalho ou de classificaçãoArquivos gerados para processamento em outra aplicação.Arquivos de backup;Arquivos introduzidos exclusivamente em função da tecnologia utilizada;Arquivos de índices;Operações de junção e projeção, visões (views).
24
2.1- Contar Funções de DadosArquivo de Interface Externa (AIE) – é um grupo de dados ou informações de controle; identificável pelo usuário; logicamente relacionados; referenciado (lido) pela aplicação.A principal intenção de um AIE é armazenar dados referenciados por meio de um ou mais processos elementares dentro da fronteira da aplicação. Um AIE deve ser um ALI de outra aplicação.
25
2.1- Contar Funções de DadosExemplos de AIE:
Dados de referência externos utilizados pela aplicação;Arquivos de help, desde que mantidos por outra aplicação;Arquivos de mensagens de erro, desde que mantidos por outra aplicação.
26
2.1- Contar Funções de DadosNão-Exemplos de AIE:
Arquivos de movimento recebidos de outra aplicação para manter um ALI;Dados mantidos pela aplicação e utilizados por outra aplicação;Dados formatados e processados para uso de outras aplicações.
27
Tabela de Complexidade ALI e AIE
1 a 19 itens de dados
referenciados
20 a 50 itens de dados
referenciados
51 ou mais itens de dados referenciados
1 registro lógico
SIMPLES SIMPLES MÉDIA
2 a 5 registros lógicos SIMPLES MÉDIA COMPLEXA
6 ou mais registros lógicos
MÉDIA COMPLEXA COMPLEXA
28
2.2- Funções de Transação (EE)Entrada Externa - É um processo elementar, que processa dados ou informações de controle recebidos de fora da fronteira da aplicação, cuja principal intenção é manter um ou mais ALIs e/ou modificar o comportamento do sistema.
29
2.2- Funções de Transação (EE)Exemplos de EE:
Telas de inclusão, exclusão ou de alteraçãoEntradas batch que mantém um ALIImportar dados de outras aplicações
30
2.2- Funções de Transação (EE)
1 a 4 itens de dados
referenciados
5 a 15 itens de dados
referenciados
16 ou mais itens de dados referenciados
1 arquivo referênciado
SIMPLES SIMPLES MÉDIA
2 arquivos referênciados SIMPLES MÉDIA COMPLEXA
3 ou mais arquivos
referênciados
MÉDIA COMPLEXA COMPLEXA
Tabela de Complexidade (EE)
31
2.2- Funções de Transação (SE)Saída Externa - É um processo elementar, que envia dados ou informações de controle para fora da fronteira da aplicação, cuja principal intenção é apresentar informação ao usuário por meio de lógica de processamento (fórmula, cálculo criar dados derivados) que não seja apenas a recuperação de dados ou informações de controle. Pode manter um ou mais ALIs e/ou alterar o comportamento do sistema.
32
2.2- Funções de Transação (CE)Consulta Externa - É um processo elementar, que envia dados ou informações de controle para fora da fronteira da aplicação, cuja principal intenção é apresentar informação ao usuário por meio de uma simples recuperação de dados ou informações de controle de um ALI ou AIE. Não contém fórmulas ou cálculos, não mantêm ALIs nem altera o comportamento do sistema.
33
2.2- Funções de Transação (CE)
1 a 5 itens de dados
referenciados
6 a 19 itens de dados
referenciados
20 ou mais itens de dados referenciados
1 arquivo referênciado
SIMPLES SIMPLES MÉDIA
2 ou 3 arquivos referênciados SIMPLES MÉDIA COMPLEXA
4 ou mais arquivos
referênciados
MÉDIA COMPLEXA COMPLEXA
Tabela de Complexidade (SE ou CE)
34
Tabela de ContribuiçãoFunções de Dados e de Transações
Nível de Complexidade
Tipo de Função SIMPLES MÉDIO COMPLEXO
Arquivo Lógico Interno (ALI)(Internal Logical Files - ILF)
7 10 15
Arquivo de Interface Externa (AIE)(External Interface Files - EIF)
5 7 10
Entrada Externa (EE)(External Inputs - EI)
3 4 6
Saída Externa (SE)(External Outputs - EO)
4 5 7
Consulta Externa (CE)(External Inquiries - EQ)
3 4 6
35
Sumário da Lógica de Processamento Usadas por Funções de Transação
nãoDeve*Deve*Alteração do comportamento do sistema
devedevepodePreparação e apresentação de informação para fora da fronteira
podepodedeveCapacidade de aceitar dados ou informação de controle que entra pela fronteira
podepodepodeMudança da ordenação ou organização de um conjunto de dados (não suficiente para garantir unicidade do PE)
nãoDeve*podeCálculos e fórmulas matemáticas
podepodepodeConversão em valores equivalentes
podepodepodeFiltros e seleção de dados com base em critérios específicos na comparação de vários conjuntos dados
podepodepodeAnálise de condições para que se determine quais se aplicam
nãoDeve*Deve*Atualização de pelo menos um ALI
devepodepodeReferencia pelo menos um ALI ou AIE
devepodepodeRecuperação de dados ou informações de controle
nãoDeve*podeCriação de dados derivados
podepodepodeValidações
CESEEETipo de Lógica de Processamento
Deve – a transação deve obrigatoriamente executar este tipo de lógica de processamento
Deve* - a transação deve executar pelo menos uma das lógicas de processamento
Pode – a transação pode executar este tipo de lógica de processamento, mas não é obrigatório
Não – atransação não pode executar este tipo de lógica de processamento
36
5- Cálculo dos Pontos não Ajustados
37
Fator de AjusteO valor do FATOR DE AJUSTE é calculado a partir de 14 características gerais dos sistemas, que permitem uma avaliação geral da funcionalidade da aplicação. Estas características são:1. Comunicação de Dados2. Processamento Distribuído3. Performance4. Utilização do Equipamento5. Volume de Transações6. Eficiência do Usuário Final7. Entrada de dados “on-line”
38
Fator de Ajuste8. Atualização “on-line”9. Processamento Complexo10. Reutilização de Código11. Facilidade de Implantação12. Facilidade Operacional13. Mútiplos Locais14. Facilidade de Mudanças
39
Fator de AjusteFórmula:Fator de Ajuste = ( NI * 0,01 ) + 0,65
Nível de Influência (NI)0 - Nenhuma influência1 - Influência mínima2 - Influência moderada3 - Influência média4 - Influência significativa5 - Grande influência
Para cada um dos 14 índices deve ser analisado o NI, somado
e então aplicado à fórmula.
40
Cálculo dos Pontos Ajustados
41
Dúvidas e DicasTenho várias consultas na tabela de clientes, uma consulta detalhada retornando quase todos os itens de dados da tabela e em outra tela tenho uma lista de clientes mostrando apenas CPF e Nome – Como contar ?
Neste caso serão contadas duas Consultas ExternasEm uma funcionalidade de alteração altero um campo mas consulto outros n itens. Quantos itens de dados tenho, um ou n+1 ?
Os itens de dados devem ser somados (n+1)Como pontuar a manutenção de um sistema que só terá seu padrão visual alterado ?
Neste caso a contagem de ponto de função não será útil.
42
Dúvidas e DicasComo classificar um arquivo texto que é importado pelo sistema ?
A importação é uma Entrada Externa pois alimentam ALIs.
Mesmo se a aplicação atualizar a data da importação no arquivo texto ?
Não pode ser contado como ALI pois os itens de dados são contados dentro das tabelas do banco; não pode ser AIE pois têm manutenção nos dados, portanto deve ser contado como EE e para esta função contar também a data como item de dados.
43
Dúvidas e DicasUma gravação em disquete com dados da base, é uma CE ou SE ?
Se a extração tiver processamento (cálculo de registros) é SE se for cópia da base é CE.
Tenho um relatório que é somente extração da base, mas sendo que se ultrapassar o limite de 100 linhas o relatório sai em arquivo. Como pontuar ?
Neste caso devemos contar como SE, pois há o cálculo das linhas e é de conhecimento do usuário que o relatório ultrapassar o limite (há contagem de linhas) o relatório será gravado em disco, senão será impresso.
44
Dúvidas e DicasO meu sistema tem uma tela para atualizar o endereço do trabalhador e irá utilizar um método e uma tabela de outro sistema para atualizar os registros, como deve ser contado isso ?
De acordo com a descrição acima, o sistema a ser contado tem um processo elementar (atualizar trabalhador) que deverá ser contado como uma EE e esta terá um arquivo referenciado (o ALI trabalhador).
Se A Contagem Foi De Desenvolvimento Não Se Esqueça De Contar A Migração Dos Dados.
45
Prática – Exemplo e exercícios