Quality attributes are the general variables that influence run-time conduct, system design, and user experience. They represent areas of concern that have the potential for application wide effect crosswise over layers and levels. Some of these attributes are identified with the general system design, while others are particular to run time, design time, or user based issues. The degree to which the application has a fancied mix of quality attributes, e.g. performance, usability, reliability, and security shows the accomplishment of the design and the general nature of the software application.
At the point when designing applications to meet any of the quality attributes prerequisites, it is important to consider the potential effect on different requirements. You should examine the trade-offs between various quality attributes. The significance or need of every quality attribute varies from framework to framework; for instance, interoperability will frequently be less imperative in a solitary utilize packaged retail application than in a line of business (LOB) system.
Common quality attributes:
Here we will discuss some of the common quality attributes.
Conceptual integrity characterizes the consistency and intelligence of the general design. This incorporates the way that segments or modules are designed, and in addition components, for example, coding style and variable naming.
2.Design related qualities:
– Reusability :
Reusability characterizes the ability for parts and subsystems to be appropriate for use in different applications and in different situations. Reusability minimizes the duplication of segments furthermore the execution time.
Interoperability is the capacity of a framework or diverse systems to work effectively by conveying and exchanging data with other outer systems composed and run by outside parties. An inter operable system makes it simpler to trade and reuse data internally and also remotely.
Manageability characterizes how simple it is for system admins to deal with the application, as a rule through adequate and helpful instrumentation uncovered for use in monitoring frameworks and for debugging and performance tuning.
Availability characterizes the extent of time for which the system is working and functional. It can be measured as a rate of the aggregate system downtime over a predefined period. Availability will be influenced by system blunders, infrastructure related issues, malicious attacks, and system load.
Performance means that the responsiveness of a system to execute any action inside a given time interim. It can be measured as latency or throughput. Latency is the time taken to react to any situation. Throughput is the number of events that occur inside a given measure of time.
Security is the ability of a system to forestall malicious or accidental activities outside of the outlined use, and to anticipate exposure or loss of data. A safe system expects to protect unapproved modification of data
Testability is a measure of easiness to prepare test criteria for the system and its parts, and to execute these tests keeping in mind the end goal to figure out whether the criteria are met. Great testability makes it more probable that shortcomings in a system can be isolated on a timely and successful basis.
Usability characterizes how well the application meets the requirements of the user and buyer by being natural, simple to localize and globalize, giving good access to disabled users, and bringing about a decent general user experience.
From this, one can say that quality attributes are important to know in order to ensure the release or delivery of a quality product.