Vous êtes sur la page 1sur 20

Anlise de Pontos por Funo - O Processo de contagem

Figura 3.1: Procedimento de Contagem de Pontos de Funo (HAZAN, 2001) O procedimento para contagem de pontos de funo compreende sete passos mostrados na figura 3.1. Neste captulo ser detalhado cada passo do processo de contagem. 1. Determinar o tipo de Contagem O primeiro passo a ser seguido para a contagem de PF de um projeto de software determinar o tipo de contagem. Neste passo estabelecido o tipo de contagem que ser usado para medir o projeto de software, tanto no processo como no produto. So possveis trs tipos de contagem. (IFPUG,1999): 1. Contagem de projeto de desenvolvimento; 2. Contagem de projeto de melhoria (manuteno); 3. Contagem de aplicao. (produo) 1.1 Projeto de Desenvolvimento O nmero de pontos de funo de um projeto de desenvolvimento mede a funcionalidade fornecida aos usurios finais quando da primeira instalao do software entregue quanto o projeto estiver pronto. Esta contagem tambm abrange as funes de converso de dados que sero precisas para a implantao do software. Como exemplo de funo de converso de

dados pode-se citar a necessidade de importar dados de um sistema antigo para o sistema em implantao. (VAZQUEZ, 2005) 1.2 Projeto de melhoria (manuteno) Em um projeto de melhoria o nmero de pontos de funo mede as modificaes para uma aplicao j existente, ou seja, as funes adicionais, modificadas ou excludas do sistema pelo projeto e as funes de converses de dados. Aps a concluso e implantao do projeto de melhoria, o nmero de pontos de funo da aplicao deve ser atualizado para refletir as mudanas nas funcionalidades da aplicao. (VAZQUEZ, 2005) 1.3 Projeto de aplicao A contagem de pontos de funo de uma aplicao refere-se a uma aplicao j instalada e mede a funcionalidade fornecida ao usurio pela aplicao instalada provendo uma medida da atual funcionalidade ganha pelo usurio da aplicao. Ela iniciada ao final da contagem do projeto de desenvolvimento e atualizada no final do projeto de melhoria. (VAZQUEZ, 2005) 2. Identificar o escopo da contagem e a fronteira da aplicao A identificao do escopo visa definir a abrangncia da contagem estipulando se a contagem vai se referir a um ou mais sistemas ou a apenas parte de um sistema. Assim, como exemplo, o escopo da contagem de uma aplicao pode abranger todas as funcionalidades disponveis, algumas funcionalidades especficas ou apenas as funcionalidades usadas pelo usurio. (VAZQUEZ, 2005). A fronteira da aplicao separa a aplicao que esta sendo contada das aplicaes externas indicando o limite entre a aplicao e os demais usurios. A fronteira definida estabelecendo um limite lgico entre a aplicao que esta sendo contada o usurio e as outras aplicaes. Ao Identificar a fronteira da aplicao deve-se estabelecer o seguinte: (IFPUG, 1999) Os limites entre as funes a serem atendidas pela aplicao ou projeto dimensionado e quelas pertencentes ao ambiente externo; A propriedade dos dados considerados pelo processo de contagem; O relacionamento entre os processos, com indicao de onde eles ocorrem.

Segundo o IFPUG, para identificar a fronteira do processo de contagem, devem ser adotadas as seguintes regras: Deve ser considerado o ponto de vista do usurio, ou seja, o que o usurio pode entender e descrever como funo da aplicao. A fronteira entre aplicaes relacionadas deve considerar a funcionalidade das aplicaes em termos das funes de negcio identificadas pelo usurio, e no sob o ponto de vista das interfaces necessrias. Para Vazquez (VAZQUEZ, 2005), as seguintes dicas auxiliam na identificao da fronteira da aplicao: Obter uma documentao do fluxo de dados no sistema e desenhar uma fronteira em volta para destacar quais partes so internas e externas aplicao Identificar reas funcionais pela atribuio de propriedade de certos objetos de anlise, como entidades e processos; Verificar como o grupo de dados so mantidos; Verificar como a aplicao gerenciada; se desenvolvida ou mantida na sua totalidade por uma equipe distinta; A identificao da fronteira da aplicao um dos passos mais importantes, pois se o posicionamento da mesma for feita de maneira incorreta poder haver uma contagem incorreta dos pontos de funo comprometendo o processo. 3. Contagem das funes de dados As funes de dados representam as funcionalidades fornecidas ao usurio para atender requisitos internos e externos referentes a dados. So classificadas em arquivos lgicos internos (ALI) e arquivos de Interface Externa (AIE). (VAZQUEZ, 2005) O termo arquivo no significa um arquivo fsico no sentido tradicional de processamento de dados, mas refere-se a um grupo de dados logicamente relacionado e reconhecido pelo usurio. Com o objetivo de apoiar a contagem de Arquivos Lgicos Internos e dos Arquivos de Interface Externa o IFPUG complementou os procedimentos e regras do CPM 4.1.1 com uma nova seo denominada "Prticas de Contagem" onde situaes como dados de cdigo, dados compartilhados e outros casos so avaliados e onde feita uma abordagem para medir os

