Showing posts from March, 2019

Software Architect and Software Architecture

What is Software Architecture? Software Architecture is the structure of a software system, it's fundamental properties and the principles of its design and evolution. Structure: It is about identifying the architecturally significant pieces of a system and defining the relationship between them. Properties: It is about the functional properties of a system and its quality properties like performance, scalability, security, etc. Principles: It is about understanding the principles behind its design. An understanding that allows the system to evolve in a consistent and logical way without introducing unnecessary complexity. What is the importance of Software Architecture? The need for Software Architecture is best summarized in the following statement: "Software architecture represents a system's earliest set of design decisions. These early decisions are the most difficult to get correct and the hardest to change later in the development process, and they have the most far-reac…