APF – Análise de Pontos de Função: Resumo para o EBSERH (TI)
Este artigo apresenta um resumo de análise de pontos de função (APF) para o concurso do EBSERH, sendo focado, portanto, no que a banca IBFC vem cobrando em suas provas.
Assim, estruturamos este artigo nos tópicos:
- Introdução
- Componentes Fundamentais da APF
- Etapas Processo de Medição de Pontos de Função
- Determinar o Tipo de Contagem
- Determinar o Escopo e Fronteira
- Calcular Pontos de Função Não-Ajustados
- Calcular Fator de Ajuste
- Calcular Pontos de Função Ajustados
- Conclusão
Introdução
Na era da tecnologia da informação, o desenvolvimento de software desempenha um papel fundamental na criação de sistemas e aplicações que impulsionam os negócios e melhoram a eficiência operacional. No entanto, avaliar o tamanho e a complexidade dos projetos de software é uma tarefa desafiadora. É aí que a Análise de Pontos de Função (APF) se destaca como uma metodologia crucial e amplamente adotada para medir, de forma precisa e objetiva, o escopo e o valor de um sistema de software.
A APF é uma técnica de estimativa e medição que fornece uma abordagem estruturada para quantificar o trabalho envolvido em um projeto de desenvolvimento de software, independentemente da tecnologia ou linguagem de programação utilizada. Ela se concentra na funcionalidade do software e na experiência do usuário, em vez de simplesmente contar linhas de código.
Neste artigo, estudaremos resumidamente a APF, destacando seus componentes fundamentais e as etapas envolvidas na contagem de pontos de função. Sendo assim, a ideia é que ao final deste artigo você esteja preparado para resolver questões desse assunto.
Componentes e Conceitos Fundamentais da APF
Os cinco componentes ou funções fundamentais da APF são: Arquivo Lógico Interno (ALI), Arquivo de Interface Externa (AIE), Entrada Externa (EE), Saída Externa (SE) e Consulta Externa (CE).
Essas funções são categorizadas em Funções de Dados e Funções de Transação.
Funções de Dados
As funções de dados são um dos principais tipos de funções usadas para medir a funcionalidade de um sistema de software, pois envolvem a manipulação de dados dentro do sistema e são essenciais para avaliar o tamanho funcional do software. As funções do tipo dado na APF podem ser divididas em duas categorias principais:
- Arquivos Lógicos Internos (ALI): Os ALIs representam grupos de dados logicamente relacionados mantidos pelo sistema que são criados, lidos, atualizados ou excluídos por funções internas do sistema. Sua função é armazenar dados mantidos dentro da fronteira da aplicação. Sendo assim, eles são essenciais para o funcionamento do sistema e são manipulados internamente. Por exemplo, em um sistema de gerenciamento de clientes, o banco de dados de clientes seria um exemplo de um Arquivo Lógico Interno.
- Arquivos de Interface Externa (AIE): Os AIEs são grupos de dados logicamente relacionados usados para a troca de informações entre o sistema em análise e sistemas externos. Esses arquivos não são mantidos pelo sistema, mas são lidos por ele. Dessa forma, um arquivo de interface externa de uma aplicação sempre será contado como um arquivo lógico interno de outra aplicação. Um Arquivo de Interface Externa poderia, por exemplo, ser um sistema de folha de pagamento que lê um arquivo externo de dados de funcionários para processar os pagamentos.
Em suma, as funções do tipo dado se concentram na gestão e manipulação de informações e são uma parte fundamental da medição dos Pontos de Função. Elas são contadas com base na complexidade, na quantidade de dados envolvidos e nas operações realizadas sobre esses dados.
Funções de Transação
As Funções do Tipo Transação da APF envolvem a interação do sistema de software com os usuários ou com sistemas externos. Elas podem ser divididas em três categorias principais:
- Entradas Externas (EE): representam ações dos usuários ou de sistemas externos que enviam dados para o sistema. Isso inclui a criação, atualização ou exclusão de registros dentro do sistema, além de qualquer processamento de dados associado. Podemos citar, por exemplo, ações de incluir, excluir e alterar registros. Por outro lado, não são exemplos: menus, telas de login, telas de filtro de relatórios, etc.
- Saídas Externas (SE): são ações do sistema que fornecem informações ao usuário ou a sistemas externos. Inclui a geração de relatórios, cálculos, a exibição de informações em telas, ou qualquer forma de apresentação de dados ao usuário. Além disso, uma saída externa sempre altera o comportamento do sistema. Exemplos: dados transferidos para outra aplicação, relatórios com cálculos, processamento ou geração de dados derivados, gráficos, etc. Por outro lado, não são exemplos: telas de ajuda, relatórios que apenas mostram os dados de uma tabela, sem efetuar cálculo.
- Consultas Externas (CE): envolvem a recuperação de informações do sistema, mas não envolvem a atualização ou modificação dos dados. Elas são usadas para recuperar informações existentes no sistema e fornecê-las ao usuário ou a sistemas externos. Dessa forma, em uma CE não deve conter cálculo matemático, dados derivados, nem atualizar nenhum ALI, ou seja, uma CE nunca altera o comportamento do sistema. Exemplos: telas de login, telas de ajuda, telas de consulta e relatórios sem cálculos ou geração de dados derivados.
Em resumo, as funções de transação se concentram na interação entre o sistema de software e seu ambiente externo. Elas são contadas com base na complexidade e na quantidade de operações realizadas em resposta às ações dos usuários ou sistemas externos.
Etapas do Processo de Medição da APF
O processo de medição de pontos de função possui as seguintes etapas:
- Determinar o Tipo de Contagem
- Determinar o Escopo e Fronteira
- Calcular Pontos de Função Não-Ajustados
- Calcular Fator de Ajuste
- Calcular Pontos de Função Ajustados
Agora, iremos detalhar cada uma dessas etapas.
Determinar o Tipo de Contagem
Esta etapa é uma parte fundamental do processo de medição de Pontos de Função e envolve a decisão de selecionar o tipo apropriado de contagem. O IFPUG reconhece três tipos principais de contagem:
- Projeto de Desenvolvimento: trata-se da contagem de novas funcionalidades, ou seja, a contagem de todas as funções novas ou alteradas que serão entregues ao usuário pelo projeto de desenvolvimento.
- Projeto de Manutenção/Melhoria: envolve a contagem de mudanças no sistema, ou seja, a contagem de todas as alterações que serão feitas nas funções existentes, também chamadas de manutenção evolutivas ou melhorias.
- Projeto de Aplicação/Produção: envolve a contagem do sistema em sua totalidade, sendo, portanto, realizada em aplicações que estão em produção e em pleno funcionamento.
Portanto, a escolha do tipo de contagem é fundamental para garantir que a medição seja adequada aos objetivos do projeto ou organização.
Determinar o Escopo e Fronteira
Após determinar o tipo de contagem, determina-se o escopo e a fronteira de aplicação, que é uma parte crucial do processo de medição de Pontos de Função. Essa etapa envolve a definição do escopo do sistema de software que será medido e a identificação de seus limites (fronteira). Esses elementos são essenciais para estabelecer quais funcionalidades ou transações devem ser incluídas na contagem.
Aqui estão os principais aspectos dessa etapa:
- Definir o Escopo do Sistema: O escopo do sistema refere-se ao conjunto de funcionalidades que serão avaliadas na contagem de Pontos de Função. Isso envolve identificar quais partes do sistema estão dentro do escopo da medição e quais estão fora. O objetivo é estabelecer claramente quais funções e transações estão sujeitas à medição e quais não estão. Por exemplo, ao medir o Pontos de Função de um sistema de gerenciamento de biblioteca, o escopo pode incluir funcionalidades relacionadas ao empréstimo de livros e gerenciamento de catálogo, enquanto as funcionalidades de contabilidade da biblioteca podem estar fora do escopo.
- Identificar a Fronteira do Sistema: A fronteira do sistema é a linha que separa o sistema em análise do ambiente externo. É importante definir essa fronteira claramente para determinar quais interações com usuários ou sistemas externos serão consideradas nas medições. Por exemplo, se o sistema se integra com um site de terceiros para pesquisa de preços de livros, é fundamental determinar até onde vão as responsabilidades do sistema em análise e onde começa o sistema externo.
Uma definição precisa do escopo e da fronteira ajuda a garantir que a medição seja consistente e relevante para os objetivos do projeto, além de ser fundamental para a comunicação eficaz entre a equipe de medição e as partes interessadas.
Calcular Pontos de Função Não-Ajustados
Nessa etapa, você determina o tamanho funcional bruto do sistema de software. Aqui estão os principais aspectos dessa etapa:
- Identificar Funções do Sistema: Antes de calcular os Pontos de Função Não-Ajustados, você deve identificar e classificar as funções do sistema. Isso inclui funções do tipo Transação (Entradas Externas, Saídas Externas e Consultas Externas) e funções do tipo Dado (Arquivos Lógicos Internos e Arquivos de Interface Externa).
- Atribuir Pontos de Função: Cada função identificada é atribuída a um valor de Pontos de Função Não-Ajustados (UFP), com base em critérios estabelecidos pelo IFPUG. As funções do tipo Transação e as funções do tipo Dado são pontuadas de maneira diferente. Assim, as regras de pontuação são definidas para refletir a complexidade e a quantidade de dados envolvidos em cada função.
- Somar os Pontos de Função Não-Ajustados: Depois de atribuir os valores de Pontos de Função Não-Ajustados a cada função, você soma esses valores para obter o total de Pontos de Função Não-Ajustados para o sistema em análise. Isso representa o tamanho funcional bruto do software, ou seja, sem levar em consideração fatores de ajuste ou complexidades adicionais.
A tabela abaixo mostra o valor da contagem de cada tipo de função de acordo com a complexidade:
![tabela com pesos de cada função de acordo com a complexidade - APF](https://dhg1h5j42swfq.cloudfront.net/2023/10/19164806/image-302.png)
Assim, para calcular os pontos de função não ajustados (PFNA) devemos, após identificar a quantidade de cada uma das funções, multiplicar conforme a complexidade. Para o estudo de concursos, a banca já fornece qual a complexidade, ou seja, se é baixa, média ou alta, sendo necessário apenas memorizar os pesos de cada uma, conforme a tabela acima.
Calcular Fator de Ajuste
Esta etapa consiste na avaliação de 14 características gerais da aplicação, que podem afetar seu tamanho e complexidade. Essas características são avaliadas em uma escala de 0 a 5 conforme seu nível de influência na aplicação. Características que não têm nenhuma influência recebem o valor 0, se tiver uma influência mínima, recebem o valor 1, e a pontuação vai variando conforme o nível de influência, recebendo no máximo o valor 5, para uma forte influência.
As 14 características são as seguintes:
- 01 – Comunicação de dados
- 02 – Processamento Distribuído
- 03 – Performance
- 04 – Configuração do equipamento
- 05 – Volume de Transações
- 06 – Entrada de dados online
- 07 – Interface com o usuário
- 08 – Atualização online
- 09 – Processamento complexo
- 10 – Reusabilidade
- 11 – Facilidade de implantação
- 12 – Facilidade operacional
- 13 – Múltiplos locais
- 14 – Facilidade de mudanças
Quando definimos o valor de influência de cada característica, calculamos o Somatório do Nível de Influência (SNI), que consiste basicamente em somar os valores de nível de influência atribuídos a cada característica. Como temos 14 características cujo valor varia de 0 a 5, então o valor máximo do SNI será 70, ou seja, quando todas as 14 características tiverem valor 5, teremos SNI = 14 x 5 = 70.
Assim, o valor de função de ajuste (VFA) será obtido através da seguinte fórmula:
VFA = (SNI x 0,01) + 0,65
Dessa forma, o valor máximo do SNI, quando todas as características tiverem o valor 5, será (70 x 0,01) + 0,65 = 1,35 e o valor mínimo será 0,65, quando todas as 14 características possuírem o valor 0.
Podemos concluir, portanto, que o VFA poderá influenciar na contagem de pontos de função em 35% para mais ou para menos.
Calcular os Pontos de Função Ajustados
Por fim, chegamos na última etapa, aqui basta simplesmente multiplicar os pontos de função não ajustados (PFNA) pelo valor de fator de ajuste (VFA), ou seja, PFA = PFNA x VFA.
Sendo assim, realizando este cálculo chegaremos, finalmente, ao tamanho do software em pontos de função.
Conclusão
Bem pessoal, enfim chegamos ao final deste artigo. A ideia foi apresentar os principais tópicos teóricos sobre APF que costumam ser cobrados pela banca IBFC. Dessa forma, espero que o conteúdo aqui apresentado seja de grande utilidade para sua aprovação.