User Interaction and Interface Design with UML

Jesus M. Almendros-Jimenez & Luis Iribarne
Group of Information Systems

University of Almeria, SPAIN
{jalmen,liribarne}@ual.es


Abstract

The Unified Modeling Language (UML) provides system architects working on analysis and design (A&D) with one consistent language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for the business modeling. The user interface (UI), as a significant part of most applications, should also be modeled using UML. In this paper, we describe how to use and specialize UML diagrams in order to describe the user interfaces of a software system. Use case diagrams are used for extracting the main user interfaces. Use cases are described by means of user-interaction diagrams, an special kind of activity diagrams in which states represent data output actions and transitions represents data input events. Input and output interactions in the user-interaction diagrams help the designer to extract the Graphical User Interface (GUI) components used in each user interface. A new and specialized version of the use case diagram for representing the user interface design —called user-interface diagram— and a class diagram for GUI components —called GUI-class diagram— are obtained. The user-interaction, user-interface and GUI-class diagrams, can be seen as the UML-based User Interface models of the system. Finally, GUI prototypes can be generated from GUI-class diagrams. As case study of our technique, we will describe an Internet book shopping system.


The Purchase GUI testbed

[ UML class diagram of the Purchase System ]

[
Click here to get a runtime web version (Applet version)
]



[ Purchase.java ] [ UML ] [ Text of Cervantes' Don Quixote ]



[ ShoppingCart.java ] [ UML ]



[ ConfirmProceed.java ] [ UML ]



[ ConfirmRemoveArticle.java ] [ UML ]


Interaction diagrams (UML)


[ Purchase ]
[ Manage shopping cart ]
[ Shopping cart ]
[ Query catalogue ]
[ Confirm remove article ]

[ All together interaction diagrams ]



Code source (Java)

[ Purchase.java ] [ UML ]
[ QueryCatalogue.java ] [ UML ]
[ ShoppingCart.java ] [ UML ]
[ ConfirmProceed.java ] [ UML ]
[ ConfirmRemoveArticle.java ] [ UML ]

Click here to get a ZIP version (ZIP Project)


Text sample: Don Quixote (1605)
Author: Miguel de Cervantes Saavedra (1547-1616)

Web source: Spanish Index

(c) 2006
Jesus M. Almendros-Jimenez and Luis Iribarne
Group of Information Systems
University of Almeria
SPAIN