DESENVOLVI MENTO EFI CI ENTE DE SOFT WARE BASEADO EM LI NGUAGEM JAVA NO CONTEXTO DOS MÉTODOS ÁGEI S

Tamanho: px
Começar a partir da página:

Download "DESENVOLVI MENTO EFI CI ENTE DE SOFT WARE BASEADO EM LI NGUAGEM JAVA NO CONTEXTO DOS MÉTODOS ÁGEI S"

Transcrição

1 FACULDADE SETE DE SETEMBRO FASETE Cur so de Bacharel ado em Si st emas de I nf or mação Br uno Ri car do Costa Nunes DESENVOLVI MENTO EFI CI ENTE DE SOFT WARE BASEADO EM LI NGUAGEM JAVA NO CONTEXTO DOS MÉTODOS ÁGEI S Paul o Af onso BA Nove mbr o 2007

2 Br uno Ri car do Costa Nunes DESENVOLVI MENTO EFI CI ENTE DE SOFT WARE BASEADO EM LI NGUAGEM JAVA NO CONTEXTO DOS MÉTODOS ÁGEI S Monogr afi a apr esentada ao cur so de Gr aduação, Bachar el ado e m Si st emas de I nf or mação da Facul dade Set e de Set embr o FASETE, como r equi sit o par a avali ação concl usi va. Sob a ori ent ação do pr of essor MSc I gor Medei r os Vanderl ei. Paul o Af onso BA Nove mbr o 2007

3 Br uno Ri car do Costa Nunes DESENVOLVI MENTO EFI CI ENTE DE SOFT WARE BASEADO EM LI NGUAGEM JAVA NO CONTEXTO DOS MÉTODOS ÁGEI S Monogr afi a Sub meti da ao cor po docent e da Facul dade Set e de Set embr o FASETE, co mo part e dos r equi sit os necessári os à obt enção do gr au de Bachar el em Si st emas de I nf or mação. Apr ovada por: Pr of. MSc. Ori ent ador I gor Medei r os Vanderlei Pr of. Esp. Ri car do Azevedo Porto Pr of. Esp. Henri que Agui ar Sá Vila Nova Juni or Paul o Af onso BA Nove mbr o 2007

4 AGRADECI MENTOS Pri mei r ament e a Deus, por t odas as bênçãos concedi das. Aquil o que mui t os consi der am sort e ou coi nci dênci a, obr as do mer o acaso, tr at a-se, na ver dade, da pr ovi dênci a di vi na. Aos meus pai s, que se mpr e fi zer am t odo o possí vel par a que eu ti vesse se mpr e a mel hor f or mação emoci onal, éti ca, educaci onal e pr ofi ssi onal. À mi nha esposa, sempr e a mor osa, paci ent e, dedi cada, ami ga, companhei r a e mai or i ncenti vador a, contri bui ndo ef eti vament e, e de di ver sas f or mas, par a a r eali zação dest e sonho. Ao meu ori ent ador, por t odas as contri bui ções of er eci das, não apenas ao l ongo do desenvol vi ment o deste tr abal ho, mas t ambé m dur ant e gr ande part e da mi nha vi da acadê mi ca, sempr e compr ometi do, dedi cado e at enci oso. Ao Pr of. El oy Lago Nasci ment o, pel as i nesti mávei s contri bui ções of er eci das par a o desenvol vi ment o da pesqui sa e constr ução dest e trabal ho. Á t odos os meus pr of essor es, pel as contri bui ções à mi nha f or mação acadê mi ca, que repr esent ar am engr andeci ment o e cr esci ment o pr ofi ssi onai s. Aos meus col egas de gr aduação, pel os mo ment os me mor ávei s por que passamos. Mui t o obri gado!

5 RESUMO Est e tr abal ho t em como obj eti vo apr esent ar um conj unt o mí ni mo de i nf or mações sobr e f err ament as e met odol ogi as de desenvol vi ment o de softwar e capazes de au ment ar, si gnifi cati va e obj eti vament e, a efi ci ênci a de desenvol vedor es e pr ogr amador es que se utili zam da li nguage m de pr ogr amação Java nos seus pr oj et os, em co mpar ação a t écni cas el ement ar es de pr ogr amação li nha a li nha. No desenvol vi ment o deste est udo, dest aca- se a r eali zação de pesqui sas bi bli ogr áfi cas e experi ment ai s a r espeit o das Met odol ogi as Ágei s de desenvol vi ment o de soft war e XP ( Extr eme Pr ogr ammi ng) e AM ( Agil e Modeli ng), dos fr amewor ks Hi ber nat e e Spri ng, das f err ament as Ant e J Unit, e da I DE Ecli pse. As pesqui sas pr oduzi r am dados que mostr ar am, de f at o, como t ai s met odol ogi as e f err ament as pode m mel hor ar a pr oduti vidade de pr ogr amador es e desenvol vedor es Java. As met odol ogi as XP e AM pode m contri buir na pr omoção, não apenas da efi ci ênci a no desenvol vi ment o de soft war e e m Java, como t ambé m na efi cáci a da r eali zação de pr oj et os de desenvol viment o de soft war e e m ger al. As pesqui sas t ambé m per mi tiram compr ovar a si gnifi cativa mel hori a da efi ci ênci a no desenvol vi ment o de soft war e e m Java, em co mpar ação a outr as f or mas mai s el ement ar es de pr ogr amação, obti da com a adoção da utili zação dos framewor ks e f err ament as est udados.

6 ABSTRACT Thi s wor k ai ms t o pr oduce a mi ni mu m set of i nf or mati on about t ool s and met hodol ogi es f or devel opment of soft ware abl e to i ncr ease i n a si gnifi cant and obj ecti ve way t he effici ency of devel oper s and pr ogr ammer s t hat make use of t he Java pr ogr ammi ng l anguage i n t hei r proj ect s, compari ng progr ammi ng basi c t echni ques li ne t o li ne. I n t he devel opment of t hi s st udy we poi nt out t he achi evement of bi bli ogr aphi cal and experi ment al r esear ch r egar di ng t he Agil e Met hodol ogi es of soft war e devel opment XP ( Extr eme Pr ogr ammi ng) and AM ( Agile Modeli ng), t he framewor ks Hi ber nat e and Spri ng, t he t ool s Ant and JUnit, and I DE Ecli pse. The sear ches pr oduced dat a t hat showed, i n f act, as such met hodol ogi es and t ool s can i mpr ove t he pr oducti vity of Java pr ogr ammers and devel oper s. The met hodol ogi es XP and AM can hel p i n pr omoti ng not onl y t he effi ci ency i n Java soft war e devel opment, as al so i n t he eff ecti veness of t he achi evement of soft war e devel opment pr oj ect s i n gener al. The r esear ch al so hel ped t o de monstr at e t he si gnifi cant i mpr ovement of effi ci ency i n Java soft war e devel opment, compari ng t o ot her most basi c pr ogra mmi ng f or ms got fr om t he adopti on of t he use of fr amewor ks and st udi ed t ool s.

7 LI STA DE I LUSTRAÇÕES 1. Sucesso de pr oj et os de desenvol vi ment o de soft war e nos USA em Fr eqüênci a de Utili zação de Funci onali dades, Si st emas Co mer ci ai s Tí pi cos ( USA) Ci cl o de Vi da do Pr ocesso XP Pr áti cas XP Exe mpl o de Cart ão de Tar ef as Exe mpl o de model o de i nt erf ace gr áfi ca ( esboço) Exe mpl o de esboço de Di agr ama de Fl uxo Exe mpl os de Cart ões CRC Exe mpl o de esboço Di agr ama de Cl asse Ranki ng das vi nt e mai s popul ar es li nguagens de pr ogr amação e m out ubr o de Evol ução, nos últi mos set e anos, das dez mai s popul ar es li nguagens de pr ogr amação em out ubr o de A pl at af or ma Ecli pse e al guns model os de plug-i ns ( por exempl o, JDT) Wor kbench Ecli pse com a per specti va Java ati va Ferr ament a wi zar d para cri ar uma cl asse Java Aj uda de cont ext o para r emoção de i mport ação Mét odos gett ers e setter s das pr opri edades códi go e dat a da cl asse Li st a Exe mpl o de ar qui vo buil d. xml no Ecli pse Edi t or vi sual de XML Um exempl o de buil dfile Umtr echo de buil dfil e de exempl o de utili zação de t ar ef as <cvs> Ferr ament a wi zar d para cri ar o reposit óri o CVS Exe mpl o de cl asse de t est e par a cl asse i mpl ement ada Exe mpl o de cl asse de t est e em TDD Exe mpl o de cl asse de composi ção de cl asses de t est e Ferr ament a wi zar d para cri ar um novo caso de t est e do JUnit Segunda aba da f err ament a wi zar d par a criar um New J Uni t Test Case, Test Met hods Tr echo de buil dfil e com t ar ef as <j unit >

8 28. Exe mpl o de cl asse de per si st ênci a JavaBean, Per son.j ava Exe mpl o de ar qui vo de mapea ment o OR, Person. hbm. x ml Exe mpl o de ar qui vo de confi gur ação do Hi bernat e, hi ber nat e. cf g. x ml Vi suali zações da per specti va Hi ber nat e Consol e Ferr ament a wi zar d de cri ação de umconsol e de confi gur ação Hi bernat e Ferr ament a wi zar d de cri ação do ar qui vo de confi gur ação Hi ber nate Ferr ament a wi zar d de cri ação de ar qui vos de mapea ment o Vi são ger al dos módul os do Spri ng Fr amework Tr echos de códi go de cl asses co m f ort e dependênci a, à esquer da, e co m f r aca dependênci a, à direit a, após i nj eção de dependênci a no spri ng. x ml Tr echo do ar qui vo spring. x ml de confi gur ação da dependênci a no Spri ng Tr echo do ar qui vo de confi gur ação do Spri ng Recur sos de ger enci ament o de ar qui vos de confi gur ação do Spri ng I DE Ferr ament a wi zar d de cri ação de um Spri ng Pr oj ect Adi ção da nat ur eza Spri ng a um pr oj et o pr é- exi st ent e Ferr ament a wi zar d para i nserir ar qui vos de confi gur ação no pr oj et o Janel a de sel eção de ar qui vo de confi gur ação do Spri ng Ferr ament a wi zar d de cri ação de um ar qui vo de confi gur ação do Spri ng Exe mpl o de um ar qui vo XML de met adados de confi gur ação do Spri ng Ar quit et ur a de alt o ní vel par a o i GCo mp Di agr ama de Cl asse igco mp Gr áfi co de alt o ní vel de abstr ação par a o i gco mp_ser vl et. xml Al guns r ecur sos de pl ug-i ns do Ecli pse Edi t or de di agr amas de cl asse do Amat er asuml

9 SUMÁRI O 1. I NTRODUÇÃO JUSTI FI CATI VA PROBLEMA HI PÓTESE OBJ ETI VOS Ger al Específi cos METODOL OGI A ORGANI ZAÇÃO DO TRABALHO DESENVOLVI MENTO ÁGI L MANI FESTO ÁGI L CONCEI TOS, DEFI NI ÇÕES E CARACTERÍ STI CAS DESENVOLVI MENTO ÁGI L NÃO É RAD POR QUE DESENVOLVI MENTO ÁGI L? METODOL OGI AS ÁGEI S EXTREME PROGRAMMI NG Fases Val or es Pri ncí pi os Pr áti cas Al gumas Críti cas AGI LE MODELI NG Pri ncí pi os Pr áti cas MA E XP MA nas f ases do XP Críti cas a MA... 52

10 3. DESENVOLVI MENT O EFI CI ENTE DE SOFT WARE COM BASE EM LI NGUAGEM JAVA POR QUE JAVA? PRI NCI PAI S FERRAMENTAS E FRAME WORKS ECLI PSE Pri nci pai s Recur sos Desenvol vi ment o Efi ci ent e no Ecli pse ANT Ant e I nt egr ação Contí nua Ant e Contr ol e de Ver sões JUNI T Cri ando casos de t est e co m o JUnit JUnit no Ecli pse HI BERNATE Por que Hi ber nat e? Confi gur ação e Mapea ment o Hi ber nat e no Ecli pse SPRI NG Cor e Spri ng Spri ng Cont ext Spri ng AOP Spri ng DAO Spri ng ORM Spri ng Web e Spri ng Web MVC Por que Spri ng? Met adados de Confi gur ação Spri ng no Ecli pse Spri ng e Hi ber nat e ANÁLI SE EXPERI MENTAL DE FERRAMENTAS E FRAME WORKS PROCEDI MENTOS PRÉ- REQUI SI TOS CONFI GURAÇÕES DE HARDWARE

11 4. 4. VERSÕES E CONFI GURAÇÕES DE SOFT WARE DOMÍ NI O DO ESTUDO DE CASO ANÁLI SE DOS DADOS JUnit Ant Hi ber nat e Spri ng Ecli pse RESULTADOS PESQUI SA BI BLI OGRÁFI CA Di scussão PESQUI SA EXPERI MENTAL Di scussão CONCLUSÃO CONTRI BUI ÇÕES TRABALHOS FUTUROS REFERÊNCI AS

12 1. I NTRODUÇÃO O pr esent e tr abal ho t em co mo t ema o desenvol vi ment o efi cient e de soft war e baseado e m li nguagem de pr ogr amação Java dentr o do cont ext o dos mét odos ágei s de desenvol vi ment o de soft war e. Tr at a-se da avali ação da capaci dade pr oduti va de f err ament as e fr amewor ks 1 de pr ogr amação em Java, que j á são bast ant e dif undi dos entr e pr ofi ssi onai s de pr ogr amação e consul t or es. São utili zados de modo i nt egr ado e pr omet em au ment ar, consi der avel ment e, a pr oduti vi dade do pr ocesso de pr ogr amação, quando compar ado com o modo convenci onal (li nha a li nha). Est es fr amewor ks e f err ament as f or am est udados e m consonânci a co m met odol ogi as ágei s de desenvol vi ment o de soft war e, que of er ecem u m conj unt o de pr áti cas que f avor ecem o pr ocesso de pr ogramação, t endo como mar co fil osófi co o Mani f est o Ágil 2. A compr eensão dest e mani f est o t er á papel essenci al par a f undament ar a mudança de par adi gma que aqui ser á compr eendi da, anali sada e di scuti da: a mudança do f oco pri nci pal dos art ef at os, pr ocessos e f err ament as par a os st akehol der s 3 e suas i nt er ações. Quando se f al a em conceit os como pr odutivi dade, agili dade e r api dez é essenci al dei xar evi dent e que, no â mbi t o da i nf or mát i ca, os aut or es ne m se mpr e f al am e m consonânci a a r espeito del es. He mr aj ani ( 2006, p. xx) f al a sobr e como execut ar rapi dament e o desenvol vi ment o Java coorpor ati vo utili zando- se um pr ocesso de desenvol vi ment o de soft war e vel oz/ mí ni mo. O mes mo t ambé m f al a que o uso de met odol ogi as de desenvol vi ment o ágil de soft war e pode m aj udar a acel er ar a entr ega do pr oj et o ( 2006, p. 4). Abr aha msson ( 2002, p. 7) consi der a agili dade a capaci dade de adequar-se a fr eqüent es mudanças de r equi sit os, que é cada vez mai s pr esent e nos proj et os at uai s, exi gi ndo u ma gr ande capaci dade adapt ati va no pr ocesso de desenvol vi ment o de soft war e. Ambl er ( 2002, p. 21) f ocali za a quest ão da i nefi ci ênci a e da i nefi cáci a de met odol ogi as tr adi ci onai s de desenvol vi ment o de soft war e que não são capazes de 1 Soft war e par a desenvol vi ment o de pr oj et os de soft war e que auxili a o pr ogr amador e m al t o ní vel de abstração, retirando-l he part e do trabal ho t edi oso de pr ogr amação em bai xo ní vel. 2 Manif est o par a o Desenvol vi ment o Ágil de Soft war e, cri ado e m 2001 por u m gr upo de pr ofi ssi onai s e consult or es experi ent es da área de desenvol vi ment o de softwar e nos USA. 3 Conj unt o de t odos os envol vidos em um mes mo pr ocesso de trabal ho.

13 12 at ender às r eai s necessi dades dos cli ent es. Tel es ( 2007) def ende que, e m se trat ando de desenvol viment o de soft war e, quando se f al a em Ágil, escrit a com i ni ci al mai úscul a, r ef er e-se ao Manif est o Ágil, cuj os pri ncí pi os devem ser segui dos e respeit ados. A t ecnol ogi a Java é o centr o do questi onament o dest e tr abal ho, onde ser á dada especi al at enção t ant o a sua máqui na vi rt ual, quant o a sua li nguage m de pr ogr amação. No que se r ef er e a f err ament as e fr amewor ks de desenvol vi ment o, ser ão abor dados Ecli pse, JUnit, Ant, Spri ng, Hi ber nat e e CVS 4 ( Concurr ent Ver si ons Syst em), que constitui r ão o f oco do est udo da efi ci ênci a no pr ocesso de desenvol vi ment o de soft war e com base emlinguage m Java JUSTI FI CATI VA Na at uali dade, a li nguage m de pr ogr amação Java, i ncl ui ndo sua pl at af or ma de desenvol vi ment o de soft war e, é, r econheci da ment e, a mai s a mpl ament e utili zada dentr e t odas as li nguagens de pr ogr amação exi st ent es no mundo, e j á mant ém est e tít ul o a mai s t empo do que qual quer outr a li nguage m de pr ogr amação f oi capaz ( TI OBE, 2007). Todo esse sucesso é, em gr ande part e, devi do a sua JVM 5 ( Java Vi rt ual Machi ne). A t ecnol ogi a Java é co mpost a, basi cament e, por uma li nguage m de pr ogr amação, um conj unt o de API 6 ( Appli cati on Pr ogr ammi ng I nt erf ace) e a JVM. Dentr e as car act erí sti cas que a f azem t ão be m sucedi da pode mos dest acar gr ande port abili dade, uso de tr eads, vast o conj unt o de API s, desal ocação di nâmi ca de me móri a, car ga di nâmi ca de códi go e trat ament o de exceções. Por outr o l ado, a li nguage m de pr ogr amação Java, pr opri ament e dit a, apesar de possui r car act erí sti cas comuns às moder nas li nguagens de pr ogr amação, como si mpli ci dade, l egi bili dade, ori ent ação a obj etos e her ança, ai nda recebe críti cas de pr ogr amador es que a consi der am pr oli xa e pouco pr oduti va. Port ant o, est a pesqui sa se j ustifi ca pel a necessi dade de expl or ar met odol ogi as, t écni cas, f err ament as e 4 Si st ema par a contr ol e de versões de soft war e. 5 Máqui na Vi rt ual Java. 6 Conj unt o de r oti nas e padr ões est abel eci dos por u m softwar e par a utili zação de suas f unci onali dades ( seus ser vi ços) em pr ogr amas semnecessi dade de envol ver-se em det al hes de i mpl ement ação.

14 13 framewor ks que per mi ta m pr ogr amar de modo efi ci ent e e pr oduti vo sem t er que abrir mão das mel hor es caract erí sti cas da li nguage m Java e de sua JVM. Uma quest ão i mportant e par a o cur so de Si st emas de I nf or mação é que a comuni dade ci entífi co-acadêmi ca pr eci za pr oduzi r mai s tr abal hos escrit os que abor de m a pr ogr amação e m Java sobr e est e pont o de vi st a, uma vez que a lit er at ur a exi st ent e é escassa e t em si do pr oduzi da, pri nci pal ment e, por pr ofi ssi onai s e consult or es da ár ea de desenvol vi ment o de soft war e. Par a se t er u ma i déi a, só nos últi mos doi s anos os escrit or es de li vr os de Engenhari a de Soft war e co meçar am a i ncl uir f or mal ment e o t er mo Desenvol vi ment o Ágil como seção de suas pr oduções, e, mes mo assi m, o t ema t emsi do abor dado de modo superfi ci al e i ncipi ent e. De modo mai s parti cul ar, o aut or dest e trabal ho possui um especi al apr eço pel a t ecnol ogi a Java, não apenas pel a r obust ez de sua máqui na vi rt ual ou pel os poder e est ensão de sua API, mas, pri nci pal ment e, pel as car act erí sti cas que t or nam est a li nguagem de pr ogr amação t ão atr aent e. Ver col egas de gr aduação se e mpol gar em com as vant agens que outr as t ecnol ogi as e linguagens de pr ogr amação of er ece m o l evou a questi onar se est e seri a o co meço do fi m da li nguage m Java. Entr et ant o, o desenvol vi ment o deste est udo l he devol veu a esper ança sobr e a conti nui dade do sucesso dest a t ecnol ogi a PROBLEMA Segundo o í ndi ce TI OBE 7 ( 2007), Java vem encabeçando a li st a das mai s popul ar es li nguagens de pr ogr amação desde o ano de Cont udo, sua popul ari dade ve m, gr adati vament e, di mi nui ndo, enquant o que l i nguagens de pr ogr amação co mo Perl, PHP e, mai s recent ement e, Ruby t êmse t or nado cada vez mai s popul ar es. O pont o comu m entr e est as li nguagens é que el as of er ecem gr ande pr oduti vi dade no desenvol vi ment o de si st emas, pri nci pal ment e par a Web. Cont udo, mes mo pr ogr amador es afi xi onados por li nguagens co mo PHP e Ruby r econhece m que t odo o poder e a segur ança of er eci dos pel as pl at af or mas Java não ser ão f acil ment e super ados, ou mes mo i gual ados, em curt o ou médi o pr azo, gr aças a t odos esses 7 Í ndi ce da Ti obe Soft war e que dá u ma i ndi cação da popul aridade de li nguagens de pr ogr amação co m base e m i nf or mações col et adas na I nt ernet.

15 14 anos de i nvesti ment os que f or am dedi cados ao seu desenvol vi ment o, pri nci pal ment e no que se r ef er e às suas API s. O pr obl ema pr opost o resi de nos segui nt es questi onament os: como t or nar o pr ocesso de pr ogr amação e m linguage m Java mai s efi ci ent e do que seri a e m co mpar ação com a pr ogr amação f eit a li nha a li nha? Quai s met odol ogi as, t écni cas, pr áti cas e f err ament as são capazes de t or nar a pr ogr amação e m Java mai s pr oduti va? Co mo mi ni mi zar o esti gma de que Java é mui t o robust a, mas sua li nguage m não f acilit a sufi ci ent ement e o trabal ho do pr ogr amador? HI PÓTESE Acr edit a-se ser perf eita ment e possí vel e vi ável t or nar mai s pr odutivo o pr ocesso de desenvol vi ment o de si st emas co m base e m li nguage m Java. Par a t ant o, é necessári o f azer uso de u m conj unt o de met odol ogi as e f err ament as que f avor eçam o desenvol vi ment o efi ci ent e de soft war e par a pl at af or mas Java, desde que utili zadas de modo har môni co e int egr ado. No que se r ef er e às met odol ogi as de desenvol vi ment o, destaca m- se aquel as consi der adas Ágei s, em parti cul ar o XP 8 ( Extr eme Pr ogr ammi ng) e o AM 9 ( Agil e Modeli ng). Est as met odol ogi as de desenvol viment o ágil de soft war e co mpl ement amse e devem ser utili zadas e m conj unt o par a pr omover mai or adequação à fil osofi a conti da no Manif est o Ágil e nos seus val or es e pri ncí pi os. Dentr e as f err ament as que pode m pr over mai or efi ci ênci a ao pr ocesso de desenvol vi ment o de soft war e, dest acam- se os segui nt es: Ecli pse, I DE 10 de códi go abert o par a a construção de pr ogramas de comput ador emli nguage m Java; Spri ng, fr amewor k de códi go abert o baseado nos padr ões de pr oj eto i nver são de contr ol e e i nj eção de dependênci a, encarregando- se de i nst anci ar cl asses de u ma apli cação Java e defi nir as dependênci as entr e el as, per mi ti ndo o bai xo acopl ament o entre cl asses de uma aplicação ori ent ada a obj et os; 8 9 Pr ogr amação Extr ema. Model agem Ágil. 1 0 I nt egr at ed Devel opment Environ ment, ambi ent e i nt egr ado de desenvol vi ment o de soft ware.

16 15 Hi ber nat e, f err ament a par a o Mapea ment o Obj et o- Rel aci onal que f acilit a o mapea ment o dos atri but os entr e u ma base t radi ci onal de dados r el aci onai s e o model o obj et o de uma apli cação; Ant, f err ament a par a aut omati zação de pr ocessos na constr ução de soft war e, que f avor ece pr ocessos como i nt egr ação contí nua; JUnit, f errament a par a cri ação aut omati zada de casos de t est es; CVS ( Concurr ent Versi ons Syst em) é u m Si st ema de Contr ol e de Ver sões, f err ament a de códi go abert o par a ger enci ament o de confi gur ação de soft war e, t ambé m mui to útil par a f avor ecer i ntegr ação contí nua de soft war e. Co mpl ement ando a hi pót ese, duas t ecnol ogi as of er ecem contri bui ção f unda ment al ao desenvol vi ment o ágil de apli cações, parti cul ar ment e volt adas par a a Web: o padr ão de pr oj et o MVC, Model - Vi ew- Contr oll er, que pr omove a separ ação da part e vi sual e do model o de i mpl ement ação, e a li nguage m de estil o CSS, Cascadi ng St yl e Sheet s, utili zada para pr over a separ ação entr e o f or mat o e o cont eúdo de document os escrit os emli nguage m de mar cação, como HTML OBJETI VOS Ger al Co mpr eender como um pr ofi ssi onal de pr ogramação, baseado e m li nguage m Java, pode se t or nar ai nda mai s efi ci ent e e m seus pr ocessos de desenvol vi ment o de soft war e, sem t er que abrir mão das vant agens que a li nguage m of er ece, t ai s co mo si mpli ci dade, l egi bili dade, or gani zação, desenvol vi ment o e m ca madas, ori ent ação a obj et os e her ança, e ne m se dei xar l evar por modi s mos de li nguagens de pr ogr amação, f err ament as ou fr amewor ks f ocados, essenci al ment e, na pr oduti vi dade, em detri ment o à agili dade, a exempl o das f err ament as RAD 11 ( Rapi d Appli cati on Devel opment) Específi cos Anali sar e avali ar as met odol ogi as XP e AM de desenvol vi ment o ágil de soft war e; 1 1 Desenvol vi ment o Rápi do de Apli cações.

17 16 Co mpr eender como se dá a contri bui ção dest as met odol ogi as na pr omoção do desenvol vi ment o efici ent e de soft war e emli nguagem Java; Pesqui sar e i dentifi car quai s são as f errament as mai s f avorávei s par a desenvol ver soft war e e m li nguage m Java de modo efi ci ent e, l evando e m consi der ação aspect os como cust o- benefíci o, acesso a docu ment ação e popul ari dade da f err ament a; Apr ender a utili zar os r ecur sos dest as f err ament as, expl or ando suas f or mas de utili zação, de modo a pr omover o desenvol vi ment o efi ci ent e de soft war e e m Java; Co mpr eender como ut ili zar adequada ment e cada u ma dest as f err ament as de modo i nt egr ado com as met odol ogi as de desenvol vi ment o avali adas, l evando e m consi der ação car act erí sti cas e as et apas de pr ocesso dest as met odol ogi as; Reali zar a i nt egr ação de t odas as f err ament as e m u m a mbi ent e úni co, a I DE Ecli pse; Co mpr eender como o uso de det er mi nadas li nguagens auxili ar es e t ecnol ogi as pode m f avor ecer o desenvol viment o efi ci ent e de soft war e e m li nguagem Java METODOLOGI A Pri mei r ament e, f oi reali zada u ma abr angent e r evi são bi bli ográfi ca, a fi m de i dentifi car, anali sar e co mpr eender quai s são as met odol ogi as, t ecnol ogi as e f err ament as mai s f avorávei s par a pr omover o desenvol vi ment o efici ent e de soft war e e m li nguage m Java. Co mo obj et os de est udo, for am utili zados, pri nci pal ment e, li vr os e pági nas da Web de pesqui sador es, desenvol vedor es e consult or es de cr edi bili dade r econheci da nas ár eas de engenhari a de soft war e, desenvol vi ment o de si st emas e pr ogr amação. Est a pr áti ca vi sou obt er i nf or mações pri vil egi adas de f ont es confi ávei s, com r eno mada experi ênci a acadê mi ca ou práti ca, l evant ando i nf or mações e dados vali osos a bai xo cust o, em co mpar ação a outr os mét odos de pesqui sa mai s demor ados e oner osos. Nu m segundo mo ment o, f or am r eali zados t est es e m l abor at óri o de i nf or máti ca par a compr eender como utili zar as f err ament as est udadas na et apa ant eri or, ent ender o papel de cada f errament a no pr ocesso de pr omoção da efi ci ênci a no

18 17 desenvol vi ment o de soft war e e obser var a r el ação entr e as met odol ogi as e mpr egadas e as f err ament as utili zadas. Par a of er ecer par âmetros de compar ação, for am t ambé m desenvol vi das a mostr as de códi go sem a utili zação de f err ament as ou fr amewor ks, utili zando a f or ma tradi ci onal de pr ogra mação li nha a li nha, pr ocur ando obser var vari ações quantit ati vas ou qualit ati vas no pr ocesso de progr amação ORGANI ZAÇÃO DO TRABALHO Est e monogr afi a est á or gani zada e m sei s capít ul os. No Capítul o 0, o t ema é deli mit ado, j ustifi cado e são apr esent ados o pr obl ema da pesqui sa, as hi pót eses par a sua sol ução, os obj eti vos a ser em ati ngi dos e a met odol ogi a utili zada. Nos capít ul os 1 e 1, é f eit a uma r evi são bi bli ogr áfi ca do t ema. No Capít ul o 1, as Met odol ogi as Ágei s de Desenvol vi ment o de Soft war e são apr esent adas de modo det al hado, dest acando- se o Manif est o Ágil, conceit os, defi ni ções, car act erí sti cas e i mport ânci a das Met odol ogi as Ágei s, pri ncipai s dif er enças entr e Desenvol vi ment o Ágil e RAD, al ém da apr esent ação das pri ncipai s met odol ogi as ágei s, dando ênf ase a Extr eme Pr ogr ammi ng e Agil e Modeling. No Capít ul o 1, o desenvol vi ment o efi ci ent e de soft war e com base e m li nguage m Java é apr esent ado co m mi núci as, dest acando a i mport ânci a da li nguage m Java e al gumas das pri nci pai s f err ament as e fr amewor ks par a desenvol vi ment o de soft war e nest a li nguage m: Ecli pse, Ant, JUnit, Hi ber nat e e Spring. O Capít ul o 1 é destinado a apr esent ação dos dados dos t estes experi ment ai s reali zados com as f err ament as descrit as no Capít ul o 1. No Capít ul o 1, são apr esent ados os r esul t ados e di scussões a respeit o das pesqui sas bi bli ogr áfi cas e experi ment ai s r eali zadas. Por fi m, est e trabal ho é concl uí do no Capít ul o 1, dest acando as contri bui ções of er eci das e as possi bili dades de trabal hos f ut ur os.

19 2. DESENVOLVI MENTO ÁGI L No senti do f or mal da pal avr a, ágil si gnifi ca fl exí vel, l eve. Agili dade, por sua vez, si gnifi ca mobili dade, prest eza de movi ment os. A partir dest a avaliação morf ol ógi ca, os t er mos ágil e agili dade pode m ser r el aci onados a gr ande pr edi sposi ção ao movi ment o, a bai xo est ado de i nér ci a. No â mbit o da engenhari a de soft war e, Favar o (2002, apud ABRAHAMSSON, 2002, p. 14) afir ma que a agili dade diz r espeit o à capaci dade adapt ati va de u m pr oj et o de softwar e, no que se r ef ere à pr edi sposi ção par a mudança nos r equi si t os. El e pr opõe, ai nda, que est e par adi gma i t er ati vo, onde requi sit os pode m ser i ntr oduzi dos, modifi cados e r emovi dos e m versões sucessi vas de soft war e, constitui o pont o comu m entr e as met odol ogi as ágei s de desenvol vi ment o de soft war e. Hi st ori cament e, agili dade não é o pont o f ort e de met odol ogi as tr adi ci onai s de desenvol vi ment o de soft war e. Mc Caul ey ( 2001, apud ABRAHAMSSON, 2002, p. 10) afir ma, i ncl usi ve, que met odol ogi as tr adi ci onai s são avessas a mudanças de requi sit os, uma vez que são f ort ement e baseadas e m contr at os rí gi dos que não per mi t em mudanças t ardi as nos r equi sit os. Soar es t ambé m co munga dest e pont o de vi st a, f azendo dif er enci ação entr e met odol ogi as tr adi ci onai s e ágei s, a partir das suas abor dagens a respeit o de mudanças nos r equi sit os: As met odol ogi as tr adi ci onai s, conheci das t ambém co mo pesadas ou ori ent adas a pl anej ament os, deve m ser aplicadas apenas e m sit uações e m que os r equi sit os do si st ema são est ávei s e r equi sit os f ut ur os são pr evi sí vei s. Entr et ant o, em pr oj et os e m que há mui t as mudanças, em que os requi sit os são passí vei s de alt er ações, onde ref azer part es do códi go não é u ma ati vi dade que apr esent a alt o cust o, as equi pes são pequenas, as dat as de entr ega do soft war e são curt as e o desenvol vi ment o r ápi do é f unda ment al, não pode haver r equi sit os est áti cos, necessit ando ent ão de met odol ogi as ágei s. Al ém di sso o ambi ent e das or gani zações é di nâ mi co, não per mi ti ndo ent ão que os requi sit os sej am est áti cos (2004a, p. 8). As met odol ogi as tr adi ci onai s de desenvol vi ment o de soft war e sur gi r am e m u m cont ext o onde o custo de f azer alt er ações e corr eções er a mui t o alt o, uma vez que o acesso aos comput ador es er am li mit ados [ si c] e não exi sti am moder nas f err ament as de apoi o ao desenvol vi ment o do soft war e ( SOARES, 2004a, p. 9). Em conseqüênci a di sso, havi a a necessi dade de r eali zar t odo o pl anej ament o de

