Software Architecture. What is It?

According to the Microsoft official developer site, software architecture is the process of defining and also stablising a structured solution that meets all of the technical and operational requirements, without having problems on the optimization of common quality attributes such as performance, security, and manageability. It also involves some series of decisions based on different factors, and each of these decisions can have considerable impact on the quality, performance, maintainability, and overall success of the application.

Official Site

As the Software Engineering Institute states, the software architecture of a program or computing system is a depiction of the system that aids in the understanding of how the system will behave. It is also an artifact for early analysis to make sure that a design approach will yield an acceptable system.

An example of how arquitecture defines how something is supposed to work, let’s take a look at UML diagrams.

The following video shows the main differences between the arquitecture and the design which I talked in a previous post, in software developent.