requisitos de armazenamento em termos de pontos de funo. Essa abordagem esta ilustrada na figura 3.2: (VAZQUEZ 2005)

Figura 3.2: Abordagem prtica de contagem ALI e AIE (VAZQUEZ, 2005. p.80.) Pelo diagrama da abordagem descrita na figura 3.2 verifica-se que os requisitos de armazenamento funcionais e no funcionais de uma aplicao classificados como dados de cdigo no devem ser considerados como ALI, embora possam representar at metade das entidades em um modelo de dados. Devido ao fato de serem implementaes de requisitos tcnicos no devem influenciar o tamanho funcional da aplicao. As transaes existentes para manuteno de dados de cdigo no devem ser consideradas como processos elementares nem os dados de cdigo contados como arquivos referenciados nos processos elementares que os atualizem ou leiam. (VAZQUEZ, 2005)

3.1 Arquivos Lgicos Internos (ALI)


um grupo logicamente relacionado de dados ou informao de controle cuja manuteno feita pela prpria aplicao. Sua funo principal armazenar dados mantidos dentro da fronteira da aplicao atravs dos processos da aplicao. Os ALI contribuem para o clculo de pontos de funo com base na sua quantidade e complexidade funcional relativa.

Um grupo logicamente relacionado de dados refere-se a dados relacionados em um nvel que o usurio consegue perceber como sendo importante para permitir que a aplicao realiza uma atividade definida. (IFPUG, 1999) As informaes de controle so dados usados pela aplicao para garantir total conformidade com os requisitos das funes do negcio definidas pelo usurio. Manuteno habilidade de adicionar, alterar ou remover dados de um arquivo atravs de um processo elementar da aplicao. Como exemplos de um ou mais ALIs, dependendo da viso do usurio, tm-se : (IFPUG,1999) Dados da aplicao (arquivos mestres como cadastro de clientes ou funcionrios); Arquivos de dados de segurana da aplicao; Arquivos de dados de auditoria; Arquivos de mensagem de auxlio; Arquivos de mensagens de erro; Arquivo de cpia de segurana. Considerado somente se for solicitado pelo usurio para atender requisitos da aplicao. Arquivo que sofra manuteno por mais de uma aplicao. No so considerados como ALI: Arquivos temporrios; Arquivos de trabalho; Arquivos de classificao; Arquivos de cpia de segurana requerido pelo CPD. Arquivos introduzidos somente por causa da tecnologia usada. Ex.: arquivos de parmetro para um software WFL, JCL, etc.; Operaes de juno e projeo. Arquivos de ndices alternativos

Cada Arquivo Lgico Interno deve ser classificado de acordo com sua complexidade funcional relativa, que baseada no nmero de Registros Lgicos (RL) e no nmero de Itens de Dados (ID) do arquivo. (IFPUG, 1999) 3.2.1 Identificao do Nmero de Registros Lgicos Um Registro Lgico um subgrupo de dados reconhecido pelo usurio dentro de um ALI. Dependendo da viso do usurio um ALI pode ter mais de um Registro Lgico (RL).

Existem dois tipos de subgrupos que podem ser identificados como registros lgicos (IFPUG, 1999): Mandatrios So subgrupos de dados que o usurio deve usar pelo menos uma vez durante o processo elementar de criao de um item num ALI. Opcionais So subgrupos de dados que o usurio tema opo de usar ou no durante o processo elementar de criao de um item em um ALI. Regras que devem ser aplicadas para contagem dos registros lgicos: Conte um registro lgico para cada subgrupo identificado, opcional ou mandatrio. Considere um registro lgico caso o ALI no possua subgrupos. 3.3.1.2 #9; Identificao do Nmero de Itens de Dados Um item de dados (ID) representa um segmento de um ALI que possui um significado nico, no repetitivo e pode ser reconhecido pelo usurio. Representa um campo de dados que formula uma ocorrncia de informao completa. (IFPUG, 1999) Regras de contagem para os itens de dados (IFPUG, 1999): Contar um item de dados para cada campo nico, no repetitivo, reconhecido pelo usurio e mantido em um ALI via execuo de um processo elementar.. Ex: Um nmero contbil ou data que armazenado em mltiplos campos contado como um nico item de dado. Quando duas ou mais aplicaes mantm o mesmo ALI, mas cada uma mantm itens de dados separados, contar somente os itens de dados usados por cada aplicao para dimensionar o ALI. Contar um item de dados para cada parte de dado requisitada pelo usurio para definir um relacionamento com outro ALI, ou seja, uma chave estrangeira ou uma associao entre objetos. 3.3.1.3 Determinar a complexidade de um ALI Conforme o nmero de itens de dados (ID) referenciados e o nmero de registros lgicos (RL) encontrados, um ALI pode ser classificado em simples, mdio e complexo de acordo com a tabela 3.1: Tabela 3.1: Tabela de Complexidade para Arquivo Lgico Interno Nmero de Itens de dados (ID) 1 a 19 ID 20 a 50 ID 51 ou mais ID

