Diagramando UML con .• Diagramas de Secuencia, • Diagramas de...

download Diagramando UML con .• Diagramas de Secuencia, • Diagramas de Casos de uso, • Diagramas de

of 128

  • date post

    28-Sep-2018
  • Category

    Documents

  • view

    227
  • download

    0

Embed Size (px)

Transcript of Diagramando UML con .• Diagramas de Secuencia, • Diagramas de...

  • Diagramando UML con PlantUML

    Gua de Referencia del Lenguaje(martes 17 de octubre de 2017 20:09)

    PlantUML es un proyecto Open Source (cdigo abierto) que permite escribir rpidamente:

    Diagramas de Secuencia,

    Diagramas de Casos de uso,

    Diagramas de Clases,

    Diagramas de Actividades,

    Diagramas de Componentes,

    Diagramas de Estados,

    Diagramas de Objetos.

    Los diagramas son definidos usando un lenguaje simple e intuitivo.

  • 1 DIAGRAMA DE SECUENCIA

    1 Diagrama de Secuencia1.1 Ejemplo bsicoLa secuencia -> es usada para dibujar un mensaje entre dos participantes. Los participantes tienen queser declarados explcitamente.

    Para definir una flecha punteada, se debe usar -->Tambin se puede usar Alice: Authentication Response

    Alice -> Bob: Another authentication RequestAlice Foo2 : To boundaryFoo1 -> Foo3 : To controlFoo1 -> Foo4 : To entityFoo1 -> Foo5 : To databaseFoo1 -> Foo6 : To collections

    @enduml

    PlantUML : Gua de Referencia del Lenguaje (martes 17 de octubre de 2017) 1 of 127

  • 1.3 Sin usar letras en participantes 1 DIAGRAMA DE SECUENCIA

    Se puede renombrar un participante usando la palabra reservada as.Tambin es posible cambiar el color de fondo de los actores o participantes.

    @startumlactor Bob #red' The only difference between actor'and participant is the drawingparticipant Aliceparticipant "I have a really\nlong name" as L #99FF99/' You can also declare:participant L as "I have a really\nlong name" #99FF99'/

    Alice->Bob: Authentication RequestBob->Alice: Authentication ResponseBob->L: Log transaction@enduml

    1.3 Sin usar letras en participantesPuedes usar comillas para definir participantes. Y puedes usar la palabra reservada as para asignar unalias a esos participantes.@startumlAlice -> "Bob()" : Hello"Bob()" -> "This is very\nlong" as Long' You can also declare:' "Bob()" -> Long as "This is very\nlong"Long --> "Bob()" : ok@enduml

    PlantUML : Gua de Referencia del Lenguaje (martes 17 de octubre de 2017) 2 of 127

  • 1.4 Auto-Mensaje 1 DIAGRAMA DE SECUENCIA

    1.4 Auto-MensajeUn participante puede enviar mensajes asi mismo.

    Tambin es posible tener un mensaje multi-lneas usando \n.@startumlAlice->Alice: This is a signal to self.\nIt also demonstrates\nmultiline \ntext@enduml

    1.5 Cambiar estilo de la flechaPuede cambiar el estilo de la flecha de diferentes formas:

    aade una x al final para indicar un mensage perdido

    utilice \ o / en lugar de < o > para tener solo la parte inferior o superior de la flecha

    repite la cabeza de la flecha (por ejemplo, >> o //) para tener un trazo ms fino

    Utilice -- en lugar de - para obtener una flecha punteada.

    aade una o al final de la cabeza de una flecha

    utilice flechas bidireccionales

    @startumlBob ->x AliceBob -> AliceBob ->> AliceBob -\ AliceBob \\- AliceBob //-- Alice

    Bob ->o AliceBob o\\-- Alice

    Bob AliceBob o Alice@enduml

    PlantUML : Gua de Referencia del Lenguaje (martes 17 de octubre de 2017) 3 of 127

  • 1.6 Cambiar el color de la flecha 1 DIAGRAMA DE SECUENCIA

    1.6 Cambiar el color de la flechaPuede cambiar el color de flechas individuales usando la siguiente notacin:@startumlBob -[#red]> Alice : helloAlice -[#0000FF]->Bob : ok@enduml

    1.7 Numeracin de la secuencia de mensajesLa palabra clave autonumber es usada para aadir automticamente nmeros a los mensajes.@startumlautonumberBob -> Alice : Authentication RequestBob Alice : Authentication RequestBob Alice : Another authentication RequestBob Alice : Yet another authentication Request

    PlantUML : Gua de Referencia del Lenguaje (martes 17 de octubre de 2017) 4 of 127

  • 1.7 Numeracin de la secuencia de mensajes 1 DIAGRAMA DE SECUENCIA

    Bob Alice : Authentication RequestBob Alice : Another authentication RequestBob Alice : Yet another authentication RequestBob Alice : Authentication RequestBob Alice : dummy

    PlantUML : Gua de Referencia del Lenguaje (martes 17 de octubre de 2017) 5 of 127

  • 1.8 Dividiendo diagramas 1 DIAGRAMA DE SECUENCIA

    autonumber resume "Message 0 "Bob -> Alice : Yet another authentication RequestBob Alice : dummy

    autonumber resume 1 "Message 0 "Bob -> Alice : Yet another authentication RequestBob Bob : message 1Alice -> Bob : message 2

    newpage

    Alice -> Bob : message 3Alice -> Bob : message 4

    newpage A title for the\nlast page

    Alice -> Bob : message 5Alice -> Bob : message 6@enduml

    PlantUML : Gua de Referencia del Lenguaje (martes 17 de octubre de 2017) 6 of 127

  • 1.9 Agrupando mensajes 1 DIAGRAMA DE SECUENCIA

    1.9 Agrupando mensajesEs posible agrupar mensajes usando las siguientes palabras reservadas:

    alt/else

    opt

    loop

    par

    break

    critical

    group, seguida de un texto para mostrar

    Es posible aadir un texto que ser mostrado en el encabezado (excepto para group).La palabra reservada end es usada para cerrar el grupo.Tenga en cuenta que es posible anidar grupos.

    @startumlAlice -> Bob: Authentication Request

    alt successful case

    Bob -> Alice: Authentication Accepted

    else some kind of failure

    Bob -> Alice: Authentication Failuregroup My own labelAlice -> Log : Log attack startloop 1000 timesAlice -> Bob: DNS AttackendAlice -> Log : Log attack endend

    else Another type of failure

    Bob -> Alice: Please repeat

    end@enduml

    PlantUML : Gua de Referencia del Lenguaje (martes 17 de octubre de 2017) 7 of 127

  • 1.10 Notas en mensajes 1 DIAGRAMA DE SECUENCIA

    1.10 Notas en mensajesEs posible colocar notas en mensajes usando las palabras reservadas note left o note right inmedi-atamente despus del mensaje.

    Puedes tener una nota multi-lneas usando la palabra reservada end note .@startumlAlice->Bob : hellonote left: this is a first note

    Bob->Alice : oknote right: this is another note

    Bob->Bob : I am thinkingnote lefta notecan also be definedon several linesend note@enduml

    1.11 Algunas otras notasTambin es posible colocar notas relativas al participante con las palabras reservadas note left of ,note right of o note over .

    Es posible resaltar una nota cambiando su color de fondo.

    PlantUML : Gua de Referencia del Lenguaje (martes 17 de octubre de 2017) 8 of 127

  • 1.12 Cambiando el aspecto de las notas 1 DIAGRAMA DE SECUENCIA

    Tambin puedes tener una nota multi-lneas usando la palabra reservada end note .@startumlparticipant Aliceparticipant Bobnote left of Alice #aquaThis is displayedleft of Alice.end note

    note right of Alice: This is displayed right of Alice.

    note over Alice: This is displayed over Alice.

    note over Alice, Bob #FFAAAA: This is displayed\n over Bob and Alice.

    note over Bob, AliceThis is yet anotherexample ofa long note.end note@enduml

    1.12 Cambiando el aspecto de las notasPuedes usar las palabras reservadas hnote y rnote para cambiar el aspecto de las notas.@startumlcaller -> server : conReqhnote over caller : idlecaller

  • 1.13 Creole y HTML 1 DIAGRAMA DE SECUENCIA

    1.13 Creole y HTMLTambin es posible usar sintexis de WikiCreole:@startumlparticipant Aliceparticipant "The **Famous** Bob" as Bob

    Alice -> Bob : hello --there--... Some ~~long delay~~ ...Bob -> Alice : oknote leftThis is **bold**This is //italics//This is ""monospaced""This is --stroked--This is __underlined__This is ~~waved~~end note

    Alice -> Bob : A //well formatted// messagenote right of AliceThis is displayed__left of__ Alice.end notenote left of BobThis is displayed**left of Alice Bob**.end notenote over Alice, BobThis is hosted by end note@enduml

    PlantUML : Gua de Referencia del Lenguaje (martes 17 de octubre de 2017) 10 of 127

  • 1.14 Divisor 1 DIAGRAMA DE SECUENCIA

    1.14 DivisorSi quieres, puedes dividir un diagrama usando el separador == para separar su diagrama en pasos lgicos.@startuml

    == Initialization ==

    Alice -> Bob: Authentication RequestBob --> Alice: Authentication Response

    == Repetition ==

    Alice -> Bob: Another authentication RequestAlice

  • 1.16 Retardo 1 DIAGRAMA DE SECUENCIA

    @startumlparticipant Aliceactor Bob

    ref over Alice, Bob : init

    Alice -> Bob : hello

    ref over BobThis can be onseveral linesend ref@enduml

    1.16 RetardoPuedes usar ... para indicar un retardo en el diagrama. Y tambin es posible colocar un mensaje conese retardo.@startuml

    Alice -> Bob: Authentication Request...Bob --> Alice: Authentication Response...5 minutes latter...Bob --> Alice: Bye !

    @enduml

    1.17 EspaciadoPuedes usar ||| para indicar espaciado en el diagrama.

    PlantUML : Gua de Referencia del Lenguaje (martes 17 de octubre de 2017) 12 of 127

  • 1.18 Activacin y Destruccin de la Lnea de vida 1 DIAGRAMA DE SECUENCIA

    Tambin es posible especificar un nmero de pxel para ser usado.@startuml

    Alice -> Bob: message 1Bob --> Alice: ok|||Alice -> Bob: message 2Bob --> Alice: ok||45||Alice -> Bob: message 3Bob --> Alice: ok

    @enduml

    1.18 Activacin y Destruccin de la Lnea de vidaactivate y deactivate son usados para denotar la activacin de un participante.

    Una vez que un participante es activado, su lnea de vida aparece.activate y deactivate aplica en el mensaje anterior.destroy denota el final de la lnea de vida de un participante.

    @startumlparticipant User

    User -> A: DoWorkactivate A

    A -> B: >activate B

    B -> C: DoWorkactivate CC --> B: WorkDonedestroy C

    B --> A: RequestCreateddeactivat