20 19 codifi cação do soft ware ant es de i ni ci ar o pr ocesso da i mpl ement ação do códi go ( SOARES, 2004a, p. 9). Outr o pont o que deve ser consi der ado co mo aspect o hi st óri co i mport ant e é o sur gi ment o e r ápi do cresci ment o da i ndústria de soft war e t empor ári o da I nt er net, assi m co mo o e mer gent e ambi ent e de apl i cações par a di spositivos móvei s, que necessit am de pr ocessos de desenvol vi ment o de soft war e mai s r ápi dos e mai s ágei s ( ABRAHAMSSON, 2002, p. 9). Desse modo, as met odol ogi as ágei s de desenvol vi ment o de soft war e ori ent adas a mudanças sur gem co mo alt er nati va às abor dagens tr adi ci onai s ori ent adas ao pl anej ament o, poi s vêm pr eencher a l acuna dei xada pel as met odol ogi as tr adi ci onai s que não se adapt ar am adequada ment e às mudanças ocorri das no cenári o do desenvol vi ment o de soft war e ao l ongo do t empo ( SOARES, 2004a) MANI FESTO ÁGI L Em f ever eiro de 2001, um gr upo de dezesset e pr ofi ssi onai s vet eranos na ár ea de soft war e se r euni u em u ma mont anha de esqui, no est ado de Ut ah, USA, par a di scutir f or mas de mel hor ar o desempenho de seus pr oj et os de soft war e. Nest e gr upo, que passou a se i ntit ul ar de Ali ança Ágil, est avam pr esent es r epr esent ant es dos pr ocessos Extre me Pr ogr ammi ng, SCRUM, DSDM, Adapti ve Soft war e Devel opment, Cr yst al, Feat ur e- Dri ven Devel op ment, Pr agmati c Pr ogr ammi ng, al ém de outr os pr ofi ssi onai s que necessit avam de alt er nati vas aos tr adi ci onai s pr ocessos de desenvol vi ment o de soft war e ori ent ados a document ação ( BECK e outr os, 2001). Cada u m dos envol vi dos ti nha suas pr ópri as t eori as e pr áti cas a r espeit o de co mo conduzi r um pr oj et o de soft war e ao sucesso, cada u m co m as parti cul ari dades pr ópri as de seus processos. Apesar di sso, as suas experi ênci as pr évi as de monstr avam que era possí vel concor dar com u m pequeno conj unt o de pri ncí pi os que se mpr e par eci a t er si do r espeit ado quando os seus pr oj et os dava m cert o. Co m base nest es pri ncí pi os e e m quatr o val or es f unda ment ai s do desenvol vi ment o ágil de soft war e, os dezessete parti ci pant es do encontr o assi nar am o que passou a ser

21 20 cha mado de Mani f esto par a o Desenvol vi ment o Ágil de Soft war e, mai s co mu ment e cha mado pel a si mplifi cação Manif est o Ágil ( BECK e outr os, 2001). Os val or es do Manif est o Ágil são descrit os de modo que ao mesmo t empo e m que você deve val ori zar os conceit os no l ado di r eito, deve val ori zar ai nda mai s os do l ado esquer do ( AMBLER 2004, p. 23). A segui r, são descrit os os val or es do Mani f est o Ágil (ent ende- se por lado esquer do os trechos em negrit o): I ndi ví duos e i nt erações aci ma de pr ocessos e f errament as Soft war e f unci onando aci ma de document ação ext ensa Col abor ação do cli ent e aci ma de negoci ação de contrat o Responder a mudanças aci ma de segui r umpl ano ( BECK, 2001). Par a constr uir si st emas de soft war e as empr esas pr eci sam t er equi pes coesas, f or madas por pr ogr amador es, t est ador es, ger ent es de pr oj et o, model ador es e cli ent es. Os pr ocessos e f err ament as são i mport ant es par a o desenvol vi ment o do si st ema, mas são ai nda mai s i mport ant es as pessoas envol vi das no pr oj et o e as i nt er ações entr e el as (AMBLER 2004, p. 23). O papel da docu ment ação no pr ocesso de desenvol vi ment o do soft war e é gui ar as pessoas na constr ução do si st ema e na sua utili zação. Port ant o, el a deve ser mí ni ma e sufi ci ent e para cumprir est e fi m. Docu ment ar demai s é um err o. O obj eti vo pri nci pal de t odo o processo de desenvol viment o é entr egar ao cli ent e o soft war e f unci onando de acor do com as suas necessi dades ( AMBLER 2004, p. 24). São os cli ent es que det êm o conheci ment o dos r equi sit os de que necessit am, e mbor a, nem se mpr e, sai bam tr ans mi ti-l os par a os desenvol vedor es. Negoci ar u m contr at o com el es é mui t o i mport ant e, mas não pode substit uir o di ál ogo, a comuni cação. Desenvol vedor es de sucesso tr abal ham pr óxi mos dos seus cli ent es, esf orçam- se par a descobrir suas r eai s necessi dades e os auxili am na co mpr eensão dos pr ocessos de desenvol vi ment o do soft war e ( AMBLER 2004, p. 24). Fr equent ement e as pessoas muda m as suas pri ori dades. A pr ópri a co mpr eensão dos cli ent es sobr e o do mí ni o do pr obl ema muda à medi da que o tr abal ho de desenvol vi ment o pr ogri de. O negóci o sofre alt er ações. Tecnol ogi as muda m. A mudança deve ser encar ada como al go normal no pr ocesso de desenvol vi ment o de

22 21 soft war e. É essenci al exi stir um pl anej ament o, entr et ant o, el e deve ser mal eável, caso contr ári o, pode se tor nar obsol et o ou i rrel evant e. Al ém di sso, os parti ci pant es devem est ar pr epar ados par a f azer mudanças e os contr at os exi st ent es deve m ser f eit os com f err ament as que suport am e permi t em que est as mel hori as sej am f eit as ( AMBLER 2004, p. 24). A segui r são descrit os os doze pri ncí pi os do Mani f est o Ágil ( AMBLER 2004, p. 24): 1. Nossa mai or pri ori dade é sati sf azer ao cli ent e medi ant e entr egas de soft war e de val or e m t empo hábil e conti nuament e. 2. Receber be m mudanças de r equi sit os, mes mo e m u ma f ase mai s avançada no desenvol vi ment o. Os pr ocessos ágei s di reci onam as mudanças par a obt er vant agens co mpetiti vas par a o cli ent e. 3. Entr egar soft war es e m f unci onament o co m f reqüênci a de al gumas se manas a al guns meses, de pr ef er ênci a na menor escal a de t empo. 4. As equi pes de negóci os e de desenvol vi ment o devem tr abal har j unt as di ari ament e dur ant e t odo o pr oj et o. 5. Constr ua pr oj et os ao r edor de i ndi ví duos moti vados. Dê-l hes o a mbi ent e e o apoi o de que el es pr eci sam e confi e nel es par a reali zar o trabal ho. 6. O mét odo mai s efi ci ent e e ef eti vo de l evar i nf ormações par a o i nt eri or de u ma equi pe de desenvol vi ment o é a conver sa car a a car a. 7. Ter o soft war e f unci onando é a pri nci pal medi da de pr ogr esso. 8. Pr ocessos ágei s pr omove m o desenvol vi ment o sust ent ável. Os patr oci nador es, desenvol vedor es e usuári os deve m ser capazes de mant er umrit mo const ant e i ndefi ni dament e. 9. At enção contí nua a excel ênci a t écni ca e a um bo m pr oj et o au ment am a agili dade. 10. Si mpli ci dade ( a art e de maxi mi zar a quanti dade de tr abal ho não-r eali zado) é essenci al. 11. As mel hor es ar quit et uras, r equi sit os e pr oj et os pr ovê m de equi pes or gani zadas. 12. Em i nt erval os r egul ar es, a equi pe deve r efl etir sobr e co mo se t or nar mai s efi caz e ent ão se aj ust ar e adapt ar seu comport ament o CONCEI TOS, DEFI NI ÇÕES E CARACTERÍ STI CAS O t er mo Desenvol vi ment o Ágil t eve seu sur gi ment o mar cado pel o Mani f est o Ágil. El e passou a cl assifi car as abor dagens de desenvol vi ment o de softwar e que f osse m capazes de segui r os val or es e pri ncí pi os que os aut or es do Mani f est o Ágil, a Ali ança Ágil, subscr ever am(i MPROVE I T, 2007a).

23 22 Nest e senti do, Soares dest aca a i mportânci a das pessoas no pr ocesso de desenvol vi ment o nas met odol ogi as ágei s: As met odol ogi as ágei s sur giram co m a pr opost a de au ment ar o enf oque nas pessoas e não nos pr ocessos de desenvol vi ment o. Al ém di sso, exi st e a preocupação de gast ar menos t empo co m document ação e mai s co m r esol ução de probl emas de f or ma iterati va (2004a, p. 8). Hi ghs mi t h e Coekbu m ( 2001, p. 122 apud ABRAHAMSSOM, 2002, p. 12) def ende m que o gr ande dif er enci al das met odol ogi as ágei s de desenvol vi ment o de soft war e e m r el ação às tr adi ci onai s est á em r econhecer as pessoas co mo at or es pri nci pai s na condução do sucesso do pr oj et o, sem esquecer o f oco na maneabili dade e na efi cáci a do pr ocesso. A maneabili dade é compr eendi da como a capaci dade de adapt ar-se às mudanças nos r equi sit os, enquant o que efi cáci a tr ans mi t e a i déi a de contí nua adequação do soft war e às reai s necessi dades do cli ent e. Cockbu m ( 2002a, p. xxii apud ABRAHAMSSOM, 2002, p. 13) defi ne que o f oco dos mét odos ágei s de desenvol vi ment o de soft war e deve ser o uso da r egr a l eve- massufi ci ent e par a a gerênci a do comport ament o do pr oj et o. Em outr as pal avr as, o pr ocesso ágil deve ser, si mult aneament e, l eve e sufi ci ent e. A l eveza é necessári a par a que o pr oj et o se mant enha manobr ável. A sufi ci ênci a é u ma quest ão de mant er-se sempr e em si nt oni a com as reai s necessi dades do cli ent e. Leveza e sufi ci ênci a são car acterí sti cas de pr oj et os que mant êm u m escopo mí ni mo, mas ader ent e às necessi dades. El e t ambé m dest aca a i mport ânci a do uso de abor dagens ori ent adas ao ser humano e a sua comuni cação. Mi li er ( 2001 apud ABRAHAMSSOM, 2002, p. 14) nos of er ece u m conj unt o de nove car act erí sti cas que nos per mi t e cl assifi car adequada ment e u m pr ocesso de desenvol vi ment o de soft war e como ágil: Modul ari dade a ní vel de pr ocesso de desenvol vi ment o; It er ações emci cl os curt os, per mi ti ndo r ápi das verifi cações e corr eções; Te mpo-li mit e dos ci cl os de it er ações de uma a sei s semanas; Moder ação no pr ocesso de desenvol vi ment o, r emovendo t odas as ati vi dades desnecessári as; Adapt abili dade a possívei s novos ri scos emer gent es;

24 23 Abor dage m i ncr ement al de pr ocesso que per mi t e entr ega de apli cações pr ont as e f unci onando e m pequenas et apas; Abor dage m conver gent e (e i ncr ement al) par a mi ni mi zar ri scos; Ori ent ado a pessoas, ou sej a, os mét odos ágei s f avor ecem pessoas aci ma de pr ocessos e t ecnol ogi as; Estil o de trabal ho col abor ati vo e comuni cati vo DESENVOLVI MENTO ÁGI L NÃO É RAD O conceit o de agilidade j á est á be m f unda ment ado do pont o de vi st a do Desenvol vi ment o Ágil, t ant o no mei o pr ofi ssi onal, quant o no acadê mi co. Cont udo, ai nda é possí vel encontr ar r ef er ênci a aos t er mos ágil e agilidade associ ada, si mpl es ment e, a desenvol vi ment o r ápi do. Tel es f az di sti nção entr e agili dade e Agili dade, escrit as com i ni ci al mi núscul a ou mai úscul a. O t er mo agili dade t em a ver apenas com vel oci dade. Já o t er mo Agilidade t em a ver com o Manif est o Ágil (2007). Tapaj ós ( 2007) r el at a que, no mei o pr ofi ssional, as pessoas cost uma m conf undi r mui t o os doi s conceit os ( Ágil X RAD) : Aqui no meu tr abal ho t em u m pessoal que AMA Del phi sobr e t odas as coi sas. Daí eu r esol vi di zer que pr ef eri a as pl at af or mas " ágei s" e começar am a di zer que não havi a nada mai s "ágil" do que Del phi, que er a muit o mai s " ágil" do que Java [...] O exempl o tí pi co que essa tri bo dá pr a di zer que i sso Del phi é " ágil" é di zer que é possí vel mont ar u ma apli cação com cadastro co mpl et o [...], vali dação de dados e e mi ssão de r el at óri os co m mei a- dúzi a de cli ques, e m 5 mi nut os. Só que est a é, na ver dade, a descri ção de RAD. De f at o, é i mport ant e r essalt ar que o conceit o de pr ocesso de desenvol vi ment o rápi do de soft war e est á associ ado a RAD, e não a Desenvol vi ment o Ágil. Ori gi nal ment e, RAD, Rapi d Appli cati on Devel opment, ou Desenvol vi ment o Rápi do de Apli cação, pr et endi a descr ever um pr ocesso de desenvol vi ment o de soft war e envol vendo pr ot oti page m de apli cação e desenvol vi ment o it er ati vo. At ual ment e, ent ende- se por RAD uma met odol ogi a de desenvol vi ment o f ocada na constr ução de soft war e em perí odos de t empo mui t o curtos, cer ca de 60 a 90 di as ( BLUE I NK, 2005).

25 24 Deboni ( 1998) nos dá u ma i déi a de co mo a pr ot oti pação e o desenvol vi ment o it er ati vo do pr ocesso RAD pode m conduzi r a mai or r api dez de desenvol vi ment o, al ém de nos tr azer o conceit o de f errament a RAD, t er mo mui t o co mu m, pri nci pal ment e entr e progr amador es e desenvol vedor es de soft war e: As f err ament as de pr ogr amação RAD di poni bili zam ao pr oj eti st a u ma gr ande quanti dade de co mponent es e u m mei o efi ci ent e par a i nt egr á-l os. Assi m, pode-se r api dament e tr aduzi r u ma i déi a e m u m pr ot óti po de u m pr ogr ama apli cati vo. Cada pr ot óti po é col ocado sob as críti cas dos usuári os, e no fi nal de al guns ci clos chega- se à [ si c] u ma sol ução par a o pr obl ema pr opost o. A i nt egr ação de component es de soft war e f eit a pel as f err ament as RAD é u m excel ent e mét odo par a au ment o da pr oduti vi dade no desenvol vi ment o de pr ogr amas. A experi ênci a e a f unci onali dade e mbuti da nos co mponent es, [ si c] econo mi za mi l har es de li nhas de códi go [...] ( DEBONI, 1998, p. 1). Vi sual Basi c, Del phi e Cent ur a são exempl os de i nt erf aces de desenvol vi ment o de soft war e que são consi der adas, de modo car act erí sti co, co mo f err ament as RAD (JORGE, 2007, p. 19). Apesar da gr ande vant agem de acel er ar o pr ocesso de desenvol vi ment o do soft war e, o pr ocesso RAD não é i ndi cado par a si st emas co mpl exos co m nú mer o mui t o el evado de usuári os: Pode- se utili zar di ret ament e o RAD e m pr obl emas de pouca compl exi dade, e co m pequeno nú mer o de usuári os. No ent ant o, est a t écni ca é i ncapaz de ger enci ar o desenvol viment o de si st emas mui t o co mpl exos, com um nú mer o vari ado de usuári os. Poi s nest es casos ger am- se r equi sitos conflit ant es, e a seqüênci a de pr ot óti pos pode não l evar à sol ução. ( DEBONI, 1998, p. 1) Outr a quest ão i mport ant e a ser consi der ada é que as f err ament as RAD conduze m o desenvol vedor a construir soft war es com f ort e acopl ament o entr e as ca madas de apli cação e de i nt erf ace, o que acarr eta mui t o tr abal ho na hor a de f azer manut enção, poi s mesmo pequenas mudanças pode m exi gir modificações e m vári as part es do soft war e (JORGE, 2007, p. 21) POR QUE DESENVOLVI MENTO ÁGI L? Segundo Ambl er ( 2004, p. 21), a sit uação at ual do desenvol vi ment o de soft war e encontr a-se aqué m da i deal. El e ai nda acr escent a:

26 25 Os si st emas são i nvariavel ment e entr egues co m atr aso ou co m or çament o est our ado, i sso quando são ef eti va ment e entr egues. Fr eqüent ement e, el es não at ende m aos r equi sit os dos nossos cli ent es e pr eci sam ser desenvol vi dos novament e. Nossos cli ent es fi cam descont ent es com esses pr obl emas e não apr esent a m di sposi ção ne m par a confi ar e m nós ne m par a trabal har conosco, poi s decepci onar am- se de mai s no passado. Para pi or ar as coi sas, el es não t êm u ma compr eensão cl ar a do que f aze mos e o result ado fi nal é que nos f azem exi gênci as f or a da r eali dade e não dão o suport e que pr eci sa mos par a al cançar nossos obj eti vos. Anali sando os dados de The Chaos Report 12 do St andi sh Gr oup 13 (1995), Soar es (2004a) corr obor a com a opi ni ão de Ambl er descrit a no par ágr af o ant eri or: Dados de 1995 [ St andi sh Gr oup, ( 1995)], utili zando co mo base 8380 pr oj et os, mostr am que apenas 16, 2% dos pr oj etos f or am entr egues respeit ando os pr azos e os cust os e co m t odas as f unci onali dades especifi cadas. Apr oxi mada ment e 31 % dos pr oj et os f or am cancel ados ant es de estar em co mpl et os e 52, 7% f or am entr egues, por ém co m pr azos mai or es, cust os mai or es ou co m menos f unci onali dades do que especifi cado no i ní ci o do pr oj et o. Dentr e os pr oj et os que não f or am fi nali zados de acor do co m os pr azos e cust os especifi cados, a médi a de atr asos f oi de 222 %, e a médi a de cust o f oi de 189 % a mai s do que o pr evi st o. Na Fi gur a 1, pode- se vi suali zar os dados ref er ent es ao sucesso de pr oj et os de desenvol vi ment o de soft war e nos USA em 1995, descrit os no par ágraf o ant eri or. Fi gur a - 1 Sucesso de pr oj et os de desenvol vi ment o de soft war e nos USA e m Rel at óri o de est udos r eali zados pel o St andi sh Gr oup que de monstram o es magador fracasso dos pr oj et os de desenvol vi ment o de apli cações de Tecnol ogi a de I nf or mação ( TI). 1 3 Empr esa a meri cana, sedi ada e m West Yar mout h, Massachusetts, especi ali zada na avali ação de ri scos, cust os e val or de r et or no de emi nvesti ment os em TI. 1 4 Gr áfi co cri ado pel o aut or, a partir de dados apr esent ados em Soar es, 2004a.

27 26 Est e mes mo r el at óri o apont a que as f al has ocorri das nos pr oj etos ti ver am co mo causa f unda ment al a adoção equi vocada de desenvol vi ment o de soft war e: met odol ogi as tr adi ci onai s de As pri nci pai s r azões dest as f al has est avam r el aci onadas co m o model o Cl ássi co. A r eco mendação fi nal f oi que o desenvol vi ment o de soft war e deveri a ser baseado e m model os i ncr ement ai s, o que poderi a evit ar muit as das f al has report adas. ( SOARES, 2004a) Dados mai s r ecent es dest a mes ma e mpr esa de pesqui sa, tr abal hando co m a mostr as ai nda mai ores e mai s r epr esent ati vas, demonstr am que a sit uação não mudou si gnifi cati vament e nos últi mos anos. O exempl ar do ano 2000, que pesqui sou 280 mil pr oj et os de soft war e nos USA, r evel ou que 72% del es f al ham, sej a por que consumi r am mai s r ecur sos que o or çado, ou despr ender am mai s t empo que o esti mado, ou não entr egaram o softwar e conf or me o que f oi combi nado, ou mes mo qual quer combi nação dos f at or es anteri or es (I MPROVE I T, 2007b). Al ém di sso, os atr asos nor mal ment e r epr esent am 63 % mai s t empo que o esti mado, os gast os nor mal ment e são 45 % mai or es que o or çado e no ger al apenas 67 % das f unci onali dades pr ometi das são ef eti vament e entr egues. Dest es 280 mil pr oj et os, 23 % del es fracassar am t ão vi gor osament e que f or am cancel ados ("apenas" pr oj et os) [si c]. (IMPROVE I T, 2007b) Anali sando os dados de The Chaos Report de 2000 r ef er ent es às f unci onali dades pr oduzi das pel os pr oj et os, const at ou- se que 45 % nunca são utili zadas pel os seus usuári os e 19 % del as r ar ament e são usadas, t ot ali zando 64 % de f unci onali dades que poderi am dei xar de ser pr oduzi das, contr ast ando co m apenas 20 % de f unci onali dades que são r eal ment e utili zadas de modo fr eqüent e, o que de monstr a u m i naceit ável desperdí ci o de t empo dos proj et os de desenvol vi ment o de soft war e na pr odução de f unci onali dades que os usuári os quase nunca ou mui t o r ar ament e vão utili zar (I MPROVE I T, 2007b). Na Fi gur a 2, pode- se vi suali zar os dados ref er ent es à fr eqüênci a de utili zação de f unci onali dades de si ste mas co mer ci ai s tí pi cos desenvol vi dos nos USA, r ef er ent e ao ano 2000.

28 27 Fi gur a - 2 Fr eqüênci a de Utili zação de Funci onali dades, Si st emas Co mer ci ai s Tí pi cos ( USA) Font e: I mpr ove It, 2007b. Soar es ( 2004a, p. 12) ai nda acr escent a que o dif er enci al das met odol ogi as ágei s e m rel ação às tr adi ci onai s est á no enf oque dado nas pessoas envol vidas no pr ocesso de desenvol vi ment o do soft war e, e não pr opri ament e nos pr ocessos ou al gorit mos utili zados, al ém de dest acar a pr eocupação em gast ar menos t empo e r ecur sos co m document ação abr angent e, desti nando, assi m, mai s t empo e r ecur sos co m a i mpl ement ação das f unci onali dades que r eal ment e vão at ender às necessi dades dos cli ent es, obj eti vando mai s efi ci ênci a e efi cáci a na i mpl ant ação dos proj et os. De u m modo ger al, os mét odos ágei s t êm obti do mel hor es result ados que as met odol ogi as tr adi ci onai s. Um est udo r ecent e do Cutt er Consorti um 15 mostrou que os pr oj et os usando os mét odos ágei s obti veram mel hor es r esult ados e m t er mos de cumpri ment o de pr azos, de cust os e padrões de quali dade ( CHARETTE, 2001, apud SOARES 2004b, p. 6) METODOLOGI AS ÁGEI S De acor do com os conceit os e defi ni ções pr opost os par a Desenvol vi ment o Ágil, Abr aha msson ( 2002, p. 18) i dentifi ca como ágei s as segui nt es met odol ogi as: XP ( Extr eme Pr ogr ammi ng), Scr um, f amíli a Cr yst al de met odol ogi as, FDD ( Feat ur e 1 5 Empr esa Nort e- Ameri cana que at ua no mer cado i nt er naci onal na ár ea de Tecnol ogi a de I nf or mação.

29 28 Dri ven Devel opment), RUP ( Rati onal Unifi ed Pr ocess), DSDM ( Dyna mi c Syst ems Devel opment Met hod), Adapti ve Soft war e Devel opment e Open Sour ce Soft war e Devel opment. El e també m acr escent a que, embor a não sej am, de f at o, met odol ogi as pr opri ament e dit as, Agil e Modeli ng e Pr agmati c Pr ogra mmi ng t ambé m devem ser consi der adas no est udo de met odol ogi as ágei s, poi s t êm obti do consi der ável at enção da comuni dade ágil. É conveni ent e observar que cri ador es e repr esent ant es de quase t odas est as met odol ogi as ágei s de desenvol vi ment o de soft war e, i ncl ui ndo t odas as pri nci pai s met odol ogi as, parti ci par am do encontr o da Ali ança Ágil e subscr ever am o Mani f est o par a o Desenvol vi ment o Ágil de Soft war e ( BECK, 2001). O Scr um f oi desenvol vi do par a ger enci ar pr ocessos de desenvol vi ment o de si st emas. É u ma abordage m e mpíri ca que apli ca as i déi as da t eori a do contr ol e do pr ocesso i ndustri al ao desenvol vi ment o de si st emas, t endo como r esult ado u ma abor dage m que r et oma as i déi as da flexi bili dade, da adapt abili dade e da pr oduti vi dade ( SCHWABER e BEEDI E, 2002 apud ABRAHAMSSON, 2002, p. 27). El e não defi ne t écni cas específi cas de desenvol vi ment o de soft ware par a a f ase de i mpl ement ação e é f ocado e m co mo os membr os da equi pe devem t r abal har a fi m de pr oduzi r a fl exi bilidade do si st ema e m u m a mbi ent e em const ant e mudança ( ABRAHAMSSON, 2002, p. 27). A f amíli a Cr yst al de met odol ogi as i ncl ui di f er ent es met odol ogi as que deve m ser sel eci onadas de acordo co m o pr oj et o que se desej a i mpl ement ar. Cont udo, el a possui um conj unt o de det er mi nados val ores, r egr as e car act erísti cas que são comuns a t odos os mét odos da f amíli a (ABRAHAMSSON, 2002, p. 36). Seus pr oj et os usam se mpr e ci cl os de desenvol vi ment o i ncr ement ai s de, no máxi mo, quatr o meses, mas se deve dar pr ef er ênci a a ci cl os com pr azos mai s r eduzi dos, entr e um e tr ês meses. També m é f ocado na co muni cação e na cooper ação entr e as pessoas e não li mit am nenhu ma pr áti ca de desenvol vi ment o, f err ament a ou pr odut o de tr abal ho, ao passo que t ambé m per mi t e a adoção de pr áti cas de XP e de Scr um, por exempl o ( COCKBURN, 2002a apud ABRAHAMSSON, 2002, p. 37).

30 29 FDD, ou desenvol vi ment o gui ado por f unci onali dades, é u ma abor dage m ágil e adapt ati va de desenvol vi ment o de si st emas que não cobr e o processo i nt ei r o do desenvol vi ment o do soft war e, f ocando- se, pri nci pal ment e, nas f ases de desi gn e i mpl ement ação do proj et o ( PAL MER e FELSI NG, 2002 apud ABRAHAMSSON, 2002, p. 47). Na f ase de desi gn, onde r eali za ati vi dades de concepção e pl anej ament o, utili za di agr amas UML 16 ( Unified Modeli ng Language) col ori dos na repr esent ação de cl asses par a dif er enci ar responsabili dades ( SATO, 2007, p. 12). O RUP f oi desenvol vido e m co mpl ement ação a UML. É u ma abor dage m i t er ati va par a desenvol vi ment o de si st emas OO ( ori ent ados a obj eto) que abr ange, pri nci pal ment e, casos do uso par a model agem de r equi sit os e par a a constr ução das f undações de si st emas OO, o que não é regr a ger al par a outras met odol ogi as, e mbor a UML possa ser usada e m outr os pr ocessos OO ( JACOBSEN e outr os, 1994 apud ABRAHAMSSON, 2002, p. 55). A vi da de u m pr oj et o de RUP é di vi di da e m quatr o f ases, deno mi nadas concepção, el abor ação, constr ução e tr ansi ção. Est as f ases são di stri buí das e m i t er ações que t êm a fi nali dade de pr oduzi r part es de monstr ávei s do soft war e. A dur ação de u ma i t er ação pode vari ar de duas semanas a sei s meses ( ABRAHAMSSON, 2002, p. 55). Devi do a est a car act erí sti ca it er ati va de constr ução do soft war e, com ci cl os r el ati vament e curt os de entr ega de part es de soft war e, Abr aha msson ( 2002) o cl assifi ca como met odol ogi a ágil. Cont udo, é u m pr ocesso f ort ement e docu ment ado, i nt ensa ment e baseado e m model os UML, car ecendo de subsí di os de outr as met odol ogi as ágei s, como Agil e Modeli ng, que l he per mi t am ser mai s ágil nas f ases que envol vem model age m ( AMBLER, 2004, p. 219). DSDM, mét odo di nâmi co de desenvol vi ment o de si st emas, é u ma estr ut ur a não pr opri et ári a e se m fins l ucr ati vos, manti da pel o Consór ci o DSDM, cuj a i déi a f undament al é i nverter a di nâmi ca das vari ávei s de pr oj et o tempo, r ecur sos e f unci onali dades do produt o: em l ugar de fixar a quanti dade de f unci onali dades e aj ust ar o t empo e os recur sos de acor do co m el as, é pr ef erí vel fi xar o t empo e os recur sos e, ent ão, aj ust ar a quanti dade de f unci onali dades de modo co mpatí vel. Em outr as pal avr as, defi ne- se quant o se pode gast ar e e m quant o t e mpo se pr et ende 1 6 Li nguage m de model agem unifi cada, usada co mo padr ão pel a i ndústri a de soft war e na f ase de model agem de pr oj et os.

31 30 i mpl ement ar o pr oj et o par a, em segui da, defini r-se quai s f unci onalidades pode m ser entr egues no pr azo defi ni do e dentr o dos limi t es dos r ecur sos esti mados. Gr aças a est a peculi ari dade, o DSDM se t or nou a met odol ogi a pr ef eri da ent re os adept os do desenvol vi ment o r ápi do de apli cações ( RAD) no Rei no Uni do ( STAPLETON, 1997 apud ABRAHAMSSON, 2002, p. 61). O DSDM t ambé m i nvoca pri ncí pi os mui t o comuns a outr as met odol ogi as de desenvol viment o ágil, t ai s como ati va parti ci pação dos cli ent es nas di versas f ases do pr oj et o e fr eqüent e entr ega de soft war e ( SATO, 2007, p. 12). O Adapti ve Soft ware Devel opment, desenvol vi ment o adapt ável de soft war e, é f ocado, pri nci pal ment e, nos pr obl emas que envol vem o desenvol vi ment o de si st emas gr andes e co mpl exos. O mét odo i ncenti va f ort ement e o desenvol vi ment o i ncr ement al, it er ati vo e co m pr ot oti pagem const ant e. Tr at a-se de u ma met odol ogi a onde o pr ocesso bei r a o caos, de modo a não r estri ngi r a cri ati vi dade e mant er-se e m si nt oni a com a nat ur eza i ncert a do pr ocesso de desenvol vi ment o de soft war e, f or necendo u m a mbi ent e ri co par a o pr ocesso de apr endi zagem sobr e o pr obl ema. Cont udo, possui uma estr ut ur a que of er ece a ori ent ação necessári a par a i mpedi r que os pr oj et os cai am, ef eti vament e, no caos ( ABRAHAMSSON, 2002, p. 68). Open Sour ce Soft ware Devel opment, desenvol vi ment o de soft war e de códi go abert o, é u ma met odol ogi a de desenvol viment o que possui muit as car act erí sti cas comuns a outr as met odol ogi as ágei s. Seu dif er enci al est á na pr áti ca da li vr e di stri bui ção de códi go f ont e, i nt ensifi cada e expandi da e m escal a gl obal j unt o co m a recent e expansão da I nt er net. Basei a-se na l i vre col abor ação de grande nú mer o de desenvol vedor es di stri buí dos geogr afi cament e. Est a met odol ogi a i nspi r ou o sur gi ment o de u m novo par adi gma de desenvol vi ment o de soft ware, o OSS, Open Sour ce Soft war e, softwar e de códi go abert o ( ABRAHAMSSON, 2002, p. 73). Pr agmati c Pr ogr a mmi ng, pr ogr amação pragmáti ca, tr at a-se na ver dade, não de u ma met odol ogi a f or mal de desenvol vi ment o de soft war e, mas de u m conj unt o de pr áti cas de pr ogr amação be m sucedi das, publi cadas no li vr o The Pr ag mati c Pr ogr ammer, O Pr ogra mador Pr agmáti co, de aut ori a de doi s membr os da Ali ança Ágil, Andr ew Hunt e Davi d Tho mas. A i ncl usão da Pr agmati c Pr ogra mmi ng entr e as

