Kenya Levy, Zavier Walters WHAT ARE PROGRAM DESIGN TOOLS? • Program design tools are the tools used to develop a program. During designing a program, different tools are required to solve several problems. Some of the frequently used tools are: • Decision Table • Decision Tree • Structured English (Pseudocode) • Algorithm • Flowchart DECISION TABLE A decision table allows an analyst to identify the exact course of action for given condition. A decision table provides unambiguous (clear) decisions leading to a good program design. A decision table generally consists of two sections, namely conditions and actions. DECISION TREE Decision tree is some what similar to a decision table, except that it allows the tree structure and each node of tree denote conditions. A decision tree is more user friendly because it provides a graphical hierarchical diagrammatic view of the conditions and actions. STRUCTURED ENGLISH (PSEUDOCODE) The general meaning of Pseudo code is false code or fake code. Before a real program is written, we write a program that looks like a code on the basis of algorithm and flowchart, which may not be syntactically correct but looks like a program code is called pseudo code. The instruction od pseudo code is written by using English phrase and mathematical expression. It has no hard or fast rules for writing instruction but the instruction is closer to high level language instructions. ALGORITHM Algorithm is a sequence of instructions or step by step instruction to find the solution of a problem. An algorithm should be simple and clear. It must be to the point and should lead to the solution of the problem in a finite number of steps. Each step may require one or more operations and they must be definite, effective and finite. An algorithm to go to the cinema to see a movie. • Step 1: Start the program • Step 2: Go to the cinema hall • Step 3: Is the ticket counter open? • Step 4: If it is not open, return home • Step 5: If it is open, buy a ticket • Step 6: Get into the cinema hall • Step 7: Watch the movie • Step 8: Return home • Step 9: End the program FLOWCHART A flowchart is a pictorial representation of an algorithm. It can also be defined as a program planning tool for organizing a sequence of steps necessary to solve a problem, which is shown in terms of symbols. Flowcharts uses symbols that have geometrical shapes to indicate the different operations. These symbols are connected by flow lines which indicate the order of execution of the various activities. It is used by the programmers to develop programs and by system, designers to represent the overall system while analyzing and developing the system. There are two types of flowchart, namely system flowchart and program flowchart. SYSTEM FLOWCHART A system flowchart describes the data flow and operations for a data processing system. It shows how the data processing is to be accomplished. PROGRAM FLOWCHART A program flowchart describes the sequence of operations and decisions for a particular program. It is a detailed program which is shown in the form of pictures that shows how processing steps will be performed within the computer to convert input data into desired output. DIFFERENCES BETWEEN SYSTEM AND PROGRAM FLOWCHART • A system flowchart is designed by a system designer and a program flowchart designed by a programmer. • A system flowchart gives a broad overview of the overall system and a program flowchart gives a specific view of control flow program. • A system flowchart is used to design large sized world problems and a program flowchart is used to design small sized logical and mathematical problems.