Professional Documents
Culture Documents
Claudia Teuber
Software Engineering Group
Institute of Computer Science
University of Rostock
Claudia-Teuber@web.de
ABSTRACT
Peter Forbrig
Software Engineering Group
Institute of Computer Science
University of Rostock
Peter.Forbrig@informatik.uni-rostock.de
interaction have been introduced and are being published on
the web [16]. The pattern language from Jenifer Tidwell
[15] identifies and describes more than 50 patterns related
to user interface design.
A concept of using patterns in model-based design was
presented in [13]. We will comment this approach based on
the experiences in a project of managing berths in a marina.
We will discuss our experiences and argue for a pattern
based user interface design process.
A PATTERN
PROCESS
BASED
USER
INTERFACE
DESIGN
First of all they can ask for help, make a reservation for a
berth, modify or cancel an existing reservation. For
reserving a berth, the first step will be the initial request for
a berth, followed by a choice for an available berth or the
refinement of search options if no suitable berth is offered.
They must register after selecting a berth. In theory, the
registration could be either at the beginning of the
reservation process or just before purchasing or booking.
Paul knows from a lot of investigations, that the force for
early registration might cause customers to quit the
application due to privacy reasons or time constraints. To
avoid loosing the customer before booking, sailors are
asked for registration after the selection of a berth, which
fits to their wishes, just before the actual reservation. The
short login allows registered customers to quickly register
with their e-mail address and password. First time
customers need to fully register by providing personal
details and type of payment information. The type of
payment information guarantees the reservation. The
subsequent reservation overview summarizes booking and
customer information and needs to be confirmed or rejected
by the customer.
It is possible to modify or cancel a reservation until a
specified period of time before the check-in date, without
being charged. This is an essential customer requirement
since sailing trips are subjected to wind and other factors
that cannot be influenced by people, which makes trips
difficult to plan ahead. For modification or cancellation of a
reservation customers need to register with their e-mail
address and password. The reservation will be displayed for
modifying or removing. If a customer has more than one
reservation he is prompted to select a reservation.
Modifications or cancellations of reservations need to be
confirmed.
Paul abstracted the task model already in such a way that it
fits to the general business process. It is a generalized
version of the task model of Anne and Paul. Our
experiences with different models allow us to extend this
task model to an even more general task pattern.
[]
Choose
an Object
>>
Register
>>
>>
[]
>>
Print
Prompt for
Confirmation Reservation
[]
>>
Contact
Cancel or Modify
a Reservation
>>
[]
[]
Make a Reservation
|||
Refine Give
Give
Options Personal InformaInforma- tion on
tion
Type of
Payment
[]
Reject
Cancel
>>
Modify
>>
Login=eMail, PWD
<<Task Pattern>>
Register
Solution:
Outline the different steps in the booking
process
Provide information about the requested
resource,
additional
information
and
information about the booking status
Customize
the
booking
process
for
registered users by providing special
information
(e.g.
discounts,
special
offers that only fit to the customer etc.)
Provide secure data transfer
Offer
the
possibility
of
canceling
reservations
Provide a short login
The analysis of business objects is based on the objectoriented concept. Business-object analysis identifies and
illustrates the application objects. It includes the
determination of their attributes, methods, and
relationships, and visualization of their dynamical behavior.
Since the objects that are involved in business processes as
well as their attributes, methods and relationships can be
generalized and then be transferred to similar applications,
patterns can be used to support the design process and
reduce complexity.
Figure 5 displays the generalized business object pattern for
online booking systems. One or more customers are able to
book one or more objects. The booking refers to an invoice
and includes a price. The price is modeled as its own class
since there can be different prices and price types that are
billed and calculated differently.
Customer
ID
Last Name
First Name
Address
City
Postal Code
...
Booking Object
ID
Available : Boolean
Price
Price Code
Booking
Booking Number
Date of Arrival
Date of Departure
Status : (Reservation|Booking|Cancelation)
belongs to
1
Invoice
Status
Conceptual Design
Name:
UID
Pattern
for
Online
Booking
Applications
Context: A customer wants to book a certain
object or resource online.
Problem: How to model the user interface
dialog
views
for
online
booking
applications?
Forces: The user interface components and
their structure on the dialog have to
support the accomplishment of tasks and meet
structural layout principles.
Solution: The development of the dialog
design requires three steps:
1. Define the user interface elements of the
dialog view
2. Establish the dialog view structure to
derive a floor plan
3. Characterize the dynamic behavior of the
user interface elements
Example 1: Online bookings via web browser
To derive the user interface elements of the
dialog view the conceptual model can be used
as basis, which defines the navigational
structure. For
our example
this
would
include
top-level
and
second-level
navigation and a content area. The dialog
view contains three components: first the
top-level menu, second, the sub-level menu
and third, a corresponding content area. The
top-level menu items hold references to the
second-level menu, e.g. the 'reservation'
points to the corresponding second-level
menu containing 5 sub items: 'Request',
'Select',
'Register',
'Confirm',
and
'Print'. Two of the top-level menu items do
not refer to a second-level menu they
directly
point
to
their
corresponding
content area, e.g. the 'Contact' menu item
refers to the 'Contact' content area. All
other content areas are referenced by their
corresponding second-level menu items. The
next step would be to assign a layout to the
dialog view. For online bookings the grid
layout pattern
[17]
provides
the best
support, since it divides the site into
various sections that can be used depending
on applications requirements. Applying the
grid layout pattern to the online booking
example leads to the floor plan of the
corresponding dialog view structure.
The floor plan can be of a different level
of abstraction. The more detailed it gets
the more information is needed. This could
be best realized by getting the users
involved. They could, e.g. via drag and
drop, define more user interface elements
and their positions on the dialog view to
get the floor plan more and more specific.
Figure 9 displays such a specific floor plan
for the 'Request' menu item of the 'Reserve
a Berth' menu.
Example 2: Online bookings via mobile phone
Due
to
limited navigational space
and
interaction facilities the user interface
dialog view structure for mobiles will be
much simpler than for browsers. Taking the
navigational structure from the conceptual
design step as a basis, the dialog view will
either contain menu items or requests input
Pattern
[17]
Visual Design
http://www.welie.com/patterns