Software architecture



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.
https://farm3.static.flickr.com/2511/3770016707_bb5aca3a02.jpg
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
In general, software architecture is the combination between data structures and algorithms that meets all of the technical and operational requirements.

source:
https://en.wikipedia.org/wiki/Software_architecture
http://www.sei.cmu.edu/architecture/
https://msdn.microsoft.com/en-us/library/ee658098.aspx