Vous êtes sur la page 1sur 8

UML:DiagramadeSeqncia,DiagramadeAtividades,DiagramadeEstado DiagramadeAtividades Quandoserealizaumcasodeuso,devesedefinirosfluxosdeeventosqueorepresentam.Geralmente, umcasodeusocompostodeumfluxodeeventosprincipal,tambmchamadodefluxotimo,edos fluxosalternativos,conhecidostambmcomofluxosdeerrooufluxosexcepcionais.Apartirdetodos osfluxosdeeventosdeumcasodeuso,podeseconstruirodiagramadeatividadesquerepresentao casodeuso. Parailustraraconstruodeumdiagramadeatividades,podeseconsiderarocasodeusoSacar dinheiro, que integraria o software de um caixa 24h.

4h. Sacar dinheiro poderia ser composto dos seguintesfluxosdeeventos:

Fluxoprincipal 1. ousuriosolicitaosaquedodinheiro; 2. oterminalpedequeocartosejainserido; 3. ousurioinsereocarto; 4. oterminallocarto,verificaqueocartovlidoesolicitaasenha; 5. ousuriodigitaasenha; 6. oterminalavaliaasenhaeconstataasuavalidade.Oterminalsolicitaadigitaodaquantiaa sersacada; 7. ousuriodigitaaquantiadesejada; 8. oterminalverificaadisponibilidadedesaldo,autorizaosaque,liberaovalorsolicitadoe imprimeorecibodesaque. Fluxosalternativos Cartoinvlido 1. ousuriosolicitaosaquedodinheiro; 2. oterminalpedequeocartosejainserido; 3. ousurioinsereocarto; 4. oterminallocarto,determinaqueesteinvlidoeretornaaopasso2. Senhaincorreta 1. ousuriosolicitaosaquedodinheiro; 2. oterminalpedequeocartosejainserido; 3. ousurioinsereocarto; 4. oterminallocarto,verificaqueocartovlidoesolicitaasenha; 5. ousuriodigitaasenha; 6. oterminalavaliaasenhaeverificaqueelanovlida.Solicita,ento,queousurio digiteasenhanovamente.Apsaterceiratentativa,osistemabloqueiaocarto. Saldoinsuficiente 1. ousuriosolicitaosaquedodinheiro; 2. oterminalpedequeocartosejainserido; 3. ousurioinsereocarto;

4. oterminallocarto,verificaqueocartovlidoesolicitaasenha; 5. ousuriodigitaasenha; 6. oterminalavaliaasenhaeconstataasuavalidade.Oterminalsolicitaadigitaoda quantiaasersacada; 7. ousuriodigitaaquantiadesejada; 8. oterminalverificaquenohsaldosuficienteesolicitaumnovovalordeacordocomo saldoexistente. OdiagramadeatividadesparaosfluxosdeeventosdocasodeusoSacardinheiropodeservistona figura1.

Fig.1:Diagramadeatividadesparaocasodeuso"Sacar dinheiro".

DiagramadeSeqncia Odiagramadeseqncia,comooprprionomediz,apresentaumaseqnciadeeventosquedetermina ocomportamentodeumcasodeuso.Napartesuperiordodiagramasoapresentadososatoreseas classesdeanlisee,partindodestes,navertical,sodesenhadasaslinhasdevidadosobjetos. Nodiagramadeseqnciamostraseainterao entreobjetos comapreocupaodedocumentaros mtodosexecutadosaolongodotempo.Umdiagramadeseqnciapossuiduasdimenses:vertical, representandootempo;ehorizontal,representandoosdiferentesobjetos. De forma geral, para cada caso de uso, constrise um diagrama de seqncia principal e alguns diagramas de seqncia complementares. O diagrama principal descreve a seqncia normal de comunicaoentreosobjetoseosdiagramascomplementaresdescrevemasseqnciasdetratamento deerroseexcees. AUMLconsideradoistiposdemensagenstrocadasentreobjetos: 1. Mensagenssncronas:oobjetoqueenviouamensagemaguardaaconclusodoprocessamentoda mensagemfeitopeloobjetodedestino,paraentoprosseguirseufluxodeexecuo,ouseja,existe umsincronismorgidoentreosdoisobjetos.AnotaoUMLparaumamensagemsncronaade umsegmentoderetacomumasetacheia; 2. Mensagens assncronas: o objeto de origem envia a mensagem e prossegue seu processamento independentemente do tratamento da mensagem feito no destino. De forma geral, todas as comunicaesentreatoreseobjetossofeitasatravsdemensagensassncronas.AnotaoUML paraumamensagemassncronaadeumsegmentoderetacomumameiaseta. ParaocasodeusoCadastrarAluno,apresentadonafigura2,percebeusequeeramnecessriasduas classesdefronteira(CIntSecretriaeCIntSGBD),umaclassedecontrole(CctrlCadastrarAluno) eumaclassedeentidade(CAluno).

