方法: UML モデルおよび UML 図を編集する

UML モデルは、いくつかの異なる種類の図によって提供されるビューを使用して生成および編集できます。図を使用することにより、システムを異なる角度から検討できるため、システムの設計と要件のさまざまな側面について理解し、確認しあうことができます。Visual Studio Ultimate には、最も一般的に使用される 5 種類の UML 図のテンプレートが用意されています。

このトピックでは、各種の図に共通のモデルを編集する方法について説明します。

[!メモ]

特定の種類の図に固有の情報については、「ソフトウェア設計のためのモデルの開発」を参照してください。

このトピックの内容

  • UML モデルのビューである UML 図

  • UML モデリング図の生成

  • UML モデリング図の描画

  • シェイプとコネクタの編集

  • モデルへの変更の取り消し

  • 複数の図での要素の共有

  • 要素および関連要素グループのコピー

  • モデル要素またはそのビューの削除

  • 図内でのテキスト検索

  • プレゼンテーション用の図の準備

  • UML デザイナーの拡張

UML モデルのビューである UML 図

UML 図は、モデリング プロジェクトでのみ生成および使用できます。図およびプロジェクトを生成する方法の詳細については、「方法: UML モデリング プロジェクトおよび UML モデリング図を生成する」を参照してください。

  • モデリング プロジェクトには UML モデルが 1 つ存在します。プロジェクト内の UML 図はすべて UML モデルのビューを表します。

  • モデルは UML モデル エクスプローラーで表示できます。[アーキテクチャ] メニューの [ウィンドウ] をポイントし、[UML モデル エクスプローラー] をクリックします。

  • 図の中のシェイプはすべてモデル内の要素のビューを表します。図に新しいシェイプを配置するということは、そのモデルに新しい要素を生成するということです。

  • いずれかの図を保存すると、モデル全体、そのすべての図、およびモデリング プロジェクト ファイルが Visual Studio Ultimate によって保存されます。

UML モデリング図の生成

UML モデリング図を生成するには

  1. [アーキテクチャ] メニューの [新しいダイアグラム] をクリックします。[アーキテクチャ] メニューは、Visual Studio Ultimate でのみ使用できます。

    [新しいダイアグラムの追加] ダイアログ ボックスが表示されます。

  2. 目的の図の種類をクリックし、図の名前を入力します。

  3. [モデリング プロジェクトへの追加] ボックスでは、既存のモデリング プロジェクトを選択できるほか、[新しいモデリング プロジェクトを作成します] を選択することもできます。

    [!メモ]

    モデリング図はモデリング プロジェクトの一部としてのみ存在することができます。

ソリューション エクスプローラーで既存のモデリング プロジェクトに図を追加することもできます。モデリング プロジェクトを右クリックし、[追加] をポイントして、[新しい項目] をクリックします。

