Customize Search Rules
by SparxSystems Japan

検索ルールのカスタマイズ 機能ガイド(2022/04/27 最終更新)

検索ルールのカスタマイズ 機能ガイド

目次
1.

はじめに ........................................................................................................................................................ 3

2.

検索機能の概要 ............................................................................................................................................. 33.

検索機能のカスタマイズの概要 ................................................................................................................... 54.

定義エディタによる検索ルールの定義 ........................................................................................................ 7

5.

SQL エディタによる検索ルールの定義 ..................................................................................................... 11

6.

検索ルールの管理と共有 ............................................................................................................................ 14

Copyright (c) 2010-2022 Sparx Systems Japan2

検索ルールのカスタマイズ 機能ガイド

1. はじめにこの機能ガイドでは、Enterprise Architect がもつ検索機能について、基本的な使い方と、カスタマイズの方法・メリットについて説明します。Enterprise Architect の検索機能には強力なカスタマイズ機能がありますので、モデル内の全ての情報を対象に、好みの条件に合致するモデル要素を好みの形で取得して一覧表示することができます。
この検索機能を使いこなすことによって、モデル内の情報のうち必要な情報を自由に手に入れることができ、設計開発の効率化に役立ちます。

2. 検索機能の概要
このドキュメントで対象にしている検索機能は、「ホーム」リボン内の「探索」パネルにある「検索」ボタンを押すと表示されるメニューから「モデル内の検索」を実行すると表示されます。
「モデル内の検索」のタブが表示されます。
(ショートカットキー Ctrl+F が便利です。)

この検索機能では、「検索単語」に検索する単語を入力し、利用する検索ルールを選択後「実行」ボタン()を押すと、一覧形式で検索ルールの条件を満たす要素(検索ルールによってはダイアグラム)が表示されます。
この検索機能の検索ルールの選択ドロップダウンリストと選択単語の入力欄は、Enterprise Architect のバージョンによっては上の画像と表示が異なります。
例えば、次の例は、サンプルファイル (EAExample.qea) に対して検索ルール「要素の名前とノート」で、検索単語に「ログイン」を指定した場合の結果です。

Copyright (c) 2010-2022 Sparx Systems Japan3

検索ルールのカスタマイズ 機能ガイド

検索結果に含まれる要素を選択すると、プロパティサブウィンドウにその要素の情報が表示されます。また、右クリックすると、選択された要素(複数選択可能)に対してモデルからの完全削除などの処理を実行したり、選択された要素だけが含まれるドキュメントを出力したりすることができます。
検索結果のそれぞれの列のヘッダ(見出し。上の画像の場合は「要素」「種類」「ステレオタイプ」など)を、その上の「列の見出しをここにドラッグするとグループ化できます」と書かれている位置にドラッグすることで、検索結果を分類して表示することができます。次の例は、種類で分類した例です。

Copyright (c) 2010-2022 Sparx Systems Japan4

検索ルールのカスタマイズ 機能ガイド

また、右クリックして「選択した要素をクリップボードにコピー」を実行すると、CSV 形式でクリップボードにコピーされますので、モデル内の情報をテキスト(文字列)として活用できます。
既定の検索ルールとして、上記の「要素の名前とノート」のほか、「要素名」「属性のプロパティ」「最近更新された要素」「自分がチェックアウトしたパッケージ」など、さまざまな場面で役に立つルールが利用可能になっています。これらの既定の検索ルールを活用するだけでも、モデル全体から必要な情報を効率的に探し出すことができます。
また、検索結果に表示されている要素は、ドラッグ&ドロップで既存のダイアグラムに貼り付けることもできます。この場合には、以下の画像のように、検索結果のタブをウィンドウとして独立させておくと操作が楽になります。

このように他のダイアグラムと同時に表示するためには、ダイアグラムのタブや「モデル内の検索」のタブをドラッグして移動可能なサブウィンドウ形式で表示させ、希望する位置に配置してください。
(この機能は「Enterprise Architect 続・入門セミナー」でも紹介しています。)

3. 検索機能のカスタマイズの概要
第 2 章で紹介した検索機能には、独自の検索ルールを定義することのできるカスタマイズ機能も搭載しています。このカスタマイズ機能を利用することで、自分たちの設計開発のプロセスに沿った便利な検索ルールを独自に定義し、活用することができます。定義した検索ルールはファイルとして外部出力し、別の利用者がその定義を読み込んで利用することができますので、チーム内で共有することも可能です。
Copyright (c) 2010-2022 Sparx Systems Japan5

検索ルールのカスタマイズ 機能ガイド

この章では、カスタマイズについての概要を紹介します。
Enterprise Architect の検索ルールの定義方法には、次の 3 種類があります。
・ 定義エディタによる定義
・ SQL クエリを利用した定義
・ アドイン検索
このうち、「アドイン検索」は、定められたインターフェースを持つ ActiveX COM の DLL を作成し、検索の実行時に呼び出す方式です。この DLL の中では Enterprise Architect の API を利用することができますので、Enterprise Architect の内部のモデル情報を参照して複雑な処理・判断を行った結果を検索結果として表示したり、Enterprise Architect 以外のアプリケーションなど外部の情報まで含めた結果を検索結果として表示したりすることができます。
このアドイン検索については、C#や VB.NET など ActiveX COM DLL を作成することのできるプログラム言語についての知識や、DLL を作成するための手順などの知識が必要になります。このドキュメントでは説明を割愛します。
「SQL クエリを利用した定義」は、以下の内容のように、SQL の SELECT 文を利用して、検索ルールを定義する方法です。

Enterprise Architect のプロジェクトは、SELECT 文などの SQL をそのまま実行できるデータベースになっています。そのため、上記のような SQL クエリを定義・実行可能です。概要は、PDF ドキュメント「SQLクエリの活用 機能ガイド」をご覧ください。
ただし、この SQL クエリを利用した検索ルールを定義する方法は、難易度が高いです。また、SQL 作成に必要となるテーブル名や列名は、標準サポートの範囲外となります。そのため、これから説明する「定義エディタ」を利用しても定義できない複雑な検索ルールを定義する場合に利用することをお勧めします。この「SQLクエリ」の概要については、第 5 章で説明します。
最初の選択肢である「定義エディタによる定義」は、この検索機能の標準的な検索ルールの定義方法です。
Copyright (c) 2010-2022 Sparx Systems Japan6

検索ルールのカスタマイズ 機能ガイド

検索ルールをわかりやすく定義することができます。この定義の一例は次の通りです。

この「要素の名前とノート」の検索ルールでは、上記の画像を見て分かるように、要素の「ノート」「別名」「名前」が検索対象です。
「<検索単語>」として指定された文字をいずれかの検索対象に「含む」場合に、検索ルールの条件に該当すると見なします。
このように、Enterprise Architect の画面に実際に表示されている項目を指定して、検索ルールを構築できます。

4. 定義エディタによる検索ルールの定義
この章では、具体的に定義エディタを利用して独自の検索ルールを定義する場合の手順について説明します。
独自の検索ルールを定義する場合には、まず検索ビュー上部にあるツールバーの「検索ルールの新規作成」()ボタンを押します。ボタンを押すと、次のような画面が表示されます。この画面で「エディタの種類」として選択できる 3 つの選択肢が、第 2 章で説明した 3 つの種類に対応します。

Copyright (c) 2010-2022 Sparx Systems Japan7

検索ルールのカスタマイズ 機能ガイド

今回は、「定義エディタ」を選択し、検索ルールの名前を入力して OK ボタンを押します。すると、内容が空の検索ルールが表示されます。

次に、ツールバーの「条件の追加」()ボタンを押します。すると、検索条件の追加と編集画面が表示されます。ここで表示される一覧から、条件に指定したい項目にチェックを入れます。

なお、画面の最上部にある「検索対象」のドロップダウンリストを変更することで、要素の属性や操作・テスト項目などに関する項目を選択できます。
(要素に関する条件とダイアグラムに関する条件は混在することができません。つまり、このドロップダウンリストで「ダイアグラム」を選択して条件を追加した場合には、要素に関する条件を追加することはできません。)
対象の項目には、一覧でチェックを入れるほかに、必要に応じてその他のパラメータを指定します。例えば「含む」となっている条件を「一致」「不一致」などに変更することができます。また、「値」の欄については、「<検索単語>」となっている項目は、検索の実行時に指定された文字列で検索することになります。固定の文字列で検索する場合には、ここに具体的な値を入力します。最後の「必須」のチェックボックスは、条件をAND にするか OR にするかを指定するための情報です。後ほど具体的に説明します。
(条件が 1 つの場合には、「必須」にチェックが必要です)

