Você está na página 1de 5

Medidas de tamanho de desenvolvimento e de melhorias de software por Caio Juliano Paro (cparo@dba.com.

br) Introduo Vivenciamos no dia-a-dia das empresas de tecnologia (em particular, as que desenvolvem solues de software), a disseminao, amadurecimento e aplicao de conceitos relacionados gerncia de projetos. Com o crescimento e fortalecimento da principal associao profissional nesse assunto, o PMI (Project Management Institute), essas empresas buscam no aprimoramento de suas tcnicas de gerenciamento, obter um diferencial competitivo no mercado de desenvolvimento de software. Fazendo parte do processo de gesto, surge como uma necessidade fundamental na rea de gerenciamento de projetos de desenvolvimento de software, a adoo de um processo eficiente e simples para medio do tamanho dos projetos de desenvolvimento e melhoria de sistemas. Esse artigo visa apresentar algumas tcnicas padro para determinar esse tamanho. Razes para Medir Existem diversos motivos que levam as empresas a adotarem um processo para medir o tamanho dos projetos de desenvolvimento de sistemas: Prover subsdio para determinar esforo, recursos, durao e custo do desenvolvimento; Gerenciar contratos de software; Indicar a qualidade do produto; Formar uma baseline para estimativas; Avaliar a produtividade do processo.

Tipos de Medidas de Tamanho de Desenvolvimento de Sistemas Abaixo, esto relacionadas algumas tcnicas padro para determinar o tamanho do desenvolvimento de sistemas. Linhas de Cdigo A tcnica de mensurao por linhas de cdigo (LOC Lines of Code) uma das medidas mais antigas para determinao do tamanho, esforo e, conseqentemente, produtividade no desenvolvimento de software. Ela consiste basicamente na contagem da quantidade do nmero de linhas de cdigo de um programa de software. uma tcnica de fcil automao, eliminando esforos manuais. Porm, uma tcnica que conta com muitas desvantagens. Podemos citar, entre elas, o fato de que inexato ter que medir a produtividade de um projeto de desenvolvimento com a sada de somente uma das fases (fase de codificao); a experincia do desenvolvedor, pois o nmero de linhas de cdigo pode variar de pessoa a pessoa; a diferena entre linguagens (o nmero de linhas de cdigo de uma aplicao desenvolvida em Cobol certamente diferente da quantidade de linhas de cdigo da mesma

aplicao desenvolvida em linguagem C); a ausncia de padres de contagem, j que no h uma definio de certas caractersticas, como a contagem de comentrios, declaraes de dados, e a incapacidade de medio do tamanho de um sistema em fases iniciais de desenvolvimento, tornando o gerenciamento do projeto um tanto quanto complicado. Anlise de Pontos de Funo (APF) Podemos citar a tcnica de Anlise de Pontos de Funo (APF) como a mais utilizada no mercado para mensurao do tamanho de projetos de desenvolvimento e melhoria de sistemas. Criada no incio da dcada de 70 por Alan Albrecht na IBM, a Anlise de Pontos de Funo consiste na determinao do tamanho funcional do sistema atravs da viso do usurio do mesmo, independente da tecnologia utilizada. A unidade de medida utilizada na determinao do tamanho do sistema o Ponto de Funo. Essa tcnica respaldada pelo IFPUG (International Function Point Users Group), que responsvel, entre outros, pela elaborao, manuteno e divulgao de um manual de prticas de contagem (CPM Counting Practices Manual), atualmente em sua verso 4.2.1, alm de manter um programa de certificao para profissionais especializados em aplicar a tcnica de APF (CFPS Certified Function Point Specialist). Essa tcnica conta com vrios benefcios e vantagens para utilizao: uma ferramenta para determinar o tamanho de um pacote de aplicao adquirido atravs da contagem de todas as funes includas no pacote; Um fator de normalizao para comparao de software; Um meio para estimar custo e recursos requeridos para o desenvolvimento e manuteno de software; Uma ferramenta para medir as unidades de um produto de software para suportar a anlise de qualidade e produtividade; Promove benchmarking entre vrias organizaes; Manuteno de dados histricos; Pode medir o tamanho em qualquer fase do ciclo de vida do desenvolvimento de sistema.

Podemos citar tambm algumas desvantagens, como a necessidade de um bom nvel de experincia no assunto para efetuar uma contagem acurada; a incapacidade de automao do processo de contagem, sendo necessria a contagem manual; a necessidade significativa de um nvel de detalhe de informaes do software para uma medio mais confivel (entradas, sadas, consultas, registros, bases, etc), entre outros. Esta tcnica conta com uma srie de variaes, que buscam aprimorar conceitos existentes e acrescentam outros na contagem. Podemos citar como as principais variantes da APF: 1- Mark II (ou MK II) Essa tcnica foi criada por Charles Symons como um mtodo proprietrio da empresa KPMG nos anos de 1985/86, sendo atualmente de domnio pblico e regida pela UKSMA (United Kingdom Software Metrics Association). Visa melhorar a escala de tamanho funcional, contando mais apuradamente a complexidade de processamento interno de Sistemas de

