The XIS UML profile is a set of coherent UML
extensions that allows a high-level, visual modeling
way to design interactive systems. There are three
main concerns that are captured through
complementary views, namely around the entities,
use-cases, and user-interfaces views. Entities View
contains the common domain model as well as a
model that captures business entities (i.e., logical
representation of “high-level” entities, defined on
top of the domain entities). The design of business
entities is an optional decision although it is
recommended. On the other hand, Use-cases View
contains the actors model and, in an optional way, an
extension of use cases model that describe how use
cases can be related with actors and with business
entities. In these models the designer captures and
organizes the system’s functional requirements
according a pragmatic and simple approach. Finally,
the User-interfaces View contains two high-level
platform-independent and complementary models:
the NavigationSpace and the InteractionSpace
models. In this paper we will discuss in more detail
the User-interfaces View.
4 MODELING UIS WITH XIS
This section describes the scope, principles, and
main elements of the XIS profile. XIS adheres
strongly to the “separation of concerns” principle,
and consequently proposes an integrated set of
views, namely the entities, use-cases and user-
interfaces views. In addition, XIS promotes extreme
modeling by providing a roadmap that designers can
follow as well as model-to-model transformation
templates both to assist and to accelerate their tasks.
The second version of the XIS UML profile is a
coherent group of UML extensions that allows us to
model interactive systems according to the ProjectIT
approach. In spite of XIS being a key element of
ProjectIT and supported by the ProjectIT-Studio
tool, it should be emphasized that XIS is just an
UML profile, and so it can be used and supported by
different CASE tools.
There are two important models to represent UI.
The first one is used to represent navigation between
the different interaction spaces. A navigation model
is useful to support the documentation of the system
structure giving the chance to easily change and
improve its navigability. The second one is used to
represent the content of each interaction space.
Constantine & Lockwood describes a content model
like an abstract model that shows the intended
contents of a part of a UI (Constantine and
Cockwood, 1999). These contents are interaction
elements of the UI and could be elements like data
elements, containers and action elements (e.g.
commands or operations). The content models are
useful to represent the structure and overall
organization of the UI, without any commitment to
choose any particular GUI control.
The XIS UML profile is a set of coherent UML
stereotypes that allows a high-level, visual modeling
way to design interactive systems. There are three
main concerns that are captured through
complementary views, namely around the entities,
use-cases, and user-interfaces views. The User-
interfaces View contains two high-level platform-
independent and complementary models: the
NavigationSpace View and the InteractionSpace
View. The NavigationSpace View defines the top-
level navigation map, which is a directed graph
where the nodes are references for Interaction
Spaces and the links represent the transitions
between these Interaction Spaces, typically triggered
by end-user operations. The NavigationSpace View
defines the navigation that can occur between any of
the interaction spaces. The InteractionSpace View
defines the user-interface interaction elements that
are contained in each interaction space; this view
can also specify access control between actors and
user-interface elements.
For better understanding and simplicity of the
explanation we use a tiny case study, the “MyOrders
System” (see table bellow).
Table 3: Case Study – My Orders.
A Tiny Case Study – The MyOrders System
MyOrders is a system that allows keeping relevant
information for every organization. The MyOrders
system manages business entities such as products,
suppliers, customers and orders.
There is information associated with each entity; for
instance, a product has a name, a price and an
indication of how many units are in stock. An order
can cover multiple products (i.e., it is not necessary to
create an order for each product to be acquired).
However, the system keeps the information regarding
an order and an acquired product as the “order details”.
A supplier and a customer are third-party entities,
usually companies, which can have multiple affiliates
(i.e., multiple contacts). Additionally, each affiliate is
of a certain type, which is identifiable by its name.
There are some differences between a supplier and a
customer: (1) a supplier cannot place orders, as it is
only responsible for supplying products, not for
consuming them; (2) a customer can only acquire
products by placing an order; […]
MODELING USER INTERFACES WITH THE XIS UML PROFILE
101