Friday, November 16, 2012

General Quality Attribute Scenarios

A Quality Attribute Scenario is a quality-attribute-specific requirement. There are 6 parts:

  1. Source of stimulus (e.g., human, computer system, etc.) 
  2. Stimulus – a condition that needs to be considered 
  3. Environment - what are the conditions when the stimulus occurs? 
  4. Artifact – what elements of the system are stimulated. 
  5. Response – the activity undertaken after arrival of the stimulus 
  6. Response measure – when the response occurs it should be measurable so that the requirement can be tested. 

Availability General Scenario. 
Source: Internal to system or external to system
Stimulus: Crash, omission, timing, no response, incorrect response
Artifact: System’s processors, communication channels, persistent storage
Environment: Normal operation; degraded (failsafe) mode
Response: Log the failure, notify users/operators, disable source of failure, continue (normal/degraded)
RespMeasure: Time interval available, availability%, repair time, unavailability time interval

Modifiability General Scenario. 
Source: End-user, developer, system-administrator
Stimulus: Add/delete/modify functionality or quality attr.
Artifact: System user interface, platform, environment
Environment: At runtime, compile time, build time, design-time
Response: Locate places in architecture for modifying, modify, test modification, deploys modification
RespMeasure: Cost in effort, money, time, extent affects other system functions or qualities

Performance General Scenario.
Source: A number of sources both external and internal
Stimulus: Periodic events, sporadic events, stochastic events
Artifact: System, or possibly a component
Environment: Normal mode; overload mode
Response: Process stimuli; change level of service
RespMeasure: Latency, deadline, throughput, jitter, miss rate, data loss

Security General Scenario. 
Source: User/system who is legitimate/imposter/unknown with full/limited access
Stimulus: Attempt to display/modify data; access services
Artifact: System services, data
Environment: Normal operation; degraded (failsafe) mode
Response: Authenticate user; hide identity of user; grant/block access; encrypt data; detect excessive demand…
RespMeasure: Time /effort/resources to circumvent security measures with probability of success

Testability General Scenario.
Source: Unit developer, increment integrator, system verifier, client acceptance tester, system user Stimulus: Analysis, architecture, design, class, subsystem integration, system delivered
Artifact: Piece of design, piece of code, complete system
Environment: At design time, at development time, at compile time, at deployment time
Response: Provide access to state data values, observes results, compares
RespMeasure: % coverage; prob. of failure; time to perform tests; length of time to prepare test environment

Usability General Scenario. 
Source: End user
Stimulus: Wants to: learn system, use system, recover from errors, adapt system, feel comfortable Artifact: System
Environment: At runtime, or configure time, install-time
Response:  To learn system

-  Help system is context sensitive
-  Interface familiar,  consistent
To use system efficiently
-  Reuse of command or data already entered
RespMeasure: Task time, number of errors, number of tasks accomplished, user satisfaction, gain of user knowledge, amount of time/data lost