Diagramas de comportamientos

37,641 views 15 slides Jan 19, 2012
Slide 1
Slide 1 of 15
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15

About This Presentation

No description available for this slideshow.


Slide Content

DIAGRAMAS
DE
COMPORTAMIENTOS

QUE SON DIAGRAMAS
DE COMPORTAMIENTO?
Comportamientoqueexpresalasecuenciadeestadosporlosquepasaunobjeto
alolargodesuvidaenrespuestaaeventos.
Contienenestadossimplesycompuestosytransicionesconeventosyacciones.
Usoscomunes:Modelarobjetosreactivos.
Losdiagramasdecomportamientoseempleanparavisualizar,especificar,
construirydocumentarlosaspectosdinámicosdeunsistema.
Losaspectosdinámicosdeunsistemadesoftwareinvolucrancosastales
comoelflujodemensajesalolargodeltiempoyelmovimientofísicode
componentesenunared.
Acontinuaciónsedescribeyejemplificacadaunodelosdiagramasde
comportamientodeUML.

DIAGRAMAS DE CASOS DE USO
Conceptos de un diagrama de Casos de Uso
UndiagramadeCasosdeUsomuestralasdistintasoperacionesqueseesperande
unaaplicaciónosistemaycómoserelacionaconsuentorno(usuariosuotras
aplicaciones).Paraverunejemplousaremosla:
Máquina de café.
Supongamosqueserequieredesarrollarelcontroldeunamáquinadeentregade
caféautomática.Lamáquinadebepermitiraunapersonaentregarunacantidadde
dineroenmonedasde100,200o500,escogerunodelosproductosdeacuerdoasu
precio(cafénegro,caféclaro,caldo),escoger(siespertinente)unniveldeazúcary
entregarelproductoylasvueltas.Eldineroquelosusuariosintroducenseguardaen
unrecipienteapartealdisponibleparavueltas,elcualseencuentraordenadopor
denominación.
Existenestadosdeerrordelamáquina,cuandodetectaunmalfuncionamiento,no
existenciadevueltasonoexistenciadeingredientes.
Elusuariopuedeencualquiermomentoantesdeescogerelazúcarcancelarla
operación,medianteunbotónexistenteparaesteobjetivo.

DIAGRAMAS DE CASO DE USO DE LA MAQUINA DE CAFÉ

CASO DE USO
Serepresentaeneldiagramaporunaelipse,denotaunrequerimientosolucionadoporelsistema.
Cadacasodeusoesunaoperacióncompletadesarrolladaporlosactoresyporelsistemaenun
diálogo.Elconjuntodecasosdeusorepresentalatotalidaddeoperacionesdesarrolladasporel
sistema.Vaacompañadodeunnombresignificativo.Enelcasodelejemplosetienencomocasos
deusodelacafeteraRecibirDinero,PedirAzucar,PedirProducto,DarVueltasyCancelar.
Actor
Esunusuariodelsistema,quenecesitaousaalgunosdeloscasosdeuso.Serepresenta
medianteun ,acompañadodeunnombresignificativo,siesnecesario.
Relacionesenundiagramadecasosdeuso
EntreloselementosdeundiagramadeCasosdeusosepuedenpresentartrestiposderelaciones,
representadasporlineasdirigidasentreellos(delelementodependientealindependiente)
Comunica(communicates).Relaciónentreunactoryuncasodeuso,denotalaparticipacióndel
actorenelcasodeusodeterminado.Eneldiagramadeejemplotodaslaslineasquesalendel
actordenotanestetipoderelación.
Usa(uses).Relaciónentredoscasosdeuso,denotalainclusióndelcomportamientodeun
escenarioenotro.EnelcasodelejemploelcasodeusoCancelarincluyeensucomportamiento
DarVueltas;yPedirProductoincluyetambiénDarVueltas
Extiende(extends).Relaciónentredoscasosdeuso,denotacuandouncasodeusoesuna
especializacióndeotro.Porejemplo,podríatenerseuncasodeusoqueextiendalaformadepedir
azucar,partaquepermitaescogereltipodeazuacr(normal,dietéticomoreno)yademásla
cantidadenlasunidadesadecuadasparacadacaso(cucharaditas,bolsitasocucharaditas,
respectivamente).Unposiblediagramasemuestraacontinuación.
<<EXTENDS>>
Pedirazucar EscogerAzucaryTipo

DIAGRAMAS DE SECUENCIA
Conceptos básicos en
un Diagrama de
Secuencia
Un diagrama de
secuenciamuestrala
interaccióndeunconjunto
deobjetosenuna
aplicaciónatravésdel
tiempo.Estadescripción
esimportanteporque
puededardetallealos
casos de uso,
aclarándolosalnivelde
mensajesdelosobjetos
existentes,comotambién
muestraelusodelos
mensajesdelasclases
diseñadasenelcontexto
deunaoperación.A
continuaciónsemuestra
unejemplodediagrama
desecuencia,queda
detallealcasodeuso
PedirProductodelejemplo
delacafetera.

DIAGRAMAS DE SECUENCIA
Líneadevidadeunobjeto
Unobjetoserepresentacomounalíneaverticalpunteadaconunrectángulodeencabezadoycon
rectángulosatravésdelalíneaprincipalquedenotanlaejecucióndemétodos(véaseactivación).El
rectángulodeencabezadocontieneelnombredelobjetoyeldesuclase,enunformatonombreObjeto:
nombreClase.Porejemplo,elobjetom,instanciadelaclaseMaquinaCafeenvíadosmensajesseguidos
paradarrespuestaalaoperaciónPedirProducto:ServiralobjetopdelaclaseProductoyDarVueltasasí
mismo.
Activación
Muestraelperiododetiempoenelcualelobjetoseencuentradesarrollandoalgunaoperación,biensea
porsímismoopormediodedelegaciónaalgunodesusatributos.Sedenotacomounrectángulo
delgadosobrelalíneadevidadelobjeto.Enelejemploanteriorelobjeto_ingredientesseencuentra
activadomientrasejecutaelmétodocorrespondientealmensajeServir;elobjetopseencuentraactivo
mientrasseejecutasumétodoServir(queejecuta_ingredientes.Servir)yelobjetomseencuentraactivo
mientrasseejecutap.ServiryDarVueltas.
Mensaje
Elenvíodemensajesentreobjetossedenotamedianteunalíneasólidadirigida,desdeelobjetoque
emiteelmensajehaciaelobjetoqueloejecuta.EnelejemploanteriorelobjetomenvíaelmensajeServir
alobjetopyunpocomásadelanteeneltiempoelobjetomseenvíaasímismoelmensajeDarVueltas.

ConceptosbásicosenunDiagramadeEstados
Muestraelconjuntodeestadosporloscualespasaunobjetodurantesuvidaenunaaplicación,junto
conloscambiosquepermitenpasardeunestadoaotro.Unejemploenelcasodelacafeterasonlos
estadosposiblesparalaclaseMaquinaCafe:
DIAGRAMAS DE ESTADOS

Estado
Identificaunperiododetiempodelobjeto(noinstantáneo)enelcualelobjetoestaesperandoalguna
operación,tieneciertoestadocaracterísticoopuederecibirciertotipodeestímulos.Serepresenta
medianteunrectánguloconlosbordesredondeados,quepuedetenertrescompartimientos:unopara
elnombre,otroparaelvalorcaracterísticodelosatributosdelobjetoeneseestadoyotroparalas
accionesqueserealizanalentrar,saliroestarenunestado(entry,exitodo,respectivamente).Enel
casodelejemploanterior,setienencuatroestados(EnFuncionamiento,SinCambio,SinIngredientes,
MalFuncionamiento),enloscualessedesarrollanciertasaccionesalentrar;porejemplo,alentraral
estadoSinIngredientessedeberealizarlaacción"IndicadorSinIngredientesenOn".
Semarcantambiénlosestadosinícialesyfinalesmediantelossímbolosy ,respectivamente.
Eventos
Esunaocurrenciaquepuedecausarlatransicióndeunestadoaotrodeunobjeto.Estaocurrencia
puedeserunadevariascosas:Condiciónquetomaelvalordeverdaderoofalso
Recepcióndeunaseñaldeotroobjetoenelmodelo
Recepcióndeunmensaje
Pasodeciertoperíododetiempo,despuésdeentraralestadoodeciertahorayfechaparticular
Elnombredeuneventotienealcancedentrodelpaqueteenelcualestádefinido,noeslocalala
clasequelonombre.Enelcasodelejemploanteriorseencuentranombradoenvariastransicionesel
eventouserInput,querecibecomoparámetrounButton,paraindicarelbotónquehasido
presionadoporelusuariodelamáquinadecafé.
DIAGRAMAS DE ESTADOS

