How to use Data Flow diagram and Structure Chart
by SparxSystems JapanEnterprise Architect 日本語版
DFD および構造図 マニュアル(2022/04/27 最終更新)

目次:
1. はじめに............................................................................................................................. 3
2. 利用のための準備 .............................................................................................................. 3
3. DFD を記述する ................................................................................................................. 4
3.1. プロセス ...................................................................................................................... 8
3.2. データフロー............................................................................................................... 94. 構造図 (Structure Chart)を記述する ............................................................................ 104.1. カプセル .................................................................................................................... 124.2. カップル .................................................................................................................... 124.3. コンディション・イテレーション ............................................................................ 14
4.4. オンシート ................................................................................................................ 15
4.5. オフシート ................................................................................................................ 15
5. データディクショナリ..................................................................................................... 16
6. プロセス番号の再設定..................................................................................................... 216.1. パッケージ内のプロセス全体を対象にする場合 ...................................................... 21
6.2. 特定のプロセスの子プロセスを対象にする場合 ...................................................... 222
Copyright (c) 2008-2022 Sparx Systems Japan1. はじめにこのドキュメントでは、Enterprise Architect 日本語版で利用できる DFD(データフロー図)や構造図(SC: Structure Chart)のモデリング方法を説明します。また、DFD アドインが搭載する「ディクショナリ」機能の使い方も説明します。
なお、Enterprise Architect での DFD および構造図の表現・機能などは翔泳社から発行されている「組込みソフトウェア開発のための 構造化モデリング」(SESSAME WG2 著)を参考にしています。
このドキュメントでは、Enterprise Architect 16.0 ビルド 1605 に付属する DFD アドインを利用しています。

2. 利用のための準備
DFD あるいは構造図を利用するためには、Enterprise Architect のインストール時に、追加機能の選択で「データフロー図(DFD)・構造図」を選択してください。

3
Copyright (c) 2008-2022 Sparx Systems Japan3. DFDを記述する
DFD を記述するためには、最初に DFD を描画するためのパッケージやダイアグラムを作成します。
1. Enterprise Architect の画面の右上にある「すべてのパースペクティブ」ボタン(ボタンの名称は、状況により異なります)を押し、表示されるメニューから「ソフトウェアエンジニアリング」→「データフロー図」を選択します。これにより、いくつかの画面における選択肢が DFD 専用に絞り込まれます。

2. プロジェクトファイルを新規に作成するか、既存のプロジェクトファイルを開きます。
3. モデルブラウザのツールバーの左から 2 番目のボタンで「パッケージの追加」を実行してください。

4. 対象の製品やモジュール名など、パッケージの名前を指定します。
5. 作成したパッケージを選択した状態で、ツールバーの左から 3 番目のボタンで「ダイアグラムの追加」を実行します。
4
Copyright (c) 2008-2022 Sparx Systems Japan6. 「新規ダイアグラム」画面において、「データフロー図(DFD)」グループの「データフロー」図を選択してください。

7. 作成したダイアグラムが開きます。開かない場合、モデルブラウザ内のダイアグラムをダブルクリックすると開くことができます。
以上で、準備は完了です。
必要に応じて、さらにパッケージやダイアグラムを追加し、1 つのプロジェクトファイルの中に複数の図を作成することもできます。
ダイアグラムを作成すると、画面左側にあるツールボックスが DFD 専用の内容に変わります。このツールボックスのアイコンをダイアグラム内にドラッグ＆ドロップすることで、要素を作成することができます。

5
Copyright (c) 2008-2022 Sparx Systems Japanなお、Enterprise Architect の標準のクイックリンク機能も利用できます。例えば、「プロセス」要素をダイアグラム内に配置し、選択すると表示される矢印アイコンをドラッグすると、以下のように DFD に関係する項目が表示されます。