Informaes Gerenciais. Uma das diferenas principais entre APF e MK II que a primeira tcnica conta Arquivos Lgicos uma vez para cada parte de software sendo mensurada, enquanto que a MK II conta tipos de entidade toda vez que elas so referenciadas em cada transao lgica. Segundo o manual do MK II, as duas mtricas pontuam similarmente os projetos com at 400 pontos de funo. Ultrapassando esse valor, a tendncia que a mtrica MK II pontue valores maiores que a APF. 2- Feature Points Criado no final dos anos 80 por Capers Jones, este modelo visa acrescentar um novo item contagem tradicional de Pontos de Funo. Alm das funes de dados (Arquivos Lgicos Internos e Arquivos de Interface Externa) e funes de transao (Entradas Externas, Sadas Externas e Consultas Externas), foi embutido o item de anlise de algoritmos. Prope resolver as dificuldades que a tcnica de Anlise de Pontos de Funo apresenta quando conta sistemas em tempo real de controle de processos e outros que apresentam alta complexidade algortmica. Alm disso, o mtodo tambm reduz os pesos empricos das funes de dados e de transao. Este mtodo no tem muita aceitao devido dificuldade inerente de unificar maneiras padro de definir e atribuir um peso para algoritmos de tamanho e complexidade aumentados. 3- COSMIC FFP A tcnica nomeada COSMIC-FFP (Common Software Measurement International Consortium Full Function Points) foi lanada em 2000, atravs do consrcio chamado COSMIC, liderado por Alain Abran e Charles Symons. Baseada na tcnica de FFP, que foi criada por um grupo da Universidade de Quebec em Montreal, Canad, a COSMIC-FFP intencionada a contar alm de Sistemas de Informaes Gerenciais, as aplicaes em tempo real e multiplataforma. Ela no leva em conta a manipulao de dados complexos (algoritmos) e requerimentos tcnicos e de qualidade. Existem muitos estudos acerca dessa mtrica, e possvel o crescimento da utilizao da mesma no mercado. UCP Use Case Points Tcnica proposta em 1993 por Gustav Karner para medir o tamanho de projetos de software orientados a objeto, o Use Case Points (ou Pontos por Caso de Uso) explora o modelo e a descrio do caso de uso, substitui algumas caractersticas tcnicas propostas pela APF, cria os fatores ambientais e prope uma estimativa de produtividade. um mtodo simples e fcil de se utilizar. Porm, conta com algumas desvantagens, como: s pode ser utilizado por empresas que adotem os casos de uso como forma de expresso dos requisitos; no conta com um instituto que mantenha as regras de contagem do UCP; ainda est em fase de pesquisas, sendo pouco utilizado se comparado com a APF, entre outros. Assim como a tcnica COSMIC-FFP, possvel o crescimento da utilizao da mesma no mercado.

Concluso Atravs desse levantamento bsico das tcnicas de medio de tamanho de software, fica evidente que a tcnica de Anlise de Pontos de Funo mudou o paradigma de contagem, pois alm da forte difuso no mercado, outras tcnicas derivaram de seus conceitos bsicos visando o aperfeioamento. Podemos destacar tambm os estudos acerca das tcnicas COSMIC-FFP e Use Case Points, que tendem a se intensificar e difundir no mercado. Bibliografia PMI SP - http://www.pmisp.org.br/exe/pmi/instituto.asp Gomes, Alvaro Eduardo. Mtricas e Estimativas de Software - O incio de um rally de regularidade. http://www.linhadecodigo.com.br/artigos.asp?id_ac=102&sub=0 Symons, Charles. Come Back Function Point Analysis (Modernized) All is Forgiven! http://www.lrgl.uqam.ca/publications/pdf/647.pdf Andrade, Edmia Leonor Pereira. Pontos de Caso de Uso e Pontos de Funo na gesto de estimativa de tamanho de projetos de software orientados a objetos http://www.bfpug.com.br/Artigos/UCP/Tese%20Edmeia.zip Aguiar, Mauricio. Pontos de Funo ou pontos por caso de uso? http://www.bfpug.com.br/Artigos/UCP/AguiarPontos_de_Funcao_ou_Pontos_por_Caso_de_Uso.pdf Hazan, Claudia. Implantao de um processo de medies de software. http://www.bfpug.com.br/Artigos/Palestra%20_Medicoes%20Claudia%20Hazan.pdf AZEVEDO, DOUGLAS JOS PEIXOTO. Anlise de Pontos por Funo para Aplicaes Orientadas a Documentos http://celepar7cta.pr.gov.br/Celepar/SiteCel.nsf/0/eeeadf84dc199adc83256a320015bf56/$FIL E/DissertacaoDouglas.htm. Maro de 1999. Gollapudi, Kurmanadham V.V.G.B., Global Microsoft Business Unit, Wipro Technologies. Function Points or Lines of Code? - An Insight http://www.gotdotnet.com/Community/UserSamples/Download.aspx? SampleGuid=791516BD-B0EF-491A-BE1E-0D622776197B Vasquez, Carlos Eduardo. Anlise de pontos de funo: medio, estimativas e gerenciamento de projetos de software / Carlos Eduardo Vasquez, Guilherme Siqueira Simes, Renato Machado Albert. 1. ed. So Paulo: rica, 2003. IFPUG - International Function Point Users Group. Function Point Counting Practices Manual (CPM), Release 4.2.1. Janeiro, 2005. COSMIC Common Software Measurement International Consortium. COSMIC-FFP Measurement Manual, Version 2.2. Janeiro, 2003.

UKSMA United Kingdom Software Metrics Association. MK II Function Point Analysis Counting Practices Manual, Version 1.3.1. Setembro , 1998. Sobre o autor: Caio Juliano Paro tem 24 anos, formado em Tecnologia de Processamento de Dados pela FATEC SP, e atualmente estuda o curso de Especializao em Anlise e Projeto de Sistemas, tambm na FATEC-SP. Possui a certificao CFPS Certified Function Point Specialist, e trabalha com a tcnica de Anlise de Pontos de Funo h cerca de dois anos, tanto na elaborao e validao de contagens quanto na divulgao da tcnica atravs de apresentaes e treinamentos.