スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.3618
あるオンラインショッピングサイトの注文処理システムにおいて、顧客が商品をカートに入れてから決済を完了し、倉庫への出荷指示が自動送信されるまでの業務フローをUMLのアクティビティ図で表現することにした。この図を作成する際、複数の並行する処理を合流させるために使用するシンボルとして、最も適切なものはどれか。

【正解の解説】

複数の制御フローを1つの制御フローに統合する合流ノードを表す結合バー

例えば、レストランで「サラダを作る」「ステーキを焼く」「スープを温める」という別々の作業を同時に進めた後、すべてが揃って初めて「料理を提供する」という一つのテーブルにまとめる作業と同じです。アクティビティ図では、バラバラに動いていた複数の流れが、次のステップに進むために合流するタイミングをこの太い一本の棒(結合バー)で表現します。

スポンサーリンク

【その他の選択肢の解説】

1つの制御フローを複数の並行する制御フローに分岐させる分岐ノードを表すフォークバー

結合バーと見た目は同じ太い棒ですが、こちらは処理をまとめるのではなく逆に「増やす」ためのものです。例えば、朝の支度で「テレビをつける」と「コーヒーを入れる」という2つの行動を同時に始めるような分岐を指します。試験では結合(マージ・ジョイン)と分岐(フォーク)の矢印の向きや役割がよく逆にして出題されるため、棒に入る矢印が「複数から一本か、一本から複数か」をしっかり見極めましょう。

条件に応じて異なる制御フローの経路を選択的に割り振る決定ノードを表すひし形シンボル

これは高速道路の分岐点で「右に行けば東京、左に行けば大阪」と、条件に応じてどちらか一つのルートを選択するような場面で使われます。並行処理をすべて同時に進めて一つにまとめる結合バーとは異なり、いくつかの選択肢から排他的に一つを選ぶ点が決定的な違いです。「ひし形=条件分岐」という基本の形を確実に押さえておきましょう。

複数のオブジェクトフローを1つのオブジェクトフローに集約する変換ノードを表すピンシンボル

アクティビティ図においてピンは、アクションの入力や出力となるオブジェクトを接続するための小さな四角形として描かれます。制御の流れる方向を統合するバーとは異なり、ここではデータやモノという具体的な「オブジェクトの受け渡し」に着目している点が誤りです。用語の見た目や響きに惑わされず、制御フローとオブジェクトフローの違いを整理しておきましょう。