目次
フローチャートとは
フローチャート(流れ図)は処理の流れや手順を記号と線で表したもので、業務の流れやシステムの処理手順などを可視化するための手法です。複雑化しやすいシステム、ソフトウェアの開発において、これから作ろうとするもののイメージを伝達、共有するためなど様々な場面で活用されています。
フローチャートで用いられる記号
フローチャートには様々な記号を用います。ここで皆が好き勝手な記号を使用していては、フローを読み取りにくくなります。このため記号には統一したルールが必要で、JIS X 0121では以降のように記号を定義しています。
データ記号
スクロールできます
名称 | 内容 | 記号 |
---|---|---|
データ data | 媒体を指定しないデータを表します。 | ![]() |
記憶データ stored data | 処理に適した形で記憶されているデータを表しますす。媒体は指定しません。 | ![]() |
内部記憶 internal storage | 内部記憶を媒体とするデータを表します。 | ![]() |
順次アクセス記憶 sequential access storage | 順次アクセスだけ可能なデータを表します。 例:磁気テープ、カートリッジテープ、カセットテープ | ![]() |
直接アクセス記憶 direct access storage | 直接アクセス可能なデータを表します。 例:磁気ディスク、磁気ドラム、フレキシブルディスク | ![]() |
書類 document | 人間の読める媒体上のデータを表します。 例:印字出力、マイクロフィルム、帳票 | ![]() |
手操作入力 manual input | 手で操作して情報を入力するあらゆる種類の媒体上のデータを表します。 例:スイッチ、押しボタン、バーコード | ![]() |
カード card | カードを媒体とするデータを表します。 例:磁気カード、マーク読み取りカード | ![]() |
せん孔テープ punched tape | せん孔テープを媒体とするデータを表します。 | ![]() |
表示 dislay | 人が利用する情報を表示するあらゆる種類の媒体上のデータを表します。 | ![]() |
処理記号
スクロールできます
名称 | 内容 | 記号 |
---|---|---|
処理 process | 任意の種類の処理機能を表します。 | ![]() |
定義済み処理 predefined process | サブルーチンやモジュールなど、別の場所で定義された一つ以上の演算または命令軍からなる処理を表します。 | ![]() |
手作業 manual operation | 人手による任意の処理を表します。 | ![]() |
準備 preparation | その後の動作に影響を与えるための命令または命令群の修飾を表します。 | ![]() |
判断 decision | 一つの入口といくつかの択一的な出口をもち、記号中に定義された条件の評価にしたがって、唯一の出口を選ぶ判断機能またはスイッチ形の機能を表します。 | ![]() |
並列処理 parallel mode | 二つ以上の並列した処理を同期させることを表します。 | ![]() |
ループ端 loop limit | 二つの部分からなり、ループの始まりと終わりを表します。記号の二つの部分は同じ名前をもちます。テスト命令の位置に応じて、ループの始端または終端の記号中に、初期化、増分、終了条件を表記します。 | ![]() |
線記号
スクロールできます
名称 | 内容 | 記号 |
---|---|---|
線 line | データまたは制御の流れを表します。流れの向きを明示する必要があるときは、矢先を付けなければなりません。 | ![]() |
制御以降 control transfer | 一つの処理から他の処理へ制御が即時に移行することを表し、場合によっては、起動された処理が終了した後に、起動させた処理に直接復帰することも表します。 | ![]() |
通信 communication link | 通信線によってデータを転送すること表します。 | ![]() |
破線 dashed line | 二つ以上の記号の間の択一的な関係を表います。またこの記号は注釈の対象範囲を囲むのにも用います。 | ![]() |
特殊記号
名称 | 内容 | 記号 |
---|---|---|
結合子 connector | 同じ流れ図中の他の部分への出口、または他の部分からの入口を表したり、線を中断し他の場所に続けたりするのに用います。対応する結合子は、同一の一意な名前を含まなければなりません。 | ![]() |
端子 terminator | 外部環境への出口、または外部環境からの入口をあらわします。 | ![]() |
注釈 annotation | 説明または注を付加するのに用います。注釈記号の破線は、関連する記号に付けるか、または記号群を囲んでも構いません。 | ![]() |
省略 ellipsis | 記号または記号の集まりの省略されたことを示し、線記号に対してだけ用います。 | ![]() |
記号はいろいろあるけれど...
ココまで紹介したとおり、フローチャートには数多くの記号があります。しかし記号を使い分けるには慣れが必要で、また使い分けたところで見る側にそれを識別する能力がない場合がほとんどです。このため下記6つを使い分ければ実用上十分です。

