Você está na página 1de 8

Estimativas de tamanho de software e APF

"A estimativa de tamanho de software o corao do processo de estimativas de um projeto de software" . (PUTMAN,1992) As mtricas de tamanho de software surgiram com o objetivo de estimar o esforo(nmero de pessoas-hora) e o prazo associados ao desenvolvimento de sistemas. Para saber o custo de um projeto de software precisamos saber o esforo necessrio para desenvolv-lo e para determinar o esforo precisamos saber o tamanho do projeto de software. Desta forma , determinar o tamanho de um projeto de software uma das primeiras e principais atividades relacionadas s estimativas a serem efetuadas durante o clico de vida do projeto. Realizar uma estimativa de tamanho de um projeto no uma tarefa trivial , pois exige um conhecimento sobre tcnicas de estimativas , base histrica e conhecimento sobre o projeto a ser estimado. De acordo com Tom Demarco (DEMARCO,1991) as duas principais maneiras de estimar o tamanho de um projeto de software so : 1-) Por Analogia As estimativas de tamanho do projeto atual so baseadas em estimativas j realizadas em projetos similares. 2- ) Realizando medies das caractersticas do produto e usando uma metodologia e algoritmo para converter a medio em uma estimativa de tamanho. Existem vrias tcnicas de estimativas de tamanho de software , e a seguir so apresentadas , de forma resumida, as mais importantes: COCOMO ( Constructive Cost Model) [COCOMOII] Modelo desenvolvido para estimar o esforo de desenvolvimento, prazos e tamanho da equipe para projetos de software. Utiliza equaes desenvolvidas por Boehm (BARRY,1981) para prever o nmero de programadores-ms e o tempo de desenvolvimento; podem ser calculados usando medidas de linhas de cdigo ou Pontos de Funo. Devem ser realizados ajustes nas equaes a fim de representar as influncias sobre os atributos , hardware e software durante o ciclo de vida do projeto. Uma desvantagem desta tcnica que os coeficientes da mtrica (a,b,c,d) no so aplicveis a tamanho ou seja a produtividade diferente, o que torna difcil realizar comparaes. Linhas de Cdigo (LOC) A tcnica de mensurao por linhas de cdigo uma das mais antigas medidas de tamanho de projeto de desenvolvimento de software. Ela consiste na contagem da quantidade de nmero de linhas de cdigo de um programa de software. Alm de ser muito simples tambm muito fcil automatizar sua implementao , mas, apresenta algumas desvantagens dentre as

quais citamos: a dependncia da linguagem de software e do desenvolvedor (PRESSMAN,1995); ausncia de padro de contagem e o fato de somente poder ser aplicada na fase de codificao. Metricas de Hasltead um conjunto de mtricas proposto por Maurice Halstead (HASLTEAD,1977). O princpio desse mtodo est na anlise e quantificao de operandos e operadores e no conceito de que a partir do conhecimento das medidas, consegue-se quantificar os vocbulos e a extenso do algoritmo do estudo. Puttnams Slim Model (PUTMAN,1978) um modelo de estimativa que busca medir esforo e prazo atravs da dinmica de mltiplas variveis que pressupe distribuio de esforos especficos ao longo da existncia de um projeto de software. Relaciona o nmero de linhas de cdigo ao tempo e esforo de desenvolvimento. Uma desvantagem da tcnica sua vinculao a linguagem usada e a exigncia de certo tempo para obter-se valores reais para os parmetros da frmula. Delphi uma tcnica que se resume consulta de especialistas de determinada rea, em determinada linguagem e/ou determinado assunto para que, usando sua experincia e entendimento do projeto proposto, faam estimativas devidas. Devem ser feitas vrias estimativas do mesmo projeto, pois comum que elas carreguem influncias e tendncias dos especialistas. um mtodo emprico, baseado em experincias profissionais que podem ser subjetivas.(Boehm,1981) PSP Personal Software Process (HUMPHREY,1995) uma tcnica derivada do SEI-CMM (Software Engineering Institute Capability Matutiry Model) que foi desenvolvida com a funo de capacitar , melhorar e otimizar o processo individual de trabalho. A tcnica divide-se em sete etapas, sendo que nas etapas PSP0, PSP0.1 e PSP1 estima-se o tamanho e o tempo necessrio para o desenvolvimento do produto. PCU Pontos por Caso de Uso Foram criados por Gustav Karner em 1993 como uma adaptao especfica dos Pontos de Funo para medir o tamanho de projetos de software orientados a objeto. Explora o modelo e descrio do caso de uso, substituindo algumas caractersticas tcnicas proposta pelos Pontos de Funo. um mtodo simples e de fcil utilizao mas ainda esta em fase de pesquisas e no existem regras de contagem padronizadas. Tm se estudado a aplicao em conjunto da PCU e APF tentando explorar a relao entre elas existente.(EDMIA,2004) Anlise por Pontos de Funo (ALBRECHT,1983) Busca medir a complexidade do produto pela quantificao de funcionalidade expressa pela viso que o usurio tem do mesmo. O modelo mede o que o sistema , o seu tamanho funcional e no como este ser, alm de medir a relao do sistema com usurios e outro sistemas. independente da tecnologia usada e mede uma aplicao pelas funes desempenhadas para/e por solicitao do usurio final.; podendo tambm ser usada em estimativas.

Contagem de Pontos de Funo segundo o NESMA Netherlands Function Point Users Group (NESMA,2005). Alm do IFPUG , o NESMA tambm promove o uso de pontos de funo e publica o seu prprio manual de contagem complacente com o manual do IFPUG. O manual da NESMA apresenta trs tipos de contagens por pontos de funo: a contagem indicativa de ponto de funo, a contagem estimada de ponto de funo e a contagem detalhada de pontos de funo. A contagem indicativa muito usada , nela so identificados os grupamentos de dados relativos natureza do negcio, conforme a viso do usurio. Estes grupamentos so classificados como Internos (mantidos pela aplicao e Externos (referenciados ou consultados pela aplicao). Para calcular o tamanho de uma aplicao em Pontos de Funo no Ajustados (PFNA) a NESMA recomenda a seguinte frmula: PFNA = ( 35 * I) + ( 15 * E ).

A estimativa de tamanho de um projeto de software uma atividade crtica pois tem um impacto tanto na soluo tcnica apresentada como no gerenciamento do projeto de software devendo ser efetuada no somente no incio do projeto mas durante o ciclo de vida do projeto. As tcnicas apresentadas acima so apenas algumas dentre as muitas existentes, sendo que cada uma abrange uma determinada rea; no existe uma mtrica que completa o estudo por si s, desta forma, recomenda-se que seja utilizada a tcnica mais adequada para medir projeto de software ou a utilizao de mais de uma tcnica em conjunto. Dentre as tcnicas descritas, a mais popular atualmente a tcnica de Anlise por Pontos de Funo. Esta tcnica respaldada pelo IFPUG (International Function Point Users Group), que responsvel, entre outros, pela elaborao e divulgao de um manual de prticas de contagem (CPM Counting Practices Manual), alm de manter um programa de certificao de profissionais especializados em aplicar a tcnica APF. A Anlise de Pontos de Funo (APF) uma das mtricas de estimativa de tamanho mais sedimentadas no mercado e que proporciona resultados cada vez mais precisos medida que artefatos da fase de anlise e projeto so gerados (CALDIEIRA et al., 1998).

Anlise por Pontos de Funo


A tcnica da Anlise por Pontos de Funo APF , surgiu na IBM, no incio da dcada de 70, como uma alternativa s mtricas baseadas em linhas de cdigo. Os conceitos desta tcnica foram introduzidos por Allan J. Albrecth, em uma conferncia do GUIDE Grupo de Usurios IBM, em 1979. A tcnica foi refinada por Albert em 1984 , e , a partir desta data houve um aumento considervel na sua utilizao , o que levou a necessidade de definir um padro para aplicao da tcnica. Com este objetivo foi criado em 1986 o International Function Point Users Group (IFPUG) que passou a ser responsvel pela definio das regras de contagem, treinamento e certificao dos usurios da tcnica. Em 1990 foi lanada a primeira verso do Manual de Prticas de Contagem ou CPM Counting Practices Manual com o objetivo de padronizar a tcnica. (VAZQUEZ,2005)

Atualmente a APF a tcnica mais usada para estimativa de tamanho de software. Em 1998, foi constitudo o BFPUG Brazilian Function Point Users Group o representante do IFPUG no Brasil. Uma pesquisa realizada pela Secretaria de Poltica de Informtica SEPIN , em 2001, indicou que a utilizao da APF vem crescendo no Brasil, conforme mostra a tabela 2.1: Tabela 2.1: Mtricas primitivas utilizadas para medir a qualidade dos processos de software. Categorias Linhas de cdigo ( LOC ) Pontos por funo ( Function Point ) Outras mtricas No utiliza Base N de organizaes 25 43 26 363 446 Fonte: SEPIN , 2005 A APF tem como objetivo medir o tamanho do projeto de software a partir do ponto de vista do usurio do software, levando em conta basicamente as caractersticas do sistema do ponto de vista da sua fronteira com o usurio independente da tecnologia usada. A unidade de medida o Ponto de Funo e representa a quantificao das funes implementadas sob o ponto de vista do usurio, ou seja , as funcionalidades fornecidas ao usurio. A APF permite uma contagem indicativa no incio do projeto , quando no se conhece os detalhes do modelo de dados; podendo ser definida na fase de projeto quando se tm um maior conhecimento das funes do software, gerando uma estimativa; at o trmino do desenvolvimento quando se efetua uma contagem detalhada com base no conhecimento das funes levantadas durante todo o processo de desenvolvimento do software. (IFPUG,1999) Pode-se enumerar os principais objetivos da APF, que segundo o IFPUG , so: Medir o que foi requisitado e recebido pelo usurio; Medir independentemente da tecnologia utilizada para implementao; Prover uma mtrica de medio para apoiar a anlise de produtividade e qualidade; Prover uma forma de estimar o tamanho de software, e Prover um fator de normalizao para comparao de software. 5,6 9,6 5,8 81,4 100 Percentual(%)

Alm destes objetivos o processo de contagem de Pontos de Funo deve ser:

Simples para minimizar o trabalho adicional do processo de medio; Conciso para permitir consistncia, ao longo do tempo, dos projetos, e entre os usurios da tcnica.

Alm de ser usada para medir o tamanho de um projeto de software , quando usada em combinao com outras medidas , a APF pode ser usada para determinar: O nvel de produtividade da equipe; Esforo de desenvolvimento de software; O custo de software; Taxa de produo de software; Taxa de manuteno de software;

Devido a sua versatilidade a APF pode ser aplicada a aplicaes j implantadas bem como a aplicaes em desenvolvimento e tambm a aplicaes em manuteno conforme definio a seguir : Dimensionamento de uma aplicao Clculo usado para determinar o tamanho real de um projeto de software em pontos de funo. O valor representa a funcionalidade da aplicao do ponto de vista do usurio. No inclui as funes do processo de converso de dados. Dimensionamento de um projeto de desenvolvimento Clculo usado para determinar o tamanho em pontos de funo de um projeto de desenvolvimento de um novo projeto de software. Tm como objetivo quantificar as funes solicitadas e entregues ao usurio pela nova aplicao , incluindo o processo de converso de dados. Dimensionamento de um projeto de manuteno Clculo usado para determinar o tamanho de um projeto de manuteno em uma aplicao j existente. Tem como objetivo medir todas as modificaes (incluses, alteraes e excluses) de funes do usurio. Em geral a modificao uma melhoria ou adio de funcionalidade na aplicao. Inclui as funes providas pelo processo de converso de dados.

Considerando que a APF uma das tcnicas funcionais mais antigas, que possui um dos grupos de usurios mais bem estruturados e atuantes e que a partir de 2002 passou a condio de padro internacional atravs da norma ISO/IEC 20926 a tcnica pode ser considerada como uma das melhores alternativas de medio de tamanho do projeto de software. Alm de ser usada para determinar o tamanho do projeto de software e auxiliar na estimativa de esforo de desenvolvimento a APF pode ser usada na implantao de programas de mtricas para melhorar estimativas, gerenciar a qualidade e para monitorar

a produtividade, servindo tambm como um instrumento para acompanhar estimativas de custo e recursos requeridos para o desenvolvimento e manuteno de software. O procedimento para contagem de pontos de funo compreende sete etapas assim definidas: (DIAS,2004) Determinar o tipo de contagem O que vou medir ? Definio do objeto a ser medido como sendo um projeto de desenvolvimento, manuteno ou aplicao. Identificar o escopo de contagem e fronteira da aplicao Definio do escopo do sistema objeto da avaliao sob a perspectiva do usurio. So identificados todos os relacionamentos do sistema com o seu exterior , a persistncia de dados e os processos suportados pelo sistema. O escopo ir definir se a contagem ir abranger parte de um sistema ou mais de um sistema. Contagem de pontos de funo no ajustados Compreende o conjunto de funes disponibilizadas ao usurio. Segundo Albrecht (ALBRECHT,1983) , cinco tipos de componentes lgicos ou funes da aplicao (figura 2.2) afetam de forma distinta o tamanho de um sistema: funes do tipo dados ( Arquivos lgicos Internos ALI e Arquivos de Interface Externa AIE) e funes do tipo transao ( Entradas Externas EE, Sadas Externas SE e Consultas Externas CE). As funes do tipo dado e transao so classificadas de acordo com sua complexidade que pode ser baixa, mdia ou alta conforme definida em tabela do manual de contagem.

Figura 2.2: Fronteiras da aplicao e tipos de arquivos.(HAZAN,2001) Clculo do fator de ajuste O fator de ajuste baseado em 14 caractersticas gerais

de sistemas(ver ANEXO "A") que avaliam a funcionalidade geral da aplicao que esta sendo contada definindo os seus nveis de influncia. O nvel de influncia de uma caracterstica definido de acordo em uma escala de 0(nenhuma influncia) a 5 (forte influncia); Contagem dos Pontos de Funo ajustados Realiza a correo das possveis distores cometidas durante o clculo dos pontos de funo no ajustados. Dias (DIAS,2004) enumera os seguintes benefcios que podem ser alcanados com utilizao da APF em projetos de Software : Permite dimensionar o tamanho de um software a ser desenvolvimento; Permite realizar estimativas de custo, cronograma e recursos para o desenvolvimento e manuteno de softwares; Pode ser usada como uma unidade de medida para comparao entre projetos de softwares; Permite realizar um maior controle de qualidade sobre do projeto; Pode ser usada como uma ferramenta de auxlio gerencial; Pode ser usada para implantar um programa de mtricas; Pode ser usada como uma ferramenta para auxiliar a deciso entre a compra de um pacote ou o desenvolvimento do aplicativo da empresa.

A Anlise por Pontos de Funo mudou o paradigma da contagem e difundiu-se no mercado proporcionando um processo maduro para avaliar o tamanho lgico do software com base em requisitos funcionais dos usurios. Para Aguiar (AGUIAR,2003) , dentre as principais razes para a utilizao da APF como mtrica tm-se : Os PF so mantidos por uma organizao internacional sem fins lucrativos , o International Function Point Users Group IFPUG , desde 1986; Os PF possuem suporte no Brasil atravs do chapter Brazilian Function Point Users BFPUG; Os PF so padronizados pela ISSO atravs da norma ISSO/IEC 20296; Existe um grande acervo de dados sobe PF armazenados nas diversas organizaes o que permite estudos e comparaes; Os PF modelam os requisitos a um nvel de abstrao mais alto e independente dos artefatos e podem ser usados por organizaes que usam qualquer forma de representao de requisitos; Os PF so usados em contratos e licitaes no Brasil em organizaes governamentais e pelo mercado em geral.

Referncias: COCOMO Constructive Cost Model. Disponvel http://sunset.usc.edu/research/COCOMOII/ - Acesso em: set. 2005. em:

DEMARCO, TOM. Controle de Projetos de Software. 9.ed. Rio de Janeiro: Editora Campus, 1991. HAZAN, CLUDIA - Implantao de um Processo de medies de software agosto, 2002 . Disponvel em: http://www.bfpug.com.br/artigos.htm. Acesso em: out. 2005. HAZAN, CLUDIA - Anlise de Pontos por Funo agosto, 2001 . Disponvel em: http://www.inf.ufes.br/~falbo/download/aulas/es-g/2005-1/APF.pdf. Acesso em: out. 2005 McGARRY, J. et. Al. Pratical Software Measurement Addison-Wesley, 2002. SPR - Software Productivity Research Disponvel em: http://www.spr.com/. Acesso em: out. 2005. VAZQUEZ, C. E.;SIMES, G. S; ALBERT, R. M. Anlise de Pontos de Funo Medio, Estimativas e Gerenciamento de Projetos de Software. 3.ed. So Paulo: Editora rica, 2005.

Jos Carlos Macoratti

Você também pode gostar