uml

How to create a Block Diagram


How can I draw a Block Diagram for a system/ software development? I searched online and I couldn't find any guidelines or good examples.

What should be on the top of the Block Diagram?

Should I arrange the Block Diagram based on my Class Diagram (Inheritance, interface, abstract, etc)?

Why use a Block Diagram?

What does the Block Diagram show? The process? The component? The overall architecture?

Please provide me with any links regarding the Block Diagram if there are any.


Solution

  • A block diagram is helpful mainly in the preliminary stages of software development.

    A block diagram is similar to a UML package diagram in that it only shows very high level components of the design and how they interact.

    What should be on the top? There isn't really a "top" in a block diagram. You may be confusing this with a layered architecture diagram. In a layered architecture diagram, top-level layers are generally the closest to the user.

    Should I arrange the block diagram in terms of Inheritance? Not really, the block diagram is supposed to show only the high level interactions of the system. A UML class diagram is where you show the inheritance and interface behaviour.

    Why use a block diagram? Primarily because it is easy to partition the system into components for component-based software engineering and because it makes it easy to discuss with clients/managers.

    The block diagram generally shows the overall architecture.

    This is an example of a layered architecture diagram: (from http://www.acaltechnology.com/index.php?page=news&id=1577)

    Layered architecture - Hardware abstraction layer

    This is an example of a block diagram: (from https://web.archive.org/web/20121106145142/http://www.simventions.com/whitepapers/uml/3000_borcon_uml.html)

    Block Diagram example