Anda di halaman 1dari 79

Instituto de Cincias Matemticas e de Computao ISSN - 0103-2569

PONTOS DE FUNO Uma medida funcional de tamanho de software

WAINE TEIXEIRA JNIOR ROSELY SANCHES

N0 105

RELATRIOS TCNICOS DO ICMC

So Carlos MARO/2000

SUMRIO

LISTA DE ABREVIATURAS ............................................................................................ NDICE DE EQUAES .................................................................................................. NDICE DE FIGURAS ....................................................................................................... NDICE DE QUADROS .................................................................................................... NDICE DE TABELAS ...................................................................................................... 1

i ii iii iv v

INTRODUO - VISO GERAL DE PONTOS DE FUNO ..............................................1 1.1 1.2 1.3 1.4 HISTRICO DE PONTOS DE FUNO.............................................................................................1 USOS DE PONTOS DE FUNO .....................................................................................................5 VISO GERAL DO PROCESSO DE ANLISE DE PONTOS DE FUNO .............................................6 UM EXEMPLO SIMPLIFICADO .......................................................................................................8

REGRAS PARA IDENTIFICAO E CONTAGEM DE FUNES..................................10 2.1 IDENTIFICAO DA FRONTEIRA DA APLICAO ........................................................................10 2.2 REGRAS DE CONTAGEM PARA ARQUIVOS LGICOS INTERNOS (ALI) ..........................................11 2.2.1 Complexidade de Arquivo Lgico Interno ......................................................................12 2.3 REGRAS DE CONTAGEM PARA ARQUIVOS DE INTERFACE EXTERNA (AIE)...................................14 2.3.1 Complexidade de Arquivo de Interface Externa .............................................................15 2.4 REGRAS DE CONTAGEM PARA ENTRADAS EXTERNAS (EE)..........................................................16 2.4.1 Complexidade de Entradas Externas..............................................................................17 2.5 REGRAS DE CONTAGEM PARA SADAS EXTERNAS (SE) ...............................................................19 2.5.1 Complexidade de Sadas Externas..................................................................................20 2.6 REGRAS DE CONTAGEM PARA CONSULTAS EXTERNAS (CE) .......................................................23 2.6.1 Complexidade de Consulta Externa................................................................................24

CLCULO DO FATOR DE AJUSTE ......................................................................................28 3.1 DETERMINAO DO NVEL DE INFLUNCIA (NI) ........................................................................28 3.1.1 Comunicao de dados...................................................................................................29 3.1.2 Processamento distribudo ou Funes distribudas ......................................................29 3.1.3 Performance ...................................................................................................................30 3.1.4 Configurao do equipamento........................................................................................30 3.1.5 Volume de transaes .....................................................................................................31 3.1.6 Entrada de dados on-line................................................................................................31 3.1.7 Interface com o usurio ..................................................................................................31 3.1.8 Atualizao on-line.........................................................................................................32 3.1.9 Processamento complexo................................................................................................32 3.1.10 Reusabilidade .................................................................................................................33 3.1.11 Facilidade de implantao .............................................................................................33 3.1.12 Facilidade operacional...................................................................................................34 3.1.13 Mltiplos locais...............................................................................................................34 3.1.14 Facilidade de mudanas (flexibilidade)..........................................................................35 3.2 CLCULO DO FATOR DE AJUSTE E DOS PONTOS DE FUNO AJUSTADOS..................................35

CONTAGEM DE PONTOS DE FUNO EM PROJETOS .................................................37 4.1 CONTAGENS E FASES DE DESENVOLVIMENTO ...........................................................................37 4.2 EXEMPLO DE ANLISE DE PONTOS DE FUNO EM PROJETO DE NOVA APLICAO .................38 4.2.1 Descrio do sistema a ser desenvolvido .......................................................................38 4.2.2 Levantamento das principais funes do sistema ...........................................................39 4.2.3 Layout dos Arquivos Internos e Externos do sistema .....................................................39 4.2.4 Layout das telas do sistema ............................................................................................40 4.2.5 Layout dos Relatrios do sistema ...................................................................................44 4.2.6 Identificao das funes do sistema..............................................................................44 4.2.7 Classificao das funes quanto a complexidade.........................................................45

4.2.8 4.2.9 5

Clculo dos pontos de funo no ajustados..................................................................46 Clculo do Fator de Ajuste e dos Pontos de Funo Ajustados .....................................47

CONTAGEM DE PF EM PROJETOS DE MANUTENO DE APLICAES.............49 5.1 EXEMPLO DE ANLISE DE PONTOS DE FUNO DE UM PROJETO DE MANUTENO ..................51 5.1.1 Descrio do escopo do projeto de manuteno do sistema ..........................................52 5.1.2 Layout das telas, arquivos e relatrios afetados, e/ou includos no sistema ..................52 5.1.3 Identificao das modificaes, incluses e excluses no sistema .................................55 5.1.4 Classificao das funes includas, excludas e modificadas no sistema .....................55 5.1.5 Clculo de PFs Brutos das modificaes no sistema......................................................57 5.1.6 Clculo do novo fator de ajuste dos pontos de funo ...................................................59 5.1.7 Clculo dos pontos de funo ajustados do projeto de manuteno ..............................59 5.1.8 Clculo dos pontos de funo ajustados aps o projeto de manuteno .......................59

PONTOS DE FUNO E ESTIMATIVAS .............................................................................61 6.1 ESTIMATIVAS DE TAMANHO DE PROJETO ..................................................................................61 6.1.1 A importncia da Base de Dados Histrica....................................................................62 6.2 MTODO DE INFERNCIA PARA ESTIMATIVA DO PRAZO DO PROJETO ........................................64 6.3 MTODOS DE INFERNCIA PARA ESTIMATIVA DO ESFORO DO PROJETO ..................................64 6.3.1 Transformao por Interpolao....................................................................................65 6.3.2 Transformao Direta ....................................................................................................65

7 8

CONCLUSO .............................................................................................................................66 REFERNCIAS BIBLIOGRFICAS ......................................................................................70

LISTA DE ABREVIATURAS

AIE ALI ALR BFPUG CE COCOMO CPM DER EE FPA GUIDE IFPUG ISO LOC PF RLR SE

ARQUIVOS DE INTERFACE EXTERNA ARQUIVOS LGICOS INTERNOS ARQUIVO LGICO REFERENCIADO BRAZILIAN FUNCTION POINTS USERS GROUP CONSULTAS EXTERNAS CONSTRUTIVE COST MODEL MANUAL DE PRTICAS DE CONTAGEM DE PONTOS DE FUNO DADO ELEMENTAR REFERENCIADO ENTRADAS EXTERNAS FUNCION POINT ANALISIS GRUPO DE USURIOS IBM INTERNATIONAL FUNCION POINTS USERS GROUP INTERNATIONAL STANDARDIZATION ORGANIZATION LINHAS DE CDIGO PONTO DE FUNO REGISTRO LGICO REFERENCIADO SADAS EXTERNAS

ii

NDICE DE EQUAES

Equao 1 Equao do Fator de Ajuste ..................................................................................................35 Equao 2 Equao de Clculo de PFs Ajustados ..................................................................................35 Equao 3 Clculo de Pontos de Funo do Projeto de Manuteno .....................................................59 Equao 4 Clculo aps Projeto de Manuteno ....................................................................................60 Equao 5 Interpolao Aritmtica.........................................................................................................64 Equao 6 Transformao Direta de PFs em Esforo.............................................................................65

iii

NDICE DE FIGURAS

Figura 1 Componentes de Pontos de Funo em relao aplicao [Dekkers, 1998] ............................3 Figura 2 Viso Geral do Processo de Anlise de Pontos de Funo.........................................................7 Figura 3 Identificao da Fronteira da Aplicao ...................................................................................10 Figura 4 Layout da Tela de Incluso dos Dados de Clientes ..................................................................19 Figura 5 Layout do Relatrio de Dados de Clientes ...............................................................................22 Figura 6 Layout da Tela de Consulta ao Cadastro de Clientes................................................................26 Figura 7 Tela de Incluso de clientes......................................................................................................40 Figura 8 Excluso de clientes .................................................................................................................40 Figura 9 Alterao dos dados de cliente .................................................................................................41 Figura 10 Consulta a Clientes .................................................................................................................41 Figura 11 Incluso de Produtos ..............................................................................................................41 Figura 12 Alterao dos Dados de Produto ............................................................................................42 Figura 13 Consulta a Produtos................................................................................................................42 Figura 14 Excluso de Produtos .............................................................................................................42 Figura 15 Pedido de Clientes ..................................................................................................................42 Figura 16 Tela de Identificao ..............................................................................................................42 Figura 17 Menu do Sistema ....................................................................................................................43 Figura 18 Telas de auxlio ......................................................................................................................43 Figura 19 Relao de Clientes ................................................................................................................44 Figura 20 Relao de Clientes Inativos...................................................................................................44 Figura 21 Relao de Produtos ...............................................................................................................44 Figura 22 Layout da tela Pedido de Clientes (alterado) ..........................................................................53 Figura 23 Layout da tela Cadastramento de Vendedores........................................................................53 Figura 24 Layout do Menu do sistema (alterado) ...................................................................................54 Figura 25 Layout da tela de Comparao entre os cinco maiores clientes..............................................54 Figura 26 Layout da Relao de Pedidos de Clientes .............................................................................54

iv

NDICE DE QUADROS

Quadro 1 Complexidade de Arquivos Lgicos Internos .........................................................................13 Quadro 2 Layout do Arquivo Clientes ....................................................................................................13 Quadro 3 Layout do Arquivo Senhas......................................................................................................15 Quadro 4 Complexidade de Entradas Externas.......................................................................................18 Quadro 5 Complexidade de Sadas Externas ..........................................................................................21 Quadro 6 Complexidade da Parte de Entrada de uma Consulta Externa. ...............................................25 Quadro 7 Complexidade da Parte de Sada de uma Consulta Externa....................................................26 Quadro 8 As 14 Caractersticas Gerais do Sistema.................................................................................28 Quadro 9 Layout do Arquivo de Clientes ...............................................................................................39 Quadro 10 Layout do Arquivo de Produtos ............................................................................................39 Quadro 11 Layout do Arquivo de Pedidos..............................................................................................39 Quadro 12 Layout do Arquivo de Senhas ...............................................................................................39 Quadro 13 Layout do Arquivo de Histrico de Clientes.........................................................................39 Quadro 14 Funes Identificadas no Sistema para o Exemplo ...............................................................44 Quadro 15 Classificao de complexidade das funes identificadas ....................................................45 Quadro 16 Clculo do Fator de Ajuste ...................................................................................................47 Quadro 17 Layout do cadastro de pedidos (alterado) .............................................................................52 Quadro 18 Layout do cadastro de vendedores (includo) .......................................................................53 Quadro 19 Modificaes e incluses de funes no sistema ..................................................................55 Quadro 20 Funes includas, excludas e modificadas no sistema ........................................................55

NDICE DE TABELAS

Tabela 1 Pontos de Funo de Arquivos Lgicos Internos.....................................................................14 Tabela 2 Pontos de Funo de Arquivos de Interface Externa ...............................................................15 Tabela 3 Pontos de Funo de Entradas Externas...................................................................................19 Tabela 4 Pontos de Funo de Sadas Externas ......................................................................................22 Tabela 5 Pontos de Funo de Consultas Externas.................................................................................27 Tabela 6 Clculo dos Pontos de Funo no ajustados..........................................................................47 Tabela 7 Total de PFs das funes includas ..........................................................................................58 Tabela 8 Total de PFs das funes excludas..........................................................................................58 Tabela 9 Total de PFs das funes alteradas antes projeto de manuteno .........................................58 Tabela 10 Total de PFs das funes alteradas aps projeto de manuteno ........................................58 Tabela 11 Converso de Pontos de Funo em Linhas de Cdigo [COCOMOII, 2000]........................62 Tabela 12 Base de dados histrico [Fernandes, 1995]............................................................................63

1 INTRODUO - VISO GERAL DE PONTOS DE FUNO

1.1 Histrico de Pontos de Funo

Para que um projeto de software seja bem sucedido preciso, antes de tudo, compreender o escopo do trabalho a ser realizado e os riscos envolvidos, para ento estimar e planejar os recursos necessrios, as tarefas que devem ser realizadas, os marcos de referncia que devem ser acompanhados, o custo e o cronograma que deve ser seguido. Estimar esforo, custo e cronograma de projetos constitui uma das principais preocupaes dos gerentes de projeto. Essas estimativas normalmente so baseadas no tamanho do software e as questes com que os gerentes se deparam so: Como medir o tamanho de um sistema? Como estimar o tamanho de um sistema antes de desenvolv-lo? Responder a essas perguntas um assunto polmico e envolve muitas controvrsias [Azevedo, 1999]. Ainda no esto claramente definidas quais mtricas so mais apropriadas para medir o tamanho de um sistema. H um debate contnuo a respeito das melhores medidas de tamanho de software e no existe, de fato, uma resposta unnime. Uma forma bastante familiar de se medir tamanho de software atravs da contagem de linhas de cdigo, cuja unidade LOC (Lines Of Code Linhas de Cdigo), uma mtrica orientada ao tamanho1 do software [Conte, 1986]. Trata-se de uma mtrica amplamente aplicvel, preferida nas organizaes pela facilidade com que pode ser contada e compreendida, e por facilitar a contagem automatizada. A contagem de linhas de cdigo relativamente fcil de ser obtida. Pode-se obter o tamanho de um software, por exemplo, com o resultado direto da contagem que um compilador apresenta ao compilar um programa. Todavia, muito difcil

Segundo Boehm [Boehm, 1981], uma mtrica uma forma padro de medir um atributo do processo de desenvolvimento de software. As mtricas fornecem informaes quantitativas sobre o ambiente e o progresso de desenvolvimento do produto. Mtricas orientadas ao tamanho so medidas diretas do software e do processo por meio do qual ele desenvolvido.

prever o total de linhas de cdigo logo no incio do projeto, quando devem ser elaboradas as estimativas. Existe muita controvrsia quanto ao uso de linhas de cdigo como medida chave [Jones, 1996]:

Y No faz sentido comparar linhas de cdigo escritas em linguagens diferentes, e


mesmo que uma mesma linguagem tenha sido utilizada no desenvolvimento de dois programas, fica difcil fazer a comparao.

Y Embora parea ser uma mtrica simples que pode ser contada algoritmicamente,
no h consenso geral do que realmente constitui uma linha de cdigo. Devemos considerar linhas de comentrios ou linhas em branco? Para a maioria dos pesquisadores, linhas de comentrios e linhas em branco no deveriam ser contadas, uma vez que essas servem para documentao interna, e sua presena ou ausncia no afeta as funes do programa. A incluso desses dois tipos na contagem de um sistema pode encorajar programadores a introduzir

artificialmente diversas linhas nos sistemas em desenvolvimento, criando a iluso de grande produtividade.

Y Uma certa funo poderia ser codificada por um programador experiente em 200
linhas de cdigo, um inexperiente codificaria em 400 linhas de cdigo. Como comparar os dois programas que fazem exatamente a mesma coisa, mas um tem o dobro de nmero de linhas de cdigo do outro? Outra forma de se medir tamanho do software atravs da Anlise de Pontos de Funo (FPA Function Point Analysis), uma mtrica orientada funo2. No final dos anos 70, Allan J. [Albrecht, 1979], por solicitao do GUIDE (Grupo de Usurios IBM), comeou analisar sistemas pragmaticamente, buscando identificar fatores crticos que determinassem o tamanho de um sistema e o esforo gasto para desenvolv-lo. Aps analisar centenas de programas, Albrecht traou os fundamentos da Anlise de Pontos de Funo, e introduziu seus conceitos em uma conferncia do GUIDE em 1979. Esses conceitos foram mais tarde refinados em uma metodologia formal e publicados para domnio pblico em 1984.

Mtricas orientadas a funo so medidas do software e/ou do processo por meio do qual ele desenvolvido que se concentram na funcionalidade ou utilidade do programa [Pressman, 1997].

Um dos principais conceitos da teoria de Anlise de Pontos de Funo que as funes de um sistema devem ser contadas a partir da perspetiva do usurio e no do analista ou programador. Alm disso, a contagem de Pontos de Funo independente da maneira como ele desenvolvido e implementado. Isso significa que, dado um conjunto de requisitos de usurio, o tamanho funcional do software ser o mesmo, seja ele desenvolvido em linguagem COBOL ou DB2, usando Desenvolvimento Rpido de Aplicaes (RAD) ou mtodos estruturados de desenvolvimento. Pontos de funo medem o tamanho funcional3 de um projeto de software atravs da quantificao da informao da funcionalidade de processamento da aplicao. Para contar pontos de funo, cinco tipos de componentes lgicos da aplicao (Figura 1) devem ser avaliados. [Dekkers, 1998].
Figura 1 Componentes de Pontos de Funo em relao aplicao [Dekkers, 1998]
EE
Fronteira da Aplicao

SE

ALI
CE

AIE

A tcnica de Anlise de Pontos de Funo divide as funes em dois tipos: dados (Arquivos Lgicos Internos ALI e Arquivos de Interface Externa AIE) e transaes (Entradas Externas EE, Sadas Externas SE, e Consultas Externas CE). Segundo Albrecht esses cinco tipos de funes afetam de forma distinta o tamanho de um sistema. Em 1986 uma comunidade de usurios resolveu efetuar padronizaes adicionais nas regras de contagem de Pontos de Funo, formando o IFPUG [IFPUF, 2000] International Function Points Users Group (Grupo Internacional de Usurios de Pontos de Funo), um grupo formalmente constitudo e sem finalidades lucrativas [Dekkers, 1998]. O IFPUG tem sido lder no estabelecimento e publicao de documentos relacionados a Pontos de Funo, incluindo o Manual de Prticas de Contagem (CPM, atualmente na verso 4.1) [IFPUG, 1994], o Guia para Medio de Software (atualmente em sua verso 1.1) e diversos Estudos de Casos detalhados.

Tamanho funcional uma medida do tamanho de um software baseada em uma avaliao padronizada dos requisitos lgicos sob o ponto de vista do usurio da aplicao.

Antes da existncia do IFPUG muitas das informaes sobre pontos de funo eram encontradas em vrios artigos e livros. Os conceitos e definies eram algumas vezes vagos, tornando as regras difceis de serem compreendidas e interpretadas, o que levava a uma variabilidade na contagem. Desde a fundao do IFPUG as regras de contagem evoluram e melhoraram. A consistncia entre os contadores tambm melhorou. O Manual de Prticas de Contagem do IFPUG define o processo e as regras para contagem de pontos de funo, fazendo com que o processo seja documentado para poder ser repetido, melhorado e utilizado em treinamentos. Um estudo realizado em 1994 pelo Quality Assurance Institute e pelo IFPUG encontrou uma varincia entre contadores treinados da ordem de menos de 11 porcento [Furey, 1997]. Atualmente, o IFPUG permanece como uma organizao composta de voluntrios (os nicos empregados so a equipe administrativa), participando ativamente do grupo de trabalho da ISO sobre Medidas Funcionais de Tamanho (ISO/IEC JTC1 SC7 WG124). O IFPUG administra a certificao de materiais para treinamento em pontos de funo e de especialistas em pontos de funo (CFPS Certified Function Points Specialist), mantendo seu site na Internet [IFPUG, 2000], cuidando da instruo em mensurao de software e promovendo pelo menos duas conferncias anuais. Atualmente, membros de mais de 13 pases participam do IFPUG servindo em comits, ou comparecendo a conferncias e treinamentos. No Brasil, o Brazilian Function Points Users Group [BPFUG, 2000] um grupo constitudo com o objetivo de estimular e divulgar a utilizao de mtricas no desenvolvimento de sistemas, em particular a Anlise de Pontos de Funo. Destina-

O ISO/IEC/JTC 1/SC7/Working Group 12 (WG12) administra o projeto 7.31 para Medio de Software: Medio Funcional de Software. O projeto composto por cinco partes: 1. Definio de Conceitos 2. Avaliao da Conformidade de Mtodos de Medio de Software com Relao ao padro ISO/IEC 14143-1:1998 3. Verificao de um Mtodo de Medio Funcional de Tamanho 4. Modelo de Referncia para Medio Funcional de Tamanho 5. Determinao de Domnios Funcionais para uso com Medio Funcional de Tamanho. A Parte 1 deste padro, ISO/IEC 14143-1:1998 foi publicada em junho de 1998 como um padro internacional completo e encontra-se disponvel atravs dos organismos nacionais de padres em cada pas.

se aos profissionais interessados em aprender, praticar e divulgar o uso de mtricas e de Anlise de Pontos de Funo.

1.2 Usos de Pontos de Funo

At 1984, a tcnica era usada basicamente para identificar o tamanho de um sistema e auxiliar na estimativa do esforo de desenvolvimento. Atualmente a utilizao de pontos de funo tambm abrange a implantao de programas de mtricas para melhorar estimativas, gerenciar a qualidade e para monitorar a produtividade, alm de controlar indicadores financeiros, ou seja, melhorar todo o processo de desenvolvimento e manuteno de sistemas. As organizaes podem obter muitos benefcios ao utilizar a tcnica de Anlise de Pontos de Funo. Em medies, a tcnica pode servir como um instrumento para acompanhamento de estimativas de custo e recursos requeridos para o

desenvolvimento e manuteno de software, ajudando assim na implantao de um programa de mtricas. A tcnica de Anlise de Pontos de Funo tambm pode ser utilizada para auxiliar na determinao de um fator de normalizao para comparao entre softwares, identificando os benefcios que um pacote de software pode oferecer, atravs da contagem dos pontos de funo que refletem as necessidades da empresa e auxiliar na deciso entre a compra de um pacote ou o desenvolvimento do aplicativo in house. Pontos de funo tambm ajudam as organizaes a normalizar dados como custo, esforo, durao, defeitos, equipe, etc.. Ao basear-se uma anlise apenas no nmero de defeitos, no se pode objetivamente comparar a qualidade de um sistema com a qualidade de outros. Porm, utilizando pontos de funo em combinao com dados de defeitos, pode-se comparar qualidade, em termos de densidade de defeitos do software, entre aplicaes e linguagens. Supondo dois sistemas: um sistema A que contenha 640 defeitos e 800 pontos de funo; sua densidade de defeitos da ordem de 0.8; e um sistema B que contenha 700 defeitos e 2.00 pontos de funo; sua densidade de defeitos da ordem de 0.32. Ao olharmos na raiz do nmero de defeitos, o sistema B possui mais defeitos. Porm

quando usamos pontos por funo para normalizar o tamanho, a densidade de defeitos do sistema B de fato muito mais baixa e a qualidade global maior.

1.3 Viso Geral do Processo de Anlise de Pontos de Funo

De acordo com a finalidade a que se destina, pode-se realizar trs tipos de contagem: a contagem de pontos de funo: a contagem em projetos de desenvolvimento de software, a contagem de pontos de funo de uma aplicao j desenvolvida e implantada, e a contagem de pontos de funo em projetos de manuteno de software. Em projetos de desenvolvimento, a tcnica utilizada para dimensionar o tamanho provvel de uma nova aplicao. O objetivo desse clculo quantificar as funes solicitadas, identificadas no modelo lgico do sistema, e que devero ser entregues ao usurio pela nova aplicao, para que se seja possvel obter estimativas de recursos, tempo e pessoal necessrios ao desenvolvimento do sistema. Quando o projeto termina e a aplicao j se encontra implementada, ou at mesmo implantada, pode-se obter informaes mais reais e fsicas do mesmo. Esse clculo tambm referenciado como clculo de pontos de funo instalados. Em projetos de manuteno, o clculo utilizado para dimensionar o tamanho da modificao que deve ser efetuada em uma aplicao j existente. Em geral, a modificao uma melhoria ou adio de funcionalidade a uma aplicao existente. Segundo o IFPUG, o processo de Anlise de Pontos de Funo (Figura 2) composto de trs etapas: na primeira etapa realizada a contagem de Pontos de Funo Brutos ou No Ajustados, em seguida determina-se o Fator de Ajuste, e na ltima etapa, determina-se os Pontos de Funo Ajustados. Os pontos de funo brutos, contados na primeira etapa do processo de Anlise de Pontos de Funo, refletem especificamente a contagem da funcionalidade provida ao usurio pela aplicao. Uma aplicao, vista sob a tica do usurio, um conjunto de funes ou atividades de negcio que o beneficiam na realizao de suas tarefas. As funes so identificadas e determinadas aps a definio a fronteira que separa o projeto ou aplicao, que est sendo contado, de aplicaes externas, ou seja, de outros sistemas da organizao. A determinao da fronteira melhor explicada no Captulo 2.

Figura 2 Viso Geral do Processo de Anlise de Pontos de Funo


Arquivos Externos Arquivos Internos

Pontos Pontos de de Funo Funo Brutos Brutos

Entradas Sadas Consultas

Avaliao das 14 Caractersticas Nvel de Influncia

Fator Fator de de Ajuste Ajuste Pontos Pontos de de Funo Funo Ajustados Ajustados

As funes identificadas dentro da fronteira da aplicao so classificadas em funes do tipo dados e funes do tipo transao. Funes do tipo dados representam a funcionalidade provida ao usurio para atender requisitos externos e internos referentes a dados. Funes do tipo dados podem ser Arquivos Lgicos Internos ou Arquivos de Interface Externa. Um Arquivo Lgico Interno (ALI) um grupo de dados logicamente relacionados, ou informaes de controle, identificados e modificados pelo usurio e mantidos dentro das fronteiras da aplicao que est sendo contada, como por exemplo, um arquivo de clientes. Um Arquivo de Interface Externa (AIE) um grupo de dados logicamente relacionados, ou informaes de controle, utilizados no sistema que est sendo analisado, mas que no so mantidos dentro da fronteira da aplicao que est sendo contada. Um exemplo de AIE poderia ser informaes de acesso ao sistema principal, que se encontram em outra aplicao, num suposto arquivo senhas.

Consequentemente, esse AIE ser mantido e alterado por outra aplicao, onde ser identificado como ALI. Funes do tipo transao representam a funcionalidade da aplicao provida ao usurio pelo processamento de dados. Funes transacionais so definidas como Entradas Externas (EE), Sadas Externas (SE) e Consultas Externas (CE). Uma Entrada Externa (EE) processa dados ou informaes de controle geradas por uma fonte externa aplicao que est sendo contada, o prprio usurio, por exemplo. So transaes que efetuam manuteno nos dados armazenados no sistema, tais como incluses, alteraes e excluses.

Uma Sada Externa (SE) fornece dados ou informaes de controle para fora da aplicao que est sendo contada. So transaes que extraem informaes do sistema para outros aplicativos, como uma funo clculo da folha de pagamento baseado na soma dos totais de horas trabalhadas de funcionrios, por exemplo. Uma Consulta Externa (CE) uma transao que combina transaes de entrada e sada, resultando em recuperao de dados. o caso de um relatrio com os dados de um cliente. Depois de identificadas, cada uma das funes deve ser classificada quanto sua complexidade funcional relativa: simples, mdia ou complexa. Existem regras e tabelas especficas para auxiliar essa classificao. Em seguida, calcula-se os pontos de funo brutos atravs da aplicao de pesos de acordo com tabelas especficas para cada tipo de funo. O fator de ajuste determinado na segunda etapa do processo de Anlise de Pontos de Funo representa a funcionalidade geral da aplicao que provida ao usurio. O fator de ajuste composto por 14 Caractersticas Gerais do Sistema que avaliam a funcionalidade geral da aplicao. Cada caracterstica possui sua prpria descrio que auxilia a determinar seu grau de influncia. Os nveis de influncia variam de zero (nenhuma influncia) at cinco (forte influncia). O clculo dos pontos de funo ajustados, efetuado na terceira etapa do processo de Anlise de Pontos de Funo , basicamente, a aplicao do fator de ajuste ao resultado apurado na primeira etapa. Os pontos de funo ajustados so calculados utilizando-se frmulas especficas para projeto de desenvolvimento, para projetos de manuteno e para clculo de aplicao j desenvolvida ou instalada.

1.4 Um Exemplo Simplificado

O exemplo a seguir ilustra a contagem de pontos de funo no ajustados para um projeto e desenvolvimento de software, sem recorrer ao Manual Prtico de Contagem de Pontos de Funo [IFPUG, 1994] para determinar a complexidade (baixa, mdia ou alta) dos componentes ou funes identificados no sistema.
A seguir so apresentados os requisitos funcionais identificados pelo usurio.

Desenvolver uma aplicao para armazenar e efetuar manuteno em registros de empregados com os seguintes campos de dados: nome, nmero, posio, endereo (rua), cidade, estado, cdigo postal, data de nascimento, nmero do telefone, e data da ltima alterao dos dados do empregado. A aplicao deve proporcionar meios para adicionar novos empregados, atualizar informaes, excluir empregados, e combinar dados de dois empregados. A aplicao deve prover um relatrio semanal em papel que liste quais informaes de empregados foram modificadas na semana anterior. A aplicao deve prover meios de pesquisar dados de empregados. Nenhum dado fora da aplicao referenciado.

Baseado nos requisitos do usurio, os componentes ou funes identificados e que devem ser contados so:

Um Arquivo Lgico Interno (ALI) para dados de empregados porque trata-se de uma entidade lgica (ou grupo de dados) mantida e modificada pela aplicao. Baseado nas avaliaes dos elementos de dados e tipos de registros lgicos (contidos no manual prtico de contagem), esse ALI seria considerado baixo. Sua pontuao 07 pontos de funo.

Quatro Entradas Externas (EE), representadas pelas funes de incluso, atualizao, excluso, e combinao de registros de empregados. Assumindo que cada uma possui complexidade baixa (cada uma requer apenas um arquivo lgico referenciado ALI empregados e menos de 16 elementos de dados). Cada EE deve ser pontuada com trs pontos, num total de 12 pontos de funo.

Y Y

Uma Sada Externa (SE), representada pelo relatrio semanal solicitado, categorizada como sada externa de complexidade baixa (um arquivo lgico referenciado ALI empregados e menos de 20 elementos de dados). Sua pontuao 04 pontos de funo. Uma Consulta Externa (CE), representada pela funo de pesquisa de dados de empregados. Baseado no nmero de elementos de dados (menos de 20) e no nmero de arquivos lgicos referenciados (ALI empregados), essa CE seria classificada baixa e pontuada com 03 pontos de funo.

O total de pontos de funo obtidos na contagem de 26 pontos de funo no ajustados. Pontos de funo brutos podem ser utilizados para clculo de estimativas de projeto atravs do uso do modelo COCOMO (Captulo 6)

10

2 REGRAS PARA IDENTIFICAO E CONTAGEM DE FUNES

2.1 Identificao da Fronteira da Aplicao

A fronteira da aplicao (Figura 3) a linha que separa o projeto ou aplicao que est sendo contado de outras aplicaes ou sistemas da organizao. A determinao da fronteira importante para que se possa estabelecer o escopo do software que est sendo medido, a propriedade dos dados, e a propriedade das funes requeridos pela contagem (se os dados ou funo pertencem aplicao que est sendo contada ou outra aplicao).
Figura 3 Identificao da Fronteira da Aplicao
Fronteira da Aplicao Entradas Entradas

Aplicao ou Mdulo
Sadas Consultas
Arquivos Internos

Sadas Consultas

Outra Aplicao ou Mdulo


Arquivos Externos

As seguintes regras podem ser aplicadas para auxiliar o estabelecimento das fronteiras:

Y A fronteira determinada atravs do ponto de vista do usurio. O foco deve


estar no que pode ser compreendido e descrito pelo usurio.

Y A fronteira entre aplicaes relacionadas baseada em funes empresariais


separadas, da forma como so vistas pelos usurios, e no atravs de necessidades tecnolgicas.

Y Em projetos de manuteno, a fronteira inicial deve estar em conformidade


com a fronteira j estabelecida para a aplicao ou aplicaes que esto sendo modificadas.

Observao: Pode haver mais de uma aplicao includa no escopo de um nico projeto. Nesse caso, todas as fronteiras devem ser identificadas.

11

Pode-se usar as especificaes ou o diagrama de fluxo de dados do sistema e desenhar as fronteiras ao redor da aplicao contada, para realar as funes internas aplicao. No processo de anlise de pontos de funo, os seguintes itens devem estar documentados: a fronteira identificada, o propsito da contagem e outras suposies nas quais a contagem esteja baseada.

2.2 Regras de Contagem para Arquivos Lgicos Internos (ALI)

Um Arquivo Lgico Interno um grupo de dados relacionados logicamente (ou informaes de controle), identificado pelo usurio, utilizado, mantido (armazenado) e alterado (modificado) dentro das fronteiras da aplicao. A expresso grupo de dados logicamente relacionados quer dizer que a manifestao lgica dos dados mais importante que a implementao fsica. Isto acontece quando um grupo de dados deixa de ser visto como elementos individuais de dados (campos de uma tabela) para satisfazer requisitos da aplicao. Uma base de dados, por exemplo, pode conter vrias tabelas; cada qual possui regras especficas. Pode ser o caso em que cada tabela seja um arquivo lgico, porm no necessariamente. Arquivos Lgicos Internos podem ser referenciados atravs de transaes de entrada, sada e consulta da aplicao analisada, ou ainda, atravs de transaes de outras aplicaes. Para identificar Arquivos Lgicos Internos, todas as questes seguintes devem ser respondidas afirmativamente:  O grupo de dados reflete os requisitos funcionais definidos pelo usurio?  O grupo de dados armazenado dentro da fronteira da aplicao?  O grupo de dados alterado dentro da fronteira da aplicao?  O grupo de dados alterado atravs de processos elementares?  O grupo de dados no foi contado como Arquivo de Interface Externa nessa aplicao?

Grupo de dados ou informaes de controle um conjunto lgico de dados que deve ser identificado pelo usurio e deve refletir todos os requisitos funcionais

12

definidos por ele. Alm disso, o grupo de dados deve ser armazenado e alterado (modificado) dentro da fronteira da aplicao, e no pode ser contado tambm como um Arquivo de Interface Externa (AIE) na mesma aplicao. Podem ser considerados Arquivos Lgicos Internos: cadastro de clientes, cadastro de produtos, cadastro de funcionrios, arquivo de dependentes, arquivo de controle de acesso aplicao, etc. No so considerados Arquivos Lgicos Internos: arquivos temporrios, arquivos de trabalho, arquivos de classificao, arquivos includos por motivos de tecnologia e arquivos de ndices alternativos.

2.2.1

Complexidade de Arquivo Lgico Interno

A complexidade de um Arquivo Lgico Interno calculada a partir da quantidade de Dados Elementares Referenciados e de Registros Lgicos Referenciados. Dado Elementar Referenciado (DER) um campo, reconhecido pelo usurio, que est presente em um Arquivo Lgico Interno (ALI) ou em um Arquivo de Interface Externa (AIE). Suas regras de contagem so:

Y Considerar um DER para cada campo, reconhecido pelo usurio, presente em


cada ALI.

Y Considerar as seguintes implementaes tcnicas como um DER, para um


conjunto completo de campos: S Campos que aparecem mais de uma vez em um ALI por causa de tecnologia ou implementao. Exemplo: se um cdigo de funcionrio aparecer duas vezes, inicialmente no registro de funcionrio e, posteriormente, como chave estrangeira em um registro dependente, contar somente um DER. S Campos repetitivos que so idnticos em formato e existem para permitir mltiplas ocorrncias de um mesmo dado. Exemplo: se um ALI possui 12 campos de venda mensal e um total anual, considerar apenas dois itens de dados, um para o valor mensal e o segundo para o total anual.

