![]() |
![]() |
![]() |
![]() |
![]() |
System Operations
In the use cases a number of events can be found that form the elementary communication means that is used when the system and the actors interact. For example in the "Enter building" use case in Figure 637 there are several events, e.g. "enter card" and "enter digit". It is important to understand and document the events that are used in the use cases, since they define the interface between the system and its environment. This can be done in the requirements object model and in the data dictionary, but sometimes a more detailed definition is useful. This is the purpose of the system operations, a concept that originates from the Fusion method [30].
A system operation is a definition of what that system must do to handle an event. It defines declaratively the behavior of the system as a response to an event in terms of the changes of state and events that are output or returned. System operations are in SOMT defined using schemata containing structured text. As an example consider the system operation in Example 648 that defines the Enter card operation.
Example 648 : A system operation schemata for the enter card operation
Operation: EnterCardResponsibilites: Informs the system of the fact that a card has been entered into one of the card readersInputs: Card identificatio Card reader identificationReturns: Enter code' is displayedModified objects: A `card' object,a `card reader' objectPreconditions: The door must be closedPostconditions: The card identification is stored in a `card' object associated with the `cardReader' object with an id equal to the card reader identification that was an input to the operationThe different rows in the schemata has the following meaning:
- Operation: The name of the system operation (equal to the name of the event that it handles).
- Responsibilities: A short description of the operation.
- Inputs: The data that is supplied as parameters.
- Returns: The events that are returned to the outside of the system as a result of the operation.
- Modified objects: The internal objects that are changed by the operation.
- Preconditions: Predicates that define when definition of the operation given in this schemata is valid.
- Postconditions: The postconditions for the operation define how the state of the system has changed due to the execution of the operation.
Note that in general more than one schemata is needed for each system operation: one schemata is needed for each possible variant of the preconditions.
The criteria for choosing to use the system operations in addition to the use cases are based on the estimated complexity of the operations/events in the use cases. If the events are simple there is no need for a more detailed description of them. If the events are complex, e.g. when they are parametrized with complex data structures or involve some complex algorithm, then system operations are useful as a means to define the details.
http://www.ibm.com/rational |
![]() |
![]() |
![]() |
![]() |