All Topics  
Flowchart

 

   Email Print
   Bookmark   Link






 

Flowchart



 
 
A flowchart is common type of chart
Chart

and A chart is a visual representation of data, in which the data are represented by symbols such as bars in a bar chart or lines in a line chart....
, that represents an algorithm
Algorithm

In mathematics, computing, linguistics and related subjects, an algorithm is a sequence of finite instructions, often used for calculation and data processing....
 or process, showing the steps as boxes of various kinds, and their order by connecting these with arrows. Flowcharts are used in analyzing, designing, documenting or managing a process or program in various fields.

first structured method for documenting process flow, the "flow process chart", was introduced by Frank Gilbreth to members of ASME
American Society of Mechanical Engineers

The American Society of Mechanical Engineers is a professional body, specifically an engineering society, focused on mechanical engineering.The ASME was founded in 1880 by Alexander Lyman Holley, Henry Rossiter Worthington, John Edison Sweet and Matthias N....
 in 1921 as the presentation “Process Charts—First Steps in Finding the One Best Way”.






Discussion
Ask a question about 'Flowchart'
Start a new discussion about 'Flowchart'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Lampflowchart
A flowchart is common type of chart
Chart

and A chart is a visual representation of data, in which the data are represented by symbols such as bars in a bar chart or lines in a line chart....
, that represents an algorithm
Algorithm

In mathematics, computing, linguistics and related subjects, an algorithm is a sequence of finite instructions, often used for calculation and data processing....
 or process, showing the steps as boxes of various kinds, and their order by connecting these with arrows. Flowcharts are used in analyzing, designing, documenting or managing a process or program in various fields.

History

The first structured method for documenting process flow, the "flow process chart", was introduced by Frank Gilbreth to members of ASME
American Society of Mechanical Engineers

The American Society of Mechanical Engineers is a professional body, specifically an engineering society, focused on mechanical engineering.The ASME was founded in 1880 by Alexander Lyman Holley, Henry Rossiter Worthington, John Edison Sweet and Matthias N....
 in 1921 as the presentation “Process Charts—First Steps in Finding the One Best Way”. Gilbreth's tools quickly found their way into industrial engineering
Industrial engineering

Industrial engineering is also known as operations management, management science, systems engineering, or manufacturing engineering; a distinction that seems to depend on the viewpoint or motives of the user....
 curricula. In the early 1930s, an industrial engineer, Allan H. Mogensen began training business people in the use of some of the tools of industrial engineering at his Work Simplification Conferences in Lake Placid
Lake Placid, New York

Lake Placid is a village in the Adirondack Mountains in Essex County, New York, New York, United States. As of the 2000 census, the village had a population of 2,638....
, New York
New York

The State of New York is a U.S. state in the Mid-Atlantic States and Northeastern United States regions of the United States and is the nation's List of U.S....
.

A 1944 graduate of Mogensen's class, Art Spinanger, took the tools back to Procter and Gamble where he developed their Deliberate Methods Change Program. Another 1944 graduate, Ben S. Graham, Director of Formcraft Engineering at Standard Register Corporation, adapted the flow process chart to information processing with his development of the multi-flow process chart to displays multiple documents and their relationships. In 1947, ASME adopted a symbol set derived from Gilbreth's original work as the ASME Standard for Process Charts.

According to Herman Goldstine, he developed flowcharts with John von Neumann
John von Neumann

John von Neumann was a Hungarian American mathematician who made major contributions to a vast range of fields, including set theory, functional analysis, quantum mechanics, ergodic theory, continuous geometry, economics and game theory, computer science, numerical analysis, hydrodynamics , and statistics, as well as many other mathematical...
 at Princeton University
Princeton University

Princeton University is a private university university located in Princeton, New Jersey, New Jersey, United States. The school is one of the eight universities of the Ivy League and has the largest per-student Financial endowment in the world....
 in late 1946 and early 1947.

Flowcharts used to be a popular means for describing computer algorithms. They are still used for this purpose; modern techniques such as UML
Unified Modeling Language

Unified Modeling Language is a standardized general-purpose modeling language in the field of software engineering.UML includes a set of graphical notation techniques to create abstract models of specific systems....
 activity diagram
Activity diagram

Activity diagrams are a loosely defined diagram technique for showing workflows of stepwise activities and actions, with support for choice, iteration and concurrency....
s can be considered to be extensions of the flowchart. However, their popularity decreased when, in the 1970s, interactive computer terminal
Computer terminal

A computer terminal is an electronic or electromechanical computer hardware device that is used for entering data into, and displaying data from, a computer or a computing system....
s and third-generation programming language
Third-generation programming language

A third-generation language is a refinement of a second generation programming language. Where as a second generation language is more aimed to fix logical structure to the language, a third generation language aims to refine the usability of the language in such a way to make it more user friendly....
s became the common tools of the trade
Computer programming

Computer programming is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language....
, since algorithms can be expressed much more concisely and readably as source code
Source code

