Anda di halaman 1dari 9

2017628 ArtigoClubeDelphi58Anliseorientadaporobjetos

www.devmedia.com.br
[versoparaimpresso]
Linkoriginal:http://www.devmedia.com.br/articles/viewcomp.asp?
comp=12404

Artigo Clube Delphi 58 - An


lise orientada por objetos
Artigo da Revista Clube Delphi Edio 58.

Receba notificaes :)
EsseartigofazpartedarevistaClubeDelphiEdio58.
Cliqueaquiparalertodososartigosdestaedio

AnliseOrientadaporObjetos
Omundocomoele!

Nasedies50,51e52mostreicomooparadigmadeprogramao

orientadaporobjetos(OOPObjectOrientedProgramming)podesignificar

umamelhororganizao,planejamento,desenvolvimentoemanutenode

umaaplicao.Porm,programarOOsemumprojeto(design)OOpodeser

umatarefadifcil,levandoaumaimplementaodeficiente,semos

benefciosdemdioelongoprazoesperadosdaOO.

http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=12404 1/9
2017628 ArtigoClubeDelphi58Anliseorientadaporobjetos

Eparaobterumbomdesign(modelodeobjetos)precisamosdeummtodo

deanliseadequado,ouseja,orientadoporobjetos.Semumavisode

mundoOO,derivarumprojetoparaumaboaimplementaoOOtornaseum

enormedesafio,senointil.Assim,nasprximasedies,mostrareios

princpiosfundamentaisdaOOAD(ObjectOrientedAnalysisandDesign),que

naturalmentelevamaumaboaOOP.

Omaterialapresentadoserumasntesedediversasmetodologias,mash

muitotempotenhousadopreferencialmenteaabordagemsugeridapeloDr.

PeterCoad,aquemtenhomuitoaagradecer,tantopelaOOADquantopela

metodologiagilconhecidacomoFDD(FeatureDrivenDevelopment).

AntesdaAnliseOO

Avisodemundoorientadaporobjetosofereceumexcelenteparadigma

paraoentendimentodeumdeterminadocontextoousituao,denominado

domniodoproblema.Anteriormente,doisoutrosenfoqueserammuito

comuns:oenfoquefuncionaleoenfoquededados.

Noenfoquefuncionaldecompeseodomniodoproblemadeacordocom

Receba notificaes :)
suasfunes,algoritmoseprocedimentos.Osdadosrecebemumtratamento

secundrio,svezesemformaderepositrios(arquivos),outrasvezes

simplesmentefigurandoentreasoperaes.Doisdiagramassocomumente

usadosparamodelagem:

DHF(DiagramaHierrquicodeFunes):mostracomoosmdulos

estoorganizadoseconectados,seguindoumahierarquia

arquiteturalefuncional

Fluxograma:demonstradeformagrficaofluxodeoperaesde

umdeterminadoalgoritmo.

Noenfoquededadoshumaenormepreocupaoemmostraroque

acontececomosdadosnamedidaemqueessestransitamentreasdiversas

bolhasdeprocessamento.Asfunes,quandonecessrio,soexplicitadas

separadamente.Osdoisdiagramasmaisusadosso:

http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=12404 2/9
2017628 ArtigoClubeDelphi58Anliseorientadaporobjetos

DFD(DiagramadeFluxodeDados):mostraasbolhasde

processamento,osdutosdedadoseosrepositrios,normalmente

seguindoumesquemaderefinamento,ondeasbolhasprincipais

sodetalhadas(explodidas)emoutrosdiagramas,formandouma

hierarquiadediagramas

DER(DiagramadeEntidadeRelacionamento):demonstraa

estruturadasentidadespresentesnodomniodoproblemaeos

relacionamentosexistentesentreelas.Geralmenteusadopara

derivaroscriptparaumbancodedadosrelacional.

Umpoucodehistria

interessantenotarque,historicamente,dadosefunessempreforam

consideradosseparadamente,desdeaarquiteturadohardwareatmuitas

linguagensdeprogramaonoOO.Nohardware,foiohngaroJohannLouis

vonNeumann,porvoltade1945,quemsugeriuquetantoosdadosquantoos

programasfossemarmazenadosnamesmamemria.Oscomputadoresque

