bfpug_new.jpg (7052 bytes)Brazilian Function Point Users Group
APF e Índices de Produtividade
por Carlos Alberto Simões
Artigo publicado na Developers' Magazine

No processo de estimativa a partir da visão do usuário, é fator crítico de sucesso a correta definição do que é uma função transacional e o que é parte integrante desta função. Classificar partes como sendo uma função isolada pode causar desvios consideráveis no tamanho do sistema. Sendo assim, se aplicarmos os índices de produtividade sobre o tamanho do sistema, os desvios serão consideravelmente grandes, principalmente pelo fato de que a produtividade média aplicada é resultado de uma série histórica que considera a função transacional como um todo e não como partes.

A camada visual, ou interface Web, pode ser vista como a necessidade de implementação de uma camada de interação visual entre o usuário e a camada de negócio. Para o usuário, a interface Web não é vista como uma funcionalidade, pois está totalmente integrada à função transacional completa, como, por exemplo, consultar cliente.

A camada visual não pode ser classificada por si só, segundo os conceitos da métrica análise de pontos de função, como uma das funções transacionais (input, output, query). Portanto, a camada não deve fazer parte da lista de funções transacionais a serem quantificados para se determinar o tamanho de uma sistema em termos pontos de função.

Ao quantificarmos as características técnicas relacionadas à interface Web, que influencia o fator de ajuste da quantidade de pontos de função, o percentual encontrado referente a estas características não seria significativamente grande a ponto de influenciar no crescimento do tamanho do sistema. Porém, a implementação física desta característica requer um esforço em termos de horas significantemente grande para a implementação desta camada visual.

Um padrão de métrica pode ser considerada aplicável em termos de estimativa de horas quando produz um desvio da ordem de 20% entre o estimado e o realizado.

Esforço em horas para a implementação física de funções

A métrica análise de ponto de função é destinada a quantificar o tamanho de um sistema e não para estimar as horas necessárias para o desenvolvimento. Para tal, um outro fator torna-se necessário ser conhecido: quanto tempo é preciso para implementar um determinado número de pontos de função. Isto é, qual é o índice de produtividade.

A aplicação de índices de produtividade ao tamanho de um sistema, expresso em número de ponto de função, não faz parte do escopo da métrica análise de pontos de função. Ao aplicarmos índices de produtividade para a implementação física das funções quantificadas pela métrica, passamos a tratar o sistema com uma visão influenciada pelas tecnologias a serem utilizadas.

Considerações

Se utilizarmos dos mesmos conceitos da análise de pontos de função, poderíamos dizer que camada visual pode ser vista como uma "consulta simples", que recupera dados de um único arquivo lógico e apresenta ao usuário ou que recebe dados do usuário e grava em um único arquivo lógico.

Sendo assim, poderíamos determinar o número de pontos de função associado à programação Web e, tendo o índice de produtividade específico para este tipo de ambiente, poderíamos determinar o tempo necessário para a implementação.

Poderíamos considerar que cada funcionalidade transacional a ser implementada na camada de negócio (funcional) demandaria a implementação de aproximadamente uma interface Web na camada visual.

A interface Web, quando implementada em uma linguagem de programação diferente da utilizada na camada de negócio (regras de negócio da funcionalidade), requer a aplicação de índices de produtividade distintos. Por exemplo, se a camada de negócio for implementada em COBOL e a camada visual for implementada em uma linguagem específica para ambiente Web, teremos dois índices de produtividade a serem aplicados.

Ao fazermos a quantificação de um sistema com o auxílio da métrica análise de pontos de função, a partir do levantamento dos requisitos de negócio obtidos do usuário, fazemos todas as considerações levando em consideração a visão do usuário do sistema.

Podemos levantar as seguintes questões quando da definição da quantidade de horas necessárias à implementação física de sistemas:

1. A aplicação de índice de produtividade não está no escopo desta métrica.

2. A visão do usuário do sistema não contempla a implementação física do sistema.

3. A aplicação de índices de produtividade é totalmente dependente da metodologia e dos aspectos tecnológicos envolvidos no desenvolvimento de sistemas.

4. A obtenção do tempo necessário para a implementação de interface Web requer a aplicação de índices de produtividade específicos.

Podemos tratar a questão da definição do tempo para implementação da camada visual (interface Web) sob os seguintes aspectos, entre outros:

a) Aplicação de índice de produtividade específico, que considera a função transacional on-line como um todo, sobre a quantidade de pontos de função obtidos para a função transacional on-line. Isto nos possibilitaria obter o tempo necessário para a implementação física da função transacional.

b) Aplicação de índice de produtividade específico para a camada visual sobre a quantidade de pontos de função originalmente obtida para a função transacional on-line correspondente. Isto nos permitiria obter o tempo necessário para a implementação física da camada visual (interface Web).

c) Poderíamos considerar que cada função transacional on-line demandaria a implementação de aproximadamente uma interface Web. Conforme o desenho apresentado anteriormente, a camada visual estaria acessando/atualizando um único arquivo lógico gerado/acessado pela camada de negócio. Portanto, poderíamos aproveitar os conceitos da métrica análise de pontos de função e definir que esta interface Web poderia ser classificada como uma "query" de baixa complexidade. Aplicando-se o índice de produtividade específico para a camada visual sobre a quantidade de pontos de função obtidos, chegaríamos ao tempo necessário para a implementação física da camada visual (interface Web).

Para os três casos citados acima, os índices históricos de produtividade devem ter sido coletados e tratados em concordância com a opção escolhida.

Para finalizar, a coleta e aplicação de índice de produtividade requer padronização. Portanto, a aplicação dos conceitos e definições da métrica análise de pontos de função deve seguir um padrão comum de entendimento, em concordância com os critérios estabelecidos pela métrica, para que a classificação e contagem não sejam feitas a partir de interpretação própria.

Autor: Carlos Simões

Biografia: Carlos Simões é gerente de consultoria da Synapsis Brasil Ltda.