技術広報のsyoneshinです。
リモートワークの普及とともに帳票管理や押印をSaaSで代替する動きが注目され、システム化に必要な棚卸しにフローチャート(フロー図)を使う機会が増えていると聞きます。
10年以上前、今でいうPMOとして内部統制や業務改善に関わる多くのフローチャート(フロー図)を書いた経験から、今回は当時の上司やコンサルのプロたちのもとで学んだフローチャート(フロー図)の書き方についてご紹介します。
※本記事は初級者向けにフローチャート(フロー図)の書き方をまとめた内容になります。
- フローチャート(フロー図)とは?
- フローチャート(フロー図)の書き方
- よく使う記号
- プログラミングフローチャート(フロー図) の書き方
- フローチャート作成ツール
- まとめ
- もし、当社の雰囲気・技術内容等にご興味を持たれましたら以下サイトの募集職種をお気軽にご確認ください!
フローチャート(フロー図)とは?
フローチャートとは、業務やシステムにおける工程やプロセスの各ステップやアルゴリズムなどの流れを、長方形・ひし形・楕円形などの記号で表示し、流れの方向を矢印でつなげて視覚的に表した図の事です。
フローチャートには管理観点で主に以下4つの種類があり
- 文書フローチャート:複数の部門に閲覧してもらうための文書の流れを記した図
- データフローチャート:システムのデータの送信経路を記したり管理したりするための図
- システムフローチャート:プログラム、サーバー、ネットワークなどシステムの物理的な構成要素をデータがどのように経由するかを記した図
- プログラムフローチャート:システムのプログラム処理や管理形態を記した図
また、一般的な業務フローなどで使われる
- ワークフローチャート:業務処理、文書・データ情報の流れなどを含むオフィス業務に関わる仕事の流れを記した図
などがあります。
フローチャートを使い、業務・作業プロセスを可視化することで、第三者への情報伝達や説明、認識の統一が簡単になり、不要・不足の業務をみつけたり、引継ぎを早めたりなど業務の効率化と品質の維持向上に役立ちます。
フローチャート(フロー図)の書き方
ではフローチャートの書き方について説明します。
フローチャートは仕事の流れや構造を整理・可視化し、関係者の間で仕事の流れや構造を理解・共有できるようにすることを目的にしています。そのためフローチャートの書き方の基本は、「誰が・何が」「いつ、何をきっかけに・どういう場合に」「どんな作業・処理を」行っているかを、シンプルに分かり易くに書き表わすことが求められ、作成目的をしっかりと理解し、対象範囲を決めて書くことが必要になります。
以下4点はフローチャートの書き方で気を付けるべきポイントです。
- フローは流れを上から下へ、左から右へ流れるよう要素を配置すること
- 各ステップには図記号が持つ基本的な意味を理解して配置すること
- 図記号と図記号の間隔は開けて重ならないようにすること
- 時系列が分かるよう並列に書かずテキストは簡潔に分かり易くすること
また、フローチャートを書く際、ページを分割したりまたがると、流れや構造を追いにくくなる傾向があるため、基本的には1ページにまとめて書くことに努めましょう。
以上が基本的なフローチャートの書き方になります。
よく使う記号
それでは次にフローチャートでよく使う記号と意味を見て行きます。 フローチャートの書き方をマスターするためには、各図記号の意味と用途を理解することが必要です。 各記号の意味・用途・事例を見てフローチャートの書き方の参考にしてください。
端子・開始/終了
業務プロセスやプログラムの開始/終了やスタート/ゴールを表す記号。角の丸い四角形で一般的に”端子”と呼ばれフローの始まりと終わりに配置する必要がある。また業務のトリガーとなるきっかけを表すこともある。
処理
フローチャートの1つのステップ・作業・処理を表す記号。四角形で"処理"とよばれ、一般的な処理、作業、手続きを表す際に配置。基本的には1ボックスにつき、1つの処理内容を記載。※複数の処理を記載すると、わかりづらくなるため注意。
判断・条件分岐
「真/偽」もしくは「Yes/No」が答えとなる判断や、複数の選択肢に分かれる判断を表す記号。ひし形の図形で”判断”もしくは”条件分岐”と呼ばれ、2つ以上の判断処理を表す際に配置。1つの図形各頂点から「Yes」or「No」/「真」or「偽」もしくは複数の判断に対応する線や矢印を次のステップ(図形)に向けて書く。
ループ開始/終了
何度も繰り返しで行う処理を表す記号。台形のような六角形の図形で、繰り返し条件と繰り返し終了条件を表す際に配置。ボックスの中に繰り返し名と条件を記入し、間に処理を挟む。
システム・データベース・磁気ディスク
業務システムやデータベースへの入出力や保管を表す記号。円柱の図形で、”システム”もしくは”データベース”、エクセルのフローチャートでは”磁気ディスク”と呼ばれ、システムやデータベースへのデータの入出力や保管を表す際に配置。使用システムが複数ある場合、システム名称も記載することが多い。
データ・入出力
媒体を指定しないデータやファイルなどの参照や書込み、入出力を行う機能を表す記号。平行四辺形の図形で”データ”もしくは”入出力”、”I/O”とも呼ばれ、主にデータベースとファイルを分けて図示したい際に配置。
書類 ・ドキュメント
受発注書・請求書・伝票などの書類や帳票を表す記号。一般的には”書類”と呼び、処理に応じて発生する際は処理の記号と重ねて記載し、2つ以上の書類・ドキュメントが1つの段階に含まれている場合は”複数書類”の記号を使うことになる。
定義済み処理・サブルーチン
処理の一部を別フローチャートと分けて作成する場合や、使用頻度や認知が高い場合に配置する記号。フローチャートを1枚にまとめる際に長くなるケースは,この記号で一部フローを分けて記載することが多い。
結合子
フローチャートが長くなったり、複雑になったりした際に同じフローチャート内で別の処理に飛ばす場合に配置する記号。結合子の中に参照先を記載することが多い。
外部結合子
こちらもフローチャートが長くなり、後工程を別ページにまたいで記載する必要がある場合に使用する記号。外部結合子の中に参照先を記載することが多い。
ここではよく使うフローチャートの記号を紹介しましたが、フローチャート作成では記号の種類を増やさず、できるだけシンプルに書くよう気を付けましょう。また記号の持つ意味や用途を正確に理解して作成することで、読み手に伝わりやすいフローチャートになるでしょう。
プログラミングフローチャート(フロー図) の書き方
プログラミングのフローチャートの書き方ですが、まずは基本的な以下3点の書く目的をしっかりと理解することが大切です。
プログラム構造の整理
目的の1つ目は、プログラム構造の整理・理解をすることです。
プログラムは、書き方によって処理スピードや可読性に大きな影響を与えます。 実際のプログラミング前には、最適な設計が可視化され共通認識されていることが望まれます。プログラミング速度を上げるため(効率化)
目的の2つ目は、プログラミングの速度を上げることです。
しっかり設計ができていれば、その通りに効率的にプログラムを書けます。設計ができていなければ、後々修正が多く発生し余分に時間が掛かかってしまいます。プログラム品質の向上
目的の3つ目は、プログラミング品質を向上させることです。
フローチャートを書くことでプログラムの全体像が明確になり、設計漏れやバグを減らせます。つまり、プログラムの品質が上がります。フローチャートを使って他者と事前レビューをすることで、更に品質を上げることもできます。
次にプログラミングのフローチャートの書き方を紹介します。
プログラミングにおけるフローチャートには、よく使われる以下の「型」がありますので、まずは「型」を覚えることが、プログラミングフローチャートの書き方をマスターする近道です。
それでは代表的なプログラミングのフローチャートの書き方(事例)を見て行きます。
- 順次構造
順次構造のフローチャートの型はプログラム処理を順番通りに記述しているプログラムの構造を表します。「開始」の記号が上にあり、上から一番したにある「終了」の記号へ向けての処理がシンプル書かれていく構造です。
分岐構造
分岐構造のフローチャートの型は「条件分岐」の記号が使用され、条件によって処理内容が分かれている構造を表します。
具体的にはコード記述で使用する「switch/case文」や「if/else文」を表す構造です。switch / case文
if / else文
反復構造(ループ)
反復構造のフローチャートの型は、「条件分岐」や「ループ開始/終了」の記号が使用され、繰り返し処理のあるプログラムの構造を表します。具体的にはコード記述で使用する「for/while文」「do while文」などを表す構造です。for / while文
do while文
※最初に処理を実行するか・しないかの違いだけのため省略
またプログラミングのフローチャートの書き方において、アルゴリズム理解は必須となります。
そもそもアルゴリズムを理解しなければ、プログラミングのフローチャートは書けません。
以下に代表的アルゴリズムのうち「ソート」とフローチャートの書き方(事例)を一つ紹介します。
- バブルソート
バブルソートとは、ソート(データの集合を一定の規則に従って並べること)の一つで、バラバラに並んでいるデータ要素を「昇順(小さい順)」もしくは「降順(大きい順)」に並べ替えるやり方のひとつです。隣接する要素の大小比較と並べ替えを繰り返すことで全体を昇順(降順)に並べ替えるやり方です。
(例)
他、代表的なソートには以下があります。
選択ソート
選択ソートも「昇順(小さい順)」もしくは「降順(大きい順)」に並べ替えるやり方のひとつです。バラバラに並んでいるデータ要素の中で一番小さい値を探し、1番目の要素と交換し、次に2番目に小さい値を探し出し、2番目の要素と交換し...をデータがなくなるまで繰り返すことで全体を昇順(降順)に並べ替えるやり方です。クイックソート
クイックソートも「昇順(小さい順)」もしくは「降順(大きい順)」に並べ替えるやり方のひとつです。バラバラに並んでいるデータ要素から- 軸要素となる基準値を決め
- 基準値より大きい値を基準値より右に置く
- 基準値より小さい値を基準値より左に置く
の3ステップを「基準値よりも大きいグループ」と「基準値よりも小さいグループ」に対して何回も繰り返すことで全体を昇順(降順)に並び替えます。
ソート以外のアルゴリズムについて、ここでは省略します。
他アルゴリズム種類について詳しく知りたい方は以下入門書がおススメです。
ここでは、プログラミングのフローチャートの書き方について見てきました。
プログラミングのフローチャートの書き方をマスターするには、まずたくさんの「型」を覚え、実践では書く目的をしっかり意識するように心がけましょう。
フローチャート作成ツール
ここではフローチャート作成ツールを紹介します。
フローチャートはMSOfficeのWord、Excel、PowerPointの図形挿入を使っても簡単に作成できますが、以下の様なフローチャート作成ツールでも簡単に作る事ができます。
- google スライド
Google ドライブで無料使用できるプレゼン用ツールの『Google スライド』でもフローチャートの作成は可能。安全なデータ共有・観覧による第三者とも共同編集も可能。フローチャートを作成するための機能やパーツ数は少ないが、シンプルなチャートを作れる。
- draw.io
完全無料で会員登録やインストール不要な『draw.io』は、高機能で使いやすいのが特徴のフローチャート作成ツール。 記号もテンプレートも豊富かつ図形から自動で線や矢印を伸ばすことができるため、初心者にも直感的な操作ができる点が魅力。作成した図はOneDriveやGoogleドライブやGitHubに保存できます。豊富な機能とテンプレートで素早くフローチャートを作成したい方におすすめ。
- CaCoo
『CaCoo』は完全無料オンライン使えるフローチャート作成ツール。マインドマップやプレゼンなどのテンプレートや、スマートフォン用のワイヤーフレームが用意されていたりとパーツが多いため、リッチなフローチャートを書くことができる。また、共有機能を利用して他メンバーとのチャットや同時編集もできる点も魅力。
まとめ
最後にフローチャートの書き方で参考になる書籍もご紹介。
- システム分析・改善のための業務フローチャートの書き方 改訂新版
https://www.amazon.co.jp/%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E5%88%86%E6%9E%90%E3%83%BB%E6%94%B9%E5%96%84%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E6%A5%AD%E5%8B%99%E3%83%95%E3%83%AD%E3%83%BC%E3%83%81%E3%83%A3%E3%83%BC%E3%83%88%E3%81%AE%E6%9B%B8%E3%81%8D%E6%96%B9-%E6%94%B9%E8%A8%82%E6%96%B0%E7%89%88-%E6%A0%84%E5%8F%A3%E6%AD%A3%E5%AD%9D/dp/4382055776www.amazon.co.jp
- 業務改革、見える化のための業務フローの描き方
https://www.amazon.co.jp/%E6%A5%AD%E5%8B%99%E6%94%B9%E9%9D%A9%E3%80%81%E8%A6%8B%E3%81%88%E3%82%8B%E5%8C%96%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E6%A5%AD%E5%8B%99%E3%83%95%E3%83%AD%E3%83%BC%E3%81%AE%E6%8F%8F%E3%81%8D%E6%96%B9-%E3%83%97%E3%83%AC%E3%83%9F%E3%82%A2%E3%83%A0%E3%83%96%E3%83%83%E3%82%AF%E3%82%B9%E7%89%88-%E5%B1%B1%E5%8E%9F-%E9%9B%85%E4%BA%BA/dp/4839965560www.amazon.co.jp
今回はフローチャートの書き方を紹介しました。
特に若手のうちはできるだけ多くのフローチャートを書くことをおススメします。
頭で理解しているつもりの流れをフローチャートで可視化すると、意外な発見や不要・不足のステップが多くあることに気づき、自身の業務理解を早めるだけでなく、マネジメントに必要な「俯瞰する力」、「整理・要約する力」、「他者に説明する力」も高めてくれるはずです。
今回ご紹介したフローチャートの書き方が
これからフローチャートを書く方々の一助となれば幸甚です。
当社ではエンジニア中途採用に力を入れております。
もし、当社の雰囲気・技術内容等にご興味を持たれましたら以下サイトの募集職種をお気軽にご確認ください!
エンジニア中途採用サイト
ラクスでは、エンジニア・デザイナーの中途採用を積極的に行っております!
ご興味ありましたら是非ご確認をお願いします。
https://career-recruit.rakus.co.jp/career_engineer/カジュアル面談お申込みフォーム
どの職種に応募すれば良いかわからないという方は、カジュアル面談も随時行っております。
以下フォームよりお申込みください。
https://rakus.hubspotpagebuilder.com/visit_engineer/rakus.hubspotpagebuilder.comラクスDevelopers登録フォーム
https://career-recruit.rakus.co.jp/career_engineer/form_rakusdev/イベント情報
会社の雰囲気を知りたい方は、毎週開催しているイベントにご参加ください!
◆TECH PLAY
techplay.jp
◆connpass
rakus.connpass.com