usamoshojeaindausammuitodaarquiteturavonNeumann(pronunciase

Receba notificaes :)
algocomofonniman).

Nomundodosoftware,osconceitosOOjcomearamaaparecerporvolta

de1959.Algunsanosdepois,alinguagemSimula67apareceujustamente

parafacilitarsimulaes,oferecendovriascaractersticasdeorientaopor

objetos.Smalltalkfoidesenvolvidanasdcadasde1970e1980e

consideradaumadasmaispurasecompletaslinguagensOO.C++apareceu

nadcadade1980,eEiffel,porvoltade1985.Javasapareceuem1995e

C#,em2000.

Eoquetudoissotemavercomvoc?Bom,talvezsejasurpresapara

muitos,masem1989aBorlandlanouoTurboPascal5.5comObjectPascal,

comextensesparaOOP!Umnovotipodedadoschamadoobjectpermitiaa

definiodeumregistroquepossua,almdevariveis,declaraesde

funeseprocedimentos.Ediferentementedeumrecord,umobjectpodia

herdardeumoutroobject!OmundoOOestavaabertoparaospascaleiros!

http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=12404 3/9
2017628 ArtigoClubeDelphi58Anliseorientadaporobjetos

Cincoanosevriasmelhoriasdepois,aBorlandfezumgrandefavorao

mundoelanouoDelphi1.0,ondeoobjectvirouclass(paradesfazerum

dilemafilosfico)!Agoravivemosaexperincia.NETecomodecostume,a

BorlandsalvaodiaelanaoDelphifor.NET!AexperinciaOOserelevada

aumnvelaindamaior,suportadaporumambientedeexecuototalmente

OO,aCLR(CommonLanguageRuntime),queamquinavirtualdo.NET.

Nesses15anos,aprendemosaprogramarOO,criarcomponentes,construir

hierarquiaseorganizarmelhorasaplicaes.Mascreioqueaindanotemos

aplicadoaOOondeelapodeajudarmais(eparaaqualfoioriginalmente

concebida):entenderesimularomundoaonossoredor!

Afinal,oqueAnliseOO?

ummtododeanlisequeexaminaosrequisitosapartirdaperspectiva

dasclasseseobjetosencontradosnovocabulriododomniodoproblema,

enfatizandoaconstruodemodelosdomundorealusandoumavisode

mundoorientadaporobjetos.

ConstruirumaVCLrealmenteengenhosoeeusoumuitogratoporisso!Mas

Receba notificaes :)
equantoaplicao,aodomniodoproblema?Continuamosaprogramarnas

decomposiesfuncionaise/ouorientadaspelosdados...

Ecomomudar?Comocomeardenovo?Felizmentenotodifcilquanto

seimagina.sprestarmosatenoemcomoascrianasaprendem...

ATeoriadaClassificaodizquenacompreensodomundorealcostumamos

empregartrsmtodos:

Diferenciao,baseadanaexperinciadecadaum(aspessoaseos

outrosobjetos)

Distinoentreotodoesuaspartes(apessoaeseusrgose

tecidos)

Formaode,edistinoentre,asdiferentesclassesdeobjetos

(classesdepessoas,classesdeveculos,etc.).

http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=12404 4/9
2017628 ArtigoClubeDelphi58Anliseorientadaporobjetos

Assim,muitodoquesabemoshojeseguiuessametodologia.Primeirovemos

ummontedeobjetospassandoanossafrente.Daconseguimosdistinguir

determinadosgrupos,atravsdesuassimilaridadesediferenas.Umpouco

adiantecomeamosaperceberquecertascoisaspossuemoutrascoisas

dentrodelas(quemnuncadesmontououquebrouumbrinquedoouum

rdio?).Depoiscomeamosadarnomeaosgruposquemontamos,

classificandoos.Adoprovavelmenteseguiuesseprocessoemseuprimeiro

emprego(leiaemGnesis2:1920)!

RobertKiyosaki,autordePaiRico,PaiPobre,sugerequeintelignciaa

capacidadedefazerdistinesmaisrefinadas.Assim,podemosdizerque

umaanlisemelhorqueoutrapelaformacomquefazemasdistines.

Umanalistamaisinteligentequeoutroporcausadesuacapacidadede

observaoedistino,quelevaaumamelhorespecificao.

