A Warnier-Orr diagram is a hierarchical flowchart used to describe the organization of data and procedures in a program or system. It was developed in France and the US in the 1970s. The diagram works backwards from outputs to define processes at different levels using brackets. The key constructs are hierarchy, sequence, repetition, and alternation. It provides a simple graphical way to design program structures and define both data and processes.