SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

データフローダイアグラム いにしえの技術がもたらすシステム設計の可能性

データフローダイアグラム(DFD)の基本と書き方をマスターしよう

第2回 モデリングの基本的な記号と表記法

  • X ポスト
  • このエントリーをはてなブックマークに追加

 1970年代に登場した「データフローダイアグラム(DFD)」は、データの流れを矢印で表現するシンプルな図解手法。かつて主流だったこの“いにしえの技術”が、実は現代の複雑なシステム設計や要件整理にこそ効くとしたら──? 本連載では、翔泳社刊『データフローダイアグラム いにしえの技術がもたらすシステム設計の可能性』より、DFDの基礎から活用法までを抜粋して紹介します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

データフローダイアグラム いにしえの技術がもたらすシステム設計の可能性
 

Amazon  SEshop  その他

 
データフローダイアグラム いにしえの技術がもたらすシステム設計の可能性

著者:大嶋 和幸、松永 守峰
発売日:2025年4月28日(月)
定価:3,080円(本体2,800円+税10%)

これまでのおさらい

単純明快、この図は一体……!?

単純明快、この図は一体……!?

 システム刷新プロジェクトのメンバーに加わったばかりの田中さん。なにやらお困りのようで……。

田中
うーん、このプロジェクトの全体像がつかめない……
佐藤
どうしたの、田中くん?
田中
佐藤さん! このシステムの情報の流れがよくわからなくて……
佐藤
そういうときはね、データフローダイアグラムを使うんだ。情報の流れが一目でわかるよ
田中
へぇ、そんな便利なものがあるんですか?

 田中さんのように、DFDというものにはじめて触れる読者の方もいるでしょう。本記事ではDFDとはどのようなものであるか、基本的な知識について解説します。

データフローダイアグラム(DFD)とデマルコについて

 データフローダイアグラムは、1970年代に流行したシステム要求の分析・設計の手法である「構造化分析」とともに普及した表記法です。いくつかの流派があり、使用する図形や表現方法にも違いがあります。

 そうしたなかで、当時、トム・デマルコ(Tom DeMarco)は、その著書『構造化分析とシステム仕様』を通じて、構造化分析手法の基本原則や手法を体系的に解説し、構造化分析およびDFDを広く普及することに貢献しました。

 本連載では、このトム・デマルコと、書籍『デスマーチ』で有名なソフトウェア工学者であるエドワード・ヨードンが提唱した「ヨードン・デマルコ記法」に準拠した表記法を用いて解説します。 また、DFDの描き進め方についても、彼の著書『構造化分析とシステム仕様』に倣って解説していきます。 そのため、本文中に「デマルコは、その著書で」といった類の表現が度々登場します。

モデリングの基本的な記号と表記法

 図解法としてのDFDで用いる記号は、原則として以下の4つです。

  • データストア
  • プロセス
  • 外部エンティティ
  • データフロー

 「はじめに」でも触れたとおり、ヨードン・デマルコ記法では次のように表現します。

図1.1.1:ヨードン・デマルコ記法に基づくDFDの記号要素一式
図1.1.1:ヨードン・デマルコ記法に基づくDFDの記号要素一式

 データストア、プロセス、外部エンティティ、データフローについて、それぞれ説明します。

データストア

図1.1.2:データストアを表す記号
図1.1.2:データストアを表す記号

 データストアは、データが保存されている場所、データのかたまりを意味します。一般的には、ファイルシステム上のファイルやデータベースシステム上のテーブルに相当します。しかし、DFDでは実現方式を問いませんので、メモリ上であろうと、ストレージ上に永続化された存在であろうと、「データがいったんとどまるところ」であればデータストアとして表現して構いません。

 データストアは、要素名の上下に水平の実線を引いた図形で表現します。データストアからプロセスに向けた入力を表すデータフロー、プロセスからデータストアに対する出力を表すデータフローのいずれか、あるいは両方を必ず持ちます。データフローによる接続のないデータストアは、利用されないデータストアであり、存在意義がありません。

 また、データストアからデータストアへデータフローが直接接続されることもありえません。必ずプロセスを介して接続されます。

図1.1.3:データストア同士が直接接続されることはなく、プロセスを介して接続する
図1.1.3:データストア同士が直接接続されることはなく、プロセスを介して接続する

 図形の中には、そのデータストアを端的に表す名称を記入します。分析段階、論理設計段階では、より実世界に近い言葉で表現します。実装に近い段階ではファイル名であったり、テーブル名であったり、プログラミングレベルであれば、変数名である可能性もあります。

 データストアに保管されるデータの具体的なフォーマットなどの情報、いわゆるファイル仕様書やテーブル定義書に記述するような情報は、DFDとは別に用意する「データディクショナリ」に記述します。

次のページ
プロセス

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
データフローダイアグラム いにしえの技術がもたらすシステム設計の可能性連載記事一覧
この記事の著者

大嶋 和幸(オオシマ カズユキ)

 株式会社アクアシステムズ SE、IT コンサルタントとしてCRM、HRM、BPR などの各種案件に関与し、企画立案から設計、実装、試験、運用、保守を経験。その後、事業会社数社にて事業企画、管理会計、総務、社内情報システム担当など多岐にわたる業務に従事。アクアシステムズ入社後は、各種データベースの導...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

松永 守峰(マツナガ モリオ)

 株式会社アクアシステムズ オープンシステムの黎明期にはじめてリレーショナルデータベースに触れて以降、ソフトウェアベンダーのサポート技術者、大手メーカーのIT 部門ではDBA、コンサルティングファームでのDB コンサルタントと立場を変えながらデータベースに関わる。アクアシステムズに入社後はパフォーマ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

湊川 あい(ミナトガワ アイ)

 IT漫画家。マンガと図解で、技術をわかりやすく伝えることが好き。著書『わかばちゃんと学ぶ』シリーズが発売中のほか、マンガでわかるGit・マンガでわかるDocker・マンガでわかるRubyといった分野横断的なコンテンツを展開している。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/21329 2025/04/28 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング