简体   繁体   中英

How do you show instantiation in a UML Sequence Diagram?

How do I show that the WebServer instantiates a View and gets back control of the flow? Maybe I'm not using the right type of diagram? Thanks a bunch!

替代文字

The diagram from Ruben's answer is correct, but general UML answer is missing. It creates the other lifeline when the "create" line (dashed in this case) connects to the box/label/top of the created life line. From example: WebServer in it's action creates a View and the action done by the view creates the Widget.

-----
| a |
-----
  |
  []---->-----
  []     | b |
  |      -----
  |        |

There are also several diagrams here.

The UML 2.2 specifications (superstructure) has an example on page 474, Figure 14.11 is their canonical syntax/notation reference. And on page 495 in the notation section it states "Object creation Message has a dashed line with an open arrow." This is further defined in the UML as the message type is an enumeration called MessageSort. One value is:

"• asynchSignal - The message was generated by an asynchronous send action.createMessage - The message designating the creation of another lifeline object."

Correct, use a " create " message to show instantiation of the object represented by the target lifeline. Here's an example from a topic in the VS 2010 Ultimate docs:

在序列图上创建消息

UML Sequence Diagrams: Reference at http://msdn.microsoft.com/en-us/library/dd409377%28VS.100%29.aspx

Yes you can, using a create message. Sometime it depends on the tool you are using. Anyway you just need an arrow that show the text create pointing to the object being created.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM