Domenemodell AMS- case forts. Eksemplifisering av modellbasert tilnærming til design av brukergrensesnitt 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- 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 interaktor 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 Input av heltall Basert på strenginput Parsing og unparsing Alternativer Integer- interaktor 1
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 Oppgave Hvordan uttrykk flervalgsfunksjon? Sett av kandidater Input: Subsett av kandidat-sett Inkluderer ofte spesiell visning av valgt objekt 2
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? Alternativer Alternativ 1 To sett knapper og add- og removefunksjoner Alternativ 2 To knapper og?? Alternativ 2 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 3
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å Hierarkier 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 Sammensetning Seleksjon 1 Mail Node-hierarki Input: Mailbox Melding Message-element Seleksjon 2 Sett av relaterte Messages Input: 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 4
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! 5