Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Campus Baixada Santista Informtica com nfas! !m G!st"o d! N!#$cios G!st"o da %ua&idad!
Andr Pina Crislayne Ferreira da Silva Giuliana DOrazio ar!ues "o#o Diego da $o%&a 'ima (i%tor de Souza Couto
Santos )**+
Porm0 neste semin3rio manteremos o fo%o em C e ASO CFF*G0 a.ordando uma nova metodologia de desenvolvimento de softwares0 o ;5treming Programming =NP>/
Nvel 1: Inicial Oo n:vel C de maturidade0 os %i%los de %onstru2#o de softwares n#o foram devidamente -ro1etados0 assim n#o asseguram !ue este este1a de a%ordo %om os -adr8es e es-e%ifi%a28es de -razo0 !ualidade e %usto e &3 muita desorganiza2#o/ O su%esso nestas organiza28es de-ende da %om-et7n%ia e &ero:smo dos fun%ion3rios e n#o no uso de -ro%essos estruturados/ O imediatismo %ria um am.iente %a@ti%o0 o n:vel C de maturidade raramente -roduz um -roduto ou servi2o !ue fun%ioneD assim0 fre!uentemente eles e5%edem o or2amento e o -razo de entrega dos -ro1etos/ Nvel 2: Repetitivo Oo n:vel ) de maturidade0 o desenvolvimento do software re-etido/ O -ro%esso -ode n#o se re-etir -ara todos os -ro1etos da organiza2#o/ A organiza2#o -ode usar ferramentas de Ger7n%ia de Pro1etos -ara ma-ear os %ustos e o -razo do -ro1eto/ A ado2#o de um -ro%esso de desenvolvimento a1uda a garantir !ue -r3ti%as e5istentes s#o utilizadas em momentos de estresse0 e !uando estas -r3ti%as s#o adotadas0 os -ro1etos de%orrem e s#o geren%iados de a%ordo %om o -lane1amento ini%ial/ O status do -ro1eto e os servi2os entregues s#o vis:veis ao geren%iamento =-or e5em-lo? -oss:vel a visualiza2#o de mar%os do -ro1eto e o trmino da maioria das tarefas>/ 9%ni%as de geren%iamento de -ro1etos s#o esta.ele%idas -ara ma-ear %ustos0 -razos0 e fun%ionalidades/ Ainda &3 um ris%o signifi%ante de e5%eder os %ustos e estimativas de -razo de desenvolvimento/ Nvel 3: Definido A organiza2#o -ossui um %on1unto de -ro%essos -adr8es0 os !uais s#o a .ase do n:vel J/ ;stes est#o esta.ele%idos e s#o mel&orados -eriodi%amente/ ;stes -ro%essos -adr8es s#o usados -ara esta.ele%er uma %onsist7n%ia dentro da organiza2#o/ Pro1etos esta.ele%em seus -ro%essos definidos -elo %on1unto de -adr8es -ro%essuais da organiza2#o/ O geren%iamento da organiza2#o esta.ele%e os o.1etivos dos -ro%essos .aseado no %on1unto de -adr8es -rHdefinidos e garante !ue estes o.1etivos se1am en%amin&ados de forma a-ro-riada/ 4ma %r:ti%a distin2#o entre os n:veis ) e J a des%ri2#o dos -ro%essos e -ro%edimentos/ Oo n:vel )0 os -adr8es0 des%ri28es de -ro%essos e -ro%edimentos -odem ser .em diferentes em %ada instPn%ia es-e%:fi%a do -ro%esso =-or e5em-lo0 em um -ro1eto -arti%ular>/ Oo n:vel J0 os -adr8es0 des%ri28es de -ro%esso e -ro%edimentos -ara o -ro1eto s#o guiados -elo %on1unto -adr#o de -ro%essos da organiza2#o/
A norma SCCICE
M fo%ada e5%lusivamente em software/ 9rataHse de um $elat@rio 9%ni%o =dividido em B -artes>0 n#o uma norma interna%ional mas -ossui um modelo de refer7n%ia !ue a .ase da Avalia2#o dos Pro%essos/ ;la d3 su-orte a todo %i%lo de vida do software/
Croc!ssos
Cat!#orias d! Croc!sso
C&i!nt!(Forn!c!dor .Costum!r(Supp&i!r1
Si#&a
CUS ! CUS " CUS # CUS $ CUS % &'( ! &'( " &'( # &'( $ &'( % &'( ) &'( * SUP ! SUP " SUP # SUP $ SUP % SUP ) SUP * SUP + MA' ! MA' " MA' # MA' $ ,R( ! ,R( " ,R( # ,R( $ ,R( %
Croc!ssos
Ad!uirir software Geren%iar ne%essidade do %liente Forne%er software O-erar o software Promover servi2o ao %liente Desenvolver re!uisitos e -ro1eto do sistema Desenvolver re!uisitos de software Desenvolver -ro1eto de software Am-lementar o -ro1eto do software Antegrar e testar o software Antegrar e testar o sistema anter o sistema e o software Desenvolver do%umenta2#o Desem-en&ar a ger7n%ia de %onfigura2#o ;5e%utar a garantia da !ualidade ;5e%utar a verifi%a2#o dos -rodutos de tra.al&o ;5e%utar a valida2#o dos -rodutos de tra.al&o ;5e%utar revis8es %on1untas ;5e%utar auditorias ;5e%utar resolu2#o do -ro.lema Geren%iar o -ro1eto Geren%iar a !ualidade Geren%iar ris%os Geren%iar su.%ontratantes Construir o neg@%io Definir o -ro%esso el&orar o -ro%esso Prover re%ursos treinados Prover infraHestrutura organiza%ional 6
En#!n?aria
Apoio .Support1
G!rDncia .-ana#!m!nt1
Or#ani=a+"o
Cont!xtos d! Uti&i=a+"o8
Mel oria !ontn"a: avalia2#o identifi%a o-ortunidades de mel&oria/ Feita -or organiza28es !ue .us%am mel&orias internas/ Determina#$o da !apacidade: avalia2#o identifi%a ris%os %om o forne%edor/ Feita -or ter%eiros ao realizarem %ontratos de -resta2#o de servi2os ou forne%imento de -rodutos/
Dim!ns<!s8
Dim!ns"o d! Croc!sso8 se limita Q verifi%a2#o da e5e%u2#o ou n#o dos -ro%essos/ Dim!ns"o d! Capacidad!? -ermite uma avalia2#o detal&ada dos -ro%essos e5e%utados -or uma organiza2#o/ 9ra.al&a %om? )1 '-veis de capacidade ,1 Atributos de Processo
)1 NE7!is d! Capacidad!
Incomp&!to8 Pro%esso n#o e5iste ou fal&a em atingir seus o.1etivos/ Ex!cutado8 Pro%esso geralmente atinge os o.1etivos0 -orm sem -adr#o de !ualidade e sem %ontrole de -razos e %ustos/ G!r!nciado8 Pro%esso -lane1ado e a%om-an&ando0 e satisfaz re!uisitos definidos de? .ua/idade0 pra1o e custos Esta/!&!cido8 Pro%esso e5e%utado e geren%iado %om uma ada-ta2#o de um -ro%esso -adr#o definido0 efi%az e efi%iente/ Cr!7isE7!&8 Pro%esso e5e%utado dentro de limites de %ontrole definidos e %om medi28es detal&adas e analisadas/ Otimi=ando8 Pro%esso mel&orado %ontinuamente de forma dis%i-linada/
,1 Atri/utos d! Croc!sso
)*) Ex!cu+"o8 O -ro%esso atinge os o.1etivos es-erados/ ,*) Administra+"o do Croc!sso8 O.1etivos do -ro%esso s#o identifi%ados e sua e5e%u2#o -lane1ada/ $es-onsa.ilidades s#o atri.u:das0 a infraHestrutura forne%ida e a %omuni%a2#o entre os envolvidos geren%iada/ ,*, Administra+"o do Croduto8 Produtos do -ro%esso s#o identifi%ados e do%umentados0 re!uisitos -ara eles s#o definidos e revis8es e a1ustes s#o efetuados %onforme ne%ess3rio/ 2*) D!fini+"o8 4m -ro%esso -adr#o definido -ara a organiza2#o/ 2*, Imp&!m!nta+"o8 Os elementos identifi%ados em J/C s#o -ostos em -r3ti%a/ 5*) -!di+"o8 ;sta.ele%emHse o.1etivos !uantitativos0 .em %omo as medi28es a serem realizadas e a fre!<7n%ia de sua a-li%a2#o/ Os resultados s#o %oletados0 analisados e -u.li%ados na organiza2#o/ 5*, Contro&!8 ;sta.ele%emHse limites de varia2#o -ara as medidas e a28es %orretivas -ara tratar as %ausas de desvios em rela2#o a esses limites/ 3*) Ino7a+"o8 O.1etivos de mel&oria s#o esta.ele%idos/ O-ortunidades de mel&oria s#o identifi%adas/ 3*, Otimi=a+"o8 O desem-en&o do -ro%esso medido e o im-a%to das mel&orias -ro-ostas %om-arado %om os o.1etivos es-erados/ A im-lementa2#o de mudan2as geren%iada/
NE7!& d! Capacidad!
) ,
& % o" & % o" &
2
& & & % o" & % o" &
5
& & & & & % o" & % o" &
3
& & & & & & & % o" & % o" &
% o" &
A POG surgiu de uma evolu2#o do famoso Ka%al&au0 muito usado nas d%adas de X* a Y* e muito .em guardada -elos -rogramadores da -o%a/ Os -rin%:-ios da Programa2#o Orientada a Gam.iarra s#o .astante sim-les? S! funcionaH !nt"o t c!rto H A%o-lado ou n#o0 t5t ou s!l 0 mil fun28es ou C*0 design -atternsZ Oada disso tem valor -ara o usu3rio0 !ue s@ -re%isa de um software fun%ional/ O termo Res%al3velS fala%ioso/ -0 Ia0 H Programador es-erto0 se es-erto mesmo ade-to do y Iay/ Se vo%7 est3 %om d,vidas0 fa2a do seu 1eito -ois se der merda vo%7 !uem vai se foder/ -urp?0 H Para lidar %om ur-&y e seu e5r%ito s@ %om POG/ ur-&y sagaz e ligeiro0 t3 s@ es-erando vo%7 dar mole/ Oada mais r3-ido do !ue uma gam.iarrazin&a -ra a%ertar o !ue ur-&y destr@i/ D!ix! o aman?" para aman?" H uitos -rogramadores atrasam -ro1etos alegando !ue a demora de uma im-lementa2#o -ara seguirem regras de 6design -atterns ou %oment3rios !ue a1udar#o a outros desenvolvedores a entender mel&or o %@digo/ Dei5e o aman&# -ara o ot3Z errZ Com!ntrios s"o para amador!s H 4m desenvolvedor deve ser treinado -ara ser fluente na linguagem de -rograma2#o usada sem -re%isar de %oment3rios0 inde-endente da %onse!<ente ru:na de sua vida so%ial/ Asso tam.m %on&e%ido %omo stimo sentido/ EficiDncia prim!iro H ;vite es%rever em v3rias lin&as o !ue -ode ser feito em uma/ F6 !m D!us H A inform3ti%a levianamente definida %omo %i7n%ia e5ata0 !uando esta na verdade uma %i7n%ia &ol:sti%a/ (3rios %asos reais de divina Provid7n%ia foram testemun&ados em am.iente fiis aos -rin%:-ios POG0 es-:ritos ruins foram e5or%isados0 e a -az instalouHse gra2as a f dos gam.iarrizadores/ )22@ ?5J4r3 dud2 &o& H Quanto menos leg:vel0 mais res-eitado o %@digo / Conse!<entemente menos alterado ele 0 e mais est3vel o sistema fi%a/ A ocasi"o fa= o &adr"o H ;m determinados momentos n#o %onseguimos es%a-ar dela/
10
Para os mais antenados0 13 e5iste uma vers#o em ingl7s -ara !ue vo%7 -ossa im-ressionar seu %&efe0 a IOP ou IorVaroundHoriented -rogramming/
11
A ne%essidade de mel&orar o desem-en&o da e!ui-e no desenvolvimento de sistemas0 levou um gru-o de -rofissionais desenvolvedores de software a dis%utir so.re as -r3ti%as e teorias individuais !ue estava -resente na maioria dos -ro1etos de su%esso/ Parti%ularidades a -arte0 todos %on%ordaram !ue0 em suas e5-eri7n%ias -rvias0 um %on1unto de -rin%:-ios sem-re -are%iam ser res-eitados !uando os -ro1etos davam %erto/ 9odo esse estudo levou a desenvolver estudos so.re anifesto de desenvolvimento 3gil de software0 %omumente %&amado de anifesto 3gil/ 9al termo -assou a defender maneiras efi%azes de desenvolver software in%entivando %ada vez mais os integrantes de uma e!ui-e de desenvolvedores a se autoHau5iliarem e definirem novos valores? Andiv:duos e intera2#o entre eles mais !ue -ro%essos e ferramentas =n#o adianta ter @timos %om-utadores e softwares de desenvolvimento0 se n#o -ossui uma e!ui-e %on%isa %om es-:rito de %ola.ora2#o>D Software em fun%ionamento mais !ue do%umenta2#o a.rangente =em vez de in,meras -a-eladas !ue re%&eiam ordem de servi2o0 afastando %ada vez mais o %liente do %alor &umano de sua e!ui-e0 demonstrar -roduto e !ualidade sem-re em m#os fun%ionando ao seu %liente>D Cola.ora2#o %om o %liente mais !ue nego%ia2#o e %ontratos =ser o.1etivo no su-orte ao %liente0 %&egando %ada vez mais -r@5imo da ne%essidade em !uest#o>D $es-onder a mudan2as mais !ue seguir um -lano =-lanos de e5e%u2#o0 !ue -or vezes em e5agero0 fogem da realidade e -ou%o %on%luem ne%essidades da realidade>/ esmo &avendo valor nos itens Q direita0 valorizamos mais os itens Q es!uerda/ O anifesto 3gil foi estudado no final da d%ada de B* e %riado em )**C0 a mais %on&e%ida o eNtreme Programming0 tam.m %on&e%ida -ela a.revia2#o NP0 uma metodologia %riada -or Lent Ke%V tam.m no final dos anos B*/ O NP %onsiste em um %on1unto de -r3ti%as !ue valorizam alguns valores .3si%os/ Assim %omo NP0 e5istem outras metodologias %omo S%rum0 !ue tam.m -ossui suas -arti%ularidades e -r3ti%as0 defendendo mais valores/ 9odas as -r3ti%as rela%ionadas as metodologias 3geis s#o muitas vezes genri%as e -oss:veis de utilizaHlas em outros ti-os de -ro1etos e organiza28es0 mesmo !ue n#o ten&am nen&um v:n%ulo %om desenvolvimento de software/
12
13
14