Software architecture is about defining and creaiting the structures of a software. These structures manages the relations between the components of the program. Sofware architecture is important because it describes how these structures control the conections of the back-end part of the software.
The architecture is the carrier of the software qualities such as perfomance, modifiability and security.
flickr photo by Will Scullin https://flickr.com/photos/wscullin/3770016707 shared under a Creative Commons (BY) license
The architecture must follow the software requirements established in the software design. Actually, software architecture and software design are very related, the desgin describes what to do and what not to do while the architecture describes how to do it with the implementation of the structures.
Characteristics:
- Multitude of stakeholders
- Separation of concerns
- Quality-driven
- Recurring styles
- Conceptual integrity
source:
https://en.wikipedia.org/wiki/Software_architecture
http://www.sei.cmu.edu/architecture/
https://msdn.microsoft.com/en-us/library/ee658098.aspx