Boasnotcias,certo?Sejfazemosissoinstintivamente,serapenasuma

questodepraticardeformametdicaehabitualeteremosdadoumpasso

significativoparaadotaraOOAemnossosprojetos!

Receba notificaes :)
ConceitosFundamentais

Aorientaoporobjetosestbaseadaemconceitosessenciais,quea

distinguedeoutrosparadigmas.Eelesnosorestritosprogramao,mas

estendemseanliseeaoprojeto.Entreoutros,osprincipaisso:

Abstrao:princpiodeignorarosaspectosdeumassuntonorelevantepara

opropsitoemquesto,tornandopossvelumaconcentraomaiornos

assuntosprincipais.Pensenoobjetopessoa.Sevocestivercriandoum

sistemaparaumhospital,provavelmenteirconsideraraspectostaiscomo

peso,alturaetiposangneo.Maselesseriamnecessriosnumavdeo

locadora?

http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=12404 5/9
2017628 ArtigoClubeDelphi58Anliseorientadaporobjetos

Encapsulamento:princpiodequecadacomponentedoprogramadeveconter

umanicadecisodeprojeto,isso,umagrupamentodeaspectos

relacionadosaumaidiaouentidade.Almdisso,ainterfaceparacada

mdulodefinidadeformaarevelaromenospossvelsobreseu

funcionamentointerno,implementandooocultamentodeinformao.Assim,

sefornecessrioalteraralgumacoisadentrodacpsula,omundoexterior

noprecisa(oupelomenosnodeveriaprecisar)seralteradoporcausa

disso.Nossoobjetopessoa,porexemplo,agrupaasinformaese

comportamentosdeumserhumano,enquantoescondecomoissofeito.

Identidade:umobjetodistinguesedeoutropelosimplesfatodeexistir.Sua

identidadeindependedosvaloresdeseusatributos.Podemosterdoisobjetos

idnticos(doisgmeos,porexemplo),masaindaassimsabemosqueso

doisobjetosindependentes.Aoalocarmosdoisobjetosnamemriado

computador,emborapossamtertodososatributosiguais,seusendereosde

memriasodiferentes.Doisregistrosidnticosemumatabeladiferenciam

sepelasuachaveprimrianica.

Receba notificaes :)
Herana:mecanismoparaexpressarasimilaridadeentreclasses,

simplificandoadefiniodeclassesiguaisaoutrasquejforamdefinidas

(reutilizaodecdigo).Representageneralizaoeespecializao,tornando

explcitososatributoseservioscomunsemumahierarquiadeclasses.Um

empregadoumapessoa.Portanto,sedefinimosumaclassecomos

atributoseserviostpicosdeumapessoa,podemosaproveitartudoisso

paraespecificarumempregado,concentrandonosagoraapenasnoqueele

temdediferente(normalmenteamais).

http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=12404 6/9
2017628 ArtigoClubeDelphi58Anliseorientadaporobjetos

Polimorfismo:capacidadedeumamesmamensagemserentendidae

executadadeformadiferenteporobjetosdistintos.Peaaumapessoapara

cantar.Cadatipodepessoairresponderaopedidodeformadiferente

(algumasmelhoresqueoutras).Polimorfismotambmapossibilidadede

manipularobjetosmaisespecializadoscomosefossemobjetosmais

genricos.Sevocpediraumempregado,umgerenteouumcantor,para

cantar,vocnoprecisasaberaprioriquetipodepessoaele,pois

cantarestdefinidonaclassePessoaemesmoqueosindivduospertenam

aclassesmaisespecializadas,porheranaelescontinuamsendodaclasse

Pessoae,portanto,conseguemresponderaopedidoparacantar.Os

programasdecalourosnaTVatestamissodeformairrefutvel!

Associao:unioouconexodeidias.Agruparcertascoisasqueacontecem

emalgumpontonotempoousobcircunstnciassimilares.Pessoasassociam

separaosmaisdiversosfins:sociedadecomercial,esportes,

relacionamentos,projetos,etc.Adefiniodotipodeassociaobusca

espelharoqueacontecenavidareal.Pessoastambmestoassociadasa

Receba notificaes :)
coisas(carros,livros),lugares(imveis,aeroportos),servios(emprstimos,

exames),etc.Almdasassociaessimples,tambmpodemoster

