FLOWCHART Flowcharting is a tool for analyzing processes. It allows you to break any process down into individual events or activities and to display these in shorthand form showing the logical relationships between them. Constructing flowcharts promotes better understanding of processes, and better understanding of processes is a pre-requisite for improvement. Examples of processes are "Receiving orders and entering them into the computer system" or "Converting dry-mix powder into tablet form" or "Following-up sales enquiries". The events which make up a process, and which appear in the flowchart, may be of any type. For example, they may be "taking a phone call", "completing an order form", "printing a report", "deciding between a number of alternatives", and so on. The symbols used to represent each event may take any form. They may be boxes, circles, diamonds or other shapes, or events may simply be described in words. Connections between events are always represented by lines; usually with arrowheads to show the direction or order in which they occur. These lines represent the flow of activity in the process being described; hence the name of the technique. (See the example in the `How to use it' section of this document.) There are specialized applications for flowcharting (such as in computer systems design and programming, engineering, and science) which use standardized sets of symbols. You must decide for yourself whether these need to be used in your particular management application. In most circumstances these will either not be necessary or you can rely on three or four simple symbols to cover most types of events. A useful set of symbols is given in the `How to use it' section below. For special standardized symbols, see the `Other references' section of this document for sources you can refer to. The flowchart is a means of visually presenting the flow of data through an information processing systems, the operations performed within the system and the sequence in which they are performed. In this lesson, we shall concern ourselves with the program flowchart, which describes what operations (and in what sequence) are required to solve a given problem. The program flowchart can be likened to the blueprint of a building. As we know a designer draws a blueprint before starting construction on a building. Similarly, a programmer prefers to draw a flowchart prior to writing a computer program. As in the case of the drawing of a blueprint, the flowchart is drawn according to defined rules and using standard flowchart symbols prescribed by the American National Standard Institute, Inc. The flowchart is a means of visually presenting the flow of data through an information processing systems, the operations performed within the system and the sequence in which they are performed. In this lesson, we shall concern ourselves with the program flowchart, which describes what operations (and in what sequence) are required to solve a given problem. The program flowchart can be likened to the blueprint of a building. As we know a designer draws a blueprint before starting construction on a building. Similarly, a programmer prefers to draw a flowchart prior to writing a computer program. As in the case of the drawing of a blueprint, the flowchart is drawn according to defined rules and using standard flowchart symbols prescribed by the American National Standard Institute, Inc. Flowcharts are used to make decisions on the development and flow of a program on macro, meso and micro levels. It is a clear graphic representation of a process from beginning to end, regardless of whether that process is an algorithm or a manufacturing procedure. - Flowcharts are the most commonly used graphic method of describing computer operations. Their major uses are in the documentation and in programming. As a documentation tool a flowchart helps you understand the nature of computer operation, regardless of the programming language or the computer used. In program development, the programmer uses flowcharting in every parts of his work to: •Organize facts and ideas on paper. •Define the problems and the show solutions. •Deal systematically with the problem as a whole. •Build his own reference documentation and reminders in a stepby-step fashion Imagine that you are an engineer. For you the flowchart is like a blueprint or a house. Using a blueprint, you can specify the type of materials needed. You can easily tell the location of the kitchen and of the bathroom. The blueprint also gives you directions as to which part of the structure should be built first. In programming, a flowchart is an all-purpose tool. It is the “blueprint” of a program, while you are still in the development stage. Flowcharts are useful tools when improving a process, especially when you are planning to connect data or to implement a solution. They can be also used to document a new process or to compare an existing one with the ‘ideal’. You ca try out various approaches in laying out the program flow or logic. Because flowcharts use graphic representations of the procedures, they can tell us a lot about the process and the activities involved. We can easily see the relationships of the broad concepts and the minor details of the data flow. Flowcharts are important when figuring out complicated steps in programming. FLOWCHART SYMBOLS A set of useful standard symbols It is not strictly necessary to use boxes, circles, diamonds or other such symbols to construct a flowchart, but these do help to describe the types of events in the chart more clearly. Described below are a set of standard symbols which are applicable to most situations without being overly complex. Rounded box - use it to represent an event which occurs automatically. Such an event will trigger a subsequent action, for example `receive telephone call’, or describe a new state of affairs. Rectangle or box - use it to represent an event which is controlled within the process. Typically this will be a step or action which is taken. In most flowcharts this will be the most frequently used symbol. Diamond - use it to represent a decision point in the process. Typically, the statement in the symbol will require a `yes' or `no' response and branch to different parts of the flowchart accordingly. Circle - use it to represent a point at which the flowchart connects with another process. The name or reference for the other process should appear within the symbol. When dealing with a process flow chart, two separate stages of the process should be considered: the finished product and the making of the product. In order to analyze the finished product or how to operate the process, flow charts tend to use simple and easily recognizable symbols. The basic flow chart symbols below are used when analyzing how to operate a process. In order to analyze the second condition for a flow process chart, one should use the ANSI standard symbols. The ANSI standard symbols used most often include the following: Drive Nail, Cement, Type Letter. Move Material by truck, conveyor, or hand. Raw Material in bins, finished product on pallets, or filed documents. Wait for elevator, papers waiting, material waiting Read gages, read papers for information, or check quality of goods. Any combination of two or more of these symbols show an understanding for a joint process. Action or Process A box can represent a single step ("add two cups of flour"), or and entire subprocess ("make bread") within a larger process. Document A printed document or report. Decision A decision or branching point. Lines representing different decisions emerge from different points of the diamond. Input/Output Represents material or information entering or leaving the system, such as customer order (input) or a product (output). Connector Indicates that the flow continues where a matching symbol (containing the same letter) has been placed. Flow Line Lines indicate the sequence of steps and the direction of flow. Delay Indicates a delay in the process. Merge Indicates a step where two or more sub-lists or subprocesses become one. Collate Indicates a step that orders information into a standard format. Sort Indicates a step that organizes a list of items into a sequence or sets based on some pre-determined criteria. Subroutine Indicates a sequence of actions that perform a specific task embedded within a larger process. This sequence of actions could be described in more detail on a separate flowchart. Manual Loop Indicates a sequence of commands that will continue to repeat until stopped manually. Loop Limit Indicates the point at which a loop should stop. Data storage Indicates a step where data gets stored. Database Indicates a list of information with a standard structure that Display Indicates a step that displays information. Off Page Indicates that the process continues off page. Terminal Is used to start and end a flowchart. FLOWCHART TECHNIQUES Flow Chart Technique Primary Purpose The flow chart technique is used to show the sequential actions and decisions in a complex process. It reduces complexity by showing a likely set of actions and simple decisions. Sources / Resource(s) / Reference(s) Carlisle, K. E. (1986) . Analyzing Jobs and Tasks. Englewood Cliffs, NJ: Educational Technology Publications, Inc. Special Comments and Caveats * The Flow Chart Technique is relatively simple to use and produces a very clear and understandable task description. Alternative actions are shown as sequential steps. This method is reasonable time efficient. * Jobs with many options decisions are not handled easily with the Flow Chart Technique. The ability of the computer to fetch and execute instructions repeatedly, accurately and at very high speed coupled with its ability to make decision on alternative processing makes the computer appears to be a powerful device. The programmer writes code in a programming language that specifies what instruction is to be executed in a program. The kind of processing done by the basic control elements that determine branching during the sequence of program statement execution can be described as: 1. Alternative processing or 2.. Repetitive processing Actually, both type of processing is base on a process of decision making. The difference is that the control path in one case does not lead to a repeat of processing done before. Alternative processing in a program is implemented using the control logic known as the case structure or the comparing logic structure. Loops are implemented using the loop logic structure. TYPES OF FLOWCHART Program Flowchart - shows the sequence of instructions in a program or subroutine. These instructions are followed to procedure the needed output. START INPUT PROCESS OUTPUT DECISIO N END SYSTEM FLOWCHART - shows how the data flows from source documents through the computer to its final distribution to the users. System flowcharts portray the interaction among data, hardware and personnel. SCREE N TAPE CPU PRINTER DISK SAMPLE PROBLEM IN FLOWCHARTING Draw a flowchart to find the sum of first 50 natural numbers. Draw a flowchart to find the largest of three numbers A, B, and C. Draw a flowchart for computing factorial N (N!) Where N! = 1 ´ 2 ´ 3 ´ …… N.