Fig.2:CasodeusoCadastrarAluno.

Afigura3apresentaasclassesnecessriasrealizaodocasodeusoCadastrarAluno.

Fig.3:ClassesnecessriasrealizaodocasodeusoCadastrarAluno.

OdiagramadeseqnciaparaocasodeusoCadastraralunopoderiaseraqueleapresentadonafigura 4.

Fig.4:Diagramadeseqnciarelativoaocasodeuso"Cadastraraluno".

DiagramadeEstados Osdiagramasdeestadopermitemespecificaradinmicadeumsistemae,paraisso,devemreuniro comportamento completo de uma classe em todos os casos de uso, ou seja, devese fazer um levantamentodetodososcasodeusoondeestaclasseparticipa.Destaforma,odiagramadeestados umadescrioglobaldocomportamentodosobjetosdestaclasseemtodoosistema. Osestadossorepresentadosgraficamenteporelipsesouretnguloscombordasarredondadaseas transiessorepresentadasporsegmentosderetasdirigidos.Umestadopodesercompreendidocomo ummomentonavidadeumobjeto,ondeesteseencontraemumadeterminadasituao.Jatransio deestadosoavanoqueumobjetofazaopassardeumestadoparaoutro. Osnomesdosestadosgeralmentesoidentificadoscomverbosnogerndio(p.ex.:Calculandovalor) ou no particpio (p.ex: Dados recebidos), sendo que aqueles estados com nomes no particpio geralmentepodemsereliminadospoissoopcionais. UmatransiodeestadospodepossuirumrtulocomasintaxeEvento(argumentos)[Condio]/

Ao, onde Eventoindicaonomedeumsinalrecebidopeloobjetoequehabilitaatransio, argumentossoosvaloresrecebidosjuntocomoevento,[Condio]umaexpressolgicaque deveserverdadeiraparaqueatransioocorrae/Aoindicaumclculoqueexecutadodurantea transio. Afigura5ilustraumdiagramadeestadoscomcincoestadosequatrotransies.

Fig.5:Exemplodediagramadeestados.

Umlaorepresentadoporumencadeamentocclicodeestadosetransiescontendoalgumaforma decontrolesobrearepetiodosciclos.Nafigura6,porexemplo,enquantoavariveldecontrolex tiver valor menor ou igual a 10, os estados Mostrando janela, Aguardando dados e Dados recebidossucederseo.

Fig.6:Exemplodediagramadeestadoscomlao(repetio).

Umaclusuladeenvioumaaodeenviodemensagemdoobjetoqueseestmodelandoparaalgum outroobjeto.Asmensagenspodemsersncronas(funes)ouassncronas(eventosdomouse,por exemplo). A notao para clusula de envio ^nome_do_objeto.nome_da_mensagem ou ^nome_da_classe.nome_da_mensagem,quandoo nome doobjeto nofor conhecido.A figura 7 mostra o diagrama de estados da classe CCtrlCadastrarAluno correspondente ao diagrama de seqnciadafigura4.Notase,porexemplo,oenviodamensagemmostrarJanela()aumobjetoda classe CIntSecretriaondeseaguarda,comoresposta,os dados referentes aoalunoque se quer cadastrar(clusuladeenvio/dados:=^CintSecretria.mostrarJanela()).

Fig.7:Exemplodediagramadeestadoscontendo clusulasdeenvio.

Deummodogeral,dopontodevistadosdiagramasdeestado,asclassespodemserclassificadasem clienteseservidoras.Asclassesclientessoaquelasquesolicitamserviossclassesservidorase recebemosdadosproduzidospelasltimas.UmexemplodeclasseclienteaCCtrlCadastrarAluno mostradanafigura7(asclassesdecontroleso,emgeral,classesclientes).Asclassesservidorasso aquelasquefornecemserviossclientes(classesdeentidadeedefronteirasoservidoras). Nafigura8,podeseverodiagramadeestadosparaaclasseservidoraCIntSecretria.

Fig.8:Diagramadeestados paraaclasseCIntSecretria.

Bibliografia

TONSIG,SrgioLuiz.EngenhariadeSoftware,AnliseeProjetodeSistemas.EditoraFutura,So Paulo,Brasil:2003. STADZISZ, Paulo Czar. Projeto de Software Utilizando a UML. UTFPR, Departamento de Informrica:2002. CARDOSO,Caque.UMLnaPrtica,doProblemaaoSistema.EditoraCinciaModernaLtda.Rio deJaneiro,Brasil:2003.

Vous aimerez peut-être aussi