Member-only story
Quality Attributes (*-ilities) In Application Development

Introduction
*-ilities are group of quality attributes that defines the applications capabilities. All those quality attributes are of a name that ends with *ility*
Quality attributes of the system that describes a specific capability that is not related to a specific functional requirement. They are closely tight to non functional requirements. They describes what technical capabilities should be used to meet the non functional requirements.
Lets take this example,
The system must work under heavy load, but should not waste money or unused resources.
In order to make this works, we have to implement the scalability.
Once the quality attributes are set, the architecture must take them into account and make sure they are implemented.
The relationship between non functional requirements, quality attributes and architecture is as below,
- Non functional requirement define what the system should do with quality attributes.
- Quality attributes map those requirements to technical capabilities.
- The architecture describes how those capabilities will be designed and implemented.