Last time we figured out the role, skills, and duties of a software architect. But what happens when functional requirements are formulated and software architect found the way how the system should work? In this material, we’ll make a short overview of 12 software architecture quality attributes and quality attributes types.
This is the list of
12 software architecture quality attributes
- Performance – shows the response of the system to performing certain actions for a certain period of time.
- Interoperability is an attribute of the system or part of the system that is responsible for its operation and the transmission of data and its exchange with other external systems.
- Usability is one of the most important attributes, because, unlike in cases with other attributes, users can see directly how well this attribute of the system is worked out.
- Reliability is an attribute of the system responsible for the ability to continue to operate under predefined conditions.
- Availability is part of reliability and is expressed as the ratio of the available system time to the total working time.
- Security is responsible for the ability of the system to reduce the likelihood of malicious or accidental actions as well as the possibility of theft or loss of information.
- Maintainability is the ability of the system to support changes.
- Modifiability determines how many common changes need to be made to the system to make changes to each individual item.
- Testability shows how well the system allows performing tests, according to predefined criteria.
- Scalability is the ability of the system to handle load increases without decreasing performance, or the possibility to rapidly increase the load.
- Reusability is a chance of using a component or system in other components/systems with small or no change.
- Supportability is the ability of the system to provide useful information for identifying and solving problems.
Credits to Nikolay Ashanin for creating this useful list.