Buscar

NA01a05MedidasdeEsforcodeDesenvolvimentodeSoft

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 36 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 36 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 36 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

Prof.: HORACIO DA CUNHA E SOUZA RIBEIRO 
Não se pode gerenciar o que não se pode medir. 
Metodologias como ITIL, CMMI, MPS-BR e outras, colocam as métricas e medições como práticas fundamentais para 
a gestão e, na maioria delas, como classificadoras da maturidade. A disciplina apresenta os conceitos usados para se 
medir e estimar o software. Fazer software e mantê-lo é uma atividade de engenharia. As formas de medir, estimar 
e acompanhar um projeto, e como estabelecer parâmetros para futuras medições são apresentadas nesta cadeira. 
Esta disciplina apresentará a você as formas de se medir e estimar o software. Os conceitos apresentados 
permitirão que você estime o esforço e prazo necessário para se desenvolver e manter um software. 
Ao final dessa disciplina você será capaz de: 
•Especificar uma nova métrica de forma correta, definindo sua forma de medir, sua aplicabilidade no projeto e suas 
limitações na tomada de decisões. 
•Comparar dimensões de softwares diferentes a partir de métricas. 
•Identificar a partir de medidas ações eficazes e eficientes em projetos que podem ser estabelecidas como padrões. 
•Calcular o numero de pontos função (PF) ajustados e não ajustados para o software. 
•Calcular o número de pontos função para: Um caso e uso – um programa – um diagrama de classes – um diagrama 
de seqüência – uma tela – um arquivo – um dfd – um diagrama lógico de dados – uma proposta de manutenção – 
uma classe de projeto – um método 
1 - Aprender o que é uma métrica 
 
2 - Identificar três características de uma métrica 
 
3 - Identificar a característica de uma métrica de tamanho 
 
4 - Relacionar as vantagens e desvantagens de medidas de tamanho 
 
5 - Identificar a utilização de alguns indicadores (de tamanho) para o software 
O homem não pode controlar o que não pode medir. O desenvolvimento do software, sob o aspecto gerencial, 
precisa ser medido. Vamos apresentar os principais conceitos envolvidos na medição do software. 
Quando temos interesse em saber o crescimento, a idade ou melhorar na qualidade de alguma coisa devemos 
estabelecer “conceitos” que nos ajudem a verificar esta evolução. E sobre estes conceitos são feitas medidas 
que permitem comparar situações. 
É comum na engenharia, dado um objetivo fazermos medidas. Assim, por exemplo, após se definir o que é corrente 
elétrica pode-se definir uma forma de medir e a partir daí pode-se comparar a intensidade de corrente elétrica em 
diversos circuitos. 
 Mas, quando o que se quer medir não é bem definido é comum confundirmos este conceito com a própria medida. 
Por exemplo, pé direto: define-se que é a distância entre um plano inferior (piso) e um plano superior (Teto). E ao 
se pedir qual o pé direito de um cômodo, apresenta-se a medida entre os dois planos, por exemplo, 3 
metros. Assim se pede “qual o pé direito do cômodo?" Resposta: 3 metros. Na prática assume-se a definição 
comum. 
Mas, se o objetivo entrar com um eletrodoméstico de 2,80 metros e no cômodo existe uma viga com 60 cm para 
baixo o real pé direito é de 2,40metros e o eletrodoméstico não poderá ser colocado no cômodo apesar dos 3 
metros entre planos. Assim, deve-se procurar identificar o que se deseja para a partir daí se definir claramente o 
que medir. O conceito que se deseja estabelecer é o que chamamos de uma métrica. 
Abordagens Iniciais 
Para poder comparar coisas o homem tem necessidade de medir. Para sabe, por exemplo, se uma pessoa é mais 
alta que outra podemos colocá-las lado a lado e verificar quem é mais alto. Esta forma de comparar exige que 
tenhamos as pessoas presentes o que não é prático. Também é comum dizer que uma pessoa é alta, ou 
baixa. Mas não se sabe o quanto é alto ou baixa, e fica-se dependendo da noção de altura do observador. 
É comum, ao se perguntar por uma localidade, se receber como resposta que é perto ou longe. Dependendo de 
quem responde pode-se estar falando de uns poucos quarteirões ou de alguns quilômetros. Os exemplos 
acima mostram que há necessidade de se estabelecer alguns conceitos que criem um referencial comum para 
podermos comparar “coisas” ou processos. 
 Quando temos interesse em saber o crescimento, a idade ou melhorar na qualidade de alguma coisa devemos 
