Event partitioning

The event-partitioning approach is explained by Stephen M. McMenamin and John F. Palmer in Essential Systems Analysis.

[2] The description focuses on using the technique to create data flow diagrams, but it can be used to identify use cases as well.

The premise of event partitioning is that systems exist to respond to external events: identify what happens in the business environment that requires planned responses, then define and build systems to respond according to the rules of the business.

This approach helps the analyst to decompose the system into "mentally bite-sized" mini-systems using events that require a planned response.

The basic flow within a process or use case can usually be described in a relatively small number of steps, often fewer than twenty or thirty, possibly using something like "structured English".

The intention is to reduce one of the risks associated with short-term memory, namely, forgetting what is not immediately visible ("out of sight, out of mind").

Some analysts suggest capturing business rules in a separate document using the Object Constraint Language or some other formal notation.

System context diagram for a fictitious hotel. (By convention, bidirectional flows, with arrows at both ends, are often used when a dialogue is initiated externally. For example, "booking dialogue" contains the flow "booking request", which is the initial trigger; "booking confirmation", the result, is sent back.)
Single process in a fictitious hotel using data flow diagram notation.
Single use case in a fictitious hotel using use case diagram notation.