空の UML モデリング プロジェクトを生成するには

  • [ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックして、[新しいプロジェクト] ダイアログ ボックスの [モデリング プロジェクト] をダブルクリックします。

モデリング プロジェクトを管理する方法の詳細については、「方法: UML モデリング プロジェクトおよび UML モデリング図を生成する」を参照してください。

UML モデリング図の描画

モデリング図には、関係によってリンクされたモデル要素のコレクションが表示されます。それぞれの要素はシェイプの形式で表示され、それぞれの関係は 2 つのシェイプをつなぐコネクタの形式で表示されます。

要素用と関係用の 2 種類のツールが存在します。たとえば、UML クラス ダイアグラム ツールボックスの [クラス] は要素ツールであり、[関連] は関係ツールです。

[!メモ]

特定の図の種類に固有の情報については、「ソフトウェア設計のためのモデルの開発」を参照してください。

UML モデリング図の要素および関係を生成するには

  1. モデル要素を生成するには、ツールボックスで要素ツールをクリックし、その表示場所となる図をクリックします。要素を生成したら、そのハンドルをドラッグしてサイズと形状を調整します。

    場合によっては、新しい要素を別の要素内に配置することができます。たとえば、UML クラス図では、パッケージ内にクラスを配置できます。

    [!メモ]

    ツールボックスが表示されない場合は、[表示] メニューの [ツールボックス] をクリックしてください。

  2. 関係を生成するには、関係ツールをクリックし、関係の起点となる要素をクリックしてから、終点となる要素をクリックします。

    起点および終点として選択できる要素の種類は関係の種類によって異なります。たとえば、UML クラス図では、Comment 要素を起点または終点とする Association の関係は作成できません。

    [!メモ]

    同じツールを複数回使用するには、ツールをダブルクリックします。完了したら、[ポインター] ツールをクリックします。

一部の種類の図では、単純なシェイプを描画することもできます。これらのシェイプはモデルの一部ではありませんが、図のパートを強調したり、図を複数の領域に分割したりするために使用できます。

Dd409405.collapse_all(ja-jp,VS.110).gif他のモデリング ツールからの UML 要素のインポート

他のモデリング ツールから要素を XML Metadata Interchange (XMI) 2.1 ファイルとしてエクスポートできます。インポートされた要素を対応する図に追加するには、インポートされた要素を UML モデル エクスプローラー からドラッグします。モデル要素をインポートする方法の詳細については方法: XMI ファイルから UML モデル要素をインポートする を参照してください。

シェイプとコネクタの編集

シェイプのサイズ変更または色付けを行ったり、コネクタのルートを変更したりしても、基になるモデルは影響を受けません。ただし、図または UML モデル エクスプローラーでシェイプの名前を変更すると、対応する要素の名前が UML モデル エクスプローラー内およびその要素を表示するその他の図の中でも変更されます。

[!メモ]

ツールボックス アイテムを使用すると、要素のグループを生成したり、独自に選んだプロパティを持つ要素を生成したりできます。新しいツールボックス アイテムは簡単に作成できます。詳細については、「方法: カスタム モデリング ツールボックス項目を定義する」を参照してください。

次の図は、シェイプのサイズまたは名前を変更する方法を示しています。

モデル要素の調整

ヒントヒント

組み込みコマンドには、図形をきれいに整列させるためのコマンドは含まれていません。ただし、「方法: 図にモデルを表示する」に含まれている例のコードをコピーすると、独自の整列コマンドを簡単に作成できます。

次の図は、コネクタまたはそのラベルのルートと位置を調整する方法を示しています。

コネクタの調整

コネクタの片端を別のシェイプに移動するには

  1. 以下のいずれかを実行します。

    • Ctrl キーを押して端を移動します。

    または

    • コネクタを右クリックし、[再接続] をクリックします。
  2. 移動するコネクタの端をクリックします。

  3. コネクタの移動先のシェイプをクリックします。

要素、関係、または図の色およびその他のプロパティを変更するには

  • 要素をクリックし、プロパティ ウィンドウでフィールドを設定します。

    プロパティ ウィンドウが表示されていない場合は、要素を右クリックして、[プロパティ] をクリックします。

モデリング図を拡大または縮小するには

  • Ctrl キーを押しながらマウス ホイールを回転させます。

    または

  • Ctrl キーと Shift キーを押しながらマウスの左ボタンまたは右ボタンをクリックします。

    または

  • [アーキテクチャ デザイナー] ツール バーで、正符号 (+) または負符号 (-) をクリックするか、ズーム レベルを選択します。

図での検索

図のアイテムを検索するには、クイック検索機能を使用します。[検索対象][現在のドキュメント] に設定する必要があります。

モデリング図内のテキストを検索するには

  1. Ctrl キーを押しながら F キーを押します。

    または

    [編集] メニューで、[検索と置換] をポイントし、[クイック検索] をクリックします。

    [!メモ]

    [検索と置換] ダイアログ ボックスの [検索対象] フィールドの設定は [現在のドキュメント] のままにしておく必要があります。その他のオプションはサポートされていません。

  2. 検索するテキストを入力し、[次を検索] をクリックします。

    [!メモ]

    縮小表示されたシェイプ内のテキストを検索した場合、シェイプは強調表示されません。シェイプを展開してから、再度 [次を検索] をクリックしてください。

モデルへの変更の取り消し

モデルおよび図に対して行った変更の取り消しとやり直しは、それぞれ [編集] メニューの [元に戻す] コマンドと [やり直し] コマンドを使用して実行します。

**各モデリング プロジェクトには変更のスタックが 1 つだけ存在する。**モデルおよび図に対して行った変更はすべてこのスタックに記録されます。スタックには図から図へのフォーカスの切り替えも含まれます。[元に戻す] コマンドは、このスタックに記録された変更を逆にたどることによって実行されます。

たとえば、Diagram1 に変更を加え、フォーカスを Diagram 2 に切り替えてから、Diagram2 に変更を加えたとします。ここで、[元に戻す] コマンドを 3 回実行すると、1 回目には最後の変更が取り消され、2 回目にはフォーカスが Diagram1 に戻され、3 回目には Diagram1 に対する変更が取り消されます。

**図を閉じると変更のスタックが切り捨てられる。**図を閉じると、その図に対して実行した変更は元に戻せなくなります。また、それ以前にモデルまたはその図に対して加えた変更も元に戻せなくなります。

**プロパティの編集中に元に戻す操作を実行することはできない。**プロパティ ウィンドウでプロパティを編集しているとき、または図のラベルのプロパティを編集しているときは、そのプロパティに対する変更しか元に戻すことができません。Enter キーを押してプロパティの変更を確定するか、Esc キーを押して変更を取り消してください。これで、モデルおよび図に対する変更を元に戻すことができるようになります。

**図を保存せずに閉じると、意図しない結果になる場合がある。**図に変更を加えた後にその図を保存せずに閉じても、変更内容はモデルで保持されます。図を保存せずに閉じる必要がある場合は、モデル全体を閉じることをお勧めします。

複数の図での要素の共有

モデル要素の特定のインスタンスを複数の図にわたって繰り返し表示することができます。クラス、インターフェイス、コンポーネント、ユース ケース、およびアクターがこれに該当します。

この機能は、図ごとに異なる関係のグループを表示する必要がある場合に便利です。たとえば、ある図の中では、Customer クラスと Address クラスとの間に関連付けを表示し、別の図では、同じ Address クラスを Postal Area クラスに関連付けることができます。

名前などのモデル要素のプロパティは、図の中でそのビューのいずれかを選択するか、UML モデル エクスプローラーで選択することによって変更できます。

それぞれの図の種類で表示できるモデル要素の種類は限られています。たとえば、コンポーネント図にユース ケースを表示することはできません。したがって、モデル要素と図の組み合わせによっては、次の手順を使用できない場合があります。

UML モデル エクスプローラーを使用してモデル要素の新しいビューを追加するには

  1. UML モデル エクスプローラーを開くには、[アーキテクチャ] メニューの [Windows] をポイントし、[UML モデル エクスプローラー] をクリックします。

  2. UML モデル エクスプローラーから同じプロジェクト内の互換性のある図にモデル要素をドラッグします。

    モデル要素のビューを表すシェイプが表示されます。これは、他の図または同じ図のビューに追加される形で表示される場合があります。

    [!メモ]

    クラスまたはコンポーネントをシーケンス図にドラッグした場合、結果は異なります。その場合は、そのクラスまたはコンポーネントと同じ型の新しい生存線が生成されます。詳細については、「UML シーケンス図: ガイドライン」を参照してください。

[参照の貼り付け] を使用してモデル要素の新しいビューを追加するには

  1. 既存の要素を右クリックし、[コピー] をクリックします。

    • 複数の要素を同時にコピーすることができます。Ctrl キーを押しながら要素を 1 つずつクリックし、すべてクリックしたら、そのいずれかの要素を右クリックして、[コピー] をクリックします。
  2. 互換性のある図の空の領域を右クリックし、[参照の貼り付け] をクリックします。

    同じ要素のもう 1 つのビューが表示されます。

    [!メモ]

    これは、モデル内に新しい要素を生成する [貼り付け] コマンドとは異なります。詳細については、「要素および関連要素グループのコピー」を参照してください。

[!メモ]

既に特定の関係で接続されている 2 つのモデル要素から成る図のビューに対して追加した場合、その関係のビューも図に表示されます。このビューを削除するには、要素の 1 つを図から削除するか、この関係をモデルから削除する必要があります。

要素および関連要素グループのコピー

モデル要素はコピーして貼り付けることができます。また、要素のグループをその関係も含めてコピーして貼り付けることもできます。

[!メモ]

[貼り付け] コマンドと [参照の貼り付け] コマンドとでは、その効果が異なります。[貼り付け] を使用すると、コピー元の要素と同様のプロパティを持つ新しい要素が生成されます。[参照の貼り付け] を使用すると、同じ要素の新しいビューが生成されます。

要素とその関係をコピーするには

  1. コピーする要素がある図で、1 つ以上の要素を選択します。

    [!メモ]

    要素のグループから関係だけを切り離してコピーすることはできません。

  2. [編集] メニューの [コピー] をクリックします。

  3. 要素を別の図にコピーする場合は、新しい図を生成するか、既存の図を開きます。

  4. [編集] メニューの [貼り付け] をクリックします。

    • 要素のコピーが、要素間に存在するすべての関係のコピーと共に表示されます。

    • それぞれの新しい要素には、自動的に生成された新しい名前が付けられます。

  5. 新しい要素と関係の位置や名前などのプロパティを調整します。

[!メモ]

2 つのモデルが同じソリューションに存在する場合などに、モデル間でモデル要素をコピーすることはできません。ただし次の 1 種類の図から別のページに要素を貼り付けることができます。

図全体をコピーするには

  1. 新しい図を生成します。

  2. 既存の図のすべての要素を選択しコピーおよび新しいレコードに貼り付けます。

ソリューション エクスプローラーでコピーして貼り付けることによって図を複製できません。

モデル要素またはそのビューの削除

分類子などの特定の種類の要素は、モデルから削除する必要はなく、図から削除することができます。分類子は、クラス図、コンポーネント図、およびユース ケース図に表示される主要な要素です。複数の図に表示される場合もあります。このような要素には、[図から削除][モデルから削除] という 2 つの別個のコマンドを使用できます。

一方、図から関係を削除すると、その関係は自動的にモデルからも削除されます。

[!メモ]

UML 図の特定の種類の要素にはラベルがあります。要素の周囲に四角形を描画して選択すると、ラベルを選択することはできますが、そのラベルを所有する要素は選択できません。この方法で選択された要素のサブセットの削除はサポートされていません。これらの要素のサブセットを選択するには、Ctrl キーを押しながら各要素をクリックします。

分類子のビューを図から削除するには

  • 図の要素を右クリックして、[ダイアグラムから削除] をクリックします。

または

  • 図の要素をクリックして、Del キーを押します。

    • この要素のビューが削除されます。ただし、要素そのものはモデルに残り、UML モデル エクスプローラーにも表示されます。同じ要素の他のビューもすべて保持されます。

    • このシェイプに接続されているコネクタはすべて図から削除されますが、それが表している関係はモデル内に残ります。UML モデル エクスプローラー[関係] を確認すると、コネクタによって接続されている各要素の下に関係が表示されています。

モデルから要素を削除するには

  • UML モデル エクスプローラーまたは図で要素を右クリックし、[モデルから削除] をクリックします。

    • 要素がそれが表示されていたすべての図から削除されます。

    • この要素に接続されている関係もすべてモデルから削除されます。

モデルから関係を削除するには

  • 図または UML モデル エクスプローラーで関係を右クリックし、[モデルから削除] をクリックします。

    Caution メモ注意

    関係をモデルからは削除せずに図からのみ削除することはできません。

    関係がモデルから削除されます。この関係は、それが表示されていたすべての図からも削除されます。

プレゼンテーション用の図の準備

次のように、図の特定のパートを強調したり、説明を追加したりできるほか、1 つの図を複数の関心領域に分割することができます。

  • 図の任意のパートを Word や PowerPoint などのドキュメントにコピーできます。目的のシェイプとコネクタを選択し、マウスの右ボタンをクリックして、[コピー] をクリックします。

  • 任意のシェイプまたはコネクタの色を変更できます。1 つ以上のシェイプを選択し、[カラー] プロパティを変更します。[プロパティ] ウィンドウが表示されていない場合は、F4 キーを押します。

  • 特定の種類の図では、ツールボックスの [単純なシェイプ] セクションから、線、四角形、および楕円を描画できます。これらのシェイプは UML モデルの一部を形成するものではありません。

  • 領域にラベルを付けるには、ツールボックスから [コメント] をドラッグし、その [透明] プロパティを [True] に設定します。単純なシェイプと同様に、コメントは、UML モデルの一部を形成するものではないため、UML モデル エクスプローラーに表示されません。

  • モデル要素にメモおよび説明を追加できます。これを行うには、コメントを生成し、要素にリンクします。

  • 図で列または行の図形を整列するために、[図形の整列] コマンドをインストールできます。これは、サンプル UML 拡張として利用できます (UML: Command to Align Shapes (UML: 図形を整列するコマンド))。

Dd409405.collapse_all(ja-jp,VS.110).gifダイアグラムをイメージとしてエクスポートするには

詳細については、「図のイメージのエクスポート」を参照してください。

UML デザイナーの拡張

UML ツールに新しい機能を追加し各自のニーズにダイアグラムの表記を調整できます。詳細については、「UML モデルと図の拡張」を参照してください。

使用できるいくつかのサンプル拡張子を持ちます。単にインストールして使用するか独自の拡張の基礎としてソース・コードを使用できます。サンプルは以下が含まれています :

表示する図を片付けるメニュー コマンド。

見出しPowerPoint のスライドファイルを Word はUML 要素を入力しUML 図または他の UML 要素リンクします。リンクはドラッグして容易に行うことができます。後でリンク項目を表示するには各要素をクリックできます。たとえば詳細な仕様やアクティビティ図を Word にユース ケースをリンクしボード ストーリーへのアクションにスライドします。

テキスト入力を使用してモデルをすばやく作成します。会議の概念をキャプチャするために役立ちます。

ステレオタイプに従って色のクラス。独自のステレオタイプの作業に簡単にコードを拡張できます。

ビジネス モデルに適した既定値です。関連は矢印を使用しないで既定では操作はクラスには表示されません。

参照

概念

方法: UML モデリング プロジェクトおよび UML モデリング図を生成する

アプリケーションのモデル化

ソフトウェア設計のためのモデルの開発