フローチャート図はそもそもプロセスを判断条件も付け加えながらわかりやすくしたものである。分かれ道がありつつ、それを説明するべく、フローチャートには守るべき約束事がある。 しかしながら、「あなたは実はこんなタイプ?! チャートで見つけてみよう!」といったチャート図なんかもあったりして、それがまちまちな気がする。 覚えるのが嫌いな私も、分かりやすく作るべく、いくつか守っていることがある。それを以下にまとめておく。
- 約束事その1:処理は□、判断は◇
- 約束事その2:何事も「はじめ」と「終わり」が肝心
- 約束事その3:水の流れは上から下へ、時間の流れも上から下へ
- 約束事その4:本流を作るべし
- 約束事補足:分岐は「~である」という文章で
約束事の前にフロー・チャート・フローチャートの違いとは?
ところで、フローチャートフローチャートって言っているけれども、「フロー」と「チャート」の二つの言葉が含まれている。そもそもこの二つはどういう区別がされているのか、と不思議に思ってウェブで簡単に検索してみた。しかし違いを説明した資料は見つけられなかった。 しかしながら、UMLで「ステートチャート図」と使われていることから想定し、以下のように「フロー」と「チャート」を区別する。
- フロー → 流れを表現するもの
- チャート → 分岐を表現するもの
そして、上記の「流れ」と「分岐」を合わせて表現するものとして「フローチャート図」と定義する。定義したところで、詳細を見てみよう。
約束事その1:処理は□、判断は◇
フローチャート図は、大きくわけて、二つの振る舞いがある。一つは処理、もう一つは判断。処理とは、作業することである。判断はそうではなく、YesかNoか、といったような一つの答えを導くものであり、作業は発生しない。 これを図形で区別するのがフローチャート図なんだが、区別せずになんでも□を使っているのを見かけたりする。しかし、それではいかん。何のために図をして、分からしむるのかわからない。 ちなみに、全ての処理を□で表示していると、その□の中を理解するのに、以下のような手順を踏む。
- 文章を読んで、中身を理解する
- 中身を理解し、それが処理か判断かを、判断する
これは面倒である。□と◇を区別して描くことで、2番目の処理がカットされるのだ。
約束事その2:何事も「はじめ」と「終わり」が肝心
キリがいいのは、分かりやすさの特徴である。フローチャート図もそのキリのよさをはっきり見せ付けなくてはいけない。そこで、「はじめ」と「終わり」をはっきりつける。 通常、フローチャート図はそんなこと言われなくたって、わかる場合があるが、そうでなかったりもするし、見る人によってはわからなかったりするので気をつけよう。
約束事その3:水の流れは上から下へ、時間の流れも上から下へ
フローチャート図の中で、「↑」のような上向き矢印を見かけることがある。しかしこれはいけない。というのも、フローチャート図は、暗黙の了解がある。
上から下へ処理は流れる
水だって、何も力がかからなければ上流から下流へ流れるものだ。流れに逆らうのは鮭に任せよう。 でも上部に戻る分岐だってあるよ! そんな場合はどうしたらいいのか? そんな時は上向き矢印が出ないように、□を配置するのである。それができなければ、少なくとも「→」や「←」といった横向き矢印を使うようにしよう。それだけで、フロー図の気持ち悪さがちょっと緩和される。
約束事その4:本流を作るべし
分かりやすいものには幹があり、本流がある。フレームワークも骨組みであり、大きく捉えれば幹の一種とも言えるであろう。フローチャート図にも、この幹は必要であり、スタートからエンドまで、正常パターンを見せ付けるべく、本流としての一つの流れを用意しておこう。 これは、開始から終了まで、1直線の処理を作ることで幹が作成される。これだけで、どの道筋が本来なのかが、理解しやすくなる。
約束事補足:分岐は「~である」という文章で
さて、先ほど出てきた判断であるが、たまにこんな判断の説明だったりすることがある。
「○○がAであるかそうでないか」 判断は「Yes」か「No」かに二つに分かれている。
さあどっち? といいたいところだが、文章からYesがどっちか分からない。
対処方法
対処方法としては二つのやり方がある。
- 分岐の文章を「○○がAである」に変える
- 分岐条件の「Yes」「No」を「Aである」「Aでない」に変える
勿論、2番目の方法でも構わないが、「Yes」「No」にしておくと、図形をコピペしたり、条件が変わった時に変更しなくてもよかったりと、後々便利である。だから1の方を薦めておく。 しかし、これは別にわかりやすければ守る程でもない。分かりさえすればよいのだ。
望ましいフローチャート図
日本運搬機械株式会社さんの「火災時管制運転装置運転フローチャート」がとても分かりやすく、上記の約束事に準拠していた。スタートとエンドが区別され、上から下に流れており、処理と分岐は図形と色でクリアに区別され、スタートとエンドが同じラインで配置されて本流が分かりやすくなっている。 このように、クリアにチャートがまとめられていると、火災の時にも安心して実行している様が伺えるというものである。