In computer science, source code is any collection of statements or declarations written in some human-readable computer programming language....
 in such a language
Programming language

A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer....
. Often, pseudo-code is used, which uses the common idioms of such languages without strictly adhering to the details of a particular one.

Flow chart building blocks


Symbols

A typical flowchart from older Computer Science textbooks may have the following kinds of symbols: Start and end symbols: Represented as lozenges, ovals or rounded rectangles, usually containing the word "Start" or "End", or another phrase signaling the start or end of a process, such as "submit enquiry" or "receive product".

Arrows: Showing what's called "flow of control
Control flow

In computer science control flow refers to the order in which the individual statement , Instruction or function calls of an imperative programming or functional programming computer program are execution or evaluated....
" in computer science. An arrow coming from one symbol and ending at another symbol represents that control passes to the symbol the arrow points to.

Processing steps: Represented as rectangles. Examples: "Add 1 to X"; "replace identified part"; "save changes" or similar.

Input/Output:Represented as a parallelogram
Parallelogram

In geometry, a parallelogram is a quadrilateral with two sets of parallel sides. The opposite or facing sides of a parallelogram are of equal length, and the opposite angles of a parallelogram are of equal size....
. Examples: Get X from the user; display X.

Conditional or decision: Represented as a diamond (rhombus
Rhombus

In geometry, a rhombus , or rhomb is an equilateral polygon parallelogram. In other words, it is a four-sided polygon in which every side has the same length....
). These typically contain a Yes/No question or True/False test. This symbol is unique in that it has two arrows coming out of it, usually from the bottom point and right point, one corresponding to Yes or True, and one corresponding to No or False. The arrows should always be labeled. More than two arrows can be used, but this is normally a clear indicator that a complex decision is being taken, in which case it may need to be broken-down further, or replaced with the "pre-defined process" symbol.

A number of other symbols that have less universal currency, such as:
  • A Document represented as a rectangle
    Rectangle

    In geometry, a rectangle is a Closed set planar quadrilateral with four right angles. A rectangle with vertices ABCD would be denoted as .A rectangle with adjacent sides of lengths a and b has area ab and diagonals of equal length ....
     with a wavy base;
  • A Manual input represented by parallelogram
    Parallelogram

    In geometry, a parallelogram is a quadrilateral with two sets of parallel sides. The opposite or facing sides of a parallelogram are of equal length, and the opposite angles of a parallelogram are of equal size....
    , with the top irregularly sloping up from left to right. An example would be to signify data-entry from a form;
  • A Manual operation represented by a trapezoid
    Trapezoid

    In geometry, a trapezoid or trapezium is a quadrilateral with twoparallel sides. The term “trapezoid” is used in North America, while the term “trapezium” is prevalent in Britain....
     with the longest parallel side at the top, to represent an operation or adjustment to process that can only be made manually.
  • A Data File represented by a cylinder


Flowcharts may contain other symbols, such as connectors, usually represented as circles, to represent converging paths in the flow chart. Circles will have more than one arrow coming into them but only one going out. Some flow charts may just have an arrow point to another arrow instead. These are useful to represent an iterative
Iteration

Iteration means the act of repeating....
 process (what in Computer Science is called a loop
Control flow

In computer science control flow refers to the order in which the individual statement , Instruction or function calls of an imperative programming or functional programming computer program are execution or evaluated....
). A loop may, for example, consist of a connector where control first enters, processing steps, a conditional with one arrow exiting the loop, and one going back to the connector. Off-page connectors are often used to signify a connection to a (part of another) process held on another sheet or screen. It is important to remember to keep these connections logical in order. All processes should flow from top to bottom and left to right.

Examples

Flowchartexample
A flowchart for computing factorial N (N!) Where N! = 1 * 2 * 3 *...* N. This flowchart represents a "loop and a half" — a situation discussed in introductory programming textbooks that requires either a duplication of a component (to be both inside and outside the loop) or the component to be put inside a branch in the loop..

Types of flow charts

There are many different types of flowcharts. On the one hand there are different types for different users, such as analysts, designers, engineers, managers, or programmers. On the other hand those flowcharts can represent different types of objects. Sterneckert (2003) divides four more general types of flowcharts:
  • Document flowcharts, showing a document flow through system
  • Data flowcharts, showing data flows in a system
  • System flowcharts showing controls at a physical or resource level
  • Program flowchart, showing the controls in a program within a system


However there are several of these 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) stated that there are 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.

Software


Manual

Any vector-based drawing program
List of vector graphics editors

The following is a list of vector graphics editors....
 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

Project management is the List of academic disciplines of planning, organizing and managing resources to bring about the successful completion of specific project goals and objectives....
 systems or spreadsheet
Spreadsheet

A spreadsheet is a computer application that simulates a paper worksheet. It displays multiple cells that together make up a grid consisting of rows and columns, each cell containing either alphanumeric text or numeric values....
s. Some tools offer special support for flowchart drawing, e.g., ConceptDraw
ConceptDraw

