Understand the Basics
What is Software Architecture
Software is complex and software architecture establishes a high level view / rules around the building of the piece of software being built. It provides abstraction to allow understanding of the different pieces involved while removing unimportant details that would distract from the learning. It is crucial to ensuring that quality software is created. It also provides rules around decomposition and composition. Decomposition separation of concerns while composition provides the understanding of how things are connected.