1 RL 2 a 5 RL 6 RL ou mais Fonte: IFPUG, 1999

SIMPLES SIMPLES MDIA

SIMPLES MDIA COMPLEXA

MDIA COMPLEXA COMPLEXA

3.3.2 #9; Arquivo de Interface Externa (AIE) Um Arquivo de Interface Externa (AIE) um grupo de dados logicamente relacionados ou informaes de controle identificadas pelo usurio, referenciados na aplicao para fins de recuperao de dados cuja manuteno feita por outra aplicao. Os dados so armazenados fora da fronteira da aplicao. (VAZQUEZ, 2005) Um arquivo de Interface Externa de uma aplicao sempre ser contado como um ALI na aplicao de origem. So considerados AIE, conforme a viso do usurio (IFPUG, 1999): Dados de referncia (dados externos usados pela aplicao, mas que no so usados para manuteno em ALI); Arquivos de mensagens de auxlio; Arquivos de mensagens de erro. No so considerados AIE: Dados recebidos de outra aplicao usados para adicionar, alterar ou remover dados em um ALI; Dados cuja manuteno feita pela aplicao que esta sendo avaliada, mas que so acessados e utilizados por outra aplicao; Dados formatados e processados para uso por outra aplicao.

Cada Arquivo de Interface Externa (AIE) deve ser classificado de acordo com sua complexidade funcional relativa, que baseada no nmero de Registros Lgicos (RL) e no nmero de Itens de Dados(ID) do arquivo. 3.3.2.1 Identificao do Nmero de Registros Lgicos Um Registro Lgico um subgrupo de dados reconhecido pelo usurio dentro de um AIE. Dependendo da viso do usurio um AIE pode ter mais de um Registro Lgico. Existem dois tipos de subgrupos que podem ser identificados como registros lgicos (IFPUG, 1999): Mandatrios So subgrupos de dados que o usurio deve usar pelo menos uma vez durante o processo elementar de criao de um item num AIE. Opcionais So subgrupos de dados que o usurio tema opo de usar ou no durante o processo elementar de criao de um item em um AIE. Regras que devem ser aplicadas para contagem dos registros lgicos: Conte um registro lgico para cada subgrupo identificado, opcional ou mandatrio.

Se no existirem subgrupos contar um registro lgico para cada AIE.

3.3.2.2 #9; Identificao do Nmero de Itens de Dados Um item de dados representa um segmento de um Arquivo de Interface Externa que possui um significado nico e pode ser reconhecido pelo usurio. Representa um campo de dados que formula uma ocorrncia de informao completa. As regras de contagem para itens de dados em um AIE so (IFPUG, 1999): Contar um item de dados para cada campo nico, no repetitivo, reconhecido pelo usurio e referenciado em AIE via execuo de um processo elementar.

Quando duas ou mais aplicaes referenciam o mesmo AIE, mas cada uma referencia itens de dados separados, contar somente os itens de dados usados por cada aplicao para dimensionar o AIE. Contar um item de dados para cada parte de dado requisitada pelo usurio para definir um relacionamento com outro AIE, ou seja, uma chave estrangeira ou uma associao entre objetos. Ex.: Se um AIE composto por mais de uma tabela em um Banco de dados relacional, as chaves usadas para relacionar as tabelas so contadas apenas uma vez. 3.3.2.3 Determinar a complexidade de um AIE Conforme o nmero de itens de dados referenciados e o nmero de registros lgicos encontrados, um AIE pode ser classificado em simples, mdio e complexo de acordo com a tabela 3.2 Tabela 3.2: Tabela de complexidade para Arquivo de Interface Externa Nmero de Itens de dados (ID) 1 a 19 ID 1 RL 2 a 5 RL 6 RL ou mais Fonte: IFPUG, 1999 3.3.3 Determinao da contribuio dos ALI e AIE Aps determinar o nmero de ALI e AIE e suas respectivas complexidades pode-se calcular a contribuio de cada um utilizando a seguinte tabela do IFPUG: Tabela 3.3: Tabela de contribuio dos PF no ajustados das funes de dados Tipo de Funo Arquivo Lgico Interno (ALI) SIMPLES 7 PF MDIA 10 PF COMPLEXA 15 PF 20 a 50 ID SIMPLES SIMPLES MDIA 51 ou mais ID SIMPLES MDIA COMPLEXA MDIA COMPLEXA COMPLEXA

Arquivo de Interface Externa (AIE) Fonte: IFPUG, 1999

5 PF

7 PF

10 PF

