Artifact: Scenario
A scenario represents, at some level of abstraction, an interaction among elements of interest.
Domains: Development
Purpose
A scenario can be used to represent a flow of services realizing a coherent set of requirements (e.g. use case), depict the execution of elements, or as a test vector.
Relationships
Description
Main Description

A scenario is a partially ordered flow of messages among a set of elements at some level of abstraction. It is a common way to represent a path through a use case, and the elaboration of that path as object analysis and design proceeds. Indeed, the continuous execution policy encouraged by the Harmony process means that these scenarios are continually being elaborated and re-executed as the system analysis and design efforts proceed. Additionally, a scenario can be easily converted into a test case and executed as part of a test suite.

A scenario may be drawn to represent a desired behavior - and this is how "specification scenarios" are used to detail use cases. They may also be created automatically from the execution of the system or some portion thereof. These "execution scenarios" can then be compared - either manually or automatically - to the specification scenarios to ensure the behavior of the model is as desired.

NotationUML sequence diagrams are the most common notation, but communication and timing diagrams are available alternatives.
Key Considerations
Over use of sequence diagram operators (opt, alt, etc) is discouraged because it complicates the scenario by (essentially) representing multiple scenarios on a single diagram. It is recommended to limit nesting of operators to no more than 2 levels and add multiple scenarios separately when needed.
Tailoring
Impact of not havingLack of scenarios means that it is difficult to understand how collaborative groups of elements work together to achieve the desired functionality. Since scenarios are used extensively to depict particular execution flows for use cases, their lack makes it more difficult for both downstream engineering to ensure they are building the right system and for test engineers to ensure they are testing the correct flows in their test cases.
Representation Options

The most common representation of a scenario is a sequence diagram. Timing diagrams may be used to show the timing of the execution of the elements against a common time reference. The use of communication diagrams is discouraged.

State and activity diagrams are useful for summarized (possibly large) sets of scenarios.

More Information
Checklists
Guidelines