estabelecer “conceitos” que nos ajudem a verificar esta evolução. 
Métrica 
Uma métrica é uma definição do que se deseja conhecer, ou acompanhar em um produto, seu consumo ou sua 
produção. 
Para se definir uma métrica deve-se considerar alguns aspectos: 
As métricas devem ser simples de entender e de serem utilizadas para verificar atingimento de objetivos e para 
subsidiar processos de tomada de decisão. 
As métricas devem ser objetivas visando reduzir ou minimizar a influência do julgamento pessoal na coleta, 
cálculo e análise dos resultados. 
O valor da informação obtido como resultado das medições deve exceder o custo de coletar, armazenar e calcular as 
métricas. 
A especificação de uma métrica deve conter: 
I) Nome da métrica - pé direito 
II) Objetivo da métrica = Define-se que uso se deseja fazer da métrica. Objetivo: verificar o espaço entre 
planos de modo a permitir se entrar ou colocar utensílios. 
III) Descrição da métrica: Definição do que se deseja para se atingir o objetivo. A definição de uma métrica 
deve ser coerente com a sua leitura. Se em um aspecto é maior que outro isto deve-se refletir no 
indicador gerado. Assim, se a propriedade A de um produto X é maior em um produto Y, espera-se que o 
indicador de Y para a propriedade seja maior de X: se Paulo é mais alto que José, espera-se que a altura 
(Paulo) > altura (José). Este é um cuidado importante que se deve tomar quando se especifica uma 
métrica. 
IV) Sistemas de medidas: Que sistema de medida será utilizado, suas limitações e a precisão que se assume. 
Exemplo: A medida será feita em metros e centímetros. Sua precisão é da ordem de milímetros. 
V) Formas de se obter a medida = A forma de se obter uma medida depende do procedimento de se medir. 
Assim em alguns casos precisa-se controlar a temperatura (dilatação linear), ou o ângulo de leitura. 
Medidas 
 
Exemplo: 
Um metro e setenta e quatro centímetros. É a medida de uma pessoa segundo uma métrica para medir sua altura 
(sem sapatos, encostado em uma régua,...). 
Uma medida direta é feita no processo ou produto de forma direta. A indireta é feita por medidas que serão usadas 
em cálculos para se calcular a medida final. Exemplo de especificação de uma métrica para o software: 
I) Nome da métrica – Grau de complexidade ciclomática. 
II) Objetivo da métrica – Define o número de caminhos que devem ser testados em um algoritmo. 
III) Descrição da métrica – É Um numero inteiro correspondente ao número de áreas definidas por uma 
grafo convexo. Pode ser obtido pela identificação de numero de expressões booleanas usadas em 
comandos que fazem controle de fluxo, tais como if´s, whiles, etc. somando-se +um 
IV) Sistema de medidas – Unidade(números inteiros) 
V) Formas de se obter a medida – Contagem direta do número de expressões booleanas em comandos de 
controle de fluxo escrita no código fonte do desenvolvedor.
or. 
 
 
 
Nesta aula, você: 
 Atentou para o conceito de métrica e suas principais características. 
 Aprendeu a diferenciar uma medida direta de uma indireta. 
 Atentou para a necessidade de se medir o software nos seus diversos aspectos. 
 Construiu algumas medidas a partir de métricas, baseadas em medidas de tamanho. 
 Relacionar as vantagens e desvantagens de medidas de tamanho. 
 1. 
 Considere as afirmativas abaixo: 
 
 i – Uma medida pode ser feita sem necessidade de se preocupar com a forma de tomada do registro. 
 
 ii – Umindicador definido por uma métrica deve atender a coerência, se houve um crescimento ele pode ser 
inverso marcando um valor menor. 
 
 iii – Especificação da métrica deve registrar a forma de tomada de medida, o objetivo e os níveis de erro aceitáveis 
na medição. 
 
 São corretas as afirmações: 
 1) Todas as afirmações 
 2) apenas i e ii 
 3) iii 
 4) apenas ii 
 5) apenas i 
 3 
 2. 
 considere as afirmativas abaixo: 
 
 i) a medida da estrada rio-são paulo entre o marco do kilometro 1 e kilometro 200 pode ser feita por 
medida direta ou indireta. 
 ii) A medida da capa de um livro pode ser feita com uma régua, portanto é uma medida indireta. 
 iii) A medida entre o centro da terá e o centro da lua pode ser feito por uma medida direta. 
 iv) O tempo para a produção de um filme pode ser medida por medida direta, mas a criatividade do roteirista 
deve ser feita por medida indireta. 
 v) Um vírus pode ser pesado, com a tual tecnologia, de maneira direta usando-se o Kilograma e suas 
unidaddes. 
 
 1) Todas as afirmativas são falsas 
 2) As afirmativas iv, ii e iii são totalmente falsas. 
 3) As afirmativas v, i , iv são totalmente corretas 
 4) As afirmativas iii, ii, v são totalmente falsas 
 5) As afirmativas i, iv estão totalmente corretas 
 5 
 
1. Aprender de forma sucinta, do modelo de Albrecht, 
2. Relacionar os conceitos envolvidos na proposta de Albrecht, 
3. Aprender os conceitos em estudo de casos a partir de um DFD 
4. Aprender a usar o modelo para um caso e uso 
5. Converter PF em KLOC 
6. Identificar as limitações do modelo 
Medidas indiretas e medida da funcionalidade 
 
 
 
 
 
 
 
 
 
 
 
Nesta aula, você: 
 Atentou para a proposta de ALBRECHT, que construiu uma função para medir a funcionalidade de um 
sistema. 
 Aprendeu os conceitos apresentados na proposta. 
 Atentou para as parcelas que compõem a formula de ponto função 
 Aprendeu a contar os itens de funcionalidade e aplica-los na formula 
 Compreendeu o que é o PF ajustado e não ajustado 
 Analisou o uso do modelo em um DFD 
 Uso o modelo em um caso e uso 
 Atentou para a fraqueza do modelo no seu processo de contagem 
 Identificou quem esta aperfeiçoando o modelo 
Na próxima aula, vamos estudar como o apfg pontua as 14 características do software para que a contagem entre 
profissionais seja uniforme. Este assunto pode ser estudado no manual de contagem do IPFG Até a próxima aula 
 
1. 
 Considere a tabela, com as métricas e informações abaixo, para responder a questão abaixo: 
projeto 
métrica 
linguagem 
total folhas/ 
PF KLOC/PF programador 
erros/pf 
:em um 
ano 
total em 
pf 
proj 1 cobol 22 90 4 32 145,31 
proj 2 c ++ 36 70 5 14 121,61 
proj 3 java 25 60 3 32 189,45 
proj 4 java 30 50 3 18 169,32 
proj 5 c ++ 28 80 4 16 132,45 
 
Com relação as métricas apresentadas, escolha a opção correta. 
 1) O desenvolvimento com a linguagem Java gasta mais folhas de documentação que a linguagem C++. 
 2) Um programa desenvolvido em Cobol gasta mais linhas de código que todos os demais. 
 3) A produtividade de Kloc /programador em C++ é a melhor. 
 4) Os programas em Java geram menos erros que em C++. 
 5) Para se desenvolver em C++ sempre se precisa de mais programadores que em Cobol. 
 2 
2. 
 Da fórmula de ponto de função ajustado mostrada abaixo, podemos sempre concluir: 
Tot_ponto_função_ajustado = tot_contado * (0,65 + 0,01 * ) 
 1) O total de ponto função ajustado é sempre um número inteiro. 
 2) O total da parcela de grau de influência é sempre um número real. 
 3) O fator de ajuste é sempre um número real. 
 4) O tot_contado é sempre um número real 
 5) O fator de ajuste pode ser um real ou um inteiro, indiferentemente. 
 3 
 
Aula 3: Contagem dos fatores do software segundo IPUG 
Nesta aula você irá aprender sobre: 
 
1. Relacionar os 14 aspectos a serem considerado em APF (análise de Ponto Função) 
2. A Pontuar cada um dos fatores segundo o IFPUG 
3. Dimensionar a parcela de aspectos do software 
4. Padronizar o uso do fator de ajuste para os vários tipos de aplicação 
5. Estabelecer o fator de ajuste de funcionalidade 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A fórmula nos ajuda a determinar o fator de ajuste. 
O fator de ajuste influência a contagem de pontos de função não ajustados em +/- 35% , o que dá um intervalo de 
variação da ordem de 0,65 a 1,35. Ele é responsável pela correção das distorções ocorridas na etapa de contagem 
das funções de dados e funções transacionais. Na prática , esta correlação , na maioria dos casos, varia entre –10% 
e + 10%. 
Para cada uma das 14 características atribui-se um valor de 0 (nenhuma influência) a 5 (forte influência) que indica 
quanto uma característica tem influência no sistema. Os 14 graus de influência (GI) são então somados o que 
resulta no grau de influência total (GIT),: 
 
Se o fator de ajuste de valor é igual a 1,00 , a influência total das características gerais do sistema é neutra. 
Nesta situação a contagem dos pontos de função ajustados equivale a contagem de pontos de função não ajustados. 
Devido a sua subjetividade, a utilização do fator de ajuste tornou-se opcional ao final do ano de 2002 como medida 
para aceitação dos pontos de função do IFPUG como um método padrão de medida funcional, pois várias 
características estão relacionadas com requisitos não funcionais da aplicação. 
Uma empresa pode ter uma carteira de aplicações para determinados segmentos da economia. E estas aplicações 
têm um conjunto de características comuns. Assim pode-se fazer o trabalho de avaliação e contagem, usando as 
recomendações do IPFUG, com seus mais experientes desenvolvedores e confeccionarem uma tabela de fatores de 
ajuste por tipo de aplicação. Isto evita que toda a aplicação se repita o cálculo. 
 
Referência: 
R. Dias, “Análise por Pontos de Função: Uma Técnica para 
Dimensionamento de Sistemas de Informação”, on-line. Disponível em: 
www.presidentekennedy.br/resi/edicao03/artigo02.pdf. Último acesso: 13.05.2004 
 DESAFIO: 
Considere um software que na especificação foi considerado as seguintes características: 
Deverá ser criado um módulo front-end para a entrada de dados, e se usará o protocolo 
HTTP e SMTP. A aplicação deverá será do tipo cliente servidor e será em tempo 
real. Mais de 50% dos dados entrarão de forma on line. As telas de entrada de dados 
deverão ser projetadas com menus, ajuda on line, janelas pop-up e uso intensivo do vídeo 
com várias cores. Toda a atualização de dados deverá ser feita de forma 
centralizada. Tudo será feito de forma automática sem necessidade de operador 
A crítica dos dados é feito em cada local e o fluxo dos dados é do cliente para o 
servidor. Os dados do negócio são feitos pelo usuário por meio de processos interativos 
Nenhuma restrição operacional é apresentada, mas existirá um pico de e processamento 
no final de cada mês. Consulte o material e pontue segundo a orientação do IFPUG. 
Peça ajuda ao seu professor on line 
 
 
1. 
 O fator de ajuste considera: 
 1) Os requisitos não funcionais do sistema. 
 2) os requisitos funcionais do sistema 
 3) as adaptações do modelo as formas de contar da empresa 
 4) que não pode ser estabelecido para características comuns em sistemas de uma área. 
 5) aspectos funcionais e não funcionais do sistema 
 1 
2. 
 O fator de ajuste para um sistema com a pontuação abaixo é: 
 
 1) 41 
 2) 0,41 
 3) 1,06 
 4) 0,65 
 5) 41,653 