Desta forma, pela tabela acima, um ALI de complexidade MDIA contribui com 10 pontos de funo no ajustados, j um AIE de complexidade MDIA contribui com 7 pontos de funo. 3.4 Contagem das funes do tipo Transao As funes transacionais representam as funcionalidades fornecidas ao usurio para atender suas necessidades de processamento de dados pela aplicao. So classificadas em Entradas Externas, Sadas Externas e Consultas Externas. (VAZQUEZ,2005) A identificao dos tipos de funes transacionais nem sempre fcil, de forma que o IFPUG criou uma tabela que resume os objetivos primrios de cada tipo de funo transacional para facilitar sua identificao Tabela 3.4 : Resumo dos objetivos primrios das funes de transao Tipo de Funo Transao EE Alterar o comportamento do sistema Manter um ou mais ALIs Apresentar Informaes Fonte: IFPUG, 1999 Onde tm-se: IP - inteno primria da funo de transao F - Uma operao que pode ser feita pela funo , mas no sua inteno primria. Ela pode existir ou no. NP No permitida a funo transacional. EE Entrada Externa SE Saida Externa CE Consulta Externa 3.4.1 Entradas Externas Uma entrada externa um processo elementar que processa dados ou informaes de controle recebidos de fora da fronteira da aplicao e cujo objetivo principal manter um ou mais Arquivos Lgicos Internos (ALI) e/ou alterar o comportamento do sistema. Desta forma uma EE provoca uma incluso , excluso e/ou alterao nos dados dos ALI. (VAZQUEZ, 2005) As EE representam o fluxo de informao de fora para dentro da fronteira da aplicao , ou seja, transaes originadas do usurio ou de outros sistemas e que representam alguma forma de entrada de dados no sistema. SE IP IP F CE F F IP NP NP IP

Uma EE processa dados ou informaes de controle que entram pela fronteira da aplicao. Esses dados, atravs de um processo lgico nico, atualizam ALI, Informaes de controle podem ou no atualizar diretamente. Uma EE considerada nica para uma aplicao se possuir um formato diferente das demais ou se precisar de uma lgica de processamento diferente de outras EE que tenham o mesmo formato. O conceito de formato pode ser compreendido como um conjunto de dados arrumados em uma ordem nica dentro da aplicao e a lgica de processamento visto como o conjunto de crticas, clculos, algoritmos e referncias/utilizao de ALI ou AIE, requeridos pelo usurio para realizar um processo elementar. So exemplos de EE: Operaes de incluses e alteraes de registros em arquivos da aplicao, Janela que permite adicionar, excluir e alterar registros em arquivos. No so exemplos de EE : Menus, Telas de Login, telas de filtro de relatrios e consultas, Mltiplos mtodos de se executar uma mesma lgica de entrada O processo de identificao de EE requer que seja analisados todos os processos elementares que recebem dados de fora da aplicao e que fazem a atualizao de um ou mais ALIs segundo as seguintes regras( IFPUG, 1999): Os dados ou informaes de controle devem ser recebidos de fora da fronteira da aplicao; Se a entrada de dados pela fronteira no for uma informao de controle que modifique o comportamento do sistema , deve se manter no mnimo um AIE; Para o processo elementar identificado a ser contado como uma EE, pelo menos uma das trs opes a seguir devem ser satisfeitas: A lgica de processamento deve ser nica e diferente das demais entradas externas; O conjunto de dados elementares identificados distinto dos conjuntos identificados por outras EE; Os ALIs mantidos e os AIEs referenciados so distintos dos utilizados por outras EE;

Cada EE deve ser classificada conforme sua complexidade funcional relativa que baseada no nmero de Arquivos Referenciados (ALI e AIE) e no nmero de itens de dados (ID). 3.4.1.1 Identificao do Nmero de Arquivos Referenciados Um arquivo referenciado qualquer ALI que foi consultado ou atualizado pelo processo ou qualquer AIE que foi consultado sendo que o nmero de Arquivos Referenciados a soma dos ALI e AIE atualizados ou consultados na Entrada Externa.(IFPUG,1999) Regras de contagem para os Arquivos referenciados em uma EE (IFPUG, 1999): Contar um AR para cada ALI mantido; Contar um AR para cada ALI ou AIE lido durante o processo de EE; Contar somente um AR para cada ALI que seja mantido e lido durante o processo da EE.

3.4.1.2 Identificao do Nmero de Itens de Dados Um item de dado um campo nico , no repetido, identificado pelo usurio e que atualizado em um ALI pela EE.

Cada item de dado atualizado em um ALI pela EE deve ser computado , considerando o seguinte (IFPUG, 1999) : Contar um item de dados para cada campo nico , no repetitivo, reconhecido pelo usurio e mantido em um ALI via execuo de um processo elementar Campo recuperado ou derivado pelo sistema e armazenado em um ALI, durante um processo elementar de uma EE que no cruzar a fronteira da aplicao no deve ser contado. Linhas de comando ou teclas de funo que provem a capacidade para definir a ao a ser tomada pela EE. Campos no informados pelo usurio, mas que so atualizados em um ALI por uma EE. Mensagem de erro ou confirmao ligadas aos processos lgicos executados pela EE.

