簡體   English   中英

如何在Communication Diagrams中表達循環?

[英]How to express loops in Communication Diagrams?

我想知道如何在通信圖中表達如下:

foreach (User user in UsersCatalog) {
    list.add(user.getId());
}

我實際上有類似以下的東西

替代文字http://img691.imageshack.us/img691/9213/semttuloyc.png

(Utilizador =用戶)

但是你會注意到它並不代表我正在做類似循環的事實。

我怎么能做到這一點?

只需使用星號(*)定義getId() : int

1.4 *getId()

對於給定的例子。

為什么不用序列圖補充這個圖? 序列圖更好地表達事件之間的時間關系,並具有表達循環的預定義表示法。

正如Jordi所說,對於描述循環序列圖更好。 原因是您想要描述使用消息傳遞進行通信的對象之間的交互。 為此,UML定義了不同的交互圖,側重於交互的不同方面。 序列圖側重於在對象(生命線)之間傳遞的消息序列,因此捕獲循環序列中的消息是有意義的。 通信圖集中於通信對象,它們相互發送某些消息。 這些圖對於建模循環沒有用,因為它們只描述了發送的消息類型和順序。 但是,如果您將通信圖用於一個好的目的並且只想在代碼中包含循環,則應遵循elysiums建議,但請記住,星號表示將有未知數量的消息,因此您應該添加表達式(理想情況下是OCL)將捕獲循環的條件。 有關更多信息,請參閱: http//www.smartdraw.com/resources/tutorials/uml-collaboration-diagrams/ http://en.wikipedia.org/wiki/Unified_Modeling_Language#Interaction_diagrams

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM