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 sot!are), a dissemina"o, amadurecimento e aplica"o de conceitos relacionados # ger$ncia de pro%etos. Com o crescimento e ortalecimento da principal associa"o proissional nesse assunto, o P&' (Pro%ect &anagement 'nstitute), essas empresas buscam no aprimoramento de suas t(cnicas de gerenciamento, obter um dierencial competitivo no mercado de desenvolvimento de sot!are. )a*endo parte do processo de gest"o, surge como uma necessidade undamental na +rea de gerenciamento de pro%etos de desenvolvimento de sot!are, a ado"o de um processo eiciente e simples para medi"o do taman,o dos pro%etos de desenvolvimento e mel,oria de sistemas. -sse artigo visa apresentar algumas t(cnicas padr"o para determinar esse taman,o. Razes para Medir -.istem diversos motivos que levam as empresas a adotarem um processo para medir o taman,o dos pro%etos de desenvolvimento de sistemas/ Prover subs0dio para determinar esoro, recursos, dura"o e custo do desenvolvimento1 2erenciar contratos de sot!are1 'ndicar a qualidade do produto1 )ormar uma baseline para estimativas1 3valiar a produtividade do processo. Tipos de Medidas de Tamanho de Desenvolvimento de Sistemas 3bai.o, est"o relacionadas algumas t(cnicas padr"o para determinar o taman,o do desenvolvimento de sistemas. Linhas de Cdigo 3 t(cnica de mensura"o por lin,as de c4digo (56C 7 5ines o Code) ( uma das medidas mais antigas para determina"o do taman,o, esoro e, conseq8entemente, produtividade no desenvolvimento de sot!are. -la consiste basicamente na contagem da quantidade do n9mero de lin,as de c4digo de um programa de sot!are. : uma t(cnica de +cil automa"o, eliminando esoros manuais. Por(m, ( uma t(cnica que conta com muitas desvantagens. Podemos citar, entre elas, o ato de que ( ine.ato ter que medir a produtividade de um pro%eto de desenvolvimento com a sa0da de somente uma das ases (ase de codiica"o)1 a e.peri$ncia do desenvolvedor, pois o n9mero de lin,as de c4digo pode variar de pessoa a pessoa1 a dierena entre linguagens (o n9mero de lin,as de c4digo de uma aplica"o desenvolvida em Cobol certamente ( dierente da quantidade de lin,as de c4digo da mesma aplica"o desenvolvida em linguagem C)1 a aus$ncia de padres de contagem, %+ que n"o ,+ uma deini"o de certas caracter0sticas, como a contagem de coment+rios, declaraes de dados, e a incapacidade de medi"o do taman,o de um sistema em ases iniciais de desenvolvimento, tornando o gerenciamento do pro%eto um tanto quanto complicado. Anlise de Pontos de Funo (APF) Podemos citar a t(cnica de 3n+lise de Pontos de )un"o (3P)) como a mais utili*ada no mercado para mensura"o do taman,o de pro%etos de desenvolvimento e mel,oria de sistemas. Criada no in0cio da d(cada de ;< por 3lan 3lbrec,t na '=&, a 3n+lise de Pontos de )un"o consiste na determina"o do taman,o uncional do sistema atrav(s da vis"o do usu+rio do mesmo, independente da tecnologia utili*ada. 3 unidade de medida utili*ada na determina"o do taman,o do sistema ( o Ponto de )un"o. -ssa t(cnica ( respaldada pelo ')P>2 ('nternational )unction Point >sers 2roup), que ( respons+vel, entre outros, pela elabora"o, manuten"o e divulga"o de um manual de pr+ticas de contagem (CP& 7 Counting Practices &anual), atualmente em sua vers"o ?.@.A, al(m de manter um programa de certiica"o para proissionais especiali*ados em aplicar a t(cnica de 3P) (C)PB 7 Certiied )unction Point Bpecialist). -ssa t(cnica conta com v+rios bene0cios e vantagens para utili*a"o/ : uma erramenta para determinar o taman,o de um pacote de aplica"o adquirido atrav(s da contagem de todas as unes inclu0das no pacote1 >m ator de normali*a"o para compara"o de sot!are1 >m meio para estimar custo e recursos requeridos para o desenvolvimento e manuten"o de sot!are1 >ma erramenta para medir as unidades de um produto de sot!are para suportar a an+lise de qualidade e produtividade1 Promove benc,marCing entre v+rias organi*aes1 &anuten"o de dados ,ist4ricos1 Pode medir o taman,o em qualquer ase do ciclo de vida do desenvolvimento de sistema. Podemos citar tamb(m algumas desvantagens, como a necessidade de um bom n0vel de e.peri$ncia no assunto para eetuar uma contagem acurada1 a incapacidade de automa"o do processo de contagem, sendo necess+ria a contagem manual1 a necessidade signiicativa de um n0vel de detal,e de inormaes do sot!are para uma medi"o mais coni+vel (entradas, sa0das, consultas, registros, bases, etc), entre outros. -sta t(cnica conta com uma s(rie de variaes, que buscam aprimorar conceitos e.istentes e acrescentam outros na contagem. Podemos citar como as principais variantes da 3P)/ 1- Mark II (ou MK II) -ssa t(cnica oi criada por C,arles BDmons como um m(todo propriet+rio da empresa EP&2 nos anos de AFGHIGJ, sendo atualmente de dom0nio p9blico e regida pela >EB&3 (>nited Eingdom Bot!are &etrics 3ssociation). Visa mel,orar a escala de taman,o uncional, contando mais apuradamente a comple.idade de processamento interno de Bistemas de 'normaes 2erenciais. >ma das dierenas principais entre 3P) e &E '' ( que a primeira t(cnica conta K3rquivos 54gicosL uma ve* para cada parte de sot!are sendo mensurada, enquanto que a &E '' conta Ktipos de entidadeL toda ve* que elas s"o reerenciadas em cada transa"o l4gica. Begundo o manual do &E '', as duas m(tricas pontuam similarmente os pro%etos com at( ?<< pontos de un"o. >ltrapassando esse valor, a tend$ncia ( que a m(trica &E '' pontue valores maiores que a 3P). 2- Feature Points Criado no inal dos anos G< por Capers Jones, este modelo visa acrescentar um novo item # contagem tradicional de Pontos de )un"o. 3l(m das unes de dados (3rquivos 54gicos 'nternos e 3rquivos de 'nterace -.terna) e unes de transa"o (-ntradas -.ternas, Ba0das -.ternas e Consultas -.ternas), oi embutido o item de an+lise de algoritmos. Prope resolver as diiculdades que a t(cnica de 3n+lise de Pontos de )un"o apresenta quando conta sistemas em tempo real de controle de processos e outros que apresentam alta comple.idade algor0tmica. 3l(m disso, o m(todo tamb(m redu* os pesos emp0ricos das unes de dados e de transa"o. -ste m(todo n"o tem muita aceita"o devido # diiculdade inerente de uniicar maneiras padr"o de deinir e atribuir um peso para algoritmos de taman,o e comple.idade aumentados. 3- COSMIC FFP 3 t(cnica nomeada C6B&'C-))P (Common Bot!are &easurement 'nternational Consortium 7 )ull )unction Points) oi lanada em @<<<, atrav(s do cons4rcio c,amado C6B&'C, liderado por 3lain 3bran e C,arles BDmons. =aseada na t(cnica de ))P, que oi criada por um grupo da >niversidade de Muebec em &ontreal, Canad+, a C6B&'C-))P ( intencionada a contar al(m de Bistemas de 'normaes 2erenciais, as aplicaes em tempo real e multiplataorma. -la n"o leva em conta a manipula"o de dados comple.os (algoritmos) e requerimentos t(cnicos e de qualidade. -.istem muitos estudos acerca dessa m(trica, e ( poss0vel o crescimento da utili*a"o da mesma no mercado. UCP Use Case Points N(cnica proposta em AFFO por 2ustav Earner para medir o taman,o de pro%etos de sot!are orientados a ob%eto, o >se Case Points (ou Pontos por Caso de >so) e.plora o modelo e a descri"o do caso de uso, substitui algumas caracter0sticas t(cnicas propostas pela 3P), cria os atores ambientais e prope uma estimativa de produtividade. : um m(todo simples e +cil de se utili*ar. Por(m, conta com algumas desvantagens, como/ s4 pode ser utili*ado por empresas que adotem os casos de uso como orma de e.press"o dos requisitos1 n"o conta com um instituto que manten,a as regras de contagem do >CP1 ainda est+ em ase de pesquisas, sendo pouco utili*ado se comparado com a 3P), entre outros. 3ssim como a t(cnica C6B&'C-))P, ( poss0vel o crescimento da utili*a"o da mesma no mercado. Concluso 3trav(s desse levantamento b+sico das t(cnicas de medi"o de taman,o de sot!are, ica evidente que a t(cnica de 3n+lise de Pontos de )un"o mudou o paradigma de contagem, pois al(m da orte dius"o no mercado, outras t(cnicas derivaram de seus conceitos b+sicos visando o apereioamento. Podemos destacar tamb(m os estudos acerca das t(cnicas C6B&'C-))P e >se Case Points, que tendem a se intensiicar e diundir no mercado. Bilio!rafia P&' 7 BP - ,ttp/II!!!.pmisp.org.brIe.eIpmiIinstituto.asp 2omes, 3lvaro -duardo. &(tricas e -stimativas de Bot!are - 6 in0cio de um rallD de regularidade. ,ttp/II!!!.lin,adecodigo.com.brIartigos.aspPidQacRA<@SsubR< BDmons, C,arles. Come =acC )unction Point 3nalDsis (&oderni*ed) 7 3ll is )orgivenT - ,ttp/II!!!.lrgl.uqam.caIpublicationsIpdIJ?;.pd 3ndrade, -dm(ia 5eonor Pereira. Pontos de Caso de >so e Pontos de )un"o na gest"o de estimativa de taman,o de pro%etos de sot!are orientados a ob%etos ,ttp/II!!!.bpug.com.brI3rtigosI>CPINeseU@<-dmeia.*ip 3guiar, &auricio. Pontos de )un"o ou pontos por caso de usoP ,ttp/II!!!.bpug.com.brI3rtigosI>CPI3guiar- PontosQdeQ)uncaoQouQPontosQporQCasoQdeQ>so.pd Va*an, Claudia. 'mplanta"o de um processo de medies de sot!are. ,ttp/II!!!.bpug.com.brI3rtigosIPalestraU@<Q&edicoesU@<ClaudiaU@<Va*an.pd 3W-V-X6, X6>253B J6B: P-'Y6N6. 3n+lise de Pontos por )un"o para 3plicaes 6rientadas a Xocumentos - ,ttp/IIcelepar;cta.pr.gov.brICeleparIBiteCel.nsI<IeeeadG?dcAFFadcGO@HJaO@<<AHbHJIZ)' 5-IXissertacaoXouglas.,tm. &aro de AFFF. 2ollapudi, Eurmanad,am V.V.2.=., 2lobal &icrosot =usiness >nit, [ipro Nec,nologies. )unction Points or 5ines o CodeP - 3n 'nsig,t - ,ttp/II!!!.gotdotnet.comICommunitDI>serBamplesIXo!nload.asp.P Bample2uidR;FAHAJ=X-=<-)-?FA3-=-A--<XJ@@;;JAF;= Vasque*, Carlos -duardo. 3n+lise de pontos de un"o/ medi"o, estimativas e gerenciamento de pro%etos de sot!are I Carlos -duardo Vasque*, 2uil,erme Biqueira Bimes, \enato &ac,ado 3lbert. 7 A. ed. 7 B"o Paulo/ :rica, @<<O. ')P>2 - 'nternational )unction Point >sers 2roup. )unction Point Counting Practices &anual (CP&), \elease ?.@.A. Janeiro, @<<H. C6B&'C 7 Common Bot!are &easurement 'nternational Consortium. C6B&'C-))P &easurement &anual, Version @.@. Janeiro, @<<O. >EB&3 7 >nited Eingdom Bot!are &etrics 3ssociation. &E '' )unction Point 3nalDsis Counting Practices &anual, Version A.O.A. Betembro , AFFG. Sore o autor" Caio Juliano Paro tem @? anos, ( ormado em Necnologia de Processamento de Xados pela )3N-C 7 BP, e atualmente estuda o curso de -speciali*a"o em 3n+lise e Pro%eto de Bistemas, tamb(m na )3N-C-BP. Possui a certiica"o C)PB 7 Certiied )unction Point Bpecialist, e trabal,a com a t(cnica de 3n+lise de Pontos de )un"o ,+ cerca de dois anos, tanto na elabora"o e valida"o de contagens quanto na divulga"o da t(cnica atrav(s de apresentaes e treinamentos.