DIAGRAMAS DE ESTADOS
Envío de mensajes
Ademásdemostrarytransicióndeestadospormediodeeventos,puederepresentarseelmomentoenel
cualseenvíanmensajesaotrosobjetos.Estoserealizamedianteunalíneapunteadadirigidaal
diagramadeestadosdelobjetoreceptordelmensaje.Sitomamoscomoejemplouncontrolremotoque
puedeenviarórdenesdeencenderoapagaraltelevisoroalavideograbadorasepuedeobtenerun
diagramadeestadoscomoelsiguiente:
Los tres aparatos tienen diagramas
de estados separados y algunas de
las transiciones del control remoto
causan el envío de mensajes
(togglePower) a los otros aparatos.

DIAGRAMAS DE ESTADOS
Transiciónsimple
Unatransiciónsimpleesunarelaciónentredosestadosqueindicaqueunobjetoenelprimerestadopuedeentraral
segundoestadoyejecutarciertasoperaciones,cuandouneventoocurreysiciertascondicionessonsatisfechas.Se
representacomounalíneasólidaentredosestados,quepuedeveniracompañadadeuntextoconelsiguienteformato:
event-signature[guard-condition]/action-expression^send-clause
event-signatureesladescripcióndeleventoquedaalugarlatransición,guard-conditionsonlascondicionesadicionales
aleventonecesariasparaquelatransiciónocurra,action-expressionesunmensajealobjetooaotroobjetoquese
ejecutacomoresultadodelatransiciónyelcambiodeestadoysend-clausesonaccionesadicionalesqueseejecutan
conelcambiodeestado,porejemplo,elenviodeeventosaotrospaquetesoclases.
EnelcasodelejemploinicialdeestahojasetieneunatransiciónentrelosestadosIntroduciendoMoneday
SeleccionadoAzucaryProductoquetieneunatransiciónconelsiguientedetalle:
userInput(Button)|[TodoOk=true}/MostrarNivelAzucar,MostrarProducto
EleventoquedisparaelcambiodeestadoesuserInput(Button).Serequierecomocondiciónadicionalquenosehaya
detectadoningunafalla(TodoOk=true)yseejecutaMostrarNivelAzucaryMostrarProducto,quedeberíanserejecutables
porelobjetoalcualperteneceeldiagrama.
Transicióninterna
Esunatransiciónquepermaneceenelmismoestado,envezdeinvolucrardosestadosdistintos.Representaunevento
quenocausacambiodeestado.Sedenotacomounacadenaadicionalenelcompartimientodeaccionesdelestado.
Supongamoselestadodeunainterfazpidiendopasswordalusuario.Enestecasopuedetenerseunatransicióninterna
quemuestreunaayudaalusuario.Estatransiciónsemuestraenelsiguientediagramaconlacadena"help/displayhelp
"dentrodelcuerpodelestado.

Undiagramadeactividadesesuncasoespecialdeun
diagramadeestadosenelcualcasitodoslosestadosson
estadosdeacción(identificanqueacciónseejecutaal
estarenél)ycasitodaslastransicionessonenviadasal
terminarlaacciónejecutadaenelestadoanterior.Puede
dardetalleauncasodeuso,unobjetoounmensajeen
unobjeto.Sirvenpararepresentartransicionesinternas,
sinhacermuchoénfasisentransicionesoeventos
externos.Sepresentaacontinuaciónunejemplode
diagramadeactividadesparaunmensajedeunobjeto.
Generalmentemodelanlospasosdeunalgoritmo.
DIAGRAMAS DE ACTIVIDADES

DIAGRAMAS DE ACTIVIDADES

Estado de acción
Representa un estado con acción interna, con por lo menos una transición que
identifica la culminación de la acción (por medio de un evento implícito). No
deben tener transiciones internas ni transiciones basadas en eventos (Si este
es el caso, represéntelo en un diagrama de estados). Permite modelar un paso
dentro del algoritmo. Se representan por un rectángulo con bordes
redondeados.
Transiciones
Las flechas entre estados representan transiciones con evento implícito.
Pueden tener una condición en el caso de decisiones.
Decisiones
Se representa mediante una transición múltiple que sale de un estado, donde
cada camino tiene un labeldistinto. Se representa mediante un diamante al
cual llega la transición del estado inicial y del cual salen las múltiples
transiciones de los estados finales. Un ejemplo se ve en la figura cuando no
hay cafey se toma una decisión entre hay colao no hay cola.
DIAGRAMAS DE ACTIVIDADES

MUCHAS
GRACIAS
Orlando J. Valencia Acuña
Lic: en Básica Primaria con Énfasis en
Tecnología e Informática
9 Semestre
Tags