Copyright (c) 2010-2022 Sparx Systems Japan8

検索ルールのカスタマイズ 機能ガイド

以下、いくつかの設定例です。
○ 名前が「ログイン」の要素を検索するルール(名前は完全一致のため、「ログイン画面」のような名前の要素は条件に合致しません。)→「名前」の行の左端の「条件の追加」にチェック・「条件」は『一致』・「値」に『ログイン』・「必須」にチェック(条件が 1 つの場合には、「必須」にチェックが必要です)○ バージョンが 1.0 で、名前か別名に指定された文字列が含まれる要素を検索するルール

Copyright (c) 2010-2022 Sparx Systems Japan9

検索ルールのカスタマイズ 機能ガイド→「バージョン」の行の「条件の追加」にチェック・「条件」は『一致』・「値」は『1.0』
・「必須」にチェック(条件が複数ある場合には、合致する必要のある条件についてのみ「必須」にチェック)→「名前」「別名」の行の「条件の追加」にチェック○ アクティビティ図を検索するルール

Copyright (c) 2010-2022 Sparx Systems Japan10

検索ルールのカスタマイズ 機能ガイド→「ダイアグラムの種類」の行の「条件の追加」にチェック・「条件」は『一致』・「値」は『Activity』
・「必須」にチェック※要素やダイアグラムの種類は、英単語で指定する必要があります。指定する英単語は、ヘルプの「Element」あるいは「Diagram」のページ(ともに API の説明ページ)をご覧ください。

上記の例のように、「必須」のチェックボックスは、以下のように働きます。
・ 条件が 1 つの時は、「必須」のチェックは必須です。
(チェックがない場合、常に全ての要素が条件に合致してしまいます)・ 複数の条件がある場合には、以下のようになります。
➢「必須」のチェックがある項目は、AND の条件で判断されます。つまり、全ての条件を満たす必要があります。

➢「必須」のチェックがない項目は、OR の条件で判断されます。つまり、いずれか 1 つの条件を満たす必要があります。

多くの検索ルールについては、このエディタを利用することで定義することができます。ただし、一覧に表示されない項目については、検索することができません。例えば、バージョン管理機能を利用しているときに「自分がチェックアウトしたパッケージ」を取得する機能は、選択肢に「自分がチェックアウトしたかどうか」がないため、このエディタでは検索ルールを定義することができません。また、「名前と別名が同じ」のような、モデル内のプロパティを参照する必要のある検索ルールも定義できません。
このような場合には、次の SQL エディタでの定義が必要になります。

5. SQLエディタによる検索ルールの定義
Enterprise Architect のモデル情報は、データベースの形式で保存されています。標準の形式である、拡張子 QEA あるいは QEAX のプロジェクトファイルは、SQLite 3 の形式のデータベースファイルです。コーポ
レート版以上のエディションで利用できる DBMS リポジトリについても、MySQL や SQL Server などのデータベースにモデル情報を格納する形式になっています。
つまり、Enterprise Architect の情報は、例えば下記のような SQL のクエリで、内容を取得することができる、ということになります。
SELECT * FROM t_object;
この例で、「t_object」は Enterprise Architect の内部のテーブルの名前です。t_object は、要素の基本的なプロパティを格納するテーブルの名称です。
このような SQL クエリを定義・実行できるのが、「SQL エディタ」です。第 4 章で説明した検索ルールのCopyright (c) 2010-2022 Sparx Systems Japan11

検索ルールのカスタマイズ 機能ガイド

作成時に「SQL エディタ」を選択することで、以下のように「検索ルールエディタ」のタブで、SQL のクエリ文を自由に入力できるようになります。

上記の内容を実行すると、全ての要素の全ての情報が一覧に表示されます。
このときの「t_object」などの Enterprise Architect 内部のテーブル名は、ヘルプの API のページに、いくつか記載されています。例えば、API で要素を示す Element オブジェクトのページには、以下のように記載されています。

そのほか、SQL エディタ内で Ctrl+SPACE キーを押すことで補完機能を呼び出すことができます。この補完機能でテーブル名を入力することもできます。

Copyright (c) 2010-2022 Sparx Systems Japan12

検索ルールのカスタマイズ 機能ガイド

前述のように、QEA/QEAX ファイルは SQLite 3 形式ですので、SQLite 用のツールを利用することで、内部のテーブル名やフィールド(列)名を確認することもできます。このテーブルの内容については標準サポートの範囲外となりますので、こうした方法で独自に解析していただく必要があります。
(また、海外の Enterprise Architect のユーザーの方が作成した電子書籍「Inside EA」も有用です。)
なお、検索ルールの定義領域(エディタ)を表示した状態で既存のルールを選択すると、その定義内容を確認することができます。特に SQL 検索の場合には、どのような SQL 文を作成しているのかがわかりますので、独自の検索ルールを定義する場合に参考になります。
(既定の検索ルールでは、「最近更新された要素」「自分がチェックアウトしたパッケージ」などが、SQL 検索として定義されています。)
なお、
この SQL 検索は、検索ルールとして定義しなくても、いつでも実行することができます。それが「SQL」のタブです。このタブに SQL 文を入力して、ツールバーの実行( )ボタンを押すことで、その結果を一覧として表示することができます。検索ルールとして定義する必要のない、一時的な検索の場合などに便利です。

この「SQL」のタブに入力した内容は、検索ルールとしては保存されません。

Copyright (c) 2010-2022 Sparx Systems Japan13

検索ルールのカスタマイズ 機能ガイド

6. 検索ルールの管理と共有
第 5 章までで説明した方法で検索ルールを定義した場合には、ファイルとして検索ルールを定義したマシンに保存されます。これにより、検索ルールを定義したプロジェクト以外でも検索ルールを呼び出して活用することができます。
しかし、この問題点として、自分が定義した検索ルールは、別の人は利用できません。そのため、作成した検索ルールを共有するためには、ファイルとして出力する必要があります。
検索ルールを出力するためには、ツールバーの「検索ルールの出力」を実行します。

すると、以下のような画面が表示されます。

Copyright (c) 2010-2022 Sparx Systems Japan14

検索ルールのカスタマイズ 機能ガイド

定義されている検索ルールが一覧に表示されますので、出力するルールを指定してください。検索ルール
は XML ファイルとして出力されます。出力されたファイルは、同じサブメニューにある「検索ルールの読み込み」を実行して読み込むことができます。
なお、「MDG テクノロジー」の仕組みを利用することで、独自に検索したルールやその他の拡張データをまとめて配布することができます。
「MDG テクノロジー」はネットワークドライブや Web サーバに配置して、Enterprise Architect 起動時に自動的に取り込むようにすることができますので、検索ルールを自動的に配布することも可能になります。
(「MDG テクノロジー」の概要は、ヘルプやドキュメント「MDG テクノロジー 機能ガイド」をご覧ください。)

Copyright (c) 2010-2022 Sparx Systems Japan15

検索ルールのカスタマイズ 機能ガイド○改版履歴2010/08/18 初版
2011/05/18 Enterprise Architect バージョン 9.0 リリースに伴い、画像および内容を更新。
2011/12/08 Enterprise Architect バージョン 9.2 リリースに伴い、画像および内容を更新。
2012/03/07 Enterprise Architect バージョン 9.3 リリースに伴い、画像および内容を更新。
2014/04/22 Enterprise Architect バージョン 11.0 リリースに伴い、画像および内容を更新。
2015/02/12 Enterprise Architect バージョン 12.0 リリースに伴い、画像および内容を更新。
2016/10/07 Enterprise Architect バージョン 13.0 リリースに伴い、画像および内容を更新。
2018/05/16 Enterprise Architect バージョン 14.0 リリースに伴い、画像および内容を更新。
2019/08/22 Enterprise Architect バージョン 15.0 リリースに伴い、画像を更新。
2020/02/03 Enterprise Architect バージョン 15.1 リリースに伴い、内容を更新。
2022/04/27 Enterprise Architect バージョン 16.0 リリースに伴い、内容を更新。

Copyright (c) 2010-2022 Sparx Systems Japan

16