Skip to content

Quality Attributes

Quality attributes (QA) allow to do an overall assessment appreciation of a system.

6 Parts Scenario

PartDescriptionExamples
SourceWhere stimulus come from, what generated itHuman, software, hardware, physical infrastructure or environment
StimulusEvent or a condition that trigger the stimulusOmission, crash, timing, response
ArtifactWhat components is concerned, where the stimulus applyStorage, process, component, view
EnvironmentCircumstances and condition when stimulus occurStartup, shutdown, operation
ResponseHow the system should respond after stimulus occursLog, disable, kick, ban, prevent
MeasureHow to determine the response is satisfactoryTime/interval of availability, number/proportion of faults handled

Tactics

Tactics are design decisions that influence a QA response to a stimulus. You can use the following as a checklist:

  • Allocation of responsibilities: Basic function of system, infrastructure, architecture, …
  • Coordination model: Communication protocol, async/sync, stateful/statless, …
  • Data model: RDBMS, NoSQL, structure, volume, stockage, access, backups, security, …
  • Resources management: CPU, virtualization, parallelization, containers, threads, servers, …
  • Architectural element mapping: Logical to physical entities, i.e. threads, processes, processors, …
  • Binding time decisions: Update frequency, trigger conditions, automations, …
  • Technology choices: Language, database, framework, …

Acronyms

  • FURPS
  • RASUI
  • RASR
  • ACID
  • RAMS

Resources


AvailabilityInteroperabilityMaintainabilityPerformanceScalabilitySecurityTestability