プロセス指向プログラミングにおいてソフトウェア開発時に活躍するUMLシーケンス図記号とその使い方をEdrawMaxでご紹介しましょう。UMLとはソフトウェアを形式化するための統一されたモデリング言語のことを指しUMLシーケンス図とは、アクティビティ図が処理工程を順序立てる一方、処理主体となるオブジェクトやクラスがメッセージ(実装においてメソッドの呼び出し) のやり取りを記述しているものを指します。
私はUMLシーケンス図を描く時、EdrawMaxを重宝しています。もちろんPluntUMLでも書くことで、共通認識を効率的に持つことも大切ですが、誰にでもすぐに理解でき専門的な知識も必要なくグラフィカルかつ美しく描けるEdrawMaxはUMLシーケンス図を描く上でとても最適なツールです。UMLシーケンス図は詳細な反応を記述する分根気のいる作業になります。この作業を相手に説明する時、よりリラックスしたハイセンスな形で見せた方が少しでもビジネスに縁遠い「楽しさ」を提供できると考えます。
それでは具体的にUMLシーケンス図を構成する記号について基本記号ともう少し詳細な記号をご紹介し実際にPluntUMLで実装した上で、EdrawMaxでより質の高いUMLシーケンス図のテンプレートをご紹介し視覚的でかつ専門的な記述も含めることができる新たなビジネスの形をご提供いたします。
- 目次 -
Part 1: UMLシーケンス図記号の意味を説明します
上図はEdrawMaxのUMLシーケンス図例です。まずは、具体的に記号の基本要素ともう少し詳細な記述方法とに分けてご紹介いたします。UMLシーケンス図では、ライフラインの生成と消滅のタイミングと相互メッセージを表します。ライフライン間の相互やり取りを記述する図なので1つのライフラインだけでUMLシーケンス図を描くことはありません。この章では要素をPluntUMLにて実装までをご紹介いたします。
基本要素はアクター、ライフライン、メッセージについてご紹介し、細かな表現としてはUMLで定義されてないエンティティ、バウンダリ、コントローラ、そして実行指定、停止、点の使い方について記号を用いてご紹介していきます。その中でも注目すべきは実行指定です。下記します図の意味にもそれぞれ説明はしていますが、アクティビティ図との違いを大きく表現しているのがこお実行指定です。この実行を指定しすることでどのライフラインが自発的にメッセージを送ったのかを知ることができるのです。それえでは図とともにそれぞれの意味をご紹介しましょう。
1.1 基本記号
記号 | 名称 | 説明 |
アクター | アクター実行時のインスタンスです。 スティックマン形式、四角形での表示が可能です。 | |
ライフライン |
実行時のオブジェクトを示します。
ボックスの中に役割:分類子を記します。
分類子にはクラスやコンポーネント名を入れます。 決して両方必須ではありません。 そしてこのボックスから下に伸びる破線が時間経過を表します。 |
|
メッセージ |
ライフライン間でメ関数呼び出しなどメッセージのやり取りを行う際に使います。 属性=メッセージ名(引数):戻り値という ルールに即して記しましょう。 属性、引数、戻り値は省略可で最小のメッセージは”メッセージ名()”です。メッセージを受けたライフラインはリプライを 返します。 |
|
同期メッセージ |
オブジェクト間の命令を表します。 この矢印終点は応答メッセージが返ってくるまで待ちます。 |
|
非同期メッセージ |
オブジェクト間の命令を表します。 この矢印終点は応答メッセージを待たずに次の処理に移ります。 |
|
応答メッセージ | 同期メッセージまたは非同期メッセージの返却メッセージを表します。 |
1.2 細かな表現
記号 | 名称 | 説明 |
エンティティ | 永続的な要素を示します。具体例として、データベースのテーブルなどがあります。(以下エンティティ・バウンダリ・コントローラはUMLで定義されている要素ではありません。) | |
バウンダリ | 画面や入出力デバイスなどを示します。 | |
コントローラ | 処理内容を実際に担当する要素を示します。 | |
実行指定 |
ライフライン間のメッセージのやり取りについてどのライフラインが自発的にメッセージを送ったのかを詳細に記すためにこの実行指定が使われます。 つまり、ライフラインでこの実行指定が支持されている場合処理が実行されていることを意味します。 |
|
停止 |
ライフラインの消滅を意味します。 処理が終わりライフラインを破棄する際などに使います。 |
|
点 | シーケンス図の範囲外からのメッセージの視点や、範囲外へのメッセージの終点に利用します。 |
1.3 PluntUMLにて実装
次にPluntUMLにて実装してみましょう。PluntUMLはテキスト形式でかけるので専門的な知識を比較的使わずチームなどで共有する時は非常に有効でしょう。
Part 2: EdrawMaxを使用して上記の記号を事例に説明します
このUMLシーケンス図はEdrawMaxのテンプレート例です。ビジュルも美しく常にオブジェクトサイズを決めるのに補助線を当ててくれるEdrawMaxを私は重宝しています。では上図は何を描いているのでしょう。それは色々な状況下で図として描かれる動的コンテンツを表しています。具体的には買い物かごのメッセージ、フォーム、金利の更新などこのような日常よく目にするシステム内の状況を表しているのです。
まず、Filter記号とはクライアントとサーバ間のリクエスト・レスポンス時に何らかの処理を行う機能です。ログの生成、パラメーター値の変更、フォーマット変更、フォーマット変更、認証などの処理を行います。
その後、FilterChain記号にてdoFilterメソッドによって一連の処理が実行されるので、これより前で処理を行うか後ろで処理を行うかで、クライアントからの要求と応答のどちら側でフィルタリングを行うか決定する処理を描き、そしてTarget の外部に保存されたオファーはキャッシュとして保存される状況を表現しています。EdrawMaxではこの他にもUMLシーケンズ図のテンプレートをご用意しております。
まとめ
今回はUMLシーケンス図記号とその使い方をご紹介しました。メソッドの呼び出しがある分より具体的で詳細に描かれます。この根気のいる作業を少しでもリラックスして表現できるEdrawMaxを私は重宝しています。視覚的にクリック&ドロップで作業しやすく、テンプレートも豊富にあります。PluntUMLという統一された規格を用いて図を共有するのも効率的ではありますが、自分の型や自分のビジネスを本来ITが持っている自由で開放的であることを思い出させてくれます。また、オブジェクトの大きさを均等にラインを等間隔に配置できる補助ラインもお気に入りの理由です。より視覚的にハイセンスな上、専門的な記述ができるEdrawMaxをあなたのビジネスのお供にいかがでしょうか。まずは、無料版のEdrawMaxをお試しください。
Edraw Max -- All In One の作図ツール
- 豊富なテンプレートと図形
- 様々なファイル形式に対応
- フローチャート、マインドマップ、組織図などを作成
- Officeライクの操作感覚 初心者もすぐ使える