3. 
 são fatores de configuração: 
 I - a forma como os dados se comunicam 
 II - a complexidade dos algoritmos 
 III – a modelagem de dados referente ao sistema 
 IV – a especificação conceitual do sistema 
 V - a tecnologia de desenvolvimento do sistema em OO 
 
Estão corretas as afirmativas: 
 1) I,II,III,IV 
 2) I,II,IV,V 
 3) I,II,III,V 
 4) todas 
 5) I,II,V 
 5 
 
Nesta aula, você: 
 Atentou para a subjetividade da pontuação dos 14 aspectos do software 
 Aprendeu como o IPFUG recomenda que seja feita a avaliação 
 Atentou como se cria o fator de ajuste 
 Aplicou o processo de avaliação e determinação de fator de ajuste a partir de um caso e uso 
 
Na próxima aula, vamos estudar como IPFUG recomenda que seja feita a contagem das funcionalidades a partir de 
entradas, arquivos, consultas, saídas e interfaces. 
 
Aula 4: Medidas Indiretas e Medida da Funcionalidade 
 
Nesta aula você irá aprender sobre: 
 
1. Determinar o contexto da contagem; 
2. Aprender definir o tipo de contagem; 
3. Definir o que são um ALI e um AIE; 
4. O que é um arquivo lógico e um item de dados; 
5. Determinar a complexidade de um ALI e AIE; 
6. Determinar o total de PF não ajustado para o total de ALI e AIE; 
7. Conhecer recomendações de características de contagem de ALI e AIE feita pelo IFPUG. 
Medidas Indiretas e Medida da Funcionalidade 
Esta aula apresenta as regras de contagem de APF, baseadas no Function Point Counting Pratices Manual – Release 
4.1.1, publicado pelo IFPUG, em 1999. Para se fazer a contagem, o IFPUG definiu um processo que deve ser 
seguido. O processo de contagem é mostrado na imagem. 
 
O objetivo é contar as funcionalidades do software, ainda no inicio do projeto. Análise de Ponto Função (APF) 
determina um número real a partir de entradas, saídas, consultas, interfaces externas e arquivos lógico. A imagem 
exemplifica esses elementos. A contagem simples, associada ao peso, devido a complexidade do software dos 
elementos acima, produze um número que mede a funcionalidade sem nenhum ajuste. É o total de pontos, função 
não ajustado. Muitas empresas trabalham apenas com esse número, como vimos na aula 3. 
 
 
 
 
 
Processo De Contagem 
O processo de contagem, definido pelo IPFUG, é feito em sete passos, conforme mostrado na imagem: 
 
Vamos estudar nesta aula, e na próxima os passos mostrados na imagem. 
O processo de contagem é feito em sete passos. Nesta aula, vamos aprender como desenvolver os passos 1, 2 e 
3. Observe que na aula passada você aprendeu como se determina o fator de ajuste que corresponde ao passo 6 
da imagem e, na próxima aula, vamos desenvolver sobre o passo 4, 5 e 7. 
Determinar o tipo de Contagem (passo 1) 
Contagem de projeto de desenvolvimento 
Projeto de Desenvolvimento 
O número de pontos de função de um projeto de desenvolvimento mede a funcionalidade fornecida aos usuários 
finais, quando da primeira instalação do software. 
Essa contagem também considera as funções de conversão de dados necessária à implantação do software O 
projeto de migração de dados, povoamento de bases, estão incluídos nessa contagem. Ou seja, a primeira versão 
do software funcionando. 
Contagem de projeto de melhoria (manutenção) 
Projeto de melhoria (manutenção) 
Em um projeto de melhoria, o número de pontos de função mede as modificações para uma aplicação já existente, ou seja, as 
funções adicionais , modificadas ou excluídas do sistema pelo projeto e as funções de conversões de dados. 
Após a conclusão e implantação do projeto de melhoria , o número de pontos de função da aplicação deve ser atualizado para 
refletir as mudanças nas funcionalidades da aplicação.(VAZQUEZ,2005) 
Contagem de aplicação (produção) 
Projeto de aplicação 
A contagem de pontos de função de uma aplicação já instalada, mede a funcionalidade fornecida ao usuário. Ela é iniciada ao 
final da contagem do projeto de desenvolvimento e atualizado no final do projeto de melhoria. (VAZQUEZ,2005), 
Identificar O Escopo Da Contagem E A Fronteira Da Aplicação (Passo 2) 
A identificação do escopo visa definir a abrangência da contagem estipulando, se a contagem vai se referir a um ou 
mais sistemas, ou a apenas parte de um sistema. No escopo da contagem de uma aplicação podem-se considerar 
todas as funcionalidades disponíveis, ou algumas funcionalidades específicas. A fronteira da aplicação estabelece o 
limite do estar sendo contada, indicando o limite entre a aplicação e os demais usuários. A fronteira é definida, 
estabelecendo um limite lógico entre a aplicação que está sendo contada o usuário e as outras aplicações. 
Devem-se considerar as seguintes características e regras (IFPUG, 1999): 
1 -Os limites entre as funções a serem atendidas pela aplicação ou projeto. 
2- A utilização dos dados considerados no processo de contagem. 
3 - O relacionamento entre os processos, com indicação de onde eles ocorrem. 
4- Deve ser considerado o ponto de vista do usuário, ou seja, o que o usuário pode entender e descrever como 
função da aplicação. 
5- A fronteira entre aplicações relacionadas deve considerar a funcionalidade das aplicações, em termos das funções 
de negócio identificadas pelo usuário e não sob o ponto de vista das interfaces necessárias. 
Identificar O Escopo Da Contagem E A Fronteira Da Aplicação (Passo 2) 
Para identificar a fronteira da aplicação deve-se: 
Na documentação do fluxo de dados no sistema, desenhar uma fronteira em volta, para destacar quais partes são 
internas e externas à aplicação; 
Identificar áreas funcionais pela atribuição definidas por objetos de análise, como entidades e processos; 
Verificar como o grupo de dados é mantido; 
Verificar como a aplicação é gerenciada 
Definir o escopo da contagem (fronteira ) é um dos passos mais importantes, pois, se for feita de maneira incorreta, 
a contagem será incorreta. 
Contagem Das Funções De Dados (Passo3) 
As funções de dados são funcionalidades fornecidas ao usuário para as necessidades de dados. São chamados de 
Arquivos Lógicos Internos(ALI) e Interface Externa (AIE). Arquivo não significa um arquivo físico, no sentido 
tradicional , mas refere-se a um grupo de dados logicamente relacionado e reconhecido pelo usuário. 
O IFPUG complementou os procedimentos e regras do CPM 4.1.1 com um nova seção denominada "Práticas de 
Contagem", onde situações como dados de código, dados compartilhados e outros casos devem ser avaliados 
A imagem é do COM 4.1.1 e mostra como deve ser feita a contagem e o que deve ser considerado: 
 
 
Prática De Contagem ALI E AIE 
As transações existentes devem ser para manutenção de dados e os dados de código não devem ser consideradas 
como processos elementares, nem os dados de código contados. 
Arquivo Lógico Interno (ALI) 
É um grupo logicamente relacionado de dados ou informação de controle, cuja manutenção é feita pela própria 
aplicação. Sua função principal é armazenar dados mantidos dentro da fronteira da aplicação, através dos processos 
da aplicação. Os ALI contribuem para o cálculo de pontos de função, com base na sua quantidade e complexidade 
As informações de controle são dados usados pela aplicação para garantir total conformidade com os requisitos das 
funções do negócio definidas pelo usuário. Manutenção é a habilidade de adicionar, alterar ou remover dados de um 
arquivo através de um processo elementar da aplicação. 
Como exemplos de um ou mais ALIs , dependendo da visão do usuário , têm-se : (IFPUG,1999) 
dados da aplicação (arquivos mestres como cadastro de clientes ou funcionários); 
arquivos de dados de segurança da aplicação; arquivos de dados de auditoria; arquivos de mensagem de auxílio;arquivos de mensagens de erro; arquivo de cópia de segurança- considerado somente se for solicitado pelo usuário 
para atender requisitos da aplicação; arquivo que sofra manutenção por mais de uma aplicação. 
Não são considerados como ALI: 
Arquivos temporários. Arquivos de trabalho. Arquivos de classificação. Arquivos de cópia de segurança requerido 
pelo CPD. Arquivos introduzidos somente por causa da tecnologia usada. 
 Ex.: Arquivos de parâmetro para um software WFL, JCL etc. 
Operações de junção e projeção. Arquivos de índices alternativos. 
Arquivo De Interface Externa (AIE) 
Um Arquivo de Interface Externa (AIE) é um grupo de dados logicamente relacionados, ou informações de controle 
identificadas pelo usuário, referenciados na aplicação para fins de recuperação de dados, cuja manutenção é feita 
por outra aplicação. Os dados são armazenados fora da fronteira da aplicação.(VAZQUEZ,2005) 
São considerados AIE , conforme a visão do usuário (IFPUG,1999): 
Dados de referência (dados externos usados pela aplicação ,mas que não são usados para manutenção em ALI). 
Arquivos de mensagens de auxílio. Arquivos de mensagens de erro. 
Não são considerados AIE: 
Dados recebidos de outra aplicação, usados para adicionar, alterar ou remover dados em um ALI. 
Dados cuja manutenção é feita pela aplicação que está sendo avaliada, mas que são acessados e utilizados por outra 
aplicação. 
Dados formatados e processados para uso por outra aplicação. 
 
 
Determinação Da Contribuição Dos ALI E AIE 
Após determinar o número de ALI e AIE e suas respectivas complexidades, deve-se calcular a contribuição de cada 
um deles, utilizando a seguinte tabela de contribuição de PF não ajustados do IFPUG: 
Tabela de contribuição dos PF não ajustados das funções de dados 
 
 
Primeiro passo: Determinar o escopo da contagem. Foi dito pelo usuário que receberia a informação de alunos de 
outro sistema, portanto, estamos considerando o Usuário com arquivo de interface externa. 
Segundo passo: O sistema é novo e vamos fazer a contagem para desenvolvimento. Não existe migração de dados 
ou projetos auxiliares na implantação: 
Processos básicos do usuário são para a manutenção de arquivo de empréstimos, autores e livros 
Terceiro passo: Determinação das contribuições dos ALI. 
A Classe livro é de persistência e constitui um ALI = temos um registro lógico e quatro itens de dados: entrando na 
tabela, temos que é de complexidade: simples 
A classe autor é um ALI, com um registro lógico e dois itens de dados: na tabela de complexidade é simples. 
A classe autoria relaciona autor com livro, portanto tem um registro lógico e como já contamos os itens de 
relacionamento, vamos considerar um item de dados. 
A classe empréstimo associa um elemento externo com o livro. Nesse caso, só contamos o número de livro em 
livro. Temos um registro lógico e dois itens de dados, portanto verificamos na tabela que é simples: 
Temos quatro ALI simples, consultando a tabela de contribuição temos 7 PF por ALI, portanto 
contribui com 4* 7 PF = 28 PF. 
Considerando os AIE, temos um registro com 4 itens, portanto simples, contribuindo com mais 5 PF; 
A contribuição dos ALI e AIE são de 28 + 5= 32 PF não ajustados 
Nesta aula, você: 
 Aprender o que é um arquivo interno e externo; 
 Como determinar a complexidade; 
 Aprender a definir o tipo de contagem; 
 A contar item de dados; 
 Contar número de registros; 
 Definir a complexidade; 
 Definir a contagem. 
Na próxima aula, vamos terminar a padronização da contagem. Você irá aprender como se deve fazer a 
contagem das entradas, consultas e saída, em termos de registros e itens de dados. Vamos apresentar 
uma maneira de definir a complexidade desses elementos. Vamos desenvolver um exemplo, usando 
esses conceitos. Na próxima aula, teremos fechado todas as recomendações feitas no manual de 
contagem do IPFUG 
 
1. 
 Quais, dos seguintes passos, não faz parte do procedimento de contagem de ponto função: 
 1) Identificar a fronteira da aplicação. 
 2) Determinar o tipo de contagem. 
 3) Calcular o valor do fator de ajuste. 
 4) Classificar as características do sistema em simples, média e complexas. 
 5) Levantar o total de itens de dados usados. 
 4 
2. 
 A FRONTEIRA DA APLICAÇÃO deve ser definida com base: 
 1) nas diferentes plataformas em que a aplicação é executada. 
 2) nas diferentes equipes envolvidas. 
 3) no ponto de vista do usuário. 
 4) no ponto de vista do analista. 
 5) nas diferentes linguagens que serão utilizadas. 
 3 
3. 
 Para se determinar um arquivo de interface externa deve-se: 
 1) determinar os processos elementares que ocorrem sobre ele. 
 2) contar o total de campos do arquivo. 
 3) contar apenas os campos que estão sendo usados pela aplicação. 
 4) contar os seus tipos de dados e arquivos que estão sendo usados. 
 5) contar quantos subgrupos existem no arquivo. 
 1 
4. 
 Um tipo de registro é: 
 1) um subgrupo de dados, dentro de um ALI ou AIE, reconhecido pelo usuário. 
 2) opcional ou obrigatório. 
 3) depende de quem esta contando. 
 4) um conjunto de dados, usado apenas por um processo. 
 5) um arquivo lógico que se encontra em um DFD. 
 1 
Aula 5: Contagem de Funções (internas e externas), baseada nonction Point 
Counting Pratices – PUG, em 1999 
1. Aprender o que é uma transação de entrada. 
2. Como determinar a complexidade de uma EE. 
3. Aprender o que é uma saída externa SE. 
4. Como determinar a complexidade. 
5. Aprender o que é uma consulta externa CE. 
6. Como determinar a complexidade. 
7. Tratar o fator de ajuste. 
8. Definir o número de ponto função por tipo de contagem. 
 
 
 
Contagem das funções transacionais 
As funcionalidades do sistema, para o usuário, são apresentadas na forma de funções. São elas que manuseiam os 
dados. As funções são classificadas quanto a relação de uso em de Entrada externas, Saídas e Consultas externas. 
Existem muitas dúvidas e divergências quanto a forma de contar essa funções. Uma consulta é uma entrada? É uma 
saída? Para criar um parâmetro de referência, na classificação das funções, o IFPUG criou uma tabela que resume os 
objetivos primários de cada tipo de função transacional e a identificação é feita por este objetivo. 
Definição: 
 Um processo elementar é a menor unidade de atividade significativa para o usuário final e tem as características: 
- Deve ser completo em si mesmo. 
- Deve deixar a aplicação em um estado consistente. 
Tabela de resumo dos objetivos primários das funções de transação. 
 
Entradas Externas 
Uma entrada externa é um processo elementar que processa dados ou informações de controle recebidos de fora da 
fronteira da aplicação e cujo objetivo principal é manter um ou mais Arquivos Lógicos Internos (ALI) e/ou alterar o 
comportamento do sistema. Dessa forma uma EE provoca uma inclusão , exclusão e/ou alteração nos dados dos ALI. 
(VAZQUEZ, 2005) 
 
Uma Função do tipo EE tem um fluxo de informação de fora da fronteira da aplicação para dentro , ou seja, 
transações originadas do usuário ou de outros sistemas e que representam alguma forma de entrada de dados no 
sistema. . Esses dados, através de um processo lógico atualizam um ALI, As informações de controle podem ou não 
atualizar diretamente. O processamento é um conjunto de críticas, cálculos, algoritmos e referências/utilização de 
ALI ou AIE. 
Uma EE é considerada única para uma aplicação se possuir um formato diferente das demais ou se precisar de uma 
lógica de processamento diferente de outras EE que tenham o mesmo formato. 
São entradas externas – EE: 
- Operações de inclusões e alterações de registros emarquivos da aplicação. 
- Janela que permite adicionar, excluir e alterar registros em arquivos. 
Não são entradas externas – EE: 
- Menus. 
- Telas de login. 
- Telas de filtro de relatórios e consultas. 
- Múltiplos métodos de se executar uma mesma lógica de entrada. 
Regras para se identifica uma EE – Entrada Externa 
O processo de identificação de EE requer que sejam analisados todos os processos elementares que recebem dados 
de fora da aplicação e que fazem a atualização de um ou mais ALI, segundo as seguintes regras( IFPUG, 1999): 
Regra 1: Os dados ou informações devem ser recebidos de fora da fronteira da aplicação 
Regra 2: Se a entrada de dados pela fronteira não for uma informação que modifique o comportamento do sistema, 
deve manter no mínimo um AIE. 
 