32 31 met odol ogi as ágei s é j ustifi cada pel o f at o de que as t écni cas cobert as pel o li vr o ratifi cam pr áti cas di scuti das emoutr as met odol ogi as ( ABRAHAMSSON, 2002, p. 83). Est e tr abal ho não se pr opõe a r eali zar uma r evi são bi bli ogr áfi ca das met odol ogi as ágei s de desenvol vi ment o de soft war e, mui to e mbor a t enha si do f eit o u m apanhado ger al sobr e al gumas daquel as que se encai xa m nos conceit os e defi ni ções descrit os na seção Desse modo, ser á dado destaque a Extreme Pr ogrammi ng ( seção 2. 6) e a Agil e Modeli ng ( seção 2. 7). XP r eceber á dest aque por se tr at ar da met odol ogi a ágil mai s car act erí sti ca e mai s dif undi da no mei o pr ofi ssi onal ( COSTA FI LHO, 2005, p. 5) e, ta mbé m, por ser uma das mai s be m docu ment adas, possui ndo u ma ri ca lit er at ur a que a abor da. Ta mbé m ser á dedi cada u ma subseção ao est udo da Agil e Modeli ng, que, embor a não sej a, por si só, uma met odol ogi a compl et a, Ambl er r ecomenda que suas t écni cas devem ser utili zadas par a mel hor ar o tr abal ho de model agem de equi pes de pr oj et os que segue m met odol ogi as ágei s, co mo XP [...] (2002, p. 31) EXTREME PROGRAMMI NG O XP, cri ado por Kent Beck e War d Cunni ngha m, me mbr os f undador es da Ali ança Ágil, é u ma das met odol ogi as de desenvol vi ment o de softwar e que mel hor repr esent am a fil osofi a do Mani f est o Ágil. É f ocado, pri nci pal ment e, na efi cáci a e na pr oduti vi dade do pr ocesso de desenvol vi ment o, dedi cando especi al at enção às r eai s necessi dades dos client es sem extr apol ar os pr azos ne m desper di çar r ecur sos, recorr endo a det er mi nados val ores, pri ncí pios e pr áti cas que vi abili zam o sucesso dos pr oj et os onde el e é empr egado ( SATO, 2007, p. 12) ( COSTA FI LHO, 2005 p. 5). O seu uso é i ncenti vado, pri nci pal ment e, em pr oj et os com r equi sit os vagos e que muda m co m fr eqüênci a, no desenvol vi ment o de si st emas ori ent ados a obj et os, e m pequenas equi pes de desenvol vedor es co m at é 12 i ntegr ant es e no desenvol vi ment o it er ati vo com entr ega de pequenas e r ápi das versões de soft war e desde o i ní ci o do pr oj et o ( TELES 2004, p. 21). Não se tr at a de um pr ocesso co m f ases a marr adas e ri gida ment e defi ni das, embor a possa ser di vi dido e m f ases, mas de u ma met odol ogi a i t er ati va e i ncr ement al, gui ada por seus val ores, pri ncí pi os e pr áti cas.

33 Fases O XP pode ser di vi dido e m sei s f ases: Expl or ação, Pl anej ament o, It er ações par a entr ega de ver sões, Produção, Manut enção e Mort e, que ser ão descrit as a segui r. Na Fi gur a 3, t emos um di agr ama que mostr a o ci cl o de vi da do pr ocesso XP. Fi gur a - 3 Ci cl o de Vi da do Pr ocesso XP. Font e: Baseado em Abr aha msson, Expl oração. Nest a f ase são l evant adas as soli cit ações dos cli entes, cha madas de hi st óri as de usuári os, que são r egi stradas e m cart ões, descr evendo as car act erí sti cas que serão adi ci onadas ao soft war e. Ai nda nest a f ase, a equi pe de pr oj et o f amili ari za-se com as f err ament as, a t ecnol ogi a e as práti cas que ser ão utili zadas no pr oj et o. A t ecnol ogi a a ser usada ser á t est ada e as possi bili dades da ar quit et ur a par a o si st ema são expl or adas, constr ui ndo u m pr otóti po do si st ema. Est a f ase l eva al gumas semanas ou at é al guns meses, dependendo da f ami li ari dade dos pr ogr amador es com a t ecnol ogi a. Pl anej ament o. Nest a f ase são defi ni das a or dem da pri ori dade das hi st óri as de usuári o e quai s ser ão desenvol vi das e m cada it er ação. Os pr ogr amador es esti ma m o t empo necessári o par a i mpl ement á-l as e defi nem u m cr onogr ama de entr ega de

34 33 ver sões, sendo que a pri mei r a, nor mal ment e, não ultrapassa doi s meses. A f ase de pl anej ament o dur a dos di as. Iterações par a entrega de versões. Nest a f ase são r eali zadas di versas it er ações par a cada ver são de soft war e. O t empo defi ni do no est ági o de pl anej ament o par a reali zar a entr ega de cada ver são é di vi di do de acor do co m o númer o de i t er ações necessári as, de modo que cada u ma t enha de u ma a quatr o se manas par a ser execut ada. A pri mei ra it er ação cri a uma base ar quit et ur al para t odo o r est o do si st ema. O cli ent e deci de as hi st óri as que ser ão desenvol vi das e m cada it er ação. Test es f unci onai s cri ados pel o cli ent e são rodados ao fi nal de cada it er ação par a vali dá-l as. Após a última it er ação, a ver são est á pr ont a par a a pr odução. Pr odução. Nest a f ase são r eali zados t est es adi ci onai s na ver são e verifi cado o seu desempenho ant es de entr egá-l a ao cli ente. Novas mudanças ai nda pode m ser encontr adas e deve- se deci dir se el as ser ão i ncl uí das ai nda nesta ou na pr óxi ma ver são. As it er ações dur am de u ma a t rês semanas. As i déi as e sugest ões pr opost as são document adas par a ser emi mpl ement adas post eri or ment e. Manut enção. Nest a f ase são r eali zadas as at uali zações das versões de soft war e entr egues ao cli ent e. Depoi s da li ber ação da pri mei r a ver são, o pr oj et o conti nua pr oduzi ndo novas iter ações, exi gi ndo um esf or ço adi ci onal par a r eali zar a manut enção do si st ema. Assi m, o rit mo de desenvol vi ment o pode cai r, exi gi ndo a i ncor por ação de novas pessoas na equi pe. Mort e. Nest a f ase não há mai s hi st óri as de usuári o par a ser em i mpl ement adas. Si gnifi ca que o si st ema sati sf az as necessi dades do cli ent e, al ém de outr os requi sit os, como dese mpenho e confi abilidade, por exempl o. É o mo ment o de pr oduzi r a document ação do si st ema, poi s não há mai s mudanças a ser em i ntroduzi das. Est a f ase t ambé m pode acont ecer quando o si st ema não f or capaz de entr egar os r esult ados desej ados ou quando o seu cust o i nvi abili zar a conti nuação do pr oj et o.

35 Val ores Ori gi nal ment e, o XP era baseado e m quatr o val or es f unda ment ai s que r egi am t odo o pr ocesso de desenvol vi ment o: f eedback (r eali ment ação), comuni cação, si mpli ci dade e cor agem. Na segunda edi ção de seu li vr o, Extr eme Pr ogr ammi ng Expl ai ned, Kent Beck adi ci ona respeito aos quatr o val or es pré- exi st ent es ( SATO, 2007, p. 18). Co muni cação. Met odol ogi as tr adi ci onai s de desenvol vi ment o de soft war e utili zamse de art ef at os, pri nci pal ment e di agr amas UML, entr e outr os mei os fí si cos ou el etrôni cos, par a comuni car aos seus desenvol vedor es sobr e aquil o que se acr edit a que o cli ent e desej a que sej a pr oduzi do. É uma seqüênci a de conver sões de f or mas de comuni cação i mpessoal que ocorr em l ogo após o l evant ament o dos r equi sit os at é os di agr amas fi nai s que subsi di ar ão a i mpl e ment ação do soft ware. XP, por outr o l ado, em consonânci a com o Mani f est o Ágil, acr edit a que art ef at os e di agr amas não são capazes de substit uir a comuni cação or al dur ant e t odo o pr ocesso de desenvol vi ment o. Deve- se utili zar, pr ef er enci al ment e, a comuni cação f ace a f ace, opt ando- se por outr a f or ma de co muni cação apenas quando f or a mai s vi ável e desde que sej a t ão rica quant o. Toda e qual quer dúvi da sobr e o pr oj et o deve ser escl ar eci da atr avés do di ál ogo, evit ando- se a confi ança cega em di agr amas que, ne m se mpr e, est ão absol ut ament e corr et os ou co mpl et os ( TELES, 2004, p. 22) ( SATO, 2007, p. 16). Feedback. O f eedback é part e essenci al de qual quer pr ocesso efi ci ent e que envol ve comuni cação. No XP, o f eedback ocorr e em vári as i nst ânci as, per mi ti ndo que a const ant e adapt ação às mudanças, comu m às met odol ogi as ágei s, acont eça. As pr áti cas de XP r eduze m mui t o o r et ardo do f eedback, o que f avor ece o desenvol vi ment o do pr oj et o sempr e dentro do escopo. A pr ogramação e m par of er ece f eedback i nstant âneo, a pr ogr amação di ri gi da por t est es, em mi nut os, o cli ent e sempr e j unt o da equi pe, em hor as ou di as, e as pequenas ver sões, e m di as ou semanas. Feedback r ápi do é si nôni mo de econo mi a de r ecur sos, poi s, do contr ári o, um f eedback r et ar dado per mi t e que se passe mai s t empo desenvol vendo aquil o que não é a sol ução do pr obl ema, acarr et ando e m gr ande retr abal ho e per da de t empo ( SATO, 2007, p. 16).

36 35 Si mpli ci dade. Em se tr at ando de XP, é a art e de pr oduzi r nada mai s do que o necessári o par a at ender nada mai s do que as r eai s necessi dades do cli ent e ( TELES, 2004, p. 22). Co mo j á f oi descrit o na seção 2. 4, há mui to desper dí ci o de t empo e r ecur sos nos pr oj et os da i ndústri a de soft war e com o desenvol vi ment o de f unci onali dades que não são r eal ment e út ei s par a os cli ent es. É i mport ant e mant er o f oco no que é necessári o hoj e e evit ar t entar pr ever o que o cli ent e i r á necessit ar a manhã, poi s há u ma gr ande chance de desper di çar t empo desenvol vendo al go que não l he ser á útil. Cor age m. Desenvol ver pr oj et os de modo i t er ati vo e i ncr ement al, co m a pr esença freqüent e dos cli ent es, pode f azer com que a equi pe t enha r ecei o de não ser capaz de l evá-los à fr ent e. Mas é pr eci so t er corage m e acr edit ar que, i mpl ement ando os outr os val or es, os princí pi os e as pr áti cas do XP, a equi pe ser á capaz de l evar o pr oj et o adi ant e. Tel es ( 2004) r el aci ona al gumas sit uações onde se exi ge cor age m: desenvol vi ment o i ncr ement al, mant er o f oco na Si mpli ci dade, permi tir que o cli ent e pri ori ze f unci onali dades, pr ogr amação e m par, r ef at or ação, i mpl ement ar t est es aut omati zados, esti mar hi st óri as na pr esença do cli ent e, compartilhar o códi go co m t odos os me mbr os da equi pe, f azer a i nt egr ação contí nua, adot ar rit mo sust ent ável, abrir mão de part e da document ação, pr opor contr at os de escopo vari ável e pr opor a adoção de um pr ocesso novo ( o XP). Respeit o. Por ser uma met odol ogi a com ênf ase na comuni cação di r et a, t ant o entr e me mbr os da equi pe, quant o com o cli ent e, o respeit o é f undament al par a a har moni a das r el ações. Se m o r espeit o, os outr os val ores pode m ser f acil ment e desvi rt uados. Se m o r espeit o, al gumas pr áti cas do XP pode m ser sever ament e compr ometi das, t ai s como pr ogr amação em par e rit mo sust ent ável ( SATO, 2007, p. 16) Pri ncí pi os Os pri ncí pi os de XP aj udam a mel hor comuni car os seus val or es, f acilit ando a sua compr eensão e aceit ação. O XP é u ma met odol ogi a f ocada nas pessoas. Assi m, a Hu mani dade deve ser u m pri ncí pi o f unda ment al par a deli near as r el ações entr e el as, pr ocurando equili br ar as

37 36 necessi dades pessoai s com as necessi dades da equi pe e do pr oj et o. Dentr o dest e cont ext o, sur ge o pri ncí pi o do Benefí ci o Mút uo, a partir do qual t odos os envol vi dos e m u ma mes ma ati vi dade deve m se benefi ciar del a. E quando se f al a em benefí ci os, deve- se consi der ar, ta mbé m, as r esponsabili dades envol vi das. No pri ncí pi o da Aceit ação da Responsabili dade, pr ega- se que, t ão nat ur al ment e quant o esper ar benefi ci ar-se das si t uações, deve- se t ambé m aceit ar as responsabili dades envol vi das, as quai s não devem ser i mpost as ( SATO, 2007, p. 19). A Quali dade é outr o pri ncí pi o do XP. Não se deve acr edit ar que sacrifi car a quali dade é u ma f or ma vi ável de acel er ar o pr oj et o. Apost ar na quali dade é pr opi ci ar mel hori as em múl ti pl as ár eas. A pr ópri a Mel hori a é u m dos pri ncí pi os do XP. Não se trat a de per segui r o óti mo, mas de f azer aquil o que é sufi ci ent e no mo ment o, per mi ti ndo que mel hori as sej am acr escent adas e m outr as it er ações. Por outr o l ado, apost ar em quali dade não deve ser descul pa par a desper dí ci o. A Econo mi a t ambé m é u m dos princí pi os do XP. Tudo que é acr escent ado ao pr oj et o t em de l evar em consi der ação o cust o- benefí ci o, per mi ti ndo que o cli ente pri ori ze o que é mai s i mport ant e, de modo que se agr egue o máxi mo de val or a cada it er ação, eli mi nando o desper díci o e o supérfl uo ( SATO, 2007, p. 19). Uma das f or mas de mel hor ar e agr egar qual i dade ao pr ocesso de desenvol vi ment o é enxer gar nos pr obl emas oport uni dade de mudança, de modo que a Oport uni dade é u m dos pri ncí pi os do XP. Não se deve perder oport uni dade de mel hor ar, apr ender e agr egar val or aos processos. Outr o pri ncí pi o, t ambé m r el aci onado à quali dade, é o da Redundânci a, que suger e encontr ar al t er nati vas vari adas par a a sol ução de pr obl emas difícei s e críti cos. Apost ar na r edundânci a, quando pr eci so, pode i ncr ement ar quali dade. Aceit ar em u ma sol ução específi ca, em detri ment o a outr as opções consi der adas f al has, nem se mpr e é o mai s vi ável. O pri ncípi o da Fal ha di z que não se deve t er medo de err ar. Na dúvi da, i mpl ement e sol uções r edundant es par a que se possa t er cert eza sobr e quai s são f al has e quai s são be m sucedi das. Mes mo que u ma det er mi nada sol ução não sej a sati sf at óri a par a u m pr obl ema específi co, t al vez el a possa ser apr oveit ada e m outr o mo ment o, é o que di z o pri ncí pi o da Aut o- Semel hança, o qual suger e que a estr ut ur a de u ma det er mi nada sol ução pode ser apli cada em outr as sit uações ( SATO, 2007, p. 22).

38 37 Outr o pri ncí pi o do XP é do Fl uxo, que se ref er e a mant er entr egas pequenas e contí nuas de soft war e. Pequenos ci cl os de iter ação r eduzem os ri scos, poi s, quant o menor o t empo par a se obt er o f eedback de u ma sol ução, menor ser á o cust o par a se corri gir o err o, quando f or o caso. Desenvol ver soft war e não é j ogo de azar, quant o mai s alt o se apost a, mai or a possi bili dade de se per der mui t o t empo e recur sos e m corr eções. O pri ncí pi o do fl uxo est á e m si nt oni a co m outr o, o dos Pequenos Passos. Deve- se sempr e desprender o mí ni mo esf orço necessári o, de modo a se t er cert eza de que se est á i nvestindo na sol ução corr eta, col ocando- a e m xeque assi mque possível ( SATO, 2007, p. 21). Co m r el ação às equi pes, o XP possui doi s pri ncí pi os: Di versi dade e Refl exão. A Di versi dade ori ent a f or mar equi pes com compet ênci as vari adas, par a que se t enha dif er ent es pont os de vi st a sobr e u m mes mo pr obl ema ou sit uação. Não bast a f or mar u ma equi pe só com pr ogr amador es Java, por exempl o. É pr eci so que haj a na equi pe pessoas com co mpet ênci as di ver sifi cadas ( anali st as, desi gner es, et c) e t ambé m co m conheci ment o sobr e di versas t ecnol ogi as ( Java, C, C++, et c). A Refl exão suger e que as equi pes devem, const ant ement e, r efletir sobr e suas ações, anali sando o que deu cert o e o que não, buscando a mel hori a contí nua ( SATO, 2007, p. 21) Pr áti cas O XP possui um conj unt o de doze pr áti cas que t êm a f unção de di reci onar as ações no senti do de r eali zar pr oj et os de acor do com seus val or es e pri ncí pi os. É a adoção das pr áti cas do XP que vi abili za o desenvol vi ment o ágil de soft ware de acor do co m est a met odol ogi a. Cont udo, ent ende- se que não é obri gat óri o adot ar t odas el as, mui t o menos si mult anea ment e. El as pode m ser i nseri das no cont ext o da equi pe paul ati nament e, i ni ci ando- se pel as pr áti cas que a equi pe j ul gar conveni ent es, evol ui ndo par a a adoção de outr as pr áti cas com o passar do t empo, conf or me a equi pe a madur ece na met odol ogi a. Est e cui dado r eduz o i mpact o da mudança par a o XP, o que au ment a a possi bili dade de sucesso com a sua i mpl ant ação ( SATO, 2007, p. 23). Na Fi gur a 4, t emos u m di agr ama que mostr a os círcul os de abr angênci a das pr áti cas XP. As pr áti cas do círcul o i nt er no são e mpr egadas a ní vel de desi gner, as do círcul o

39 38 i nt er medi ári o são e mpregadas a ní vel de equi pe, enquant o que as do círcul o ext er no são empr egadas a ní vel de cult ur a or gani zaci onal (JEFFRI ES, 2001). Fi gur a - 4 Pr áti cas XP. Font e: Baseado emjeffri es, A segui r são descrit as est as pr áti cas: Jogo do Pl anej ament o o XP é, basi cament e, uma met odol ogi a it er ati va. Ant es de cada nova it er ação, deve- se pl anej ar aquil o que vai ser desenvol vi do. O j ogo do pl anej ament o consi st e em u ma r euni ão peri ódi ca, mar co i ni ci al de cada nova it er ação, onde a equi pe se r eúne com o cli ent e par a defi nir quai s f unci onali dades ser ão desenvol vi dos naquel a i t er ação e quai s fi car ão par a as pr óxi mas. As f unci onali dades são r egi str adas e m pequenos cart ões e são cha madas de hi stóri as de usuári os. Nest a r euni ão t ambé m é esti mado o cust o, em uni dade de t empo, par a i mpl ement ação de cada hi st óri a;

40 39 Cli ent e Pr esent e no XP o cli ent e é u m i nt egr ant e da equi pe. Sua parti ci pação fr eqüent e é i ndi spensável na defi ni ção das ações que ser ão desenvol vi das dur ant e t odas as et apas do proj et o. É o cli ent e quem sabe o que pr eci sa ser desenvol vi do e suas contri bui ções são essenci ai s par a mant er o tr abal ho no r umo cert o. O client e é u m r epr esent ant e da or gani zação contr at ant e e deve- se despr ender esf orços par a que sej a o mes mo at é o fi nal do pr oj et o, poi s a t roca dest e r epr esent ant e pode compr omet er o ci cl o vi rt uoso de apr endi zage m e co mpr eensão da equi pe sobr e o pr ópri o pr oj et o; Pr ogr a mação e m par est a pr áti ca esti mul a o tr abal ho de codificação e m dupl as, que tr abal ham se mpr e di ant e do mes mo co mput ador, de modo que o códi go é const ant ement e r evi sado enquant o est á sendo cri ado, constit ui ndo u ma pri mei r a i nst ânci a de sua vali dação. Em ger al, as dupl as são f or madas por um pr ogr amador sêni or e outr o menos experi ent e, cumpri ndo u m papel di dáti co i mport ant e par a a capacit ação dest es pr ogr amador es co m menor experi ênci a; Pequenas Ver sões as it er ações do XP deve m ser curt as par a pr over, em curt o espaço de t empo, pequenas ver sões de soft war e que possa m r eceber o aval do cli ent e. Dur ante o j ogo do pl anej ament o, deve- se defi nir um pequeno conj unt o de hi st óri as que ser ão i mpl ement adas e m u ma ou duas se manas par a que se possa t er, rapi dament e, o f eedback daquel a it er ação; Met áf oras el as servem par a tr aduzi r i nfor mações de modo mai s cl ar o, evit ando t er mos t écni cos que ne m se mpr e são compr eendi dos pel o cli ent e ou mes mo por i nt egr ant es da equi pe; Ri t mo Sust ent ável as equi pes não devem ser sub meti das a r egi mes de trabal ho ext enuant es. Reco menda- se oit o hor as di ári as com u m t ot al de 40 hor as semanas, evit ando- se as hor as extras, poi s compr omet em as hor as reser vadas par a o descanso. Assi m, esper a-se que a equi pe possa sust ent ar o rit mo da equi pe de modo i ndefi ni do; Padr oni zação do Códi go e m últi ma i nstânci a, o códi go é u ma f or ma de document ação fi nal do pr oj et o, e, desse modo, deve- se escr evê-l o de modo que t odos os desenvol vedor es possam co mpr eendê-l o sem mai or esf or ço. A

41 40 equi pe deve buscar f or mas de padr oni zar o códi go par a que el e cu mpr a co m est e papel. Est a pr ática t ambé m t or na o códi go mai s ho mogêneo e f acilit a f ut ur as manut enções; Códi go Col eti vo no XP ni nguém é dono dessa ou daquel a part e do códi go. Todos são r esponsávei s pel o códi go i nt eiro e pode m dar contri bui ções e m qual quer part e del e. Desse modo, a ausênci a defi niti va ou t empor ári a de u m component e da equi pe não compr omet er á o desenvol vi ment o do proj et o; I nt egração Contí nua par a que se possa i mpl ement ar, de f at o, a pr opri edade col eti va, é i ndi spensável que t odos t enham acesso a ver são mai s recent e de cada part e do códi go. Em XP, i nt egr ar o códi go conti nua ment e é essenci al par a mant er a har moni a do si st ema e par a a i mpl ement ação de outr as pr áti cas, como o códi go col eti vo; Desi gn Si mpl es a equi pe deve despr ender esf orços par a mant er o códi go o mai s si mpl es possí vel, pr eocupando- se e m i mpl ement ar apenas o sufi ci ent e par a cri ar a f unci onali dade que est á sendo desenvol vi da. Pode- se pensar que est a pr áti ca desper di ça oport uni dades de mel hor ar o códi go, mas, na ver dade, outr as pr áti cas, como r ef act ori ng e test es, j á o f azem; Ref at oração o r ef act ori ng é a pr áti ca que se encarr ega de mel hor ar a l egi bili dade do códi go sem alt er ar a sua f unci onali dade. O r ef act ori ng auxili a outr as pr áti cas como Desi gn Si mpl es e Padroni zação do Códi go; Test es par a gar antir a quali dade do soft war e é essenci al que sej a m desenvol vi dos t est es de vali dação. No XP exi st em doi s gr upos i mport ant es de t est es: os t est es unit ári os e os t est es de aceit ação. Os pri mei r os co mpõe m aquil o que os desenvol vedor es ágei s cha ma m de TDD ( Test- Dri ven Devel opment), ou desenvol vi ment o gui ado por t est es. Tr at a-se da pr áti ca de constr uir os casos de t est e das f unci onalidades ant es que o seu pr ópri o códi go seja cri ado. Est a pr áti ca f avor ece u ma mel hor co mpr eensão da f unci onali dade que se desej a desenvol ver, deli mit ando- a adequada mente, al ém de f or necer subsí di os par a a constr ução das i nt erf aces ext er nas dos mét odos e cl asses, constit ui ndo, ao l ongo do pr oj et o, um vali oso conj unt o de t est es de vali dação do si st ema. Os t est es de aceit ação são r eali zados pel o cli ent e e ser vem de f eedback par a vali dação fi nal da f unci onali dade desenvol vi da, i dentifi cando se el as cumpr em o papel que se pr opõe.

42 Al gumas Críti cas XP é u ma met odol ogi a r evol uci onári a por nat ur eza. Assumi ndo de modo defi niti vo a f unção de encabeçar a li st a de met odol ogi as ágei s, bat e de fr ent e co m os pr ocessos de desenvol vi ment o tradi ci onal de soft war e e causa muit a pol êmi ca. A mai ori a das r egr as da XP causa pol êmi ca à primei r a vi st a e mui t as não f azem senti do se apli cadas i sol adament e. É a si ner gi a de seu conj unt o que sust ent a o sucesso de XP, encabeçando u ma ver dadei ra r evol ução no desenvol vi ment o de soft war e. ( SOARES, 2004b, p. 3) Apesar de possui r di ver sas pr áti cas que agrega m gr ande val or ao desenvol vi ment o de soft war e, XP t ambém r ecebe críti cas quant o a al gumas de suas pr áti cas, al ém de al gumas ausênci as. Soar es ( 2004, p. 6) obser va al gumas dest as críti cas: Eli mi na a utili zação de di agr amas. Excesso de di agr amas é desper dí ci o de t empo e r ecur sos, mas al guns model os pode m f acilit ar a co mpr eensão do pr obl ema que se desej a r esol ver; A capt ur a dos r equi sitos no j ogo do pl anej ament o pode passar a i mpr essão de i nf or mali dade, o que pode não agr adar os cli ent es a pri mei r a vi sta; A r ef at or ação pode ser vi st a como amadori smo ou i ncompet ênci a; I nexi st ênci a da pr eocupação f or mal com a análi se e o pl anej ament o de ri scos AGI LE MODELI NG Co mo j á f oi dit o na seção 2. 5, embor a MA ( Model agem Ágil) não sej a, de f at o, uma met odol ogi a compl et a, el a se i nt egr a perf eit ament e com outr as met odol ogi as ágei s, pri nci pal ment e com XP, e, port ant o, mer ece al gum dest aque nest e est udo. Na ver dade, MA não apenas se i nt egr a ao XP, el a f oi, sob mui t os aspect os, i nspi r ada por el e, f at o que o própri o Ambl er, cri ador da MA, afir ma sem reser vas, quando def ende que não se deve r ei nvent ar a r oda, mas, si m, utili zá-la ( 2004, p. 34). El e defi ne a MA da segui nte f or ma: A Model agem Ágil ( MA) é u ma met odol ogi a baseada na pr áti ca par a model agem e docu ment ação efi cazes de si st emas baseados e m soft war e. A met odol ogi a MA é u m conj unt o de pr áti cas gui ado por pri ncí pi os e val or es par a pr ofi ssi onai s de soft ware apli car em e m seu di a a di a. A MA não é um pr ocesso pr escriti vo. Em outr as pal avr as, não defi ne pr ocedi ment os det al hados sobr e co mo cri ar u m det er mi nado ti po de model o. Em vez di sso, f or nece consel hos sobr e como ser um model ador efi ci ent e. (2004, p. 25)

43 42 Ambl er adot a par a a MA os quatr o val or es ori gi nai s de XP, comuni cação, f eedback, si mpli ci dade e cor agem, acr escent ando-l hes u m qui nt o val or, a humi l dade ( 2004, p. 34). Desenvol vedor es ágei s devem culti var a hu mil dade. Morf ol ogi cament e, humil dade se ori gi na da pal avr a humo 17, que f az al usão a t erreno f értil. De f at o, ser um t err eno f értil é i mport ant e, poi s, ai nda que um pr ofi ssi onal de TI 18 sej a um gr ande especi ali st a em u ma det er mi nada li nguage m de pr ogr amação, por exempl o, deve t er a consci ênci a de que não sabe t udo e que pode apr ender mui t o co m outr os pr ogr amador es menos gr aduados ou outr os pr ofi ssi onai s de out r as ár eas, como bancos de dados, redes ou desi gn de i nt erf ace Pri ncí pi os O soft war e é seu obj eti vo pri nci pal. Entregar ao cli ent e o softwar e f unci onando, com quali dade e at endendo as suas necessi dades é o obj eti vo primor di al do pr oj et o. Per der t empo e r ecursos com docu ment ação excessi va ou desnecessári a é u m gr ande err o. Possi bilitar o pr óxi mo trabal ho é seu obj eti vo secundári o. Na i ndústri a do soft war e não se vi ve, apenas, do pr esent e, é preci so gar antir no pr esent e a soli dez necessári a par a vi abili zar expansões de seu pr oj et o no f ut ur o ( AMBLER, 2004, p. 42). Adot e a si mpli ci dade. A experi ênci a mostra que a sol ução mai s si mpl es é, quase sempr e, a mel hor. Al ém di sso, é mai s r ápi da, f avor ecendo o f eedback r ápi do da sua efi cáci a. Enca mpe a mudança. Ser um model ador ágil é est ar sempr e pr epar ado par a a mudança, poi s el a é u ma const ant e no pr ocesso de desenvol vi ment o ágil, sej a por que a co mpr eensão do cli ent e evol ui, por que suas necessi dades muda m, o cont ext o do seu negóci o muda, enfi m, deve- se aceit ar que o desenvol vi ment o do soft war e é u m uni verso e m mut ação const ant e. Mude i ncre ment al ment e. As mudanças devem ser ad mi ni stradas de modo i ncr ement al, i ntroduzi ndo pequenas modi fi cações emcada it er ação do pr oj et o ( AMBLER, 2004, p. 43). Di mi nua a car ga de trabal ho. Quando opt ar por cri ar cert o conj unt o de model os, l embr e- se de que el es, f at al ment e, necessit arão ser modifi cados, poi s a adapt ação às mudanças i ntr oduzi das pel as it er ações é u ma const ant e em met odol ogi as ágei s Mat éri a or gâni ca em decomposi ção, que empr est a f ertili dade às t err as (do l ati mhumu). Tecnol ogi a da I nf or mação.

44 43 Deve- se document ar o mí ni mo necessári o apenas par a segui r adi ant e co m o mai s i mport ant e, o códi go. Model e com u m pr opósit o. Todo e qual quer model o cri ado deve t er uma fi nali dade específi ca e deve agregar val or obj eti vo ao pr oj et o. Model os sem pr opósit o cl ar o não devem ser pr oduzi dos. Tenha mai s de u m model o. Os model os comuni cam i nf or mações específi cas, de modo que el es se co mpl ement am. Ter mai s de u m model o não é r edundânci a, é al go necessári o par a enri quecer a comuni cação ( AMBLER, 2004, p. 44). Tr abal ho de quali dade. Quali dade agr ada a t odos: ao cli ent e, que est ar á de posse de u m pr odut o agr ega val or aos seus negóci os; aos desenvol vedor es, que t êm mai or moti vação por est ar em tr abal hando e m u m bo m pr oj et o; aos mant enedor es, que ser ão r esponsávei s por f azer at uali zações e m u m códi go l egível e be m escrit o. Enfi m, apost a em qualidade é i nvesti ment o de sucesso gar anti do. Ret or no r ápi do. No desenvol vi ment o ágil o f eedback do cli ent e é essenci al e, par a que t enha val or, pr eci sa ser r ápi do, gar anti ndo u ma r espost a i gual ment e r ápi da nas corr eções que se fi zerem necessári as par a os pr óxi mos i ncr ement os. Maxi mi ze o ret or no de seus cli ent es. O gr au de sucesso do seu pr oj et o est á r el aci onado à sati sf ação do cli ent e co m o pr odut o que l he f oi entr egue. O que el e mai s desej a é receber um pr odut o que agr egue val or r eal aos seus negóci os, entr egue dentr o do pr azo e que não consuma mai s recur sos do que o orçado ( AMBLER, 2004, p. 47) Pr áti cas O cor ação da MA são suas pr áti cas. São el as que você vai r eal ment e apli car nos seus pr oj et os, pr áti cas est as que são gui adas pel os val or es e pri ncí pi os da MA ( AMBLER, 2004, p. 56). São tr eze pr áti cas bási cas or gani zadas em quatr o gr upos, que ser ão descrit as a segui r. Ambl er ( 2004, p. 57) reúne no pri mei r o gr upo quatr o pr áti cas para a Model age m Iterati va e I ncre ment al: Apli que o( s) art ef at o(s) corret o( s) est a pr áti ca pr ega a pertinênci a da utili zação dos model os, poi s cada u m del es t em suas vant agens e suas

45 44 defi ci ênci as. Um model ador ágil deve utili zar, sempr e, o art ef at o que mel hor comuni que a i nf or mação que se quer trans mi tir; Cri e di versos model os e m par al el o co mo cada art ef at o possui seus pont os f ort es e fr acos, cert ament e ser á pr eci so constr uir mai s de u m par a trans mi tir a i nf or mação necessári a da f or ma mai s ri ca possí vel; Itere e m outr o art ef ato se mpr e que per ceber que não est á evol ui ndo co m u m model o ou não est á obt endo o r esult ado desej ado co m el e, mude par a outr o que mel hor se adapt e as suas necessi dades; Model e i ncre ment alment e constr uir a repr esent ação de u m si st ema não deve ser uma t ar ef a par a ser r eali zada de u ma só vez. Deve- se vencer a guerr a combat endo uma bat al ha de cada vez. Assi m, a constr ução de u m model o t ambé m deve ser i ncr ement al, constr ui ndo as part es at é que se chegue ao t odo. No segundo gr upo, Ambl er ( 2004, p. 63) reúne quatr o pr áti cas par a desenvol ver Tr abal ho de Equi pe Efi caz: Model e com outras pessoas o tr abal ho e m equi pe é essenci al par a a constr ução de bons model os. As pr áticas do gr upo ant eri or ser ão i mpl ement adas mai s facil ment e quando se t rabal ha e m equi pe, poi s, al ém de au ment ar numeri cament e a capaci dade cogniti va, t ambé m t em a quest ão da si ner gi a de gr upo, que pot enci ali za a capaci dade de r esol ver pr obl emas; Or gani ze a parti ci pação ati va dos cli ent es est a pr áti ca co mpl ement a a ant eri or, demonstr ando a i mport ânci a da parti ci pação dos cli ent es na model agem, sej am el es i nt er nos ( ger ent es, progr amador es, et c.) ou ext er nos (cli ent es do pr oj et o) e é u ma al usão à pr ática Cli ent e Pr esent e, do XP, que enf ati za a parti ci pação do cli ent e par a obt er o mel hor f eedback e mant er o corr et o direci onament o do pr oj et o; Pr omova a posse col eti va os art ef at os cri ados são de pr opri edade de t odos os i nt egr ant es da equi pe e t odos el es pode m of er ecer contri bui ções par a mel hor á-l os. Est á é outr a pr áti ca i nspi rada no XP; Mostre os model os publi ca ment e t odos os art ef at os pr oduzi dos deve m ser publi cados da mel hor manei r a possí vel, sej a em f or mat o fí si co ou vi rt ual, de modo a per mi tir acesso f ácil e irrestrit o a eles.

46 45 O t er cei ro gr upo descrit o por Ambl er ( 2004, p. 66) r eúne tr ês pr áti cas que Per mi t e m Si mpli ci dade: Cri e cont eúdos si mpl es os model os não deve m t r azer i nf ormações e m excesso, devem ser t ão si mpl es quant o possí vel, trazendo, apenas, as i nf or mações essenci ais aos seus cli ent es. Nenhu m det al hament o óbvi o ou sem utili dade r eal deve ser adi ci onado; Mostre seus model os de modo si mpl es o f or mat o de apr esent ação de seus model os t ambé m deve ser t ão si mpl es quant o possí vel, evit ando ví ci os nas suas apr esent ações que difi cult am a l ei t ur a, t ai s como li nhas cr uzadas, cur vas ou di agonai s, ausênci a de padr oni zação, excesso de det al hes, entr e outr os; Use f errament as mai s si mpl es boa part e dos model os pr oduzi dos cu mpr e o papel de f acilit ar a co mpr eensão do probl ema e não ser á necessári o guar dá-l os por mui t o t e mpo, podendo ser pr oduzi dos manual ment e, e m quadr o br anco, papel ou qual quer outr o r ecur so bar at o ou de f ácil acesso, podendo- se f azer o regi stro vi rt ual com uma câ mer a di git al ou scanner, quando f or o caso. Caso sej a necessári o apr esent á-l os em uma r euni ão f or mal, por exempl o, pode- se utili zar uma f errament a de edi ção de i mage m ou t ext o que per mi t a a sua conf ecção, par a não passar uma i mage m equi vocada de a madori smo. A utili zação de f err ament as especi ai s par a model age m só f azem senti do quando a adi ci onar em vant agem r eal ao trabal ho de pr ogr amação. No quart o e últi mo gr upo, Ambl er ( 2004, p. 68) r eúne duas pr áti cas par a Vali dação do Trabal ho: Consi dere a t est abi li dade t odo model o constr uí do deve per mi tir a constr ução de casos de t est e par a vali dá-lo. Art ef at os que não pode m ser t est ados não devem ser constr uí dos; Co mpr ove co m códi go a vali dação fi nal do model o é o códi go. Por si nal, u m dos obj eti vos da model agem é f acilit ar a constr ução do códi go. Quando i st o não acont ece, o model o não est ar á cumpri ndo u m de seus papei s e deve ser reavali ado.

47 46 Al ém das pr áti cas bási cas, Ambl er ai nda suger e oit o pr áti cas compl ement ar es às ant eri or es (2004, p. 70): Apli que as convenções da model agem. Da mes ma f or ma que o códi go deve ser padr oni zado no XP, é i mport ant e utili zar padr oni zação na model age m; Utili ze padr ões ( patt erns) com moder ação. Utili zar padr ões t or na o tr abal ho mai s r obust o e i ncr ement a quali dade, contudo, quando da necessi dade de utili zar um det er mi nado padr ão não se deve esquecer o val or da Si mpli ci dade; Reuse os r ecur sos j á exi st ent es. Não r ei nvent e a r oda, r eutili ze o que j á f oi desenvol vi do, adequando- o as suas r eai s necessi dades; Model e par a ent ender. Est e deve ser o obj etivo pri mor di al da model age m; Model e par a comuni car. Est e deve ser o obj eti vo secundári o da model agem; Descart e os model os t empor ári os. Não guar de art ef at os que j á cu mpri r am com o seu obj eti vo e cuj o ar qui vament o não é essenci al; At uali ze apenas quando necessári o. Mant er model os at uali zados é u m f ar do. Por outr o l ado, mant ê-l os desat uali zados pode col ocar o desenvol vi ment o e m ri sco. To mar a deci são de descart ar um model o ou at uali zá-l o é u m pont o cr uci al na MA, devendo ser f eit a consi der ando o cust o- benefí ci o; For mali ze os model os de contr at o. Quando se tr abal ha com par ceri as ext er nas, par a desenvol ver part e da sol ução, é essenci al mant er um contr at o de col abor ação MA E XP Co mo j á f oi dit o ant erior ment e, XP e MA se compl ement am, uma vez que a MA f oi concebi da par a est e fi m. Par a cri ar a MA, Ambl er consi der ou não apenas as vant agens do XP, mas t ambé m as suas ausênci as, como a quant i dade r eduzi da de art ef at os. De f at o, os art ef at os r ef er enci ados por XP são as hi st óri as de usuári os e os cart ões CRC. Cont udo, é u m err o acr editar que e m XP não se deve utili zar outr os art ef at os. O pr ópri o Ron Jeffri es, um dos criador es do XP, ad mi t e que é i mport ant e reconhecer quando a pr odução de document ação f or a do escopo do XP é necessári a (apud AMBLER, 2004, p. 175). Ta mbé m não é corr eto di zer que XP é i ncompatí vel com UML. O que é r eal ment e i mport ant e é compr eender que ne m t odos os art ef at os UML são apr opri ados par a

48 47 XP. Os casos de uso da UML, por exempl o, descr evem as f unci onali dades bási cas do si st ema, o que j á é cobert o pel as hi st óri as de usuári os do XP e t or na o di agr ama de caso de uso r edundant e e desnecessári o ( AMBLER, 2004, p. 177). He mr aj ani t ambé m corr obor a com est a i déi a, encar ando a MA co mo u m compl ement o do XP no que se r ef er e à model agem, i ntr oduzi do art ef at os da UML e di agramas li vr es, cuj o obj eti vo é mel hor ar a co mpr eensão do pr obl ema. Ta mbé m é i mport ant e não esquecer que o obj eti vo do pr oj et o é o desenvol vi ment o do soft war e, e não de document ação. Logo, boa part e dos art ef at os pode ser concebi da de modo i nf or mal, pri nci pal ment e a mão li vr e, uma vez que boa part e del es ser á descart ada após cumprir seu papel de auxili ar na compr eensão e sol ução dos pr obl emas. Par a os casos e m que o r egi stro f or mal de u m art ef at o sej a real ment e necessári o, co mo necessi dade de utili zá-l o em u ma r euni ão f or mal, auxili ar na ger ação de códi go ou document ar o si st ema depoi s de concl uí do, podese utili zar di agr amas UML mai s si st ematicament e, mas sempr e moder ada ment e par a não per der o f oco do pr oj et o ( AMBLER, 2004, p. 51). Ai nda segundo Ambl er ( 2004, p. 52), constr uir art ef at os a mão li vr e t em vári as vant agens: É mai s pr áti co, r ápi do e segur o, poi s não depende da di sponi bili dade de har dwar e ou soft war e e nem est á suj eit o a suas peculi ari dades; É mai s econô mi co, poi s não necessit a aqui si ção de f err ament as co mpl exas de constr ução de di agra mas UML; É mai s l údi co e convi dati vo, o que f acilit a a parti ci pação de t odos, i ncl usi ve do cli ent e; Pode ser f acil ment e regi strado e m f or mat o di git al sempr e que necessári o, at r avés de scanner ou câmer a, como par a envi ar por e- mail, por exempl o MA nas f ases do XP Ambl er dest aca como int egr ar MA ao l ongo do ci cl o de vi da do XP (2004, p. 184): Fase de Expl oração nest a f ase, as hi st óri as de usuári os são os art ef at os pr oduzi dos pel o XP. El as são escrit as da f orma co mo o cli ent e as descr eve. Pr ef er enci al ment e, devem ser escrit as de própri o punho do cli ent e, de modo a

49 48 não haver i nt erf er ênci a da i nt er pr et ação dada por um i nt erveni ente. El as são mui t o si mil ar es aos casos de uso da UML, dif er enci ando- se, pri nci pal ment e, por ser em de aut ori a dos pr ópri os cli ent es. Na Tabel a 1, t emos exe mpl os de hi st óri as de usuári o, que são i dentifi cadas por nú mer o, nome e descri ção. As col unas 4 e 5 i nf orma m a or dem de pri ori dade que el as deve m ser i mpl ement adas e a quanti dade de pont os esti mados par a i mpl ement á-l as. Est es pont os são medi dos em uni dade de t empo, ger al ment e semanas; Fase de Pl anej ament o nest a f ase são defini das as hi st óri as de usuári o que ser ão i mpl ement adas e m cada it er ação e as t ar ef as necessári as par a i mpl ement ar cada u ma del as. Est as t ar ef as pode m ser r euni das e m cart ões de t ar ef as, que li st am as t ar ef as necessári as par a i mpl ement ar cada hi st óri a de usuári o, como na Fi gur a 5. Os cart ões de t ar ef as pode m ser substit uí dos por model os de i nt erf ace com usuári o ( UI, Usuar I nt erf ace), como na Fi gur a 6, ou por di agr amas de fluxo, como na Fi gur a 7; Fase de it eração para a entrega nest a f ase são pr oduzi dos os cart ões CRC 19 ( Cl ass, Responsi bility and Coll abor ati on) do XP. Na Fi gur a 8, t em- se doi s exempl os de cart ão CRC. Al ém del es, pode m ser utili zados outr os art ef at os par a auxiliar na co mpr eensão dos pr obl emas e mel hor ar a comuni cação, como di agr amas UML, cl asse ( Fi gur a 9) e seqüênci a, por exe mpl o, di agr amas esque máti cos li vr es e model os si mplifi cados de UI ; Fase de Pr odução est a f ase é u m bo m mo ment o par a f azer uma li mpeza, descart ando os model os t empor ári os. Caso haj a al guma nova necessi dade verifi cada dur ant e esta f ase, deve- se r egi strá-l a, da mel hor manei ra possí vel, par a que sej a i mpl ement ada nest a ou na pr óxi ma ver são; Fase de Manut enção nest a f ase, as ati vi dades de suport e e at uali zação da ver são entr egue corr em par al el as ao desenvol vi ment o de outr as it er ações. Co mo o f oco da MA é o desenvol vi ment o, el a pouco contri bui com est a f ase; Fase Mort e nest e mo ment o o soft war e est á i mpl ement ado e não há mai s nada a ser cri ado nem modi fi cado. Os model ador es pode m deci dir sobr e quai s art ef at os devem ser manti dos, r evi sados ou at uali zados ( mai s u m mo ment o par a descart ar model os t empor ários). O códi go deve ser utili zado par a ger ar art ef at os por engenhari a rever sa se mpr e que possí vel. 1 9 Cart ões cl asse, responsabili dade e col abor ação.

50 49 Tabel a - 1 Exe mpl os de Hi st óri as de Usuári o, pri ori dades e esti mati vas. Font e: He mr aj ani, 2007.

51 50 Fi gur a - 5 Exe mpl o de Cart ão de Tar ef as. Font e: Ambl er, Fi gur a - 6 Exe mpl o de model o de i nt erf ace gr áfi ca ( esboço). Font e: Ambl er, 2004.

52 51 Fi gur a - 7 Exe mpl o de esboço de Di agr ama de Fl uxo. Font e: Ambl er, Fi gur a - 8 Exe mpl os de Cart ões CRC. Ti mesheet Conhece a dat a do perí odo Conhece a dat a/ hor a Conhece o códi go do sepert ament o Ti mesheet Manager Busca control e(s) de hor a no banco de dados Ti mesheet Sal va umli vro de pont o no banco de dados Font e: He mr aj ani, 2007.

53 52 Fi gur a - 9 Exe mpl o de esboço Di agr ama de Cl asse. Font e: Ambl er, Críti cas a MA Pri mei r ament e, a MA não é u ma met odol ogi a pr opri ament e dit a, poi s não descr eve o pr ocesso de desenvol vi ment o do soft war e de modo co mpl et o, pr eocupando- se, pri orit ari ament e, com u ma quest ão secundári a: a pr odução de art ef at os e document ação. Outr a li mit ação é que não descr eve det al hadament e como pr oduzi r os art ef at os, r estri ngi ndo- se a descr ever val or es, pri ncí pi os e práti cas út ei s aos model ador es ágei s. Nest e caso, pode- se r ecorr er a outr as lit er at ur as que descr evam det al hes da pr odução de art ef at os como UML, por exempl o, ou utili zar a MA e m compl ement ação a outr as met odol ogi as de model agem mai s det al hadas, co mo I CONI X 20 e Cat ali sys 21 (AMBLER, 2004, p. 31). També m é difícil ser um bo m model ador ágil, por que exi ge que el e apr enda a apli car uma gr ande quanti dade de art ef at os par a saber adequada ment e o mel hor mo ment o de utili zá-los Pr ocesso de desenvol vi ment o de soft war e f ocado na model age m. Abor dage m de desenvol vi ment o de soft war e baseado em UML.

54 3. DESENVOLVI MENTO EFI CI ENTE DE SOFT WARE COM BASE EM LI NGUAGEM JAVA Após anos de sucesso co mo a mai s popul ar li nguage m de pr ogr amação e m t odo o mundo, Java vem r ecebendo críti cas quant o a al gumas de suas car act erí sti cas, pri nci pal ment e depoi s da popul ari zação de moder nas li nguagens di nâmi cas, mui t o comuns par a desenvol vi ment o Web, como Ruby, PHP, Pyt hon e PERL, al ém do sur gi ment o de pr oj et os e li nguagens de pr ogr amação que t ambém são co mpatí vei s com a pl at af or ma Java, t ai s como, Ni ce, Groovy, Jyt hon e J Ruby ( HEMRAJ ANI, 2007, p. xi x) ( SI LVA & ABE, 2005, 14). Si l va e Abe dest acam al gumas dest as car act erí sti cas da li nguage m Java que são criti cadas ( SI LVA & ABE, 2005, 14): Ver borragi a e m compar ação a li nguagens de pr ogr amação mai s moder nas, Java é u ma li nguagem mui t o pr oli xa. Em al gumas ci rcunst ânci as, necessit a de muit o códi go par a produzi r uma det er mi nada f unci onali dade; Pr ot eção Excessi va co m o i nt uit o de t or nar a li nguage m r obust a e pr ot egi da contr a maus pr ogr amador es, Java acabou sendo desenvol vi da co m e mpecil hos par a os bons pr ogr amador es, pri nci pal ment e r el aci onados a trat ament o de exceções e a ausênci a de macros; Sobr ecar ga de Operador es Java não possui sobr ecar ga de oper ador es, u m ti po de poli morfi smo e m que o mes mo oper ador pode ser utili zado de f or mas dif er ent es emcircunst ânci as dif er ent es; Sobr ecar ga de Mét odos a li nguagem Java exi ge que exi st a u ma i mpl ement ação de mét odo par a cada combi nação possí vel de par âmetr os, al ém de não vi abili zar u ma f or ma adequada par a par âmetr os opci onai s; Her ança Múl ti pl a Java só per mi t e her ança úni ca. Par a cont or nar o pr obl ema, é necessário utili zar i nt erf aces, o que i nvi abili za a r eutili zação de códi go. No que se r ef er e à ver borr agi a da li nguage m Java, Akit a ( 2007) r atifi ca est a car act erí sti ca, def endendo que Java é muit o bur ocr áti ca na hor a de utili zar as bi bli ot ecas, uma vez que boa part e del as foi cri ada par a ser alt ament e ext ensí vel e alt ament e fl exí vel, como Swi ng, por exempl o, o que t or na a sua utili zação bast ant e

55 54 compl exa. El e ai nda acr escent a que est a defi ci ênci a é agr avada pel o f at o de Java não possui r ti pagem di nâ mi ca, o que contri bui com a bur ocr aci a da li nguage m. Outr o desafi o à li nguage m Java é a questão da pr oduti vi dade. Nos últi mos anos, sur giram mui t os fr amewor ks RAD, par a desenvol vi ment o r ápi do de apli cação, que si mplifi cam mui t o o trabal ho de desenvol vi ment o de soft war e, pri nci pal ment e volt ados par a a Web, i ntr oduzi ndo i nt erf aces de alt o ní vel de abstr ação. Al guns exe mpl os be m car acterí sti cos são Ruby OnRail s, Mi cr osoft. NET, PHP- Nuke, Lot us Not es Do mi no Desi gner, entre outr os. Em par al el o ao sur gi ment o e cr esci ment o dest es fr amewor ks e l i nguagens, f or am desenvol vi das r espost as da pl at af or ma Java par a al gumas das suas críti cas, pri nci pal ment e no que se r ef er e a au ment o de pr oduti vi dade. Est as r espost as sur giram nat ur al ment e, pel a contri bui ção da enor me co muni dade Java espal hada por t odo mundo, ant eci pando- se a al gumas dest as mes mas críti cas, conf or me ser á descrit o nas pr óxi mas seções. Al ém di sso, al gumas dest as críti cas est ão rel aci onadas à quest ão da segur ança, as quai s são questi onávei s, poi s, no que se ref er e a est e quesit o, mui t os especi ali st as acr edit am que as vant agens obti das são mai s i mport ant es que a i ntr odução de al gumas li mit ações, conf or me ser á vi st o mai s adi ant e. Cont udo, uma quest ão de mérit o que deve ser r espondi da ant es de pr ossegui r com est e est udo é: j á que Java não é u ma li nguage m t ão moder na quant o ansei a boa part e da comuni dade de desenvol vedor es espal hada pel o mundo, mui t os dos quai s est ão sendo seduzi dos por li nguagens di nâmi cas como Ruby e Pyt hon, por exempl o, ser á que ai nda é vi ável i nvestir em Java? Em outr as pal avr as, ser á que j á é chegada a hor a de apost ar e m li nguagens de progr amação mai s moder nas e mel hor adapt adas ao conceit o Web e abandonar de vez a li nguage m Java? At é est a seção for am col ocadas, apenas, al gumas críti cas r ef er ent es à li nguage m Java. Cont udo, na próxi ma seção, ser ão expost os al guns bons ar gument os que poder ão auxili ar os desenvol vedor es na deci são sobr e conti nuar ou não i nvesti ndo nest a li nguage m de progr amação.

56 POR QUE JAVA? Ao l ongo dos últi mos dez anos, Java se consoli dou co mo a mai s popul ar li nguage m de pr ogr amação e m t odo o mundo. Est e f at o é aceit o i nt er naci onal ment e por t oda a comuni dade de mundi al de pr ogr amador es e confir mado pel o í ndi ce TI OBE, que utili za a I nt er net para verifi car o gr au de popul ari dade das li nguagens de pr ogr amação, utili zando i nf or mações col et adas e m di ver sas f ont es, t ai s co mo sit es especi ali zados, mot ores de busca, empr esas certifi cador as e de consult ori a, entr e outr os. A Fi gur a 10 nos mostr a o r anki ng das vi nt e mai s popul ares li nguagens de pr ogr amação, ref er ente ao mês de novembr o, segundo o Í ndi ce TI OBE. Fi gur a - 10 Ranki ng das vi nt e mai s popul ar es li nguagens de pr ogr amação em out ubr o de Font e: TI OBE Pr ogr ammi ng Co mmunit y I ndex

57 56 A li nguage m Java não apenas encabeça est e r anki ng, como t ambé m obt eve 21, 616 % da avali ação de popul ari dade. Segundo est a mes ma f onte, Java é a mai s popul ar li nguage m de pr ogr amação desde que est e í ndi ce f oi cri ado, em 2001, per dendo o tít ul o apenas par a C, e por um curt o perí odo de t empo, dur ant e o fi nal de 2004 e o i ní ci o de 2005, conf or me pode ser vi st o na Fi gur a 11. Fi gur a - 11 Evol ução, nos últi mos set e anos, das dez mai s popul ar es li nguagens de pr ogr amação em out ubr o de Font e: TI OBE Pr ogr ammi ng Co mmunit y I ndex Toda est a popul ari dade é u ma das f or ças da li nguage m. El a possui u ma gi gant esca comuni dade de desenvol vedor es, o que f aci lit a a r esol ução de probl emas, poi s há mui t o mai s gent e i nt eressada em r esol vê-l os. Segundo dados da Sun Mi cr osyst ems, esti ma- se que e m 2003 j á exi sti am cer ca de tr ês mil hões de desenvol vedor es Java e m t odo o mundo, 30 mi l só no Br asil, r egi strando u m aument o de 48 % na pr ocur a por cur sos de certifi cação. Em j unho do mes mo ano, o sit e Java. com r egi str ou a

58 57 mar ca de 30 mi l hões de downl oads e a médi a de 7 mi l hões de acessos mensai s ( FREI TAS, 2006, p. 16). Outr a conseqüênci a de sua gr ande popul ari dade, e t ambé m de outr as de suas vant agens, como segur ança e r obust ez, é que Java se consoli dou co mo l í der no mer cado coor por ati vo, o que i mpul si onou ai nda mai s o desenvol vi ment o da li nguagem e de sua pl at af or ma, poi s angari ou u m gr ande vol ume de i nvesti ment os ao l ongo dos últi mos dez anos ( AKI TA, 2007). Par a se t er uma i déi a da f or ça dest e mer cado, dados da Sun Mi cr osyst ems, ref er ent es ao ano de 2003, i ndi cam que mai s de 1, 5 bil hão de di spositi vos possue m Java i nst al ado ou e mbar cado, dos quai s 250 mi l hões e m cel ul ar es, 650 mi l hões e m deskt ops e ser vi dor es, 500 mil hões e m s mart car ds ou di spositi vos si mil ar es e 100 mi l hões e m outr os di spositi vos, como câ mer as f ot ogr áfi cas, equi pa ment os médi cos e veí cul o de expl or ação a Mart e, r egi strando t axa de cr esci ment o de 25 % ao ano desde 2002 ( FREI TAS, 2006, p. 12). Há de se r econhecer que o sucesso da pl ataf or ma Java não est á f ocali zado apenas em sua li nguage m. El e é atri buí do, pri nci pal ment e, a sua Java Vi rt ual Machi ne ( Máqui na Vi rt ual Java), mai s conheci da como JVM, e a sua abr angent e API ( AKI TA, 2007). De f at o, a JVM é o carr o chef e da t ecnol ogi a Java. Dentr e as suas pri nci pai s quali dades, dest acam- se: Tr eads Nati vas e m mui t as pl at af or mas não Java, as treads são ger enci adas i nt er nament e pel o pr ocesso da pr ópri a li nguage m, o que li mi t a a sua escal abili dade, al ém de cri ar fr agilidades quant o à execução de bi bli ot ecas escrit as em l i nguage m C. Em Java, as tr eads são ger enci adas pel o pr ópri o si st ema oper aci onal, o que l he conf er e gr ande escal abili dade quant o à capaci dade de pr ocessament o, per mi ti ndo execução par al el a, utili zação de múl ti pl os pr ocessador es e de múl ti pl os si st emas. Java é escal ável em perf or mance ( AKI TA, 2007), ou sej a, quant o mai s recur sos de pr ocessament o, mel hor o desempenho; Robust ez u m bom ger enci ament o de tr eads t ambé m conf er e mai or segur ança na execução dos pr ocessos. A JVM é extr ema ment e segur a no ger enci ament o de pr ocessos, i sol ando os códi gos pr obl emáti cos, i mpedi ndo

59 58 que a JVM tr ave, como ocorr e em al gumas outr as li nguagens de ti page m di nâmi ca. É quase i mpossí vel derr ubar a JVM ( AKI TA, 2007); Ger enci ament o de Me móri a a JVM possui um excel ent e ger enci a ment o de me móri a, fr ut o de dez anos de gr andes i nvesti ment os na pl at af orma, o que l he r endeu u m Gar bage Coll ect or ( col et or de li xo) que é o mel hor entr e t odas as li nguagens ( AKI TA, 2007), possui ndo vant agens adi ci onai s co mo al t a escal abili dade quant o à quanti dade de me móri a, e é alt ament e confi gur ável, possui ndo u ma gr ande di ver si dade de r ecur sos par a adequar o ger enci ament o de memóri a de acor do com o cont ext o ou necessi dade, al ém de t er si do i nt ensament e t est ado no mundo i nt eiro e em di ver sas pl at af or mas; Port abili dade Java f oi desenvol vi do com o pr opósi t o de execut ar e m qual quer pl at af or ma ou a mbi ent e, de si st emas oper aci onai s a di spositi vos e mbar cados, t ai s como cel ul ar es, pal ms, s martf ones, apar el hos de TV, ent r e outr os. É u ma li nguage m i nt er pr et ada, cuj o códi go f ont e é tr ansf or mado e m byt ecodes, pel o compil ador, e est es são i nt er pr et ados pel a JVM. De f at o, exi st em JVM s par a rodar em, pr ati cament e, t odos os pri nci pai s si st emas oper aci onai s da at ual i dade, t ai s como Li nux, Wi ndows, Mac OS e Sol ar es ( AKI TA, 2007); Tr adut or JI T é u m co mpil ador em t empo de execução ( Just-In- Ti me) do JVM que tr ansf or ma os byt ecodes das cl asses Java e m códi go nati vo do si st ema oper aci onal, of er ecendo mai s perf or mance a pr ocessos críti cos ( COHEN, 2007); UNI CODE Nati vo as stri ngs Java f or am pr epar adas, desde sempr e, par a ser compatí veis com o padr ão UNI CODE, que t em se t or nado, pr ati cament e, uma exi gênci a da W3C 22 ( Worl d Wi de Web Consorti um) par a I nt er net. Muit as li nguagens não possue m suport e consi st ent e a UNI CODE, o que é u m pr obl ema no desenvol vi ment o de si st emas acessados vi a Web ( AKI TA, 2007). O padr ão Uni code garant e que o t ext o publi cado na Web sej a vi suali zado corr et ament e i ndependent e das car act erí sticas parti cul ar es de cada i di oma, como acent os e outr os sí mbol os; 2 2 Consór ci o de e mpr esas de t ecnol ogi a que desenvol ve padrões par a a cri ação e a i nt er pret ação dos cont eúdos par a a Web, par a que possa m ser acessados e vi suali zados por qual quer pessoa ou t ecnol ogi a, i ndependent e de har dwar e ou soft war e utili zados.

60 59 Docu ment ação Abr angent e Java é mui t o be m especifi cada, possui ndo u ma vast a e compl et a document ação que descr eve adequada ment e o f unci onament o da sua JVM e de suas API s. Co mo Java f oi desenvol vi da pel a Sun, uma gr ande e mpresa do mer cado coorpor ati vo de TI, t eve acesso a u m gr ande suport e de engenhei r os que pr oduziram sua especifi cação. Outr as li nguagens nascer am co mo o fr ut o do esf orço de pr ogr amador es i ndependent es e não t i ver am t ant a at enção com a document ação adequada do si st ema ( AKI TA, 2007). Gr aças a sua JVM, Java é a mai s equili br ada li nguage m da at ualidade, poi s os tr ês pil ar es de sust ent ação das li nguagens de progr amação ( desempenho, segur ança e port abili dade) est ão em condi ções de i gual dade no Java, enquant o que, e m outr as li nguagens, mes mo as mai s moder nas co mo Ruby ou Sma ll Tal k, est ão e m desequilí bri o, dei xando a desej ar em um ou outr o f at or ( MURTA, 2006, p. 6). Outr o pont o f ort e da pl at af or ma Java é a sua API. É u m enor me conj unt o de component es de softwar e agr upados e m pacot es pr ont os par a ser em utili zados. Ta mbé m cha mados de bi bli ot ecas de cl asses, di sponi bili zam u m grande conj unt o de f unci onali dades, t ai s co mo f err ament as e t ecnol ogi as de desenvol vi ment o, i nt erf ace com o usuári o, bi bli otecas de i nt egr ação (redes, si st emas di stri buí dos, bancos de dados, et c.), al ém de outr as bi bli ot ecas com apli cações di ver sas. Est as API s são di stri buí das emtr ês grandes pl at af or mas ( SILVA, 2007, p. 10): J2SE Java St andard Editi on é a pl at af orma padr ão da t ecnol ogi a Java, cont endo um conj unt o bási co de bi bli ot ecas de cl asse, t ai s como estr ut ur as de dados, i nt erf ace gráfi ca, comuni cação, bancos de dados e segur ança, essenci ai s ao desenvol vi ment o de apli cações Java; J2EE Java Ent er pri se Editi on é a pl ataf or ma de desenvol vi ment o de apli cações coor por ati vas, constr uí da a partir da J2SE, pr ovendo r ecur sos par a desenvol vi ment o de apli cações de gr ande port e ou di stri buí das; J2 ME Java Mi cr o Editi on é, basi cament e, u ma subseção da J2SE co m u m nú mer o r eduzi do de bi bli ot ecas, per mi ti ndo ser utili zada em a mbi ent es e mbar cados, como t el ef ones cel ul ar es, PDA` s, TV` s, i mpr essor as, et c. É, at ual ment e, a t ecnol ogi a mai s utili zada no mundo dos di spositi vos e mbar cados ( SI LVA, 2007, p. 11).

61 60 A li nguage m Java t ambé m apr esent a boas car act erí sti cas. Possui si nt axe f amili ar, i nspi rada e m C e C++, cont udo é mai s si mpl es, unif or me e l egí vel, al ém de ser mui t o mai s segur a e r obust a, poi s possui ti pagem f ort e e não tr abal ha co m arit méti ca de pont ei ros, i mpedi ndo o acesso di r et o à me móri a. Outr o aspect o de segur ança é que Java f az a verifi cação do códi go f ont e ant es da compil ação, i mpedi ndo a execução de códi gos il egai s, t ai s como adult er ação de pont eiros, vi ol ações do di r eit o de acesso nos obj et os e alt er ação do ti po ou da cl asse dos obj etos, gar anti ndo a i nt egri dade do si st ema ( FREI TAS, 2006, p. 10). Ta mbé m possui car act erí sti cas comuns às mel hores li nguagens de pr ogr amação da at uali dade, co mo i ndependênci a de pl ataf or ma e suport e ao trat ament o de exceções, al ém de r ef or çar bons padr ões de pr ogra mação ( MURTA, 2006, p. 10), t ai s como: Ori ent ação a Obj et os (encapsul ament o, her ança + i nt erf aces, poli morfi smo); Reutili zação de códi go; Utili zação de component es de soft war e; Desenvol vi ment o de co mponent es de soft ware; Model o de coment ári o; Ger ação semi - aut omát i ca de document ação. Al ém das quest ões t écni cas, exi st e t ambé m u ma quest ão fil osófi ca a ser consi der ada: Java é Open Sour ce, t eve seu códi go f ont e li ber ado pel a Sun. Foi adot ada pel a i ndústria co mo alt er nati va às sol uções f echadas ( SI LVA, 2007, p. 15), como Mi cr osoft. Net, e possui um gr ande conj unt o de apli cações Open Sour ce i nt egr adas, t ai s como Ecli pse, JUnit, Ant, Spri ng, Hi ber nat e, entr e outr as. São f err ament as que podem ser usadas par a subsi di ar o desenvol viment o de pr oj et os com base emli nguagem Java. Mui t as dest as f err ament as tr abal ham e m col abor ação entr e si de modo i nt egr ado. Al gumas t êm o obj eti vo de i ntr oduzi r al gumas boas pr áti cas de desenvol vi ment o ágil de soft war e, vi st as ant eri or ment e nas seções 2. 6 e 2. 7, r ef er ent e às met odol ogi as ágei s de desenvol vi ment o de soft war e XP e MA. Al gu mas out r as, obj eti va m au ment ar o gr au de abstr ação na r eali zação de det er mi nadas r oti nas Java, reduzi ndo a sua compl exi dade, au ment ando, assi m, a pr oduti vi dade do tr abal ho de desenvol vi ment o. As próxi mas seções ser ão dedi cadas ao est udo de al gumas del as.

62 PRI NCI PAI S FERRAMENTAS E FRAME WORKS Em seu tr abal ho Desenvol vi ment o Ágil em Java, He mr aj ani ( 2007, p. 5) r eúne u m conj unt o de f err ament as e fr amewor ks mui to út ei s par a apli car boas pr áti cas de desenvol vi ment o ágil de soft war e ou au ment ar o gr au de abstr ação na r eali zação de det er mi nadas r oti nas Java, conf or me pode ser vi st o na Tabel a 2. Tabel a - 2 Pri nci pai s t ecnol ogi as di scuti das no li vr o Desenvol vi ment o Ági l em Java. Font e: HEMRAJ ANI. Desenvol vi ment o Ágil emjava Embor a qual quer dos apli cati vos li st ados nas col unas tr ês e quatro pudesse m ser utili zados e m substit ui ção aos da col una u m, He mr aj ani j ustifi ca a escol ha dos apli cati vos da pri mei ra col una pel o f at o de ser em r obust os o sufi ci ent e par a cumprirem co m seus obj eti vos, por ser em t odos open sour ce, não agr egando cust o al gum, e por que são os mai s si mpl es de confi gur ar de suas r especti vas cat egori as. Segui ndo est a per specti va, nas pr óxi mas seções ser ão apr esent ados os apli cati vos

63 62 Ecli pse, Ant, JUnit, Spri ng e Hi ber nat e, não apenas pel os moti vos descrit os por He mr aj ani, mas t ambé m por que t odos pode m ser i nt egr ados dentr o de u m mes mo a mbi ent e, o Ecli pse. As de mai s f err ament as da col una u m não serão abor dadas por est ar em f or a do escopo dest e est udo. Al gumas outr as t ecnol ogi as co mo CVS, MVC e CSS, t ambé m ser ão descrit as por est ar em dentr o do cont ext o da utili zação de al guns dest es apli cati vos e por agr egar em val or ao desenvol vi ment o efi ci ent e baseado emli nguagem Java ECLI PSE O Ecli pse é u m a mbi ent e comput aci onal i nt egr ado de desenvol vi ment o de soft war e (I nt egr at ed Devel opment Envi ronment I DE) desti nado à constr ução de apli cações, alt ament e efi ci ent e e útil par a pr ogr amar e m Java ( HEMRAJ ANI, 2007, p. 138), e mbor a, at ual ment e, per mi t a i mpl ement ar códi go f ont e e m di ver sas outr as li nguagens de pr ogr amação. Ori gi nal ment e, f oi desenvol vi do pel a I BM, que t or nou o pr oj et o open sour ce ( códi go li vr e), doando- o como soft war e li vr e à sua co muni dade de desenvol vedor es. At ual ment e, el e é mantido pel a a Ecli pse Foundati on. A Ecli pse Foundati on é u ma cor por ação se m fi ns l ucr ati vos f or mada par a avançar no pr ocesso de cri ação, evol ução, pr omoção e suport e da Ecli pse Pl at af or m e i ncenti var t ant o u ma comuni dade de códi go f ont e abert o como u m ecossi st ema de pr odut os, capaci dades e ser vi ços co mpl ement ar es. [...] Os lí der es do set or Borl and, I BM, MERANT, QNX Soft ware Syst ems, Rati onal Soft war e, Red Hat, SuSE, Toget her Soft e Webgai n f or mar am, e m nove mbr o de 2001, o ecli pse. or g Boar d of St ewar ds. No fi nal de 2003, o nú mer o de me mbr os dest e consór cio i ni ci al havi a au ment ado par a mai s de 80. ( ECLI PSE. ORG, apud HEMRAJ ANI, 2007, p. 139) Est e gr ande nú mer o de or gani zações e m cooper ação, mai s a sua co muni dade de desenvol vedor es, t or nou o Ecli pse a mel hor e mai s popul ar I DE Java de t odo mundo, f at o que é compr ovado por vári as font es de pesqui sa, como a About. com (2005). Um bo m exe mpl o do que r epr esent a o Ecli pse para o mer cado de desenvol vi ment o de soft war e é que, no i níci o de 2005, a Borl and anunci ou que a conti nuação do seu princi pal pr odut o de desenvol vi ment o e m Java, o JBuil der, seri a baseada na pl at af or ma Ecli pse ( HEMRAJ ANI, 2007, p. 140). O seu gr ande dif er enci al é a utili zação de pl ug-ins, que são pacot es de cl asses de soft war e escrit os em Java. Est es pl ug-i ns são desenvol vi dos de modo t ot al ment e

64 63 i ndependent e, sej a pel a f undação ou pel a enor me co muni dade de desenvol vedor es, acr escent ando ao Eclipse os mai s vari ados r ecur sos, t ai s como i nt erf aces vi suai s par a mani pul ação de bancos de dados, di agr amas UML e pági nas WEB, i mpl ement ação de t est es unit ári os de códi go, fr amewor ks de mani pul ação de cl asses vi suai s, f errament as de i nt egr ação de si st emas, entr e t ant os outr os. O que t or na o Ecli pse um pr odut o t ão poder oso não é apenas o f at o de ser u ma f errament a co m i nt erf ace gr áfi ca de desenvol vi ment o i mpr essi onant e, o que el e é. Outr os pr odut os, co mo o l nt ellij da Jet Br ai n e o Net Beans da Sun Mi cr osyst em, são i gual ment e bons. Entr et ant o, o que ver dadei rament e t or na o f enô meno Ecli pse t ão atr aent e é o nú mer o de pl ug-i ns sofi sti cados di sponí vei s no mer cado e a pai xão por tr ás dessa pl at af or ma pel as comuni dades co mer ci ai s e de códi go-f ont e aberto. De cent enas de pl ug-i ns gr at uit os a u m cr escent e nú mer o de pl ug-i ns comer ci ai s no mer cado, a comuni dade Ecli pse aument a r api dament e. [...] Por exe mpl o, há pl ug-i ns di sponí vei s par a di agr amação de UML, codifi cação, depur ação, ger enci ament o de banco de dados, t est e de uni dade, ger enci ament o de ser vidor de apli cati vos, docu ment ação e mui t o mai s. ( HEMRAJ ANI, 2007, p. 140) Na Fi gur a 12 há u m di agr ama exe mplifi cando co mo a pl at af or ma Ecli pse i nt er age com a JVM e com al guns dos seus pl ug-i ns. Fi gur a - 12 A pl at af or ma Ecli pse e al guns model os de plug-i ns ( por exempl o, JDT). Font e: He mr aj ani, 2007 O Wor kbench é a i nt erf ace gr áfi ca do Ecli pse, que agr upa t odas as outr as f unci onali dades e m um úni co a mbi ent e de mani pul ação vi sual. Entr e seus pri nci pai s

65 64 component es est ão as barr as de menu, f err ament as, per specti vas, tít ul o e st at us, e os pai néi s edit or e de vi suali zações. O Wor kspace é r esponsável por ad mi ni str ar os recur sos do usuári o que são or gani zados em u m ou mai s pr oj et os. Cada pr oj et o é u m subdi r et óri o do diret óri o de wor kspace do Ecli pse ( GONSALVES, 2007, p. 6). O pl ug-in WTP ( Web Tool s Pl atf or m) agr ega u m conj unt o de f err ament as par a desenvol vi ment o Web J2EE, i ncl ui ndo edit or es de códi go-f ont e par a HT ML, JavaScri pt, CSS, JSP, SQL, XML, DTD, XSD e WSDL, edit or es gráfi cos par a XSD e WSDL, constr ut or es de pr oj et os J2EE, assi st ent e e expl or ador de ser vi ços Web, entr e outr os ( HEMRAJANI, 2007, p. 162). Os pl ug-i ns Hi ber nat e e Spri ng ser ão descrit os com det al hes nas seções 3. 6 e 3. 7, respecti vament e Pri nci pai s Recur sos A segui r são descrit os al guns dos pri nci pai s r ecur sos que f azem part e do pacot e bási co do Ecli pse, conheci do como J DT ( Java Devel opment Tool s), ou Ferr ament as de Desenvol vi ment o Java, que pode m ser utili zadas de modo tot alment e i nt egr ado. A pri ncí pi o, o JTD é um pl ug-in i ndependent e do Ecli pse, o que de f at o o é, mas, pel o f at o de ser t ão f unda ment al par a o desenvol vi ment o e m Java, é di stri buí do j unt o com o pr ópri o Ecli pse (HEMRAJ ANI, 2007, p. 154): Edit or per mi t e a edi ção de códi go-font e e m vári as li nguagens de pr ogr amação, t ai s como C, C++, COBOL, PHP, Ruby, Perl, HTML, XML 23 e Java, obvi ament e. Possui di ver sos r ecur sos, como col or ament o de si nt axe, dest aque de pal avr as chave, compl ement ação de códi go com aj uda baseada e m cont eúdo, hyperlinks aut omáti cos para outr as cl asses de soft war e, i dent ação aut omáti ca, or gani zação de bl ocos de códi go (i mport ações, cl asses, mét odos, et c.), entr e mui t as outr as. El e t ambé m of er ece i númer as opções par a auxili ar na f or mat ação do códi go; Co mpil ador per mi te a co mpil ação do códi go-f ont e escrit o e m li nguage m Java, tr ansf or mando- o e m byt e-codes, que ser ão i nt er pr et ados pel a JVM, de modo t ot al ment e tr anspar ent e par a o usuári o. A úni ca ação necessári a é sal var o códi go-f ont e e m f or mat o.j ava que o co mpil ador j á se encarr ega de ger ar os ar qui vos. cl ass, de modo t ot alment e aut omáti co. Caso sej am 2 3 EXt ensi bl e Mar kup Language, ou Li nguage m ext ensí vel de for mat ação, é uma r ecomendação da W3C par a ger ar li nguagens de mar cação par a descr ever di versos ti pos de dados, t ambé m cha mados de met adados.

66 65 encontr ados err os ou advert ênci as dur ant e a compil ação, el es ser ão agr upados e m u m pai nel de vi suali zação deno mi nado Pr obl ems e si nali zados no pr ópri o códi go-f onte e em al guns outr os pai néi s de vi suali zação; Pai néi s de Vi suali zação são di ver sos pai néi s que t êm a f unção de mostr ar i nf or mações e m u m mai or ní vel de abstr ação par a f acilit ar a sua l eit ur a, mostr ando- as de modo or denado e e m f or ma de obj et os vi suai s com os quai s é possí vel i nt er agi r, at r avés e opções de menu ou menu de cont ext o. O códi go-f ont e, por exe mpl o, possui um pai nel de vi suali zação cha mado Out Li ne que mostr a mét odos, pr opri edades, cl asses e pacot es i mport ados de u ma det er mi nada cl asse Java emf or ma de obj et os ger enci ávei s; Debugger auxili a o pr ogr amador no pr ocesso de encontr ar e corri gir err os (bugs) no códi go-f ont e. Of er ece u m conj unt o compl et o de opções de depur ação de códi go, t ai s como pont os de i nt err upção, i nspeção de vari ávei s, expr essões de i nspeção, entr e outr os; Ger ador de códi go r ecur so utili zado par a casos r oti nei ros de ger ação de códi go Java, t or nando mui t o mai s r ápi do o pr ocesso de desenvol vi ment o e di stri bui ção do soft ware. Al guns dos casos mai s comuns i ncl uem a ger ação de mét odos dos ti pos constr ut or es, gett ers e sett ers, atr avés de uma i nt erf ace vi sual de si mpl es e r ápi da utili zação; I nt egrador auxili a no pr ocesso de i ntegr ação do soft war e par a sua di stri bui ção. O pl ug-in par a cumprir est e papel, e que aco mpanha o JTD, é o Ant, que ser á trat ado co m det al hes na seção 3. 4; Aut omati zador de Test es r eali za t est es unit ári os no códi go-f ont e do soft war e de f or ma aut o mati zada, a partir da ger ação dos casos de t est es. O pl ug-in par a cumprir est e papel, e que acompanha o JTD, é o J Uni t, que ser á trat ado com det al hes na seção 3. 5; Ref act ori ng a r ef at oração consi st e na mel hori a da vi si bili dade do códi gof ont e do soft war e, t or nando- o mai s oti mi zado, li mpo e f ácil de co mpr eender. O Ecli pse possui um conj unt o abr angent e de r ecur sos par a ref at or ação, i ncl ui ndo u ma aba de menu co m 25 opções dif er ent es e menus de cont ext o, t ant o no edit or de códi go, quant o em al guns pai néi s de vi suali zação.

67 66 O Ecli pse t ambé m possui um conj unt o de per specti vas que r econfi gur am o Wor kbench de acor do com as necessi dades de cada per specti va, i ncl ui ndo reconfi gur ação da barra de f err ament as e dos pai néi s de vi suali zação. Na Fi gur a 13, pode- se ver o Wor kbench com a per spectiva Java ati va. Os númer os de 1 a 9 i dentifi cam, r especti vament e, pai néi s de vi suali zação de pacot es ( 1), err os ( 2) e outli ne ( 3), pai nel do edit or ( 4) e as barr as de st at us ( 5), per specti va ( 6), f err ament as (7), tít ul o (8) e menus (9) ( GONÇALVES, 2007, p. 8). Fi gur a - 13 Wor kbench Ecli pse com a per specti va Java ati va. Font e: Capt ur a de t el a da I DE Ecli pse. O gr ande nú mer o de pl ug-i ns, com as mai s vari adas apli cações, f az do Ecli pse a mai s co mpl et a dentre t odas as I DE s Java. Al ém di sso, f oi desenvol vi do e m li nguagem Java para ser mui t o r obusto, est ável e escal ável, t ant o e m pr ocessament o quant o e m me móri a. Nas versões mai s r ecent es, f oi desenvol vi do de t al f or ma que utili za os component es gr áfi cos do si st ema oper aci onal nati vo, o que mel hor ou, subst anci alment e, o seu desempenho. Ai nda cont a co m u m co mpl et o ref er enci al de aj uda muit o bem document ado ( HEMRAJ ANI, 2007, p. 148).

68 Desenvol vi ment o Efici ent e no Ecli pse Por t udo o que j á foi dit o at é agor a sobr e o Ecli pse, per cebe- se que é u ma f err ament a essenci al par a desenvol vi ment o efi ci ent e de soft ware e m li nguage m Java. Cont udo, é i mport ant e apr of undar os conheci ment os sobr e al guns dos seus recur sos que f or am descrit os ant eri or ment e de modo superfi ci al, antes que se passe par a o est udo de outr as f err ament as. São el es: o ger ador de códi go e o r ef act ori ng. O ger ador de códi go do Ecli pse é compost o, basi cament e, do menu Sour ce, da compl ement ação de códi go com aj uda baseada e m cont eúdo e das f err ament as wi zar d de cri ação de arqui vos. Est as últi mas auxili am o pr ogr amador na cri ação dos mai s vari ados ti pos de ar qui vos, como cl asses, i nt erf aces e pr oj etos, i ntr oduzi ndo a estr ut ur a bási ca par a i mpl ement á-l os atr avés de u ma f err ament a vi sual aut o- expli cati va, r ápi da e de f ácil utili zação. Na Fi gur a 14, t emos a f err ament a wi zar d par a cri ar uma cl asse Java com vári as opções de confi gur ação pr évi a. A co mpl ement ação de códi go é u m r ecurso i nt egr ado ao edit or que per mi t e a compl ement ação de códi go di git ado par ci alment e ou i ntr odução de bl ocos de códi go a partir de u ma pal avra chave defl agr ador a. Por exempl o, di git ando- se a pal avr a try e t ecl ando- se ctrl +espaço exi be- se u ma aj uda baseada e m cont eúdo par a i nserir o bl oco de códi go try-cat ch. Ta mbé m é possí vel i ntroduzi r ou r emover cont eúdo a partir de si nai s de erro ou advert ênci a que, event ual ment e, apar ecem no edit or, cli cando- se no si nal corr espondent e e sel eci onando- se a opção adequada da aj uda de cont ext o que apar ece. Na Fi gur a 15, t emos u ma aj uda de cont ext o, exi bi da após cli car no si nal de advert ênci a, que of er ece a opção de r emover uma i mport ação que não est á sendo utili zada em part e al guma do códi go. O menu Sour ce of er ece di ver sas opções para i ntrodução aut omática de cont eúdo e or gani zação do códi go f ont e. Dentr e el as, t emos: I ntrodução/r emoção de coment ári os ou bl ocos de coment ári os; I dent ação, f or mat ação, or gani zação e li mpeza do códi go; I ntrodução e or gani zação de i mport ação de pacot es; I ntrodução de bl ocos de códi gos (try-cat ch, whil e, f or, et c.); I ntrodução de códi go par a compati bili dade com especifi cações Java Beans.

69 68 Fi gur a - 14 Ferr ament a wi zar d para cri ar uma cl asse Java. Font e: Capt ur a de t el a da I DE Ecli pse. Um Java Bean é u m co mponent e de soft war e r eusável que pode ser mani pul ado vi sual ment e nu ma f err ament a de construção ( HAMI LTON, 1997, p. 9). As especifi cações Java Beans, embasadas em conceit os de ori ent ação a obj et os, det er mi nam padr ões necessári os par a per mi tir que cl asses Java possa m ser reutili zadas e m outr as cl asses ou i nt erf aces, sej a no pr ópri o pacote a que pert ence ou em pacot es ext er nos. Basi cament e, est as especifi cações pr eocupa m- se co m a vi si bili dade dos mét odos e pr opri edades das cl asses e i nt erf aces Java. Um exe mpl o de especifi cação Java Bean é que o acesso a l eit ur a e escrita de pr opri edades pri vadas de u ma cl asse Java deve ser reali zado atr avés de mét odos gett er s e sett ers, r especti vament e. O menu Sour ce of er ece opções par a i nserir

70 69 aut omati cament e os mét odos gett ers, sett ers e constr ut or es de cl asse. Na Fi gur a 16, t emos os Mét odos getter s e sett ers das pr opriedades códi go e dat a da cl asse Li st a. Fi gur a - 15 Aj uda de cont ext o para r emoção de i mport ação. Font e: Capt ur a de t el a da I DE Ecli pse. Fi gur a - 16 Mét odos gett ers e sett ers das pr opri edades códi go e dat a da cl asse Li st a. Font e: Capt ur a de t el a da I DE Ecli pse.

71 ANT O Apache Ant é u ma f err ament a open source, i mpl ement ada e m li nguage m Java, desti nada a i nt egr ação e constr ução de apli cações co m base e m r ot eiros escrit os e m XML. Apesar de exi stir em outr as f err ament as, t or nou- se padr ão de mer cado nest e seg ment o, gr aças a car act erí sti cas como si mpli ci dade, port abili dade e i nt egr ação com outr as f err ament as, como a I DE Ecli pse, por exempl o, al ém do f at o de ser open sour ce, obvi ament e ( ROCHA, 2003a, p. 3). A f err ament a Ant f oi ori gi nal ment e desenvol vi da por Ja mes Duncan Davi dson, no Open Source Pr ogr am Offi ce da Sun Mi cr osyst ems. O Ant é u ma f err ament a de construção ( buil d t ool) par a di ver sas pl at af or mas que eli mi na mui t as co mpl exi dades e peculi ari dades que pode m ser vi st as e m f errament as co mo o make do Uni x. Em vez de usar co mandos de shell pr opri et ári os do si st ema oper aci onal, o Ant utili za ar qui vos XML para especifi car vári as t aref as. O Ant é u ma f errament a alt ament e ext ensí vel, pri nci pal ment e por causa do enor me conj unt o de t aref as pr edefi ni das e exter nas ( códi go-f ont e abert o e co mer ci al) di sponí vei s par a el a, e que a t oma m t ão poder osa. Al ém di sso, você f acil ment e pode escrever suas pr ópri as ext ensões per sonali zadas. Dado que o pr ópri o Ant é desenvol vi do e m Java, el e é port ável e [...] f oi t est ado e m vári os si st emas Uni x, Mi cr osoft Wi ndows, Mac OS X e outros. ( HEMRAJANI, 2007, p. 52) Co mo a mai ori a das gr andes i déi as, o Ant é u ma f err ament a de f unci ona ment o extr ema ment e si mpl es, mas de gr ande i mport ânci a no desenvol vi ment o de qual quer si st ema Java, poi s é mui t o poder osa ( HEMRAJ ANI, 2007, p. 211). El e execut a rot eiros escrit os em XML, deno mi nados buildfil es. Cada pr oj et o do Ant possui um buil dfil e e u ma col eção de al vos (t ar get s), onde cada u m dest es al vos cont êm bl ocos de códi go XML, que são execut ados na f orma de t ar ef as. As t ar ef as pode m cont er it ens, deno mi nados el e ment os ( HEMRAJ ANI, 2007, p. 53). Na Fi gur a 17 t emos u m exe mpl o, no Ecli pse, de u m buil dfil e com al guns al vos (i dentifi cados co m o nú mer o 1) e suas t ar ef as (i dentifi cados com o númer o 2). O Ant possui uma gr ande di ver si dade de t aref as, o que l he conf ere mui t o poder de f ogo. He mr aj ani or gani za essas t ar ef as em cat egori as, dentr e as quai s pode- se dest acar as segui nt es ( HEMRAJ ANI, 2007, p. 55): Reposit óri o de ar qui vos; Co mpil ação; Mani pul ação de ar qui vos;

72 71 Audit ori a; I mpl ant ação; Docu ment ação; Execução; E- mail. Fi gur a - 17 Exe mpl o de ar qui vo buil d. xml no Ecli pse. Font e: Capt ur a de t el a da I DE Ecli pse. Est e est udo se dedi ca a expl or ação dos r ecur sos essenci ai s das f err ament as que aqui est ão sendo abordadas, de modo a f avor ecer o desenvol viment o efi ci ent e de soft war e baseado e m li nguage m Java no cont ext o dos mét odos ágei s. A fi m de mant er est e f oco, será dada ênf ase nas t ar ef as que vi abili zam a i nt egr ação de soft war e. Outr o f at or i mport ant e é mant er o Ecli pse como f err ament a bási ca de desenvol vi ment o de soft war e, utili zando o pl ug-i n Ant, que j á acompanha o Ecli pse, e ml ugar do framewor k Apache Ant.

73 72 Embor a a t ar ef a de i nt egr ação sej a mui t o si mplifi cada pel o Ant, ai nda é necessári o confi gur ar um buil dfile de acor do com as necessi dades de i ntegr ação de cada si st ema que se quer desenvol ver, o que não é al go bo m, poi s escrever ar qui vos e m XML não par ece ser o ti po de t ar ef a que se associ a à efi ci ênci a. Feli zment e, o Ecli pse cont a com u m edit or vi sual de XML, que mui t o r eduz a compl exi dade de se trabal har com a li nguage m, conf or me pode ser vi st o na Fi gur a 18. Ta mbé m pode- se ver o pai nel de vi suali zação Ant, no cant o direit o da fi gur a. Fi gur a - 18 Edi t or vi sual de XML. Font e: Capt ur a de t el a da I DE Ecli pse. Tr abal har com o edit or vi sual de XML é essenci al par a f avor ecer o desenvol vi ment o efi ci ent e de soft war e e é, sem dúvi da, um r ecur so do qual não se pode abrir mão. Cont udo, é i mport ant e co mpr eender em det al hes como se co mport a a estr ut ur a do buil dfil e de um pr oj eto anali sando o seu códi go f ont e em XML, sobr et udo quando não se t em mui t a f ami li ari dade com est a li nguage m. Na Fi gur a 19 t emos u m exe mpl o si mpl es de buil dfil e par a f acilit ar a sua l eit ur a e compr eensão.

74 73 Fi gur a - 19 Um exempl o de buil dfile. Font e: baseado em Rocha, 2002a. Na li nha 03 t emos a cri ação do pr oj et o, deno mi nado compil e, cuj o di r et óri o base é o at ual (. ). Nas li nhas 04 e 05 são cri adas duas pr opri edades do pr oj et o, sr c. di r e buil d. dir, r especti vament e, e são set ados os seus val or es. src. dir é o di r et óri o onde se encontr a o códi go f ont e que se desej a i nt egr ar e buil d. dir é o di r et óri o onde ser á constr uí da a apli cação. Na li nha 06 é cri ado o al vo i nit, que possui a t ar ef a de cri ar o di r et óri o de constr ução da apli cação buil d. dir (linha 08). Na li nha 10 é cri ado o al vo compil e com dependênci a do al vo i nit, o que si gnifi ca que as t ar ef as do pri mei r o só ser ão execut adas se as t ar ef as do segundo f or em execut adas com sucesso. Na li nha 12 é execut ada a t ar ef a de compil ar o códi go f ont e e descarr egá-lo no diretóri o de constr ução. Rocha ( 2002a, p. 49) rel aci ona al gu mas das t ar ef as do Ant, agr upadas por f unção, conf or me descrit as a segui r: Co mpil ar < j avac>, <csc>; Ger ar document ação <j avadoc>, <j unitreport >, <st yl e>, <st yl ebook>; Ger ar códi go ( XDocl et) <ej bdocl et >, <webdocl et >;

75 74 Execut ar pr ogr a mas <j ava>, <appl y>, <exec>, <ant >, <sql >; Empacot ar e comprimi r <j ar >, <zi p>, <t ar >, <war >, <ear >, <cab>; Expandi r, copi ar, i nstal ar <copy>, <del et e>, <mkdi r >, <unj ar >, <unwar >, <unzi p>; Acesso remot o <ft p>, <t el net >, <cvs>, <mail >, <mi me mail >; Mont ar component es <ej bc>, <ej b-j ar >, <rmi c>; Test ar uni dades de códi go <j unit >; Cri ar novas t aref as <t askdef >; Execut ar rot eiros e sons <scri pt >, <sound>; Ant e I nt egração Contí nua Co m o Ant é possí vel r eali zar as t ar ef as de i nt egr ação de soft ware necessári as à mont agem co mpl et a de u m si st ema, i ncl ui ndo compil ação, li gação co m dependênci as, confi guração, empacot ament o e t est es. Não se deve esquecer que o pr ocesso de i nt egr ação deve r esult ar em versão f unci onal de soft war e, que deve ser t est ada após a i nt egr ação, poi s ai nda que t odas as uni dades est ej am f unci onando, i nt egr ação pode f al har: é pr eci so t est ar a i nt egr ação! ( ROCHA, 2002a, p. 5) Co mo vi mos na seção 2. 6, o XP pr opõe a I ntegr ação Contí nua do si st ema, u ma vez que a met odol ogi a é i t er ati va, ocorr endo vári as entr egas de ver sões curt as de soft war e dur ant e t odo o pr ocesso. Est a pr ática " Reduz o t empo passado no i nf er no da i nt egr ação" ( FOWLER & FOEMMEL, apud ROCHA, 2002a, p. 7), uma vez que quant o mai or o t empo decorri do par a que sej am corri gi dos os bugs de i nt egr ação, mai s difícil ser á eli mi ná-l os. Rocha pr opõe que est a i nt egr ação sej a r eali zada, no mí ni mo, uma vez por di a. El e ai nda i dentifi ca quatr o gr andes vant agens da i nt egr ação contí nua par a u m pr oj et o de desenvol vi ment o de soft war e ( ROCHA, 2002a, p. 7): Avali ação e r eavali ação mai s freqüent e dos prazos; Rápi da l ocali zação de pr obl emas de desi gn; Favor ece a execução de t est es f unci onai s e de aceit ação a qual quer t empo; Esti mul a outr as pr áti cas do XP.

76 75 De f at o, o uso adequado do Ant, al ém de vi abili zar a i nt egr ação contí nua, esti mul a vári as pr áti cas do XP, ai nda que de modo i ndiret o, t ai s como: Jogo do pl anej ament o i nt egr ar conti nuament e f or nece f eedback r ápi do sobr e o andament o do pr oj et o, per mi ti ndo que as ações sej amr e- pl anej adas; Pequenas ver sões i nt egr ar conti nuament e é essenci al para entr ega freqüent e de pequenas ver sões de soft war e e obt er f eedback r ápi do do cli ent e; Ri t mo sust ent ável co mo é possí vel reavali ar os pr azos e r ef azer o pl anej ament o das ações de modo fr eqüent e, é pouco pr ovável que ocorr am i mpr evi st os ou demandas de últi ma hor a com fr eqüênci a; Desi gn si mpl es é um f at or necessári o para vi abili zar a i nt egr ação contí nua, i nsti gando os desenvol vedor es a pr ati cá-lo; Padr oni zação do códi go da mes ma f or ma que o Desi gn si mpl es, é u m f at or necessári o par a i mpl ement ar a i nt egr ação contí nua, i nsti gando os desenvol vedor es a pr ati cá-lo; Test es f avor ece a i mpl ement ação de t estes aut omati zados de aceit ação, que devem ser reali zados l ogo após a i nt egração; Códi go col eti vo quando o soft war e é i nt egr ado conti nuament e, t or na- se mai s f ácil o acesso a el e, per mi ti ndo que t odos possa m cont ri bui r com sugest ões sobr e a versão mai s recent e Ant e Contr ol e de Versões Segundo Rocha, a i nt egr ação do si st ema é u ma t ar ef a ai nda mai s compli cada quando códi go [ si c] é desenvol vi do e m equi pe ( 2002a, p. 5) e acrescent a: Um dos requi sit os par a i mpl ement ar a i nt egr ação contí nua é t er um si st ema onde se possa obt er as f ont es mai s r ecent es ( 2002a, p. 92). Par a est e fi m, são utili zadas f err ament as de ger enci ament o de confi gur ação de soft war e, onde a mai s popul ar del as, dentr e as open sour ce, é o CVS ( Concurr ent Ver si ons Syst em). Tr at a- se de u m Si st ema de cont rol e de ver sões baseado e m u m r epositóri o centr al onde usuári os pode m f azer at uali zações ( commit) e downl oads ( checkout) ( ROCHA, 2002a, p. 93).

77 76 O r eposit óri o CVS mant ém u ma cópi a de t odos os ar qui vos e di r etóri os sob contr ol e de ver sões e guar da t odo hi st óri co de modifi cações, per mi ti ndo a r ecuper ação de quai squer ver sões ant eri or ment e ar mazenadas e m ar qui vos de t ext o. Os desenvol vedor es bai xa m a últi ma ver são do r eposit óri o par a u ma cópi a l ocal dos ar qui vos, atr avés de u ma oper ação checkout. Ao concl uír em suas t ar ef as, f azem upl oad ( commi t) dos arqui vos por el es modifi cados e as alt er ações são mescl adas e m u ma nova r evi são. O co mmi t só poder á ser r eali zado com sucesso se não houver em conflit os entre ver sões ( ROCHA, 2002a, p. 94). O Ant suport a CVS através da t ar ef a <cvs>. Isso exi ge que você t enha confi gur ado o ca mi nho par a o execut ável do CVS ( HEMRAJ ANI, 2007, p. 211). Na Fi gur a 20, t emos u m tr echo de buil dfil e que nos dá u ma mostr a de co mo execut ar t ar ef as <cvs>. Fi gur a - 20 Umtr echo de buil dfil e de exempl o de utili zação de t ar ef as <cvs>. Font e: Capt ur a de t el a de Rocha, 2002a. No Ecli pse, pode- se cri ar o r eposit óri o CVS atr avés de u ma f errament a wi zar d, acessando o menu File > New > Ot her... > CVS > Pr oj ect s fr om CVS. Na Fi gur a 21, t emos u ma capt ur a de t el a dest a f err ament a, mostr ando as suas opções de confi gur ação. Após a sua cri ação, deve- se habilit ar a per specti va CVS Reposit ory Expl ori ng, que exi be o pai nel de acesso ao r eposit óri o CVS, per mi ti ndo o seu ger enci ament o, e o pai nel de vi suali zação do hi st óri co de ver sões.

