# Introduction to 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.

<iframe src="https://speakerdeck.com/player/ae74da6bb4ac47dea01c219ccee18aa6" title="embed" loading="lazy" allowfullscreen></iframe>

Refer to post on [Logical Architecture](https://vedcraft.com/architecture/5-tips-for-effective-logical-architecture/) & [Physical Architecture](https://vedcraft.com/architecture/5-tips-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.**

![](https://vedcraft.com/images/2020/09/image-2.png)

* * *

> 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](https://vedcraft.com/images/2020/09/image-3-1024x571.png)

* * *

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):

-   [Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives: _Book by Eoin Woods and Nick Rozanski_](https://www.viewpoints-and-perspectives.info/)
-   [Software Architecture in Practice: Book by Len Bass, Paul Clements, Rick Kazman](https://books.google.com/books?id=-II73rBDXCYC&source=gbs_similarbooks)

* * *

#### Read Articles on logical & physical architecture

### [5 Tips for Creating Effective Logical Architecture](http://vedcraft.com/architecture/5-tips-for-effective-logical-architecture/)

[![Grow as a Software Architect](https://vedcraft.com/images/2016/04/FeatureImage.jpg)](http://vedcraft.com/architecture/5-tips-for-effective-logical-architecture/)

A logical architecture helps to visualize and communicate the application’s logical & functional components and depicts future state of the architecture meeting business requirements. A…

[Read More](http://vedcraft.com/architecture/5-tips-for-effective-logical-architecture/)

### [5 Tips On Creating Effective Physical/Deployment Architecture For Cloud](http://vedcraft.com/architecture/5-tips-physical-architecture-for-cloud/)

[![Physical Architecture](https://vedcraft.com/images/2016/06/PFeatureImage.jpg)](http://vedcraft.com/architecture/5-tips-physical-architecture-for-cloud/)

In continuation with our series on empowering seasoned developers to be successful & informed software architects, this blog’s focus is on creating an effective physical…

[Read More](http://vedcraft.com/architecture/5-tips-physical-architecture-for-cloud/)
