DFDとフローチャートの大きな違いは、DFDがシステムのデータの流れを表す図式であるのに対し、フローチャートは問題を解決するための一連の手順を表す図式であることである。
ソフトウェアの開発は複雑であり、システム全体のプログラムを直接記述することは困難です。
そのため、システムをモデル化して理解を深め、その上でモジュールをプログラム化することが必要である。
システムをモデル化するのに役立つ図がいろいろある。
DFDとフローチャートはそのうちの2つです。
DFDは、入力、出力、データがシステム内をどのように流れるか、データはどこに保存されるかを図示する。
一方、フローチャートは、問題を解決するためのステップを図示するのに役立つ。
プログラムを書くための基礎として使うことができます。
DFDとは
DFDとは、Data Flow Diagram(データフローダイアグラム)の略です。
システムがどのようにデータを処理するかを表し、データがどこから来て、どこに行き、どのように保存されるかを記述する。
DFDは1970年に普及しました。
DFDには2種類の表記があります。
それらは、YourdonとCoad、GaneとSarsonです。
ユードンとコアド – このタイプのダイアグラムは、システム分析と設計に使用されます。
円形はプロセスを表します。
Gane and Sarson – このタイプのダイアグラムは、情報システムで使用されます。
角の丸い正方形がプロセスを表す。
一般的なDFDの表記は以下の通り。
プロセス – 入力されるデータフローを出力されるデータフローに変換する。
データストア – システム内のデータの保管場所を表す。
データフロー – データの流れの経路を表します。
外部エンティティ – システムの外部にあるオブジェクトを表す。
システムはこれらの外部エンティティと通信を行う。
彼らは、システムの入力と出力のソースとデスティネーションです。
さらに、DFDダイアグラムには、データを整理するための層やレベルがあります。
コンテキスト図は最上位に位置します。
これは、システム全体の機能と外部エンティティとの関係を一般化したものです。
レベル 1 のダイアグラムでは、コンテキスト・ダイヤグラムよりも詳細な情報が提供されます。
しかし、レベル 2 のダイアグラムはレベル 1 よりも詳細であり、レベル 3 のダイアグラムはレベル 2 のダイアグラムよりも詳 細です。
さらに、プログラムを理解するために、人間が読める構造である擬似コードに到達するまで、処理を分解する必要がある。
フローチャートとは
フローチャートとは、アルゴリズムを表現するのに役立つ図です。
つまり、フローチャートは、アルゴリズムを書き出すのに役立つ。
アルゴリズム
計算機において、アルゴリズムとは与えられた問題を解くための段階的な手順です。
問題が複雑な場合は、問題を複数の小問題に分割し、それぞれを解くことで本題を解決することも可能である。
長方形の面積を求めるアルゴリズムは以下の通りです。
- 面積を初期化 = 0
- 縦と横を入力
-
- 縦と横を掛け合わせ、その結果を面積に格納する。
- 面積を印刷する。
面積を計算するためのフローチャート図は以下の通りです。
図1:フローチャート
したがって、フローチャートは、アルゴリズムを書くための図式化されたものです。
さらに、フローチャートの記号の表記は以下の通りです。
楕円形 – 開始と終了を表す。
ひし形 – 入力と出力の操作を表す(入力はユーザーの入力、出力は画面に表示される結果でもよい)。
長方形 – 処理を表す。
菱形マーク – 意思決定に使用される
円(小)- コネクタです。
矢印 – 手順の順序を表す
DFDとフローチャートの違い
定義
DFDは、情報システム内のデータの流れを図式化したもので、プロセスの側面をモデル化したものです。
これに対し、フローチャートは、与えられた問題に対する解決モデルを図式化したものです。
このように、DFDとフローチャートの基本的な違いを説明する。
適用範囲
DFDは、複雑なシステムにも適用できる。
フローチャートは、複雑なシステムにはあまり適さないが、中小規模のプログラムには適用できる。
したがって、この点もDFDとフローチャートの違いです。
使用方法
さらに、DFDとフローチャートのもう一つの違いに、その使い方の属性があります。
DFDはシステムの概要を理解するのに役立ち、フローチャートはプログラムの分析、設計、管理に役立つ。
結論
要約すると、DFDとフローチャートは、ソフトウェア開発を支援する2つの図式です。
DFDとフローチャートの主な違いは、DFDがシステムのデータフローを表す図式であるのに対し、フローチャートは問題を解決するための一連のステップを表す図式であることである。