なお、「テキスト」要素は UML のノート要素と同じです。ダイアグラム内に説明文や補足を配置する場合に有用です。このテキスト要素は構造図でも利用できます。ツールボックスの「共通 要素」グループなど常に表示されるグループには、Enterprise Architect 内部で共通の要素が含まれていますので、DFD に関係がない要素が含まれています。

これがテキスト要素です

沸騰開始

温度制御

6
Copyright (c) 2008-2022 Sparx Systems Japan

要素の名前などのプロパティを変更する場合には、要素をダブルクリックしてください。
対象の要素に応じたプロパティ画面が表示されます。以下、いくつかのプロパティ画面の例です。

データフローの「スタイル」の初期値は「曲線」です。この設定はオプションから変更することができます。(スタイルの初期値を変更した場合、Enterprise Architect を再起動後に反映されます。)「名前」の欄がコンボボックスになっている場合には、ディクショナリ(後述)で登録されている単語を指定することができます。また、ディクショナリ機能が有効な場合に登録されていない単語を入力した場合には、以下のような確認メッセージが表示され、ディクショナリに追加することができます。
(ディクショナリ連携機能の設定はオプション画面で変更できます。)

7
Copyright (c) 2008-2022 Sparx Systems Japan

3.1. プロセス
プロセス要素をダブルクリックすると、以下のようなプロパティ画面が表示され、プロセス要素独自の設定を行うことができます。

「番号を表示」にチェックを入れると、プロセスの番号をダイアグラム内に表示することができます。なお、「自動」ボタンを押すと、対象のダイアグラム内のプロセス番号で、もっとも大きな未使用の番号を設定することができます。
(例:「1」「2」が既に存在する場合に「自動」ボタンを押すと「3」が設定される)「子ダイアグラムの作成」ボタンを押すと、プロセスの詳細を記述するための子ダイアグ
ラムを作成することができます。既に子ダイアグラムが存在する場合には、このボタンは「子ダイアグラムを表示」に変わります。
プロセスに下位ダイアグラムがある場合には、ダイアグラム内では下記のように「→」が表示されます。(この表現は Enterprise Architect の独自表現です。)

8Copyright (c) 2008-2022 Sparx Systems Japan

沸騰させる→このプロセスを右クリックし、コンテキストメニューのアドインメニュー「下位階層に移動」」から下位ダイアグラムを表示できます。

あるいは、ALT キーを押しながらプロセス要素をダブルクリックして下さい。下位のダイアグラムを表示できます。
また、下位ダイアグラムの背景で右クリックし、アドインメニューから「上位階層に移動」を呼び出すことで、上位ダイアグラムに戻ることができます。あるいは、ダイアグラムの背景に対して ALT キーを押しながらダブルクリックして下さい。

3.2. データフロー
オプション画面にて、「データフローの名前を常に編集可能にする」の設定が有効になっている場合には、データストア要素の名前が表示されます。

3.3. データストア・ターミネータ
これらの要素を右クリックし、「追加設定」→「インスタンスの分類子を指定」を実行すると、プロジェクト内の他の要素と結びつけができます。この結びつける対象は、UML のクラス要素や SysML のブロック要素など、DFD 以外の要素を想定しています。結びつけを行うと、結びつけた要素の名前がダイアグラム内で表示されるようになります。
(DFD 以外の他の記法を利用する場合には、必要に応じてパースペクティブを切り替えてください。)
9
Copyright (c) 2008-2022 Sparx Systems Japan

DFD 以外の要素と結びつけることで、DFD 以外の内容を含めて設計のトレーサビリティの確保に役立ちます。例えば、利用されているダイアグラムアドインを利用すると、結びつけた要素がどのダイアグラムに配置されているかを簡単に把握できます。

トレーサビリティについては、下記ページをご覧ください。
https://www.sparxsystems.jp/products/EA/tech/Traceability.htm

4. 構造図 (Structure Chart)を記述する
構造図を記述する方法は、基本的には DFD と同じです。「ダイアグラムの追加」画面で「Structure Chart(構造図)」を選択してください。

10
Copyright (c) 2008-2022 Sparx Systems Japan画面左側のツールボックスが、構造図のためのものに変わります。DFD と同様に、クイックリンク機能も利用できます。

11
Copyright (c) 2008-2022 Sparx Systems Japan

4.1. カプセル
カプセルをダブルクリックすると、詳細な表示内容を設定することができます。

4.2. カップル

12
Copyright (c) 2008-2022 Sparx Systems Japan

カップルを新規に作成する場合、対象になる同期あるいは非同期の線をダブルクリックしてください。
「カップルの追加・編集」の画面が表示されます。

名前を設定するには、「設定」ボタンを押してください。「値の設定」画面が表示されますので、直接入力するかドロップダウンリストから選択肢、「追加」ボタンを押して追加してください。
その後、種類・方向などを指定して OK ボタンを押すと、画面にカップルが表示されます。好きな位置に移動することができます。
(なお、この構造図のカップルは UML コミュニケーション図のメッセージを拡張して作成していますので、書籍の表現とは異なります。)

13
Copyright (c) 2008-2022 Sparx Systems Japan

作成済みのカップルを編集する場合には、カップルをダブルクリックしてください。
「カップルの追加・編集」画面が再度表示されます。

4.3. コンディション・イテレーション
コンディションおよびイテレーションをモジュールに追加する場合には、ツールボック
スのコンディションあるいはイテレーションを対象のモジュールにドラッグしてください。

追加した後の位置は、場合によっては上部あるいは側面に配置されることがありますので、下部に移動させてください。

14
Copyright (c) 2008-2022 Sparx Systems Japan作成したコンディションやイテレーション上に同期・非同期を配置することもできます。
同期あるいは非同期の端をドラッグし、下の図のようにコンディションやイテレーションに枠が表示される位置でドラッグを終了すると、確実に配置できます。

4.4. オンシート
オンシートは通常 2 個一組で利用されます。配置する場合には、ツールボックスから 2回配置します。2 個配置し、両方に同じ名前を設定してください。片方の名前を変更すると、自動的にもう片方の名前が変更されます。

4.5. オフシート
オフシートを利用する場合には、ツールボックスから配置します。ダブルクリックすると次のような画面が表示されます。

シート名を指定し、「シートの作成」ボタンを押すと、もう 1 枚構造図が自動的に作成され、オフシート要素が自動的に配置されます。シートが既に作成されている場合には、オフシート要素をダブルクリックすると表示されるプロパティ画面が以下のように変わります。

15
Copyright (c) 2008-2022 Sparx Systems Japanこの「親シートを表示」「子シートを表示」ボタンを押すことで、別のシートに移動することができます。

5. データディクショナリ
このアドインでは、データフロー図や構造図で利用される単語を管理するデータディクショナリ機能を利用することができます。
データディクショナリの画面を表示するには、「アドイン・拡張」リボン内の「アドインメニュー」パネルにある「DFD」を押すと表示されるメニューから「ディクショナリビューの表示」を選択してください。

実行すると、アドインサブウィンドウが表示され、定義済みの用語が表示されます。

16
Copyright (c) 2008-2022 Sparx Systems Japanこの内容はサブウィンドウとして表示されますので、自由な位置に移動したり、DFD の内容と並べて利用することができます。

17
Copyright (c) 2008-2022 Sparx Systems Japanデータディクショナリに単語を追加するには、ツールバーの左端の「新規追加」ボタンを押してから必要な情報を入力し、「保存」ボタンを押してください。既存の項目を編集する場合には、一覧から対象の項目をダブルクリックしてください。既存の項目を削除するには、対象の項目を選択後、ツールバーの「削除」ボタンを押してください。
「要素値」や「排他値」などは、対象の項目もデータディクショナリに登録されている情報を利用します。このような場合には「設定」ボタンを押して、候補を設定してください。

データディクショナリに登録した単語は、データフローなどのプロパティ画面から呼び出すことができます。