composies(carro=motor+rodas)eagregaes(umcursoumagregado

dedisciplinas).

Mosobra?

Ento,vamoscomearatoaguardadaanliseOO!Masantestemosque

arranjarumproblema,umcontexto,umdomniodenegcios.Quetala

vdeolocadoracitadaacima?No,issoestmuitomanjado...Controle

acadmico?Boatentativa...Umhospitalzinho?Outrahora...

Enquantonodecido,saibaquenoimportaqualodomniodoproblema,

fatalmenteencontraremosquatrotiposbsicosdeobjetosemtodoseles:

Pessoas,lugaresoucoisas:essessoosobjetosmaisfceisdeobservar,

poissofsicos.Mesmoseforementidadesabstratas,peloprprioestudodo

processodenegciosorapidamentedetectados

http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=12404 7/9
2017628 ArtigoClubeDelphi58Anliseorientadaporobjetos

Momentosouintervalos:soeventosqueocorremnoprocessorealeque

precisamserregistrados.Oeventopodeserinstantneo(umavenda,um

depsito)ouocorrerduranteumintervalodetempo(umalocao,uma

viagem)

Papis:geralmenteaspessoas,lugaresoucoisasparticipamdoseventos

desempenhandoalgumtipodepapelespecfico.Porexemplo,umapessoa

participadeumavendacomoclienteouvendedor.Umaeroportopode

desempenharopapeldedestino,origemouescaladeumvo

Descries(tipocatlogo):quandoumacoisaoulugarpossuiumadescrio

razoavelmenteconstante,essadescriopodeficarseparadadoobjetoreale

serreutilizadaporoutrosobjetos.Umcarrotemsuaplaca,corenmerode

chassi,massuadescriogeral(nmerodeportas,potncia,etc.)podeficar

emumcatlogoreutilizvelpordiversoscarrosdomesmomodelo.

Squatro?Claro,possvelquevocencontreumououtrodesviodessa

classificaogeral,mastenhaissocomobaseevseacostumandocoma

idia.Issopodelheeconomizarmuitotemponahoradeanalisareprojetar!

Receba notificaes :)
Essesquatrotiposbsicossochamadosdearqutipos.

Ah,sim!Nossodomniodenegcio...Bom,nosprximosartigos

desenvolveremosumaanlise,projetoeprogramaodeumaaplicaoque

nospossibilitecontrolaranossarededeestacionamentosdeveculos,a

OOPark.Eladonadosmelhorespontosdacidadeeoferecealgunsservios

adicionaisparaosclientes,masprecisadeumaboaaplicaoquelheajude

amelhorartantooatendimentoaosfreguesesquantoagestodonegcio.

LiodeCasa

Penseepesquisesobreoassunto.Faavisitasaalgunsestacionamentose

perguntecomofuncionam.Atentaogrande,mastentenocriartabelas

ouformulrios,mesmoquementalmente.Aprendasobreoprocessode

negcio.Afinal,estamosnafasedeanlise,OK?

http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=12404 8/9
2017628 ArtigoClubeDelphi58Anliseorientadaporobjetos

Suatarefaaquiidentificarosobjetosparticipantesdosistemareal,suas

caractersticas,comportamentoserelacionamentosprincipais.Notente

detalharmuitoagora.Faremosissoquandoestivermosprojetando.Coma

listadeobjetosemmos,tenteclassificloscomrelaoaosquatro

arqutiposapresentados.Vocstmtrintadiasparaterminar.Quemno

fizeraliodecasaficardecastigo,poisnoaprendernaprtica!

Umgrandeabraoeataprximaaula!Ops,artigo...

Links

www.pcoad.com

SitepessoaldoDr.PeterCoad

www.jot.fm

JournalofObjectTechnology.Revistaeletrnicasobreatecnologiadeobjetos

www.oopsla.org

SiteoficialdaconfernciamundialdeOO(ObjectOrientedProgramming,

Systems,LanguagesandApplications)

Receba notificaes :)
www.featuredrivendevelopment.com

SiteoficialdaFDD

br.groups.yahoo.com/group/gufdd

GrupodeusuriosdaFDDemportugus

porAdailMuniz
Delphinaveia(!)

http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=12404 9/9

Anda mungkin juga menyukai