Een van de fundamentele organisatieconcepten in computerprogrammering is de module. Programma's zijn onderverdeeld in benoemde "modules" die zijn ideaal van de grootte van een enkele pagina of computer scherm. Vanuit een module, andere modules kunnen worden genoemd, en ze kunnen op hun beurt noemen andere modules. Deze structuur maakt de programma's gemakkelijk te begrijpen, oplossen en verdelen zodat verschillende mensen aan hetzelfde project kunnen werken. De modules zijn duidelijk gedefinieerd in termen van input en output, dus het is gemakkelijk om te traceren van de stroom van gegevens door het programma.
Een grafiek heirarchal de relatie tussen programmamodules beschrijft maken. Het zal oppervlakkig gelijkaardig aan het organigram in de meeste bedrijven, waar "CEO" is in een doos bij de bovenkant van de pagina en lijnen worden getekend voor de afdelingshoofden die direct aan de CEO rapporteren allemaal gezien kijken. Lijnen van elk afdelingshoofd zal afdalen naar elke Subdivisie dat aan het diensthoofd rapporteert. De grafiek ziet eruit als een boom die ondersteboven gedraaid.
De lijnen te tekenen op een C++ hiërarchie grafiek op basis van welke module een andere module roept. De top van een grafiek zal altijd "main()" want door Conventie, dit het ingangspunt voor C++ programma's is. Hieronder main() zullen alle modules die worden aangeroepen vanuit binnen main(). Onder elk van deze modules, worden lijnen getrokken aan modules die worden aangeroepen. Herhaal de procedure totdat alle modules in de grafiek zijn.
Mark de modules die worden aangeroepen vanuit meerdere andere module met een donkere rechter bovenhoek. Bijvoorbeeld, als je een programma dat met veeltermen schrijft werkt, verschillende andere modules zou kunnen noemen de functie die b berekent ^ 2--4 ac. De functie die deze hoeveelheid berekent zal meer dan eens verschijnt in de hiërarchie grafiek, en gebruikersprocedures moet een donkere rechter bovenhoek.