UML図は、クラスとそのコンポーネント(構成要素)間の関係性を一般的な方法でモデル化する際に利用します。これは、皆さんのソフトウェアの階層を表す一般的な青写真となります。システムシーケンス図には、構造を表すUMLと動作を表すUMLの2種類があります。この記事では、動作を表すUML図の1つであるシステムシーケンス図(SSD)を説明します。
- 目次 -
Part 1: システムシーケンス図とは
1.1 システムシーケンス図とは
システムシーケンス図(略称SSD)は、イベントの入出力(インプット/アウトプット)を示すシーケンス図を更に細分化したものです。システムシーケンス図は、ユースケース(使用例)を図で示したものです。このユースケースは、外部要因のアクターによって動作するイベントを指します。順序とシステム内で発生するイベントが定義されています。
ここで使用する図は、ある想定したユースケースの成功例から作成されており、更にその他のユースケースを用いて作成されています。システムシーケンス図では、システムを形式上のブラックボックスと想定します。
1.2 システムシーケンス図を使う理由
システムシーケンス図(SSD)では、システム内でどのように機能やユースケースの機能が実行されるかを追います。システムシーケンス図を使って、どのようにシステムがこれらのイベントと相互的に作用しているか、その関わり合いについてソフトウェアをモデル化します。
この図では、主な成功例を基に青写真を作成する例を挙げています。更に、その他のケースやシナリオを理解しながら、設計を進めます。
Part 2: SSDの要素とは
ユースケース図で使われている要素について、以下に説明します。システムシーケンス図の必須要素は、以下のとおりです。
• アクター
• イベント
• オブジェクト
従来のUMLでは、クラスやオブジェクトを表すボックスはタイトルを示しますが、システムシーケンス図ではブラックボックスとしてシステムを表します。このブラックボックスは、表に出てこないシステム(内部プロセスを含むため)を指します。
• アクター
システムと相互的に働く外的な実体(エンティティ)で、アクターを念頭に置き、システムを作成します。この相互的な働きの例として、キャッシャー(会計)でのやり取り、ATMなどからお金を取り出す顧客などがあります。図では棒の形で表します。
• イベント
アクター/システムからシステム間への対話の相互的なやり取りをイベントと呼びます。特定のイベントでシステムが特定のタスク(作業)を実行します。このイベントは、シーケンスまたは特定の順序で生成されます。システムシーケンス図では、イベントをライフラインと呼ばれる破線で表します。この線は四角のボックスから派生したり、アクターと一緒に使われます。
Part 3: システムシーケンス図とシーケンス図の比較
シーケンス図 | システムシーケンス図 |
---|---|
統一モデル言語(UML)では、シーケンス図は時間を基としてシステムのアクターとオブジェクト間の関係性を表します。シーケンス図は、これらの関係におけるコントロール(制御)の流れとどのようにシステムがこのオブジェクトとアクターの関係性について作用するかを示します。 システムの設計でオブジェクトが非常に複雑になった場合、シーケンス図を使ってコントロールの流れとオブジェクトとアクターの関係性をモデル化します。 |
システムシーケンス図では、システムとアクターのコントロールの流れを可視化することで、より上にある抽象化された階層を仮定します。シーケンス図を使ったクラスとオブジェクト間の相互的なやり取りの可視化は、この分析の範疇には入りません。 |
EdrawMaxはUML図をシンプルに書けるようなソフトウェアです。EdrawMaxは無料体験可能なのでぜひ一度ご体験してみます!
Part 4: システムシーケンス図を作成する方法
ステップ 1
EdrawMaxをダウンロードしてインストールします。 または、EdrawMaxOnlineを使用して図を作成することもできます。
ステップ 2
【ソフトウェアとデータベース】> 【ソフトウェア開発】> 【UMLモデリング】に移動します。 ここでは、空白の図面ページを開いて最初から選択できます。 または、ギャラリーからテンプレートの1つを選択することもできます。
ステップ 3
システムシーケンス図を書くためのすべての記号が左側のライブラリーにあります。 シンボルライブラリには、さらに多くのシンボルがあります。 次に、シンボルをキャンバスにドラッグアンドドロップして、EdrawMaxで図を作成し始めます。
ステップ 4
EdrawMaxのすべてのスタイリングおよびフォーマットツールを使用して、ダイアグラムのスタイルを好きなように変更できます。
ステップ 5
ダイグラムが完成したら、【ファイル】タブに移動し、【エクスポートと送信】をクリックします。 PDF、JPG、PNG、SVG、Visio、Excel、Word、PowerPoint、HTMLなどのさまざまなファイル形式で保存できます。
ステップ 6
ソフトウェアの右上隅にある【共有】ボタンをクリックして、図を共有する方法を選択します。
Part 5: システムシーケンス図の例
実際の働きを理解しなければ、理論を完全に理解することはできません。このセクションでは、システムシーケンス図の実際の働きについて図を用いて説明します。
5.1 書店の実例
これは、書店のシステムシーケンス図 です。アクターは、自分の情報をたった一度インターフェイスに提供する顧客です。システムコマンドやクエリでこの情報が必要とされるとき、インターフェイスは毎回、この情報を引数としてコントローラに送ります。
メソッド「add2Cart」、「getCartSummary」と注文の完了が呼び出されたとき、インターフェイスはコントローラに「cartId」を3回送っている点に注目してください。分析から設計へシフトしたことがわかります。
5.2 キャッシャーとシステムの実例
上の図では、アクターとなるキャッシャーが新しいセールス(売り上げ)を開始し、次にアクターがアイテム(項目)識別子を入力し、システムがセールスラインアイテム(売り上げ処理中の項目)を監視し、アイテムの詳細、価格、累計が表示されます。
システムにより、税込みの合計が出されます。その情報は顧客に伝えられ、支払いを受け取り、最後にシステムにより支払い処理が行われます。
5.3 システムシーケンス図を使う利点
システムシーケンス図は、ユースケースとイベントに関連するコントロールの流れを表します。 システムシーケンス図を使うと、プロシージャの論理、機能、操作を追うことができます。 アクターとシステムの相互的なやり取りで、どのようにコントロールの流れができているのか理解することができます。システムシーケンス図は、皆さんの設計であらゆる推移を作成する際に役立ちます。
Part 6: まとめ
致命的なミスが起こりやすいので、手書きでシステムシーケンス図 を作成するのは賢明ではありません。また、オブジェクトアクターが増えて皆さんのシステムがより複雑になった場合、手書きでこの業務を行うのは不適切です。
プロ、アマ(学生)のソフトウェア開発者を問わず、UML図の作成にコンピュータソフトを使えます。EdrawMax は、よく知られている作図用ソフトウェアで、ソフトウェアのヘルプを使って作図するさまざまな図について支援を受けられます。
EdrawMaxはドラッグ&ドロップ操作による作図を基本としているので、簡単に使っていただけます。また、ライブラリに数種のシェイプ(形)、記号などを備えているので皆さんの作図を正確に示すことができます。EdrawMaxは基本的な機能を無料でご利用いただけますが、プレミアム版ではより具体的な機能がご利用いただけます。