13

Registro Lgico Referenciado (RLR) um subgrupo de elementos de dados, reconhecido pelo usurio, dentro de um Arquivo Lgico Interno (ALI) ou de um Arquivo de Interface Externa (AIE). Suas regras de contagem so:

Y Caso no haja subgrupo de informaes (referentes outro ALI), contar um


RLR para cada ALI.

Y Contar um RLR para cada subgrupo de dados de um ALI independentemente


de ser o subgrupo opcional ou mandatrio.

O Quadro 1 deve ser utilizado para a definio da complexidade de cada ALI.


Quadro 1 Complexidade de Arquivos Lgicos Internos

1 RLR 2 a 5 RLR 6 ou mais RLR

1 a 19 DER 20 a 50 DER 51 ou mais DER Simples Simples Mdia Simples Mdia Complexa Mdia Complexa Complexa

Exemplo: O usurio deseja manter as informaes referentes aos clientes da empresa. Ele relacionou 15 itens de dados (Quadro 2) que deseja utilizar e que devem ser referenciados por funes de incluso, consulta e emisso de relatrio dos clientes da empresa. O cadastro de clientes foi identificado como Arquivo Lgico Interno porque:  um grupo de dados espelha os requerimentos definidos pelo usurio, mantido e alterado dentro da fronteira da aplicao, atravs de processos elementares (incluso, consulta e emisso de relatrio), e no foi contado como Arquivo de Interface Externa na mesma aplicao. Quadro 2 Layout do Arquivo Clientes
Clientes Item de dados Tamanho Cdigo-cliente Nome-cliente Razo-social Tipo-cliente Territrio Endereo Bairro CEP Cidade CGC Incrio-estadual Contato-1 Telefone-1 Contato-2 6 12 30 2 3 30 12 8 12 12 12 20 10 20 Tipo Numrico Alfa Alfa Numrico Alfa Alfa Alfa Numrico Alfa Numrico Numrico Alfa Numrico Alfa

Contagem: Cadastro de clientes DER: 15 (itens de dados) RLR: 1 (arquivo referenciado: clientes) Grau da Funo: Simples

Para Telefone-2

o clculo do nmero de pontos de funo brutos correspondentes ao tipo de ALI 10 Numrico

identificado (no exemplo, o tipo simples), utiliza-se a Tabela 1. Portanto, o cadastro de clientes,

14

analisado e identificado como um Arquivo Lgico Interno, possui 7 pontos de funo no ajustados ou brutos. Tabela 1 Pontos de Funo de Arquivos Lgicos Internos
ALI - Grau de Complexidade Funcional Simples 7 Mdia Complexa 10 15

2.3 Regras de Contagem para Arquivos de Interface Externa (AIE)

Um Arquivo de Interface Externa (AIE) , segundo a viso do usurio, um grupo de dados relacionados logicamente (ou informaes de controle necessrias aplicao), mantido e alterado fora da fronteira da aplicao. Isto significa que um AIE contado em uma aplicao deve estar classificado como Arquivo Lgico Interno (ALI) em outra aplicao. Supondo uma situao em que uma transao do sistema que est sendo contado necessite acessar uma informao que se encontra em outra aplicao, ou seja, essa informao est em um grupo de dados reconhecido como um ALI em outro sistema. Esse grupo de dados ou informaes externas caracteriza um AIE na aplicao que est sendo contada. Porm no so considerados AIE informaes de outras aplicaes que geram incluso, alterao ou excluso de registros. Nesses casos pode se tratar de Entradas Externas. Para identificar Arquivos de Interface Externa, todas as questes seguintes devem ser respondidas afirmativamente:  O grupo de dados reflete os requisitos funcionais definidos pelo usurio?  O grupo de dados armazenado fora da fronteira da aplicao?  O grupo de dados no alterado pela aplicao que est sendo contada?  O grupo de dados contado como ALI na outra aplicao?  O grupo de dados no foi contado como ALI nessa aplicao?

O grupo de dados ou informao de controle um grupo lgico de dados que deve ser identificado pelo usurio e refletir os requisitos funcionais definidos por ele. Alm disso, o grupo de dados deve ser externo aplicao que est sendo contada

15

(armazenado e alterado modificado fora da fronteira da aplicao), e no pode ser contado tambm como um Arquivo de Lgico Interno (ALI) na mesma aplicao.

2.3.1

Complexidade de Arquivo de Interface Externa

A complexidade de um Arquivo de Interface Externa tambm calculada em funo da quantidade de Dados Elementares Referenciados e de Registros Lgicos Referenciados. As regras para contagem para Dados Elementares Referenciados e de Registros Lgicos Referenciados so as mesmas aplicadas em Arquivos Lgicos Internos, assim como o quadro para a determinao da complexidade.

Exemplo: O desenvolvimento de um novo aplicativo foi solicitado pela empresa, e para ser acessado, deve primeiramente verificar a segurana de acesso aos dados. O cadastro de senhas (Quadro 3) nico e j existe para outros sistemas da empresa. Essa funo foi identificada como Arquivo de Interface Externa na aplicao que vai ser desenvolvida porque:  O grupo de dados espelha os requisitos funcionais definidos pelo usurio, externo aplicao (mantido e alterado fora da fronteira da aplicao) e foi contado como ALI por outra aplicao. Quadro 3 Layout do Arquivo Senhas
Item de dados Cdigo-usurio Senha Data-validade Data-ltimo-acesso Hora-ltimo-acesso Senhas Tamanho 6 6 8 8 8

Contagem:
Tipo Numrico Alfa Numrico Numrico Numrico

Arquivo de Senhas DER: 5 (itens de dados) RLR: 1 (arquivo referenciado: Grau da Funo: Simples

senhas)

Para o clculo do nmero de pontos de funo brutos correspondentes ao tipo de AIE identificado como simples, utiliza-se a Tabela 2. Portanto, o Arquivo de Interface Externa identificado e analisado possui 5 pontos de funo no ajustados ou brutos. Tabela 2 Pontos de Funo de Arquivos de Interface Externa
AIE - Grau de Complexidade Funcional Simples 5 Mdia Complexa 7 10

16

2.4 Regras de Contagem para Entradas Externas (EE)

Uma Entrada Externa (EE) qualquer funo ou transao que leva dados que vm de fora da fronteira para dentro da aplicao. Geralmente esses dados so usados para atualizar informaes internas da aplicao. A Entrada Externa por si s um processo elementar, ou seja, um processo que deixa a aplicao em um estado consistente; uma vez que o processo terminou no existe mais nada a ser feito, nada mais deve ocorrer. Para identificar as Entradas Externas, deve-se analisar dados ou informaes de controle que esto sendo trazidas para dentro da fronteira da aplicao. As questes seguintes devem ser aplicadas aos dados para serem considerados uma Entrada Externa, e devem ser respondidas afirmativamente:  O dado recebido de fora da fronteira da aplicao.  O dado em um Arquivo Lgico Interno referenciado atravs de um processo elementar da aplicao.  O processo a menor unidade de atividade com significado para o usurio final.  O processo autocontido e deixa em estado consistente o negcio que a aplicao informatiza.

As questes seguintes devem ser aplicadas s informaes de controle para serem consideradas uma Entrada Externa, e devem ser respondidas afirmativamente:  As informaes de controle so recebidas de fora das fronteiras da aplicao.  A informao especificada pelo usurio para garantir aderncia s regras do negcio.

Com relao funo uma vez identificada, uma das seguintes opes deve ser verdadeira:  A lgica de processamento diferente de outras lgicas processadas nas demais Entradas Externas da aplicao.  Os dados elementares identificados so diferentes das demais Entradas Externas da aplicao.

17

Podem ser consideradas Entradas Externas: incluso, alterao e excluso de registros em cadastros, e ainda, transaes vindas de outra aplicao. No so consideradas Entradas Externas: menus de navegao, telas de consulta, telas de auxlio, telas de logon, parte da entrada de uma consulta. A funcionalidade proporcionada por menus, telas de auxlio, etc., considerada como parte das Caractersticas Gerais do Sistema.

2.4.1

Complexidade de Entradas Externas

A complexidade das Entradas, Sadas e Consultas Externas analisada segundo a quantidade de Dados Elementares Referenciados e de Arquivos Lgicos Referenciados. Dado Elementar Referenciado (DER) um nico campo, no recursivo, identificado pelo usurio, mantido em um Arquivo Lgico Interno pela Entrada Externa. As regras para contagem para Dados Elementares Referenciados so:

Y Contar um DER para cada campo no recursivo, identificado pelo usurio, e


mantido em um Arquivo Lgico Interno por uma Entrada Externa.

Y Contar um DER para cada campo pertencente a um Arquivo Lgico Interno


que no digitado pelo usurio, mas mantido por uma Entrada Externa.

Y Contar as seguintes tcnicas de implementao fsicas como um nico DER


para o grupo de campos: S Um campo lgico que armazenado fisicamente em mltiplos campos, mas requerido pelo usurio como uma pea nica de informao. Exemplo: uma data que fisicamente armazenada em mltiplos campos, mas que o usurio necessita como uma nica pea de informao, contado como um nico DER. S Campos que aparecem mais de uma vez em um ALI por necessidade da tcnica ou tecnologia de implementao deve ser contados apenas uma nica vez. Exemplo: se um cdigo de cliente aparecer duas vezes em um ALI, primeiro como chave primria de acesso ao registro de funcionrio e depois como chave externa do registro de dependente, contar como um DER somente. S Campos que indicam condio de erro durante o processamento ou confirmao de que o processo est completo.

18

S S S S

Contar um nico DER para linhas de comando ou teclas de funo que provejam a ao a ser tomada pela Entrada Externa. Em tela de atualizao s contar os campos que possam sofrer atualizao. Em telas de excluso contar somente os campos-chave. Contar um DER quando uma ou mais mensagens de erro informarem ao usurio, atravs de um campo ou rea da tela, que uma Entrada Externa no pode ser processada por erro de edio, erro de validao, ou ainda, houve uma mensagem de confirmao.

Arquivo Lgico Referenciado (ALR) um ALI, ou um AIE, lido ou mantido por um tipo de funo. As regras para contagem para Dados Elementares Referenciados so:

Y Contar um ALR para cada ALI mantido. Y Contar um ALR para cada ALI ou AIE lido durante o processamento da
Entrada Externa.

Y Contar um ALR para cada ALI que lido e mantido por uma Entrada Externa. Y Contar um ALR caso haja acesso a arquivo de mensagens de erro.
O Quadro 4 deve ser utilizado para a definio da complexidade de cada EE.
Quadro 4 Complexidade de Entradas Externas

0 ou 1 ALR 2 ALR 3 ou mais ALR

1 A 4 DER Simples Simples Mdia

5 A 15 DER Simples Mdia Complexa

16 OU MAIS DER Mdia Complexa Complexa

Exemplo: O usurio definiu como parte das funes do aplicativo solicitado, uma tela (Figura 4) para cadastramento de dados de clientes. Deve ser prevista uma validao de cada campo, e, em caso de erro, uma mensagem deve ser mostrada em um campo especfico. A funo definida pelo usurio para cadastramento de dados de clientes foi considerada uma Entrada Externa porque:  Os dados sero digitados pelo usurio (fora da fronteira da aplicao), tratando-se de um processo elementar, ou seja, a tela far o cadastramento. O processo a menor unidade de atividade com significado para o usurio final, autocontido, deixa o negcio em estado consistente, nada faz crer que outro processo tambm efetue o cadastramento e tambm no existe indcios de que outra Entrada Externa processe os mesmos dados de forma semelhante.

19

Figura 4 Layout da Tela de Incluso dos Dados de Clientes

Incluso de Clientes
Cdigo [ ] Nome [ ] Razo Social [ ] Tipo [ ] Territrio [ ] CGC [ ] Inscrio Estadual [ ] Endereo [ ] Bairro [ ] CEP [ ] Cidade [ ] Contato-1 [ ] Telefone [ ] Contato-2 [ ] Telefone [ ]

Arquivos referenciados: Clientes Dados: Todos do arquivo Regras: Enviar mensagem de erro caso o cliente j exista ou caso o CGC seja invlido. Contagem: Incluso de Clientes DER: 16 (15 campos de dados, mensagens de erro) ALR: 1 (arquivo referenciado: clientes) Grau da Funo: Mdia De acordo com a Tabela 3, a cada tipo de Entrada Externa (simples, mdia ou complexa) atribudo um nmero de pontos de funo brutos. Portanto, a tela de incluso de dados de clientes, identificada e analisada como uma Entrada Externa, possui 5 pontos de funo no ajustados ou brutos. Tabela 3 Pontos de Funo de Entradas Externas
EE - Grau de Complexidade Funcional Simples 3 Mdia Complexa 4 6

2.5 Regras de Contagem para Sadas Externas (SE)

Uma Sada Externa (SE) um processo elementar que gera ou formata dados ou informaes de controle, levando-os para fora da fronteira da aplicao. Apesar de a maioria das Sadas Externas estarem relacionadas com relatrios em papel, no se deve considerar isso uma regra. Sadas Externas podem ser mostradas em monitores de vdeo, terminais, etc. Para identificar uma Sada Externa, deve-se observar os dados ou informaes de controle que esto sendo enviados para fora da fronteira e as seguintes regras devem ser respondidas afirmativamente.

20

A funo ou transao envia dados, ou informaes de controle, para fora da fronteira da aplicao.

O dado, ou informao de controle, enviado atravs de um processo elementar.

A funo a menor unidade de atividade com significado para o usurio.

Com relao ao processo identificado, uma das seguintes opes deve ser verdadeira:


A lgica de processamento diferente de lgicas processadas em outras Sadas Externas da aplicao.

Os dados elementares identificados so diferentes dos dados de outras Sadas Externas da aplicao.

Uma SE contm dados derivados. Dados derivados so informaes que requerem processamento complementar ao dado acessado em um ALI ou em um AIE. Exemplo: Supondo se uma aplicao deve calcular o pagamento mensal de um funcionrio e os dados nmero de horas trabalhadas e o valor hora armazenados em um ALI. Ser necessrio um processamento complementar: a multiplicao dos dois campos, para encontrar o valor do pagamento mensal, sendo esse, portanto, um dado derivado. So exemplos de Sadas Externas: relatrio com relao de clientes, transferncia de dados para outra aplicao, fatura de um cliente. No so considerados SE: menus de navegao, telas de auxlio, telas de consulta, consultas ad-hoc.

2.5.1

Complexidade de Sadas Externas

Devemos determinar a complexidade funcional relativa de cada Sada Externa baseando-se no nmero de Dados Elementares Referenciados e de Arquivos Lgicos Referenciados. Dado Elementar Referenciado (DER) um nico campo, no recursivo, identificado pelo usurio, e que aparece em uma Sada Externa. Suas regras de contagem so:

21

Y Contar um DER para cada campo no recursivo identificado pelo usurio, que
aparea em uma Sada Externa. Exemplo: contar um DER para cada sumrio ou campo de total que aparea em uma SE.

Y No contar literais como DER. Literais incluem: o nome do relatrio, nome da


tela, cabealhos de colunas e nome de campos.

Y No contar nmero de pginas ou campos automticos do sistema. Exemplo:


nmero de pgina, comandos de paginao como Anterior, Prximo ou seta de paginao em uma aplicao Windows, campo de data ou hora.

Y Contar as seguintes implementaes fsicas como um nico DER:


S Um campo lgico que armazenado como mltiplos campos, mas requerido pelo usurio como uma nica informao. Exemplo: uma data que armazenada separada em trs campos diferentes como dia, ms e ano. S Cada tipo de label e cada tipo equivalente de numero (valor) em um grfico de saa. Exemplo: em um grfico de pizza teramos 2 (dois) DERs: um para designar a categoria (descrio da partio) e um para a percentagem de cada partio. S Informao de texto que poderia ser uma nica palavra, sentena ou frase. Exemplo: uma mensagem que includa em um relatrio para indicar por que uma transao de incluso de produto no foi completada com sucesso.

Arquivo Lgico Referenciado (ALR) um arquivo lido pela lgica de processamento da Sada Externa. A regra de contagem :

Y Contar um arquivo lgico referenciado para cada ALI, ou AIE, lido durante o
processamento da Sada Externa (SE) O Quadro 5 deve ser utilizado para a definio da complexidade de cada SE.
Quadro 5 Complexidade de Sadas Externas

0 ou 1 RLR 2 A 3 RLR 4 ou m ai s RLR

1 A 5 DER Simples Simples Mdia

6 A 19 DER Simples Mdia Complexa

20 OU MAIS DER Mdia Complexa Complexa

22

Exemplo: O usurio solicitou, como parte das funcionalidades do aplicativo, o desenvolvimento de um relatrio (Figura 5) com os dados de clientes. Um total de nove campos deve aparecer no relatrio. O nome do relatrio dever ser Relao de Clientes; cada campo deve possuir seu cabealho, apresentado como colunas de informao. As pginas devem ser numeradas e o total de clientes cadastrados deve ser mostrado no final do relatrio. A relao de dados de clientes foi considerada uma Sada Externa porque:  Os dados sero impressos em papel, portanto sero enviados para fora da fronteira da aplicao. Os dados sero enviados atravs de um processo elementar, e constitui a menor unidade de atividade com significado para o usurio. O processo autocontido e deixa o negcio que a aplicao informatiza em estado consistente. Nada faz crer que outro processo de Saa Externa crie um relatrio similar, nem existe outra Sada Externa que processe os mesmo dados. Figura 5 Layout do Relatrio de Dados de Clientes

