Simple Solutions to Complex Problems
  • Simple Solutions
    • Documents Live Once
    • Good JIgs
    • Polya and Friends
  • Long Term Relations
    • Customers & Projects >
      • APU OverView >
        • APU Early Years
        • APU Middle Years
        • APU Late Years
      • AQMD >
        • DataGeneral v Hewlett Packard
      • Big Lots
      • The Federate Group >
        • Stabilizing the System
        • The Cash Register System
        • Later Projects
      • Munson Management Systems
      • National Electronics
      • Richey Electronics
      • Sierra Pacific Investments
      • Other Customers
  • Diagonal Method
    • D2-M2 >
      • Diagonal differs from Agile
      • Maintenance Projects
      • Manufacturing Projects
      • Research Projects
    • Data Structures >
      • Data Levels
      • Data Logging
      • Data Merging
      • Data Input Buffers
      • Data Sorting
      • Data Deltas
    • Readable Source Code >
      • Readable Code Modifications
      • Readable Paradigms
      • Readable Style
    • Critical Path Method >
      • CPM Data Tasks
      • CPM Menu and Security
      • CPM External Tasks
      • CPM: Early Calculations
      • CMP Stem to Stern >
        • Work Units
    • Semi-Interpretive Mindset >
      • Simple Semi-Interpretive Case Study 1
      • Semi-Interpretive Case Study 1 -- Semesters 2 and 3
      • More Thorough and Efficient
      • Software Research Northwest
    • Semi-Interpretive Methods
    • Concepts and Practices >
      • Data Changes
      • Data Stacks
      • Data Tokens and Loose Linking
    • Diagrams & Examples >
      • Venn Diagrams
      • Music Score as a Diagram
      • Cause & Effect Diagrams
    • Dictionary and Lexicon
  • Programmers
    • Tools and Languages >
      • python considerations
      • program names, like sa5comm
    • Perspectives of a Manager
    • ToDo
    • HTML testing
    • Private Thoughts
    • Leads
  • Contact Pilgrim
    • Land of the Free
    • Pilgrim Legal Status
    • Index to Pages
  • New Page
  • Stonehenge Simply Done

Flowchart Symbols

These symbols address some of the limitations of typical flowcharts.  Even still, the manager should utilize flowcharts to emphasize ideas and concepts, not extreme details.  When a flowchart becomes extremely large, like more than four pages or more than 100 symbols, the bad effects multiply quickly.
  • value gets lost in the complexity
  • the flowchart might distort how the product or project works
  • sentences often carry more precision
  • the time to maintain might not balance the learning
  • the cost increases with the square




Process Boxes
A process of a general nature fits in a rectangle.  Pretty much any actions can fit inside.  Exits are down or right.  In practice, a process can enclose an entire flowchart with decisions and loops.

Table Lookup is an extremely powerful concept. 
    Find &stuff in table xxx using keys giving result


Data Base Inserts, Updates, and Deletes.  Words can describe the action.  Maybe some one wants to re-shape the symbol to specify the action, but maybe the action is so complex that no one symbol distinctly represents the action. 

A Sub-Routine returns to the caller, and flowcharts usually lack conventions to retrace a flow: the arrow must flow both directions.
Picture
Decision Boxes
These boxes all good text.  The yellow, labeled decision box has a label which explicitly names the branch,  The branch is a doubled headed arrow, which is an attempt to deal with the sub-routine.
The table lookup has an implicit error exit, which appears here as a yellow decision adjacent to the table lookup.
The next two boxes are an experimental symbol for yes.  Is the label necessary,? 
This experimental box suggests no.
The else ends the list of decisions
The standard Decision (obsolete) is awkward.  It branches both left and right, and maybe also down.  Text does not fit well.

Progress goes down or right.  Loops go left and up, or right and up.
Picture
Loop Structures
The languages like BASIC, C++, and PeopleCode have a FOR-NEXT loop, which combines the assignment and the decision of a While Loop. While Loops are essential to programming but they can be messy.

The Do-While and the Repeat-Until follow similar patterns. The index requires a value, some process or assignment is done, a decision to continue is made. The symbolic representations all require two downward paths and one upward.  The first while loop has obvious arrows for paths; the exit from the decision box lacks artistic feeling.  Soe flowcharts hide the loop in a box and then the title says "find the last item: or some similar.  The loop is hidden.

The second while loop exits from the decision on a negative condition. Artistically the loop is more compact. The gap between the decision box and the do-routine could be squeezed out. This is a better loop.

Some scientists may have found Do-Loops in DNA (?!) 

Stack Processors, Queue Processors, File Readers, and any other indexed or transversable structure are while loops:
   While another node is unvisited, do thepprocess


Picture
A Decision Block and Case Statement both consolidate logic.  Some languages allow ugly situations where multiple decisions trigger, or even worse, one decision alters the variables and thus triggers another decision.  Any thing that works has merit, but this author thinks that within one decision block only one decision should trigger
Connectors
Exit
Begin
Continue
Continue with Delay
Picture
PCC 1982 - 2014