Page 233 -
P. 233
218 PASTOR, MOLINA, AND IBORRA
Figure 11.7 Communication Diagram for the InvoiceClient Global Service*
:Invoice :Client
1: newInvoice 2: notify
*Where two services of the class Invoice (newInvoice and notify) are encapsulated in a global execution
unit (the global service called InvoiceClient).
For instance, upon the occurrence of the “pay” event on an invoice, the analyst determines
that its “InvoicePaymentDate” attribute will have the value of the “paymentDate” argument of
the “pay” event, and that the “IsPaid” attribute of the invoice will be set to true. This is illustrated
in Table 11.1.
Defining the Presentation Model View
The aspects of user interaction with the system can be defined by the analyst as soon as its static
aspects (classes, attributes, relationships) and the services that have been defined are in place. As
discussed in a previous section, the catalogue of patterns to define the abstract UI are structured
in three levels. This does not dictate, however, that the analyst must define the presentation model
view in this fashion: either a top-down (going from the hierarchical action tree to the elementary
patterns in the third level) or a bottom-up approach (even a combination of the two) can be used
by the analyst.
For instance, when defining the interaction scenario to access (and interact with) the invoices
in the system (using a population interaction unit), the analyst may well follow any of these
approaches:
• First, define the population interaction unit for the “Invoice” class without defining its
constituent third-level patterns. Then define each of its constituent patterns, for instance: a
display set (to define which attributes of the invoice will be presented to the user), an order
criterion (to specify in which order the invoices will be presented to the user), and a set of
offered actions (i.e., which services will be available to the user for execution on the pre-
sented invoices). Then create a hierarchical action tree and select the population interaction
unit previously created as one of its constituent elements.
• First, define the elementary third-level patterns to compose the population interaction unit
(i.e., the display set, the order criterion, and the set of offered actions). Then create the popu-
lation interaction unit and select the previously created elementary patterns as its constituent
elements. Then create a hierarchical action tree and select the population interaction unit that
was previously created as one of its constituent elements.
• First, define the hierarchical action tree, then the population interaction unit, and then the
constituent elements of the latter.
As in the case of the dynamic model view and the functional model view, the order in which
this presentation model view appears in this document does not mean that it cannot be defined
until the other two views have been completely defined. However, the elements of the objects