Buscar

Aula 04

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Universidade Paulista (UNIP)
Engenharia de Software
Prof.MSc. Vladimir Camelo
São Paulo, 2017
Análise de Pontos de Função
1. Conceituação
A análise por Pontos de Função (FPA) é uma técnica para mensuração de sistemas, desenvolvida por Allan J. Albrecht (IBM, White Plains) em 1979, e que tem ganho um significativo contingente de usuários. 
O International Function Point Users Group IFPUG tem procurado difundir esta técnica e padronizar os conceitos inerentes a ela. Recentemente a ISO/IEC criaram um grupo para normalizar o processo de mensuração de software, cuja proposição inicial está baseada nesta técnica.
A FPA dimensiona o software, considerando a perspectiva do usuário, quantificando a funcionalidade que ele proporciona ao seu usuário final baseado principalmente no seu desenho lógico. Uma aplicação, vista sob a ótica do usuário, é um conjunto de funções ou atividades do negócio que o beneficiam na realização de suas tarefas. Estas funções são divididas nos seguintes grupos ou tipos:
Arquivo Lógico Interno: Trata-se de grupos de dados ou informações de controle, inter-relacionados, requisitados pelo usuário como necessidades de informação, cuja manutenção, realizada por um processo elementar da aplicação (alteração, inclusão, exclusão), acontece dentro da fronteira da aplicação. Complexidade Funcional dos ALI (Arquivo Lógico Interno): A complexidade é determinada em função da quantidade de registros lógicos e itens de dados referenciados.
Arquivo de Interface Externa (AIE): São grupos de dados, inter-relacionados, necessários para a aplicação, mantidos e armazenados fora do sistema que está sendo dimensionado. Baseia-se na Identificação dos dados armazenados fora da fronteira da aplicação, dados que não sofrem manutenções pela aplicação que está sendo avaliada, dados identificados como necessidades de informação do usuário e dos dados que são contados como ALI para outra aplicação. A complexidade é determinada em função da quantidade de registros lógicos e itens de dados referenciados.
Entradas Externas – EE: São grupos de dados que entram no sistema, utilizados para a manutenção dos Arquivos Lógicos Internos, ou seja, provocam uma inclusão, exclusão e/ou alteração nos dados dos ALI. Baseia-se na Identificação dos processos que recebem dados externos e que atualizam arquivos lógicos internos. A complexidade funcional da EE é determinada em função da quantidade de arquivos lógicos internos e itens de dados referenciados.
Saídas Externas – SE: representam as atividades do sistema que transformam dados dos arquivos lógicos internos e geram resultados que são exibidos ao usuário. A contagem das saídas externas é baseada na quantidade de arquivos lógicos referenciados e na quantidade de itens de dados referenciados. A Identificação da SE baseasse nos processos que enviam dados para fora da fronteira da aplicação. Contando-se cada processo que envia dados ou informações para fora da fronteira da aplicação, bem como cada processo que necessitar de lógica de processamento diferente da utilizada em outras saídas externas que tenham o mesmo formato. A complexidade funcional das SE é determinada em função da quantidade de arquivos lógicos e itens de dados referenciados.
Consultas Externas – CE: São requisições de informações que, para serem satisfeitas, precisam que sejam combinados parâmetros de entradas e saídas que permitem a recuperação da informação solicitada pelo usuário.
As funções contribuem para o cálculo de Pontos de Função com base na quantidade (número de funções) e na complexidade funcional relativa atribuída a cada uma delas.
A tabela abaixo indica a complexidade de um Arquivo Lógico Interno ou Arquivo de Interface Externa de acordo com o número de Tipos de Elementos de Dados (TD - um campo não recursivo de dado, único e reconhecido pelo usuário, em uma visão geral e limitada, seria cada atributo de uma tabela) e de Tipos de Elementos de Registros (TR - É um subgrupo de dados. De forma simples, quando um agrupamento de tabelas é caracterizado como um único arquivo lógico, ALI ou AIE, a tabela reconhecida pelo usuário é contada e as demais se tornam tipos de registro. Os campos de dados dos tipos de registro são atribuídos a todos os arquivos lógicos relacionados a estes tipos de registro) identificados para ele.
A tabela abaixo indica a complexidade de uma Entrada Externa de acordo com o número de Tipos de Elementos de Dados e de Arquivos Referenciados identificados para ela. Também é utilizada para determinar a complexidade das entradas de uma Consulta Externa.
Complexidade Entrada Externa (EE)
A tabela abaixo indica a complexidade de uma Saída Externa de acordo com o número de Tipos de Elementos de Dados e de Arquivos Referenciados identificados para ela. Também é utilizada para determinar a complexidade das saídas de uma Consulta Externa.
Complexidade Saída Externa (SE) e Consulta Externa (CE)
Tabela de contribuição:
A tabela de contribuição é padronizada pelo IFPUG, todos os usuários da técnica de análise de pontos de função utilizam os mesmos valores. Após identificar a complexidade de cada processo elementar do seu sistema, é possível determinar a contribuição desses para a contagem dos pontos de função.
Visão Geral da Análise de Pontos de Função
Trata-se de uma técnica que possibilita medir a funcionalidade de um software ou aplicativo, sob a visão do usuário, e a partir da descrição dos requisitos do usuário para o sistema. Os principais objetivos da técnica de APF: 
Medir a funcionalidade dos sistemas independentemente da tecnologia que foi utilizada no seu desenvolvimento; 
Avaliar com base no que o sistema faz, ou seja, as funções que o sistema executa, independente da tecnologia em que foi implementado; 
Identificar um padrão de medida para a produtividade e qualidade;
Fornecer ferramenta para auxiliar nas estimativas de desenvolvimento de software; 
Possibilitar o uso por diferentes projetos, em diferentes empresas e ambientes variados, demonstrando consistência na comparação; 
Ser compreensível pelo pessoal não técnico;
Ser utilizável em todo o ciclo de desenvolvimento do software;
Ser um processo simples de mensuração;
Ser conciso e consistente.
Mede a funcionalidade do sistema baseado na visão do usuário, apresentando as seguintes características:
Independência de tecnologia utilizada.
Produção de resultados consistentes. 
Baseada na visão do usuário. 
Significância para o usuário final. 
Utilização em estimativas. 
Passível de automação.
Apresenta dificuldades por possuir relativa subjetividade, considerando que reflete a visão do usuário. A complexidade está relacionada com volumes de arquivos lógicos, registros lógicos e itens de dados, identificados. Considera 14 Itens de influência subdivididos em subitens que abrangem todos os aspectos relacionados às necessidades de uso de ferramentas para atendimento das requisições dos usuários.
	
Definição da Fronteira da Aplicação
Quais os limites do que vou medir? Esta é a etapa em que é estabelecido o escopo do sistema objeto da avaliação, sob a visão do usuário. Neste momento são identificados todos os relacionamentos do sistema, sob avaliação, com o seu exterior, e são identificadas as pertinências dos dados e os processos suportados pelo sistema que está sendo contado. Em resumo a fronteira separa o sistema, sob avaliação, das aplicações externas.
2. Cálculo dos Pontos de Função
Determina-se o número de FPA de uma aplicação em três etapas de avaliação:
Primeira Etapa (Pontos de Função não-ajustados): Refletem as funções específicas e mensuráveis do negócio, providas ao usuário pela aplicação;
Segunda Etapa (Fator de Ajuste): Representam a funcionalidade geral provida ao usuário pela aplicação;
Terceira Etapa (Pontos de Função Ajustados): Refletem a aplicação do Fator de Ajuste sobre o resultado apurado na primeira etapa.
As regras de Contagem de FPA, apresentadas adiante, estão baseadas no Manual de Práticas deContagem da Análise por Pontos de Função - Release 3.1, publicada pelo International Function Point Users Group IFPUG.
2.1. Cálculo dos Pontos de Função Não-Ajustados
Após a definição sobre o tipo de contagem que será realizada, ou seja, se o sistema a ser dimensionado é um projeto de desenvolvimento, manutenção ou produção, e após a identificação da fronteira da aplicação, segue-se à identificação dos grupos de funções tipo dados e transações, e a contagem de seus registros e itens de dados.
Uma função específica do usuário em uma aplicação é avaliada em termos do que é fornecido pela aplicação e não como é fornecido. Somente componentes solicitados e visíveis ao usuário são contados. As funções específicas da aplicação, sob a ótica do usuário, devem ser identificadas e agrupadas segundo o seu tipo, ou seja:
Arquivo Lógico Interno
Arquivo de Interface Externa
Entradas Externas
Saídas Externas
Consultas Externas
Cada função, por meio de critérios próprios, deverá ser classificada segundo a sua complexidade funcional relativa, em: Simples, Média ou Complexa. A cada função será atribuído um número de pontos, segundo seu tipo e complexidade funcional relativa:
	Tipo de Função
	Complexidade
	Funcional
	Relativa
	 
	SIMPLES
	MÉDIA
	COMPLEXA
	Arquivo Lógico Interno
	7
	10
	15
	Arquivo de Interface Externa
	5
	7
	10
	Entrada Externa
	3
	4
	6
	Saída Externa
	4
	5
	7
	Consulta Externa
	3
	4
	6
