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.

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

Flexibility
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]

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

Maintainability

  • 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]

Performance
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]

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

Reusability
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]

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

Security
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]

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

Testability
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]

Usability

  • 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.

Advertisements
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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s

%d bloggers like this: