A block diagram is a diagram of a system in which the functions or principal parts are represented by blocks connected by lines so to show the relationships of the blocks. They are most used in engineering in hardware design, electronic design, software design, and process flow diagrams.