3.4.1.3 Determinar a complexidade de uma EE A complexidade funcional de uma EE determinada em funo da quantidade de ALIs e AIEs referenciados e do nmero de itens de dados referenciados e pode ser classificada em simples, mdia e complexa conforme tabela 3.5. Tabela 3.5 : Tabela de complexidade de Entradas Externas Nmero de Itens de Dados(ID) 1 a 4 ID 0 ou 1 arquivo referenciado 2 AR 3 ou mais AR Fonte : IFPUG , 1999 3.4.2 Sadas Externas Uma sada externa(SE) um processo elementar que envia dados ou informaes de controle para fora da fronteira da aplicao. Seu objetivo exibir informaes recuperadas atravs de processamento lgico , isto , processamento que envolva clculos ou criao de dados derivados e no apenas uma simples recuperao de dados. Uma Sada Externa pode manter um ALI ou alterar o comportamento do sistema. Representam assim atividades do sistema que transformam dados dos ALI e geram resultados que so exibidos ao usurio.(VAZQUEZ,2005) O processamento lgico definido como o conjunto de crticas, clculos, algoritmos e referncia/acesso a arquivos requisitados pelo usurio que visa completar um processo elementar. (IFPUG,1999) O processo elementar a menor conjunto de atividades significativa para o usurio final em termos de funo de negcio. Dados derivados so dados que exigem um processamento diferente de um acesso, recuperao ou edio de dados de um ALI e/ou AIE. 5 a 15 ID SIMPLES SIMPLES MDIA 16 ou mais ID SIMPLES MDIA COMPLEXA MDIA COMPLEXA COMPLEXA

A identificao de uma sada externa pode ser feita pela identificao de todos os processos e informaes de controle que enviam dados para fora da fronteira da aplicao. Satisfeita esta condio pode-se considerar uma sada externa (IFPUG , 1999) : Dados transferidos para outra aplicao : dados de um ALI que so formatados (arrumados em uma ordem nica) e processados para uso por uma aplicao externa. Relatrios : Cada relatrio produzido pela aplicao pode ser considerado uma SE. Para relatrios de formato idnticos mas que necessitam de lgicas de processamento ou clculos distintos devem ser considerados duas sadas externas. Relatrios on-line : Sada de dados on-line que no seja a parte de sada de uma consulta Externa. Formatos Grficos : Contados da mesma forma como sada em formato texto, isto , cada formato grfico diferente contado como uma sada externa.

Gerador de relatrios : Cada relatrio de uma sada desenvolvida para o usurio via gerador de relatrio deve ser considerado como uma sada externa. No devem ser considerados como sadas externas: Telas de Ajuda; Literais; Data, hora, controles de paginao , etc.; Relatrios mltiplos com a mesma lgica e formato Relatrios criados pelo usurio de forma dinmica pelo usurio usando um linguagem como SQL.

Cada sada externa deve ser classificada de acordo com sua complexidade funcional e baseada no nmero de Arquivos Referenciados e no nmero de itens de dados. 3.4.2.1 Identificao do Nmero de arquivos referenciados Um arquivo referenciado qualquer AIE que foi lido ou ALI que foi lido ou mantido pelo processamento da Sada Externa sendo que o nmero de Arquivos Referenciados a soma dos ALI e AIE atualizados ou consultados na Sada Externa. Regras de contagem para AR em uma Sada Externa( IFPUG, 1999): Contar um AR para cada Ali mantido durante o processo elementar; Contar um AR para cada ALI ou AIE lido durante o processo elementar; Contar somente um AR quando um ALI mantido e lido pelo processo elementar da SE.

3.4.2.2 Identificao do Nmero de Itens de Dados Um item de dado um campo nico, no repetitivo, identificado pelo usurio que apresentado pela sada externa. Um item de dado dever ser identificado conforme as seguintes regras (IFPUG, 1999): Contar um item de dado para cada campo no repetido reconhecido pelo usurio e que sua entrada seja feita pela fronteira da aplicao. Se o item de dados entra e sai pela fronteira da aplicao ele ser computado apenas uma vez;

Contar um item de dado pela capacidade da aplicao enviar mensagens de resposta para fora da fronteira, indicando erro ou sucesso no processamento; Um campo recuperado ou derivado pelo sistema e armazenado em um ALI, durante um processo elementar de uma SE, que no cruzar a fronteira da aplicao no deve ser contado.

O processo para identificar as SE deve verificar o processamento lgico do processo elementar conforme as seguintes regras (IFPUG, 1999): Se existe pelo menos uma frmula matemtica ou clculo; Se cria dados derivados; Se mantm pelo menos um ALI; Se muda o comportamento do sistema.

