AMS-case forts. Eksemplifisering av modellbasert tilnærming til design av brukergrensesnitt
Domenemodell Sentrale begreper og relasjoner Utgangspunkt for både oppgave- og dialogmodeller Mange muligheter kan undersøkes basert på modellen og kunnskap om generelle handlinger
Person-komponent Form/property sheet for visning og innfylling av verdier Typespesifikke felt for hvert attributt Felles attributter samles og håndteres likt Tekst og ikoner brukes for markerer sub-typer vindustitler, gruppebokser, osv. ikoner i lister og hierarkier Spesifikke attributter (owner, staff) skilles fra felles vha. åpenrom streker gruppebokser, other...
Person-interaktor Notasjon for å beskrive abstrakt komponent-struktur Generell struktur for visning av verdier visning og editering Person-element mappes til attributter vha. funksjoner Nye verdier settes også vha. funksjoner
Generell interaktor Notasjon for å beskrive generelle komponenter for input og output Dataflyt-orientert Flyt i to retninger input: fra brukeren output: fra systemet Interaktor mottar og sender informasjon gjennom fire typer porter/gates
Integer-interaktor Input av heltall Basert på strenginput Parsing og unparsing Alternativer
Datatyper og GUI-elementer Boolean avkryssningsboks, krever tydelig ledetekst radioknapper/nedtrekksliste/liste med symmetriske valg (ja/nei, av/på,...) Heltall tekstfelt, krever validering radioknapper, relevant valg + Andre... -knapp combobox, tekstfelt med validering + relevante valg tall med opp/ned-knapper slider, relevant verdiområde og granularitet
Datatyper og GUI-elementer... Desimaltall tekstfelt, krever validering slider, relevant verdiområde og granularitet Dato tekstfelt med validering (merk datoformat) uavhengig innfylling av år, måned og dag som tall nedtrekksdialog for kalender Tekst tekstfelt, evt. validering og komplettering combobox, tekstfelt + relevante valg merk at tekstvariabler ofte brukes til å begrensede sett
Datatyper og GUI-elementer... Egne objekter bruk av navn (er egen ID) som nøkkel liste av relevante objekter, f.eks. alle av en klasse, naboer i et nettverk, parent-kjede, etc. combobox med komplettering gir stor fleksibilitet Strukturer aggregeringshierarki, tre-komponent 1-n relasjon, lister side om side klassifiseringshierarki, felles visning med ulike ikoner
Java Bean Properties mappes til porter eller ressurser
Objekt-interaktor med valg Relatert objekt velges ofte blant mange kandidater Output av kandidat-sett Input av objekt fra settet Inkluderer ofte spesiell visning av valgt objekt
Oppgave Hvordan uttrykk flervalgsfunksjon? Output: Sett av kandidater Input: Subsett av kandidat-sett
Alternativer 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) Spørsmål: Hva skjer om filter endres til å utelate elementer i høyre sett?
Alternativ 1 Interaktor for hvert sett To sett knapper og add- og removefunksjoner
Alternativ 2 Interaktor for hvert sett To knapper og??
Alternativ 2 Interaktor for hvert sett To knapper og ett sett add- og removefunksjoner Dvs. fjern funksjonene som endrer Sett 1 og de tilhørende koblingene
Oppgave Hvordan uttrykk valg i trestruktur? Output: To typer noder indrenoder med barn løvnoder uten barn Input: Løvnode
Hierarkier Hierarkier kan være homogene/uniforme samme typer noder ned til løvnodene samme relasjon leder fra node til node heterogene mange forskjellige nodetyper forskjellige relasjoner for hver node og nivå
Interaktor-sammensetninger hierarchy message list single message
Sammensetning Seleksjon 1 Output: Mail Node-hierarki Input: Mailbox Seleksjon 2 Output: Sett av relaterte Messages Input: Message-element Melding Output: Message-element
Sammensetning Seleksjon 1 Output: Mail Node-hierarki Input: Mailbox Seleksjon 2 Output: Sett av relaterte Messages Input: Message-element Melding Output: Message-element
Modelleringsoppgave Gitt domenemodellen: Scenario 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!