+ All Categories
Home > Documents > A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice...

A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice...

Date post: 27-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
26
Transcript
Page 1: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,
Page 2: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout

Erfurt, 27.-30.09.2004

Kai Blankenhorn, Mario Jeckle †

Page 3: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 3/26

Situation

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)

Motivation Foundation Previous Work Metamodel ExampleSituation Importance of GUIs Problems in daily work Goals

Page 4: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 4/26

Importance of GUIs

The most obvious part of a software systemBig 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)

Especially important for the success of web pages (Shneiderman 1997; Lohse & Spiller 1998)

Central aspect of usability efforts

Yet little support by UML

Motivation Foundation Previous Work Metamodel ExampleSituation Importance of GUIs Problems in daily work Goals

Page 5: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 5/26

Problems in daily work

Application design separated into two fields:Software design – made by software engineersGUI design – made by graphics designers

Difficult to coordinate them efficiently

How to specify and discuss GUI layout ideas?Customer‘s ideasDedicated layout specification phase prior to creating mockups

A model without the GUI is incompleteHarder for programmers to know what to doLess control over application development

Motivation Foundation Previous Work Metamodel ExampleSituation Importance of GUIs Problems in daily work Goals

Page 6: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 6/26

Goals

Extension of the UMLInteraction and dynamics: modeled using traditional UML diagramsCreate a new diagram for GUI layout

Standards conformant

UML look and feel

Easy to apply in existing processes

Mimic designer sketches

Motivation Foundation Previous Work Metamodel ExampleSituation Importance of GUIs Problems in daily work Goals

Page 7: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 7/26

UML 2

Object oriented general purpose modeling language

UML metamodel: model of the UML in MOF (OMG 2003a)

Extended using profiles: (OMG 2003a)

Tailor the UML metamodel to new platforms or domainsMetamodel classes may be extended using stereotypes

Additional semanticsConstrained syntaxDifferent presentation through stereotype icons

Directly supported by UML tools (theoretically)

UML 2 Diagram Interchange Designer ScribblesMotivation Foundation Previous Work Metamodel Example

Page 8: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 8/26

Diagram Interchange (Boger et al. 2002)

Integral part of UML 2.0 (OMG 2003b)

Originated from XMI

Makes UML diagrams layout awareEvery UML Element is assigned a GraphElement

UML 2 Diagram Interchange Designer ScribblesMotivation Foundation Previous Work Metamodel Example

GraphElement

+position: Point

GraphEdge

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

GraphNode

+size [0..1] : Dimension

«DataType»Point

+x : Double+y : Double

«DataType»Dimension

+width : Double+height : Double

Page 9: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 9/26

Designer Scribbles

Hand-drawn abstraction of a GUI’s designDesign ideas and considerationsCommon practice among designersCommonly used symbols for widgets

Sometimes abstracted into wireframes

UML 2 Diagram Interchange Designer ScribblesMotivation Foundation Previous Work Metamodel Example

Page 10: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 10/26

Interactive Sketching

Pinto-Albuquerque (2000)Layout documents with hand-drawn shapes using shape recognitionEmphasis on converting sketches into HTML documentsNo formal model is createdNotation of its own

DENIM (Lin et al. 2000)

Sketch recognition Emphasis on creating a complete model of the UIFormal model not connected to UMLNotation derived from designer sketches

Can be used for sketching UML diagrams

Interactive Sketching UWE OMMMA-LMotivation Foundation Previous Work Metamodel Example

Page 11: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 11/26

UWE

UML-based Web Engineering (Hennicker & Koch 2001)

Proposes a design process and models for hypermedia designBased on a UML 1.x profilePresentational model:

Structural organization of the presentationSubstitute for sketchingNotation of its ownLayout information not established in the metamodel

Interactive Sketching UWE OMMMA-LMotivation Foundation Previous Work Metamodel Example

Page 12: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 12/26

OMMMA-L

Visual Language for the Object-Oriented Modeling of MultiMedia Applications (Sauer & Engels 1999)

Heavyweight extension of UMLPresentation diagram:

Static and dynamic elementsBounding boxes mark areas on the screenLayout information not established in the metamodel