3.4.2.3 Determinar a complexidade de uma SE A complexidade funcional de uma SE determinada em funo do nmero de itens de dados e da quantidade de arquivos referenciados (ALI + AIE) podendo ser classificada como simples, mdia e complexa conforme a tabela 3.6. Tabela 3.6 : Tabela de complexidade de Sadas Externas Nmero de Itens de Dados (ID) 1 a 5 ID 0 ou 1 AR 2 a 3 AR 4 ou mais AR Fonte: IFPUG , 1999 3.4.3 Consultas Externas Uma consulta Externa representa a necessidade de processamento de consultas da aplicao sendo uma combinao de entrada/sada de dados onde uma entrada de dados causa uma recuperao e sada de dados correspondente. A lgica de processamento no deve conter frmula matemtica ou clculo nem criar dados derivados ou atualizar nenhum ALI. As consultas Externas so requisies de informaes que para serem satisfeitas precisam que sejam combinados parmetros de entradas e sadas permitindo a recuperao da informao solicitada pelo usurio. (Raquel , 2005) Dados derivados so dados que exigem um processamento diferente de um acesso, recuperao ou edio de dados de um ALI e/ou AIE. A identificao de uma CE feita pela identificao dos processos onde uma entrada est associada a uma recuperao e exibio de dados sem derivao e sem atualizao de um ALI. As seguintes regras devem ser satisfeitas para um processo elementar ser contado como uma consulta Externa: 6 a 19 ID SIMPLES SIMPLES MDIA 20 ou mais ID SIMPLES MDIA COMPLEXA MDIA COMPLEXA COMPLEXA

O processamento elementar recupera dados ou informaes de controle de um ALI ou AIE; A lgica do processo elementar no pode conter clculos; A lgica do processo elementar no cria dados derivados; A lgica do processo elementar no mantm nenhum ALI; A lgica do processo elementar no altera o comportamento do sistema.

Pode-se citar como exemplos de CE: Um processo de recuperao de dados que seleciona dados com base em uma entrada fornecida; Telas de Logon; Telas de Help; Telas de alterao/remoo que mostram o que ser alterado ou removido antes de sua efetivao. Tela de menus que permitem informar parmetros para a consulta na tela escolhida. No so consideras CE: Telas de Menus que oferecem somente funcionalidade de seleo de telas; Dados derivados; Documentao On-Line; Sistema de Teste; Sistema Tutoriais; Relatrios e consultas que contenham clculo ou gerem dados derivados.

3.4.3.1 Identificao do Nmero de arquivos referenciados Um arquivo referenciado um arquivo ALI ou AIE lido pela Consulta Externa. Regras de contagem para um AR em uma CE (IFPUG, 1999) : Contar um AR para cada ALI lido; Contar um AR para cada AIE lido.

3.4.3.2 Identificao do Nmero de Itens de Dados Um item de dado um campo nico , no repetitivo, reconhecido pelo usurio. Todos os itens de dados que servem de parmetro no processamento da consulta Externa devem ser contados. Regras de contagem de itens de dados para CE (IFPUG, 1999): Contar um item de dados para cada campo reconhecido pelo usurio e no repetitivo que atravessa a fronteira da a aplicao e requisitado para definir quando , o que ou como os dados sero recuperados ou gerados pelo processo elementar; Contar um item de dados para cada campo reconhecido pelo usurio e no repetitivo que sai pela fronteira da aplicao; Se um item de dados entre e sai da aplicao deve ser contado somente uma vez; Contar um item de dados pela capacidade da aplicao enviar uma mensagem de resposta para fora da fronteira da aplicao indicando um erro ocorrido ou confirmando que um processo terminado ou deve continuar. Contar um item de dados pela habilidade da aplicao em definir que uma ao a ser feita, mesmo havendo diversos mtodos de chamar o mesmo processo lgico;

No devem ser contados : literais, paginao, variveis ou sinalizaes geradas pelo sistema. Um item de dado adicional deve ser computado caso sejam requeridas mensagens de erro ou campos de confirmao associados parte de entrada da Consulta Externa. 3.4.3.3 Determinar a complexidade de uma CE A complexidade funcional de uma CE determinada em funo do nmero de itens de dados e arquivos referenciados conforme a tabela 3.7: Tabela 3.7: Tabela de complexidade de Consultas Externas Nmero de Itens de dados(ID) 1 a 5 ID 0 ou 1 AR 2 a 3 AR 4 ou mais AR Fonte : IFPUG, 1999 3.5 Clculo de Pontos de Funo no Ajustados ou Brutos Aps definir a fronteira da aplicao , o tipo de contagem e reconhecer as funes de dados e de transao pode-se calcular os pontos de funo no ajustados, ou brutos, multiplicando-se o total de ALI, AIE, EE, SE, e CE pela respectiva complexidade conforme a tabela 3.8. (IFPUG,1999) Tabela 3.8 : Contribuio das Funes de dados e de transao na contagem dos PFs no ajustados COMPLEXIDADE SIMPLES ALI AIE EE SE CE Fonte : IFPUG, 1999 O clculo dos pontos de funo no ajustados feito da seguinte forma (HAZAN , 2001): MDIA 7 5 3 4 3 COMPLEXA 10 7 4 5 4 15 10 6 7 6 6 a 19 ID SIMPLES SIMPLES MDIA 20 ou mais ID SIMPLES MDIA COMPLEXA MDIA COMPLEXA COMPLEXA

Para cada um dos cinco tipos de funo (ALI, AIE , EE, SE e CE), so contados os totais de pontos de funo (TPF) segundo a expresso: 3 TPFi = S N Ci,j * Ci,j
J=1

