Event partitioning is an easy-to-apply
systems analysis
Systems analysis is "the process of studying a procedure or business to identify its goal and purposes and create systems and procedures that will efficiently achieve them". Another view sees system analysis as a problem-solving technique tha ...
technique that helps the analyst organize
requirement
In product development and process optimization, a requirement is a singular documented physical or functional need that a particular design, product or process aims to satisfy. It is commonly used in a formal sense in engineering design, incl ...
s for large systems into a collection of smaller, simpler, minimally-connected, easier-to-understand "mini systems" /
use case
In software and systems engineering, the phrase use case is a polyseme with two senses:
# A usage scenario for a piece of software; often used in the plural to suggest situations where a piece of software may be useful.
# A potential scenari ...
s.
Overview
The event-partitioning approach is explained by Stephen M. McMenamin and John F. Palmer in ''
Essential Systems Analysis''. A brief version of the approach is described in the article on
Data Flow Diagrams (DFDs). A more complete discussion is in
Edward Yourdon's ''Just Enough Structured Analysis''. The description focuses on using the technique to create data flow diagrams, but it can be used to identify
use case
In software and systems engineering, the phrase use case is a polyseme with two senses:
# A usage scenario for a piece of software; often used in the plural to suggest situations where a piece of software may be useful.
# A potential scenari ...
s 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. In particular, a business system exists to service the requests of customers. A customer, in the jargon of the
Unified Modeling Language
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
The creation of UML was originally ...
(UML), is an "
actor
An actor or actress is a person who portrays a character in a performance. The actor performs "in the flesh" in the traditional medium of the theatre or in modern media such as film, radio, and television. The analogous Greek term is (), l ...
".
Event partitioning topics
Actor → Event → Detect → Respond
The method has the following steps.
* 1. Identify the external systems by
brainstorming
Brainstorming is a group creativity technique by which efforts are made to find a conclusion for a specific problem by gathering a list of ideas spontaneously contributed by its members.
In other words, brainstorming is a situation where a group ...
a list of the "actors" (external systems), which are the sources of external events. If you find a graphic to be helpful, create a
context diagram
A system context diagram (SCD) in engineering is a diagram that defines the boundary between the system, or part of a system, and its environment, showing the entities that interact with it. This diagram is a high level view of a system. It is s ...
showing the actors outside of the system under study and the flows/signals between them.
* 2. Putting oneself
in the shoes of an "actor" (or working with actor representatives), brainstorm a list of the "
external events" / "triggers" that they want the system to have a planned response to. (Note that the system cannot originate ''external'' events; only an actor can.)
* 3. Identify what will enable the system to
detect the external events:
** the arrival of one or more pieces of data (possibly in the form of a message)
** the arrival of one or more points in time (called "temporal" events by M&P, and distinguished by them from external events)
* 4. Identify the
plan
A plan is typically any diagram or list of steps with details of timing and resources, used to achieve an objective to do something. It is commonly understood as a temporal set of intended actions through which one expects to achieve a goal ...
ned response(s) that the system may carry out when the events occur. It's the response(s)/use case(s) that will enable the system to achieve its goals.
The technique was extended with "non-event" events by Paul T. Ward and
Stephen J. Mellor in ''Structured Development for Real-Time Systems: Essential Modeling Techniques''.
Data dictionary notation
Yourdon/DeMarco style o
data dictionary notationmay be used to describe the composition and structure of data.
The data structure elements can map to structured programming′s
control structures:
* "+" can map to a "sequence" of statements (although this is not necessarily so)
* "
Conditional (computer programming), conditionals,
switch statement
In computer programming languages, a switch statement is a type of selection control mechanism used to allow the value of a variable or expression to change the control flow of program execution via search and map.
Switch statements function som ...
s)
* "", "()" can map to "iteration" (
counting loop,
pre-test loop, middle-test loop, post-test loop, and
infinite loop
In computer programming, an infinite loop (or endless loop) is a sequence of instructions that, as written, will continue endlessly, unless an external intervention occurs ("pull the plug"). It may be intentional.
Overview
This differs from:
* ...
)
NB. The items defined may be "material" (e.g., room key) as well as "data" (e.g., arrival date-time).
Identifying Requirements and Their Reasons
The event-response information may be captured in a table. The event is the ''
raison d’être
Raison may refer to:
__NOTOC__ People
* André Raison (c 1640 – 1719), French baroque composer and organist
* Kate Raison, Australian actress
* Max Raison (1901-1988), English cricketer
* Miranda Raison, English actress
* Timothy Raison, Briti ...
'' for the response, which gives "
traceability Traceability is the capability to trace something. In some cases, it is interpreted as the ability to verify the history, location, or application of an item by means of documented recorded identification.
Other common definitions include the capab ...
" from the response back to the environment.
Defining requirements
This approach helps the analyst to decompose the system into "mentally bite-sized" mini-systems using events that require a planned response. The level of detail of each response is at the level of "primary
use case
In software and systems engineering, the phrase use case is a polyseme with two senses:
# A usage scenario for a piece of software; often used in the plural to suggest situations where a piece of software may be useful.
# A potential scenari ...
s". Each planned response may be modelled using DFD notation or as a single use case using use case diagram notation.
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". Ideally, all of the steps would be visible all at once (often a page or less). The intention is to reduce one of the risks associated with
short-term memory
Short-term memory (or "primary" or "active memory") is the capacity for holding a small amount of information in an active, readily available state for a short interval. For example, short-term memory holds a phone number that has just been recit ...
, namely, forgetting what is not immediately visible ("out of sight, out of mind").
Alternatively, using the notations of structured techniques, an analyst could create a "
Nassi–Shneiderman diagram
A Nassi–Shneiderman diagram (NSD) in computer programming is a graphical design representation for structured programming. This type of diagram was developed in 1972 by Isaac Nassi and Ben Shneiderman who were both graduate students at Ston ...
". In the UML, the use case could be modelled using an
activity diagram
Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams are intended to model both computational and o ...
, a
sequence diagram
A sequence diagram or system sequence diagram (SSD) shows process interactions arranged in time sequence in the field of software engineering. It depicts the processes involved and the sequence of messages exchanged between the processes needed ...
, or a
communication diagram. This could be problematic if there are many complex
scenarios of the use case; the analyst may wish to model all or most of the scenarios.
Complexity versus fragmentation
If the response is lengthy or complex (i.e., more than a page of text), an analyst may
decompose
Decomposition or rot is the process by which dead organic substances are broken down into simpler organic or inorganic matter such as carbon dioxide, water, simple sugars and mineral salts. The process is a part of the nutrient cycle and is ...
("factor out" or
deduplicate) into smaller "secondary use cases" to keep the "parent" primary use case smaller and simpler. These secondary use cases may prove to be reusable as well. (In a UML
use case diagram
A use case diagram is a graphical depiction of a user's possible interactions with a system. A use case diagram shows various use cases and different types of users the system has and will often be accompanied by other types of diagrams as well. Th ...
, they would be drawn as
extended or
included use cases, which are related to one or more primary use cases.)
While describing a use case, an analyst may also uncover "
business rule A business rule defines or constrains some aspect of business. It may be expressed to specify an action to be taken when certain conditions are true or may be phrased so it can only resolve to either true or false. Business rules are intended to as ...
s". Some analysts suggest capturing business rules in a separate document using the
Object Constraint Language
The Object Constraint Language (OCL) is a declarative language describing rules applying to Unified Modeling Language (UML) models developed at IBM and is now part of the UML standard. Initially, OCL was merely a formal specification language e ...
or some other
formal notation
Language is a structured system of communication. The structure of a language is its grammar and the free components are its vocabulary. Languages are the primary means by which humans communicate, and may be conveyed through a variety of ...
. Then when a business rule must be obeyed in a use case, the analyst makes reference to it. This minimises repetition
[see also ]Don't repeat yourself
"Don't repeat yourself" (DRY) is a principle of software development aimed at reducing repetition of software patterns, replacing it with abstractions or using data normalization to avoid redundancy.
The DRY principle is stated as "Every piece o ...
, also known as "DRY" within a specification, but risks fragmentation of a specification. One technique that may reduce this tension is to use
hyperlink
In computing, a hyperlink, or simply a link, is a digital reference to data that the user can follow or be guided by clicking or tapping. A hyperlink points to a whole document or to a specific element within a document. Hypertext is text ...
s in the specification document.
This
reductionist approach lies somewhat in contrast to a
systems thinking
Systems thinking is a way of making sense of the complexity of the world by looking at it in terms of wholes and relationships rather than by splitting it down into its parts. It has been used as a way of exploring and developing effective actio ...
approach as represented by
Peter Checkland
Peter Checkland (born 18 December 1930, in Birmingham, UK) is a British management scientist and emeritus professor of systems at Lancaster University. He is the developer of soft systems methodology (SSM): a methodology based on a way of syst ...
's
soft systems methodology Soft systems methodology (SSM) is an organised way of thinking and it can be used to tackle general problematic situations that arise in the real world and in the management of change by using action. Developed in England by academics at the Lancast ...
.
In addition to
functional requirements
In software engineering and systems engineering, a functional requirement defines a function of a system or its component, where a function is described as a specification of behavior between inputs and outputs.
Functional requirements may involv ...
captured in a use case description, an analyst may include such
non-functional requirements
In systems engineering and requirements engineering, a non-functional requirement (NFR) is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviours. They are contrasted with functi ...
as response time, learnability, etc.
See also
*
Business case A business case captures the reasoning for initiating a project or task. It is often presented in a well-structured written document, but may also come in the form of a short verbal agreement or presentation. The logic of the business case is that, ...
*
SIPOC
*
Use case
In software and systems engineering, the phrase use case is a polyseme with two senses:
# A usage scenario for a piece of software; often used in the plural to suggest situations where a piece of software may be useful.
# A potential scenari ...
*
Use case diagram
A use case diagram is a graphical depiction of a user's possible interactions with a system. A use case diagram shows various use cases and different types of users the system has and will often be accompanied by other types of diagrams as well. Th ...
*
User story
In software development and product management, a user story is an informal, natural language description of features of a software system. They are written from the perspective of an end user or user of a system, and may be recorded on index ...
References
{{Reflist
External links
Event partitioningStructured Analysis Wiki
Software requirements
Systems analysis
Events (computing)
Decomposition methods> can map to "selection" (
Conditional (computer programming), conditionals,
switch statement
In computer programming languages, a switch statement is a type of selection control mechanism used to allow the value of a variable or expression to change the control flow of program execution via search and map.
Switch statements function som ...
s)
* "", "()" can map to "iteration" (
counting loop,
pre-test loop, middle-test loop, post-test loop, and
infinite loop
In computer programming, an infinite loop (or endless loop) is a sequence of instructions that, as written, will continue endlessly, unless an external intervention occurs ("pull the plug"). It may be intentional.
Overview
This differs from:
* ...
)
NB. The items defined may be "material" (e.g., room key) as well as "data" (e.g., arrival date-time).
Identifying Requirements and Their Reasons
The event-response information may be captured in a table. The event is the ''
raison d’être
Raison may refer to:
__NOTOC__ People
* André Raison (c 1640 – 1719), French baroque composer and organist
* Kate Raison, Australian actress
* Max Raison (1901-1988), English cricketer
* Miranda Raison, English actress
* Timothy Raison, Briti ...
'' for the response, which gives "
traceability Traceability is the capability to trace something. In some cases, it is interpreted as the ability to verify the history, location, or application of an item by means of documented recorded identification.
Other common definitions include the capab ...
" from the response back to the environment.
Defining requirements
This approach helps the analyst to decompose the system into "mentally bite-sized" mini-systems using events that require a planned response. The level of detail of each response is at the level of "primary
use case
In software and systems engineering, the phrase use case is a polyseme with two senses:
# A usage scenario for a piece of software; often used in the plural to suggest situations where a piece of software may be useful.
# A potential scenari ...
s". Each planned response may be modelled using DFD notation or as a single use case using use case diagram notation.
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". Ideally, all of the steps would be visible all at once (often a page or less). The intention is to reduce one of the risks associated with
short-term memory
Short-term memory (or "primary" or "active memory") is the capacity for holding a small amount of information in an active, readily available state for a short interval. For example, short-term memory holds a phone number that has just been recit ...
, namely, forgetting what is not immediately visible ("out of sight, out of mind").
Alternatively, using the notations of structured techniques, an analyst could create a "
Nassi–Shneiderman diagram
A Nassi–Shneiderman diagram (NSD) in computer programming is a graphical design representation for structured programming. This type of diagram was developed in 1972 by Isaac Nassi and Ben Shneiderman who were both graduate students at Ston ...
". In the UML, the use case could be modelled using an
activity diagram
Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams are intended to model both computational and o ...
, a
sequence diagram
A sequence diagram or system sequence diagram (SSD) shows process interactions arranged in time sequence in the field of software engineering. It depicts the processes involved and the sequence of messages exchanged between the processes needed ...
, or a
communication diagram. This could be problematic if there are many complex
scenarios of the use case; the analyst may wish to model all or most of the scenarios.
Complexity versus fragmentation
If the response is lengthy or complex (i.e., more than a page of text), an analyst may
decompose
Decomposition or rot is the process by which dead organic substances are broken down into simpler organic or inorganic matter such as carbon dioxide, water, simple sugars and mineral salts. The process is a part of the nutrient cycle and is ...
("factor out" or
deduplicate) into smaller "secondary use cases" to keep the "parent" primary use case smaller and simpler. These secondary use cases may prove to be reusable as well. (In a UML
use case diagram
A use case diagram is a graphical depiction of a user's possible interactions with a system. A use case diagram shows various use cases and different types of users the system has and will often be accompanied by other types of diagrams as well. Th ...
, they would be drawn as
extended or
included use cases, which are related to one or more primary use cases.)
While describing a use case, an analyst may also uncover "
business rule A business rule defines or constrains some aspect of business. It may be expressed to specify an action to be taken when certain conditions are true or may be phrased so it can only resolve to either true or false. Business rules are intended to as ...
s". Some analysts suggest capturing business rules in a separate document using the
Object Constraint Language
The Object Constraint Language (OCL) is a declarative language describing rules applying to Unified Modeling Language (UML) models developed at IBM and is now part of the UML standard. Initially, OCL was merely a formal specification language e ...
or some other
formal notation
Language is a structured system of communication. The structure of a language is its grammar and the free components are its vocabulary. Languages are the primary means by which humans communicate, and may be conveyed through a variety of ...
. Then when a business rule must be obeyed in a use case, the analyst makes reference to it. This minimises repetition
[see also ]Don't repeat yourself
"Don't repeat yourself" (DRY) is a principle of software development aimed at reducing repetition of software patterns, replacing it with abstractions or using data normalization to avoid redundancy.
The DRY principle is stated as "Every piece o ...
, also known as "DRY" within a specification, but risks fragmentation of a specification. One technique that may reduce this tension is to use
hyperlink
In computing, a hyperlink, or simply a link, is a digital reference to data that the user can follow or be guided by clicking or tapping. A hyperlink points to a whole document or to a specific element within a document. Hypertext is text ...
s in the specification document.
This
reductionist approach lies somewhat in contrast to a
systems thinking
Systems thinking is a way of making sense of the complexity of the world by looking at it in terms of wholes and relationships rather than by splitting it down into its parts. It has been used as a way of exploring and developing effective actio ...
approach as represented by
Peter Checkland
Peter Checkland (born 18 December 1930, in Birmingham, UK) is a British management scientist and emeritus professor of systems at Lancaster University. He is the developer of soft systems methodology (SSM): a methodology based on a way of syst ...
's
soft systems methodology Soft systems methodology (SSM) is an organised way of thinking and it can be used to tackle general problematic situations that arise in the real world and in the management of change by using action. Developed in England by academics at the Lancast ...
.
In addition to
functional requirements
In software engineering and systems engineering, a functional requirement defines a function of a system or its component, where a function is described as a specification of behavior between inputs and outputs.
Functional requirements may involv ...
captured in a use case description, an analyst may include such
non-functional requirements
In systems engineering and requirements engineering, a non-functional requirement (NFR) is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviours. They are contrasted with functi ...
as response time, learnability, etc.
See also
*
Business case A business case captures the reasoning for initiating a project or task. It is often presented in a well-structured written document, but may also come in the form of a short verbal agreement or presentation. The logic of the business case is that, ...
*
SIPOC
*
Use case
In software and systems engineering, the phrase use case is a polyseme with two senses:
# A usage scenario for a piece of software; often used in the plural to suggest situations where a piece of software may be useful.
# A potential scenari ...
*
Use case diagram
A use case diagram is a graphical depiction of a user's possible interactions with a system. A use case diagram shows various use cases and different types of users the system has and will often be accompanied by other types of diagrams as well. Th ...
*
User story
In software development and product management, a user story is an informal, natural language description of features of a software system. They are written from the perspective of an end user or user of a system, and may be recorded on index ...
References
{{Reflist
External links
Event partitioningStructured Analysis Wiki
Software requirements
Systems analysis
Events (computing)
Decomposition methods