A UML Profile for GUI Layout

Lohse & Spiller 1998: Quantifying the effect of user interface design features on cyberstore traffic and sales. In: Proceedings of CHI'98, New York: ACM, 1998, pp ...
5MB Größe 14 Downloads 325 Ansichten
A UML Profile for GUI Layout Kai Blankenhorn, Mario Jeckle †

Erfurt, 27.-30.09.2004

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Metamodel Situation Importance of GUIs Problems in daily work

3/26 Example Goals

Situation Z Z Z

Z Z

UML 2 knows 13 diagrams ”General purpose modeling language” (OMG 2003a) Impossible to model GUI layout with UML Graphics designers create non-UML models of GUIs (Newman & Landay 2000) Layout is modeled using schematics or wireframes (Newman & Landay 2000)

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Metamodel Situation Importance of GUIs Problems in daily work

4/26 Example Goals

Importance of GUIs Z Z Z

The most obvious part of a software system Big impact on overall cost and productivity (Myers 1993; Galitz 2002) Realization: UI code makes up about 50% of application code

(van der Veer &

van Vliet 2001; Galitz 2002)

Z

Especially important for the success of web pages 1998)

Z

Central aspect of usability efforts

Z

Yet little support by UML

(Shneiderman 1997; Lohse & Spiller

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Metamodel Situation Importance of GUIs Problems in daily work

5/26 Example Goals

Problems in daily work Z

Application design separated into two fields: X X

Software design – made by software engineers GUI design – made by graphics designers

Z

Difficult to coordinate them efficiently

Z

How to specify and discuss GUI layout ideas? X X

Z

Customer‘s ideas Dedicated layout specification phase prior to creating mockups

A model without the GUI is incomplete X X

Harder for programmers to know what to do Less control over application development

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Metamodel Situation Importance of GUIs Problems in daily work

6/26 Example Goals

Goals Z

Extension of the UML X X

Interaction and dynamics: modeled using traditional UML diagrams Create a new diagram for GUI layout

Z

Standards conformant

Z

UML look and feel

Z

Easy to apply in existing processes

Z

Mimic designer sketches

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Metamodel UML 2 Diagram Interchange Designer Scribbles

7/26 Example

UML 2 Z

Object oriented general purpose modeling language

Z

UML metamodel: model of the UML in MOF

Z

Extended using profiles: X X

(OMG 2003a)

Tailor the UML metamodel to new platforms or domains Metamodel classes may be extended using stereotypes X X X

X

(OMG 2003a)

Additional semantics Constrained syntax Different presentation through stereotype icons

Directly supported by UML tools (theoretically)

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Metamodel UML 2 Diagram Interchange Designer Scribbles

8/26 Example

Diagram Interchange Z

Integral part of UML 2.0 (OMG 2003b)

Z

Originated from XMI

Z

Makes UML diagrams layout aware X

(Boger et al. 2002)

Every UML Element is assigned a GraphElement GraphElement

«DataType» Point

+position: Point

+x : Double +y : Double

GraphEdge

GraphNode

+Waypoints {ordered} [2..*] : Point

+size [0..1] : Dimension

«DataType» Dimension +width : Double +height : Double

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Metamodel UML 2 Diagram Interchange Designer Scribbles

9/26 Example

Designer Scribbles

Z

Hand-drawn abstraction of a GUI’s design Design ideas and considerations Common practice among designers Commonly used symbols for widgets

Z

Sometimes abstracted into wireframes

Z Z Z

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Interactive Sketching UWE OMMMA-L

Metamodel

10/26 Example

Interactive Sketching Z

Pinto-Albuquerque (2000) X X X X

Z

DENIM X X X X

Z

Layout documents with hand-drawn shapes using shape recognition Emphasis on converting sketches into HTML documents No formal model is created Notation of its own

(Lin et al. 2000)

Sketch recognition Emphasis on creating a complete model of the UI Formal model not connected to UML Notation derived from designer sketches

Can be used for sketching UML diagrams

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Interactive Sketching UWE OMMMA-L

Metamodel

11/26 Example

UWE Z Z Z Z

UML-based Web Engineering (Hennicker & Koch 2001) Proposes a design process and models for hypermedia design Based on a UML 1.x profile Presentational model: X X X X

Structural organization of the presentation Substitute for sketching Notation of its own Layout information not established in the metamodel

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Interactive Sketching UWE OMMMA-L

Metamodel

12/26 Example

OMMMA-L Z Z Z

Visual Language for the Object-Oriented Modeling of MultiMedia Applications (Sauer & Engels 1999) Heavyweight extension of UML Presentation diagram: X X X

Static and dynamic elements Bounding boxes mark areas on the screen Layout information not established in the metamodel

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Metamodel General structure Stereotypes GUI Layout package

Example ScreenArea Inheritance

13/26 References Package

General Structure Z

Technically X X X X

Z

Division of a Screen into ScreenAreas X X

Z

Stereotypes of Class contained in a UML 2.0 profile Interrelated using stereotyped Associations User-defined stereotype icons Semantics modelled using OCL constraints on the stereotypes

ContainerScreenArea: contains other ScreenAreas FunctionalScreenArea: owns one or more UIFunctionalities

UIFunctionalities X X

StaticUIFunctionalities: Text, Image, Heading, Logo ActivatableUIFunctionalities: Link, Form, Navigation, Workspace

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Metamodel General structure Stereotypes GUI Layout package

14/26

Example ScreenArea Inheritance

General Structure

References Package

(cont'd)

Z

Top level element in a model: Screen

Z

Screen and ContainerScreenAreas form a hierarchy X X

Similar to the window metaphor Position relative to parent position

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Metamodel General structure Stereotypes GUI Layout package

Example ScreenArea Inheritance

15/26 References Package

Stereotypes used Z Z

Extracted and abstracted from designer sketches ScreenArea X X

Z

Represents an area within a screen of a graphical user interface that serves a purpose (think of tissue as an analogy) Subclasses: FunctionalScreenArea, ContainerScreenArea (notation basically the same)

Screen X X X

Contains all ScreenAreas that are displayed at a time Special type of ContainerScreenArea Must not be contained in any other ScreenArea

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Metamodel General structure Stereotypes GUI Layout package

Example ScreenArea Inheritance

Stereotypes used Z

16/26 References Package

(cont'd)

StaticUIFunctionalities: static, no behaviour or interaction X

Image: static image, movie or animation

X

Text: continuous text with any alignment

X

Heading: short headline in a larger or otherwise distinct font

X

Logo: pictorial corporate design element

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Metamodel General structure Stereotypes GUI Layout package

Example ScreenArea Inheritance

Stereotypes used Z

17/26 References Package

(cont'd)

ActivatableUIFunctionalities: may have behaviour and can be activated X

Link: navigable link to another ScreenArea

X

Form: requests information from the user

X

Navigation: provides links to all major parts of the system different semantics than a group of links

X

Workspace: interactively manipulating data often a blank area on the screen with special importance

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Metamodel General structure Stereotypes GUI Layout package

18/26

Example ScreenArea Inheritance

References Package

GUI Layout package «stereotype» ScreenArea

Class

+position: Point {subsets position} +size: Dimention {subsets size} +isVisible: Boolean = false +isExternal: Boolean = false

{subsets nestedClassifier} +contained *

DiagramInterchange:: Point DiagramInterchange:: Dimension

{subsets class} 0..1 +container «stereotype» FunctionalScreenArea +owner 1 {subsets class} {subsets nestedClassifier} +functionality

«stereotype» ContainerScreenArea

1..*

«stereotype» UIFunctionality

Class

«stereotype» Screen { self.container->isEmpty() }

«stereotype» ActivatableUIFunctionality

«stereotype» Form

«stereotype» Navigation

«stereotype» Link

«stereotype» Workspace

«stereotype» StaticUIFunctionality

«stereotype» Heading

«stereotype» Image

«stereotype» Logo

«stereotype» Text

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Metamodel General structure Stereotypes GUI Layout package

Example ScreenArea Inheritance

ScreenArea Inheritance Z

ScreenAreas can be abstract X

Z

ScreenAreas can specialize other ScreenAreas X X

Z

Cannot be instanciated

Inheriting their parent, size and position Overwriting their contents

See the following example…

19/26 References Package

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Metamodel General structure Stereotypes GUI Layout package

20/26

Example ScreenArea Inheritance

ScreenArea Inheritance

References Package

(cont'd)

ContentMain CouponForm

OrderConfirmation

OrderForm

OrderSummary

RegistrationForm

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Metamodel General structure Stereotypes GUI Layout package

Example ScreenArea Inheritance

21/26 References Package

References Package Z

Package merged with GUI Layout package

Z

Allow modeling of additional semantics using References X X

LinkReference ScreenFlow

Z

Each Reference targets a ScreenArea

Z

Enables modeling web specific aspects: X X X

Link targets Flow of navigation Sitemaps

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle Motivation Foundation Previous Work Metamodel General structure Stereotypes GUI Layout package

22/26

Example ScreenArea Inheritance

References Package

References Package (cont'd) «class» Association

«stereotype» Reference

«stereotype» LinkReference {subsets ownedAttribute} +reference

«stereotype» ScreenFlow {subsets ownedAttribute} +reference {subsets classifier} +source

+source {subsets classifier}

*

0..1

«stereotype» ActivatableUIFunctionality

*

0..1

«stereotype» Screen

«stereotype» Form

«stereotype» Navigation

«stereotype» Link { reference->size()