Onde: a) N Ci,j o nmero de funes do tipo i (i variando de 1 a 5, segundo os tipos de funo existentes: ALI, AIE, EE, SE e CE) que foram classificados na complexidade j (j variando de 1 a 3 , segundo os valores de complexidade: simples , mdia e complexa) b) Ci,j o valor da contribuio da complexidade j no clculo dos pontos de funo i, conforme a tabela acima. O total de pontos de funo no ajustados (PFNA) dado pela soma dos pontos das tabelas de funo: 5 PFNA = S TPFi
i=1

onde i varia de 1 a 5, conforme os tipos de funo existentes (AIL, AIE, EE, SE, CE) 3.6 Determinao do valor do fator de Ajuste A tcnica de Anlise por Pontos de Funo considera que outros fatores afetam o tamanho funcional de um sistema. Estes fatores esto relacionados com caractersticas da aplicao. No clculo dos PF brutos no levada em conta a tecnologia usada nem os requisitos no funcionais. Por este motivo calculado o valor do fator de ajuste (VFA) que baseado em 14 caractersticas gerais de sistema. Abaixo tm-se as 14 caractersticas (detalhes no ANEXO A) Tabela 3.9: Caractersticas gerais do sistema Caractersticas gerais do sistema C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 Comunicao de dados Processamento distribudo Performance Utilizao de Equipamento Volume de transaes Entrada de dados on-line Eficincia do Usurio Final Atualizao On-Line Processamento complexo Reutilizao de cdigo

C11 C12 C13 C14

Facilidade de Implantao Facilidade Operacional Mltiplos Locais Facilidade de mudanas

Fonte: IFPUG, 1999 Para se obter o VFA deve-se calcular o nvel de influncia de cada uma das 14 caractersticas , baseado em um equao que atribui valores em uma escala que de varia de nenhuma influncia at a influncia mais forte, isto , de 0 a 5 conforme exibida na tabela 3.10: Tabela 3.10 : Nveis de influncia das caractersticas gerais do sistema Nveis ou Graus de Influncia 0 Nenhuma Influncia 1 Influncia Mnima 2 Influncia Moderada 3 Influncia Mdia 4 Influncia Significativa 5 Grande Influncia Fonte : IFPUG, 1999

O fator de ajuste influncia os pontos de funo no ajustados em +/- 35% , o que d um intervalo de variao da ordem de 0,65 a 1,35. Ele responsvel pela correo das distores ocorridas na etapa de contagem das funes de dados e funes transacionais. Na prtica , esta correlao , na maioria dos casos, varia entre 10% e + 10%. Para cada uma das 14 caractersticas atribui-se um valor de 0 (nenhuma influncia) a 5 (forte influncia) que indica quanto uma caracterstica tem influncia no sistema. Os 14 graus de influncia (GI) so ento somados o que resulta no grau de influncia total (GIT),: 14 GIT = S GIi
i=1

O valor do fator de ajuste (VFA) calculado pela seguinte frmula: VFA = ( GIT * 0,01) + 0,65 Se o fator de ajuste de valor igual a 1,00 , a influncia total das caractersticas gerais do sistema neutra. Nesta situao , a contagem dos pontos de funo ajustados equivale a contagem de pontos de funo no ajustados. Devido a sua subjetividade, a utilizao do fator de ajuste tornou-se opcional ao final do ano de 2002 como medida para aceitao dos pontos de funo do IFPUG como um mtodo padro de medida funcional, pois vrias caractersticas esto relacionadas com requisitos no funcionais da aplicao.(VAZQUEZ, 2005)

3.7 Determinao os Pontos de Funo Ajustados O ltimo passo da contagem de pontos de funo o clculo dos pontos de funo ajustados que engloba os trs tipos de contagem : projeto de desenvolvimento , de melhoria e aplicao. Nesta etapa so usados trs tipos de frmulas diferentes , como descritas no manual do IFPUG, dependendo do tipo de clculo que se deseja realizar. 3.7.1 Clculo de Pontos de Funo para um projeto de desenvolvimento O projeto de desenvolvimento apresenta trs componentes em termos de funes : Funcionalidades da aplicao includas pelos usurios como requisitos "Compreendem as funes usadas depois da instalao do sistema. Elas existem para satisfazer as necessidades de sada do negcio do usurio."(IFPUG,1999) Funcionalidades de converso includas pelos usurios como requisitos "Compreendem funcionalidades providas somente na instalao do sistema. Elas existem para converter dados ou proporcionar outros requisitos estabelecidos pelo usurio e necessrios converso." (IFPUG,1999) Valor do fator de ajuste da aplicao "Compreende a determinao das 14 caractersticas gerais do sistema em desenvolvimento, para avaliar a complexidade funcional da aplicao". (IFPUG,1999) Frmula para clculo: DFP = (UFP + CFP) * VAF Onde : DFP Nmero de pontos de funo de desenvolvimento; UFP Nmero de pontos de funo brutos apurados; CFP Nmero de pontos de funo adicionados por processos de converso de dados; VAF Valor do fator de ajuste. 3.7.2 Clculo de Pontos de Funo para um projeto de Melhoria Segundo o IFPUG o conceito de melhoria envolve apenas manutenes evolutivas na aplicao, ou seja, alteraes feitas na aplicao para atender aos novos requisitos de negcio do usurio. No so levadas em conta manutenes corretivas e preventivas. (VAZQUEZ, 2005) Um projeto de melhoria consiste de trs componentes em termos de funes: Funcionalidades da aplicao includas como requisitos pelo usurio para o projeto: Funes includas, alteradas ou excludas pelo projeto de melhoria; Funcionalidades de Converso : "Consiste dos pontos de funo entregues por causa de qualquer funcionalidade de converso requerida pelo usurio". (IFPUG,1999) Valor do fator de ajuste da aplicao Dois valores so considerados , segundo o manual : Valor do fator de ajuste ANTES do incio do projeto de melhoria (VAFB) Valor do fator de ajuste DEPOIS da concluso do projeto de melhoria (VAFA)

