22
Corso di Interazione Uomo-Macchina I Paolo Bottoni Lezione 11: Progettazione astratta con UsiXML

Corso di Interazione Uomo-Macchina I

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Corso di Interazione Uomo-Macchina I

Paolo Bottoni

Lezione 11: Progettazione astratta con UsiXML

Lezione 11 Progettazione astrattaIUM 2

Metamodello UsiXML

Lezione 11 Progettazione astrattaIUM 3

Mapping model

Lezione 11 Progettazione astrattaIUM 4

Domain model

Lezione 11 Progettazione astrattaIUM 5

Transformation model

Lezione 11 Progettazione astrattaIUM 6

Task model

Lezione 11 Progettazione astrattaIUM 7

Abstract User Interface Model

Lezione 11 Progettazione astrattaIUM 8

Da Task model a AUI model

NAC LHS RHS

Lezione 11 Progettazione astrattaIUM 9

Concrete User Interface Model (estratto)

Lezione 11 Progettazione astrattaIUM 10

CUI (contenitori grafici)

Lezione 11 Progettazione astrattaIUM 11

CUI (relazioni)

Lezione 11 Progettazione astrattaIUM 12

CUI (elementi grafici)

Lezione 11 Progettazione astrattaIUM 13

CUI (Interazione vocale)

Lezione 11 Progettazione astrattaIUM 14

Da AUI model a CUI model (multimodale)

NAC LHS RHS

Lezione 11 Progettazione astrattaIUM 15

Progettazione del dialogo con CIO vocali

Lezione 11 Progettazione astrattaIUM 16

Modello formale pattern di interazione

Pattern

+name: StringPatternRole

+name: String

+space: Focus[*]

1..*

participant

method

triggers

outputabstract

Container domain

Class

abstract

InterfaceObject

source

target

AUIRelationshipsource

Pattern Vocabulary

Meta-model

UsiXML

Meta-model

target

Pattern

InstanceRoleMap PrsMap AfdMap LytMap ActMap CntMap ElmMap

Correspondence

Meta-model

*

<<enumeration>>

Focus

Component

Configuration

Coordination

Dynamics

Domain

Layout

attribute

control

observes

source

target

Lezione 11 Progettazione astrattaIUM 17

Esempi

Yes

Save changes?

No Cancel

!

X

New presentation

New

Blank presentation

From template

From existing presentation

Templates

Search inline

In my PC

In my websites

Action >= 2, Action <= 5

:triggers

sourc

e targ

et

:abstractContainer :domainClass

:aic

Action

:method

ButtonGroup

:absIndComp

«Command»

:control

«CommandArea»

:abstractContainer

Commands

«Main»

:abstractContainer

CommandArea

:control

Lezione 11 Progettazione astrattaIUM 18

Relazioni tra pattern

<<Container>>

: abstractContainer

Cancelability

<<Action>>

: workItem

: absIndComp<<Action>>

cancel : method: triggers

source

target

«ProgressContainer»

: abstractContainer

«ProgressIndex»

: output

Progress

Indicator

«ProgressElem»

: workItem

status = running

: absIndComp«Action»

: method: triggers

Action

source target

: observessource target

«ProcessControl»

: control

<<CancelElem>>

: control

Lezione 11 Progettazione astrattaIUM 19

Vincoli

<<Container>>

: abstractContainer

Cancelability

<<Action>>

: workItem

<<CancelElem>>

: absIndComp

<<Action>>

cancel : method

: triggers

source

target

C

<<Action>>

: workItem

<<Action>>

<<ProgressIndicator::Action>>

cancel : method

: triggers

source

target

<<Container>>

<<ProgressIndicator::Container>>

: abstractContainer

<<ProgressIndicator::

Presentation>>

: output

<<CancelElem>>

: absIndComp

: observes

source

target

X

<<Action>>

: workItem

<<ProgressIndicator::

Presentation>>

: output

: observes

source

target

<<Container>>

: abstractContainer

<<Affordance>>

: absIndComp

<<Action>>

cancel : method

: triggers

source

target

Lezione 11 Progettazione astrattaIUM 20

Sottotipizzazione

Form extends Unit

FormInput

extends Inputs

«Closeness»

:abstractAdjacency

:output

«Label»

:absIndComp

«Unit::UserInput»

:absIndComp

«Form, Unit::Unit»

:abstContainer

AlignedLabels

extends Form

Adj extends FormInput

src tg

t

ASrc«LabClose»

:abstractAdjacency

«Form::Label»

:absIndComp

ATgt

ASrc < 2, ATgt < 2

«Unit»

:abstContainer

«UserInput»

:absIndComp

:input

Inputs Explanations

«Explanation»

:absIndComp

:output

iV

jV

ijv )( ij

E vE(1)

'X

ji CXV

)( i

V VE

(2) (3)

'

jC

)( i

VfVEi

)( j

VfVEj

Lezione 11 Progettazione astrattaIUM 21

Composizione di pattern

CommandArea

«Main»

:abstractContainer

«Command»

:absIndComp

:control

Com

man

ds>

1

«CommandArea»

:abstractContainer

Co

mm

an

ds

«HomePage»

:abstractContainer

«EntryTask»

:task

«EntryPage»

:abstractContainer

:isExecutedIn

Entries

Entrie

s>

0:transition

src

tgt

:abstract

Containmentsrc

tgt

tgt

src

Clear Entry Points

src

:triggers

tgt:control

«EntryPoint»

:absIndComp

:triggers

:navigation

«HomePage, Main»

:abstractContainer

CEntries>1

:abstract

Containment

srcEntryPoint Area

:control :navigation

«EntryTask»

:task

«EntryPage»

:abstractContainer

:isExecutedIn

CEntries

:transitionsrc

tgt

tgt

tgt

src

«CommandArea»

:abstractContainer

src

:triggers

tgt

:triggers

«Command,EntryPoint»

:absIndComp

Lezione 11 Progettazione astrattaIUM 22

Vincoli negativi e conflitti

«Form::Closeness»

:abstractAdjacency

«Form::Label»

:absIndComp

Left Aligned Labels extends AlignedLabels

:isReifiedBy

:cio

:isReifiedBy

:cio

X1«Unit::UserInput»

:absIndComp

:grphAlgn

isHoriz=true C1

:isReifiedBy:cio

«LabClose»

:abstractAdjacency

«Label»

:absIndComp

:output

:isReifiedBy:cio

:grphAlgn

isVert=true

X2

C2

:isReifiedBy

textHorizontalAlign=left

:outputText

C3X3LeftAdj extends Adj

:cio

:cio

:grphAlgn

NoTwoAdj (NAC)

:grphAlgn

:output

Tutte le specializzazioni di AlignedLabels sono in conflitto fra loro