フローチャートとは?処理の流れを図で表すアルゴリズム設計の基本

システム開発・テクノロジー
フローチャートとは?ざっくりと3行で
  • 処理の手順や条件分岐・繰り返しをJIS規格の図形記号を使って視覚的に表した流れ図のこと。「流れ図」とも呼ばれる
  • プログラムの設計・業務フローの可視化・アルゴリズムの説明に使われ四角(処理)・ひし形(条件分岐)・平行四辺形(入出力)・楕円(開始・終了)が代表的な記号だ
  • IT・プログラミングの領域だけでなく製造業の品質管理・医療の手順確認・行政の申請フローなど幅広い分野で使われている

【深掘り】これだけ知ってればOK!

フローチャートの主要な記号:端子(楕円)(開始・終了)・処理(長方形)(計算・代入)・判断(ひし形)(条件分岐・Yes/No)・入出力(平行四辺形)(データの入力・出力)・定義済み処理(サブルーチン・関数の呼び出し)・矢印(処理の流れの方向)。

フローチャートの実際の使い方として、プログラムを書く前にフローチャートで処理の流れを設計することで①ロジックの漏れや矛盾を事前に発見できる②チームメンバーや非エンジニアと処理の流れを共有できる③デバッグ時に実際の処理と比較できるというメリットがある。

フローチャートの作成ツールとしてdraw.io(diagrams.net)・Miro・Lucidchart・FigJam・PlantUMLが代表的だ。GitHubのMarkdownでMermaid記法(コードブロックに書くとフローチャートが自動生成される)を使うエンジニアも増えている。

フローチャートの代わりにUMLアクティビティ図・BPMN(Business Process Model and Notation)が使われることもある。BPMNはビジネスプロセスのモデリング専用の表記法で、複数のアクター間のやり取りの表現に優れている。

処理の流れを図で表すことは、プログラミング言語の構文を知らなくてもロジックを議論できる共通言語として機能する。チームで設計する際・非エンジニアに仕様を説明する際・業務をRPA化する前の整理など、様々な場面でフローチャートは重宝される。

よくある誤解

フローチャートはプログラマーだけが使うものだと思っている

業務フローの可視化・手順書の作成・エラー対応フローの設計など、非エンジニアの業務でもフローチャートは広く活用されている。製造業のQC7つ道具の一つとしても標準的に使われており、誰でも使える汎用的な思考ツールだ。

フローチャートは古い表記法だと思っている

現代でもフローチャートは多用されている。GitHubのMermaid記法・draw.io・FigJamなどのツールで簡単に作成でき、MarkdownのドキュメントにフローチャートをそのままレンダリングできるMermaid記法はエンジニアの日常的なコミュニケーションツールとして広く使われている。

会話での使われ方

ITKAGYO運営者デプロイ太郎のアイコン画像

このロジック複雑なのでフローチャートに描いてもらえますか?コードを書く前に処理の流れを確認したいです。

開発リーダーが複雑な処理の設計前にフローチャートでの共有を求めている場面。

ITKAGYO運営者デプロイ太郎のアイコン画像

業務フローをフローチャートにまとめました。これを見れば誰でも手順を理解できますし、RPA化するときの設計書にもなります。

業務改善担当者がフローチャートの活用価値を説明している場面。

ITKAGYO運営者デプロイ太郎のアイコン画像

GitHubのREADMEにMermaid記法でフローチャートを書いておくと、MarkdownをそのままレンダリングしてGitHubで表示できますよ。

エンジニアがMermaid記法を使ったフローチャートの活用方法を教えている場面。

【まとめ】3つのポイント

  • 処理の手順や条件分岐をJIS記号で視覚化した流れ図:プログラムの設計・業務フローの可視化・アルゴリズムの説明などITから非IT業務まで幅広く使われるコミュニケーションツールだ
  • ひし形(条件分岐)・四角(処理)・楕円(開始・終了)の3記号が核心:JIS規格の図形記号を正しく使うことでプログラマーと非エンジニアが共通の言語でシステムの処理の流れを理解できる
  • draw.io・Mermaid・FigJamで簡単に作成してチームと共有:モダンなフローチャートツールを使えばドキュメントやGitHubに埋め込んだり非エンジニアと共同編集したりすることが容易になる

よくある質問

Q
フローチャートとUMLはどう違いますか?
A

フローチャートは処理の流れを図で表す汎用的な表記法です。UMLはソフトウェア設計のためのより複雑な表記法の体系で、クラス図・シーケンス図・アクティビティ図など多くの種類があります。

Q
Mermaidとはどんなツールですか?
A

テキスト記法でフローチャート・シーケンス図・クラス図などを生成するJavaScriptのライブラリです。GitHubのMarkdownで対応しており、コードブロックに書くと自動でダイアグラムがレンダリングされます。

Q
フローチャートはどんなツールで作れますか?
A

draw.io(diagrams.net)が無料で最も使いやすいです。Miroは共同作業向け、LucidchartはGSuiteとの連携が強力です。コードベースではMermaid・PlantUMLがエンジニアに人気です。

Q
フローチャートを書くときの基本ルールは何ですか?
A

開始から終了まで必ず流れが繋がること・矢印は一方向・ひし形の条件分岐はYes/Noを明示する・複雑な処理はサブルーチン化するという点が基本です。

【出典】参考URL

https://app.diagrams.net/ :draw.io(diagrams.net)フローチャート作成ツール
https://mermaid.js.org/ :Mermaid記法の公式サイト
https://jstqb.jp/syllabus.html :JSTQB「ソフトウェアテスト標準用語集」

コメント

「IT用語、難しすぎて心が折れそう……」という方のための、ハードル低めな用語辞典です。

情報レベルは「基礎中の基礎」。会話を止めないためのエッセンスだけを抽出しています。分かりやすさを追求するあまり、時々例え話が暴走しているかもしれませんが、そこは「ほどよく」聞き流していただけると幸いです。
ほどよくIT用語辞典システム開発・テクノロジー
デプロイ太郎のSNSを見てみる!!
タイトルとURLをコピーしました