ConceptDraw 7 is drawing and diagramming software that supports the creation of business diagrams, flowcharts, network diagrams, floor plans, technical drawings, home and office layouts, and such....
, SmartDraw
SmartDraw

SmartDraw is a business graphics software developed by SmartDraw.com. SmartDraw is used to create business graphics such as flowcharts, organization charts, Gantt charts, timelines, mind maps, floor plans, and other diagrams....
, EDraw Flowchart, Visio, and OmniGraffle
OmniGraffle

OmniGraffle is a Diagramming software made by The Omni Group. According to the site, OmniGraffle is built specifically?and exclusively?for Mac OS X....
.

Automatic

Many software packages exist that can create flowcharts automatically, either directly from source code, or from a flowchart description language. For example, GraphEasy, a Perl
Perl

In computer programming, Perl is a high-level programming language, List of programming languages by category, Interpreter , dynamic programming language....
 package, takes a textual description of the graph, and uses the description to generate various output formats including HTML
HTML

HTML, an Acronym and initialism of HyperText Markup Language, is the predominant markup language for Web pages. It provides a means to describe the structure of text-based information in a document?by denoting certain text as links, headings, paragraphs, lists, and so on?and to supplement that text with interactive forms, embedded '...
, ASCII
ASCII

American Standard Code for Information Interchange , is a coding standard that can be used for interchanging information, if the information is expressed mainly by the written form of English words....
 or SVG
Scalable Vector Graphics

Scalable Vector Graphics is a family of specifications of XML-based file format for describing two-dimensional vector graphics, both static and dynamic ....
.

See also

  • Activity diagram
    Activity diagram

    Activity diagrams are a loosely defined diagram technique for showing workflows of stepwise activities and actions, with support for choice, iteration and concurrency....
  • Augmented transition network
    Augmented transition network

    An augmented transition network is a type of graph theory structure used in the operational definition of formal languages, used especially in parsing relatively complex natural languages, and having wide application in artificial intelligence....
  • Business process illustration
    Business process illustration

    In order that business processes can be improved they must first be illustrated. The hardest task in business process mapping is getting everyone to agree what the process looks like....
  • Business Process Mapping
    Business Process Mapping

    Business Process Mapping refers to activities involved in defining exactly what a business entity does, who is responsible, to what standard a process should be completed and how the success of a business process can be determined....
  • Control flow diagram
    Control flow diagram

    File:Performance seeking control flow diagram.jpgControl flow diagram is a diagram to describe the control flow of a business process, process or program....
  • Control flow graph
    Control flow graph

    File:Simplified Control Flowgraphs.jpgA control flow graph in computer science is a Group representation, using graph notation, of all paths that might be traversed through a computer program during its execution ....
  • Data flow diagram
    Data flow diagram

    A data flow diagram is a graphical representation of the "flow" of data through an information system. It differs from the flowchart as it shows the data flow instead of the control flow of the program....
  • Flow map
    Flow map

    Flow maps in cartography are a mix of maps and flow charts, that show the movement of objects from one location to another, such as the number of people in a migration, the amount of goods being traded, or the number of packets in a network....
  • Functional flow block diagram
    Functional flow block diagram

    A Functional Flow Block Diagram is a multi-tier, time-sequenced, step-by-step flow diagram of a system?s functional flow.The FFBD notation was developed in the 1950s, and is widely used in classical systems engineering....
  • N2 Chart
    N2 Chart

    The N2 Chart, also refered to as N2 Diagram, N-Squared Diagram or N Squared Chart, is a diagram in the shape of a matrix, representing functional or physical interfaces between system elements....
  • Petri nets
  • Process architecture
    Process architecture

    Dualistic Petri nets are a process-class variant of Petri nets.Like Petri nets in general and many related formalisms and notations, they are used to describe and analyze process architecture....
  • Pseudocode
    Pseudocode

    Pseudocode is a compact and informal high-level description of a computer programming algorithm that uses the structural conventions of some programming language, but is intended for human reading rather than machine reading....
  • Recursive transition network
    Recursive transition network

    A recursive transition network is a graph theory schematic used to represent the rules of a context free grammar. RTNs have application to programming languages, natural language and lexical analysis....
  • Sankey diagram
    Sankey diagram

    Sankey diagrams are a specific type of flow diagram, in which the width of the arrows is shown proportionally to the flow quantity. They are typically used to visualize energy or material transfers between processes....
  • State diagram
    State diagram

    A state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems. State diagrams require that the system described is composed of a finite number of state s; sometimes, this is indeed the case, while at other times this is a reasonable abstraction....
  • Warnier-Orr
  • Unified Modeling Language
    Unified Modeling Language

    Unified Modeling Language is a standardized general-purpose modeling language in the field of software engineering.UML includes a set of graphical notation techniques to create abstract models of specific systems....
     (UML)


Further reading


External links

  • An IBM manual from 1969 (5MB PDF format)
  • (PDF)
  • - Why and how to create advanced flowchart