Flowchart
   HOME

TheInfoList



OR:

A flowchart is a type of
diagram A diagram is a symbolic representation of information using visualization techniques. Diagrams have been used since prehistoric times on walls of caves, but became more prevalent during the Enlightenment. Sometimes, the technique uses a three ...
that represents a workflow or process. A flowchart can also be defined as a diagrammatic representation of an
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
, a step-by-step approach to solving a task. The flowchart shows the steps as boxes of various kinds, and their order by connecting the boxes with arrows. This diagrammatic representation illustrates a solution model to a given problem. Flowcharts are used in analyzing, designing, documenting or managing a process or program in various fields.SEVOCAB: Software Systems Engineering Vocabulary
Term: ''Flow chart''. Retrieved 31 July 2008.


Overview

Flowcharts are used to design and document simple processes or programs. Like other types of diagrams, they help visualize the process. Two of the many benefits are flaws and
bottleneck Bottleneck literally refers to the narrowed portion (neck) of a bottle near its opening, which limit the rate of outflow, and may describe any object of a similar shape. The literal neck of a bottle was originally used to play what is now known as ...
s may become apparent. Flowcharts typically use the following main symbols: * A process step, usually called an ''activity'', is denoted as a rectangular box. * A decision is usually denoted as a diamond. A flowchart is described as "cross-functional" when the chart is divided into different vertical or horizontal parts, to describe the control of different organizational units. A symbol appearing in a particular part is within the control of that organizational unit. A cross-functional flowchart allows the author to correctly locate the responsibility for performing an action or making a decision, and to show the responsibility of each organizational unit for different parts of a single process. Flowcharts represent certain aspects of processes and are usually complemented by other types of diagram. For instance, Kaoru Ishikawa defined the flowchart as one of the seven basic tools of quality control, next to the histogram, Pareto chart, check sheet,
control chart Control charts is a graph used in production control to determine whether quality and manufacturing processes are being controlled under stable conditions. (ISO 7870-1) The hourly status is arranged on the graph, and the occurrence of abnormalit ...
, cause-and-effect diagram, and the
scatter diagram A scatter plot (also called a scatterplot, scatter graph, scatter chart, scattergram, or scatter diagram) is a type of plot or mathematical diagram using Cartesian coordinates to display values for typically two variables for a set of data ...
. Similarly, in UML, a standard concept-modeling notation used in software development, the activity diagram, which is a type of flowchart, is just one of many different diagram types. Nassi-Shneiderman diagrams and Drakon-charts are an alternative notation for process flow. Common alternative names include: flow chart, process flowchart, functional flowchart, process map, process chart, functional process chart, business process model, process model, process flow diagram, work flow diagram, business flow diagram. The terms "flowchart" and "flow chart" are used interchangeably. The underlying graph structure of a flowchart is a flow graph, which abstracts away node types, their contents and other ancillary information.


History

