Architecture is the result of technical, business, and social influences, and it's a crucial part of the system design process. An architecture is the realization of early design decisions made regarding the various parts of the system. And it also serves as an important communication, reasoning, analysis, and growth tool for systems.
Software architecture concerns the structures of large software systems.
A software architecture is developed as the first step toward designing a system that has a collection of desired properties. The software architecture of a program or computing system is the structure of the system, which is made up of software components, the externally visible properties of those components, and the relationships between them. Many people and organizations are interested in the construction of a software system. These stakeholders have different concerns that they wish the system to guarantee or optimize. Their concerns may include things as diverse as providing a certain behavior at run time, performing well on a particular piece of hardware, being easy to customize, and achieving a short time to market or low cost of development.