Relao de Clientes
Cdigo Nome Razo Social Tipo

Data __/__/__
Territrio CGC Inscrio Est. Contato

Pgina __
Telefone

........... ......... .................. ........... ......... .................. Total de Clientes __

...... ......

............ ............

....... .......

.................. ........... .................. ...........

............ ............

Contagem: Somente o arquivo de clientes ser acessado, portanto ALR = 1. O arquivo de clientes possui 15 campos, mas somente 9 sero includos no relatrio. Literais como nome de relatrio, cabealhos dos campos ou colunas, datas do relatrio e numerao de pgina no devem ser considerados como DER. O campo total de clientes deve ser considerado como informao, portanto o total de DER = 10. Relao de Clientes DER: 10 (9 campos e total de clientes) ALR: 1 (Arquivo referenciado: clientes) Grau da Funo: Simples De acordo com a Tabela 4, para cada tipo de Sada Externa (simples, mdia ou complexa) atribudo um nmero de pontos de funo brutos. Portanto, o total de pontos de funo da funo Relao de Clientes 4. Tabela 4 Pontos de Funo de Sadas Externas
SE - Grau de Complexidade Funcional Simples 4 Mdia Complexa 5 7

23

2.6 Regras de Contagem para Consultas Externas (CE)

Uma Consulta Externa (CE) um processo elementar composto por uma combinao de duas partes: entrada e sada, que resulta em recuperao de informao. Uma consulta no altera ou atualiza qualquer dado interno da aplicao, simplesmente respondendo a um pedido de recuperao de dados. A parte de sada, ou seja, a resposta a uma consulta, no contm dados derivados. Para identificar uma Consulta Externa, deve-se observar onde ocorrem as solicitaes de recuperao de informao na aplicao. As questes seguintes devem ser respondidas afirmativamente.
 

A solicitao de consulta deve entrar na aplicao. Os resultados de sada devem ser disponibilizados para fora das fronteiras da aplicao.

  

O processo resulta em recuperao de dados. Os dados recuperados no contm dados derivados. A solicitao de consulta e os resultados fornecidos compem um processo que a menor unidade de atividade com significado para o usurio.

O processo elementar autocontido e mantm a aplicao em estado consistente.

O processo no atualiza um Arquivo Lgico Interno (ALI).

Uma vez identificada a consulta, uma das seguintes regras deve ser verdadeira:


A lgica do processo na parte de entrada ou na parte de sada nica quando comparada com outras lgicas de Consultas Externas da mesma aplicao.

Os elementos de dados que compem a parte de entrada ou a parte de sada so diferentes de outras consultas externas da mesma aplicao.

So exemplos de Consultas Externas: consulta ao cadastro de clientes, consultas implcitas, telas de logon com funes de segurana, telas de menu se solicitadas pelo usurio, tela de menu que prov seleo de tela e consulta de dados. No so consideradas CE: menus de navegao, telas de consulta, tela de menu que s prove seleo de telas, tela de logon que s prov segurana da aplicao.

24

2.6.1

Complexidade de Consulta Externa

A determinao da complexidade funcional de cada Consulta Externa feita baseando-se no nmero de Arquivos Lgicos Referenciados e no nmero de Dados Elementares Referenciados para a parte de entrada e para a parte de sada. Deve-se considerar a maior das duas complexidades funcionais (entrada e sada) da consulta como a complexidade final da consulta.

Dado Elementar Referenciado (DER), para a parte de entrada da consulta externa, um campo, no recursivo, identificado pelo usurio, e que aparece em uma Consulta Externa. As regras para contagem de DER da parte de entrada so:

Y Contar um DER para cada campo no recursivo que aparece na parte de


entrada de uma Consulta Externa.

Y Contar um DER para cada campo que especifica o critrio de seleo de dados. Y Contar as seguintes tcnicas de implementao fsica como um nico DER
para todo o grupo de campos: S S Campos utilizados para indicar que o processamento foi realizado com sucesso. Campos que permitam a capacidade de especificar que a consulta externa deve ser executada. Exemplo: contar como um DER o boto de OK que deve ser apertado pelo usurio para efetivar a consulta.

Y Contar um DER quando uma ou mais mensagens de erro informarem ao


usurio que a consulta no foi efetivada por erro de edio ou validao, ou se ainda uma mensagem de confirmao ocorrer.

Arquivo Lgico Referenciado (ALR), para a parte de entrada da consulta externa, um arquivo lido quando a consulta externa processada. As regras de contagem de ALR para a parte de entrada so:

Y Contar a quantidade de Arquivos Lgicos Referenciados na lgica de


processamento da Consulta Externa.

O Quadro 6 deve ser utilizado para a definio da complexidade da parte de entrada de uma Consulta Externa.

25

Quadro 6 Complexidade da Parte de Entrada de uma Consulta Externa.

0 ou 1 ALR 2 ALR 3 ou mais ALR

1 A 4 DER Simples Simples Mdia

5 A 15 DER Simples Mdia Complexa

16 OU MAIS DER Mdia Complexa Complexa

Dado Elementar Referenciado, para a parte de sada da consulta externa, um campo no recursivo, identificado pelo usurio, que aparece em uma Consulta Externa. As regras para a parte de sada so:

Y Contar como um DER um cada campo no recursivo, identificado pelo


usurio, que aparece na parte de sada da consulta.

Y No contar literais como DER. Literais incluem: nome do relatrio, nome da


tela, cabealho de coluna e nome dos campos.

Y No contar variveis de paginao ou variveis automticas do sistema, tais


como nmero de pginas, informaes de posicionamento do cursos, comandos de paginao (prximo, anterior e setas de pgina em aplicaes de interface grfica como Windows), campos de data ou hora.

Y Contar as seguintes tcnicas de implementao fsica como um nico DER,


para o inteiro conjunto de campos: S S Um campo lgico que armazenado fisicamente como mltiplos campos, mas requerido pelo usurio como uma nica informao. Campos, que por causa da tecnologia empregada no desenvolvimento do sistema, aparecem mais de uma vez em um Arquivo Lgico Interno.

Arquivo Lgico Referenciado (ALR), para a parte de sada da consulta externa, um arquivo lido quando a consulta externa processada. A regra de

contagem para a parte de sada :

Y Contar a quantidade de Arquivos Lgicos Referenciados na lgica de


processamento da Consulta Externa

O Quadro 7 deve ser utilizado para a definio da complexidade da parte de sada de uma Consulta Externa.

26

Quadro 7 Complexidade da Parte de Sada de uma Consulta Externa

0 ou 1 RLR 2 A 3 RLR 4 ou mais RLR

1 A 5 DER Simples Simples Mdia

6 A 19 DER Simples Mdia Complexa

20 OU MAIS DER Mdia Complexa Complexa

Exemplo: Foi solicitado pelo usurio, como parte do aplicativo a ser desenvolvido, uma tela (Figura 6) que permitisse a consulta a dados do arquivo de cliente partir da entrada do cdigo do cliente. A consulta deve abranger sete campos e a existncia do cliente deve ser validada. Alm disso, em caso de erro, deve ser mostrada uma mensagem em um campo de erro. A consulta a dados de clientes foi considerada uma Consulta Externa porque:  Os dados sero recuperados de um Arquivo Lgico Interno da aplicao. Os resultados da sada sero recuperados e disponibilizados para fora da fronteira da aplicao atravs de uma sada de vdeo. No h dados derivados no resultado da consulta. As partes de entrada e sada compem um processo que a menor unidade de atividade com significado para o usurio. O processo elementar autocontido e deixa a aplicao em estado consistente. O processo no atualiza um ALI; somente efetua uma consulta. Nada leva a crer que exista uma Consulta Externa similar, nem que exista outra Consulta Externa com os mesmos dados. Figura 6 Layout da Tela de Consulta ao Cadastro de Clientes Consulta - Cadastro de Clientes Cdigo do Cliente [ ] Nome [ ] Tipo [ ] CGC [ ] Endereo [ ] CEP [ ] Contato-1 [ ] Total compra ano [ ] Contagem: Razo social [ ] Territrio [ ] Inscrio Est. [ ] Bairro [ ] Cidade [ ] Telefone [ ] Total compra ms atual [ ]

ALR:

O arquivo de clientes ser acessado atravs do cdigo do cliente e tambm o arquivo histricocliente, portanto ALR = 2

DER:

Parte de Entrada: Ser utilizado o cdigo do cliente como campo de entrada e um campo adicional para uma possvel mensagem de erro. DER = 2 Parte de Sada: Sero mostrados os 14 campos de informao, alm do cdigo do cliente, que no contado como DER. O campo de mensagem de erro e a prpria mensagem de erro no deve ser considerados aqui, j que se relacionam com a entrada e no com a sada. Portanto DER = 14.

27

Consulta a Clientes Parte entrada DER: 2 ALR: 2 Grau da parte de entrada: Simples Grau da Funo: Mdia Parte sada DER: 14 ALR: 2 Grau da parte de sada: Mdia

A Tabela 5 deve ser utilizada para traduzir a complexidade de uma Consulta Externa em pontos de funo. A funo Consulta a Clientes obteve complexidade media e portanto recebe 4 pontos de funo brutos. Tabela 5 Pontos de Funo de Consultas Externas
CE - Grau de Complexidade Funcional Simples 3 Mdia Complexa 4 6

28

3 CLCULO DO FATOR DE AJUSTE

Assim que o total de pontos de funo no ajustados for obtido, o fator de ajuste deve ser determinado. O clculo do fator de ajuste representa a funcionalidade geral da aplicao provida ao usurio pela aplicao e obtido atravs da anlise de 14 Caractersticas Gerais do Sistema (Quadro 8). O nvel de influncia de cada uma das caractersticas varia de zero at cinco: Nenhuma influncia (0), Influncia mnima (1), Influncia moderada (2), Influncia mdia (3), Influncia significante (4) e Influncia forte (5). Quando totalizados, os nveis podem alterar a contagem de pontos de funo numa amplitude de 35% at +35%. O valor final do fator de ajuste pode variar de 0,65 at 1,35.
Quadro 8 As 14 Caractersticas Gerais do Sistema

Caractersticas Gerais do Sistema 1. Comunicao de Dados 8. Atualizao On-line 2. Funes Distribudas 9. Processamento Complexo 3. Performance 10. Reusabilidade 4. Configurao do Equipamento 11. Facilidade de Implantao 5. Volume de Transaes 12. Facilidade Operacional 6. Entrada de Dados On-Line 13. Mltiplos Locais 7. Interface com o Usurio 14. Facilidade de Mudanas

3.1 Determinao do nvel de influncia (NI)

De acordo com o manual de contagem de pontos de funo do IFPUG, cada uma das Caractersticas Gerais do Sistema possui uma descrio que permite determinar com exatido seu grau de influncia. O Nvel de Influncia de cada caracterstica deve ser classificado conforme sua prpria tabela. A seguir so apresentadas as 14 caractersticas acompanhadas de uma breve descrio.

29

3.1.1

Comunicao de dados

Para a determinao dessa caracterstica, analisar como os dados e informaes de controle usados na aplicao so enviados e recebidos de outros terminais, estaes de trabalho ou micros, atravs da utilizao de recursos de comunicao de dados. Para que a comunicao acontea so utilizados protocolos, um conjunto de padres que permitem a transferncia ou troca de informaes entre sistemas ou perifricos. Todos os dispositivos de comunicao de dados utilizam algum tipo de protocolo de comunicao.
Grau 0 1 2 3 4 5 Descrio O processamento da aplicao puramente "batch" ou executado em um PC isolado. A aplicao "batch" mas tem entrada de dados remota ou impresso remota. A aplicao "batch" mas tem entrada de dados remota e impresso remota. Captura de dados "on-line", via terminal, rede de micros ou "front-end", para alimentar processos em "batch" ou sistemas de consultas. Mais de um "front-end", mas a aplicao suporta apenas um tipo de protocolo de comunicao. Mais de um "front-end", e a aplicao suporta vrios tipos de protocolo de comunicao.

3.1.2

Processamento distribudo ou Funes distribudas

Processamento distribudo ou funes distribudas so caractersticas gerais que podem influenciar a complexidade da aplicao. A aplicao tem por caracterstica o fato de que dados ou o processamento so distribudos entre vrias Unidades Centrais de Processamento (CPUs)
Grau 0 1 Descrio A aplicao no efetua a transferncia de dados ou de processamento entre as CPUs da organizao. A aplicao prepara dados para o usurio final processar em outra CPU da instalao utilizando-se de software genrico (planilhas eletrnicas, editores de texto, bancos de dados). Os dados so preparados, transferidos e processados em outra CPU da instalao. (Transferncia de arquivos). Processamento distribudo e transferncia de dados "on-line" mas em uma nica direo. (Processa numa CPU e transfere para outra CPU). Processamento distribudo e transferncia de dados "on-line" em ambas as direes. (Processamento cooperativo). A aplicao a ser desenvolvida deve decidir dinamicamente qual a CPU mais apropriada para executar a funo.

2 3 4 5

30

3.1.3

Performance

Devem ser analisados os objetivos de performance do sistema, estabelecidos e aprovados pelo usurio, em termos de tempo de resposta, que influenciam (ou influenciaro) o projeto, o desenvolvimento, a implantao e o suporte da aplicao.

Grau 0 1 2

Descrio Nenhum requerimento especial de performance foi solicitado pelo usurio. Requerimentos de performance e de projeto foram estabelecidos e revistos, mas nenhuma ao especial foi requerida. Tempo de resposta e volume de processamento so itens crticos durante horrios de pico de processamento. Nenhuma determinao especial para utilizao do processador foi estabelecida. A data limite para disponibilidade de processamento sempre o prximo dia til. Tempo de resposta e volume de processamento so itens crticos durante todo o horrio comercial. Nenhuma determinao especial para a utilizao do processador foi estabelecida. A data limite necessria para a comunicao com outros sistemas um item importante. Os requerimentos de performance estabelecidos requerem tarefas de anlise de performance na fase de anlise e desenho da aplicao. Alm do descrito no item anterior, ferramentas de anlise de performance foram usadas nas fases de desenho, desenvolvimento e/ou implementao para atingir os requerimentos de performance estabelecidos pelo usurio.

4 5

3.1.4

Configurao do equipamento

Nessa caracterstica, busca-se identificar o grau de utilizao do(s) computador (es) em que ser utilizado o sistema, que requeira consideraes especiais de anlise e projeto do aplicativo. A avaliao deve ser feita visando identificar a carga de trabalho onde a aplicao que est sendo analisada ir entrar em produo.
Grau 0 1 2 3 4 5 Descrio Nenhuma restrio operacional explcita ou mesmo implcita includa. Existem restries operacionais leves. No necessrio esforo especial para resolver as restries. Algumas consideraes de ajuste de performance e segurana so necessrias. So necessrias especificaes especiais de processador para um mdulo especfico da aplicao. Restries operacionais requerem cuidados especiais no processador central ou no processador dedicado. Alm das caractersticas do item anterior, h consideraes especiais na distribuio do sistema e em seus componentes.

31

3.1.5

Volume de transaes

O volume de transaes, de tal magnitude que tem influncia no projeto, desenvolvimento, implantao e manuteno da aplicao.
Grau Descrio 0 1 2 3 4 5 No esto previstos perodos de picos de volume de transao Esto previstos picos de transaes semanalmente, trimestralmente, anualmente ou em certo perodo do ano. So previstos picos semanais. So previstos picos dirios. Alto volume de transaes foi estabelecido pelo usurio, ou o tempo de resposta necessrio atinge nvel alto o suficiente para requerer anlise de performance na fase de desenho. Alm do descrito no item anterior, necessrio utilizar ferramentas de anlise de performance nas fases de desenho, desenvolvimento e/ou implantao.

3.1.6

Entrada de dados on-line

Essa caracterstica quantifica a entrada de dados on-line provida pela aplicao.


Grau Descrio 0 1 2 3 4 5 Todas as transaes so processadas em modo batch. De 1% a 7% das transaes entradas de dados on-line. De 8% a 15% das transaes entradas de dados on-line. De 16% a 23% das transaes entradas de dados on-line. De 24% a 30% das transaes entradas de dados on-line. Mais de 30% das transaes so entradas de dados on-line.

3.1.7

Interface com o usurio

As funes da aplicao executadas "on-line" enfatizam que o projeto da aplicao foi voltado para a eficincia do usurio final, e refletido pelo nmero e tipo de facilidades disponibilizadas:
              Auxlio navegao (teclas de funo, acesso direto e menus dinmicos). Menus. Menus pop-up. Documentao e help (auxlio) on-line. Movimento automtico do cursor. Seleo de cursor em campos da tela. Rolagem vertical e horizontal. Impresso remota (atravs de transaes on-line). Teclas de funo preestabelecidas. Processos batch submetidos a partir de transaes on-line. Utilizao intensa de campos com vdeo reverso, intensificados, sublinhados, coloridos e outros indicadores. Impresso da documentao das transaes on-line atravs de Hard-copy. Utilizao de mouse. O menor nmero possvel de telas para executar as funes de negcio.

32

 

Suporte bilnge ( o suporte a duas lnguas; contar como quatro itens). Suporte multilngue ( o suporte a mais de duas lnguas; contar como seis itens).

Grau Descrio 0 1 2 3 4 A aplicao no apresenta nenhum dos itens descritos. A aplicao apresenta de um a trs dos itens descritos. A aplicao apresenta de quatro a cinco dos itens descritos. A aplicao apresenta mais de cinco dos itens descritos, mas no h requerimentos especficos do usurio quanto amigabilidade do sistema. A aplicao apresenta mais de cinco dos itens descritos, e foram estabelecidos requerimentos quanto amigabilidade fortes, tais como minimizao da digitao para mostrar inicialmente os valores utilizados com mais freqncia. A aplicao apresenta mais de cinco dos itens descritos, e foram estabelecidos requerimentos quanto amigabilidade fortes o suficiente para requerer ferramentas e processos especiais para demonstrar antecipadamente que os objetivos foram alcanados.

