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 A workflow consists of an orchestrated and repeatable pattern of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. It can be depicted as a sequence ...
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 Problem solving is the process of achieving a goal by overcoming obstacles, a frequent part of most activities. Problems in need of solutions range from simple personal tasks (e.g. how to turn on an appliance) to complex issues in business an ...
. 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 bottlenecks 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, cause-and-effect diagram, and the scatter diagram. Similarly, in
UML 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 ...
, 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 Graph may refer to: Mathematics *Graph (discrete mathematics), a structure made of vertices and edges **Graph theory, the study of such graphs and their properties *Graph (topology), a topological space resembling a graph in the sense of discre ...
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 ...
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 Allan Herbert Mogensen, known as Mogy, (May 12, 1901 - March 1989) was an American industrial engineer, and industry consultant, and an authority in the field of work simplification and office management. He is noted for popularizing flowcharts in t ...
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'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, 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 The American Society of Mechanical Engineers (ASME) is an American professional association that, in its own words, "promotes the art, science, and practice of multidisciplinary engineering and allied sciences around the globe" via " continuing ...
adopted a symbol set derived from Gilbreth's original work as the "ASME Standard: Operation and Flow Process Charts." Douglas Hartree in 1949 explained that Herman Goldstine 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 cove ...
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 language A third-generation programming language (3GL) is a high-level computer programming language that tends to be more machine-independent and programmer-friendly than the machine code of the first-generation and assembly languages of the second-ge ...
s 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 comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
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 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 ...
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 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 ...
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 organ ...
(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 Ar ...
(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 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 ce ...
. 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, LARP, Visual Logic, Fischertechnik ROBO Pro, and VisiRule.


See also


Related diagrams

* Activity diagram * Control-flow diagram *
Control-flow graph In computer science, a control-flow graph (CFG) is a representation, using graph notation, of all paths that might be traversed through a program during its execution. The control-flow graph was discovered by Frances E. Allen, who noted tha ...
* 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 flowchart A flowchart is a type of diagram t ...
* Drakon-chart * 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 A swimlane (as in swimlane diagram) is used in process flow diagrams, or flowcharts, that visually distinguishes job sharing and responsibilities for sub-processes of a business process. Swimlanes may be arranged either horizontally or vertically. ...
* Warnier/Orr diagram * Why-because analysis


Related subjects

*
Augmented transition network An augmented transition network or ATN is a type of graph theoretic structure used in the operational definition of formal languages, used especially in parsing relatively complex natural languages, and having wide application in artificial intelli ...
* 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 construc ...
* Unified Modeling Language (UML) *
Workflow A workflow consists of an orchestrated and repeatable pattern of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. It can be depicted as a sequence ...


References


Further reading

* * ISO 10628: Diagrams for the chemical and petrochemical industry
ECMA 4: Flowcharts
(withdrawn �

of withdrawn standards) *
Schultheiss, Louis A. Louis Avery Schultheiss (October 30, 1925 – December 11, 2014) was an American academic, librarian, and Emeritus Professor at the University of Illinois at Chicago. He was best known for his 1962 work on "Advanced Data Processing in the University ...
, 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