Determinação da complexidade da Entrada externa 
Cada EE deve ser classificada conforme sua complexidade funcional relativa que é baseada no número de Arquivos 
Referenciados (ALI e AIE) e no número de itens de dados (ID). 
 
 
 
 
 
 
Classificação da complexidade da saída externa 
A classificação da complexidade de uma saída externa deve ser feita de acordo com o número de Arquivos 
Referenciados e no número de itens de dados. 
 
 
 
Consultas Externas 
 
Regras para identificar uma consulta. 
Uma consulta é identificada pelas seguintes regras: 
- O processamento elementar recupera dados ou informações de controle de um ALI ou AIE. 
- A lógica do processo elementar não pode conter cálculos. 
- A lógica do processo elementar não cria dados derivados. 
- A lógica do processo elementar não mantêm nenhum ALI. 
- A lógica do processo elementar não altera o comportamento do sistema. 
 
 
 
 
 
 
 
 
Princípios e conceitos da Governança Corporativa 
O cálculo dos pontos de função não ajustados: 
É feito da seguinte forma: para cada um dos cinco tipos de função (ALI, AIE , EE, SE e CE), verifica-se a complexidade 
e o peso multiplicado pelo número de elementos contados em uma mesma complexidade. O total é chamado de 
pontos de função (TPF). 
Cálculo de Pontos de Função para um projeto de desenvolvimento 
O projeto de desenvolvimento apresenta três componentes em termos de funções : 
Funcionalidades da aplicação, incluídas pelos usuários como requisitos – "Compreendem as funções usadas depois 
da instalação do sistema. Elas existem para satisfazer as necessidades de saída do negócio do usuário." (IFPUG,1999) 
Funcionalidades de conversão, incluídas pelos usuários como requisitos – "Compreendem funcionalidades providas 
somente na instalação do sistema. Elas existem para converter dados ou proporcionar outros requisitos 
estabelecidos pelo usuário e necessários à conversão." (IFPUG,1999) 
Valor do fator de ajuste da aplicação – "Compreende a determinação das 14 características gerais do sistema em 
desenvolvimento, para avaliar a complexidade funcional da aplicação". (IFPUG,1999) 
 
Cálculo de Pontos de Função para um projeto de Melhoria 
Segundo o IFPUG, o conceito de melhoria envolve apenas manutenções evolutivas na aplicação, ou seja, alterações 
feitas na aplicação para atender aos novos requisitos de negócio do usuário. Não são levadas em conta manutenções 
corretivas e preventivas. (VAZQUEZ, 2005) 
Um projeto de melhoria consiste de três componentes em termos de funções: 
1. Funcionalidades da aplicação, incluídas como requisitos pelo usuário para o projeto: Funções incluídas, alteradas 
ou excluídas pelo projeto de melhoria; 
2. Funcionalidades de Conversão : "Consiste dos pontos de função entregues por causa de qualquer funcionalidade 
de conversão requerida pelo usuário". (IFPUG,1999) 
3. Valor do fator de ajuste da aplicação – Dois valores são considerados , segundo o manual : 
 
