Open for commentsSelect text to comment

Note

Let us consider scenarios through an example. Imagine you are addressing the availability of a system. In addition to focusing on when a system is online and behaving normally, you have to consider situations where the system becomes unavailable.

In a general scenario, high-level events are summarized. As a single scenario may involve many component values, it often summarized in a table.

Scenario
Component
Scenario Component Value
Stimulus Source- End user
- Internal subsystems
- External subsystems
Stimulus- Incorrect user input
- Internal exceptions
- Unrecognized system request
- High request volume
- Heavy system load
Environment- Normal operating environment
- Starting up
- Shutting down
- Heavy load operating environment
- Recovering from error
- Processing request
Artifact- System servers
- System process
Response- Log exceptions
- Notify user
- Send error response to external system
- Redistribute data processing
- Redistribute system requests
- Notify user and external systems that the system is shutting down/starting up
Response
Measure
- Time to restart (shutdown and startup sequence)
- Time to undergo recovery
- Time to complete requests when the request volume is high
- Time to complete a process under heavy system load
- Time to become available after encountering an incorrect input or request

Concrete scenarios are more focused. They can help you test an architecture with a specific stimulus under specific system environments and measure how well the system can respond.

Let us expand our example on availability. Availability of a web server can be hindered in its ability to process requests when at resource limits or under heavy load. A server’s availability should be measured under different conditions.

Consider the specific concrete scenario below, where a customer needs to wait for the system to finish processing previous orders for concert tickets before they are able to send their purchase request. The system is unavailable for customers if the system can’t accept their request for tickets, which has a negative effect on the availability quality attribute of the system.

Availability Example-1792956092085
Built with LogoFlowershow