78 77 Fi gur a - 21 Ferr ament a wi zar d para cri ar o reposit óri o CVS. Font e: Capt ur a de t el a da I DE Ecli pse JUNI T O J Uni t é u m fr amewor k par a constr ução de casos de t est es aut omati zados e m pr oj et os que utili zam linguage m Java. Di as, Dal ci n & D or nell as defi nem o J Uni t da segui nt e f or ma: O J Unit é u m fr amewor k hori zont al de códi go abert o, desenvol vi do por Kent Beck e Eri ck Ga mma, com suport e à cri ação de t est es aut omati zados e m Java. Esse fr amewor k f acilit a a cri ação de códi go par a a aut omação de t est es co m apr esent ação dos r esult ados. Co m el e, pode ser verifi cado se cada mét odo de u ma cl asse f unci ona da f or ma esper ada, exi bi ndo possí vei s err os ou f al has podendo ser utili zado t ant o par a a execução de bat eri as de t est es co mo par a ext ensão. (2006, p. 3)

79 78 Ant es de pr ossegui r co m o est udo do JUnit, é f undament al co mpr eender a i mport ânci a da r eali zação de t est es no códi go f ont e. Rocha afirma que t est ar o códi go é a manei r a mai s confi ável de certificar-se de que u m r ecur so f unci ona, sej a após a sua i mpl ement ação ou após u ma r efat or ação. El e acr escent a, ai nda, que a reali zação de t est es dá mai or segur ança no desenvol vi ment o do pr oj et o, pri nci pal ment e quando da necessi dade da r eali zação de mudanças nas i mpl ement ações das cl asses. El e t ambé m afir ma que a r eali zação be m sucedi da de t est es do códi go é a manei r a mai s efi caz de se t er cert eza de que o pr oj et o est á concl uí do. Quando t odos [ os t est es] r odarem 100 %, o pr oj et o est á concl uí do! (2002a, p. 6) É i gual ment e f undament al compr eender a i mport ânci a de se cri ar t est es aut omati zados de códi go. Test ar o códi go f ont e de u m si st ema é u ma et apa essenci al em qual quer pr ocesso séri o de desenvol vi ment o de soft war e, sej a el e tradi ci onal ou ágil, poi s é u ma quest ão de gar anti a de quali dade. Cont udo, é u ma et apa pouco atr ati va do desenvol vi ment o por que não envol ve grandes habili dades cogniti vas. Reali zar t est es no códi go f ont e par a t er cert eza de que el e at ende aos requi sit os par a o qual f oi pr opost o é u ma ativi dade mui t o r epetiti va. Desse modo, a reali zação de t est es não é u ma t ar ef a consi der ada como pr azer osa pel os pr ogr amador es. Conf or me afir ma Rocha Test ar é bo m mas [ si c] é chat o ( 2002a, p. 12). Os t est es aut omati zados r el egam ao co mput ador a t ar ef a de execut ar os t est es do códi go f ont e. Uma vez que se tr at a de u ma ati vi dade r epetiti va, é o caso tí pi co de t ar ef a que pode ser cumpri da com êxi t o por uma máqui na, cabendo aos desenvol vedor es u ma t ar ef a agr adável, mai s nobr e e menos bur ocr áti ca nest a et apa: cri ar os casos de t est es que ser ão r eali zados aut omati ca ment e. Esse é o gr ande papel do JUnit, conf or me é descrit o abai xo: Co m J Unit, o pr ogr amador t em u ma f err ament a mui t o poder osa que o aj udar á a eli mi nar t odos ( ou quase t odos) os bugs de seu códi go de manei ra mai s atr aent e. Ou sej a, os pr ogr amador es gost am de pr ogr amar, ent ão se criou, [ si c] uma f or ma i nt eressant e de r eali zar t est es onde é possí vel a cri ação de pr ogr amas que r eali zem os t est es pel o pr ogr amador. É utili zando esse conceit o que J Uni t per mi t e dei xar a f ase de t est e de uni dades be m mai s agr adável ao pr ogr amador. ( DI AS, DALCI N & D ORNELLAS, 2006, p. 3)

80 79 A segui r, são descrit as al gumas vant agens de se utili zar o JUnit par a r eali zar t est es aut omati zados ( CLARK, 2005, apud DI AS, DALCI N & D ORNELLAS, 2006, p. 4): Per mi t e a cri ação r ápi da de códi go de t est e enquant o possi bilit a um au ment o na quali dade do si st ema sendo desenvol vi do e t est ado; Não é necessári o escrever o pr ópri o framewor k; Ampl ament e utili zado pel os desenvol vedor es da comuni dade códi go- abert o, possui ndo um gr ande nú mer o de exempl os; JUnit é el egant e e si mpl es. Quando t estar um pr ogr ama se t or na al go compl exo e de mor ado, ent ão não exi st e mot i vação par a o pr ogr amador f azêl o; Uma vez escrit os, os t est es são execut ados rapi dament e sem que, par a i sso, sej a i nt err ompi do o pr ocesso de desenvol vi ment o; JUnit checa os r esult ados dos t est es e f or nece uma r espost a i medi at a; Pode- se cri ar uma hi erar qui a de t est es que per mi tirá t est ar apenas u ma part e do si st ema ou t odo el e; Escr ever t est es com JUnit per mi t e que o progr amador per ca menos t empo depur ando seu códi go; Todos os t est es cri ados utili zando o JUnit são escrit os emjava; JUnit é LI VRE Cri ando casos de t este com o JUnit Exi st em duas manei r as el ement ar es de cri ar casos de t est e com o JUni t: escr evendo t est es par a cl asses que j á f or am i mpl ement adas ou escr evendo os t est es ant es que as f unci onali dades sej a m i mpl ement adas em códi go. Par a ambos os casos ser ão i mpl ement adas cl asses de t est es que vali darão as cl asses i mpl ement adas, par a o pri mei r o caso, ou as f unci onali dades que se desej a i mpl ement ar, par a o segundo. Est as cl asses de t este devem est ender a cl asse j unit.frame wor k. Test Case que pert ence a API do JUni t. Na i mpl ement ação dos mét odos de t est e ser ão usados asserti ons, que são expr essões bool eanas que o pr ogr amador defi ne par a afir mar u ma condi ção que el e acr edit a ser ver dade [...] usadas para vali dar códi go ( ROCHA, 2002a, p. 22). Exempl os assert Equal s, assert Tr ue, assertfal se, assert Null, assert Not Null, assert Sa me, assert Not Sa me, entr e outr os.

81 80 No pri mei r o caso, para cada mét odo da cl asse que se desej a t est ar é cri ado u m mét odo publi c voi d corr espondent e que i mpl ement a o t est e da f unci onali dade do mét odo, por exempl o publi c voi d t est MeuMet odo, que deve i mpl ement ar o t est e do mét odo MeuMet odo. Est a si nt axe é i mport ant e por que ser á cri ado u m mét odo publi c st ati c Test suít e que r econhece as cl asses i ni ci adas co m t est ( ROCHA, 2003b, p. 9). Na Fi gura 22, t emos o exempl o da cl asse de t este Oper acoestest, que possui os mét odos t est Quadr ado e t est Soma, par a i mpl ement ar os t est es dos mét odos Quadr ado e So ma, r especti vament e, da cl asse Oper acoes. Fi gur a - 22 Exe mpl o de cl asse de t est e par a cl asse i mpl ement ada. Font e: Rocha, 2003b. No segundo caso, não exi st em cl asses ou mét odos par a gui ar a constr ução dos t est es, uma vez que el es ser ão desenvol vidos ant es do pr ópri o códi go f ont e. Est a pr áti ca é cha mada no XP de desenvol viment o gui ado por t est es ( TDD). Par a i mpl ement á-l a, utili za-se os cart ões de t ar ef as, ou outr os art ef at os que os substit uam, par a gui ar a constr ução dos mét odos de t est e das t ar ef as que se desej a

82 81 i mpl ement ar, da mesma f or ma que no parágr af o ant eri or. Os t est es deve m ser execut ados par a se t er cert eza de que el es f al ham, u ma vez que os mét odos que i mpl ement am as f unci onali dades ai nda não f or am escrit os. Em segui da, deve- se cri ar a i mpl ement ação da f unci onali dade de modo o mai s si mpl es possí vel par a gar antir que f unci one. Por fi m, o códi go que i mpl ement a a f unci onali dade deve ser ref at or ado ( ROCHA, 2003b, p. 15). Na Fi gura 23, t emos o exempl o da cl asse de t est e Conver soestest, que possui os mét odos t est Fahr ToCel s e t est Cel stofahr, par a i mpl ement ar os t est es dos mét odos Fahr ToCel s e Cel stofahr, respecti vament e, da classe Conversoes. Fi gur a - 23 Exe mpl o de cl asse de t est e em TDD. Font e: Rocha, 2003b. Os t est es unit ári os pode m ser r euni dos em u ma úni ca cl asse deno mi nada, por convenção, de All Tests. Est a cl asse pode r euni r casos de t est es de cl asses, t est es i ndi vi duai s ou outr os All Test es de sub- pacot es, utili zando- se a cl asse Test Suit e da API Junit, conf or me pode ser vi st o no exempl o da Fi gur a 24.

83 82 Fi gur a - 24 Exe mpl o de cl asse de composi ção de cl asses de t est e. Font e: Rocha, 2003b JUnit no Ecli pse O J Uni t j á acompanha o pacot e padr ão do Ecli pse. Par a utili zá-lo, bast a adi ci onar a vari ável JUNI T_HOME ao Java Buil d Pat h do pr oj et o. Par a ger ar um caso de t est e a partir de u ma cl asse pré- exi st ent e, bast a sel eci oná-l a e cli car no menu Fil e > New > Ot her... > New J Uni t Test Case. Caso a cl asse que i mpl ement a a f unci onali dade ai nda não exi st a, sel eci one o pr oj et o e cli que na mes ma opção de menu Fil e > New > Ot her... > New J Unit Test Case. Em ambos os casos, é exi bi da a f err ament a wi zar d par a cri ar o caso de t est e, sendo que no pri mei r o caso, o nome da cl asse de t est e j á é cri ado a partir do no me da cl asse que i mpl ement a a f unci onali dade, conf or me pode ser vi st o no exempl o da Fi gur a 25. Na Fi gur a 26, t emos a segunda aba da mes ma f err ament a a partir da qual pode mos sel eci onar os mét odos, a partir dos quai s ser ão i mpl ement ados os mét odos de t est e. Os casos de t est e gerados poder ão ser execut ados a partir do menu Run do Ecli pse. Cont udo, como j á f oi di scuti do na seção 3. 4, pode- se execut ar os casos de t est e do JUnit a partir de t ar ef as do Ant. Bast a adi ci onar ao buil dfil e do pr oj et o as t ar ef as do ti po <j unit >, conf or me pode ser vi st o na Fi gura 27, onde t emos u m trecho de buil dfil e com al gumas t ar ef as <j unit >. O obj eti vo dest e est udo não é constr uir um gui a par a i mpl ement ação de i nt egr ação contí nua e TDD com Ant, CVS e J Unit, e si m co mpr eender o papel dest as f err ament as na vi abilização da efi ci ênci a no desenvol vi ment o de soft war e baseado

84 83 e m li nguage m Java. A partir dessa pr emi ssa, o est udo sobr e est as f err ament as não ser á apr of undado neste trabal ho de pesqui sa. Fi gur a - 25 Ferr ament a wi zar d para cri ar um novo caso de t est e do JUnit. Font e: Capt ur a de t el a da I DE Ecli pse. A r espeit o da i mport ânci a de se tr abal har com est as f err ament as de modo i nt egr ado, Rocha ( 2002a, p. 113) r el aci ona al gumas vant agens de i mpl ement ar i nt egr ação contí nua e TDD com el as: Mel hor ar a quali dade do seu soft war e; Au ment ar o reuso de seus component es;

85 84 Mel hor ar suas esti mativas de pr azos; Mel hor ar a pr oduti vi dade de sua equi pe; Mel hor ar a comuni cação; Reduzi r cust os; Tor nar o desenvol vi ment o mai s ágil e efi ci ente; Reduzi r dr asti cament e o t empo gast o na depur ação. Fi gur a - 26 Segunda aba da f err ament a wi zar d par a criar um New J Unit Test Case, Test Met hods. Font e: Capt ur a de t el a da I DE Ecli pse.

86 85 Fi gur a - 27 Tr echo de buil dfil e com t ar ef as <j unit >. Font e: Rocha, 2002a HI BERNATE O Hi ber nat e é u m fra mewor k de per si st ênci a com mapea ment o obj et o-r el aci onal ( OR) par a Java ( HEMRAJ ANI, 2007, p. 7). Par a compr eender a i mport ânci a do Hi ber nat e no pr ocesso de desenvol vi ment o de soft war e e m Java, é pr eci so compr eender a compl exi dade envol vi da no mapea ment o de obj et os Java par a t abel as de bancos de dados r el aci onai s, conheci do como ORM, Obj ect- Rel ati onal Mappi ng. Os bancos de dados rel aci onai s são os ti pos de bancos de dados mai s utili zados pel o mundo coor por ati vo. Or acl e, Mi cr osoft SQL Ser ver, My SQL, I MB DB2 e Sysbase são exe mpl os co muns de bancos de dados r el aci onai s. El es são t ão comuns que causam a f al sa i mpr essão de que não exi st em outros par adi gmas de bancos de dados, como os de r ede, hi er ár qui cos, ori ent ados a obj etos, entr e outr os, dada a sua hege moni a no set or. É f ácil ent ender por que os bancos de dados rel aci onai s são t ão popul ar es. Os dados são os el ement os mai s i mport ant es de qual quer si st ema de i nf or mação e devem sobrevi ver a t odo e qual quer pr obl ema que

87 86 venha a ocorr er. Por i sso mes mo, mui t o j á f oi i nvesti do e m bancos de dados rel aci onai s ao l ongo dos anos, pel as e mpr esas do set or, cri ando bancos de dados mui t o r obust os e seguros par a gar antir que os dados dos cli ent es vão suport ar as di ver sas demandas das suas empr esas ( HEMRAJ ANI, 2007, p. 64). Se, por um l ado, banco de dados r el aci onal é o padr ão de mer cado, por outr o l ado, as e mpr esas de desenvol vi ment o de soft ware e as comuni dades de pr ogr amador es t êm pr ef eri do tr abal har com li nguagens de pr ogr amação ori ent adas a obj et o ( OO). Uma apli cação Java, por exempl o, é compost a de obj et os que são utili zados, mui t as vezes, par a r epr esentar dados. Par a que est es dados conti nuem exi sti do [ si c] entr e dif er ent es execuções da apli cação est es obj et os de dados pr eci sa m ser dur ávei s (JARDI M, 2004a, p. 2), havendo a necessi dade de per si sti-l os em bancos de dados. A quest ão f undament al é, ent ão, quer er o mel hor dos doi s mundos: per si st ênci a e m banco de dados r el aci onal e pr ogr amação ori ent ada a obj et os. I sso é perf eit ament e possí vel e est es doi s par adi gmas t êm si do e mpr egados j unt os há anos. Cont udo, é necessári o r eali zar o mapea ment o entr e os obj et os das cl asses da li nguage m de pr ogr amação com as t abel as do banco de dados, o que é u ma t ar ef a compl exa, repetiti va e t edi osa ( HEMRAJ ANI, 2007, p. 65). Tr abal har com soft ware ori ent ado a obj et o e bancos de dados rel aci onai s pode ser compl exo e mui t o de mor ado. Os cust os co m desenvol vi ment o são drasti cament e mai s el evados por causa de u m par adi gma di ver gent e de co mo os dados são repr esent ados nos obj et os e nos bancos de dados r el aci onai s. Mui t os ar quit et os e desenvol vedor es de softwar e esti ma m que cer ca de 30 % do códi go desti na-se a li dar com esse pr obl ema de i nfra-estrut ur a. ( JBOSS, 2007, p. 1) Jar di m ( 2004a, p. 4) r el aci ona al gumas difi culdades r el aci onadas à i nco mpati bili dade de per si st ênci a em banco de dados r el aci onal e pr ogr amação ori ent ada a obj et os: O model o de r epr esent ação dos dados e m u m banco r el aci onal não é compatí vel com a r epresent ação diret a de uma hi er ar qui a de obj etos; Os ti pos de dados utilizados e m u ma li nguage m ori ent ada a obj etos não são os mes mos exi st ent es e m um banco de dados; É necessári o tr ansf ormar os obj et os par a t abel as e as t abel as par a obj et os novament e.

88 87 Jar di m ai nda descr eve a quest ão da tr anspar ênci a da ori ent ação a obj et os no trat ament o da per si st ênci a de dados ( 2004a, p. 6): Um si st ema ori ent ado a obj et os, f unci ona de manei ra muit o mel hor, quando t odo o si st ema é ori ent ado a obj et os, i ncl ui ndo os dados do si st ema. [...] I sol ando os dados e m u m model o de obj et os, f acilit a o pr ocesso de alt er ação no sche ma do banco de dados, j á que o r est o da apli cação não pr eci sa fi car sabendo que est e ocorr eu. Par a r esol ver est es probl emas, exi st em f err ament as, como o Hi bernat e, capazes de reali zar ORM e m Java sem a necessi dade do pr ogr amador t er que li dar co m det al hes da i mpl ement ação do mapea ment o vi a li nha de códi go. Hi ber nat e cui da do mapea ment o de cl asses Java par a t abel as de banco de dados e de ti pos de dados Java par a tipos de dados SQL. Of er ece f unci onali dades de consult a e r ecuper ação de dados que aj uda m a r eduzir subst anci al ment e o t empo de desenvol vi ment o. A fi nali dade da Hi ber nat e é ali vi ar o desenvol vedor de 95 % das t ar ef as de pr ogr amação associ adas à per si st ênci a dos dados, eli mi nando assi m a necessi dade de pr ocessament o de dados manual usando SQL e J DBC. [...] A sol ução Hi ber nat e eli mi na as t ar ef as r epetiti vas e cansati vas de cri ação de códi go e per mi t e que o desenvol vedor se concentr e no pr obl ema que pr eci sa at ender. (JBOSS, 2007, p. 1) Por que Hi ber nat e? Co mo vi st o na seção 3. 2, exi st em outr as opções de f err ament as ORM par a Java, como EJB, JDO, i Bati s, Or acl e TopLi nk, entr e outr as, mas nenhu ma i gual a o Hi ber nat e em popul aridade. O Hi ber nat e é u ma óti ma sol ução open sour ce par a mapea ment o Obj et o Rel aci onal, al ém de ser a sol ução mai s utilizada hoj e e m di a (JARDI M, 2004a, p. 5). Ser a f err ament a ORM mai s a mpl ament e utili zada pel a comuni dade de pr ogra mador es Java não é al go que acont ece por acaso. A segui r são descrit os al guns bons moti vos par a se utili zar o Hi ber nat e (JBOSS, 2007, 2): Reduz si gnifi cati vament e as li nhas de códi go por que aut omati za o ORM, possi bilit ando uma utilização mai s el egant e da ori ent ação de obj et o; Tr at ando a per si st ênci a de f or ma centr ali zada, é possí vel f azer oti mi zações que mel hor em o desempenho da apli cação, dif er ent ement e da persi st ênci a de códi go manual; Pr omove o desenvol viment o baseado e m padr ões, of er ecendo u m model o de per si st ênci a bast ant e si mplifi cado par a o padrão EJB;

89 88 Of er ece gr ande confiabili dade, compr ovada pel a aceit ação e ut ili zação por dezenas de mil har es de desenvol vedor es Java; Of er ece escal abili dade de alt o ní vel, poi s foi desenvol vi do par a oper ar e m cl ust er de ser vi dor es de apli cação, compondo ar quit et ur a alt ament e escal ável e m qual quer ambi ent e; A per si st ênci a é tr anspar ent e, poi s não pr eci sa de i nt erf aces ne m de cl asses base par a cl asses persi st ent es e per mi t e que qual quer cl asse ou estr ut ur a de dados sej a per si st ent e; É ori ent ada por document os de mapea ment o XML que defi nem o ORM e ger am uma t abel a de banco de dados e r estri ngem os scri pt s de criação; Suport a uma a mpl a vari edade de estr at égi as de mapea ment o de her ança e t odos os estil os de mapea ment o de associ ação de enti dade, como u m par a mui t os, um par a u m, mui t os par a mui t os, al é m de associ ações uni direci onai s e bi direci onai s, assi m co mo a co mposi ção det al hada de obj et os de val or dependent e; Of er ece consult a ori ent ada a obj et o ( HQL), uma poder osa li nguage m de consult a expr essa e m si nt axe se mel hant e a SQL e com suport e a consult as poli mórfi cas; Oper a com qual quer ser vi dor de apli cação J2EE; Pr omove u m al t o dese mpenho, poi s gr ande part e do SQL utili zado é ger ada na i ni ci ali zação do si ste ma e não na execução Confi guração e Mapea ment o O mapea ment o obj et o-r el aci onal com o Hi ber nat e é f eit o por ar qui vos de mapea ment o XML, que t êm o papel de vi ncul ar as cl asses de per si st ênci a JavaBeans do pr oj eto co m as t abel as do banco de dados, de modo que as pr opri edades dos beans e os r el aci onament os entr e as cl asses sej am mapeados par a os campos das t abel as bási cas e de rel aci onament o ( JBOSS, 2006, p. 3). Na Fi gur a 28, t emos u ma cl asse de per si st ênci a JavaBean, chamada Person, co m suas pr opri edades age, first na me e l ast na me. A pr opri edade id do ti po l ong é u ma convenção do Hi ber nat e par a ser vir de chave pri mári a na t abel a corr espondent e do banco de dados. A propri edade event s é uma col eção de obj et os do ti po Set par a ar mazenar umconj unto de dados do ti po Event, que é outr o JavaBean.

90 89 Fi gur a - 28 Exe mpl o de cl asse de per si st ênci a JavaBean, Per son.j ava. Font e: JBoss, Na Fi gur a 29, t emos u m exe mpl o de u m ar qui vo de mapea ment o obj et o-r el aci onal, onde a cl asse Per son est á sendo mapeada par a a t abel a PERSON do banco de dados. Todas as pr opri edades da cl asse t ambé m est ão sendo mapeadas, i ncl ui ndo a pr opri edade id, mapeada co mo chave pri mári a da t abel a ( <i d na me= id >), e a pr opri edade event s, mapeada co mo u m r el aci onament o do ti po mui t os- par a- mui t os na t abel a PERSON_EVENT, que t em chave compost a pel as chaves pri mári as PERSON_I D e EVENT_I D das t abel as PERSON e EVENT, respectivament e. Fi gur a - 29 Exe mpl o de ar qui vo de mapea ment o OR, Person. hbm. x ml. Font e: JBoss, 2006.

91 90 Uma vez que as cl asses de per si st ênci a JavaBeans t enha m si do mapeadas, é pr eci so est abel ecer as confi gur ações do Hi ber nat e. O Hi ber nat e é a ca mada da sua apli cação que se conect a com o banco de dados, par a i sso necessit a de i nf or mação da conexão ( JBOSS, 2006, p. 5). Estas i nf or mações i ncl ue m confi gur ação necessári a par a a conexão ao J DBC, di al et o SQL ( de acor do com o banco de dados utili zado) e i nf or mações de ar qui vos de mapea ment o, al ém de di ver sas outr as i nf or mações de confi gur ação que pode m ser adi ci onadas. A f or ma mai s co mu m de confi gur ação do Hi bernat e é atr avés de ar qui vos XML, como no exempl o da Fi gur a 30. Nest e exempl o, al é m das i nf or mações de conexão, di al et o e mapea ment o, podese verifi car i nf or mações de confi gur ação de pool de conexão, ger enci ament o aut omáti co de seções, desati vação de cache de segundo pl ano, l og de SQL e cri ação / re-cri ação auto máti ca de t abel as. Fi gur a - 30 Exe mpl o de ar qui vo de confi gur ação do Hi bernat e, hi ber nat e. cf g. x ml. Font e: JBoss, 2006.

92 Hi ber nat e no Ecli pse O Hi ber nat e possui u m pl ug-i n par a Eclipse, deno mi nado Hi ber nat e Tool s, que f acilit a a ger ação dos ar qui vos de confi gur ação e mapea ment o, um r ecur so i nt er essant e consi der ando- se que o mapeament o é u m dos tr abal hos t edi osos no uso das t ecnol ogi as ORM ( HEMRAJ ANI, 2007, p. 168). Na Fi gur a 31, pode mos ver o ar qui vo de mapea ment o Li st a. hbm. x ml, a di r eit a, exi bi do no edit or vi sual de XML. À esquer da, pode mos ver o pai nel de vi suali zação Hi ber nat e Confi gur ati ons, que pert encem à per specti va Hi ber nat e Consol e, exi bi ndo os JavaBeans e as t abel as do banco de dados, com seus r especti vos ca mpos e ti pos de dados. Par a cri ar um novo consol e de confi gur ação do Hi ber nat e bast a sel eci onar o menu File > New > Ot her... > Hi ber nat e > New Hi ber nat e Consol e Confi gur ati on, que será exi bi da u ma f err ament a wi zar d par a i nserir a l ocali zação do ar qui vo de confi gur ação hi ber nat e. cf g. x ml e os ar qui vos de t er cei r os que são necessári os ao Hi ber nat e, conf or me pode ser vi st o na Fi gur a 32. Fi gur a - 31 Vi suali zações da per specti va Hi ber nat e Consol e. Font e: Capt ur a de t el a da I DE Ecli pse.

93 92 Fi gur a - 32 Ferr ament a wi zar d de cri ação de umconsol e de confi gur ação Hi bernat e. Font e: Capt ur a de t el a da I DE Ecli pse. O pl ug-i n Hi ber nat e Tool s t ambé m f acilit a a cri ação do ar qui vo de confi gur ação do Hi ber nat e, o hi ber nate. cf g. x ml. Par a cri ar u m novo ar qui vo de confi gur ação do Hi ber nat e bast a sel eci onar o menu Fil e > New > Ot her... > Hi ber nat e > New Hi ber nat e Confi gur ati on, que ser á exi bi da uma f err ament a wi zar d par a i nserir as

94 93 i nf or mações r ef er ent es à conexão com o banco de dados, conf orme pode ser vi st o na Fi gur a 33. Fi gur a - 33 Ferr ament a wi zar d de cri ação do ar qui vo de confi gur ação Hi ber nate. Font e: Capt ur a de t el a da I DE Ecli pse. Ta mbé m é possí vel cri ar ar qui vos de mapea ment o do Hi ber nat e co m u ma f err ament a wi zar d. Para cri ar um novo ar qui vo de mapea ment o do Hi ber nat e, bast a sel eci onar o menu Fil e > New > Ot her... > Hi ber nat e > New Hi ber nat e Mappi ng Fil e, que ser á exi bi da u ma j anel a par a i nserir as i nf or mações r ef er entes ao ar qui vo de mapea ment o, conf or me pode ser vi st o na Fi gur a 34. Ta mbé m é possí vel exi bi r est a f err ament a cli cando co m o bot ão di r eit o do mouse sobr e a cl asse JavaBean que se quer mapear, sel eci onando a opção do menu de cont ext o New.

95 94 Fi gur a - 34 Ferr ament a wi zar d de cri ação de ar qui vos de mapea ment o. Font e: Capt ur a de t el a da I DE Ecli pse SPRI NG O Spri ng Fr amewor k é, basi cament e, um cont êi ner l eve de ser vi ços, os quai s aj udam a mont ar component es de pr oj et os dif er ent es e m u ma apli cação coesa ( FOWLER, 2004). Fowl er ai nda acr escent a que é u m fr amewor k abr angent e volt ado par a o desenvol vi ment o Java cor por ati vo. El e i ncl ui camadas de abstr ação par a transações, fr amewor ks de per si st ênci a, desenvol vi ment o de apli cações web e JDBC ( 2004), al ém de of er ecer sol ução para i nj eção de dependênci a ( Dependency I nj ecti on). Spri ng f or nece u ma sol ução l eve par a construir apli cati vos e mpr esari ai s e, ao mes mo t empo, conti nuar a suport ar a possi bili dade do uso do ger enci ament o de tr ansação decl ar ati vo, acesso r emot o à sua l ógi ca utili zando ser vi ços RMI ou ser vi ços Web, r ecur sos de envi o de e- mail e vári as opções par a per si stir seus dados e m u m banco de dados. O Spri ng f ornece u ma estr ut ur a MVC, manei ras tr ansparent es de i nt egr ar AOP ao seu soft war e e u ma hi er ar qui a be m estr ut ur ada de exceções, i ncl ui ndo

96 95 mapea ment o aut omáti co a partir das hi er ar qui as de exceções pr opri et ári as. ( HEMRAJANI, 2007, p. 97) Par a compr eender mos adequada ment e o que r epr esent a o Spri ng Fr amewor k, pr eci samos avali ar separ adament e cada um dos seus set e módul os: Cor e Spri ng ( Núcl eo Spri ng), Spri ng Cont ext ( Cont ext o Spri ng), Spri ng AOP, Spri ng DAO, Spri ng ORM, Spri ng Web e Spri ng Web MVC. Na Fi gur a 35, t emos u ma vi são ger al dos módul os que compõem o Spri ng Fr amewor k, que ser á cha mado, a partir de agor a, si mpl es ment e de Spri ng. Est a car act erí sti ca modul ar per mi t e i mpl ement ar o cont êi ner apenas comos módul os que se necessit a ( HEMRAJ ANI, 2007, p. 96). Fi gur a - 35 Vi são ger al dos módul os do Spri ng Fr amework. Font e: He mr aj ani, Cor e Spri ng O núcl eo Spri ng é r esponsável por pr over as f unci onali dades bási cas do Spri ng, entr e as quai s se destaca m o ger enci ament o de beans e a i nj eção de dependênci a ( HEMRAJ ANI, 2007, p. 97). Os beans são ger enci ados pel o BeanFact or y, que pr omove bai xo acopl ament o entr e a confi gur ação e a especifi cação de dependênci as ( CARVALHO, 2006). A i nj eção de dependênci a é u ma f or ma de i mpl ement ar i nver são de contr ol e (I oc, I nversi on of Contr ol ) com o obj eti vo de r etirar a dependênci a da i mpl ement ação de u ma det er mi nada cl asse em r el ação à outr a que utili za seus ser vi ços. I st o é i mport ant e par a i mpl ement ar o princí pi o de separ ar

97 96 a confi gur ação de ser vi ços do uso dos ser vi ços dentr o de u ma apli cação ( FOWLER, 2004). A pri ncí pi o, pode- se pensar, i ngenuament e, em f azê-lo vi a i nt erf ace, mas a cl asse que i mpl ement a o ser vi ço ai nda pr eci sa ser i nst anci ada na cl asse que r equer t ai s ser vi ços, per si sti ndo o pr obl ema. As t écni cas mai s comuns de i mpl ement ar i njeção de dependênci a são a Constr uct or I nj ecti on (I nj eção por Constr ut or es) e Setter I nj ecti on (I nj eção por Mét odos Set). Embor a o Spri ng suport e ambas as t écni cas, ser á utili zado u m exempl o pr áti co par a expli car a i nj eção de dependênci a por mét odos set, padr ão da comuni dade Spri ng ( FOWLER, 2004). Nos tr echos de códi go da Fi gur a 36, t emos, a esquer da, u ma cl asse Li vr os, uma i nt erf ace par a seus ser vi ços (I nt erf aceli vros) e u ma cl asse Bi bli ot eca que utili za o mét odo li st ar() da cl asse Li vr os. A cl asse Bi bli ot eca é dependent e da cl asse Li vr os, pois pr eci sa i nst anci ar um obj et o do ti po Li vr o. Fi gur a - 36 Tr echos de códi go de cl asses com f ort e dependênci a, à esquer da, e co m fraca dependênci a, à direit a, após i nj eção de dependênci a no spri ng.xml. Font e: baseado em Fowl er, 2004.

