Software quality attributes are important factors affecting software architecture design. Common software quality attributes are:
Performance: refers to the responsiveness of the system, that is, how long it takes to respond to an event, or the number of events that the system can handle in a certain period of time
Availability: is the percentage of time the system can operate normally
Reliability: Reliability refers to the basic ability of a software system to maintain the functional characteristics of the software system in the face of application or error, in the case of accidental or erroneous use
Robustness: The ability of a system to withstand stress or change
Security: The ability of a system to provide services to legitimate users while preventing attempts or denial of service by unauthorized users
Modification: refers to the ability to make changes to the system quickly and at a high cost performance
Changeability: refers to the ability of an architecture to be extended or changed into a new architecture
Usability: A measure of how easy it is for users to use a software product to accomplish a given task
Testability: refers to the ability of software to find faults, isolate and locate their faults, and the ability to design and execute tests under the premise of certain time and cost.
Functionality: The ability of a system to do the desired job
Inter-operation: the ability of a system to interact with the outside world or with the system before