Work Product (Artifact): Event
This work product specifies an occurrence in space and time; less formally, an occurrence of something to which the system must respond.

The purpose of this work product is to capture characteristics of events, such as frequency, priority, and response requirements.

Container Artifact
RolesResponsible: Modified By:
Input ToMandatory:
  • None
Optional: External:
  • None
Main Description

An event is used to identify and capture information about external occurrences that the system is aware of and to which it must respond. Events can also be used to capture information about internal events, such as exceptions.

Brief Outline

Important characteristics of events are:

  • internal vs. external - Is the event external or internal?
  • priority - Does this event need to cause the suspension of other processing in order to be handled?
  • frequency - How often does the event occur?
  • frequency distribution - Does the event occur at regular intervals, or are there spikes?
  • response requirements - How the quickly the system must respond to the event (may need to distinguish between average and worst case).
  • kind - Is this a Call Event, Time Event, Signal Event, or Change Event (see Concept: Events and Signals for definitions)?
Representation Options

In the context of state and activity diagrams, Event refers to a trigger for a state transition.

However, this work product covers "event" in the more general sense, as occurrences to which the system must respond, including signals, calls, state changes, or time events.

Also see Artifact: Signal.

Event characteristics can be captured in a spreadsheet, database, requirements management database, or as a table in the Software Architecture Document.

They can even be captured as classes, stereotyped <<event>>, although this should be treated as a convenient way of capturing management information about events, and not be confused with data transmitted when the event occurs. If a call event results in the transmission of data, the data should be represented by the signature of the called operation. If the event is a signal, its data can be modeled explicitly (see Artifact: Signal).

More Information