The computer has no imagination or thinking of its own, every logic or task that has to be performed on the computer is detailed. For this purpose, we have to give some instructions to the computer that is called programming.
The set of detailed instructions which group the data processing activities together that are to be performed by a computer is called programs. The computer programming process is the collection of these six phases.
- Program Analysis: Before making programs, the analysis of the system is done. This includes the inputs that are to be taken, the processing, and the outputs that are to be generated. In this phase, it is also checked that if the program worth making.
- Program Design: In this phase; the program layout is prepared by the system analyst and provided to the programmer. This is done using flowcharts that show the flow of data, documents, etc. very clearly.
- Program Coding: In this phase, the implementation of the flowchart is done using any programming language. For each language, there are separate sets of instructions with their respective syntax.
Program coding is done in a way that these three objectives are achieved:- simplicity, efficient utilization of storage, and least processing time.
- Program debugging: After completion of program coding, it is compiled and run. During this process, only few errors can be traced. After elimination of these errors, the program is put to use in real necessity. The logical errors (bugs) that arise now are to be removed and this process is known as debugging.
- Program documentation: Program documentation is done to provide an explanation to the end-user.
- Program specification
- Program description
- The test data that is employed in debugging the program.
- The operation manual that lists operating instructions for the operator.
- The maintenance documentation that is required to the person who has to make the necessary changes to the program.
- Program Maintenance: the changes are constantly required in a business system and hence the program is also required to be changed. For this, separate programmers are required that are known as maintenance programmers. Because of this purpose, the programs that are written should be simple and self-explanatory.
Types of Flow charts:-
1. System outline chart: These charts mainly list the broad aspects of an application like structure, inputs, and types of files to process without regard to any sequence of flow. In these charts, we mainly outline the work to be done in an application.
2. System flow chart: These charts represent the logical flow of all aspects of the data processing system in a graphical manner. Like incomplete application of sales department, to display the logical flow of sales order processing systems and its interlinking with other application, a systems flow chart is prepared.
3. Run flow chart: Since the system flowchart is a collection of several processes, the run flow chart in fact represents the future detailing of any particular process of the system flow chart.
4. Program flow chart: These flow charts are the most detailed flow charts and are concerned with actual logical/arithmetic operations on data within CPU & for the flow of data to various devices within the application.
These flow charts are normally directly converted into programs with the help of statements. These flow charts are normally prepared by the programmer for the graphical solutions of any arithmetic and logical problems.
Here, mainly we have concern with program flowchart for solving the problem. As we saw that flowcharting is the part of program design and programs design phase comes after program analysis,
hence to dray any flowchart we should first of all do the analysis of the problem for which we want to draw the flowchart. I.e. the input required and the processing that has to be applied to get the desired output.
5. System flowcharts: showing controls at a physical or resource level
6. Program flowchart: showing the controls in a program within a system
Flow charts can be defined as pictorial representations of an algorithm by system analysts for planning the procedure to solve a program. The diagram includes the flow of process, relevant operations, and computations, point of decision and other information which is a part of solution.
- A graphical picture of the sequence of operations of a program or an Information system is called a flowchart.
Types of Flow chart:
- System Outline chart
- System flow chart
- Computer Run chart
- Computer Procedure flowchart or program flowchart
1) System Outline chart
- This represents a list of all inputs, files, processes, and outputs in a tabular form without bothering about the sequence of operation.
- It helps in checking for duplication and discrepancies in Operations/events.
Example: College Payroll
|Title – College Payroll System||System payroll||Document No. D-01||Name Payroll Process||Sheet 1|
|Inputs Muster Leave Applications New Employee Detail Arrears Details Deduction Details Norms and Parameters||Process Preparation of Attendance and Leave StatemePreparation of payroll Register Prepare Bank Statements and Deduction Reports||nts|
|Files Employee Master File Attendance File Leave Record File Leave Summary File Arrears File Deduction Summary File Current Payroll File||Outputs Pay slips Payroll Register Deduction Reports Tax Reports Management Reports Bank Statements|
2) System Flow chart
- A system flow chart represents the flow of data through all parts of a system with minimum of details.
- It shows where input enters the system, how it is processes and Controlled and how it leaves the system in the form of storage or output.
- System outline chart and system flow charts can be drawn for a complete system or a sub system.
Principles of flowcharting:
- Ensuring that the flowchart has a logical start and finish.
- Use standard symbols and templates.
- Write the operations within the symbols in a precise manner.
- Avoid crossed flow lines wherever possible.
- Use simple yes or no decisions.
- Try to keep the direction of flow of the chart down the page and left to right
- Use connector symbol wherever necessary.
- Finally, check whether the flowchart is logically correct and complete.
|Start/End Symbol||Used to show the beginning and end of a set of computer related processes.|
|Action or Process Symbol||Used to indicate any processing performed by a computer system.|
|Document Symbol||Used to show any printed document input or output.|
|Multiple Documents Symbol||Represents multiple documents in the process.|
|Decision Symbol||A decision or branching point. Lines representing different decisions emerge from different points of the diamond.|
|Input/output Symbol||Represents material or information entering or leaving the system, such as customer order (input) or a product (output).|
|Manual Input Symbol||Represents a step where a user is prompted to Enter information manually.|
|Preparation Symbol||Represents a set-up to another step in the process.|
|Or Symbol||Indicates that the process flow continues in more Than two branches.|
|Sort Symbol||Indicates a step that organizes a list of items into a sequence or sets based on some pre-determined criteria.|
|Subroutine Symbol||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 Symbol||Indicates a sequence of commands that will continue to repeat until stopped manually.|
|Loop Limit Symbol||Indicates the point at which a loop should stop.|
|Delay Symbol||Indicates a delay in the process.|
|Data Storage or Stored Data Symbol||Indicates a step where data gets stored.|
|Database Symbol||Indicates a list of information with a standard Structure that allows for searching and sorting.|
|Internal Storage Symbol||Indicates that information was stored in memory During a program, used in software design flowcharts.|
|Display Symbol||Indicates a step that displays information.|
|Off page Connector||Used to connect parts of flowcharts continued on separate pages.|
|Connector||Used to connect different entry and/or exit points In the flowchart.|
|Directional flow||Used to show the direction or sequence of processing and other events|
|Communication Link||Used to show any transmission of data by communication media|
General guidelines to prepare Flowcharts:-
- Listing all requirements in a proper logical order and in detail.
- Must be made clear, neat, and easy to follow in order to have a good visual impact.
- Use appropriate standard flowcharting symbols.
- Make comparison instructions simple. Yes/No type.
- Avoid intersections of lines, used to depict the flow of logic.
- Use connectors to reduce the number of flow lines. Connectors are useful where the flow charts are several pages long.
- Check that the flowchart is logically correct and complete. This process is technically known as debugging and is done by using suitable test data.
Advantages of using flowcharts:-
- Communication: flowcharts are a good visual aid for communicating the logic of a system, to all concerned.
- Quicker group of relationship: with the help of flowcharts, the relationship between the procedures can be identified and understood easily.
- Effective analysis and synthesis: before programming a new system, the analysis is done effectively using flowcharts. In a running system program, a flowchart may be used to combine old approaches with the new logic.
- Efficient coding: with the help of a flow chart the program logic can be implemented in any programming language for building up a new system.
- Orderly debugging: the flowchart also helps in debugging process i.e. it helps in detecting, locating, and removing mistakes.
Limitations of Flowcharts:-
- Complex Logic: When the program logic is complex, the flowcharts become lengthy and lack clarity in a decision table.
- Alteration and Modification: If alterations are required, the flowchart may require re-drawing completely.
- Reproduction: As flowchart symbols cannot be typed, reproduction of flowchart is often a problem.
- Standardization: Though program flowcharts are easy to follow, they are neither expressed completely in English nor are they translated into programming languages.