In structure chart whole application is divided into modules (set of program instructions) and modules are designed according to some principles of design. These are:
Modularity and partitioning: Every system must comprises a hierarchy of modules. Lower level modules are usually smaller in size and scope compared to higher level modules. They serve to partition processes in separate functions.
Coupling: Modules must be loosely coupled. Which means that modules must have little dependence on other modules in a system.
Cohesion: Modules must be highly cohesive. It means that modules must carry out a single processing function.
Span of control: Modules must interact with and manage functions of a limited number of lower level modules. It means that number of called modules must be limited (in a calling module).
Size of Module: Number of instructions present in a module must be limited so that module size is normally small.
Shared use of Functions: Functions must not be duplicated in separate modules may be shared. It means that functions can be written in a single module and can be invoked by any other module when required.