The first structured method for documenting process flow, the " flow process chart", was introduced by Frank and
Lillian Gilbreth Lillian Evelyn Gilbreth (; May 24, 1878 – January 2, 1972) was an American psychologist, industrial engineer, consultant, and educator who was an early pioneer in applying psychology to time-and-motion studies. She was described in the 1940s as ...
in the presentation "Process Charts: First Steps in Finding the One Best Way to do Work", to members of the American Society of Mechanical Engineers (ASME) in 1921. The Gilbreths' tools quickly found their way into
industrial engineering Industrial engineering is an engineering profession that is concerned with the optimization of complex processes, systems, or organizations by developing, improving and implementing integrated systems of people, money, knowledge, information an ...
curricula. In the early 1930s, an industrial engineer, Allan H. Mogensen began to train business people in the use of some of the tools of industrial engineering at his Work Simplification Conferences in Lake Placid, New York. Art Spinanger, a 1944 graduate of
Mogensen Mogensen is a surname of Danish origin which may refer to: People * Allan Mogensen, Danish orienteering competitor, winner of the 1993 World Orienteering Championship * Andreas Mogensen (born 1976), first Dane selected as astronaut by the European ...
's class, took the tools back to Procter and Gamble where he developed their Deliberate Methods Change Program. Ben S. Graham, another 1944 graduate, Director of Formcraft Engineering at
Standard Register Industrial Taylor Corporation is a privately owned printing company based in North Mankato, Minnesota. Established in 1975 by Glen Taylor. The company comprises more than 80 subsidiaries and employs more than 10,000 workers across the United Kingdom, Phili ...
, applied the flow process chart to information processing with his development of the multi-flow process chart, to present multiple documents and their relationships. In 1947, ASME adopted a symbol set derived from Gilbreth's original work as the "ASME Standard: Operation and Flow Process Charts."
Douglas Hartree Douglas Rayner Hartree (27 March 1897 â€“ 12 February 1958) was an English mathematician and physicist most famous for the development of numerical analysis and its application to the Hartree–Fock equations of atomic physics and the c ...
in 1949 explained that
Herman Goldstine Herman Heine Goldstine (September 13, 1913 – June 16, 2004) was a mathematician and computer scientist, who worked as the director of the IAS machine at Princeton University's Institute for Advanced Study and helped to develop ENIAC, th ...
and
John von Neumann John von Neumann (; hu, Neumann János Lajos, ; December 28, 1903 â€“ February 8, 1957) was a Hungarian-American mathematician, physicist, computer scientist, engineer and polymath. He was regarded as having perhaps the widest c ...
had developed a flowchart (originally, diagram) to plan computer programs. His contemporary account was endorsed by IBM engineers and by Goldstine's personal recollections. The original programming flowcharts of Goldstine and von Neumann can be found in their unpublished report, "Planning and coding of problems for an electronic computing instrument, Part II, Volume 1" (1947), which is reproduced in von Neumann's collected works. The flowchart became a popular tool for describing computer algorithms, but its popularity decreased in the 1970s, when interactive computer terminals and third-generation programming languages became common tools for
computer programming Computer programming is the process of performing a particular computation (or more generally, accomplishing a specific computing result), usually by designing and building an executable computer program. Programming involves tasks such as anal ...
, since algorithms can be expressed more concisely as
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the ...
in such
languages Language is a structured system of communication. The structure of a language is its grammar and the free components are its vocabulary. Languages are the primary means by which humans communicate, and may be conveyed through a variety of met ...
. Often pseudo-code is used, which uses the common idioms of such languages without strictly adhering to the details of a particular one. In the early 21st century, flowcharts were still used for describing computer algorithms. Modern techniques such as UML activity diagrams and Drakon-charts can be considered to be extensions of the flowchart.


Types

Sterneckert (2003) suggested that flowcharts can be modeled from the perspective of different user groups (such as managers, system analysts and clerks), and that there are four general types:Alan B. Sterneckert (2003) ''Critical Incident Management''
p. 126
/ref> * ''Document flowcharts'', showing controls over a document-flow through a system * ''Data flowcharts'', showing controls over a data-flow in a system * ''System flowcharts'', showing controls at a physical or resource level * ''Program flowchart'', showing the controls in a program within a system Notice that every type of flowchart focuses on some kind of control, rather than on the particular flow itself. However, there are some different classifications. For example, Andrew Veronis (1978) named three basic types of flowcharts: the ''system flowchart'', the ''general flowchart'', and the ''detailed flowchart''. That same year Marilyn Bohl (1978) stated "in practice, two kinds of flowcharts are used in solution planning: ''system flowcharts'' and ''program flowcharts''...". More recently, Mark A. Fryman (2001) identified more differences: "Decision flowcharts, logic flowcharts, systems flowcharts, product flowcharts, and process flowcharts are just a few of the different types of flowcharts that are used in business and government". In addition, many diagram techniques are similar to flowcharts but carry a different name, such as UML activity diagrams.


Building blocks


Common symbols

The
American National Standards Institute The American National Standards Institute (ANSI ) is a private non-profit organization that oversees the development of voluntary consensus standards for products, services, processes, systems, and personnel in the United States. The orga ...
(ANSI) set standards for flowcharts and their symbols in the 1960s. The
International Organization for Standardization The International Organization for Standardization (ISO ) is an international standard development organization composed of representatives from the national standards organizations of member countries. Membership requirements are given in A ...
(ISO) adopted the ANSI symbols in 1970. The current standard, ISO 5807, was revised in 1985. Generally, flowcharts flow from top to bottom and left to right.


Other symbols

The ANSI/ISO standards include symbols beyond the basic shapes. Some are:


Parallel processing

*'' Parallel Mode'' is represented by two horizontal lines at the beginning or ending of simultaneous operations For
parallel Parallel is a geometric term of location which may refer to: Computing * Parallel algorithm * Parallel computing * Parallel metaheuristic * Parallel (software), a UNIX utility for running programs in parallel * Parallel Sysplex, a cluster o ...
and concurrent processing the ''Parallel Mode'' horizontal lines or a horizontal bar indicate the start or end of a section of processes that can be done independently: * At a '' fork'', the process creates one or more additional processes, indicated by a bar with one incoming path and two or more outgoing paths. * At a ''join'', two or more processes continue as a single process, indicated by a bar with several incoming paths and one outgoing path. All processes must complete before the single process continues.


Software


Diagramming

Any drawing program can be used to create flowchart diagrams, but these will have no underlying data model to share data with databases or other programs such as
project management Project management is the process of leading the work of a team to achieve all project goals within the given constraints. This information is usually described in project documentation, created at the beginning of the development process. T ...
systems or
spreadsheet A spreadsheet is a computer application for computation, organization, analysis and storage of data in tabular form. Spreadsheets were developed as computerized analogs of paper accounting worksheets. The program operates on data entered in ...
. Many software packages exist that can create flowcharts automatically, either directly from a programming language source code, or from a flowchart description language. There are several applications and visual programming languagesMyers, Brad A.
Visual programming, programming by example, and program visualization: a taxonomy.
ACM SIGCHI Bulletin. Vol. 17. No. 4. ACM, 1986.
that use flowcharts to represent and execute programs. Generally these are used as teaching tools for beginner students. Examples include Flowgorithm,
Raptor Raptor or RAPTOR may refer to: Animals The word "raptor" refers to several groups of bird-like dinosaurs which primarily capture and subdue/kill prey with their talons. * Raptor (bird) or bird of prey, a bird that primarily hunts and feeds on v ...
, LARP, Visual Logic, Fischertechnik ROBO Pro, and VisiRule.


See also


Related diagrams

* Activity diagram *
Control-flow diagram A control-flow diagram (CFD) is a diagram to describe the control flow of a business process, process or review. Control-flow diagrams were developed in the 1950s, and are widely used in multiple engineering disciplines. They are one of the clas ...
* Control-flow graph * Data flow diagram *
Deployment flowchart A deployment flowchart (sometimes referred to as a cross functional flowchart) is a business process mapping tool used to articulate the steps and stakeholders of a given process. "Deployment flowcharts consist of a sequence of activity steps a ...
*
Drakon-chart DRAKON is a free and open source algorithmic visual programming and modeling language developed within the Buran space project following ergonomic design principles. The language provides a uniform way to represent flowcharts of any comp ...
* Flow map * Functional flow block diagram *
Nassi–Shneiderman diagram A Nassi–Shneiderman diagram (NSD) in computer programming is a graphical design representation for structured programming. This type of diagram was developed in 1972 by Isaac Nassi and Ben Shneiderman who were both graduate students at Ston ...
* State diagram * Swimlane * Warnier/Orr diagram * Why-because analysis


Related subjects

* Augmented transition network * Business process mapping * Interactive EasyFlow * Process architecture * Pseudocode *
Recursive transition network A recursive transition network ("RTN") is a graph theoretical schematic used to represent the rules of a context-free grammar. RTNs have application to programming languages, natural language and lexical analysis. Any sentence that is constructed ...
*
Unified Modeling Language The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. The creation of UML was originally m ...
(UML) * Workflow


References


Further reading

* *
ISO 10628 ISO 10628 ''Diagrams for the chemical and petrochemical industry'' specifies the classification, content, and representation of flow diagrams. It does not apply to electrical engineering diagrams. ISO 10628 consists of the following parts: *Part 1: ...
: Diagrams for the chemical and petrochemical industry
ECMA 4: Flowcharts
(withdrawn â€

of withdrawn standards) * Schultheiss, Louis A., and Edward M. Heiliger.
Techniques of flow-charting
" (1963); with introduction by Edward Heiliger.


External links


''Flowcharting Techniques''
An IBM manual from 1969 (5 MB; PDF) {{Authority control Algorithm description languages American inventions Computer programming Diagrams Modeling languages Quality control tools Technical communication