UML 図作成とデータベース モデリングのガイド
UML を使用する理由
UML は 1990 年代に Grady Booch、Ivar Jacobson、James Rumbaugh という 3 人のソフトウェア エンジニアによって初めて登場しました。彼らは、方法論をプロセスから分離しつつ、ますます複雑になるソフトウェア開発を表すためのよりシンプルな手法を策定したかったのです。今日でも、UML は開発者に加えて、各業界にわたるプロジェクト マネージャー、ビジネス オーナー、テクノロジ系起業家、プロフェッショナルにとって頼りになる標準的な表記となっています。
UML にはどのような利点がありますか?
- 複雑なことの簡素化
- オープンなコミュニケーション ラインの維持
- ソフトウェアの作成とプロセスの自動化
- 永続的なアーキテクチャの問題の解決支援
- 作業の品質の向上
- コストと市場投入までの時間の削減
UML 図の種類
顧客とプロジェクト マネージャーから、テクニカル ライター、デザイナー、アナリスト、コーダ、QA、テスト担当者まで、それぞれの役割でニーズに合わせて特定の図が利用されます。つまり、それぞれのレイアウトに異なるフォーカスと詳細レベルが求められます。その目的は、UML で誰もが理解しやすい図を視覚的に表現することです。
構造図
振る舞い図
各カテゴリに分類されるさまざまな種類の UML 図について詳しく見てみましょう。
1. 構造 UML 図
クラス図。ソフトウェア開発において特に一般的な種類であるこの図は、システムの論理的および物理的な設計を描くために使用され、そのクラスを示します。クラスがボックスで表されるため、外観はフロー チャートに似ています。この図は、さまざまなクラスとその相互関係を示すビジュアルとして使用でき、各クラスには次の 3 つのコンパートメントがあります。
- 上部のセクション: クラス名
- 中央のセクション: クラス属性
- 下部のセクション: クラス メソッドまたは操作
UML クラス インターフェイス図の例。 ダウンロードが可能なテンプレート。
オブジェクト図。多くの場合、この図は、クラス図の正確性をダブルチェックする手法として用いられます。つまり、実際に機能するかを確認します。システムのオブジェクトとそれらの関係を示し、修正を必要とする潜在的な設計上の欠陥をより適切に示します。
コンポーネント図。コンポーネント フロー図とも呼ばれ、要素とそれらの関係の論理グループを示します。つまり、より小さなコンポーネントに分割して、複雑なシステムをよりシンプルに示します。各部分は長方形のボックスを使用して示され、その中に名前が書き込まれています。コネクタは、さまざまなコンポーネント間の関係/依存関係を定義します。
複合構造図。これは、ソフトウェア開発分野以外のユーザーにはめったに使用されません。なぜなら、これはクラス図に似ていますが、複数のクラスの内部構造を記述し、それらの間の相互作用を示して、詳細を掘り下げているからです。ユーザーが開発者である場合を除き、最上位レベルのビューで十分な情報となるでしょう。
配置図。この図は、ハードウェア (ノード) およびソフトウェア (アーティファクト) コンポーネントとそれらの関係を示しています。各ソフトウェア コンポーネントが配置される場所を正確に視覚的に表現できます。
パッケージ図。これは、モデルを構成するパッケージ間の依存関係を描くために使用されます。主な目的は、複雑なシステムを形成するさまざまな大きいコンポーネント間の関係を示すことです。
プロファイル図。これは、図よりも言語に似ています。プロファイル図は、カスタム ステレオタイプ、タグ付けされた値、制約を定義し、UML 図の新しいプロパティとセマンティクスを作成するうえで役立ちます。これらのプロファイルを使用すると、さまざまなプラットフォーム (Java Platform、Enterprise Edition (Java EE)、Microsoft .NET Framework など) とドメイン (ビジネス プロセス モデリング、サービス指向アーキテクチャ、医療アプリケーションなど) に対して UML メタモデルをカスタマイズできます。
2. 振る舞い UML 図:
基本的な UML ユース ケース図の例。 ダウンロードが可能なテンプレート。
ユース ケース図。これによって描写されるのはシステムの動作であり、その方法ではありません。ユース ケースとは、“アクター” がシステムを使用してプロセスを完了する際に生じる一連のイベントです。アクターは、システムの外部からシステム (人、組織、アプリケーション) とやり取りするすべてのユーザーまたはものとして定義されています。そのため、ユース ケース図では、その一連のシーケンスを視覚的に描写し、システムの機能要件を表します。
相互作用 概要図。多くの場合、この図はアクティビティ図に似ています。なぜなら、どちらもアクティビティのステップ バイ ステップのシーケンスを示しているからです。ただし、相互作用概要図は、さまざまな相互作用図で構成されたアクティビティ図です。アクティビティ図と同一の注釈 (開始、終了、デシジョン、マージ、フォーク、ジョインの各ノード) を使用し、相互作用、相互作用の使用、時間制約、持続制約などの要素が追加されています。
タイミング図。この UML 図は、タイミングが特に重要視される場合に使用します。シーケンスまたはイベント図とも呼ばれ、オブジェクトがどのように相互に作用または変化するかを示すことはありません。機能的には、オブジェクトとアクターがタイムラインに沿ってどのように動作するかを示します。ここでは、イベントの存続時間と、持続制約に応じて生じる変化に焦点を当てます。タイミング図の主な部分は次のとおりです。
- ライフライン: 個々の参加者
- 状態のタイムライン: パイプライン内でライフラインが通過するさまざまな状態
- 持続制約: 制約が満たされている必要がある時間帯
- 時間制約: 参加者によって何かが満たされている必要がある時間帯
- オカレンスの破棄: オブジェクトのライフラインが終了する時点。ライフラインでのオカレンスの破棄の後、他のオカレンスは表示されません。
状態機械図。この図はステートチャートとも呼ばれ、オブジェクトの振る舞いが複雑で詳細が特に重要な場合に適用されます。これは、1 つのオブジェクト (または場合によっては演算子) の振る舞いと、内部および外部イベントに基づいてどのように変化するかを描写するうえで役立ちます。
シーケンス図。この視覚的に魅力的な図は、デザイン コミュニティ以外でも普及していて、あらゆる種類のビジネス プロセスを示すのに適しています。シンプルにシステムの構造を明らかにして、メッセージのシーケンスと、アクターおよびオブジェクト間の相互作用を時系列で示します。シーケンス図は、シンプルなイテレーションと分岐を示していて、マルチタスクの実行に適しています。
コミュニケーション図。コミュニケーションまたはコラボレーション図は、シーケンス図に似ていますが、オブジェクト間のコミュニケーションを強調しています。相互作用に参加するオブジェクトの編成を示し、より複雑なイテレーションと分岐を取り上げます。
データベース モデル
UML は、データベースのモデリングの表記としても普及しています。これらのモデルは、ブレーンストーミング、自由形式の図の作成、アイデアを基にした共同作業のための優れたビジュアル ツールです。
UML は データ モデリングの仕様を有していませんが、特にデータベースからのデータをオブジェクト指向プログラミングで使用できるため、図の作成に役立つツールです。
作成できるさまざまな種類のデータベース モデルを見てみましょう。
- 階層型データベース モデル。古いですが有用です。このモデルのデータはツリーのような構造で編成されています。ツリーは、セグメントと呼ばれるいくつかのグループで構成されています。一対多リレーションシップが使用されていて、データ アクセスも予測可能です。
- ネットワーク モデル。このモデルはグラフの形式を取っていて、リレーションシップの種類は円弧、オブジェクトの種類はノードになります。他のデータベース モデルとは異なり、ネットワーク モデルのスキーマは、格子または階層に限定されません。
- オブジェクト指向データベース モデル。このモデルでは、関連付けられた機能とメソッドを持つオブジェクトまたは再利用可能なソフトウェア要素のコレクションを使用します。たとえば、マルチメディア データベースには、リレーショナル データベースに格納できない画像を含めることができます。また、ハイパーテキスト データベースを使用すると、他のオブジェクトへのリンクが可能になります。
- リレーショナル モデル。ここでは、データはリレーション、または列と行を持つ格子状の数学的構造を使用して構造化されます。基本的にこれはテーブルです。
- オブジェクト リレーショナル モデル。名前が示すように、このモデルでは上記の 2 つが組み合わされています。オブジェクト、クラス、継承、その他のオブジェクト指向要素をサポートしていますが、リレーショナル データ モデルと同様にデータ型、表形式の構造などもサポートしています。
- 実体関連モデル。これは実体の種類 (人、場所、もの) で構成されていて、それらの間に存在する関連を示します。ER 図は実体とその属性を定義し、それらの間の関連を示して、データベースの論理構造について説明します。
- ドキュメント モデル。これはアトミック データではなく、ドキュメントまたは半構造化データの格納と管理のために設計されています。ツリー構造を持ち、各ノードはドキュメントの一部を表すオブジェクトになっています。
- Entity-Attribute-Value モデル。EAV またはオープン スキーマ モデルでは、データは次の 3 つの列として記録されます。
- 実体 (記述されている内容)
- 属性またはパラメーター (名前、説明、データ型など)
- 属性の値
- スター スキーマ。これはディメンショナル モデルの最も単純なバージョンであり、データはディメンションとファクトに配置されます。ビッグ データ セットに対してクエリを実行するのに適しているため、ビジネス インテリジェンスとデータ ウェアハウスで使用されます。
ソフトウェアを使用した簡素化
データベース モデルまたは UML 図のどちらを作成する場合でも、 ソフトウェア ツール を使用すると、プロセスが簡素化および改善されます。以下のことが可能なものを選択するようにしてください。
- UML 2.5、BPMN 2.0、IEEE などの業界標準に準拠したコンテンツ エコシステムのそのまま使えるテンプレートときわめて多数の図形を駆使して、本格的な図を作成する。
- 1 ステップでの Excel データの視覚化を含む、データをわかりやすくするデータ オーバーレイ、アイコン、色、グラフィックスを駆使して、図をブラッシュ アップする。
- 共同編集、コメント、注釈を使用して、他のユーザーと共同作業を行う。
- ブラウザまたはデバイス アプリケーションで、ほとんど場所を問わずに同一の情報を伝達し、図にアクセスする。
ソフトウェア開発と多くの業界にわたるソフトウェア以外のシステムでは、視覚的な UML 図の使用が、振る舞いのプロセスと構造の構築の成功において重要な役割を果たすことがあります。 このステップ バイ ステップ ガイド では、 ソフトウェアを使用して UML 図を作成する方法について学べます。
Marin は、Microsoft のマーケティング チームの一員であり、起業家によるビジネスのより適切な始動、管理、成長を実現する方法を確かめることに熱中しています。
Microsoft 365 をフォロー