- Valor do fator de ajuste ANTES do início do projeto de melhoria (VAFB) 
- Valor do fator de ajuste DEPOIS da conclusão do projeto de melhoria (VAFA) 
Deve ser considerado que uma função do tipo dado (ALI ou AIE) foi alterada quando ela foi modificada em sua 
estrutura com alguma inclusão , alteração ou exclusão de campos ou atributos. 
Uma função do tipo transação é considerada alterada quando há alteração em um dos itens a seguir:(VAZQUEZ, 
2005) 
Tipos de dados – Se houve inclusão , alteração ou exclusão da função. 
Arquivos referenciados – Se foram incluídos , excluídos ou alterados da função. 
Lógica de processamento – Se qualquer lógica for incluída , alterada ou excluída. 
Fórmula para cálculo : 
EFP = [(ADD + CHGA + CFP) * VAFA] + (DEL * VAFB) 
Onde: 
EFP – Número de pontos de função do projeto de melhoria; 
ADD – Número de pontos de função não ajustados das funções incluídas pelo projeto de melhoria; 
CHGA – Número de pontos de função não ajustados das funções modificadas depois das modificações; 
CFP - Número de pontos de função não ajustados adicionados pela conversão; 
VAFA – Valor do fator de ajuste da aplicação depois do projeto de melhoria; 
DEL - Número de pontos de função não ajustados das funções excluídas pelo projeto de melhoria; 
VAFB – Valor do fator de ajuste da aplicação antes do projeto de melhoria. 
Cálculo de Pontos de Função para uma aplicação 
Para calcular os pontos de função de uma aplicação existem duas fórmulas que são utilizadas 
Fórmula para Contagem Inicial – representa todas as funcionalidades requeridas pelo usuário de uma aplicação 
instalada. As funções da conversão de dados não devem ser computadas no tamanho da aplicação entregue, pois, 
elas existirão somente para o processo de implantação do aplicativo (VAZQUEZ, 2005). 
AFP = ADD * VAF 
Onde: 
AFP – Número de pontos de função ajustados da aplicação; 
ADD – Número de pontos de função não ajustados das funções instaladas; 
VAF – Valor do fator de ajuste da aplicação. 
Fórmula usada após o projeto de melhoria – Após a conclusão de um projeto de melhoria, os pontos de função 
devem ser atualizados para refletir as mudanças na aplicação. Novamente, as funções de conversão de dados não 
devem ser computadas, pois, elas não fazem parte da aplicação (VAZQUEZ, 2005). 
AFP = [(UFPB + ADD + CHGA) – (CHGB + DEL)] * VAFA 
Onde: 
AFP – Número de pontos de função ajustados da aplicação 
UFPB – Número de pontos de função não ajustados da aplicação antes do projeto de melhoria; 
ADD – Número de pontos de função não ajustados das funções incluídas pelo projeto de melhoria; 
CHGA – Número de pontos de função não ajustados das funções modificadas depois do seu término; 
CHGB – Número de pontos de função não ajustados das funções modificadas antes do seu término; 
DEL - Número de pontos de função não ajustados das funções excluídas pelo projeto de melhoria; 
VAFA – Valor do fator de ajuste da aplicação depois do projeto de melhoria. 
Nesta aula, você: 
 Aprendeu o que é uma transação de entrada. 
 Aprendeu como determinar a complexidade de uma ee. 
 Aprendeu o que é uma saída externa se. 
 Aprendeu como determinar a complexidade. 
 Aprendeu o que é uma consulta externa ce. 
 Aprendeu como determinar a complexidade. 
 Aprendeu a tratar o fator de ajuste. 
 Aprendeu a definir o número de ponto função por tipo de contagem. 
Na próxima aula, vamos aprender a fazer estimativas de diversas formas, a partir do conhecimento do número de 
ponto função. Vamos estudar como estas estimativas são usadas para a gerência do software, em termos de esforço 
, dimensionamento de equipe e prazo. 
 
 
1. 
 Considere a contagem, para uma tabela de clientes que tem: 
I - uma consulta, que retorna quase todos os itens de dados da tabela para uma tela. 
II - outra consulta retorna-se uma lista de CPF e nome de clientes. 
 1) Deve-se contar como uma entrada externa e uma consulta externa. 
 2) Devem-se contarduas Consultas Externas. 
 3) Devem-se contar duas entradas e duas saídas. 
 4) Devem-se contar uma saída externa e uma consulta. 
 5) Devem-se contar duas entradas externas. 
 2 
2. 
 Há necessidade de se alterar um campo, mas consultam-se outros n itens. Quantos itens de dados devem ser contados? 
 1) Apenas um item de dados. 
 2) Apenas n itens de dados. 
 3) Apenas n+1 itens de dados. 
 4) Apenas n + n+ 1 itens de dados. 
 5) Apenas 2 itens de dados. 
 3 
3. 
 Como contar a manutenção de um sistema que só terá seu padrão visual alterado? 
 1) Deve-se considerar a contagem de manutenção. 
 2) Devem-se considerar as transações que forem alteradas. 
 3) Deve-se usar o tipo de contagem de aplicação. 
 4) O total de ponto de função não será útil para este caso. 
 5) O total de ponto de função será alterado. 
 4 
4. 
 Como classificar um arquivo texto que é importado pelo sistema? 
 1) Deve se considerar como uma entrada externa. 
 2) Deve-se considerar como uma saída externa. 
 3) Deve-se considerar como uma consulta externa. 
 4) Deve-se considerar como uma consulta seguida de uma entrada. 
 5) Deve-se considerar uma entrada externa e uma consulta externa. 
 1 
5. 
 Como se deve contar, se uma aplicação atualizar a data de importação em um arquivo texto ? 
 1) Deve-se contar uma consulta externa. 
 2) Deve-se contar apenas uma entrada externa. 
 3) Deve-se contar uma EE e contar a data como item de dados. 
 4) Devem-se contar uma EE e a data como dois itens de dados. 
 5) Devem-se contar uma entrada externa e uma consulta externa. 
 3 
6. 
 Uma gravação em “pen drive”, com dados da base, é uma CE ou SE ? 
 1) Se a extração tiver processamento (cálculo de registros) é SE; se for cópia da base é CE. 
 2) Se a extração tiver processamento (cálculo de registros) é CE; se for cópia da base não deve ser contada. 
 3) Se a extração não tiver processamento é SE; se for cópia da base é CE. 
 4) Se o pen-drive servir de backup é uma SE. 
 5) Se o pen drive executar um antivírus é SE. 
 1 
7. 
 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 se deve contar? 
 1) Deve-se contar como duas SE, pois, pode sair em relatório ou gravado em disco. 
 2) Deve ser contado como uma consulta e uma saída, pois, precissa se definir ot tipo de gravação. 
 3) Contar como SE, pois, há o cálculo das linhas e é de conhecimento do usuário que se o relatório ultrapassar o limite (há 
contagem de linhas), o relatório será gravado em disco, senão será impresso. 
 4) Pode ser considerado como CE ou SE, depende do usuário. 
 5) Nesse caso, existem diversas maneiras de contar como consulta. 
 3

Outros materiais