SAAM is a scenario-based review method, and can be an effective way to review a software architecture. A scenario is a description of the interaction between some source, such as a stakeholder, and a software system. It represents some use or expected quality of the software system and may consist of a sequence of steps detailing the use or modification of it.
Scenarios can be used to test software quality attributes, which is one of the purposes behind software quality attribute scenarios:
A software quality attribute scenario consists of the following parts:
- Source of stimulus: The source is some entity, such as a stakeholder or another software system, which generates a particular stimulus.
- Stimulus: The stimulus is some condition that requires a response from the software system.
- Artifact: The artifact is the software that is stimulated. It can be a part of the software system, the entire software system, or a collection of multiple systems.
- Environment: The environment is the set of conditions under which the stimulus occurs. For example, a particular configuration of the software or specific values in the data may be necessary for the stimulus to exist.
- Response: The response is the activity that takes place when the stimulus arrives at the artifact.
- Response Measure: When a response occurs, it should be measurable. This allows us to test the response to ensure that the software system meets the requirements.