Exemplo 
	Tipo de Função
	Complexidade Funcional
	Total da Complexidade
	Total de pontos de Função
	ALI
	
___ Baixa X 7
___ Média X 10
___ Alta X 15
	
________________
________________
________________
	
	AIE
	
___ Baixa X 5
___ Média X 7
___ Alta X 10
	
________________
________________
________________
	
	EE
	
___ Baixa X 3
___ Média X 4
___ Alta X 6
	
________________
________________
________________
	
	SE
	
___ Baixa X 4
___ Média X 5
___ Alta X 7
	
________________
________________
________________
	
	CE
	
___ Baixa X 3
___ Média X 4
___ Alta X 6
	
________________
________________
________________
	
	Total geral de pontos de função brutos obtidos (APF brutos):
	
2.2. Cálculo do Fator de Ajuste
O nível de influência de cada uma das 14 características, a serem observadas varia de 0 a 5, correspondendo a uma escala de influência que parte da hipótese de nenhuma influência (0) até o grau de influência máxima (5).
As características gerais do sistema podem influenciar no seu tamanho variando no intervalo de –35% a +35%. Isto implica em um intervalo de variação para o fator de ajuste da ordem de 0,65 a 1,35.
As características gerais de um sistema são:
COMUNICAÇÃO DE DADOS: Quando são utilizados recursos de Comunicação de Dados para o envio ou recebimento de dados e informações de controle utilizados pela aplicação;
PROCESSAMENTO DISTRIBUÍDO: Quando a aplicação prevê a distribuição de dados ou de processamento entre várias CPUs da instalação;
PERFORMANCE: Esta característica identifica os objetivos de performance da aplicação, estabelecidos e aprovados pelo usuário, que influenciaram (ou irão influenciar) o desenho, desenvolvimento, implantação e suporte da aplicação;
UTILIZAÇÃO DO EQUIPAMENTO: Representa a necessidade de se fazer considerações especiais no desenho dos sistemas para que a configuração do equipamento não sofra degradação;
VOLUME DE TRANSAÇÕES: Avalia o impacto no desenho da aplicação do volume de transações previsto para ela;
ENTRADA DE DADOS "ON-LINE": Avalia o volume de transações que são entradas de dados interativas;
EFICIÊNCIA DO USUÁRIO FINAL: Analisa as funções "on-line" desenhadas e disponibilizadas voltadas para a eficiência do usuário final;
ATUALIZAÇÃO "ON-LINE": Verifica o volume de arquivos lógicos internos que sofrem manutenção "on-line" e o impacto do processo de recuperação de seus dados;
PROCESSAMENTO COMPLEXO: Considera o impacto, sobre o desenho da aplicação, causado pelo tipo de complexidade do processamento;
REUTILIZAÇÃO DE CÓDIGO: Avalia se a aplicação e seu código foram especificamente projetados e desenvolvidos para serem reutilizados em outras aplicações;
FACILIDADES DE IMPLANTAÇÃO: Considera o esforço dispendido para o atendimento dos requerimentos de conversão de dados para a implantação da aplicação;
FACILIDADE OPERACIONAL: Avalia o desenho da aplicação quanto aos requisitos estabelecidos para inicialização, "backup" e recuperação voltados à minimização da intervenção manual do operador;
MÚLTIPLOS LOCAIS: Quando a aplicação for especificamente projetada e desenvolvida para ser instalada em múltiplos locais ou para múltiplas organizações;
FACILIDADES DE MUDANÇAS: Quando os requisitos da aplicação preveem o projeto e desenvolvimento de mecanismos que facilitem mudanças operacionais, tais como: capacidade de emissão de relatórios genéricos, de consultas flexíveis ou de alterações nos dados de controle do negócio (parametrização).
A cada característica será atribuído um peso 0 (zero) a 5 (cinco), de acordo com o nível influência na aplicação, observando-se os critérios estabelecidos para cada característica, representando:
0 (zero): Nenhuma influência
1 (hum): Influência Mínima
2 (dois): Influência Moderada
3 (três): Influência Média
4 (quatro): Influência Significativa
5 (cinco): Grande Influência
O Nível de Influência Geral é obtido pelo somatório do nível de influência de cada característica e o Fator de Ajuste é obtido pela expressão:
FATOR DE AJUSTE = FA
Nível de Influência Geral = NI
FATOR DE AJUSTE = 0,65 + (NI * 0,01)
2.3. Cálculo dos Pontos de Função Ajustados
O total de Pontos de Função da aplicação será encontrado por meio da multiplicação do número de Pontos de Função não-ajustados pelo Fator de Ajuste.
PF ajustado = (PF não ajustado + PF incluído + PF alterado atual – PF alterado anterior – PF excluído) X Fator de ajuste atual
3. Aplicações da Técnica de Análise por Pontos de Função
A técnica FPA tem por finalidade a mensuração do tamanho de um software ou aplicação. No entanto, quando utilizada em combinações com outras medidas, poderá ter várias utilidades. Pode-se destacar a utilização desta técnica nos seguintes aspectos:
ESTIMATIVA DA DIMENSÃO DE PROJETOS: Uma das principais vantagens da FPA sobre outras técnicas de medição de aplicações é a possibilidade de estimar a dimensão de projetos desde as primeiras fases da análise de sistemas. A precisão da estimativa do tamanho de uma aplicação varia de acordo com o grau de conhecimento adquirido sobre a mesma, ou em outras palavras, da fase em que se encontra o projeto. Segundo a empresa Software Produtivity Research, ao final da fase de desenho do sistema é possível se fazer estimativas com margem de erro de + ou - 10%. O conhecimento sobre o sistema e o grau de precisão das estimativas segundo a tabela abaixo:
	FASE DO PROJETO
	CONHECIMENTO DO PROJETO
	PRECISÃO DA ESTIMATIVA
	Planejamento
	10%
	(+/- 35%)
	Requerimentos
	25%
	(+/- 30%)
	Desenho Inicial (Projeto Lógico)
	40%
	(+/- 20%)
	Desenho Final (Projeto Físico)
	60%
	(+/- 10%)
	Construção
	80%
	(+/- 5%)
	Testes
	90%
	(+/- 2%)
	Implantação
	100%
	0%