3.1.8

Atualizao on-line

Verificar se aplicao prov atualizao on-line dos Arquivos Lgicos Internos.


Grau Descrio 0 1 2 3 4 5 Nenhum. Atualizao on-line de um a trs Arquivos Lgicos Internos. O volume de atualizao baixo e a recuperao de dados fcil. Atualizao on-line de mais de trs Arquivos Lgicos Internos. O volume de atualizao baixo e a recuperao de dados fcil. Atualizao on-line da maioria dos Arquivos Lgicos Internos. Em adio ao item anterior, necessrio proteo contra perda de dados que foi desenhada e programada no sistema. Alm do item anterior, altos volumes trazem consideraes de custo no processo de recuperao. Processos para automatizar a recuperao foram includos minimizando a interveno do operador.

3.1.9

Processamento complexo

Processamento complexo uma das caractersticas da aplicao. Deve ser analisada a presena dos seguintes componentes:
    Controle sensitivo (processamento especial de auditoria) e/ou processamento de segurana especfica da aplicao. Processamento lgico extensivo. Processamento matemtico extensivo. Processamento gerando muitas excees, resultando em transaes incompletas que devem ser processadas novamente. Exemplo: transaes de auto-atendimento bancrio interrompidas por problemas de comunicao ou com dados incompletos. Processamento complexo para manipular mltiplas possibilidades de entrada/sada, como por exemplo, multimdia.

33

Grau Descrio 0 1 2 3 4 5 Nenhum dos itens descritos. Apenas um dos itens descritos. Dois dos itens descritos. Trs dos itens descritos. Quatro dos itens descritos. Todos os cinco dos itens descritos.

3.1.10 Reusabilidade

Analisar se a aplicao e seu cdigo sero/foram projetados, desenvolvidos e mantidos visando utilizao em outras aplicaes.
Grau Descrio 0 1 2 3 4 5 Nenhuma preocupao com reutilizao de cdigo. Cdigo reutilizado foi usado somente dentro da aplicao. Requerimentos de performance e de projeto foram estabelecidos e revistos, mas nenhuma ao especial foi requerida. Menos de 10% da aplicao foi projetada prevendo utilizao posterior do cdigo por outra aplicao. 10% ou mais da aplicao foi projetada prevendo utilizao posterior do cdigo por outra aplicao. A aplicao foi especificamente projetada e/ou documentada para ter seu cdigo facilmente reutilizado por outra aplicao e a aplicao customizada para uso atravs de parmetros que podem ser alterados pelo usurio.

3.1.11 Facilidade de implantao

Facilidade de converso e de implantao so caractersticas da aplicao. Verificar a existncia de um plano de converso e de implantao e/ou a existncia de ferramentas de converso providas e testadas durante a fase de teste da aplicao.
Grau 0 1 2 Descrio Nenhuma considerao especial foi estabelecida pelo usurio e nenhum procedimento especial requerido na implantao. Nenhuma considerao especial foi estabelecida pelo usurio, mas procedimentos especiais so necessrios na implantao. Requerimentos de converso e implantao foram estabelecidos pelo usurio e roteiros de converso e implantao foram providos e testados. O impacto da converso no projeto no foi considerado importante. Requerimentos de converso e implantao foram estabelecidos pelo usurio e roteiros de converso e implantao foram providos e testados. O impacto da converso no projeto considerado importante. Alm do item 2, converso automtica e ferramentas de implantao foram providas e testadas. Alm do item 3, converso automtica e ferramentas de implantao foram providas e testadas.

4 5

34

3.1.12 Facilidade operacional

Facilidade de operao uma caracterstica da aplicao. As especificaes da aplicao podem demandar que sejam providos procedimentos automatizados que minimizem a interveno manual de operadores. Procedimentos de inicializao, salvamento e recuperao do sistema podem ser providos e testados durante a fase de teste do sistema. Verificar se a aplicao minimiza a necessidade de atividades manuais, tais como montagem de fitas, manuseio de papel e interveno do operador.
Grau 0 1-4 Descrio Nenhuma considerao especial de operao, alm do processo normal de salva foi estabelecido pelo usurio. Verifique quais das seguintes afirmativas podem ser identificadas na aplicao. Selecione as que forem aplicadas. Cada item vale um ponto, exceto se definido explicitamente.  Foram desenvolvidos processos de inicializao, salva e recuperao, mas a interveno do operador necessria.  Foram estabelecidos processos de inicializao, salva e recuperao, e nenhuma interveno do operador necessria (contar como dois itens).  A aplicao minimiza a necessidade de montar fitas magnticas.  A aplicao minimiza a necessidade de manuseio de papel. A aplicao foi desenhada para trabalhar sem operador; nenhuma interveno do operador necessria para operar o sistema alm de executar e encerrar a aplicao. A aplicao possui rotinas automticas para recuperao em caso de erro.

3.1.13 Mltiplos locais

Verificar se a aplicao foi especificamente projetada, desenvolvida e modificada para ser instalada em mltiplos locais ou para mltiplas organizaes.
Grau 0 1 2 3 4 5 Descrio Os requerimentos do usurio no consideram a necessidade de instalao em mais de um local. A necessidade de mltiplos locais foi considerada no projeto, e a aplicao foi desenhada para operar apenas sobre o mesmo ambiente de software e hardware. A necessidade de mltiplos locais foi considerada no projeto, e a aplicao est preparada para trabalhar apenas em ambientes similares de software e hardware. A necessidade de mltiplos locais foi considerada no projeto, e a aplicao est preparada para trabalhar sob diferentes ambientes de hardware e/ou software. Plano de documentao e manuteno foram providos e testados para suportar a aplicao em mltiplos locais; alm disso, os itens 1 ou 2 caracterizam a aplicao. Plano de documentao e manuteno foram providos e testados para suportar a aplicao em mltiplos locais; alm disso, o item 3 caracteriza a aplicao.

35

3.1.14 Facilidade de mudanas (flexibilidade)

A aplicao foi especificamente projetada, desenvolvida e suporta manuteno, visando facilidade de mudanas atravs de capacidade de consultas e relatrios flexveis, bem como a parametrizao dos dados de controle do negcio, de forma que o cliente possa modific-los a qualquer momento.
Grau Descrio 0 1 2 Caso a aplicao no disponibilize ferramentas ser atribudo o Nvel de Influncia igual a 0 (zero) para esta caracterstica da aplicao. fornecido recurso flexvel de consulta e de emisso de relatrio capaz de manipular solicitaes simples, com lgica de "and/or" aplicada somente a um Arquivo Lgico Interno. fornecido recurso flexvel de consulta e de emisso de relatrio capaz de manipular solicitaes de mdia complexidade, com lgica de "and/or" aplicada a mais de um Arquivo Lgico Interno. fornecido recurso flexvel de consulta e de emisso de relatrio capaz de manipular solicitaes de alta complexidade, com lgica de "and/or" aplicada a um ou mais Arquivos Lgicos Internos. Caso os dados de controle do negcio da aplicao sejam mantidos em tabelas ou arquivos, que possam ser atualizadas pelo usurio atravs de processos "on-line" e interativos, acrescentar ao Nvel de Influncia determinado acima: 1. Se estas alteraes s so efetivadas no prximo dia til; 2. Se estas alteraes so efetivadas imediatamente.

3.2 Clculo do Fator de Ajuste e dos Pontos de Funo Ajustados

Os seguintes passos devem ser executados para o clculo do fator de ajuste: 1. Avaliar o impacto de cada uma das 14 Caractersticas Gerais do Sistema no aplicativo que est sendo contado, atribuindo peso de 0 a 5 para cada uma das 14 caractersticas. 2. Calcular o nvel de influncia (NI) atravs da soma dos pesos de cada uma das 14 caractersticas. 3. Calcular o fator de ajuste (FA) atravs da Equao 1.
Equao 1 Equao do Fator de Ajuste
     


 

Calcular pontos de funo ajustados atravs da Equao 2.


Equao 2 Equao de Clculo de PFs Ajustados
!!7:948 

36

Exemplo: A contagem dos pontos de funo no ajustados resultou em 79 e a soma dos pesos das 14 Caractersticas Gerais do Sistema resultou em 16 (nvel de influncia = 16).
,947/0 :890     

 

Fator de Ajuste = (16 * 0,01) + 0,65 = 0,81


! :89,/48!7:948 ,947/0, :890

PF Ajustados = 79 * 0,81 = 63,99 PF PF Ajustados = 64 pontos de funo

37

4 CONTAGEM DE PONTOS DE FUNO EM PROJETOS

4.1 Contagens e Fases de Desenvolvimento

A contagem de Pontos de Funo nas fases iniciais do projeto talvez a contagem mais difcil, pois pode ocorrer a ausncia de vrios elementos que compem o processo de contagem. Assumindo que a fase de Business Design (Anlise de Sistema) tenha terminado, provavelmente todos os elementos necessrios a uma contagem efetiva de pontos de funo estaro presentes. A documentao mnima para que o processo possa ser executado adequadamente : o Modelo de Dados da Aplicao, Layout dos relatrios, Layout das telas de entrada de dados, Layout das telas de consulta, Layout dos arquivos de interface e Layout dos arquivos que so entrada para o sistema. Contagens de pontos de funo realizadas nas fases iniciais do

desenvolvimento de sistemas so estimativas da funcionalidade desejada. medida que o projeto caminha, o escopo do sistema vai sendo validado, e suas funes vo sendo desenvolvidas, de forma que perfeitamente normal identificar funes adicionais que no foram previstas inicialmente. A contagem de pontos de funo durante o desenvolvimento do projeto acontece ento quando uma mudana significativa no escopo da aplicao acontece. Trs casos tpicos que podem ocorrer so: a incluso de um novo processo ou funo, a eliminao de um processo ou funo, ou ainda a alterao de parte de processo ou funo. Se houver a incluso de um novo processo ou funo aps a contagem inicial, a documentao mnima, conforme descrito anteriormente, deve estar disponvel, bem como o primeiro total obtido de pontos de funo no ajustados. Para a anlise e contagem dessa nova funo deve-se observar somente a documentao mnima do que foi includo. Conta-se os pontos de funo brutos da nova funo e soma-se aos pontos de funo no ajustados j obtidos, aplicando-se posteriormente o fator de ajuste. No caso de excluso de uma funo, efetua-se um processo semelhante incluso de uma nova funo. Conta-se os pontos de funo referentes ao processo ou

38

funo excluda, excluindo-os do total de pontos de funo no ajustados, aplicandose posteriormente o fator de ajuste. A alterao de parte de processo ou funo de um projeto de aplicao o cenrio mais complexo. Deve-se estudar a melhor forma de fazer o novo clculo, porm o ideal para garantir a consistncia final da contagem que toda a aplicao seja recontada atravs da documentao mnima j descrita anteriormente. Aps o trmino do projeto, quando a aplicao j se encontra instalada, efetuase o clculo dos pontos de funo instalados para obteno de informaes reais e fsicas da mesma. Nesse caso, toda a aplicao deve ser contada novamente e como documentao mnima para auxiliar na contagem deve-se ter em mos o Layout dos arquivos mantidos pela aplicao (para contagem de Arquivos Lgicos Internos), o Layout dos arquivos de interface externa (para contagem de Arquivos de Interface Externa), o impresso das telas de entrada de dados (para contagem de Entradas Externas e de Consultas Externas), impresso das telas de consulta (para contagem de Consultas Externas e Sadas Externas) e exemplos de cada tipo de relatrio do sistema (para contagem de Consultas Externas e Sadas Externas).

4.2 Exemplo de Anlise de Pontos de Funo em Projeto de Nova Aplicao

As seguintes etapas sero cumpridas para o projeto de desenvolvimento: 1. 2. 3. 4. 5. 6. 7. 8. 9. Descrio do sistema a ser desenvolvido Levantamento das principais funes do sistema Layout dos Arquivos Internos e Externos do sistema Layout das telas do sistema Layout Relatrios do sistema Identificao das funes quanto a complexidade Classificao das funes do sistema Clculo dos pontos de funo no ajustados Clculo do fator de ajuste e dos pontos de funo ajustados

A documentao mnima exigida para a contagem : Modelo de Dados da Aplicao, Layout dos relatrios, Layout das telas de entrada de dados, Layout das telas de consulta, Layout dos arquivos de interface e Layout dos arquivos que so entrada para o sistema.

4.2.1

Descrio do sistema a ser desenvolvido

39

O sistema de clientes tem como objetivo apoiar o Departamento de Vendas e o Departamento de Marketing. O sistema de clientes ser desenvolvido em uma linguagem de Quarta Gerao usando banco de dados e ser implantado em um equipamento Unix ou em uma rede de micros. O sistema ser utilizado por cerca de 60 funcionrios em um ambiente on-line, atravs de microcomputadores. Os usurios conhecem pouco de informtica; assim sendo, as telas devem ser de fcil utilizao, alm de terem telas de auxlio associadas. O volume de transaes no dever ser alto, entretanto o fim de ano um perodo crtico.

4.2.2

Levantamento das principais funes do sistema

As principais funes do sistema so: cadastramento, alterao e consulta a dados de cliente, cadastramento, alterao e consulta no cadastro de produtos, emisso de relatrios, pedidos de clientes e segurana no acesso.

4.2.3

Layout dos Arquivos Internos e Externos do sistema

Quadro 9 Layout do Arquivo de Clientes


Item de dados Cdigo-cliente Nome-cliente Razo-social Tipo-cliente Territrio Endereo Bairro CEP Cidade CGC Inscrio-estadual Contato-1 Telefone-1 Contato-2 Telefone-2 Clientes tamanho 6 12 30 2 3 30 12 8 12 12 12 20 10 20 10 tipo Numrico Alfa Alfa Numrico Alfa Alfa Alfa Numrico Alfa Numrico Numrico Alfa Numrico Alfa Numrico

Quadro 10 Layout do Arquivo de Produtos


Produtos item de dados tamanho Cdigo-produto 12 Nome-produto 12 Descrio-produto 30 Tipo-produto 2 Unidade-produto 3 Custo-mdio-unitrio 12 Preo-mdio-unitrio 12 Principal-fornecedor 12 Preo-ltimo-fornecimento 12 Principal-cliente 12 Data-ltimo-pedido 8 Quantidade-tltimo-pedido 12 Preo-unit-ltimo-pedido 12 tipo Numrico Alfa Alfa Numrico Alfa Numrico Numrico Alfa Numrico Alfa Numrico Numrico Numrico

Quadro 11 Layout do Arquivo de Pedidos


item de dados Nmero-pedido Cdigo-produto Cdigo-cliente Quantidade Preo-unitrio Data-pedido Pedidos tamanho 10 12 6 12 12 8 tipo Numrico Numrico Numrico Numrico Numrico Numrico

Quadro 12 Layout do Arquivo de Senhas


item de dados Cdigo-usurio Senha Data-validade Data-ltimo-acesso Hora-ltimo-acesso Senhas tamanho 6 6 8 8 8 tipo Numrico Alfa Numrico Numrico Numrico

Quadro 13 Layout do Arquivo de Histrico de Clientes


Histrico de Clientes item de dados tamanho Cdigo-cliente 6 Produto-1-mais-comprado-94 12 Valor-compra-produto-1-94 12 Tipo Numrico Numrico Numrico

40

4.2.4

Layout das telas do sistema

A cada tela do sistema deve ser associada uma tela de auxlio, visando agilizar a utilizao do sistema por novos usurios e aumentando a produtividade de utilizao. Figura 7 Tela de Incluso de clientes Incluso de Clientes

Cdigo [ ] Tipo [ ] CGC [ ] Endereo [ ] CEP [ ] Contato-1 [ ] Contato-2 [ ]

Nome [ ] Razo Social [ ] Territrio [ ] Inscrio Estadual [ ] Bairro [ ] Cidade [ ] Telefone [ ] Telefone [ ]

Arquivos referenciados: Clientes Dados: Todos do arquivo. Regras: Enviar mensagem de erro caso seja digitado CGC invlido. Enviar mensagem de erro caso cliente j exista.

Figura 8 Excluso de clientes Excluso Cadastro de Clientes

Cdigo do cliente [ ]
Arquivos referenciados: Clientes Dados: Somente necessrio digitar o cdigo do cliente. Regras: Verificar se cliente existe; se no existir, enviar mensagem de erro.

41

Figura 9 Alterao dos dados de cliente Alterao dos Dados - Cadastro de Clientes Cdigo [ ] Nome [ ] Tipo [ ] Territrio [ ] CGC [ ] Inscrio Estadual [ ] Endereo [ ] Bairro [ ] CEP [ ] Cidade [ ] Contato-1 [ ] Telefone [ ] Contato-2 [ ] telefone [ ] Razo Social [ ]

Arquivos referenciados: Clientes Dados: Todos podem ser alterados, com exceo do cdigo do cliente. Regras: Enviar mensagem de erro caso o cliente no exista. Figura 10 Consulta a Clientes Consulta - Cadastro de Clientes Cdigo do Cliente [ ] Nome [ ] Razo social [ ] Tipo [ ] Territrio [ ] CGC [ ] Inscrio Estadual [ ] Endereo [ ] Bairro [ ] CEP [ ] Cidade [ ] Contato-1 [ ] Telefone [ ] Total compra ano [ ] Total compra ms atual [ ]

Arquivos referenciados: Clientes Dados: 12 do Cadastro de Clientes e dois do Histrico de Clientes. Regras: Dever ser digitado o cdigo do cliente. Verificar se cliente existe, se no existir, enviar mensagem de erro. O arquivo Histrico de Clientes pertence a outro aplicativo.

