3 THE PROTOTYPE TOOL
The manual construction of the often quite extensive
classification trees of the Service Object Models can
be rather labor intensive and error prone. Therefore a
prototype tool has been developed assisting in the
development of the Service Object Models. Based
on the rules described above, the Transformation
Grid is taken as a starting point.
For each row in the Grid a new Service Object
Model (a separate Excel sheet) will be produced
containing all objects, listed from left to right
starting with a single Input Object, next the Catalyst
Objects, proceeding with Output Objects, finishing
with the Destroyed Objects. Since an object may
play different roles, it can appear more than once in
the Service Object Model. See Figure 2. To avoid
inconsistencies the Excel sheet is protected,
however, with provisions to: (1) add classification
branches, thereby copying all information already
available to the right of the current object. Each
branch will start below the row containing the
Catalyst Object that required the classification; (2)
swapping Objects in the same row; (3) deleting
Objects, if necessary with the complete branch to the
right of the current object; (4) inserting Objects if
the Object has not been used yet in the current
branch, looking from root to the leaves. After
classification value Known Participant the Object
{o}Welcome Mailing could have been added
(although here not appropriate), while after
{k}Participant the Objects {x}Potential Participant
or {o}Savings Account could not have been added as
they are already used in at least one branch; (5)
afterwards adding extra classification values,
thereby, if needed, shifting downwards already
available information. Perhaps sending of Welcome
Mailing is somewhat slow. (Maybe the result of
relaxed quality requirements?) Therefore possibly an
extra value between Known Participant and No
Participant yet should be added. It is, however, not
unlikely that additional Output Objects would be
required as well (that can be added to the existing
Transformation Grid); (6) amending classifications
values. In the example just above Known Participant
could for instance have to be changed into Known
Participant, Welcome Mailing sent.
3.1 Working with the Tool
The initial idea was that the test engineer would
prepare the classifications from left to right, i.e.
starting just after the {i} Object. The method is not
based on a graph but on a full tree. It is advan-
tageous to swap certain Objects that occur in many
branches with the same classification values more
towards the leaves of the tree. These classifications
can be copied automatically when adding
classifications near the root. This example does not
show that clearly. Drawing a full graph by hand with
many nearly identical branches can be labor-
intensive. First preparing with the tool the (nearly)
common parts up to the leaves and subsequently
copying these branches may be quick – often under
10 minutes work – leaving adding or deleting
objects in branches as a less labor intensive task.
The example (Figure 2) is rather simple. Note
the two {x} Objects, indicating that the Potential
Participant can be deleted, (now) being a
Participant. The executive wished to make it easy to
register as a Participant. Several tests such as: is the
Potential Participant perhaps a Defaulter (bad
payer), are performed when evaluating the wish to
extend the Loyalty Contract.
The layout of the classification tree in Figure 2
could contain human errors. Extensive checks can be
performed in order to determine: (1) are Objects
marked with o, k, and/or x in the Transformation
Grid at least once used in the tree? They could be
missing through deletion or by amending the Grid;
(2) are there any Objects in Service Object Model
not present in the Transformation Grid? This could
happen if one of the marks o, k, and/or x is deleted
in the Grid; (4) is there a classification with at least
two values and branches after each {k} Object; (5)
with at least one {o} or {x} Object after each
branching value in the classification?
The information is then converted into a table for
import into a drawing program. See Figure 3. Tests
with over 1000 leaves showed that checking the full
tree and converting it to the format required for the
drawing program took only a few minutes. For each
Input Object a sheet can be added. Quite often later
one wants to amend somewhat the wording of the
Objects specified in the Transformation Grid. The
tool allows this, checking the integrity over Service
Object Models on different Excel sheets.
It may happen that one has built a nice tree and
later wishes to add an extra {k} Object, or to swap a
{k} Object that already contains a classification with
another one, without branching, more to the root.
This swapping of {k} Objects is allowed and each
choice text will be preceded by ##!## as warning
that the texts may have to be amended.
As example, when drawing the tree for the input
object Wish to extend the Loyalty Contract of Figure
2 one has already added classification values to
{k}Defaulter and not yet to {k}Participant, with that
last Object still in the same row. Thus, these Objects
can be swapped, with warnings for the classification
texts, as they may require an amended value. Before
transferring the information it is also checked if all
these warnings have been removed.
BUSINESS PROCESS VALIDATION - Testing Before Designing
557