Deve ser considerada que uma funo do tipo dado (ALI ou AIE) foi alterada quando ela foi modificada em sua estrutura com alguma incluso , alterao ou excluso de campos ou atributos. Uma funo do tipo transao considerada alterada quando h alterao em um dos itens a seguir :(VAZQUEZ, 2005) Tipos de dados Se houve incluso , alterao ou excluso da funo. Arquivos referenciados Se foram includos , excludos ou alterados da funo. Lgica de processamento Se qualquer lgica for includa , alterada ou excluda.

Frmula para clculo : EFP = [(ADD + CHGA + CFP) * VAFA] + (DEL * VAFB) Onde: EFP Nmero de pontos de funo do projeto de melhoria; ADD Nmero de pontos de funo no ajustados das funes includas pelo projeto de melhoria; CHGA Nmero de pontos de funo no ajustados das funes modificadas depois das modificaes; CFP - Nmero de pontos de funo no ajustados adicionados pela converso; VAFA Valor do fator de ajuste da aplicao depois do projeto de melhoria; DEL - Nmero de pontos de funo no ajustados das funes excludas pelo projeto de melhoria; VAFB Valor do fator de ajuste da aplicao antes do projeto de melhoria. 3.7.3 Clculo de Pontos de Funo para uma aplicao Para calcular os pontos de funo de uma aplicao existem duas frmulas que so utilizadas : Frmula para Contagem Inicial representa todas as funcionalidades requeridas pelo usurio de uma aplicao instalada. As funes da converso de dados no devem ser computadas no tamanho da aplicao entregue pois elas existiro somente para o processo de implantao do aplicativo (VAZQUEZ, 2005). AFP = ADD * VAF Onde: AFP Nmero de pontos de funo ajustados da aplicao; ADD Nmero de pontos de funo no ajustados das funes instaladas; VAF Valor do fator de ajuste da aplicao. - Frmula usada aps o projeto de melhoria Aps a concluso de um projeto de melhoria os pontos de funo devem ser atualizados para refletir as mudanas na aplicao. Novamente as funes de converso de dados no devem ser computadas pois elas no fazem parte da aplicao (VAZQUEZ, 2005). AFP = [(UFPB + ADD + CHGA) (CHGB + DEL)] * VAFA Onde:

AFP Nmero de pontos de funo ajustados da aplicao UFPB Nmero de pontos de funo no ajustados da aplicao antes do projeto de melhoria; ADD Nmero de pontos de funo no ajustados das funes includas pelo projeto de melhoria; CHGA Nmero de pontos de funo no ajustados das funes modificadas depois do seu trmino; CHGB Nmero de pontos de funo no ajustados das funes modificadas antes do seu trmino; DEL - Nmero de pontos de funo no ajustados das funes excludas pelo projeto de melhoria; VAFA Valor do fator de ajuste da aplicao depois do projeto de melhoria. Abreviaturas usadas:

AIE - Arquivos de Interface Externa ALI - Arquivos Lgicos Internos ALR - Arquivo Lgico Referenciado APF - Anlise por Pontos de Funo CE - Consultas Externas EE - Entrada Externa ID - Item de dados IFPUG - International Function Point User Group PF - Pontos de Funo PFA - Pontos de Funo Ajustados PFNA - Pontos de Funo No Ajustados RL - Registros Lgicos SE - Saidas Externas

Referncias: HAZAN, Cludia - Implantao de um Processo de medies de software agosto , 2002 . disponvel em http://www.bfpug.com.br/artigos.htm. acessado em: out. 2005 HAZAN, Cludia - Anlise de Pontos por Funo agosto , 2001 . disponvel em http://www.inf.ufes.br/~falbo/download/aulas/es-g/2005-1/APF.pdf. acessado em: out. 2005 [IFPUG99] THE INTERNATIONAL FUNCTION POINT USERS GROUP, Princeton Junction. Function Point Counting Practices Manual release 4.1.1 [s.l.], 1999. VAZQUEZ, C. E.;SIMES, G. S; ALBERT, R. M. Anlise de Pontos de Funo Medio, Estimativas e Gerenciamento de Projetos de Software. 2005. 3.ed. So Paulo- Editora Erica