Figura 11 Incluso de Produtos Incluso de Produtos Cdigo [ ] Tipo [ ] Principal Fornecedor [ ] Principal Cliente [ ] Data ltima compra [ ] Nome [ ] Unidade [ ] Descrio [ ] Custo mdio [ ] Preo Mdio [ ] Preo Mdio [ ] Preo Unitrio. [ ]

Quantidade ltima compra [ ]

Arquivos referenciados: Produtos Dados: Todos do arquivo Regras: Envie mensagem de erro caso o produto j exista.

42

Figura 12 Alterao dos Dados de Produto Alterao do cadastro de Produtos Cdigo [ ] Tipo [ ] Principal Fornecedor [ ] Principal Cliente [ ] Data ltima compra [ ] Nome [ ] Descrio [ ] Unidade [ ] Custo mdio [ ] Preo Mdio [ ] Preo Mdio [ ] Quantidade ltima compra [ ] Preo Unitrio. [ ]

Arquivos referenciados: Produtos Dados: Todos podem ser alterados, menos o cdigo do produto. Regras: Envie mensagem de erro caso o produto no exista.

Figura 13 Consulta a Produtos Consulta ao cadastro de Produtos

Cdigo [ ] Tipo [ ] Custo mdio [ ] Principal Fornecedor [ ] Principal Cliente [ ] Quantidade ltima compra [ ]

Nome [ ] Descrio [ ] Unidade [ ] Preo Mdio [ ] Preo Mdio [ ] Data ltima compra [ ] Preo Unitrio. [ ]

Arquivos referenciados: Produtos Dados: 13 campos Regras: Verificar se produto existe.

Figura 14 Excluso de Produtos Excluso de Produtos Cdigo do Produto [ ]

Arquivos referenciados: Produtos Dados: Somente necessrio digitar o cdigo do produto. Regras: Verificar se o produto existe. Figura 15 Pedido de Clientes Pedido de Clientes Nmero do pedido [ ] Data pedido [ ] Cdigo cliente [ ] Cdigo produto [ ] Quantidade [ ] Preo unitrio [ ] Arquivos referenciados: Clientes, produtos e pedidos Dados: 6 campos Regras: Verificar se pedido existe, se produto existe e se cliente existe. Atualizar informaes sobre o pedido no cadastro de produtos. Figura 16 Tela de Identificao Tela de Identificao Cdigo do usurio [ ]

43

Arquivos referenciados: Senhas Dados: necessrio informar o usurio e a senha Regras: O usurio e a senha devero ser validados para acesso ao sistema. Uma mensagem de erro dever ser enviada quando necessrio. Figura 17 Menu do Sistema Menu de Seleo 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Auxlio [ ]

Incluso de clientes Alterao de dados de clientes Consulta ao cadastro de clientes Excluso de clientes Incluso de produtos Alterao de dados de produtos Consulta ao cadastro de produtos Excluso de produtos Pedidos de clientes Relao de clientes inativos Data [ ] Opo desejada [ ]

Arquivos referenciados: nenhum Dados: necessrio informar o nmero da tela desejada. Regras: Caso o usurio solicite a opo de relao de clientes inativos, ele dever informar tambm uma data e sero considerados como resposta os clientes que tiverem seu ltimo pedido realizado antes da data especificada. Se nenhum registro atender opo de execuo, o relatrio sara em branco. Figura 18 Telas de auxlio Tela de auxlio Menu de seleo Essa tela permite que o usurio escolha a funo que deseja utilizar:

c c c c c c c c

Cadastramento de clientes permite a incluso de novos clientes Alterao de dados de clientes permite a alterao de dados de um certo cliente Consulta a clientes consulta informaes sobre um certo cliente Excluso de clientes exclui um determinado cliente Cadastramento de produtos permite a incluso de novos produtos Alterao de dados de produtos permite a alterao de dados de um certo produto Consulta a produtos consulta informaes sobre um certo produto Excluso de produtos exclui um determinado produto Retorna tela anterior [ ]

Arquivos referenciados: Nenhum Dados: Nenhum

44

Regras: A respectiva tela de auxlio deve ser apresentada sempre que o usurio solicitar atravs de preenchimento do campo de auxlio

4.2.5

Layout dos Relatrios do sistema


Figura 19 Relao de Clientes Relao de Clientes Data __/__/__ Pgina __

Cdigo Nome ........... ........... ........... ...........

Razo Social Tipo Territrio CGC Inscr. Est. Contato Telefone ........... ........... ........... ........... ........... ........... ........... ........... ........... ........... ........... ........... ........... ...........

Total de Clientes __

Figura 20 Relao de Clientes Inativos Relao de Clientes Inativos Cdigo Razo social Tipo ........... ........... ........... Data __/__/__ ltimo Pedido .................. Pgina __

Endereo Bairro CEP Cidade ........... ........... ........... ........... Figura 21 Relao de Produtos

Relao de Produtos

Data __/__/__

Pgina __

Cdigo Nome ........... ...........

Descrio Unidade Custo mdio Preo mdio ........... ........... ........... ...........

Principal Fornecedor ...........

4.2.6

Identificao das funes do sistema

Depois de observada e analisada a documentao mnima, foram determinadas as seguintes funes do sistema (Quadro 14): Quadro 14 Funes Identificadas no Sistema para o Exemplo Arquivos Lgicos Internos (ALI) Arquivos de Interface Externas (AIE) Entradas Externas (EE) Sadas Externas (SE) Consultas Externas CE) Observaes: Cadastro de clientes, Cadastro de produtos, Cadastro de pedidos Histrico de clientes, Cadastro de senhas Incluso de clientes, Alterao de clientes, Excluso de clientes, Incluso de produtos, Alterao de produtos, Excluso de produtos, Pedido de clientes Relao de clientes, Relao de produtos Consulta a clientes, Consulta a produtos, Telas de auxlio, Relao de clientes inativos

45

1. 2.

3.

A tela de identificao no contada como funo, j que no prov segurana da aplicao, apenas segurana de acesso. A tela menu do sistema, como s prov seleo de telas, no considerada como funo. considerada, entretanto, como parte de entrada da consulta de relao de clientes inativos. A funo relao de clientes inativos, apesar de ter sido considerada um relatrio durante o levantamento inicial, no uma sada externa, mas sim uma consulta externa, pois no possui dados derivados e sua execuo feita atravs de tela de menu.

4.2.7

Classificao das funes quanto a complexidade

As funes identificadas foram analisadas (Quadro 15) segundo as quantidades de Dados Elementares Referenciados (DER), Arquivos Lgicos Referenciados (ALR) e Registros Lgicos Referenciados (RLR). Quadro 15 Classificao de complexidade das funes identificadas Tipo de funo Arquivos Lgicos Internos Funo Cadastro de clientes DER: 15 RLR: 1 Cadastro de produtos DER: 13 RLR: 1 Cadastro de pedidos DER: 6 RLR: 1 Histrico de Clientes DER: 3 (cdigo do cliente, total-compra-ano, total-compra-ms-atual) RLR: 1 Arquivo de Senhas DER: 3 (usurio, senha e data de validade) RLR: 1 Incluso de clientes DER: 16 (15 campos, mensagens de erro) ALR: 1 Alterao de clientes DER: 16 (15 campos, mensagens de erro) ALR: 1 Excluso de clientes DER: 2 (cdigo do cliente e mensagens de erro) ALR: 1 Incluso de produtos DER: 14 (13 campos, mensagens de erro) ALR: 1 Alterao de produtos DER: 14 (13 campos, mensagens de erro) ALR: 1 Excluso de produtos DER: 2 (cdigo de produto e mensagens de erro) ALR: 1 Grau Simples

Simples

Simples

Arquivos de Interface Externa

Simples

Simples

Entradas Externas

Mdia

Mdia

Simples

Simples

Simples

Simples

Tipo de funo

Funo

Grau

46

Entradas Externas Sadas Externas

Pedido de clientes DER: 7 (6 campos e mensagens de erro) ALR: 3 (clientes, produtos, pedidos) Relao de clientes DER: 10 (9 campos e total de clientes) ALR: 1 Relao de produtos DER: 7 ALR: 1

Complexa

Simples

Simples

Observaes: A funo relao de clientes uma sada externa pois possui dados derivados (campo total-de-clientes). A funo relao de produtos no possui dados derivados, entretanto uma sada externa pois sua execuo feita atravs de processo regular de execuo atravs de tarefas. Tipo de funo Consultas Externas Funo Consulta de clientes: Grau da parte de entrada: Simples DER: 2 (cdigo do cliente e mensagens de erro) ALR: 2 (clientes e histrico de clientes) Grau da parte de sada: Mdia DER: 14 (12 de clientes e 2 de histrico de clientes) ALR: 2 Consulta a produtos: Grau da funo: Grau da funo: Simples DER: 2 (cdigo do produto e mensagens de erro) ALR: 1 (cadastro de produtos) Grau da funo: Simples DER: 12 (cdigo do produto no considerado) ALR: 1 Relao de clientes inativos: Grau da funo: Grau da funo: Simples DER: 3 (data, opo e mensagens de erro) ALR: 0 Grau da funo: Mdia DER: 8 ALR: 2 (clientes e produtos) Telas de Auxlio O conjunto de telas de auxlio considerado por definio, uma consulta externa de grau simples, independentemente de sua quantidade. Grau Mdia

Simples

Mdia

4.2.8

Clculo dos pontos de funo no ajustados

A Tabela 6 utilizada para determinar o total geral de pontos de funo no ajustados do sistema.

47

Tabela 6 Clculo dos Pontos de Funo no ajustados


Tipo de funo Complexidade Funcional 3 Simples Arquivo Lgico Interno 0 Mdia 0 Complexa 2 Simples Arquivo de Interface Externa 0 Mdia 0 Complexa 4 Simples Entradas Externas 2 Mdia 1 Complexa 2 Simples Sadas Externas 0 Mdia 0 Complexa 2 Simples Consultas Externas 2 Mdia 0 Complexa Total de pontos de funo no ajustados x 7= x 10 = x 15 = x 5= x 7= x 10 = x 3= x 4= x 6= x 4= x 5= x 7= x 3= x 4= x 6= Total Complexidade 21 0 0 10 0 0 12 8 6 8 0 0 6 8 0 79 14 8 26 10 21 Total tipo funo

4.2.9

Clculo do Fator de Ajuste e dos Pontos de Funo Ajustados

As 14 Caractersticas Gerais do Sistema devem ser analisadas considerando-se a descrio do projeto efetuada pelo usurio. Deve-se evitar a deduo das influncias das caractersticas, buscando informaes complementares com o usurio principal do projeto ou da rea qual a dvida est relacionada. Depois de avaliar o nvel de influncia de cada uma das 14 Caractersticas Gerais do Sistema no aplicativo que est sendo contado (Quadro 15), calcula-se o nvel de influncia (NI) atravs da soma dos pesos de cada uma das 14 caractersticas. Quadro 16 Clculo do Fator de Ajuste Grau 4 Caracterstica Comunicao de Dados Anlise A aplicao no batch. Ela inclui entrada de dados on-line, porm no se resume a entrada de dados. Nada foi mencionado quanto quantidade de protocolos de comunicao. Considera-se que seja apenas 1 protocolo como resposta mais provvel. o caso de buscar esclarecimentos com o usurio. Nada foi comentado quanto execuo em outros processadores. A aplicao pode ser executada em ambiente Unix ou em rede de micros. No h preocupao com a distribuio das funes. Segundo o usurio, o volume de transaes no dever ser alto. O perodo crtico no fim de ano. No se pode colocar que no h nenhum requerimento de performance. Nada foi informado para deduzir de que a configurao do equipamento est carregada. Nenhuma considerao de anlise ou desenho foi requerida. O perodo de fim de ano crtico. Esto previstos picos de transaes anualmente.

Funes Distribudas Performance

Configurao Carregada Volume das Transaes Caracterstica

Grau

Anlise

48

5 1

0 0 0 0 0 0 16

Entrada de Pelo descrito, as transaes so processadas somente on-line. dados on-line Interface com o Foram especificados menus de navegao e interface atravs de Usurio microcomputadores. Portanto, poucas caractersticas dos itens especificados. Atualizao Atualizao on-line de todos os Arquivos Lgicos Internos; entretanto, on-line no foi especificada proteo especial contra perda de dados ou processos automticos para recuperao. Processamento A aplicao no envolve processamento complexo. Complexo Reusabilidade No houve preocupao com reutilizao de cdigo. Facilidade de Nenhuma considerao foi estabelecida visando facilitar a instalao do Instalao aplicativo. Facilidade de Nenhuma considerao especfica foi definida envolvendo procedimentos Operao de salva, recuperao ou operador do equipamento. Mltiplos Os requerimentos do usurio no consideraram a necessidade de Locais instalao em mais de um local. Facilidade de No houve nenhum tipo de preocupao especfica visando facilitar a mudanas flexibilizao de mudanas do aplicativo. Total

O nvel de influncia obtido foi 16. O passo seguinte o clculo do fator de ajuste (Equao 1) e em seguida os pontos de funo ajustados (Equao 2).

,947/0, :890     

 

Fator de ajuste = (16 * 0,01) + 0,65 = 0,81

! :89,/48!7:948 ,947/0, :890

PF Ajustados = 79 * 0,81 = 63,99 PF PF Ajustados = 64 pontos de funo

Portanto, o sistema solicitado pelo usurio da ordem de grandeza de 64 pontos de funo. A partir desse dado, pode-se calcular o esforo e o tempo necessrios para execuo do projeto baseandose em comparaes com dados obtidos de projetos concludos anteriormente.

49

5 CONTAGEM DE PF EM PROJETOS DE MANUTENO DE APLICAES

Aps a liberao do software para o usurio, muito comum a ocorrncia de pedidos de alteraes [Pressman, 1997]. Casos tpicos de modificaes que ocorrem tem como objetivo identificar e corrigir erros, adaptar o software a alguma mudana no ambiente ou ainda melhorar a manutenibilidade ou confiabilidade futuras. Outros cenrios que se apresentam freqentemente so decorrentes dos pedidos do usurio para alterar ou excluir funes existentes, incluir novas funes e efetuar melhoramentos gerais. Num cenrio de incluso de nova funcionalidade, a anlise dos pontos de funo vista como um novo desenvolvimento. A documentao mnima para auxiliar o processo de contagem :
     

Modelo de dados da melhoria Layout dos relatrios Layout das telas de entrada de dados Layout das telas de consulta Layout dos arquivos de interface Opcionalmente deveria tambm ser obtida a documentao da parte da aplicao que possa ser afetada pela melhoria.

No caso de alterao ou excluso da funcionalidade existente, preciso ter disponvel a documentao do sistema existente, que vai ser afetado, bem como a especificao do que vai ser alterado. Como documentao necessria a esse cenrio deve-se ter em mos os mesmos citados na incluso de funcionalidade com acrscimo dos seguintes documentos:
    

Layout dos arquivos afetados mantidos pela aplicao Layout dos arquivos de interface afetados Impresso das telas de entrada de dados afetadas Impresso das telas de consulta afetadas Exemplos de cada relatrio do sistema afetado Projetos de melhoria normalmente possuem um escopo determinado, sendo

possvel, mesmo nas fases iniciais, obter informaes necessrias para uma boa

50

contagem de pontos de funo. Se esse no for o caso, prefervel esperar at que o projeto chegue a esse ponto. Os projetos de expanso e incluso de campos em arquivos, mudana em telas para melhoria da visualizao, mudana no Layout dos relatrios, adio de quebras e totalizaes em relatrios e consultas, so denominados Production Support e em geral no oferecem oportunidade de utilizar a tcnica de pontos de funo para sua estimativa, devido natureza das mudanas, e tambm, muitas vezes, da sua simplicidade. Para esse tipo de projeto, o ideal a utilizao da contagem de linhas de cdigo e a experincia de quem est fazendo a manuteno. Caso o tamanho final da aplicao deva ser calculado aps a manuteno, ento a documentao mnima a seguinte:
  

Layout dos arquivos internos afetados e/ou includos pela manuteno Layout dos arquivos de interface afetados e/ou includos pela manuteno Impresso das telas de entrada de dados afetados e/ou includas pela manuteno

 

Impresso das telas de consulta afetadas e/ou includas pela manuteno Exemplos de cada relatrio do sistema afetados e/ou includas pela manuteno

Os projetos de expanso e incluso de campos em arquivos, alterao da aplicao para melhorar performance (uso de tabelas internas, bufferizao, etc.), alterao da aplicao em funo de novo realease (lanamento) de um produto e correo de um problema em produo so projetos do tipo Major Maintenance e apresentam quase que a mesma caracterstica dos projetos do tipo Production Support. Esses projetos tambm apresentam menos oportunidade de uso da anlise de pontos de funo. Nesse caso tambm ideal a utilizao da contagem por linhas de cdigo e a experincia de quem est fazendo a manuteno. Caso o tamanho final da aplicao aps a manuteno aps a manuteno deva ser calculada, deve-se utilizar a mesma documentao para projetos de Production Support.

51

5.1 Exemplo de Anlise de Pontos de Funo de um Projeto de Manuteno

A Anlise de Pontos de Funo de um projeto de manuteno envolve a contagem de trs componentes de funcionalidade: a funcionalidade da aplicao, a funcionalidade de converso e a aplicao do fator de ajuste. A funcionalidade da aplicao composta por pontos de funo referentes funcionalidade que includa no sistema, funcionalidade que sofreu alterao, e funcionalidade que foi excluda durante a manuteno. A funcionalidade de converso o resultado da contagem dos pontos de funo entregues na aplicao, como resultado da funcionalidade de converso solicitada pelo usurio. A aplicao do fator de ajuste efetuada depois de determinados os nmeros obtidos pela contagem das influncias das 14 Caractersticas Gerais do Sistema, antes do incio e depois do trmino da manuteno. Para ilustrar a utilizao da Anlise de Pontos de Funo em projetos de manuteno de aplicaes, apresentado a seguir um exemplo prtico. As frmulas para o clculo so apresentadas no final do exemplo. A documentao necessria para a contagem :


Layout dos arquivos internos afetados e/ou includas pela manuteno Layout dos arquivos de interface afetados e/ou includas pela manuteno.

Impresso das telas de entrada de dados afetados e/ou includas pela manuteno.

 

Impresso das telas de consulta afetadas e/ou includas pela manuteno. Exemplos de cada relatrio do sistema afetados e/ou includas pela manuteno.

Uma aplicao deve ser alterada e foram previstas alteraes, incluses e excluses de funcionalidade. As seguintes etapas sero cumpridas para a Anlise de Pontos de Funo do projeto de manuteno:

52

1. 2. 3. 4. 5. 6. 7. 8.

Descrio do escopo do projeto de manuteno do sistema Layout das telas, arquivos e relatrios afetados, e/ou includos no sistema Identificao das modificaes, incluses e excluses no sistema Classificao das funes includas, excludas e modificadas no sistema Clculo dos pontos de funo no ajustados das incluses, excluses e modificaes no sistema Clculo do novo fator de ajuste dos pontos de funo Clculo dos pontos de funo ajustados do projeto de manuteno Clculo dos pontos de funo ajustados aps o projeto de manuteno

5.1.1 Descrio do escopo do projeto de manuteno do sistema

Descrio: O usurio solicitou alteraes no sistema implantado. O principal objetivo da alterao a incluso da figura do vendedor dentro de certas transaes e adicionar novas funes, descritas a seguir:        Incluso de um arquivo de vendedores. Alterao da tela de pedido, possibilitando a incluso de um campo com o cdigo do vendedor. Incluso de um relatrio listando os pedidos dos clientes, em uma data especificada. Sua execuo ser realizada atravs da tela de menu. Manuteno do cadastro de vendedores. Excluso do relatrio de clientes inativos do sistema. aplicativo ser executado em um equipamento j existente, com vrios outros aplicativos em paralelo. Sero necessrios ajustes de performance no banco de dados, principalmente para suportar a transao de pedido de cliente, que a mais utilizada no sistema. Deve ser includa uma opo de visualizao grfica em vdeo dos cinco maiores clientes atravs da comparao do percentual das suas compras no ano corrente.

5.1.2

Layout das telas, arquivos e relatrios afetados, e/ou includos no sistema

Os arquivos, telas e relatrios afetados e/ou includos no sistema devem ser analisados. Os layouts das modificaes e incluses esto apresentados a seguir. Quadro 17 Layout do cadastro de pedidos (alterado)
Item de dados Nmero-pedido Cdigo-produto Cdigo-cliente Quantidade Preo-unitrio Data-pedido Cdigo-vendedor Pedidos Tamanho 10 12 6 12 12 8 6 Tipo Numrico Numrico Numrico Numrico Numrico Numrico Numrico

53

Quadro 18 Layout do cadastro de vendedores (includo)


Item de dados Cdigo-vendedor Nome-vendedor Data-admisso Cargo Filial Vendedores Tamanho 6 30 8 15 15 Tipo Numrico Alfa Numrico Alfa Alfa

Figura 22 Layout da tela Pedido de Clientes (alterado) Pedido de clientes Nmero do pedido [ ] Cdigo cliente [ ] Cdigo produto [] Data pedido [ ] Cdigo vendedor [ ] Quantidade [] Preo unitrio []

Arquivos referenciados: clientes, produtos, pedidos e vendedores Dados: 7 campos Regras: Verificar se existe pedido, produto, cliente e vendedor.

Figura 23 Layout da tela Cadastramento de Vendedores Cadastramento de vendedores Operao [ ] Cdigo vendedor [ ] Nome vendedor [ ] Data admisso [ ] Cargo [ ] Filial [ ] [I]ncluso [A]lterao [C]onsulta [E]xcluso

Arquivos referenciados: vendedores Dados: 5 campos Regras: Verificar se a operao vlida e se o vendedor existe.

54

Figura 24 Layout do Menu do sistema (alterado) Menu de Seleo 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Auxlio [ ]

Incluso de clientes Alterao de dados de clientes Consulta ao cadastro de clientes Excluso de clientes Incluso de produtos Alterao de dados de produtos Consulta ao cadastro de produtos Excluso de produtos Pedidos de clientes Relao de pedidos Data desejada [ ] Cadastramento de vendedores Grfico comparativo dos 5 maiores clientes Opo desejada [ ]

Figura 25 Layout da tela de Comparao entre os cinco maiores clientes


Maiores Clientes

Legenda: A 10% B 13 % C 17 % D 32 % E 28 %

Arquivos referenciados: histrico de clientes (para identificar os cinco clientes que possuem o maior volume de compras) e clientes (atravs do campo cdigo do cliente do cadastro histrico de clientes, acessamos o nome do cliente no cadastro de clientes) Figura 26 Layout da Relao de Pedidos de Clientes Relao de Clientes Data do pedido [ ] Nmero ........... ........... Nome Cliente .................... .................... Cdigo produto ....................... ....................... Valor do pedido ....................... ....................... Data __/__/__ Pgina __

55

5.1.3

Identificao das modificaes, incluses e excluses no sistema

A seguir (Quadro 19), a representao geral das modificaes e incluses de funes no sistema. Quadro 19 Modificaes e incluses de funes no sistema Arquivos Lgicos Internos (ALI) Arquivos de Interface Externa (AIE) Entradas Externas (EE) Cadastro de clientes, Cadastro de produtos, Cadastro de pedidos (funo alterada), Cadastro de vendedores (funo includa) Histrico de clientes, Cadastro de senhas

Sadas Externas (SE) Consultas Externas (CE) Observaes: 1. 2. 3.

Incluso de clientes, Alterao de clientes, Excluso de clientes, Incluso de produtos, Alterao de produtos, Excluso de produtos, Pedido de clientes (funo alterada) Cadastramento de Vendedores Incluso (Funo includa), Cadastramento de Vendedores Alterao (Funo includa), Cadastramento de Vendedores Excluso (Funo includa) Relao de clientes, Relao de produtos, Relao de pedidos de clientes (Funo includa), Comparao entre os 5 maiores clientes (Funo includa) Consulta de clientes, Consulta de produtos, Telas de auxlio, Relao de clientes inativos (Funo excluda), Cadastramento de vendedores Consulta (Funo includa)

4.

A tela de Identificao no contada como funo j que no prov segurana da aplicao, apenas segurana de acesso. A tela Menu do sistema, como s prov seleo de telas, no considerada como funo. A funo Relao de pedidos de clientes uma sada externa, pois possui dados derivados (campo valor-pedido, cujo valor calculado pela multiplicao dos campos Quantidade e Preo-unitrio). A funo Comparao entre os cinco maiores clientes possui dados derivados e mesmo com sada em vdeo considerada uma Sada Externa.

5.1.4

Classificao das funes includas, excludas e modificadas no sistema

As funes includas, excludas e modificadas foram analisadas (Quadro 20) segundo as quantidades de Dados Elementares Referenciados (DER), Arquivos Lgicos Referenciados (ALR) e Registros Lgicos Referenciados (RLR). Quadro 20 Funes includas, excludas e modificadas no sistema Tipo de funo Arquivos Lgicos Internos Funo Cadastro de clientes DER: 15 RLR: 1 Cadastro de produtos DER: 13 RLR: 1 Grau Simples

Simples

Tipo de funo Funo

Grau

56

Cadastro de pedidos (funo alterada) DER: 7 RLR: 1 Cadastro de vendedores (funo includa) DER: 5 RLR: 1 Arquivos de Histrico de Clientes Interface DER: 3 (cdigo do cliente, total-compra-ano, total-compra-msExternas atual) RLR: 1 Arquivo de Senhas DER: 3 (usurio, senha e data de validade) RLR: 1 Entradas Incluso de clientes Externas DER: 16 (15 campos, mensagens de erro) ALR: 1 Alterao de clientes DER: 16 (15 campos, mensagens de erro) ALR: 1 Excluso de clientes DER: 2 (cdigo do cliente e mensagens de erro) ALR: 1 Incluso de produtos DER: 14 (13 campos, mensagens de erro) ALR: 1 Alterao de produtos DER: 14 (13 campos, mensagens de erro) ALR: 1 Excluso de produtos DER: 2 (cdigo de produto e mensagens de erro) ALR: 1 Pedido de clientes (funo alterada) DER: 8 (6 campos, mensagens de erro, cdigo do vendedor) ALR: 4 (clientes, produtos, pedidos e vendedores) Cadastramento de vendedores Incluso (funo includa) DER: 7 (5 campos, operao, mensagens de erro) ALR: 1 (vendedores) Cadastramento de vendedores Alterao (funo includa) DER: 7 (5 campos, operao, mensagens de erro) ALR: 1 (vendedores) Cadastramento de vendedores Excluso (funo includa) DER: 3 (Cdigo do vendedor, operao, mensagens de erro) ALR: 1 (vendedores) Sadas Externas Relao de clientes DER: 10 (9 campos e total de clientes) ALR: 1 Relao de produtos DER: 7 ALR: 1 Relao de pedidos de clientes DER: 5 (pedido-clientes e clientes, para acessar o nome-cliente) ALR: 2 Comparao entre os cinco maiores clientes (funo includa) DER: 2 (nome-cliente, percentual-participao) ALR: 2 (clientes, histrico-clientes) Tipo de funo Funo

Arquivos Lgicos Internos

Simples

Simples

Simples

Simples

Mdia

Mdia

Simples

Simples

Simples

Simples

Complexa

Simples

Simples

Simples

Simples

Simples

Simples

Simples

Grau

57

Consultas Externas

Consulta de clientes: Grau da parte de entrada: Simples DER: 2 (cdigo do cliente e mensagens de erro) ALR: 2 (clientes e histrico de clientes) Grau da parte de sada: Mdia DER: 14 (12 de clientes e 2 de histrico de clientes) ALR: 2 Consulta a produtos: Grau da parte de entrada: Simples DER: 2 (cdigo do produto e mensagens de erro) ALR: 1 (cadastro de produtos) Grau da parte de sada: Simples DER: 12 (cdigo do produto no considerado) ALR: 1 Relao de clientes inativos (funo excluda) Cadastramento de vendedores Consulta (funo includa) Grau da parte de entrada: Simples DER: 3 (cdigo do vendedor, mensagens de erro, operao) ALR: 1 Grau da parte de sada: Simples DER: 4 (nome-vendedor, data-admisso, cargo e filial) ALR: 1 Telas de Auxlio O conjunto de telas de auxlio considerado por definio, uma consulta externa de grau simples, independentemente de sua quantidade.

Mdia

Simples

Mdia Simples

Resumindo as funes modificadas e includas, temos o seguinte panorama: Funes includas ALI Cadastramento de vendedores EE Cadastramento de vendedores Incluso Cadastramento de vendedores Alterao Cadastramento de vendedores Excluso SE Relao de pedidos Comparao entre os cinco maiores clientes CE Cadastramento de vendedores - Consulta Funes alteradas ALI Cadastro de pedidos de clientes EE Pedido de clientes Funes excludas CE Relao de clientes inativos

Grau Simples Grau Simples Grau Simples Grau Simples Grau Simples Grau Simples Grau Simples

Grau Simples Grau Complexo

Grau Mdio

5.1.5

Clculo de PFs Brutos das modificaes no sistema


A contagem dos pontos de funo no ajustados efetuada separadamente para cada caso de

modificao: funes includas, funes excludas e funes alteradas (antes e depois do projeto de manuteno).

58

Tabela 7 Total de PFs das funes includas


Tipo de funo Complexidade Funcional 1 Simples Arquivo Lgico Interno 0 Mdia 0 Complexa 3 Simples Entradas Externas 0 Mdia 0 Complexa 2 Simples Sadas Externas 0 Mdia 0 Complexa 1 Simples Consultas Externas 0 Mdia 0 Complexa Total de pontos de funo no ajustados x 7= x 10 = x 15 = x 3= x 4= x 6= x 4= x 5= x 7= x 3= x 4= x 6= Total Complexidade 7 0 0 9 0 0 8 0 0 3 0 0 27 3 8 9 7 Total tipo funo

Tabela 8 Total de PFs das funes excludas


Tipo de funo Complexidade Funcional 0 Simples Consultas Externas 1 Mdia 0 Complexa Total de pontos de funo no ajustados x 3= x 4= x 6= Total Complexidade 0 4 0 4 4 Total tipo funo

Tabela 9 Total de PFs das funes alteradas antes projeto de manuteno


Tipo de funo Complexidade Funcional Total Complexidade 1 Simples Arquivo Lgico Interno 0 Mdia 0 Complexa 0 Simples Entradas Externas 0 Mdia 1 Complexa Total de pontos de funo no ajustados x 7= x 10 = x 15 = x 3= x 4= x 6= 7 0 0 0 0 6 13 6 7 Total tipo funo

Tabela 10 Total de PFs das funes alteradas aps projeto de manuteno


Tipo de funo Complexidade Funcional Total Complexidade 1 Simples Arquivo Lgico Interno 0 Mdia 0 Complexa 0 Simples Entradas Externas 0 Mdia 1 Complexa Total de pontos de funo no ajustados x 7= x 10 = x 15 = x 3= x 4= x 6= 7 0 0 0 0 6 13 6 7 Total tipo funo

59

5.1.6

Clculo do novo fator de ajuste dos pontos de funo

O projeto de manuteno requer algumas consideraes especiais, j que o sistema ser executado em um equipamento que suporta outros aplicativos. Das 14 Caractersticas Gerais do Sistema, somente o fator Configurao do equipamento foi afetado. O novo grau desse item 2. Novo nvel de influncia = 17.
,947/0, :890       

Fator de ajuste = 17 * 0,01 + 0,65 = 0,82

5.1.7

Clculo dos pontos de funo ajustados do projeto de manuteno

