web-dev-qa-db-ja.com

UMLアクティビティ図でのループの表現

ソケットを使用して、私が開発したネットワーク化された三目並べゲームのアクティビティ図(UML)を設計しようとしています。アクティビティパーティション(スイムレーン)を使用しています。したがって、Client1、Server、およびClient2の3つのパーティションがあります。

ループ構造を表す方法がわからない場合を除いて、図は見栄えがします。

このリンクを見てみると、 アクティビティ図 で、ページ(パーティション)の最後の図を見てください。これが、私が作業しているアクティビティ図のタイプです。

誰でも私がループを表す方法を知っていますか?ありがとう!

21
littleK

拡張領域の リンク先のページ をさらに調べます。反復キーワードと一緒に使用してください。

拡張領域は、複数回実行される構造化されたアクティビティ領域です。入力および出力拡張ノードは、項目の複数の選択を表す3つのボックスのグループとして描画されます。キーワード「反復」、「並列」、または「ストリーム」は、領域の左上隅に表示されます。

11
Eric J.

何かが足りないかもしれませんが、なぜループの最後のアクティビティの出口フローをループの最初のアクティビティの入力フローとして使用するだけではないのですか(適切なときにループを終了するためのガード条件付き)

2
Jordi Cabot

入力に一連のデータを使用している場合は、「拡張領域」が最適です。たとえば、すべての収入をユーロで換算したいとします。そして、それはfor()のようなものです。

ただし、while()に似たものを使用する場合は、フィードバックループを備えた角丸四角形と菱形を使用する必要があります。

例:[ブラックジャックを再生]->勝った場合->やめた->他の->もう一度始める

アクティビティ図でループを行う唯一の効率的な方法は、私はそう思います。

ループノード を見ることができます。しかし、それがOMG仕様でどれほど明確に定義されているかはわかりません。

1
maf88