Visualize our algorithms
When you work with abstract ideas it is important to make your thoughts as clear as possible to your co-developers. One possible way is to visualize those abstract elements such as algorithms. There are many different visualization tools in software development world. You will learn about one of them in this section. It can help you to make the designing phase easier and clarify your approach to your developer mates.
What is a flowchart?
A flowchart is a type of diagram that represents an algorithm, workflow or process, showing the steps as boxes of various kinds, and their order by connecting them with arrows. This diagrammatic representation illustrates a solution model to a given problem. Flowcharts are used in analyzing, designing, documenting or managing a process or program in various fields. [1]
Another video on the same topic but may present a different perspective:
Flowcharts are used in designing and documenting simple processes or programs. Like other types of diagrams, they help visualize what is going on and thereby help understand a process, and perhaps also find flaws, bottlenecks, and other less-obvious features within it. There are many different types of flowcharts, and each type has its own repertoire of boxes and notational conventions. The two most common types of boxes in a flowchart are:
- a processing step, usually called activity and denoted as a rectangular box
- a decision, usually denoted as a diamond.
A flowchart is described as “cross-functional” when the page is divided into different swimlanes describing the control of different organizational units. A symbol appearing in a particular “lane” is within the control of that organizational unit. This technique allows the author to locate the responsibility for performing an action or making a decision correctly, showing the responsibility of each organizational unit for different parts of a single process.
Flowcharts depict certain aspects of processes and they are usually complemented by other types of diagram. For instance, Kaoru Ishikawa defined the flowchart as one of the seven basic tools of quality control, next to the histogram, Pareto chart, check sheet, control chart, cause-and-effect diagram, and the scatter diagram. Similarly, in UML, a standard concept-modeling notation used in software development, the activity diagram, which is a type of flowchart, is just one of many different diagram types.
Nassi-Shneiderman diagrams and Drakon-charts are an alternative notation for process flow.
Common alternative names include flowchart, process flowchart, functional flowchart, process map, process chart, functional process chart, business process model, process model, process flow diagram, work flow diagram, business flow diagram. The terms “flowchart” and “flow chart” are used interchangeably.
The underlying graph structure of a flow chart is a flow graph, which abstracts away node types, their contents, and other ancillary information.mainly
source: Wikipedia
Read the Wikipedia article about flowcharts to getting familiar with the building blocks of flowcharts:
https://en.wikipedia.org/wiki/Flowchart
As you see it is a very useful tool in the designing phase of software development projects.
Create your own
You can draw your flowcharts on paper of course but there are many software which are capable to make flowcharts. We recommend using draw.io because you can connect it to your Google account and easily save your diagrams to your google drive.
Try to visualize your previous algorithms like the polygon drawer in Scratch.