A Equao 3 utilizada para o clculo do tamanho em pontos de funo do projeto de manuteno : Equao 3 Clculo de Pontos de Funo do Projeto de Manuteno
!   % !  (    

PFM = [(27+ 13+ 0) * 0,82] + (4* 0,81) PFM = 36,04, onde: PFM INC ALT PFC FAD EXC FAA 36,04 Pontos de funo do projeto de manuteno. 27 Pontos de funo brutos que foram includos na aplicao pelo projeto de manuteno. Refletem as funes que foram adicionadas aplicao. 13 Pontos de funo que foram alterados na aplicao do projeto de manuteno. Refletem as funes que sofreram alterao. 0 So os pontos de funo que foram adicionados pelo processo de converso. 0,82 Fator de ajuste da aplicao depois do projeto de manuteno. 4 Pontos de funo brutos que foram excludos da aplicao pelo projeto de manuteno. 0,81 Fator de ajuste da aplicao antes do projeto de manuteno.

5.1.8

Clculo dos pontos de funo ajustados aps o projeto de manuteno

Quando um projeto de manuteno terminado, as contagens de pontos de funo da aplicao devem ser atualizadas para refletir as manutenes realizadas. A funcionalidade da aplicao pode ser alterada de vrias maneiras. Pode ocorrer a adio de novas funes, o que acarreta no aumento do tamanho da aplicao. A alterao de funes pode aumentar, diminuir ou mesmo no alterar o tamanho de uma aplicao. A excluso de funes diminui o tamanho do sistema. A mudana no fator de ajuste tambm pode causar o aumento, diminuio ou mesmo no alterar o tamanho de uma aplicao. A Equao 4 utilizada para o clculo dos pontos de funo de uma aplicao aps o projeto de manuteno.

60

Equao 4 Clculo aps Projeto de Manuteno


! !    %    %    ( 

FPA = [(79 + 27 + 13) (13) + 4)] * 0,82 FPA = 102 * 0,82 FPA = 83,64, onde: FPA PFB INC ALTD ALTA EXC FAD 83,64 So os pontos de funo ajustados da aplicao aps o projeto de manuteno. 79 So os pontos de funo brutos da aplicao antes do projeto de manuteno. 27 So os pontos de funo brutos que foram adicionados pelo projeto de manuteno. 13 So os pontos de funo brutos correspondentes s funes que sofreram alterao depois do projeto de manuteno. 13 So os pontos de funo brutos correspondentes s funes que sofreram alterao antes do projeto de manuteno. 4 So os pontos de funo brutos correspondentes s funes que foram excludas da aplicao pelo projeto de manuteno. 0,82 o fator de ajuste da aplicao verificado depois do projeto de manuteno.

61

6 PONTOS DE FUNO E ESTIMATIVAS

6.1 Estimativas de Tamanho de Projeto

O tamanho da aplicao que vai ser desenvolvida a principal varivel de entrada para o clculo das estimativas de esforo, custo e tempo. Normalmente essa varivel expressa em unidade de milhares de linhas de cdigo (KLOC) e derivada da estimativa do tamanho dos mdulos de software que iro constituir a aplicao ou programa. Essa mtrica preferida por muitas organizaes, pela facilidade com que pode ser contada e compreendida e por facilitar a contagem automatizada, porm difcil prever o total de linhas de cdigo logo no incio do projeto, quando devem ser elaboradas as estimativas. Nesses casos, a alternativa para medir o tamanho do software pode ser atravs da Anlise de Pontos de Funo. Pontos de funo podem ser utilizados como boas estimativas de tamanho porque so baseados em informaes que esto disponveis logo no incio do ciclo de vida do projeto. Tcnicas e modelos de estimativa so implementados em software e constituem ferramentas importantes para o planejador estimar custo, esforo e cronograma e realizar anlises dos resultados. Atualmente, um grande nmero de ferramentas de estimativa automatizadas esto disponveis e representam um bom mtodo para checagem com estimativas derivadas manualmente [Software, 1996]. Exemplos de ferramentas que implementam a Anlise de Pontos de Funo [Vigder, 1994]: SPQR (Software Productivity, Quality, and Reliability) Sizer/FP (Function Points), 1987, BYL (Before You Leap), 1986, ASSET-R (Analytical Software Size Estimation Technique - Real Time), 1987 e QSM (Quantitative Software Management, Inc.) Size Planner, 1987. As ferramentas de software que implementam o modelo COCOMO5 e os modelos Early Design e Post-Architecture do modelo COCOMO II permitem que o

COCOMO (COnstructive COst MOdel) uma hierarquia de modelos de estimativa de software que pode ser aplicado em trs classes distintas de projetos de software: projetos de software simples, projetos de software de nvel intermedirio, e projetos de software com restries operacionais, de hardware e de software [Boehm, 1981].

62

tamanho da aplicao possa ser estimado a partir de pontos de funo no ajustados, posteriormente convertidos em linhas de cdigo, de acordo com a linguagem de implementao escolhida (Assembly, linguagem de Quarta-Gerao, etc.). Exemplos de ferramentas que implementam os modelos COCOMO e COCOMO II so: REVIC (REVised Intermediate COCOMO) [Vigder, 1994], USC COCOMO [USC COCOMO, 2000], COSTAR [Softstar, 2000]. A Tabela 11 usada para converter pontos de funo no ajustados na quantidade equivalente de linhas de cdigo [COCOMOII, 2000].
Tabela 11 Converso de Pontos de Funo em Linhas de Cdigo [COCOMOII 1999]

Linguagem Ada AI Shell APL Assembly Assembly (Macro) ANSI/Quick/Turbo Basic Basic Compilado Basic Interpretado C C++

SLOC/UFP 71 49 32 320 213 64 91 128 128 29

Linguagem SLOC/UFP ANSI Cobol 85 91 Fortran 77 105 Forth 64 Jovial 105 Lisp 64 Modula2 80 Pascal 91 Prolog 64 Report Generator 80 Spreadsheet 6

6.1.1

A importncia da Base de Dados Histrica

Para que as organizaes possam efetuar estimativas mais precisas, necessrio que possuam informaes registradas de projetos anteriores. A falta de informaes de projetos passados e, s vezes, at mesmo de dados das estimativas iniciais do projeto atual, impede a anlise sistemtica por analogia entre projetos e qualquer tentativa de melhoria na preciso das estimativas [Vigder, 1994]. Alm disso, os principais modelos de predio para software foram desenvolvidos a partir de anlises do contexto de um conjunto de dados especfico. Portanto, para utilizao precisa, necessrio calibrar o modelo, ou mesmo customiz-lo, conforme a realidade da organizao [Fenton, 1991], o que somente possvel se a organizao possuir uma base histrica de observaes. A Tabela 12 mostra um exemplo de um conjunto de dados com uma srie histrica hipottica.

63

Tabela 12 Base de dados histrico [Fernandes, 1995]


Plataforma de Hardware Plataforma de Software Monitor de TP Linguagem de Programao Processo Itens A Tamanho Esforo H/M Prazo (meses) Custo $ Equipe Produtividade PF/H/M 300 10 5 48,8 2 30 B 500 16,67 6 80,016 3 30 Projetos C 800 32 8 153 4 25 D 1200 60 10 288 6 20 : Maniframe : : DB2 : CICS : CSP : Metodologia Estruturada

Gerenciador de Banco de Dados

O procedimento para elaborar estimativas realizar inferncias sobre a base de dados que contenha uma srie histrica (observaes) com informaes acerca de projetos j concludos, em termos de: plataforma de hardware/software, processo de desenvolvimento (metodologia empregada), prazo, esforo, custo e tamanho. A cada novo projeto da organizao, devem ser registrados os dados de estimativas tamanho, esforo e durao, dados do processo de estimativas e das eventuais suposies assumidas para o projeto, e no final tambm registrar os resultados reais de cada atividade de desenvolvimento que foi estimada. Essa abordagem de grande auxlio na elaborao de estimativas mais precisas no futuro [Wiegers, 2000]. O procedimento para realizar inferncia, a partir do tamanho do software em Pontos de Funo o seguinte [Fernandes, 1995]:

1. Determinar o Ambiente de Hardware/Software de desenvolvimento. A inferncia deve ser realizada para o mesmo ambiente em que ser desenvolvido o software.

2. Determinar o processo que ser utilizado para o desenvolvimento. A inferncia deve ser realizada para o mesmo processo que servir de base para o desenvolvimento. 3. Determinar as estimativas para o projeto.

64

Para os valores de tamanho de software diferentes dos existentes no conjunto de dados e que estejam compreendidos entre as amplitudes 300 e 1200 pode-se empregar o mtodo da interpolao aritmtica6, utilizando-se a Equao 5.
Equao 5 Interpolao Aritmtica

Y = Y0 +

X X0 (Y1 Y0 ) X1 X 0

6.2 Mtodo de Inferncia para Estimativa do Prazo do Projeto

A seguir ser apresentado um exemplo de inferncia na base de dados histrico (Tabela 12), utilizando-se a equao da interpolao aritmtica, de acordo com o procedimento especificado anteriormente.

Supondo uma estimativa de tamanho de 600 pontos de funo (entre 500 e 800 da tabela), as variveis da frmula assumem os seguintes valores: Yo = 6, Y1 = 8, X = 600, Xo = 500 e X1 = 800. Aplicando-se a Equao 5:

Y =6+

600 500 * (8 6) 800 500

Obtm-se Y = 6,6 meses.

6.3 Mtodos de Inferncia para Estimativa do Esforo do Projeto

O esforo estimado para um projeto medido pela alocao dos recursos humanos em termos de homem/ms ou homem/hora. Pode-se efetuar a inferncia na base de dados e obter a estimativa atravs da transformao por interpolao aritmtica ou o mtodo da transformao direta.

A interpolao aritmtica uma forma de determinar valores equidistantes entre dois pontos numa tabela.

65

6.3.1

Transformao por Interpolao

Nesse caso, para cada projeto, deve estar contido no conjunto de dados as taxas de produtividade correspondentes medidas para cada projeto.

6.3.2

Transformao Direta

Caso o conjunto de dados possua dados registrados da a produtividade mdia de desenvolvimento, pode-se realizar transformao direta. A seguir apresentado um exemplo de transformao direta.

Supondo-se que a produtividade mdia na plataforma mainframe, DB2, CICS e CSP seja Igual a 26,25 PFs/H/M e os pontos de funo estimados sejam 500. O clculo esperado efetuado a partir da Equao 6.

Equao 6 Transformao Direta de PFs em Esforo

Esforo =

(TamanhoEstimadodoSoftwareemPFs ) (Pr odutividadeMdiaemPFs / H / M ) (26.26 PF / H / M ) (500 PFs )


ou 19/h/m (por arredondamento).

Esforo =

Transformando em horas, considerando a jornada de 168 horas/ms, obtm-se o valor aproximado de 3.192 homens/hora de esforo.

66

7 CONCLUSO

A partir de um modesto incio como um conceito original de Allan Albrecht da IBM em 1979 at a criao de um grupo de trabalho na ISO sobre Medidas Funcionais de Tamanho em 1994, as medidas funcionais de tamanho (que incluem Pontos de Funo) tornaram-se um dos principais assuntos da rea de mtricas de software. O objetivo principal da Anlise de Pontos de Funo medir a funcionalidade de um software ou aplicativo, baseando-se primeiramente no projeto lgico e, de acordo com a perspectiva do usurio, para que possa ser independente de tecnologia. Os esforos promovidos pelo IFPUG para padronizao e divulgao da tcnica de anlise de pontos de funo tem contribudo para a evoluo e melhoria das regras de contagem consistncia entre os contadores. Existem vrias evidncias de que pontos de funo trazem benefcios s organizaes. Com o crescente aumento da complexidade dos sistemas e, consequentemente, dos prazos de desenvolvimento, necessrio estimar, cada vez mais cedo, os prazos para cada fase do ciclo de desenvolvimento de sistemas. O tamanho do software um parmetro importante para os modelos de estimativa e pode ser determinado em pontos de funo logo no incio, a partir das especificaes dos requisitos funcionais ou da especificao de projeto. Com o aumento das atividades da rea de informtica, reforada a necessidade de se acompanhar a produtividade das equipes de desenvolvimento, produtividade na manuteno de sistemas e ainda um programa de monitorao da qualidade do software. Pontos de funo podem prover uma unidade padro de medida de software, permitindo a criao de mtricas na rea de produtividade e qualidade de software. Furey [Furey, 1997] incentiva o uso de pontos de funo., pois acredita-se que o uso repetitivo dessa mtrica ajuda a normalizar os dados, possibilitando comparaes a nvel do mbito do projeto e expectativas de cliente. A Anlise de Pontos de Funo leva as organizaes a normalizar seus dados como custo, durao, defeitos, previso de pessoal, e assim por diante. Ela prov um modo melhor para comparar as organizaes e a produtividade de projeto, especialmente em casos de tecnologias diferentes.

67

Com tempo e oramento limitados, pontos de funo possibilitam que gerentes tomem decises mais objetivamente. Pontos de funo ajudam gerentes de projeto a compreender melhor e articular com clientes os impactos de mudana e melhorias requeridas. Gerentes de projeto podem utilizar dados de pontos de funo para negociar as mudanas, possivelmente adiando-as para uma futura entrega ou adicionando mais pessoas para trabalhar com as mudanas aceitas. Vrias instituies acadmicas de renome tm adotado pontos de funo no currculo de seus cursos de ps-graduao, nos programas de cincia da computao e nos cursos de MBA Mastering in Business Administration. As instituies acadmicas cuja adoo foi verificada pelo IFPUG so:

Y California Polytechnic State University,


San Luis Obispo, CA College of Business: Dr. Patricia McQuaid Software Quality Management course Systems Analysis & Design course College of Engineering, Computer Science Department: Dr. Sigurd Meldal, Dr. Dan Stearns First course in Software Engineering University of Pittsburgh Katz School: Dr. Chris Kemerer University of Southern California COMOCO II: Dr. Barry Boehm University of Tampa, Tampa, Florida Dr. Gordon Couturier Graduate & Undergraduate: Systems Analysis & Design Defense Acquisition University, Fort Lee, VA U. S. Army Logistics Management College: Major Mike Nelson Software Cost Estimating Carnegie Mellon University School of Computer Science, Masters Degree program: Dr. James Tomayko Managing Software Development University of Bari, Italy Department of Informatics: Dr. Giuseppe Visaggio Carleton University, Ontario, Canada Department of Systems and Computer Engineering: Dr. Lionel C. Briand University of Quebec at Montreal, Canada Software Engineering Management Research Laboratory: Dr. Alain Abran Monash University, Melbourne, Australia School of Business Systems: Mr. Kevin B.G. Luxford Project Management

Y Y Y Y

Y Y Y Y Y

Y University of Washington, Seattle


Computer and Science Engineering: Dr. Paul R. Stephens

68

Y UC Berkeley

Brief component of a Project Management certificate program

Y UC Santa Cruz Extension Y

The Art of a Successful Test Plan and S/W Metrics: Dr. Alka Shah-Jarvis Mr. Ron

S/w Metrics for S/W Project Mgt & Process Improvement: Nusenoff Air Force Institute of Technology Wright-Patterson Air Force Base, Ohio: Mr. Daniel Ferens

No Brasil tambm tem havido um crescente interesse por pontos de funo e suas aplicaes. O SERPRO, uma empresa de processamento de dados do Ministrio da Fazenda, terminou recentemente a implantao da Anlise de Pontos de Funo na SUNAT (Superintendncia de Negcios Administrao Tributria). Tambm foi desenvolvida uma ferramenta de apoio ao processo de dimensionamento de sistemas usando a tcnica de Anlise de Pontos de Funo, a qual foi chamada de Estimativa A Unisys Eletrnica, empresa que promoveu o 1 ENUPF Encontro Nacional de Usurios de Pontos de Funo, em 1991, outra empresa que se destaca no uso de pontos de funo. Outras empresas que adotaram pontos de funo so: COAMO, Objetiva, Varig, e WEG [Braga, 1996] e a CELEPAR - Companhia de Informtica do Paran. Existem na literatura outras mtricas funcionais que foram propostas para medir o tamanho funcional do software; entre elas os Pontos de Caracterstica e os Pontos de Funo Mark II. Feature Points ou Pontos de Caracterstica foram desenvolvidos em 1986 pelo Software Productivity Research (SPR) [FPFAQ, 2000]. Ela surgiu do reconhecimento de que algumas classes de aplicaes no se adequavam Anlise de Pontos de Funo, como as aplicaes de controles de processos em tempo-real, otimizao matemtica e sistemas embutidos. Essa tcnica considera o nmero de algoritmos usados na aplicao e modifica algumas das medidas que constituem os Pontos de Funo tradicionais. A tcnica foi documentada por Capers Jones [Jones, 1996]. Pontos de Caracterstica no possuem o mesmo nvel de aceitao que os Pontos de Funo, nem possuem organizaes de padronizao tais como o IFPUG. A tcnica de Pontos de Funo Mark II [FPFAQ, 2000] foi proposta para corrigir deficincias na tcnica proposta por Albrecht. Symons desenvolveu a abordagem Mk II como forma de corrigi-las. Essa tcnica surgiu do trabalho de

69

Charles Symons em 1984, contratado como consultor de metodologias da empresa Nolan, Norton & Co., uma parte da empresa KPMG Management Consulting, para clientes que queriam melhorar a performance em desenvolvimento de sistemas. Em 1987 a abordagem Mk II se tornou um produto licenciado.

70

8 REFERNCIAS BIBLIOGRFICAS

[Albrecht, 1979]

Albrecht, Allan J., "Measuring Application Development Productivity", Proceedings SHARE/GUIDE IBM Applications Development Symposium, Monterey, CA., Oct 14-17, 1979. Azevedo, Douglas Jos Peixoto. Anlise de Pontos por Funo para Aplicaes Orientadas a Documentos. Dissertao de Mestrado, UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL, 1999. Brazilian Function Points Users Group [on-line] [05/02/2000] Disponvel na Internet: <www.bfpug.com.br>. BOEHM, B.W. Software Engineering Economics. Englewwod Clifs, NJ: Prentice-Hall, 1981. BRAGA, Antnio. Anlise de pontos por funo. Rio de Janeiro: Infobook, 1996. COCOMO II [on-line] [05/02/2000] <http://sunset.usc.edu/index.html>. Disponvel na Internet:

[Azevedo, 1999]

[BFPUG, 2000]

[Boehm, 1981]

[Braga, 1996]

[COCOMOII, 2000]

[Conte, 1986]

CONTE, S.D.; SHEN V.Y. Software Engineering Metrics and Models. Menlo Park, California: Benjamin/Cummings Publishing, 1985. Software Cost Modeling Systems Version 4.1 East Tennessee State University [on-line] [05/02/2000] Disponvel na Internet: <http://csvaxsrv.east-tenn-st.edu/~dsgnstudio/cosmos/download.html>. Costar Version 5 Softstar Systems [on-line] [05/02/2000] Disponvel na Internet: <http://www.softstarsystems.com/demo.htm>. Carol, A. D. Managing (the Size of) Your Projects. A Project Management Look at Function Points. Quality Plus Technologies, Inc. [on-line] [05/02/2000] Disponvel na Internet: <www.bfgup.com.br>. Fenton, N. E. Software Metrics: a rigorous approach. Londres: Chapman & Hall, 1991. FERNANDES A. A. Gerncia de Software atravs de mtricas: garantindo a qualidade do projeto, processo e produto. So Paulo: Atlas, 1995. Function Point Frequent Asked Questions [on-line] [05/02/2000] Disponvel na Internet: <http://ourworld.compuserve.com/homepages/softcomp/fpfaq.htm>. FUREY, Sean. Why We Should Use Function Points. IEEE Software. Los Alamitos, v.14, n. 2, p.3, Mar./Apr. 1997. Funcion Points Counting Practice Manual. Release 4.0. Westerville, Ohieo, 1994 [on-line] [05/02/2000] Disponvel na Internet: <www.ifpug.org>. International Function Points Users Group [on-line] [05/02/2000] Disponvel na Internet: <www.ifpug.org>.

[COSMOS, 2000]

[Costar, 2000]

[Dekkers, 1998]

[Fenton, 1991]

[Fernandes, 1995]

[FPFAQ, 2000]

[Furey, 1997]

[IFPUG, 1994]

[IFPUG, 2000]

71

[Jones, 1996]

JONES, Carpers. Applied Software Measurement: assuring productivy and quality. New York: McGraw-Hill, 1996. PRESSMAN, R. Software Engineering: A Practitioners Approach. 4th. Ed. New York: McGraw-Hill, 1997. SOFTWARE, Software Size, Cost and Schedule Estimation Process V 2.1. [on-line]. Space and Naval Warfare Systems Center, Software Enginnering Process Office SEPO, San Diego, 1996. [29/01/99]. Disponvel na Internet: <http://sepo.nosc.mil/docs.html>. USC COCOMO II-2000 Version 0 [on-line] [05/02/2000] Disponvel na Internet: <http://sunset.usc.edu/j_cocomo/cocomo.html>. VIGDER, M. R.; Kark, A. W. Kark. Software Cost Estimation and Control [on-line]. National Research Council Canada, Institute for Information Technology, 1994. [03/02/99/]. Disponvel na Internet: <http://wwwsel.iit.nrc.ca/abstracts/NRC37116.abs>. Karl, W. Stop Promising Miracles. In: Software Development. p. 49-54 February 2000.

[Pressman, 1997]

[Software, 1996]

[USC COCOMO II, 1997]

[Vigder, 1994]

[Wiegers, 2000]

Anda mungkin juga menyukai