Objekt-interaktor med valg AMS- case forts. Eksemplifisering av modellbasert tilnærming til design av brukergrensesnitt Relatert objekt velges ofte blant mange kandidater Output av kandidat-sett Input av objekt fra settet Inkluderer ofte spesiell visning av valgt objekt Alternativ 1: Elementer velges i venstre sett og flyttes til høyre eller omvendt Alternativ 2: Elementer legges til høyre sett og fjernes (forsvinner aldri fra venstre sett) Alternativer Alternativ 1 Interaktor for hvert sett To sett knapper og add- og removefunksjoner Spørsmål: Hva skjer om filter endres til å utelate elementer i høyre sett? Interaktor- sammensetninger Sammensetning hierarchy message list single message Seleksjon 1 Mail Node-hierarki Input: Mailbox Seleksjon 2 Sett av relaterte Messages Input: Message-element Melding Message-element 1
Sammensetning Seleksjon 1 Mail Node-hierarki Input: Mailbox Melding Message-element Seleksjon 2 Sett av relaterte Messages Input: Message-element Modelleringsoppgave Gitt domenemodellen: En kunde ringer sentralbordet og vil snakke med en ansatt hun har hatt kontakt med. Hvem skal hun settes over til? Brukeren skal kunne finne kunden blant alle registrerte kunder se hvem denne kunden har hatt kontakt med velge hvilken å sette over telefonen til Modeller dialogelementene som trengs Løsning To seleksjonsinteraktorer valg av kunde valg av relatert ansatt Én funksjon beregne sett an ansatte for valgt kunde, basert på kontakt-relasjonen Realisering (to alternativer): to Listbox er med single selection et tre-view, med ansatte på nivået under kunder Takk for hjelpen! Generelt problem Dialogmodellering er bra for å beskrive funksjonen til enkelt-komponenter som finnes i GUI-toolkits ønsket funksjon og finne passende toolkit-elementer grov-oppførselen til sammenkoblede UI-elementer gjenbrukbare UI-strukturer Det er verre å bestemme hvordan UI-elementene skal settes samme, slik at oppgaver blir lettere å gjennomføre velge overordnet grensesnittstruktur Må styres av eksplisitte modeller av hva brukeren ønsker å oppnå dvs. målet hvilke oppgaver brukeren derfor må utføre UI modelling- perspectives Oppgave- basert design Oppgavestrukturen sier noe om når de ulike UI-komponentene er relevante Task models How are tasks actually performed? What is the user supposed to be able to do? Dialog model What functional (abstract) UI elements do we need? How are they composed? Look & feel model How are objects and actions visualized and laid out? What are the interaction details 2
Oppgavemodellen kan ses på som krav TaskMODL example In 1 Read email conceptual model Mailbox {} User Email client Mailboxes Out 1.1 Get new email In task structure 1.2 Manage email messages messages message Manage message Read Transfer message message Message A mailbox contains messages User performs Read email using Email client The current set of mailboxes provides the task context Get new email uses In mailbox and provides Manage email with a set of messages Manage email implies acting on each individual message in the input set A message is transferred after it is read Bruk av telefon... Sequence relations alternativer Ringe ut Summetone Finne nr. nr flyt Bruke telefon sekvens Ta imot veksling nr? betinget nr? overlappende Samtale Lagre nr. Taste nr. Notere Huske constraints for the super-/subtask part-of relation Aggregation Order Sequence a, b, c a, b, d c, a, b a b c d Choice d, a, b cardinality provides additional constrains a b c d c or d can in addition occur in between a and b Oppgaver for AMS- case Typisk struktur Med utgangspunkt i domenemodell opprette/registrere ulike typer elementer/objekter finne elementer basert på attributter og relaterte elementer Med utgangspunkt i scenarier beskrive scenario list opp og detaljér oppgaver Domenemodellen beskriver begreper og relasjoner nødvendig informasjon for opprettelse av (konfigurasjoner av) elementer Oppgavemodellen beskriver forutsetninger/premiss (pre-conditions) oppgave(struktur) konsekvens/resultatet (mål, post-condition) Relativt opplagt oppgavestruktur ved opprettelse av elementer 3
Opprette elementer Opprette avtale Eier Dyr Avtale Opprette avtale krever en eier Dyr identifiseres eller registreres om mulig, basert på kontekstuell informasjon Resultat: Avtale relatert til eier og dyr? Finne elementer Søk vha. attributter Dyr Eier Flere former for søk direkte vha. spesifikke enkeltverdier alternativer vha. sett av intervaller og enkeltverdier wild-cards komplekse uttrykk eller betingelser Søk på attributt(er) kan derfor være mer komplekst enn det ser ut Finne elementer Finne avtaler alternativer + = alternativt 4
Designeksempel En dame ringer: Hei, Jeg tror Schnauseren min bør kastreres. Kan dere se på den til uken? Hvilke oppgaver krever dette av AMS-brukeren? søke etter og evt. registrere eier og dyr finne ansatt som kan kastrere foreslå tidspunkt basert på tilgjengelighet la eieren velge tidspunkt Opprette avtale Opprette avtale krever en eier Dyr identifiseres eller registreres om mulig, basert på kontekstuell informasjon Resultat: Avtale relatert til eier og dyr Hva slags føringer legger dette på dialogen? Dialogmodell Deldialog for dyr Interaktorer for å etablere preconditions Finn systemfunksjoner Koble sammen Designeksempel En dame ringer: Hei, Schnauseren min har oppført seg så merkelig etter at dere kastrerte den i forrige uke. Kan dere se på den igjen før helga? Hvilke oppgaver krever dette av AMS-brukeren? søk etter tidligere avtale tid (forrige uke), dyr (Schnauser) og behandling (kastrasjon) identifikasjon av eier tidligere avtale, dyr (Schnauser) og evt. kjønn (stemmen) opprettelse av ny avtale dyr, eier, tilgjengelig behandler ønsket tidspunkt 5