Interactive Sketching UWE OMMMA-LMotivation Foundation Previous Work Metamodel Example

Page 13: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 13/26

General Structure

TechnicallyStereotypes of Class contained in a UML 2.0 profileInterrelated using stereotyped AssociationsUser-defined stereotype iconsSemantics modelled using OCL constraints on the stereotypes

Division of a Screen into ScreenAreasContainerScreenArea: contains other ScreenAreasFunctionalScreenArea: owns one or more UIFunctionalities

UIFunctionalitiesStaticUIFunctionalities: Text, Image, Heading, LogoActivatableUIFunctionalities: Link, Form, Navigation, Workspace

General structure Stereotypes GUI Layout package ScreenArea Inheritance References PackageMotivation Foundation Previous Work Metamodel Example

Page 14: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 14/26

General Structure (cont'd)

Top level element in a model: Screen

Screen and ContainerScreenAreas form a hierarchySimilar to the window metaphorPosition relative to parent position

General structure Stereotypes GUI Layout package ScreenArea Inheritance References PackageMotivation Foundation Previous Work Metamodel Example

Page 15: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 15/26

Stereotypes used

Extracted and abstracted from designer sketchesScreenArea

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

ScreenContains all ScreenAreas that are displayed at a timeSpecial type of ContainerScreenAreaMust not be contained in any other ScreenArea

Motivation Foundation Previous Work Metamodel ExampleGeneral structure Stereotypes GUI Layout package ScreenArea Inheritance References Package

Page 16: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 16/26

Stereotypes used (cont'd)

StaticUIFunctionalities: static, no behaviour or interaction

Image: static image, movie or animation

Text: continuous text with any alignment

Heading: short headline in a larger or otherwise distinct font

Logo: pictorial corporate design element

Motivation Foundation Previous Work Metamodel ExampleGeneral structure Stereotypes GUI Layout package ScreenArea Inheritance References Package

Page 17: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 17/26

Stereotypes used (cont'd)

ActivatableUIFunctionalities: may have behaviour and can be activated

Link: navigable link to another ScreenArea

Form: requests information from the user

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

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

General structure Stereotypes GUI Layout package ScreenArea Inheritance References PackageMotivation Foundation Previous Work Metamodel Example

Page 18: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 18/26

GUI Layout packageGeneral structure Stereotypes GUI Layout package ScreenArea Inheritance References PackageMotivation Foundation Previous Work Metamodel Example

«stereotype»Text

«stereotype»Image

«stereotype»Logo

«stereotype»Heading

«stereotype»Workspace

«stereotype»Navigation

«stereotype»Link

«stereotype»Form

«stereotype»ScreenArea

*+contained

0..1 +container

«stereotype»FunctionalScreenArea

«stereotype»ContainerScreenArea

+isVisible: Boolean = false

Class

+isExternal: Boolean = false

{subsets class}

{subsets nestedClassifier}+position: Point {subsets position}+size: Dimention {subsets size}

DiagramInterchange::Point

DiagramInterchange::Dimension

«stereotype» «stereotype»ActivatableUIFunctionality StaticUIFunctionality

«stereotype»UIFunctionality

1..*{subsets nestedClassifier}

+functionality

1+owner{subsets class}

«stereotype»Screen

{ self.container->isEmpty() }

Class

Page 19: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 19/26

ScreenArea Inheritance

General structure Stereotypes GUI Layout package ScreenArea Inheritance References PackageMotivation Foundation Previous Work Metamodel Example

ScreenAreas can be abstractCannot be instanciated

ScreenAreas can specialize other ScreenAreasInheriting their parent, size and positionOverwriting their contents

See the following example…

Page 20: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 20/26

ScreenArea Inheritance (cont'd)

General structure Stereotypes GUI Layout package ScreenArea Inheritance References PackageMotivation Foundation Previous Work Metamodel Example

OrderConfirmation OrderSummary

ContentMainOrderForm RegistrationFormCouponForm

Page 21: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 21/26

References Package

General structure Stereotypes GUI Layout package ScreenArea Inheritance References PackageMotivation Foundation Previous Work Metamodel Example

Package merged with GUI Layout package

Allow modeling of additional semantics using ReferencesLinkReferenceScreenFlow

Each Reference targets a ScreenArea

Enables modeling web specific aspects:Link targetsFlow of navigationSitemaps

Page 22: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 22/26

References Package (cont'd)

General structure Stereotypes GUI Layout package ScreenArea Inheritance References PackageMotivation Foundation Previous Work Metamodel Example

«stereotype»LinkReference

«stereotype»ScreenFlow

«stereotype»Reference

«class»Association

«stereotype»Workspace

«stereotype»Navigation

«stereotype»Link

«stereotype»Form

{ reference->size()<=1 }

«stereotype»ActivatableUIFunctionality

{subsets ownedAttribute}+reference

*

0..1+source

{subsets classifier}

{subsets ownedAttribute}+reference

*

«stereotype»Screen

0..1{subsets classifier}

+source

Page 23: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 23/26

References Package (cont'd)

General structure Stereotypes GUI Layout package ScreenArea Inheritance References PackageMotivation Foundation Previous Work Metamodel Example

Welcome

Author

Order

CatFiction

CatNonFiction

CatScientific

CatComics

Reviews Recommendations Login

UserDetails

Book

Page 24: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 24/26

Motivation Foundation Previous Work Metamodel ExampleWeb Page Prototype

Page 25: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 25/26

Motivation Foundation Previous Work Metamodel ExampleWeb Page Prototype

Page 26: A UML Profile for GUI Layout · Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000,

A UML Profile for GUI Layout - Kai Blankenhorn, Mario Jeckle 26/26

Thank you!Questions, please?

References:Boger et al. 2002: Diagram Interchange for UML. In: Jézéquel, J.-M. ; Hussmann, H.; Cook, S. (Eds.): UML 2002 – The Unified Modeling Language 5th International Conference,

Dresden, Germany, September 30–October 4, 2002, Springer LNCS vol. 2460.Galitz 2002: The Essential Guide to User Interface Design, Second Edition. New York: John Wiley & Sons.Hennicker & Koch 2001: Modeling the User Interface of Web Applications with UML. In: Evans, A.; France, R.; Moreira, A. (eds.) (2001): Practical UML-Based Rigorous Development

Methods - Countering or Integrating the eXtremists, Workshop of the pUML-Group at the UML 2001. Gesellschaft für Informatik, Köllen Druck+Verlag, October 2001, pp. 158-172.Jeckle et al. 2004: UML glasklar, München, Hanser, 2004.Lin 2000: DENIM: Finding a Tighter Fit Between Tools and Practice For Web Site Design. In: CHI Letters: Human Factors in Computing Systems, CHI 2000, pp. 510-517.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. 211-218.Myers 1993: Why are Human-Computer Interfaces Difficult to Design and Implement? Carnegie Mellon University Technical Report CMU-CS-93-183, July 1993.Newman & Landay 2000: Sitemaps, Storyboards, and Specifications: A Sketch of Web Site Design Practice. In: Boyarski, D.; Kellogg, W. A. (Eds.): Proceedings of the Conference on

Designing Interactive Systems: Processes, Practices, Methods, Techniques. New York: ACM Press, pp. 263-274.OMG 2003a: UML 2.0 Infrastructure Final Adopted Specification (ptc/03-09-15).OMG 2003b: Unified Modeling Language: Diagram Interchange, version 2.0. Final Adopted Specification (ptc/03-09-01).Pinto-Albuquerque et al. 2000: Visual Languages for Sketching Documents. Proc. of VL 2000, Seattle, September 2000 (2000), pp. 225-232.Sauer & Engels 1999: Extending UML for modeling of multimedia applications, Proc. IEEE Symposium on Visual Languages, Tokyo, September 13-16, 1999.Shneiderman 1997: Designing the User Interface, Third Edition. Addison Wesley, Reading, 1997.van der Veer & van Vliet 2001: A Plea for a Poor Man's HCI Component in Software Engineering and Computer Science Curricula. In: Computer Science Education, Vol. 13, no 3

(Special Issue on Human-Computer Interaction), pp. 207-226.

Prototype available at www.bitfolge.de/guilayout

Motivation Foundation Previous Work Metamodel Example The End


Recommended