部品の論理的順序を保つことが重要である。あらゆるプロセスは上から下、左から右に流れるべきである。 制御フローではなくデータフローを表現するデータフロー図を描くための部品の規格化が行われてきた。そのような部品は制御フローを表すフローチャートでも特に平行四辺形の「入出力」部品を詳細化するのに使われている。 なお、そもそもコントロールのフローとデータフローは違うものであるため「(フローチャートの)データフロー的拡張」として両者を混用すると、フローチャートの「代入などの操作を表現する箱」と、データフロー図の「データを保持したり加工する実体を表現する箱」が混在することになり、同様に「順次的な手続きの流れ」を表現する矢印と「データの流れ」を表現する矢印が混在することになる。 Sterneckert (2003) によれば、フローチャートは様々なユーザーグループ(管理者、システムアナリスト、事務員など)の異なる観点からモデル化でき、それらは次の4種類に分類できる[10]。 どのフローチャートも流れ自身ではなく、ある種の制御に着目したものであることに注意が必要である[10]。自動車の運転をフローチャートでモデル化したもの 他にもいくつかの分類がある。例えば、Andrew Veronis (1978) は、システムフローチャート、概要フローチャート、詳細フローチャートという3つに分類した[11]。また同年、Marilyn Bohl (1978) では「実際、ソリューションプランニングにおいてはシステムフローチャートとプログラムフローチャートの2種類のフローチャートが使われる」と記している[12]。さらに最近の Mark A. Fryman (2001) ではさらに様々な種類があるとし「意思決定フローチャート、論理フローチャート、システムフローチャート、製品フローチャート、プロセスフローチャートは、ビジネスや政府で使われている様々なフローチャートのほんの一部である」と記している[13]。 さらに、フローチャートとよく似たダイアグラム技法を異なる名前で呼んでいる場合もあり、例えば、UMLのアクティビティ図がある。 JISで標準化された図法は、工業・情報処理でどうしてもフローチャートで書かなければならない場合に用いられることが多い。一方、株式公開や内部統制のフローを描く場合には、以下のような形式のフローチャートを用いることがある。 フローチャートはいわば、goto文とif文だけでプログラミングしているようなものであるため、プログラミングに構造化プログラミングがあらわれたように、段階的詳細化などの問題解決の手法をきちんと反映するような、より良い図法とされるものが、いくつも考案された。そのような図法としてNS図(w:Nassi?Shneiderman diagram また他に YAC (Yet Another Control chart、富士通) がある。 これらがさほど普及しなかった理由としては、ノイマンらがフローチャートをプログラミングの補助として採用した頃の機械語プログラミングからの時代の経過で、構造化をサポートした高水準プログラミング言語などにより、むしろこういった図法よりもアルゴリズムをより明確に、プログラミング言語で直接書けるようになったことがある。また全く技術的でない理由として、唯一に標準化されたものでなければ使えないとする信仰のようなものから、このようにたくさん提案されているのでは採用できない、といったようなものもある。 またこれらを使う際には、数個以上の箱が縦に並ぶようなことは可能な限り避けきちんとサブルーチンとして切り出すなどして、「フローチャートの欠点」とされるような書き方は戒められなければならない。そういったことから「フローチャート」の語を避けて、構造化チャートと呼ばれることもある。 作図プログラムならフローチャートを描画できるが、単に図として描画するとデータベースやプロジェクトマネジメントシステムや表計算ソフトとデータを共有するデータモデルを提供できない。一部のツールはフローチャート描画のための機能をサポートしている。また、何らかのソースコードあるいはフローチャート記述言語から自動的にフローチャートを生成できるソフトウェアも多数存在する。ウェブ経由でオンラインで使えるツールも存在する。
データフロー的拡張
長方形の下辺を波形にした図形で、「書類」を表す。
上辺が左から右に斜めに上がっている四角形で、「手操作入力」を表す。例えば、帳票へ書き込むことを表す。
上底の方が長い台形で、「手作業」を表す。人間が自ら行うしかない作業や調整を表す。
円柱形で「データファイル」を表す。
様々なフローチャート
文書フローチャート - システム内の文書の流れについての制御を示す図
データフローチャート - システム内のデータの流れについての制御を示す図
システムフローチャート - 物理レベルまたは資源レベルの制御を示す図
プログラムフローチャート - システム内のプログラムにおける制御を示す図
株式公開・内部統制向けフローチャート
NOMA方式
日本経営協会 (NOMA) の理事であった、三枝鐘介によって作られたもの。使用する記号を抑えて、シンプルに記述するのが特徴。
日能式
日本能率協会によって作られたもの。思想はNOMA方式に近い。
産能大式
学校法人産業能率大学によって作られたもの。NOMA方式に比べ、「FAX」「コピー」等の具体的な記号を用いているのが特徴。株式公開時の提出資料で、この形式を用いることが多い。
構造化フローチャート
PAD (Problem Analysis Diagram、二村良彦考案)[14]
HCP (Hierarchical ComPact description chart、日本電信電話公社の横須賀電気通信研究所で開発)
PSD (Program Structure Diagram、日本電気)
DSD (Design Structure Diagram)
SPD (Structured Programming Diagram)
LCP (Logical Conception of Program hierarchical)
LCP (Logical Conception of Program flow chart)
ソフトウェア
脚注[脚注の使い方]
注釈^ そのため、問題解決の理解には程遠いこともある(すごろくやあみだくじやゲームブックのようなものだと思えばよい。各ステップとステップ間の流れは単純明快でわかりやすいが、全貌を誤解なく理解するには大変な努力を要することもある)。
^ なお、可逆計算を表現する場合には「制御フローの合流の逆」は重要なのだが、UMLの設計者たちがそのような先進的なアイディアを考慮したものか否かは不明である。
出典^ ⇒SEVOCAB: Software and Systems Engineering Vocabulary. Term: Flow chart. Retrieved 31 July 2008.
^ 萩原芳彦 監修 『ハンディブック 機械 改訂2版』 オーム社 2007年3月20日 p.352
^ Graham, Jr., Ben S. (1996年6月10日). “ ⇒People come first”. Keynote Address at Workflow Canada'. 2012年11月4日閲覧。
^ Hartree, Douglas (1949). Calculating Instruments and Machines. The University of Illinois Press. p. 112
^ Bashe, Charles (1986). IBM's Early Computers. The MIT Press. p. 327
^ Goldstine, Herman (1972). The Computer from Pascal to Von Neumann. Princeton University Press. pp. 266-267. .mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation.cs-ja1 q,.mw-parser-output .citation.cs-ja2 q{quotes:"「""」""『""』"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free a,.mw-parser-output .citation .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited a,.mw-parser-output .id-lock-registration a,.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription a,.mw-parser-output .citation .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:#d33}.mw-parser-output .cs1-visible-error{color:#d33}.mw-parser-output .cs1-maint{display:none;color:#3a3;margin-left:0.3em}.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}ISBN 0-691-08104-2
Size:35 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)』
担当:undef