JBoss.orgCommunity Documentation

Chapter 3. Business Analysis

3.1. Create Example Messages
3.2. Outline Scenarios

The first step is to create the example messages, to be used by the scenarios that will document the business requirements.

Some previously defined examples can be found in the purchasing Eclipse project. For example, the Buy request is defined as:

Although a schema may not have been defined at this stage, unless one previously existed that is being reused, it is a good idea to define a namespace for the message type. This is because it will be used within the scenarios and architectural models defined in the following stage. If the namespace was not specified at this stage, then the example messages, scenarios and architectural models would need to be updated at a later stage.

Although this phase has been defined before the definition of the scenarios, in practice these phases are iterative. So scenarios and example messages would be defined concurrently, as the requirements evolve through discussions between the business analyst and users.

When designing a system, it is necessary to capture requirements. Various approaches can be used for this, but currently there are no mechanisms that enable the requirements to be documented in such a way to enable an implementation to be validated back against the requirements.

The SAVARA tools provide a means of describing requirements, representing specific use cases for the interactions between a set of cooperating services, using scenarios - which can be considered similar to UML sequence diagrams that have been enhanced to include example messages. In the purchasing Eclipse project, the SuccessfulPurchase.scn scenario looks like this:


The business requirements can therefore be defined as a set of scenarios, each demonstrating a specific use-case, or path through the business process being enacted.

It is also possible to define scenarios that represent invalid use cases, that should not be implemented by the system. In these cases, the invalid message events (i.e. the sending or receiving icons) will be flagged as "Error Expected", to indicate that they should not occur.