Search code examples
architectureumldiagram

How is a block diagram organized?


I would like to understand the exact hierarchy of a block diagram.

If a block A is on top of block B does it mean that A is in some abstract manner build using B?

A concrete question:

I have a component C that calls components D,E to achieve its goal. Is C on top of D,E (since it uses them) or are these different unrelated blocks? When would be each case? aD,E are not a platform that C is build on but just something it uses.

What disturbes me is that I usually see block diagrams with a big base block and many small "roof" blocks, e.g. a framework base and many features over it. However in my example if every component is build using 2 others I would end up with a base containing many blocks and one "roof". Alternatively I would end up with unrelated (non hierarchical) blocks which seems to miss the purpose of this diagram (or does it?).


Solution

  • There's a trick to block diagrams.

    They're just marketing.

    If you want precise semantics, you have to use UML, which doesn't use block diagrams with simple casual "on top of". The "on top of" is clearly too vague.

    If you have a "pyramid", and you'd rather not show that, then your lower-level blocks are too fine-grained.

    Lump the detailed lower-level blocks into a bigger framework block. Then you can have fewer big blocks on the bottom.