Entretanto, para se fazer estimativas antes do final da fase de Desenho Final (Projeto Físico) com uma margem de erro aceitável, é aconselhável que o usuário se apoie em algum método em bases estatísticas, para suprir a falta de conhecimento de algumas funções da aplicação.
NÍVEL DE PRODUTIVIDADE DA EQUIPE: A produtividade na construção de um software traduz a velocidade com que o software foi construído, isto é, quantas unidades de tamanho do software (Pontos de Função) foram construídas em uma unidade de tempo (horas, meses, etc). Podemos, também, exprimir a produtividade em termos da quantidade de unidades de tempo que são consumidas para construir urna unidade de tamanho do software.Assim:
PRODUTIVIDADE = TEMPO / PONTOS DE FUNÇÃO
DIMENSIONAMENTO DO ESFORÇO PARA DESENVOLVIMENTO: O esforço para desenvolver um software pode ser definido como sendo a quantidade de tempo (horas) de trabalho que serão necessárias para produzir um sistema. Conhecida a produtividade da equipe de desenvolvimento a fórmula abaixo poderá ser aplicada:
ESFORÇO = PRODUTIVIDADE * TAMANHO DO SOFTWARE
TAXA DE MANUTENÇÃO DO SOFTWARE: A taxa de manutenção de um determinado software, ou do conjunto de sistemas de uma instalação, é a quantidade de pontos de função que necessitaram manutenção em relação ao seu tamanho, em um período de tempo.
Benefícios com o Uso da APF
Dimensionamento dos sistemas, em produção e/ou em desenvolvimento bem como, solicitações de manutenção. 
Apoio para estimativa de custos e recursos requeridos para o desenvolvimento e manutenção de software. 
Apoio para gerenciamento da qualidade e produtividade no processo de desenvolvimento do software.
Apoio para a tomada de decisão relativa a seleção para aquisição de pacotes, e contratação de serviços.
Bibliografia
SOMMERVILLE, I. Engenharia de Software. 8th ed., Addison-Wesley, 2007.
PFLEEGER, Shari Lawrence. Engenharia de Software: teoria e prática; tradução Dino Franklin; revisão técnica Ana Regina Cavalcanti da Rocha. – 2. Ed. – São Paulo – Prentice Hall, 2004.
ROBERTSON, James; ROBERTSON, Suzanne. Complete systems analysis: the workbook, the textbook, the answers. Nova York: Dorst House Publishing,1994.
KOTONYA, G., SOMMERVILLE, I., Requirements engineering: processes and techniques. Chichester, England: John Wiley, 1998.
Exemplo de aplicação para utilização de APF:
	Descrição 
	Tipo 
	TD 
	TR 
	Complexidade 
	Usuário 
	
	
	
	
	Cliente 
	
	
	
	
	Carro 
	
	
	
	
	Aluga
	
	
	
	
	Total de Pontos de Função
	
	Descrição 
	TIPO
	TD
	AR
	Complexidade
	Contribuição
	Incluir Cliente 
	
	
	
	
	
	Excluir Cliente 
	
	
	
	
	
	Alterar Cliente 
	
	
	
	
	
	Incluir Usuário 
	
	
	
	
	
	Excluir Usuário 
	
	
	
	
	
	Alterar Usuário 
	
	
	
	
	
	Incluir Automóveis 
	
	
	
	
	
	Excluir Automóveis 
	
	
	
	
	
	Alterar Automóveis 
	
	
	
	
	
	Registrar Locação 
	
	
	
	
	
	Finalizar Locação 
	
	
	
	
	
	Login (com criptografia) 
	
	
	
	
	
	Consulta clientes por nome 
	
	
	
	
	
	Consulta carros alugados 
	
	
	
	
	
	Consulta data do aluguel 
	
	
	
	
	
	Consulta clientes com carro alugado 
	
	
	
	
	
	Consulta carro mais alugado 
	
	
	
	
	
	Consulta cliente que mais aluga 
	
	
	
	
	
	Total de Pontos de Função
	
Tipos de Dados (TD) e Arquivos Referenciados (AR)
	Descrição 
	Contribuição 
	Funções do tipo dado 
	
	Funções do tipo transação 
	
	Total de Pontos de Função Não Ajustados =

Continue navegando