Home > Architecture > Quality Attributes

Quality Attributes

There is a good discussion on quality attributes here – Implementing System Quality Attributes. I have stolen the summary here.

The ability of a system to both be flexible and undergo change rapidly. [MIT ESD 2001]

The ease with which a system or component can be modified for use in applications or environments, other than those for which it was specifically designed. [Barbacci, 1995]

The ability of two or more systems or components to exchange information and use the information that has been exchanged. [IEEE 1990]


  • The aptitude of a system to undergo repair and evolution. [Barbacci, 2003]
  • (1) The ease with which a software system or component can be modified to correct faults, improve performance or other attributes, or adapt to a changed environment. (2) The ease with which a hardware system or component can be retained in, or restored to, a state in which it can perform its required functions. [IEEE Std. 610.12]

The responsiveness of the system—that is, the time required to respond to stimuli (events) or the number of events processed in some interval of time. Performance qualities are often expressed by the number of transactions per unit time, or by the amount of time that it takes to complete a transaction with the system. [Bass, 1998]

The ability of the system to keep operating over time. Reliability is usually measured by mean time to failure. [Bass 1998]

The degree to which a software module or other work product can be used in more than one computing program or software system. This is typically in the form of reusing software that is an encapsulated unit of functionality. [IEEE 1990]

The ability to maintain or improve performance while system demand increases.

A measure of the system’s ability to resist unauthorized attempts at usage and denial of service, while still providing its services to legitimate users. Security is categorized in terms of the types of threats that might be made to the system. [Bass, 1998]

The ease with which a software system can be operationally maintained.

The degree to which a system or component facilitates the establishment of test criteria and the performance of tests to determine whether those criteria have been met. [ IEEE 1990]


  • The measure of a user’s ability to utilize a system effectively. [Clements, 2002]
  • The ease with which a user can learn to operate, prepare inputs for, and interpret outputs of a system or component. [IEEE Std. 610.12]
  • A measure of how well users can take advantage of some system functionality. Usability is different from utility, which is a measure of whether that functionality does what is needed. [Barbacci, 2003]

We’ll look into each one of these as we go along.

Categories: Architecture
  1. No comments yet.
  1. November 19, 2010 at 11:01 pm
  2. November 19, 2010 at 11:10 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: