Followings are the advantages and disadvantages of flow charts.
(i) Quicker grasp of relationships – Before any application can be solved, it must be understood, the relationship between various elements of the application must be identified. The programmer can chart a lengthy procedure more easily with the help of a flowchart than by describing it by means of written notes.
(ii) Effective Analysis – The flowchart becomes a blue print of a system that can be broken down into detailed parts for study. Problems may be identified and new approaches may be suggested by flowcharts.
(iii) Communication – Flowcharts aid in communicating the facts of a business problem to those whose skills are needed for arriving at the solution.
(iv) Documentation – Flowcharts serve as a good documentation which aid greatly in future program conversions. In the event of staff changes, they serve as training function by helping new employees in understanding the existing programs.
(v) Efficient coding – Flowcharts act as a guide during the system analysis and program preparation phase. Instructions coded in a programming language may be checked against the flowchart to ensure that no steps are omitted.
(vi) Orderly check out of problem – Flowcharts serve as an important tool during program debugging. They help in detecting, locating and removing mistakes.
(vii) Efficient program maintenance – The maintenance of operating programs is facilitated by flowcharts. The charts help the programmer to concentrate attention on that part of the information flow which is to be modified.
The limitations of flowcharts are as below:
(i) Complex logic – Flowchart becomes complex where the problem logic is complex. The essentials of what is done can easily be lost in the technical details of how it is done.
(ii) No modification – If modifications to a flowchart are required, it may require complete redrawing.
(iii) Reproduction – Reproduction of flowcharts is often a problem because the symbols used in flowcharts cannot be typed.
(iv) Link between conditions and actions – Sometimes it becomes difficult to establish the linkage between various conditions and the actions to be taken there upon for a particular condition.
(v) Standardization – Program flowcharts, although easy to follow, are not such a natural way of expressing procedures as writing in English, nor are they easily translated into Programming language.