Quality attribute considerations

  • Quality attributes are related to the functionality of a system.
  • Quality attributes determine the functions of the system.
  • If a functional requirement is “when the user presses the button, the option dialog appears”:

    1. the performance of this function is about how quickly the dialog appears.
    2. the availability of this function is about how often this dialog fails to appear (or: how
      frequent this dialog appears as intended)
    3. the user-friendliness of this function is about how easy it is to use this function.
    4. the modifiability of this function is about how easy it is to modify this feature in the
      coding space.

Specifying quality attribute requirements

  • A quality attribute requirement should be unambiguous and testable.
  • A common form is normally used to specify all quality attribute requirements.
  • There are six components in quality attribute specifications/scenarios:

    • Stimulus—the term ‘stimulus’ is used to describe an event arriving at the system. For example,
      the stimulus for modifiability is a request for a modification.
    • Stimulus source—the source from which a stimulus comes. The source of the stimulus may affect
      how it is treated by the system. A request from a trusted user will not undergo the same
      scrutiny as a request from an untrusted user.
    • Response—the way in which the system responses to the stimulus.

      • System response (runtime)
      • Developer’s response
    • Response measure—determining whether a response is satisfactory (whether a quality attribute
      requirement is satisfied)

      • For example, the response measure for modifiability could be the clock time required to make
        the necessary modification.
    • Environment: the circumstances in which the scenario takes place.
    • Artefact: it is the portion of the system to which the requirement applies. For example: data
      store vs metadata store in a database; modifying GUI (which is an artefact) as compared to
      modifying the middleware in order to achieve faster response times.
Last modification:June 13th, 2020 at 04:46 pm