SHOEISHA iD

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

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

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

データフローダイアグラム(DFD)とは?──いにしえの技術が現代システム設計に効く理由

第1回 データフローダイアグラムの歴史と現状


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

なぜ「使わない」のか? なぜ「使わなくなった」のか?

 「昔、使ったことがある」人たちは、なぜ最近は使わなくなってしまったのでしょうか。「知らない、聞いたことがない」人は、かつてDFDで設計していたような作業をどうしているのでしょうか。

 実態としては、技術・開発手法の進化とともに、新しいモデリング手法とツールが登場し、とって代わられています。

 近年のシステム開発においては、Javaに代表される「オブジェクト指向」のプログラム言語によって開発を行うケースが大半となっています。そして、このオブジェクト指向で開発するための分析・設計のためのモデリング手法として、UML(Unified Modeling Language:統一モデリング言語)が使用されます。UMLには、静的な構造、動的な振る舞い、相互作用といったものを表現するさまざまなダイアグラムが含まれており、その目的に併せて使い分けることができます。とくにクラス図やシーケンス図は、オブジェクト指向の開発言語の実装をほぼそのまま表現することができ、設計ツールからソースコードへ、ソースコードから設計ツール上のモデルへ、といった相互の自動生成機能が進化し、ドキュメンテーションの負担を軽減することに寄与してきました。

 また、システム開発プロセスにも変化がありました。

 システム全体の大きな枠組みを要件定義、設計、開発、テスト、リリースと一方向に向かって進める「ウォーターフォールモデル」は、いまも多くの現場で用いられてはいますが、「アジャイル開発」を採用する現場が増えています。アジャイル開発では、開発対象を細分化して、この開発プロセスを「サイクル」としてすばやく回し、リリースされた機能について、実際に使用したユーザーからの意見要望といったフィードバックも取り込みながら進化させていきます。

 アジャイル開発において重要な価値観を示した「アジャイルソフトウェア開発宣言 」に「包括的なドキュメントよりも動くソフトウェアを」という文言があります。これはドキュメント作成を不要とする話では決してないものの、要件定義や設計におけるドキュメンテーションに時間、コストを投入することを忌避する理由の一つになっており、「より少ないドキュメンテーション作業」「ソースコードとの乖離が少ないドキュメンテーション」を重視するようになっています。

図ⅰ:アジャイルソフトウェア開発宣言
図ⅰ:アジャイルソフトウェア開発宣言

 本編でも解説しますが、DFDは「構造化分析」とセットで用いられ、システム全体像からトップダウンで論理整合性をとりながら表現し、かつ、モデルだけでは表現できない部分は文章で仕様書を書き起こす、というのが伝統的な手法とされています。

 これに対しUMLは、モデルだけでソースコードと乖離が比較的少ない表現が可能であり、必ずしもトップダウンで段階的に詳細化する必要がなく、いま焦点を当てたい部分だけに絞って詳細に記述できるといった理由から、アジャイルな進め方と相性がよいとされています。

 このような経緯から次第にDFDが使われなくなり、UMLでのモデリングが主流となってきていると考えられます。

 すでにUMLを使用することが当たり前の時代になってからITエンジニアになった方も多くなってきているかと思います。そうした方には、DFDというモデリング手法を使ったことはなく、DFDという名前すら知らない、という状況であっても不思議ではありません。

まだまだ活かせるDFD

 ここまで、DFDの衰退の経緯を語ってきました。読み返してみても、「アジャイルとUMLで、もうDFDは要らないじゃないか」と思える内容になっています。しかし、それでもあえていまDFDを取り上げるのは、次のようなDFDのよさを知っていただき、活かしてほしいからです。

  • 複雑なシステムの可視化において、有用なモデリング手法であること
  • DFDのエッセンスは、決して最近の手法と対立概念にはならないこと
  • 非ITエンジニアにとっても、DFD自体は比較的理解しやすいモデルであるため、コミュニケーションツールとして導入ハードルが低いこと

 ここからは、これらについてもう少し触れていきたいと思います。

次のページ
複雑なシステムの可視化

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

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

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

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

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

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

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

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

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

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング