12.05.2013 Views

Modelado de Software con UML2.0 - Universidad Autónoma de ...

Modelado de Software con UML2.0 - Universidad Autónoma de ...

Modelado de Software con UML2.0 - Universidad Autónoma de ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Máquinas <strong>de</strong> Estados<br />

UUn ttransición i ió pue<strong>de</strong> d ttener:<br />

[not driver.<br />

<strong>de</strong>tectarAbierto()]<br />

C<br />

[drriver.<strong>de</strong>tectarrAbierto()]<br />

eject e ()/<br />

driver.abrir d () (<br />

Evento.<br />

Eventos Eventos temporales: tm(n)<br />

Acción.<br />

pre-<strong>con</strong>diciones (guardas) y post- <strong>con</strong>diciones.<br />

[guard] evt/action [post-]<br />

A1 A2<br />

Símbolos especiales para el envío y recepción <strong>de</strong><br />

señales (normalmente usados en diagramas <strong>de</strong><br />

actividad). )<br />

Ejemplo. Diagrama <strong>de</strong> estados para la<br />

clase ReproductorCD<br />

p<br />

Cerrado<br />

eject ()/<br />

driver.cerrarr<br />

()<br />

Abierto<br />

[(info=driver.<strong>de</strong>tectarDisco())!=NULL]/<br />

disco=buscaDisco(info)<br />

NumActual = 1;<br />

actual = disco.obtenerCancion(or<strong>de</strong>nActual)<br />

( )<br />

eject ()/<br />

driver.stop();<br />

driver.abrir()<br />

Play()/<br />

Stop driver.play(actual, 0) Play<br />

stop()/<br />

driver.stop();<br />

NumActual=1<br />

NumActual 1<br />

actual=<br />

disco.obtenerCancion(NumActual)<br />

Play()/<br />

driver.pllay(actual,<br />

Tppausa)<br />

apagar ()/<br />

driver.stop();<br />

driver.apagar()<br />

endOfSong()/<br />

NumActual+=1<br />

Pause() )/<br />

Tpausa = driver.stopp()<br />

Pause<br />

C<br />

96<br />

[NumActual

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!