端子

処理

定義済み処理

判断

結合子

注釈
フローチャートの用法
- 記号は均等に間隔をあけます。
- 記号はできる限り一様な大きさにします。
- 標準的な流れの方向は左から右へ、上から下へとします。
[推奨例]

[非推奨例]

- 矢印の使用は必須ではありませんが、使用を推奨します。
特に標準的な流れに逆らう場合は、矢印の使用は必須です。
[適合例]

[適合例]

[不適合例]

- 進む分岐は右から、戻る分岐は左から線を延ばします。
[推奨例]

[推奨例]

- 線は互いに交差しても構いませんが、見やすくするために避けることを推奨します。
もし二つの線を交差させる場合、二つの線は直進である必要があります。
※下記例は分かりやすくするため線に色を付けています。
[適合例]

[不適合例]

- 二つ以上の線が別の線に合流する場合で、かつ交差しているように見える場合は合流位置をズラします。
ただしすべてに矢印を付ける場合はその限りではありません。
※下記例は分かりやすくするため線に色を付けています。
[適合例]

[適合例]

[不適合例]

- 線が交差したり長くなりすぎたりするのを避ける場合、またはフロー図が他ページへ続く場合は結合子を用いて線を中断します。なお結合子の相手方が別ページになる場合は、注釈を付けると良いでしょう。


- 並列処理は下記のように表します。
ここで、
・処理Aが終了するまで処理C、D、Eは開始しません。
・処理C、D、Eは並列に動作します。
・処理B、C、Dのすべてが終了するまで処理Fは開始しません。

- ループは下記のように表します。

サンプル
上記用法にしたがいフローチャートを描くと、次のようになります。
一つのフローが長すぎると解読が困難になるため、適度にサブルーチン化すると良いでしょう。


フローチャートを描くためのツール(無料またはお金を掛けない)
- Microsoft Excel(有料)
このページの図はすべてExcelで描いたものです。Microsoft製品は殆どの人が持っているため追加で購入する必要がなく、誰でも編集が可能な点がメリットです。なおWordやPowerPointでもフローチャートを描けますが、Excelは位置揃えが楽で良いです。 - Microsoft Visio(有料)
Microsoft 365などVisioを使う環境があるならお勧めです。操作性が良く、線の交差を飛び越しで表現されるのも良い。Excelよりも圧倒的に楽に作図できます。 - Visual Studio Code + Draw.io Integrationプラグイン(無料)
Visual Studio Code上でDraw.ioを使えるプラグインです。オフライン(スタンドアローン)環境でも作図できます。今管理人がちょっとした作図をするときはコレです。 - Visual Studio Code + PlantUMLプラグイン(無料)
PlantUMLはUML図をテキストで作成できるツールです。UML図のみでなく、ガントチャートやマインドマップなど多数の図の作成に対応しています。しかし残念ながらフローチャートには対応していません。UMLで近いものとしてはアクティビティ図ですが、ちょっと違う感じにはなります。
Excelファイルダウンロード
本ページのExcelファイルデータです。
ZIP形式で圧縮してあり、解凍するとxlsx形式のExcelファイルが現れます。
個人・商用利用を問いませんので、ダウンロードしてご自由に使用してください。
ダウンロードファイルの容量:101KB(ZIP形式)
コメント