98 97 A pr opost a é mover est a dependênci a da cl asse Li vr os par a o Spri ng, que ser á responsável por ger enci á-la, como pode ser vi st o no l ado di r eit o do códi go da Fi gur a 36. Par a i st o, pri mei ro cri a-se o mét odo set No mear qui vo na cl asse Li vr os. Segundo, cri a-se o mét odo set Li vr os na cl asse Bi bli ot eca. Em segui da, cri a-se o obj et o ct x, do ti po Appli cati oncont ext, i nst anci ando- o co m a cl asse Fil esyst e mxml Appli cati oncont ext, do Spri ng, per mi ti ndo que o obj et o li vr os possa ser i nst anci ado pel o ct x, atr avés do mét odo get Bean(). Por fi m, ser á necessári o cri ar o ar qui vo spri ng. xml par a confi gur ação da dependênci a no Spri ng, conf or me pode ser vi st o na Fi gur a 37. Dessa f or ma, a cl asse Bi bli ot eca, que ant es dependi a da cl asse Li vr os, t eve a dependênci a i nj et ada no Spri ng atr avés do ar qui vo spri ng. xml. Fi gur a - 37 Tr echo do ar qui vo spring. x ml de confi gur ação da dependênci a no Spri ng. Font e: baseado em Fowl er, Spri ng Cont ext O módul o de cont ext o do Spri ng é o mai s i mport ant e depoi s do Cor e Spri ng. Of er ece ser vi ços de acesso a f unci onali dades de outr os módul os par a apli cações Web e deskt op. As cl asses Appli cati oncont ext e WebAppli cati oncont ext são doi s exe mpl os de cl asses mui t o i mport ant es par a f acilit ar o acesso a ser vi ços dos módul os Cor e Spri ng, Spri ng Web e Spri ng Web MVC. També m of er ece ser vi ço de e- mail, suport e a i nt erf ace gr áfi ca, como vali dação de ca mpos de i nt erf ace Web, suport e a J NDI e EJB e pr ogr amação de event os ( HEMRAJ ANI, 2007, p. 97).

99 Spri ng AOP O AOP ( Aspect- Ori ented Pr ogr ammi ng) é o módul o do Spri ng que pr ovê ser vi ços de pr ogr amação ori ent ada a aspect os. AOP f or nece u ma manei ra mai s li mpa de modul ari zar um apli cati vo e m part es di sti nt as [...]. Cada ca mada de u m apli cati vo [...] f ocali za sua f unci onali dade bási ca e não cont ém f unci onali dades sobr epost as e m outr as ca madas. Coi sas co mo l ogi n, segur ança, ger enci ament o de tr ansação e t est e são os exempl os mai s co muns dos i nt er esses que podem ser f acil ment e separ ados da ca mada de obj et o de negóci o, por exempl o, vi a o uso de i nt ercept or es. ( HEMRAJ ANI, 2007, p. 98) Spri ng DAO O DAO ( Dat a Access Obj ect) é o módul o do Spri ng que pr ovê servi ços de acesso a dados vi a JDBC, sem a necessi dade de t er que li dar com tr ansações pr ogr amadas e decl ar ati vas, f azer cl asses par a carr egar dri ver de bancos de dados ou abri r conexões. É i mport ant e ent ender que o Spri ng f or nece u ma f unci onali dade compl et a par a a per si st ênci a. Em outr as pal avr as, você pode utili zar o Spri ng se m u m pr odut o ORM, co mo o Hi ber nat e, e ai nda obt er os benefí ci os de u m mecani smo de per si st ênci a mai s li mpo e mai s f ácil que o J DBC si mpl es ( embor a el e não f or neça al guns benefí ci os da estrut ur a ORM [...]). Al ém di sso, você obt é m u m mecani s mo consi st ent e de tr at ament o de exceções e outr os benefí ci os rel aci onados. ( HEMRAJANI, 2007, p. 99) Spri ng ORM O ORM ( Obj ect- Rel ational Mappi ng) é o módul o do Spri ng que pr ovê suport e de i nt egr ação a fr amewor ks de mapea ment o obj et o-r el aci onal. Per mi te i nt egr ação co m os mai s popul ar es ORM s utili zados por desenvol vedor es, t ai s como Hi ber nat e, JDO, Or acl e TopLi nk, Apache OJB e i BATI S SQL Maps. He mr aj ani dest aca al gumas vant agens da sua utili zação ( 2007, p. 99): Facili dade de t est ar via i nj eção de dependênci a; Suport e a exceções comuns de dados; Ger enci ament o de r ecur sos per si st ent es dos ORM s; Ger enci ament o i nt egr ado de cl asse cor por ativa de transações.

100 Spri ng Web e Spri ng Web MVC Os módul os Spri ng Web e Spri ng Web MVC co mpl ement am- se. O módul o Spri ng Web of er ece u m pacot e bási co de i nt egr ação de apli cações Web, i ncl ui ndo múl ti pl os upl oad de ar qui vos, i ni ci ali zação de cont êi ner de i nver são de contr ol e usando ser vl et s e cont ext o de apli cação volt ado par a Web ( J OHNSON, 2007, 18). O Spri ng Web MVC Fr amework é u m a mbi ent e be m pr oj et ado, fl exí vel, r obust o par a desenvol ver r api dament e apli cati vos Web utili zando o padr ão de pr oj et o MVC ( HEMRAJ ANI, 2007, p. 108). O MVC ( Model - Vi ew- Contr oll er) é u m padr ão de ar quit et ur a de sof t war e que pr opõe a separ ação de u m si st ema de i nf or mação e m duas part es: o model o de i mpl ement ação da sol ução ( model ), ou model o de negóci o, e a i nt erf ace co m o usuári o ( vi ew). Par a que i sso sej a possí vel, é necessári a a pr esença de u ma t er cei r a enti dade, o contr ol ador ( contr oll er), que f az a i nt er medi ação entre o model o de negóci o e a i nt erf ace com o usuári o, i nt egr ando as duas part es do si st ema ( TACLA, 2006, p. 1). O Spri ng Web MVC t ambé m possui suport e a t emas, que of er ece ao desenvol vedor recur sos par a di sponi bili zar aos usuári os de i nt erf ace Web u ma experi ênci a r eal de per cepção t emáti ca. Um t ema é, basi cament e, uma col eção de recur sos est áti cos que af et am o estil o vi sual da apli cação, tipi cament e f ol has do estil o e i magens (JOHNSON, 2007, p. 326). Par a pr over suport e a t emas, o Spri ng ger enci a ar qui vos CSS ( Cascadi ng St yl e Sheet s), ou f ol has de estil o em cascat a. Estas f ol has de estil o pr omove m a separ ação entr e cont eúdo e f orma de pági nas HTML. CSS não é part e do HTML, mas ar qui vos que ar mazena m i nf or mações de confi guração de pági nas HT ML, como t amanho, cor e estil o de f ont e, por exempl o, de modo que se possa defi nir, em u ma só f ol ha de estil o, a f or mat ação par a vári as pági nas HTML, t or nando mai s pr áti co, r ápi do e si mpl es o tr abal ho r ecorr ent e de at uali zação de pági nas Web ( GONÇALVES, 2007, p. 2) Por que Spri ng? Segundo He mr aj ani, a utili zação do Spri ng pr ovê di ver sos benef íci os, que ser ão descrit os a segui r (2007, p. 100):

101 100 Utili za POJ O s ( Pl ai n Ol d Java Obj ect s), e m port uguês, Vel ho e Si mpl es Obj ect o Java, que são obj et os Java que segue m u m desenho si mplifi cado, como os JavaBeans. A vant agem da utili zação de POJ O s é que di spensa a utili zação de cont êi ner es compl exos, como o EJB, per mi ti ndo utili zação apenas de umcont êi ner de ser vl et s, como o To mcat; Possui estr ut ur a modul ar, o que per mi t e i ncl ui r no pr oj et o apenas os pacot es necessári os, desoner ando a apli cação; Pode ser i nt egr ado a outr as t ecnol ogi as de modo a co mpl ement á-l as, co mo ORM s, JEE, JDK, entre outr as; Facilit a a reali zação dos t est es do si st ema; O fr amewor k Web do Spri ng é u m a mbi ente Web MVC be m pr oj et ado que f or nece u ma excel ent e alt er nati va aos fr amewor ks Web co mo Str uts ou outr os mai s compl exos e menos popul ar es ; Possui API de hi er arqui a de exceções, per miti ndo conver são de exceções específi cas de t er ceiros ( JDBC, JDO, Hi ber nat e, et c.) em exceções consi st ent es; Per mi t e o ger enci ament o consi st ent e de transações; É u m cont êi ner l eve, poi s de manda por quanti dade mai s r eduzi da de r ecur sos do que outr os, como o EJB Met adados de Confi gur ação O Spri ng utili za ar qui vos de met adados e m linguage m de mar cação est endi da ( XML) par a ar mazenar as suas confi gur ações de i njeção de dependênci a. Est es met adados de confi gur ação nada mai s são do que co mo você (como u m desenvol vedor de apli cações) i nf or ma ao cont êi ner Spri ng de que f or ma i nst anci ar, confi gur ar e mont ar [os obj et os na sua apli cação]. El es são f or neci dos, ti pi cament e, e m u m si mpl es e i nt uiti vo f or mat o XML. Quando se utili za met adados de confi gur ação baseados e m XML, você escr eve defi ni ções de bean par a aquel es beans que você quer que o cont êi ner Spri ng I oc ger enci e e, ent ão, dei xa- o f azer as coi sas. (J OHNSON, 2007, p. 33) Na Fi gur a 38, t emos u m tr echo de ar qui vo de confi gur ação do Spri ng, onde são defi ni dos doi s beans: um Hi ber nat etr ansacti onmanager, para ger enci ament o aut omáti co de seções do Hi ber nat e, e Transacti oni nt ercept or, par a i nt ercept ar transações, muit o útil par a verifi car aut enti cações, por exempl o.

102 101 Fi gur a - 38 Tr echo do ar qui vo de confi gur ação do Spri ng. Font e: Jar di m, 2004b Spri ng no Ecli pse O Spri ng possui um pl ug-i n par a Ecli pse, como u m de seus subpr oj et os, deno mi nado Spri ng I DE, que f acilita mui t o o ger enci ament o dos ar qui vos XML de confi gur ação. Um dos pr obl emas f unda ment ai s de tr abal har com o Spri ng é o uso maci ço de ar qui vos XML par a a confi gur ação. Se m que você not e, o t amanho do XML au ment a e pode t or nar-se uma t ar ef a tr abal hosa edit ar e mant ê-lo [...] ( HEMRAJ ANI, 2007, p. 168). Na Fi gur a 39 t emos al guns r ecur sos de ger enci ament o de ar qui vos de confi gur ação do Spri ng I DE. No cant o i nf eri or di r eit o t emos o pai nel de vi suali zação Spri ng Beans, ou Sri ng Expl or er, que pode ser exi bi do pel o menu Wi ndows > Show Vi ew. No cant o superi or di reit o, t emos o gr áfi co do ar qui vo de confi gur ação ser vi ces, que pode ser exi bi do cli cando co m o bot ão di r eit o do mouse sobr e est e arqui vo no pai nel de vi suali zação Spri ng Beans, sel eci onando-se a opção Open Graf. O pai nel de vi suali zação Out Li ne, exi bi do no cant o i nf eri or esquer do, t ambé m exi be u ma mi ni at ur a de cor po i nt ei ro do gr áfi co do ar qui vo de confi gur ação cuj o gr áfi co é exi bi do.

103 102 Fi gur a - 39 Recur sos de ger enci ament o de ar qui vos de confi gur ação do Spri ng I DE. Font e: Spri ng I DE, Fi gur a - 40 Ferr ament a wi zar d de cri ação de um Spri ng Pr oj ect. Font e: Capt ur a de t el a da I DE Ecli pse.

104 103 Al ém de of er ecer r ecur sos de ger enci ament o, o Spri ng I DE t ambé m possui f err ament as que f acilita m a cri ação e confi guração de al guns ar qui vos essenci ai s ao ger enci ament o no Eclipse. Na Fi gur a 40 t emos u ma Ferr ament a wi zar d de cri ação de u m novo pr oj et o Spri ng. Ta mbé m é possí vel adi ci onar a nat ureza Spri ng a u m pr oj et o pr é- exi st ent e, cli cando se com o bot ão di r eit o do mouse sobr e o pr oj et o e sel eci onando- se a opção Add Spri ng Pr oj ect Nat ur e, como mostr ado na Fi gur a 41. Fi gur a - 41 Adi ção da nat ur eza Spri ng a um pr oj et o pr é- exi st ent e. Font e: Spri ng I DE, Fi gur a - 42 Ferr ament a wi zar d para i nserir ar qui vos de confi gur ação no pr oj et o. Font e: Spri ng I DE, 2006.

105 104 Na Fi gur a 42, t em- se uma f err ament a wi zard par a i nserir ar qui vos de confi gur ação no pr oj et o Spri ng, que pode ser acessada pel o menu de cont ext o do pr oj et o, Pr operti es > Spri ng Beans ( ou Spri ng) > Beans Suport > Confi g Fil es. Par a adi ci onar um ar qui vo, bast a cli car no bot ão Add... e sel eci onar o arqui vo no di r et óri o do pr oj et o, como exi bido na Fi gur a 43. Fi gur a - 43 Janel a de sel eção de ar qui vo de confi gur ação do Spri ng. Font e: Spri ng I DE, Fi gur a - 44 Ferr ament a wi zar d de cri ação de um ar qui vo de confi gur ação do Spri ng. Font e: Capt ur a de t el a da I DE Ecli pse.

DATAPREV Divisão de Gestão Operacional e Controle - D1GC Serviço Técnico a Softwares de Produção STSP

DATAPREV Divisão de Gestão Operacional e Controle - D1GC Serviço Técnico a Softwares de Produção STSP GIS Gertran Integration Suite Guia de T ransferência de Arquivos Entidade x DATAPREV Versão 1.0 HTTPS G I S G ui a de T ra n sf er ên ci a d e Ar qu i vo s 1/ 8 ÍNDICE ANALÍT ICO 1. INTRODU ÇÃO......4

Leia mais

Sar a Oli veira e Sil va

Sar a Oli veira e Sil va Facul dade Set e de Set embr o - FASETE Cur so de Ad mi ni stração Co m Habilit ação em Mar keti ng Or gani zação Set e de Set embr o de Cultur a e Ensi no - LTDA Sar a Oli veira e Sil va COMPETÊNCI AS

Leia mais

Facul dade Set e de Set e mbr o FASETE Depart a ment o de Ad mi ni stração Cur so de Bacharel ado e m Ad mi ni stração/ Mar keti ng

Facul dade Set e de Set e mbr o FASETE Depart a ment o de Ad mi ni stração Cur so de Bacharel ado e m Ad mi ni stração/ Mar keti ng Facul dade Set e de Set e mbr o FASETE Depart a ment o de Ad mi ni stração Cur so de Bacharel ado e m Ad mi ni stração/ Mar keti ng Andr essa Wany Pedr eira de Andr ade AVALI AÇÃO DE DESEMPENHO E ORGANI

Leia mais

(73) Titular(es): (72) Inventor(es): (74) Mandatário: (54) Epígrafe: ESTRUTURA DE VAGÃO PLATAFORMA DE 2 EIXOS COM LONGARINAS EM CAIXÃO

(73) Titular(es): (72) Inventor(es): (74) Mandatário: (54) Epígrafe: ESTRUTURA DE VAGÃO PLATAFORMA DE 2 EIXOS COM LONGARINAS EM CAIXÃO (11) Número de Publicação: 105218 (51) Classificação Internacional: B61D 3/00 (2006) (12) FASCÍCULO DE PATENTE DE INVENÇÃO (22) Data de pedido: 2010.07.23 (30) Prioridade(s): (43) Data de publicação do

Leia mais

POR QUE EMPRESAS PROMI SSORAS FALEM? Um est udo de caso j unt o ao Fl ash Super mer cado no muni cí pi o de Paul o Af onso - BA

POR QUE EMPRESAS PROMI SSORAS FALEM? Um est udo de caso j unt o ao Fl ash Super mer cado no muni cí pi o de Paul o Af onso - BA FACULDADE SETE DE SETEMBRO FASETE. Cur so de Bachar el ado de Ad mi ni stração com Habilitação em Mar keti ng. BRÍ GI DA ALI CE GOMES DE SÁ POR QUE EMPRESAS PROMI SSORAS FALEM? Um est udo de caso j unt

Leia mais

FACULDADE SETE DE SETEMBRO FASETE CURSO DE BACHARELADO DE SI STEMAS DE I NFORMAÇÃO OLAVO DE JESUS SI MAS

FACULDADE SETE DE SETEMBRO FASETE CURSO DE BACHARELADO DE SI STEMAS DE I NFORMAÇÃO OLAVO DE JESUS SI MAS FACULDADE SETE DE SETEMBRO FASETE CURSO DE BACHARELADO DE SI STEMAS DE I NFORMAÇÃO OLAVO DE JESUS SI MAS ESTUDO DE CASO SOBRE A REDE DO 20º BPM( VI GÉSI MO BATALHÃO DE POLÍ CI A MI LI TAR) PAUL O AFONSO

Leia mais

P R E G Ã O P R E S E N C I A L N 145/2010

P R E G Ã O P R E S E N C I A L N 145/2010 P R E G Ã O P R E S E N C I A L N 145/2010 D A T A D E A B E R T U R A : 2 9 d e d e z e m b r o d e 2 0 1 0 H O R Á R I O : 9:0 0 h o r a s L O C A L D A S E S S Ã O P Ú B L I C A: S a l a d a C P L/

Leia mais

Mét odo do Valor At ual (VA) ou Valor Pr esent e Líquido (VPL)

Mét odo do Valor At ual (VA) ou Valor Pr esent e Líquido (VPL) Mét odo do Valor At ual () ou Valor r esent e Líquido (VL) O mét odo do Valor At ual () per mit e que conheçamos as nossas necessidades de caixa, ou ganhos de cer t o pr oj et o, em t er mos de dinheir

Leia mais

Pal estra: SI MPLES NACI ONAL: Lei Ger al do Est ado do Ceará SI MPLES NACI ONAL. Lei Geral do Est ado do Ceará. Apr esent ação

Pal estra: SI MPLES NACI ONAL: Lei Ger al do Est ado do Ceará SI MPLES NACI ONAL. Lei Geral do Est ado do Ceará. Apr esent ação Pal estra: SI MPLES NACI ONAL: Lei Ger al do Est ado do Ceará SI MPLES NACI ONAL Lei Geral do Est ado do Ceará Apr esent ação Eduar do Araúj o de Azevedo Out ubr o de 2013 Su mári o: 1. Cont ext uali zação

Leia mais

CONCEI TOS BÁSI COS I. Qualquer conceito sobre rede de computadores é arbitrário e depende do

CONCEI TOS BÁSI COS I. Qualquer conceito sobre rede de computadores é arbitrário e depende do APOSTILA DE REDES CONCEI TOS BÁSI COS I Qualquer conceito sobre rede de computadores é arbitrário e depende do cr it ér io que ser á ut ilizado par a def ini-lo. Assim, t emos vár ios conceit os: É um

Leia mais

Marketing para o transporte coletivo

Marketing para o transporte coletivo Marketing para o transporte coletivo Rejane D. Fernandes Diretora de Relações Estratégicas da EMBARQ Brasil www.embarqbrasil.org SSES IDIOTAS OMASSEM SE ESSES IDIOTAS SE ESSES IDIOTAS IBUS, EU JÁ TOMASSEM

Leia mais

NOSSA LI STA DE PRODUT OS PARA COFFEE BREAK

NOSSA LI STA DE PRODUT OS PARA COFFEE BREAK NOSSA LI STA DE PRODUT OS PARA COFFEE BREAK ( Na foto: qui che i ntegr al de alho porró co muva passa branca, torta i ntegr al de goi abada comcastanha de caj u, empada de pal mi to e muffi n de uva) A

Leia mais

ACEF/1213/23267 Decisão de apresentação de pronúncia

ACEF/1213/23267 Decisão de apresentação de pronúncia ACEF/1213/23267 Decisão de apresentação de pronúncia ACEF/1213/23267 Decisão de apresentação de pronúncia Decisão de Apresentação de Pronúncia ao Relatório da Comissão de Avaliação Externa 1. Tendo recebido

Leia mais

Anos Dour ados e Revi ver l ocali zados no muni cí pi o de Paul o Af onso- BA passar am a vi ver mel hor?

Anos Dour ados e Revi ver l ocali zados no muni cí pi o de Paul o Af onso- BA passar am a vi ver mel hor? I NTRODUÇÃO O t uri smo é u ma das pri nci pai s ati vi dades econô mi cas par a o desenvol vi ment o l ocal e soci al em u ma r egi ão, vi st o que, pr opi ci a a ger ação de bens e ser vi ços par a a

Leia mais

RESULTADOS DA PESQUISA DE SATISFAÇÃO DO USUÁRIO EXTERNO COM A CONCILIAÇÃO E A MEDIAÇÃO

RESULTADOS DA PESQUISA DE SATISFAÇÃO DO USUÁRIO EXTERNO COM A CONCILIAÇÃO E A MEDIAÇÃO RESULTADOS DA PESQUISA DE SATISFAÇÃO DO USUÁRIO EXTERNO COM A CONCILIAÇÃO E A MEDIAÇÃO 1. RESULTADOS QUESTIONÁRIO I - PARTES/ CONCILIAÇÃO 1.1- QUESTIONÁRIO I - PARTES/ CONCILIAÇÃO: AMOSTRA REFERENTE AS

Leia mais

Des pacho Normativo n.º 37/2003

Des pacho Normativo n.º 37/2003 Des pacho Normativo n.º 37/2003 Cons i der ando que o Decr eto- L ei n.º 125/2003, de 20 de Junho, regulou a f or m a de emis s ão de bi lhetes de ingr esso nos recintos de es pectácul os de nat ur ez

Leia mais

MANUAL TÉCNI CO. Esse manual é apli cável aos segui nt es pr oj et os de Exti nt ores de I ncêndi o:

MANUAL TÉCNI CO. Esse manual é apli cável aos segui nt es pr oj et os de Exti nt ores de I ncêndi o: Pági na 1 de 18 MANUAL TÉCNI CO Par a Transport e, I nstal ação, Recar ga, Manut enção e Oper ação de Exti nt ores de I ncêndi o Fabri cados pel a Exti nt ores Moceli n com base na Norma ABNT NBR 15808

Leia mais

Questionário sobre o Ensino de Leitura

Questionário sobre o Ensino de Leitura ANEXO 1 Questionário sobre o Ensino de Leitura 1. Sexo Masculino Feminino 2. Idade 3. Profissão 4. Ao trabalhar a leitura é melhor primeiro ensinar os fonemas (vogais, consoantes e ditongos), depois as

Leia mais

MÃE. M esmo q u e o s eu f ilho j á t enha sido regi strad o procu r e o cartóri o d e R egi stro Civil de

MÃE. M esmo q u e o s eu f ilho j á t enha sido regi strad o procu r e o cartóri o d e R egi stro Civil de APRESENTAÇÃO O T r i b u n a l d e J u st i ç a d e S ã o P a u l o d e s e n v o l ve, d e s d e 2 0 0 7, o P r o j e to P a t e r n i d a d e R e s p o n s á v e l. S u a d i s c i p l i n a e s t á

Leia mais

FAMAR FUNDAÇÃO DE APOI O A FACULDADE DE MEDI CI NA DE MARÍ LI A CNPJ ( MF) 09. 161. 265/ 0001-46 EDITAL

FAMAR FUNDAÇÃO DE APOI O A FACULDADE DE MEDI CI NA DE MARÍ LI A CNPJ ( MF) 09. 161. 265/ 0001-46 EDITAL EDITAL PREÂMBUL O EDI TAL DE CARTA CONVITE N 001/2008 - M PROCESSO n 150/2008- M DATA DA REALIZAÇÃO: 30/12/2008 HORÁRI O: 8: 30 h LOCAL DA REALIZAÇÃO SESSÃO: Sal a de abert ura de li citações da FUNDAÇÃO

Leia mais

PORTEFÓLI O. DESENHO A MATERI AI S E TECNOLOGI AS OFI CI NA DE ARTES ÁREA DE PROJ ECTO Out r os pr oj ect os. Sof ia Sant os Simões da Silva 12ºf nº12

PORTEFÓLI O. DESENHO A MATERI AI S E TECNOLOGI AS OFI CI NA DE ARTES ÁREA DE PROJ ECTO Out r os pr oj ect os. Sof ia Sant os Simões da Silva 12ºf nº12 PORTEFÓLI O DESENHO A MATERI AI S E TECNOLOGI AS OFI CI NA DE ARTES ÁREA DE PROJ ECTO Out r os pr oj ect os Sof ia Sant os Simões da Silva 12ºf nº12 Desenho de pedr as (A car vão; a past el de óleo) Desenho

Leia mais

WEDS ON CUNHA SANTOS. Caruaru 2012

WEDS ON CUNHA SANTOS. Caruaru 2012 1 SOCI EDADE DE EDUCAÇÃO DO VALE DO IPOJ UCA FACULDADE DO VALE DOIPOJ UCA - FAVI P DEPARTAMENTO DE CI ÊNCI AS CONTÁBEI S - DCC BACHARELADO EMCI ÊNCI AS CONTÁBEIS WEDS ON CUNHA SANTOS UMESTUDO SOBRE A LI

Leia mais

esocial Visão Gerencial Edgar Madruga

esocial Visão Gerencial Edgar Madruga esocial Visão Gerencial CRC RS Edgar Madruga Prof. Sustentabilidade PROFESSOR EDGAR MADRUGA O Mundo é Digital... www.edgarmadruga.com.br Uma Visão Vamos ver um vídeo... Darwiniana deste novo mundo digital...

Leia mais

FACULDADE SETE DE SETEMBRO FASETE CURSO DE LI CENCI ATURA PLENA EM LETRAS HABI LI TAÇÃO EM PORTUGUÊS E I NGLÊS ELI SÂNGELA DE SOUZA GUERRA

FACULDADE SETE DE SETEMBRO FASETE CURSO DE LI CENCI ATURA PLENA EM LETRAS HABI LI TAÇÃO EM PORTUGUÊS E I NGLÊS ELI SÂNGELA DE SOUZA GUERRA FACULDADE SETE DE SETEMBRO FASETE CURSO DE LI CENCI ATURA PLENA EM LETRAS HABI LI TAÇÃO EM PORTUGUÊS E I NGLÊS ELI SÂNGELA DE SOUZA GUERRA A EDUCAÇÃO DE JOVENS E ADULTOS, TEMPO DE APRENDER II, COMO RESGATE

Leia mais

Resolução de Matemática da Prova Objetiva FGV Administração - 06-06-10

Resolução de Matemática da Prova Objetiva FGV Administração - 06-06-10 QUESTÃO 1 VESTIBULAR FGV 010 JUNHO/010 RESOLUÇÃO DAS 15 QUESTÕES DE MATEMÁTICA DA PROVA DA MANHÃ MÓDULO OBJETIVO PROVA TIPO A O mon i tor de um note book tem formato retangular com a di ag o nal medindo

Leia mais

Ac esse o sit e w w w. d e ca c lu b.c om.br / es t u dos 2 0 1 5 e f a ç a s u a insc riçã o cl ica nd o e m Pa r t i c i p e :

Ac esse o sit e w w w. d e ca c lu b.c om.br / es t u dos 2 0 1 5 e f a ç a s u a insc riçã o cl ica nd o e m Pa r t i c i p e : INSCRIÇÕES ABERTAS ATÉ 13 DE JULH DE 2015! Ac esse o sit e w w w. d e ca c lu b.c om.br / es t u dos 2 0 1 5 e f a ç a s u a insc riçã o cl ica nd o e m Pa r t i c i p e : Caso vo cê nunca t e nh a pa

Leia mais

REGULAMENTO DE INSTALAÇÃO E FUNCIONAMENTO DOS ESTABELECIMENTOS DE HOSPEDAGEM No u s o d a c o mp e t ê n c i a p r e v i s t a al í n e a v ) d o n. º 1 d o ar t i g o 64º d o De c r e t o -Le i n. º 1

Leia mais

(Às Co missões de Re la ções Exteriores e Defesa Na ci o nal e Comissão Diretora.)

(Às Co missões de Re la ções Exteriores e Defesa Na ci o nal e Comissão Diretora.) 32988 Quarta-feira 22 DIÁRIO DO SENADO FEDERAL Ou tu bro de 2003 Art. 3º O Gru po Parlamentar reger-se-á pelo seu regulamento in ter no ou, na falta deste, pela decisão da ma i o ria absoluta de seus mem

Leia mais

GASTRONOMIA. Cer ti fi que-se de que está es cre ven do de acor do com o tema pro pos to e dê um tí tu lo a seu tex to.

GASTRONOMIA. Cer ti fi que-se de que está es cre ven do de acor do com o tema pro pos to e dê um tí tu lo a seu tex to. GASTRONOMIA Instruções Cer ti fi que-se de que está es cre ven do de acor do com o tema pro pos to e dê um tí tu lo a seu tex to. Res pe i te mar gens e en tra das de pa rá gra fo. Use as in for ma ções

Leia mais

DICAS DA VOLVO CONHECENDO A EMBREAGEM EMBREAGEM UBT. MAIOR DISPONIBILIDADE E AGILIDADE TANTO PARA TROCAR A PEÇA COMO PARA O SEU NEGÓCIO.

DICAS DA VOLVO CONHECENDO A EMBREAGEM EMBREAGEM UBT. MAIOR DISPONIBILIDADE E AGILIDADE TANTO PARA TROCAR A PEÇA COMO PARA O SEU NEGÓCIO. 9 DICAS DA VOLVO 9 CONHECENDO A EMBREAGEM VAMOS VER NESTA EDI ÇÃO COMO FUNCI ONA A EMBREAGEM DO SEU VOLVO. EMBREAGEM UBT. MAIOR DISPONIBILIDADE E AGILIDADE TANTO PARA TROCAR A PEÇA COMO PARA O SEU NEGÓCIO.

Leia mais

ANHANGUERA EDUCACI ONAL FACULDADE ANHANGUERA DE PASSO FUNDO - FAPLAN

ANHANGUERA EDUCACI ONAL FACULDADE ANHANGUERA DE PASSO FUNDO - FAPLAN ANHANGUERA EDUCACI ONAL FACULDADE ANHANGUERA DE PASSO FUNDO - FAPLAN GABRI ELA SOUZA DE OLI VEI RA MUDANÇAS MACROAMBI ENTAI S: O I MPACTO DA UTI LI ZAÇÃO DA NOTA FISCAL ELETRÔNI CA/ NFE NAS EMPRESAS DA

Leia mais

URBANISMO COMERCIAL EM PORTUGAL E A REVITALIZAÇÃO DO CENTRO DAS CIDADES

URBANISMO COMERCIAL EM PORTUGAL E A REVITALIZAÇÃO DO CENTRO DAS CIDADES LEITURAS URBANISMO COMERCIAL EM PORTUGAL E A REVITALIZAÇÃO DO CENTRO DAS CIDADES [Carlos José Lopes Balsas (1999), Gabinete de Estudos e Prospectiva Económica, Ministério da Economia, ISBN: 972-8170-55-6]

Leia mais

ADENDA AO zyxwvutsrqponmlkjihgfedcbazyxwvutsrqponmlkjihgfedcba

ADENDA AO zyxwvutsrqponmlkjihgfedcbazyxwvutsrqponmlkjihgfedcba Ent r e: ADENDA AO zyxwvutsrqponmlkjihgfedcbazyxwvutsrqponmlkjihgfedcba ACORDO MODI FI CATI VO 205 DO CONTRATO PROGRAMA 203-205 Pl ano de I nt er venção em Ci r ur gi a A ADMI NI STRAÇÃO REGI ONAL DE SAúDE

Leia mais

ADENDA AO ACORDO MODIFICATIVO 2015 DO CONTRATO PROGRAMA Plano de Intervenção em Cirurgia

ADENDA AO ACORDO MODIFICATIVO 2015 DO CONTRATO PROGRAMA Plano de Intervenção em Cirurgia UNHA RIBEIRO Presidente dd Conselho DirectIVO SEGUNDO OUTORGANTE zyxw ARSLVT, 1-R ADENDA AO ACORDO MODIFICATIVO 2015 DO CONTRATO PROGRAMA 2013-2015 Plano de Intervenção em Cirurgia Entre: zyxwvutsrqponmlkjihgfedcbazyxwvutsrqponmlkjihgfedcba

Leia mais

FACULDADE SETE DE SETE MBRO FASETE CURS O DE ADMI NI STRAÇÃO COM HABI LI TAÇÃO EM MARKETI NG PETRÔNI O J OSÉ LIMA NOGUEI RA

FACULDADE SETE DE SETE MBRO FASETE CURS O DE ADMI NI STRAÇÃO COM HABI LI TAÇÃO EM MARKETI NG PETRÔNI O J OSÉ LIMA NOGUEI RA FACULDADE SETE DE SETE MBRO FASETE CURS O DE ADMI NI STRAÇÃO COM HABI LI TAÇÃO EM MARKETI NG PETRÔNI O J OSÉ LIMA NOGUEI RA ANÁLI SE DA QUALI DADE NO ATENDI MENTO COMO ESTRATÉGI A DE FI DELI ZAÇÃO DE CLI

Leia mais

Resolução feita pelo Intergraus! Módulo Objetivo - Matemática FGV 2010/1-13.12.2009

Resolução feita pelo Intergraus! Módulo Objetivo - Matemática FGV 2010/1-13.12.2009 FGV 010/1-13.1.009 VESTIBULAR FGV 010 DEZEMBRO 009 MÓDULO OBJETIVO PROVA TIPO A PROVA DE MATEMÁTICA QUESTÃO 1 (Prova: Tipo B Resposta E; Tipo C Resposta C; Tipo D Resposta A) O gráfico abaio fornece o

Leia mais

DIRE ITO EM P RE S A RIA L

DIRE ITO EM P RE S A RIA L DIRE ITO EM P RE S A RIA L Um si n d i cato d e trab al h ad ores SI N F O, cu j a p recí p u a e ef eti va ati vi d ad e é a d e d ef en d er os d i rei tos l ab orai s d e seu s associ ad os resol veu

Leia mais

ACEF/1213/02632 Decisão de apresentação de pronúncia

ACEF/1213/02632 Decisão de apresentação de pronúncia ACEF/1213/02632 Decisão de apresentação de pronúncia ACEF/1213/02632 Decisão de apresentação de pronúncia Decisão de Apresentação de Pronúncia ao Relatório da Comissão de Avaliação Externa 1. Tendo recebido

Leia mais

COLÉGIO OBJETIVO JÚNIOR

COLÉGIO OBJETIVO JÚNIOR COLÉGIO OBJETIVO JÚNIOR NOME: N. o : 7. o ANO DATA: / /201 FOLHETO DE MATEMÁTICA (V.C. E R.V.) Este fo lhe to é um ro te i ro de es tu do para você re cu pe rar o con te ú do tra ba lha do em 201. Como

Leia mais

FACULDADES UNIFICADAS DA. Curso de Direito Escritório de Assistência Jurídica Registro OAB 6614 DA F UNDAÇ Ã O EDUCACIONAL DE B ARRETOS

FACULDADES UNIFICADAS DA. Curso de Direito Escritório de Assistência Jurídica Registro OAB 6614 DA F UNDAÇ Ã O EDUCACIONAL DE B ARRETOS FACULDADES UNIFICADAS DA FUNDAÇÃO EDUCACIONAL DE BARRETOS Curso de Direito Escritório de Assistência Jurídica Registro OAB 6614 REGULAMENTO DO NÚ CLEO DE PRÁ TICA JURÍ DICA DA F UNDAÇ Ã O EDUCACIONAL DE

Leia mais

FUNDAÇÃO MUNI CI PAL DE ENSI NO SUPERI OR DE MARÍ LI A

FUNDAÇÃO MUNI CI PAL DE ENSI NO SUPERI OR DE MARÍ LI A EDITAL DE PREGÃO (PRESENCI AL) PREÂMBUL O EDITAL DE PREGÃO (PRESENCI AL) n 4 PROCESSO n 20/2008 DATA DA REALIZAÇÃO: 20/03/2008 HORÁRI O: 08: 30 hs. LOCAL DA REALIZAÇÃO SESSÃO: Sal a de abert ura de li

Leia mais

n o m urd ne Hel e n o mis

n o m urd ne Hel e n o mis Em nosso cotidiano existem infinitas tarefas que uma criança autista não é capaz de realizar sozinha, mas irá torna-se capaz de realizar qualquer atividade, se alguém lhe der instruções, fizer uma demonstração

Leia mais

Programa USP Recicla Coordenadoria Executiva de Cooperação Universitária e Atividades Especiais - USP

Programa USP Recicla Coordenadoria Executiva de Cooperação Universitária e Atividades Especiais - USP Programa USP Recicla Coordenadoria Executiva de Cooperação Universitária e Atividades Especiais - USP CEPARA - Centro de Pesquisa para o Aproveitamento de Resíduos Agroindustriais/ESALQ 1. INTRODUÇÃO A

Leia mais

NÃO ( ) SI M( ) QUAL? como por exe mpl o: ONGs, pr ogra mas do gover no, pr ogra mas a ní vel muni ci pal e estadual)

NÃO ( ) SI M( ) QUAL? como por exe mpl o: ONGs, pr ogra mas do gover no, pr ogra mas a ní vel muni ci pal e estadual) A. FOR MUL ÁRI O PARA PROJ ETO 1. Títul o do Pr oj eto 2. Pr omot or( es) da ação 3. Modali dade Pr ogra ma ( ) Pr oj et o ( ) Event o ( ) Prestação de Servi ços ( ) Consul tori a ( ) Publi cações e/ou

Leia mais

Gerência e Segurança d e R ed es W irel es s Claudia Pereira c lp ereir@ c is c o. c o m 1 Aplicaçõ e s I n t e r at iv as X Aplicaçõ e s T r an s acio n ais 1950s-1990s C a r t a s e me mo r a n d o s

Leia mais

NCE/13/00131 Decisão de apresentação de pronúncia - Novo ciclo de estudos

NCE/13/00131 Decisão de apresentação de pronúncia - Novo ciclo de estudos NCE/13/00131 Decisão de apresentação de pronúncia - Novo ciclo de estudos NCE/13/00131 Decisão de apresentação de pronúncia - Novo ciclo de estudos Decisão de Apresentação de Pronúncia ao Relatório da

Leia mais

DICAS DA VOLVO CONDUÇÃO ECONÔMICA VOLVO DO BRASIL OLÁ! NESTA EDI ÇÃO, VEREMOS COMO FAZER A CONDUÇÃO MAI S ECONÔMICA E EFICIENTE.

DICAS DA VOLVO CONDUÇÃO ECONÔMICA VOLVO DO BRASIL OLÁ! NESTA EDI ÇÃO, VEREMOS COMO FAZER A CONDUÇÃO MAI S ECONÔMICA E EFICIENTE. ALAGOAS Maceió Tel.: (82) 324-5407 AMAZONAS Manaus Tel.: (92) 663-4040 BAHIA Feira de Santana Tel.: (75) 624-2014 Salvador Tel.: (71) 394-1311 Teixeira de Freitas Luvep Tel.: (73) 292-6688 Vitória da Conquista

Leia mais

UNI VERSI DADE FEDERAL DO CEARÁ PÓS- GRADUAÇÃO EM ECONOMI A ( CAEN/ UFC) MESTRADO PROFI SSI ONAL EM ECONOMI A DO SETOR PÚBLI CO

UNI VERSI DADE FEDERAL DO CEARÁ PÓS- GRADUAÇÃO EM ECONOMI A ( CAEN/ UFC) MESTRADO PROFI SSI ONAL EM ECONOMI A DO SETOR PÚBLI CO UNI VERSI DADE FEDERAL DO CEARÁ PÓS- GRADUAÇÃO EM ECONOMI A ( CAEN/ UFC) MESTRADO PROFI SSI ONAL EM ECONOMI A DO SETOR PÚBLI CO GUI LHERME FRANÇA MORAES COMPLEMENTARI EDADE OU SUBSTI TUI ÇÃO: ESTUDO EMPÍ

Leia mais

I NSTI TUTO DE TECNOL OGI A PARA O DESENVOLVI MENTO ( LACTEC)

I NSTI TUTO DE TECNOL OGI A PARA O DESENVOLVI MENTO ( LACTEC) I NSTI TUTO DE TECNOL OGI A PARA O DESENVOLVI MENTO ( LACTEC) MARI A THEREZA DE OLI VEI RA BOND ESTRUTURAÇÃO DE GERENCI AMENTO DE ANÁLI SE DE CARGOS E COMPETÊNCI AS EM I NSTI TUI ÇÕES DE ENSI NO A DI STÂNCI

Leia mais

Com muito carinho para minha querida amiga e super profissional. Ale Del Vecchio

Com muito carinho para minha querida amiga e super profissional. Ale Del Vecchio Com muito carinho para minha querida amiga e super profissional. BA BE BI BO BU BÃO ba be bi bo bu bão BA ba boi BE be bebê BI bi Bia BO bo boi BU bu buá Nome: BA BE BI BO BU BÃO ba be bi bo bu bão BA

Leia mais

REFORMA POLÍTICA. Capítulo VI

REFORMA POLÍTICA. Capítulo VI REFORMA POLÍTICA Capítulo VI REFORMA QUE O GOVERNO LULA E O CONGRESSO NACIONAL DEVEM PRIORIZAR [espontânea e única, em %] Pe so 1 0 0 % Re fe rê ncia s a re form a s Re form a Agrá ria 7 Re form a Tra

Leia mais

Feedback - Cursos do Módulo Risk Manager

Feedback - Cursos do Módulo Risk Manager Feedback - Cursos do Módulo Risk Manager Q1 Nome, Sobrenome Nome Sobrenome 1. T at iana Moreira 2. marcos sat oru okamura 3. sergio manoel 4. Gabriel Bast os 5. Edson Coelho Q2 Qual o seu e-mail? 1. tatiana.sousa@modulo.com

Leia mais

SOCI EDADE DE EDUCAÇÃO DO VALE DOIPOJUCA FACULDADE DO VALE DOIPOJUCA - FAVI P CURS O DE ADMI NI STRAÇÃO DE EMPRESAS

SOCI EDADE DE EDUCAÇÃO DO VALE DOIPOJUCA FACULDADE DO VALE DOIPOJUCA - FAVI P CURS O DE ADMI NI STRAÇÃO DE EMPRESAS 0 SOCI EDADE DE EDUCAÇÃO DO VALE DOIPOJUCA FACULDADE DO VALE DOIPOJUCA - FAVI P CURS O DE ADMI NI STRAÇÃO DE EMPRESAS Larissa Vi eira Wanderlei EXPECTATI VA E PERCEPÇÃO DOS USUÁRI OS QUANTO A QUALI DADE

Leia mais

MUDANÇA ELEITORAL EM PORTUGAL

MUDANÇA ELEITORAL EM PORTUGAL RECENSÕES MUDANÇA ELEITORAL EM PORTUGAL Clivagens, economia e voto em eleições legislativas 1983-1999 [André Fre i re (2001), Oe i ras, Cel ta Edi to ra, ISBN 972-774-106-1] António Teixeira Fernandes

Leia mais

Medley Forró 4 Tenho Sede Dominguinhos e Anastácia

Medley Forró 4 Tenho Sede Dominguinhos e Anastácia TENOR Medley Forró 4 Tenho Sede Dominguinhos e Anastácia q # = 0 # # 4 # c. # n 8. iá. Lá lá lá iá lá iá lá lá iá lá iá lá iá lá iá... A iá Tra -ga me'um co - po dá - gua gan ta pe de'um pou te - nho -

Leia mais

I MP L E ME NT AÇÃO DA B I B L I OT E CA DI GI T AL DA UFR GS

I MP L E ME NT AÇÃO DA B I B L I OT E CA DI GI T AL DA UFR GS I MP L E ME NT AÇÃO DA B I B L I OT E CA DI GI T AL DA UFR GS Z ita Pr ates de Oliveira Carla Metzler Saatkamp Caterina Gr opos o Pavão Janise S ilva B or ges da Cos ta Lais Freitas Caregnato Z aida Hor

Leia mais

Organizado por: Márcio de Oliveira

Organizado por: Márcio de Oliveira A PRODUÇÃO MAI S LI MPA COMO FERRAMENTA DE GESTÃO AMBI ENTAL PARA AS I NDÚSTRI AS DO MUNI CÍ PI O DE JUI Z DE FORA Organizado por: Márcio de Oliveira O que você acha que custa mais caro: produzir de forma

Leia mais

PLANO DE ENS INO. Curso: Análise e Desenvolvimento de Sistemas Período do curso: 3º. Professor(a): Ro sângela Silqueira H ickson R ios.

PLANO DE ENS INO. Curso: Análise e Desenvolvimento de Sistemas Período do curso: 3º. Professor(a): Ro sângela Silqueira H ickson R ios. PLANO DE ENS INO Curso: Análise e Desenvolvimento de Sistemas Disciplina: B an co de Dado s Professor(a): Ro sângela Silqueira H ickson R ios Carga horária total: 80 h/a Atividades teóricas: 40 h/a Semest

Leia mais

Plano Diretor CÂMPUS GLÓRIA Universidade Federal de Uberlândia

Plano Diretor CÂMPUS GLÓRIA Universidade Federal de Uberlândia O processo... ANTECEDENTES: 2001 - Comi ssão Per manent e de Pl anej ament o e Ocupação de Espaço Físi co da UFU CPOEF 2005 - Estudo de viabilidade urbanística da implantação do Campus Glória (Maria Eliza

Leia mais

1. A cessan do o S I G P R H

1. A cessan do o S I G P R H 1. A cessan do o S I G P R H A c esse o en de reç o w w w.si3.ufc.br e selec i o ne a o p ç ã o S I G P R H (Siste m a I n te g ra d o de P la ne ja m e n t o, G estã o e R e c u rs os H u m a n os). Se

Leia mais

P R O J E Ç Õ E S. Produção Vendas Interna Importação Exportação Emprego ,7% -10,9% 3,0% -3,7%

P R O J E Ç Õ E S. Produção Vendas Interna Importação Exportação Emprego ,7% -10,9% 3,0% -3,7% BOLETIM TENDÊNCIAS DE CURTO PRAZO ANÁLISE GERAL AGOSTO. 2017 A p r o d u ç ã o d a s i n d ú s t r i a s T ê x t i l e de V e s t u á r i o a p r e s e n t o u um p r i m e i r o s e m e s t r e de r e

Leia mais

CAPÍ TULO 1 I NTRODUÇÃO

CAPÍ TULO 1 I NTRODUÇÃO 12 CAPÍ TULO 1 I NTRODUÇÃO 13 1. Introdução Paul o Af onso é u ma ci dade que possui u ma história recent e, foi e manci pada e m 28 de j ul ho de 1958, dez anos após a criação da CHESF ( Co mpanhi a Hi

Leia mais

Hymnarium von Mestre Irineu. O Cruzeirinho

Hymnarium von Mestre Irineu. O Cruzeirinho Hymnrium von O ruzeirinho Prtituren RINH O MR - 2009 iretion: Mrco rcie Imperil Prtituren: isele rcie Imperil irigenten: Mestro nés Romno e isele rcie Imperil www.ceflupedrmr.org 117. ou Viv À eus Ns lturs

Leia mais

Capít ul o I CONSI DERAÇÕES I NI CIAI S

Capít ul o I CONSI DERAÇÕES I NI CIAI S 10 Capít ul o I CONSI DERAÇÕES I NI CIAI S 11 CAPÍ TULO I CONSI DERAÇÕES I NI CI AI S 1. 1 I NTRODUÇÃO Ao l ongo destas últi mas décadas, o ser hu mano independent e da i dade, sexo, cult ura ou grau de

Leia mais

UNI VERSI DADE DO SUL DE SANTA CATARI NA THÉO AUGUSTUS LUZ

UNI VERSI DADE DO SUL DE SANTA CATARI NA THÉO AUGUSTUS LUZ UNI VERSI DADE DO SUL DE SANTA CATARI NA THÉO AUGUSTUS LUZ AVALI AÇÃO DA QUALI DADE DO SERVI ÇO DE TECNOLOGI A DA I NFORMAÇÃO: A PERSPECTI VA DOS USUÁRI OS E DOS PROVEDORES DO SERVI ÇO EM UM AMBI ENTE

Leia mais

Medley Forró 3. & bb b b œ œ bœ. œ bœ. œ œ œ œ. œ œ. . r. j œ œ œ. & b b b b œ. & bb b b. œ œ œ. œ œ. . œ. œ Œ. œ œ œ. œ œ. œ œ œ.

Medley Forró 3. & bb b b œ œ bœ. œ bœ. œ œ œ œ. œ œ. . r. j œ œ œ. & b b b b œ. & bb b b. œ œ œ. œ œ. . œ. œ Œ. œ œ œ. œ œ. œ œ œ. b b b 4 2 12 Medley Foó 3 SOPRANO Vesão eduzida (2014) Baião Luiz Gonzaga q = 100 6 A 22 b b b u vou mos - ta pa vo - cês co-mo se dan-ça'o ba-ião e quem qui - se a-pen-de é fa -vo pes - ta a-ten-ção mo-e-na

Leia mais

Correção da fuvest ª fase - Matemática feita pelo Intergraus

Correção da fuvest ª fase - Matemática feita pelo Intergraus da fuvest 009 ª fase - Matemática 08.0.009 MATEMÁTIA Q.0 Na figura ao lado, a reta r tem equação y x no plano cartesiano Oxy. Além dis so, os pontos 0,,, estão na reta r, sendo 0 = (0,). Os pontos A 0,

Leia mais

MANUAL DE ESTRUTURA, NORMAS E PROCESSOS DA BIBLIOTECA DA FESVV

MANUAL DE ESTRUTURA, NORMAS E PROCESSOS DA BIBLIOTECA DA FESVV BIBLIOTECA DA FACULDADE ESTÁCIO DE SÁ DE VILA VELHA MANUAL DE ESTRUTURA, NORMAS E PROCESSOS DA BIBLIOTECA DA FESVV Bibliotecária Luzia Ribeiro 2010 Juarez Moraes Ramos Júnior Diretor Geral Luiz Cláudio

Leia mais

UNI VERSI DADE FEDERAL DO CEARÁ FACULDADE DE ECONOMI A, ADMI NI STRAÇÃO, ATUÁRI A, CONTABI LI DADE E SECRETARI ADO FEAACS

UNI VERSI DADE FEDERAL DO CEARÁ FACULDADE DE ECONOMI A, ADMI NI STRAÇÃO, ATUÁRI A, CONTABI LI DADE E SECRETARI ADO FEAACS UNI VERSI DADE FEDERAL DO CEARÁ FACULDADE DE ECONOMI A, ADMI NI STRAÇÃO, ATUÁRI A, CONTABI LI DADE E SECRETARI ADO FEAACS DEPARTAMENTO DE ADMI NI STRAÇÃO CURSO DE ADMI NI STRAÇÃO LAYANE MORAI S DA ROCHA

Leia mais

Conhecendo o Kit Real

Conhecendo o Kit Real Conhecendo o Kit Real Versão do Kit Botão de Login Botões de Cálculo Pesquisa de Cálculos Botões de Transmissão Manutenção e Relatórios Acompanhamento de propostas transmitidas Versão do Kit: Mostra qual

Leia mais

GT1: EDUCAÇÃO I NCLUSI VA: A DEMANDA POR PRÁTI CAS EDUCATI VAS CONTRA A EXCLUSÃO SOCI AL

GT1: EDUCAÇÃO I NCLUSI VA: A DEMANDA POR PRÁTI CAS EDUCATI VAS CONTRA A EXCLUSÃO SOCI AL 1 GT1: EDUCAÇÃO I NCLUSI VA: A DEMANDA POR PRÁTI CAS EDUCATI VAS CONTRA A EXCLUSÃO SOCI AL Laís de Sant ana Araúj o* Mi l don Carl os Cali xt o dos Sant os** Paul a Tauana Sant os*** GT1 - ESPAÇOS EDUCATI

Leia mais

P R O J E Ç Õ E S. Produção Vendas Interna Importação Exportação Emprego ,1% -10,7% 6,2% -3,7% ,3% 2,0% 3,5% 5,0% 15.

P R O J E Ç Õ E S. Produção Vendas Interna Importação Exportação Emprego ,1% -10,7% 6,2% -3,7% ,3% 2,0% 3,5% 5,0% 15. BOLETIM TENDÊNCIAS DE CURTO PRAZO ANÁLISE GERAL J ANEIRO. 2017 L i d e r a d a p e l a i n d ú s t r i a T ê x t i l, a p r o d u ç ã o i n d u s t r i a l da c a d e i a de T ê x ti l & V e s t u á r

Leia mais

FASETE FACULDADE SETE DE SETE MBRO CURS O DE ADMI NI STRAÇÃO COM HABI LI TAÇÃO EM MARKETI NG

FASETE FACULDADE SETE DE SETE MBRO CURS O DE ADMI NI STRAÇÃO COM HABI LI TAÇÃO EM MARKETI NG FASETE FACULDADE SETE DE SETE MBRO CURS O DE ADMI NI STRAÇÃO COM HABI LI TAÇÃO EM MARKETI NG FÁBI O JEAN RODRI GUES GOMES GESTÃO COM PESSOAS: Odese mpenho das li deranças e o desenvol vi ment o profissi

Leia mais

DATAPREV Divisão de Gestão Operacional e Controle - D1GC Serviço Técnico a Softwares de Produção STSP

DATAPREV Divisão de Gestão Operacional e Controle - D1GC Serviço Técnico a Softwares de Produção STSP GIS Gertran Integration Suite Guia de T ransferência de Arquivos Entidade x DATAPREV Versão 1.0 SFTP 1/ 8 ÍNDICE ANALÍT ICO 1. INTRODU ÇÃO......4 2. TRANSFERÊNCIA VIA SFTP......5 3. CONSIDERAÇÕES FINAIS......8

Leia mais

UNI VERSI DADE DO ESTADO DA BAHI A - UNEB DEPARTAMENTO DE CI ÊNCI AS HUMANAS CAMPUS I V CURSO DE EDUCAÇÃO FÍ SI CA LI CENCI ATURA

UNI VERSI DADE DO ESTADO DA BAHI A - UNEB DEPARTAMENTO DE CI ÊNCI AS HUMANAS CAMPUS I V CURSO DE EDUCAÇÃO FÍ SI CA LI CENCI ATURA UNI VERSI DADE DO ESTADO DA BAHI A - UNEB DEPARTAMENTO DE CI ÊNCI AS HUMANAS CAMPUS I V CURSO DE EDUCAÇÃO FÍ SI CA LI CENCI ATURA ROSÂNGELA SI LVA MASCARENHAS A DANÇA NA ESCOLA NUMA PERSPECTI VA PEDAGÓGI

Leia mais

CURSO DE INICIAÇÃO FOTOGRAFIA DIGITAL NIVEL 1

CURSO DE INICIAÇÃO FOTOGRAFIA DIGITAL NIVEL 1 CLUBE MILLENNIUM BCP CURSO DE INICIAÇÃO FOTOGRAFIA DIGITAL NIVEL 1 ENTIDADE FORMADORA ENTIDADE CERTIFICADA PELO IAPMEI STUDIO8A RUA LUCIANO FREIRE, Nº 8-A, 1600-143 LISBOA TELF. 217960007 STUDIO8A@STUDIO8A.PT

Leia mais

UM ESTUDO TEÓRI CO- BI BLI OGRÁFI CO SOBRE O USO DA STORAGE ÁREA NET WORK EMAMBI ENTES DE ALTA DI SPONI BI LI DADE

UM ESTUDO TEÓRI CO- BI BLI OGRÁFI CO SOBRE O USO DA STORAGE ÁREA NET WORK EMAMBI ENTES DE ALTA DI SPONI BI LI DADE FACULDADE SETE DE SETEMBRO - FASETE Curso de Bacharelado e m Siste mas de Infor mação LEONARDO OLI VEI RA DA SI LVA UM ESTUDO TEÓRI CO- BI BLI OGRÁFI CO SOBRE O USO DA STORAGE ÁREA NET WORK EMAMBI ENTES

Leia mais

Construmat Barcelona

Construmat Barcelona Construmat Barcelona 20 a 24/04/2009 Realização Salvador Benevides Diretor de Rel açõ es Int ernaci onais e Co orden ad or do Pr oj et o de In ov açã o Tecn ológic a da CB IC Coordenação Alexandre Luis

Leia mais

ACEF/1516/14062 Decisão de apresentação de pronúncia

ACEF/1516/14062 Decisão de apresentação de pronúncia ACEF/1516/14062 Decisão de apresentação de pronúncia ACEF/1516/14062 Decisão de apresentação de pronúncia Decisão de Apresentação de Pronúncia ao Relatório da Comissão de Avaliação Externa 1. Tendo recebido

Leia mais

Ficha de Revisões nº6

Ficha de Revisões nº6 Escola Secu n dár i a com 3º Ci clo D. D i n i s Ano Lectivo 2008 / 2009 Matemática 9ºAno Turma: B Ficha de Revisões nº6 1. O Scr abble é um j ogo em que os j ogador es t êm de r et ir ar, ao acaso, as

Leia mais

INSTITUIÇÃO DOM BOSCO DE ENSINO E CULTURA LTDA. (Idoboec) RELATÓRIO DE AUTOAVALIAÇÃO INSTITUCIONAL 2014

INSTITUIÇÃO DOM BOSCO DE ENSINO E CULTURA LTDA. (Idoboec) RELATÓRIO DE AUTOAVALIAÇÃO INSTITUCIONAL 2014 INSTITUIÇÃO DOM BOSCO DE ENSINO E CULTURA LTDA. (Idoboec) RELATÓRIO DE AUTOAVALIAÇÃO INSTITUCIONAL 2014 Tupã/SP/2015 RELATÓRIO DE AUTOAVALIAÇÃO INSTITUCIONAL 2015 DA INST ITUIÇÃO DOM BOSCO DE ENSINO E

Leia mais

Medley Forró 3. 6 j œ œ œ. & bb b b œ œ œ nœ. & b b b b. œ œ œ œ bœ. œ œ. œnœ. œ bœ. œ œ œ œ. œ œ œ. & bb b b. œ œ. œ œ. œ œ. . œ.

Medley Forró 3. 6 j œ œ œ. & bb b b œ œ œ nœ. & b b b b. œ œ œ œ bœ. œ œ. œnœ. œ bœ. œ œ œ œ. œ œ œ. & bb b b. œ œ. œ œ. œ œ. . œ. 22 27 b b b 2 7 b b b 42 47 5 b b b 72 q = 100 4 2 12 B 6 A Eu vou mos -ta pa vo - cês co-mo se dan-ça'o ba -ião e quem qui - se a - pen -de é fa -vo pes - ta a -ten-ção b mo-e -na che-gue pa cá bem un

Leia mais

contratar uma empresa de LIMPEZA E CONSERVAÇÃO

contratar uma empresa de LIMPEZA E CONSERVAÇÃO Sai a omo contratar uma empresa de LIMPEZA E CONSERVAÇÃO Está ada vez mais omum as emp esas te ei iza em o se viço de limpeza e onve sação. Te uma emp esa ue uide em desta estão é um a ilitado pa a uem

Leia mais

RELATÓRIO & CONTAS 2014

RELATÓRIO & CONTAS 2014 RELATÓRIO & CONTAS 2014 Í N D I C E 1. Enquadram ent o Setorial 2 2. Produç ão 5 3. Manutenç ão 6 4. R ec urs os H uman os 7 5. Pers petiva Futura 8 6. R ef erênc ias 9 7. O utras Inf ormaç ões 9 8 Prop

Leia mais

patrícia reis amor em segunda mão

patrícia reis amor em segunda mão amor em segunda mão 1. júlia No box ao la do, mes mo no mu ro de ci men to estra ga do, jun to ao bo cal da água, o ga to cinzento, preto e ama re lo sem no me, dor me com o sos se go de um raio de sol.

Leia mais

Li ga de Ami gos do Ce bi

Li ga de Ami gos do Ce bi Es ta tu tos Li ga de Ami gos do Ce bi Ca pí tu lo I Da de no mi na ção, na tu re za e fins Art. 1º 1 - A LI GA DE AMI GOS DO CE BI, do ra van te de sig na da por LAC, é uma As so cia ção de di rei to

Leia mais

API - Módulo Risk Manager

API - Módulo Risk Manager API - Módulo Risk Manager Completed Responses 21 Partial Responses 0 Survey Visits 39 Q1 Data de preenchimento deste feedback: Answered: 0 Skipped: 21 No Response Q2 Nome: Answered: 21 Skipped: 0 1. Anônimo

Leia mais

ACÓRDÃO. O julgamento teve a participação dos Desembargadores JACOB VALENTE (Presidente), TASSO DUARTE DE MELO E SANDRA GALHARDO ESTEVES.

ACÓRDÃO. O julgamento teve a participação dos Desembargadores JACOB VALENTE (Presidente), TASSO DUARTE DE MELO E SANDRA GALHARDO ESTEVES. Regi s t r o: 2013. 0000453063 ACÓRDÃO Vistos, relatados e discutidos estes autos de Apelação nº 0046956-33.2006.8.26.0562, da Comarca de Santos, em que é apelante ASIA SHIPPING TRANSPORTES INTERNACIONAIS

Leia mais

10.1 Objetivos, Conceitos e Funções. Os obje ti vos prin ci pais do con tro le orça men tá rio são: Responsabilidade pelo Controle Orçamentário

10.1 Objetivos, Conceitos e Funções. Os obje ti vos prin ci pais do con tro le orça men tá rio são: Responsabilidade pelo Controle Orçamentário Capítulo 10 Controle Orçamentário Essa etapa acon te ce após a exe cu ção das tran sa ções dos even tos eco nô mi cos pre vis - tos no plano orça men tá rio. Não se con ce be um plano orça men tá rio sem

Leia mais

Quero um Novo Lar پ0 3 پ0 3 پ0 3 پ0 3 پ0 3 پ0 0 پ0 0 پ0 3پ0 0 پ0 3 پ0 0

Quero um Novo Lar پ0 3 پ0 3 پ0 3 پ0 3 پ0 3 پ0 0 پ0 0 پ0 3پ0 0 پ0 3 پ0 0 1 3 پ0 7 _ پ0 7 _ پ0 7 _ & 4 7 A. ز E 7 1 j j پ0گ7? 4 n #_ n _ L? Mi - nha ca -sa e -ra ve - ha nپ0ٹ0o po - di - a su - por - tar پ0ˆ7. _ eu me 4 پ0 7 پ0 8 & E 7 G 6 /A A _.. nnn_ n پ0ˆ7_ j j j j G j پ0گ7

Leia mais

T e c n o l o g i a g e r a n d o v a l o r p a r a s e u n e g ó c i o w w w. s o f t c a s e n e t. c o m. b r ERP CASE

T e c n o l o g i a g e r a n d o v a l o r p a r a s e u n e g ó c i o w w w. s o f t c a s e n e t. c o m. b r ERP CASE T e c n o l o g i a g e r a n d o v a l o r p a r a s e u n e g ó c i o w w w. s o f t c a s e n e t. c o m. b r ERP CASE ERP CASE UM SISTEMA SEGURO UMA FERRA MENTA INDIS PENSAVEL Cada unidade tem suas

Leia mais

Feedback - Cursos do Módulo Risk Manager

Feedback - Cursos do Módulo Risk Manager Feedback - Cursos do Módulo Risk Manager Q1 Nome, Sobrenome Nome Sobrenome 1. Marcos Peralt a 2. Luiz Buonanat o 3. SERGIO MANOEL 4. Gabriel Bast os 5. Daniel Mat os 6. f ernando perrelli 7. marcelo CREAZZO

Leia mais

Feedback - Cursos do Módulo Risk Manager

Feedback - Cursos do Módulo Risk Manager Feedback - Cursos do Módulo Risk Manager Q1 Nome, Sobrenome Nome Sobrenome 1. marcos sat oru okamura 2. sergio manoel Q2 Qual o seu e-mail? 1. mokamura@modulo.com 2. sergio.manoel@modulo.com Q3 Sobre qual

Leia mais

Estratégico. III Seminário de Planejamento. Rio de Janeiro, 23 a 25 de fevereiro de 2011

Estratégico. III Seminário de Planejamento. Rio de Janeiro, 23 a 25 de fevereiro de 2011 Estratégico III Seminário de Planejamento Rio de Janeiro, 23 a 25 de fevereiro de 2011 G es tão Em pre sa rial O rie nta ção pa ra om erc ado Ino vaç ão et

Leia mais

œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ αœ œ œ œ œ œ œ œ Υ Β œ œ œ œ αœ

œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ œ αœ œ œ œ œ œ œ œ Υ Β œ œ œ œ αœ ANEXO 12 - TRANSCRIÇÃO DO OFÍCIO «FESTA DE STA. MAFALDA V.» P-AR Res. Ms. 017 Ad Vésperas -Antífona - Modo VII - fl. 003r Copista: Fr. Rodrigues das Dores Transcrição: Cátia Silva Al - le - lú - ia, al

Leia mais

Ma nual Ouro Negro. Manual Operaci onal RI GNER. [ Di gite seu endereço] [Di gite seu tel efone] [ Di gite seu endereço de e mail]

Ma nual Ouro Negro. Manual Operaci onal RI GNER. [ Di gite seu endereço] [Di gite seu tel efone] [ Di gite seu endereço de e mail] RI GNER Manual Operaci onal Gensys Geni us System Manual Ouro Negro- Versão 2. 1 E- mail: docu ment acao@geni usnt. co m- Tel efone: (71) 3503-1999 Ma nual Ouro Negro [ Di gite seu endereço] [Di gite seu

Leia mais

CRIMES AMBIENTAIS: SURSIS PROCESSUAL, PENAS ALTERNATIVAS E DOSIMETRIA

CRIMES AMBIENTAIS: SURSIS PROCESSUAL, PENAS ALTERNATIVAS E DOSIMETRIA CRIMES AMBIENTAIS: SURSIS PROCESSUAL, PENAS ALTERNATIVAS E DOSIMETRIA * I INTRODUÇÃO. II SURSIS PROCESSUAL. III PENAS ALTERNATIVAS. IV ESCOLHA E APLICAÇÃO DE PENAS (do si me tria). V CONCLUSÃO. I. INTRODUÇÃO

Leia mais