Software architects should pay particular attention to quality attributes, as they influence the architecture of software. The software must meet the designated quality attributes, so identifying and specifying them in a way that they can be measured and tested is important.
Although some stakeholders might focus on functionality, non-functional requirements such as quality attributes are a principal factor in whether or not a software system will be a success. Some of the more important quality attributes include maintainability, usability, availability, portability, interoperability, and testability.
Now that we understand more about quality attributes and the fact that they influence software architecture, we are ready to explore software architecture design. Architecture design involves making decisions to create a solution for functional requirements, quality attributes...