Software Architecture

If you are starting your journey as a software architect, getting to know the fundamentals of software architecture as per industry standard (IEEE 42010) is the first step. This slide deck is an effort to unpack the IEEE definition of Software Architecture & provide the guidance and recommendation to make your journey easier.

Refer to post on Logical Architecture & Physical Architecture for further details on creating effective architectural artifacts.

Key excerpts from the slide


ISO/IEC/IEEE 42010 – Systems and software engineering is an international standard for architecture descriptions of systems and software.

Definition of Software Architecture

Software architecture is the fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution.
Reference: ISO/IEC/IEEE 42010 Standard

Key part is understanding components, which will constitute the architecture of system under consideration and then build the relationship (their link to each other) to communicate the architecture.


Fundamental organization can be depicted in non-standard block format (like below for better visualization) or using standard UML notation.


Architecture itself is not good or bad – need to understand the context behind creating the software architecture (business, technical & environment context) before we determine the effectiveness of the architecture.


During initial phase of defining the architecture, think incrementally and start defining components and their relationships starting with Level 0. This can be detailed out further in Level 1, Level 2 and so on. For example, a system context diagram can be created like shown below during initial phase, which can be detailed out further incrementally.

System Context Diagram

To conclude, Software Architecture is an evolving field and continue learning the basics & fundamentals to make sure you are ready from conceptual perspective. Refer to the following books as well for details on software architecture (must read for every software architect):


Read Articles on logical & physical architecture

5 Tips On Creating Effective Physical Architecture

5 Tips On Creating Effective Physical Architecture

In continuation with our series on empowering seasoned developers to be a successful & informed software architect, this blog’s focus is on creating effective physical architecture diagram.  Read our earlier blog on creating effective logical architecture here. Physical architecture (also…

5 Tips for Creating Effective Logical Architecture

5 Tips for Creating Effective Logical Architecture

A logical architecture helps to visualize and communicate application’s logical & functional components and depicts future state solution exhibiting how it will meet business needs. A software architect often comes up with logical architecture during the stage of architecture definition phase and gets…

Leave a Comment