本連載は、未経験の人でもUMLを使いこなせるようになることを最終目標として、UMLについてゼロから解説しています。今回は、架空の宅配便会社「まいにち宅配便」の配達予約システムの開発プロジェクトを題材に、設計のためのシーケンス図について解説します。

詳細設計では、クラスの構造や操作を設計するだけでなく、複数のクラスの相互作用を設計する必要があります。クラスの相互作用を表現するための図がシーケンス図です。図1は画面表示機能を実現するために、各クラスが操作を呼び出して相互作用している様子を表現したシーケンス図です。シーケンス図では、次の要素を用います。

相互作用に登場するクラス(やインタフェース)の役割は「ライフライン」で定義します。図1ではクラス名しか記述していませんが、必要に応じて「:」の左側に役割名を記述します。

「メッセージ」とは、クラスなどの操作の呼び出しを定義する要素です。図1では別のクラスの操作を呼び出すメッセージを記述していますが、自クラスの操作を呼び出すメッセージを記述することもできます。クラスのオブジェクトを生成するメッセージを「生成メッセージ」と言います。また、操作が呼び出されてから操作中の処理が完了するまでを「実行仕様」と言います。

「複合フラグメント」とは、特殊な制御構造を表現するための要素です。図1では繰り返し処理を表現するための「ループ複合フラグメント」を使っていますが、UMLはこの他にも分岐や並列処理を表現するための複合フラグメントを備えています。

図1 シーケンス図

『出典:システム開発ジャーナル Vol.6(2008年9月発刊)
本稿は原稿執筆時点での内容に基づいているため、現在の状況とは異なる場合があります。ご了承ください。