18
Copyright (c) 2008-2022 Sparx Systems Japanまた、データディクショナリに登録されている単語は、「アドイン・拡張」リボン内の「アドインメニュー」パネルにある「DFD」を押すと表示されるメニューから「ファイルに出力」を選択することで、テキストファイルとして出力することができます。
一覧で定義済みの用語を選択した状態で「利用位置」タブを開きますと、選択されている用語が利用されている要素や接続を見つけることができます。
「利用位置」タブ内の一覧の項目をクリックすると、その要素や接続が配置されている図を開くことができます。

19
Copyright (c) 2008-2022 Sparx Systems Japanそのほか、一部のプロパティ画面で名前を入力した際に、データディクショナリにも登録することもできます。また、プロパティ画面で名前を変更した際に、データディクショナリに登録されている単語を更新することもできます。
このような場合には、確認の画面が表示されます。

なお、このような確認の画面の動作は、オプションで変更することができます。
20
Copyright (c) 2008-2022 Sparx Systems Japan・ ディクショナリ連携機能を無効にする
要素に名前を設定した場合に、データディクショナリに登録・更新する機能を無効にします。
・ 起動時にディクショナリビューを開く
プロジェクトを開く際に、自動的にディクショナリのアドインサブウインドウを開きます。

6. プロセス番号の再設定
DFD を作成していると、途中でプロセス番号に抜けが発生する場合があります。また、上位プロセスの番号が変わったため、下位のプロセスの番号と一貫性がなくなってしまう場合があります。このような場合には、プロセス番号の再設定機能を利用すると便利です。
なお、この機能を利用すると、既存の番号を無視して新規に振り直します。番号の順序を自分で指定したい場合には、この機能を利用せずに手作業で番号を設定して下さい。

6.1. パッケージ内のプロセス全体を対象にする場合パッケージ内のプロセス全体を対象にする場合には、モデルブラウザで対象のパッケージを右クリックして、「アドイン・拡張」→「DFD アドイン」→「プロセス番号の再設定」を実行します。パッケージ内に含まれる全てのプロセス要素の番号を振り直します。
なお、この機能は、子パッケージは対象に含まれません。選択したパッケージに直接含まれるプロセスのみが再設定の対象になります。

21
Copyright (c) 2008-2022 Sparx Systems Japan

6.2. 特定のプロセスの子プロセスを対象にする場合
上記の操作を、モデルブラウザ内のプロセス要素に対して実行すると、そのプロセスの子プロセスの番号のみを振り直します。対象となる(右クリックした)プロセス自体の番号は変わりません。また、対象のプロセスに番号が設定されていない場合には、この機能は実行できません。

22Copyright (c) 2008-2022 Sparx Systems Japan

○改版履歴2008/04/21 初版
2009/04/23 アドインの機能強化に合わせて改版
2009/08/31 ドキュメントのタイトルを変更。
2011/05/18 Enterprise Architect9.0 のリリースに伴い、内容を更新。
2011/12/08 Enterprise Architect9.2 のリリースに伴い、内容を更新。
2012/03/07 Enterprise Architect9.3 のリリースに伴い、内容を更新。
2013/01/18 ビルド 1005 で追加された設定項目の記載を追加。
2014/04/22 Enterprise Architect11.0 のリリースに伴い、内容を更新。
2016/10/07 Enterprise Architect13.0 のリリースに伴い、内容を更新。
2017/07/10 DFD アドイン バージョン 3.0 の内容に更新
2017/08/09 DFD アドイン バージョン 3.2 の内容に更新
2018/07/09 DFD アドイン バージョン 3.3 の内容に更新
2019/08/22 Enterprise Architect15.0 のリリースに伴い、内容を更新。
2022/04/27 Enterprise Architect16.0 のリリースに伴い、内容を更新。
2022/07/12 他の要素との結びつけの説明を追加

23Copyright (c) 2008-2022 Sparx Systems Japan