EKSAMEN I FAG SIF8040 - MMI OG GRAFIKK Lørdag 16. august 2003 Tid: kl. 0900-1400



Like dokumenter
EKSAMEN I FAG TDT MMI Tirsdag 1. juni 2004 Tid: kl

Konseptuell modell, skjermdesign og konstruksjon

Fakultet for informasjonsteknologi,

MMI-sammendrag fra eksamener

EKSAMEN I FAG SIF MMI OG GRAFIKK Onsdag 14. mai 2003 Tid: kl

KONTINUASJONSEKSAMEN I EMNE. TDT4136 Logikk og resonnerende systemer. Onsdag 6. august 2008 Tid: kl

EKSAMEN I EMNE. TDT4136 Logikk og resonnerende systemer. Tirsdag 4. desember 2007 Tid: kl

Lykke til! Eksamen i fag SIF8018 Systemutvikling. 20 mai, 2003 kl Fakultet for fysikk, informatikk og matematikk

TDT4100 Objektorientert programmering

TDT4100 Objektorientert programmering

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Faglig kontakt under eksamen: Orestis Gkorgkas

Løsningsforslag for Eksamen i TDT4190 Distribuerte systemer. Onsdag 23. mai

Eksamen i fag SIF8018 Systemutvikling. Fredag 25. mai 2001 kl

EKSAMEN I LOGIKK OG RESONNERENDE SYSTEMER (TDT4136)

Eksamensoppgave i TDT4180 Menneske-maskin-interaksjon

Løsningsforslag fra faglærere

EKSAMEN I EMNE TDT4230 VISUALISERING LØRDAG 10. DESEMBER 2005 KL

Brukerveiledning for SparTi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

KONTINUASJONSEKSAMEN I EMNE. TDT4136 Logikk og resonnerende systemer. Lørdag 8. august 2009, kl

Generelt om operativsystemer

EKSAMEN TTK4175 INSTRUMENTERINGSSYSTEMER. Torsdag 13. Mai 2004 Tid: kl Sensurfrist 3. Juni Totalt 4 timer

Fakultet for informasjonsteknologi, Løsning på kontinuasjonseksamen i TDT4190 Distribuerte systemer 19. august 2006,

EKSAMEN I FAG TDT MMI Lørdag 11. august 2012 Tid: kl

UNIVERSITETET I OSLO

EKSAMEN I FAG TDT MMI Lørdag 4. juni 2005 Tid: kl

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

Algoritmer og Datastrukturer

KANDIDATEN MÅ SELV KONTROLLERE AT OPPGAVESETTET ER FULLSTENDIG

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl

Grafisk Brukergrensesnitt

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

EKSAMENSOPPGAVE. IAI20102 Algoritmer og datastrukturer

SymWriter: R6 Innstillinger, preferanser og verktøylinjer

Tilstandsmaskiner med UML og Java

EKSAMEN TTK4175 INSTRUMENTERINGSSYSTEMER. Fredag 22. mai 2009 Tid: kl Sensurfrist 12. juni Totalt 4 timer

Eksamen i fag TDT4140 Systemutvikling. 6. juni, 2006 kl

EKSAMEN FAG INSTRUMENTERINGSSYSTEMER

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

INF1010 MVC i tekstbaserte programmer

MA3002 Generell topologi

EKSAMEN. Algoritmer og datastrukturer. Eksamensoppgaven: Oppgavesettet består av 11 sider inklusiv vedlegg og denne forsiden.

Prosjektstyring med Projectfronter (En innføring i grunnleggende Projectfronter-funksjonalitet)

EKSAMENSOPPGAVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Roger Midtstraum

ALGORITMER OG DATASTRUKTURER

OOA&D starter med systemvalg

Løsningsforslag for TDT4186 Operativsystemer

Fakultet for informasjonsteknologi,

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

TDT Datateknologi, programmeringsprosjekt

TDT4102 Prosedyreog objektorientert programmering Vår 2016

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.

Eksamensoppgave i ST3001

INF1010 Grafisk brukergrensesni3 med Swing og awt del 1 INF1010

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK. Lørdag 5. juni Tid kl. 09:00 13:00. Digital sensorveiledning

EKSAMEN ST0202 STATISTIKK FOR SAMFUNNSVITERE

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

EKSAMEN TTK4175 INSTRUMENTERINGSSYSTEMER. Mandag 23. mai 2011 Tid: kl Totalt 4 timer. Antall sider: 5 (inkludert forsiden og vedlegg)

Innkjøpsbudsjett (BA10)

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

JavaScriptbibliotek. Introduksjon MVVC. Informasjonsteknologi 2. Gløer Olav Langslet Sandvika VGS

6108 Programmering i Java. Leksjon 8. GUI: Grafisk brukergrensesnitt. Del 2: Roy M. Istad 2015

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Grafiske brukergrensesnitt med Swing og AWT

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

HØGSKOLEN I SØR-TRØNDELAG

EKSAMENSOPPGAVE. Vil det bli gått oppklaringsrunde i eksamenslokalet? Svar: NEI

EKSAMEN I FAG TDT4180/IT2401 MMI Onsdag 23. mai 2007 Tid: kl

AlgDat 10. Forelesning 2. Gunnar Misund

Eksamen i fag TDT4140 Systemutvikling. 22. mai, 2008 kl

Slik lager du et web-område bestående av flere sammenhengende websider i. Frontpage Laget av Magnus Nohr Høgskolen i Østfold

EKSAMEN I FAG TMA4275 LEVETIDSANALYSE Xxxdag xx. juni 2008 Tid: 09:0013:00

EKSAMENSFORSIDE SKRIFTLIG EKSAMEN

Kurs i krisestøtteverktøyet DSB-CIM Del 1: Brukere, kontakter, ressurser og distribusjonslister

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

EKSAMEN TTK4175 INSTRUMENTERINGSSYSTEMER. Tirsdag 5. juni 2012 Tid: kl Totalt 4 timer. Antall sider: 5 (inkludert forsiden og vedlegg)

Dagens forelesning. Husk prøveeksamen Fredag 15/3-13 kl 12 i R1. Iterator-teknikken. Eksempel med bruk av Iterator og Iterable-grensesnittene

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

HØGSKOLEN I SØR-TRØNDELAG

UNIVERSITETET I OSLO

EKSAMENSOPPGAVE. NB! Det er ikke tillatt å levere inn kladd sammen med besvarelsen

EKSAMEN. Evaluering av IT-systemer. Eksamenstid: kl 0900 til kl 1300

Tillatte hjelpemidler: alle skrevne og trykte. Antall sider: 2 (+ 1 side vedlegg, bakerst). Oppgave 1 [25%]

ALGORITMER OG DATASTRUKTURER

EKSAMENSOPPGAVE I FAG TDT4117 INFORMASJONSGJENFINNING (SENSURVEILEDNING)

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

EKSAMEN I FAG TDT4180 MMI Lørdag 15. august 2009 Tid: kl

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

EKSAMEN I EMNE. TDT4136 Logikk og resonnerende systemer. Torsdag 10. desember 2009, kl

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Høgskolen i Telemark Fakultet for allmennvitenskapelige fag

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

TDT4105 IT Grunnkurs Høst 2014

Eksamensoppgave i TKT4124 Mekanikk 3

Transkript:

Side 1 av 6 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG SIF8040 - MMI OG GRAFIKK Lørdag 16. august 2003 Tid: kl. 0900-1400 Bokmål Sensuren faller 8. september Hjelpemiddelkode: D Ingen trykte eller håndskrevne hjelpemidler tillatt. Bestemt enkel kalkulator tillatt.

Side 2 av 6 Oppgave 1. Layout av brukergrensesnittelementer (30%) a) Hvorfor er kunnskap om gestaltprinsippene for visuell persepsjon viktig i forhold til utforming av grafiske skjermbilder? Gestaltprinsippene forteller oss hvordan hjernen struktuerer visuelle inntrykk. Dette er det viktig å forstå når man lager brukergrensesnitt fordi man ellers lett ender opp med å lage et layout som signaliserer en annen sammenheng mellom de grafiske elemenetene enn det man hadde til hensikt. b) Gitt at det skal lages et layout for et brukergrensesnitt med 9 knapper for å styre lys, gardiner og lerret i en forelesningssal. Knappene er: Lys mer (Øk lysstyrke) Lys mindre (Minsk lysstyrke) Lys av (0%) Lys 50% Lys 100% Lerret opp Lerret ned Gardiner igjen Gardiner åpne Alle knappene skal på samme skjermbilde, d.v.s. det skal ikke være nødvendig å skifte mellom skjermbilder. Det er kommet to forslag til skjermbilder. Lys mindre Lys mer Lys 100% Gardiner åpne Gardiner lukk Lys mer Lys 100% Lys 50% Lerret opp Lerret ned Lys 50% Lerret opp Lys 0% Gardiner åpne Gardiner lukk Lys 0% Lerret ned Lys mindre Forslag A Forslag B Vurder forslagene med utgangspunkt i gestaltprinsippene og Don Norman s begrep mapping. Hvis vi antar at knappene naturlig faller i tre grupper: gardiner, lerret og lys, så får ikke forslag A dette fram visuelt. Det gjør derimot forslag B. c) Forslagene over er kun forskjellige mht. layout/posisjonering av knappene. Hvilke andre visuelle effekter/gestaltprinsipper kan brukes for å gjøre grensesnittene over lettere å oppfatte? Vi kunne brukt farge, form, innramming, og evt. en grafisk metafor.

Side 3 av 6 Oppgave 2. Tilstandsmaskiner (15%) a) I oppgave 1 b) ble det beskrevet en kontroll av lysstyrke v.h.a. 5 knapper (mindre, mer, av (0%), 50% og 100%). Gitt at lyset i rommet kun har 5 nivåer (i prosent: 0,25,50,75, og 100). Lag en tilstandsmaskin (bruk gjerne UML Statecharts) som beskriver funksjonen til de 5 knappene i forhold til de 5 lysnivåene. 5 5 5 5 5 5 10 10 10 10 10 100 % 25 % 75 % b) Beskriv hvordan man vha. UML Statecharts kan utvide tilstandsmaskinen i a) med tilstander som beskriver funksjonen til knappene for gardiner og lerret.

Side 4 av 6 Oppe Åpen Ned Opp Lukke Åpne Nede Igjen Oppgave 3. Evaluering (20%) a) Forklar forskjellen på heuristisk evaluering (ekspert-evaluering) og brukbarhetstest. En heuristisk evaluering tar utgangspunkt i generelle retningslinjer og lar en ekspert evaluere grensesnittet i forhold til disse. En empirisk evaluering gjør en test med reelle brukere. b) Angi fordeler og ulemper ved henholdsvis heuristisk evaluering og brukbarhetstest i forhold til utvikling av brukergrensesnitt. Fordelen med heuristisk er at man ikke behøver å rekruttere brukere, pluss at man kan få en mer omfattende gjennomgang billig. Ulempen er at man ikke får testet det med reelle brukere slik at man får tilgang til deres spesielle kunnskap. Oppgave 4. GUI-konstruksjon (35%) Du skal realisere et GUI for styring av gardiner, lerret og lys, som det beskrevet i oppgave 1 b). Noen andre har allerede implementert tilstandsmaskinen (tilsvarende den i oppgave 2 a) og b), med metoder for å spørre hvilke(n) tilstand(er) den er i, trigge en transisjon og lytte på endringer i tilstand(ene). Din jobb er å bygge GUI et som skal knyttes til tilstandsmaskinen, både vise tilstanden(e) og styre den. Du regner med å måtte brukbarhetsteste flere forslag til design av GUI et og ønsker å kunne bytte ut ett designalternativ med et annet, med et trykk på en knapp. a) Beskriv kort de 3 elementene i MVC (Model-View-Controller)-arkitekturen. Hvilken av disse tre rollene vil tilstandsmaskinen ha? Beskriv hvordan MVCarkitekturen gjør det enkelt å bytte designalternativ.

Side 5 av 6 Modellen i MVC representerer komponentens bilde av de underliggende dataene som skal vises frem og evt. manipuleres (grensesnittet til datakilden).modellen vil typisk bestå av klasser for navigering i dataene, operasjoner som kan utføres på dem, og hendelser som beskriver endringer. View-delen håndterer visning/visualisering av dataene, altså output-delen av GUI et. Controlleren tolker bruker input og oversetter til operasjoner på den underliggende modellen. Tilstandsmaskinen nevnt i oppgaven vil ha rollen som Modell. Ideen bak MVC er at de tre elementene har definerte grensesnitt ift. hverandre og hver del kan byttes ut, så lenge grensesnittet håndteres. F.eks. vil det være enkelt å bytte View-delen uten at Modell-delen trenger å endres, eller omvendt: å knytte samme Modell til et annet View. Grensesnittforslagene i 1b) utnytter kun én knappetype (aksjonsknapp), mens Swing tilbyr flere typer knapper, bl.a. aksjonsknapper (JButton), avkrysnings (JCheckBox)- og radioknapper (JRadioButton). b) Hvilke typer knapper er det naturlig å bruke for styring av henholdsvis gardiner, lerret og lysstyrke? Det finnes flere alternativer, så begrunn svarene. Både gardinene og lerretet styres indirekte, dvs. en setter igang en bevegelse i en av to retninger, en endrer ikke tilstanden direkte til fra-trukket/oppe eller fortrukket/nede. Derfor vil det være naturlig med aksjonsknapper for disse, to for hver. Det vil være naturlig å deaktivere den retningen som ikke er relevant. Lysintensiteten kan styres på lignende måte, men i tillegg kan en stille til ønsket intensitet direkte. Siden en kan velge en av flere, er det naturlig å bruke radioknapper i én grupp (funksjonelt lik liste med enkeltvalg eller nedtrekksmeny). Swing tilbyr også to typer lister ( vanlige lister og nedtrekkslister) og du lurer på om vanlige lister (JList) fungerer bedre enn knappene for valg av lysstyrke. Du ønsker altså å lage et GUI bygget oppå den samme tilstandsmaskinen som tidligere, med en JList som erstatter for knappene som styrer lysstyrke, og som i tillegg viser nåværende lysstyrke gjennom det valgte listeelementet. c) Forklar hvordan du vil utnytte MVC-arkitekturen som både JList og GUI et er bygget på, for å realisere den nye brukergrensesnittutformingen. Beskriv spesielt hvordan listeinnhold og seleksjonen håndteres og bruk UML Collaboration-diagrammer til å illustrere konstruksjonen. Gjør nødvendige antagelser om implementasjonen av tilstandsmaskinen. Modell-grensesnittet som JList bruker heter ListModel, og enhver datastruktur som skal vises som en liste, må implementere dette grensesnittet. Dette betyr at en må få (den delen av) tilstandsmaskinen (som angir lysintensitet) til å se ut som en ListModel, slik at denne plugges direkte inn i JList (som dennes modell). Dette gjøres vanligvis på en av to måter: enten implementeres grensesnittet direkte, eller en lager en adapterklasse (wrapper) som pakker inn tilstandsmaskinen, og som implementerer ListModel-grensesnittet. Den siste måten er å foretrekke, siden den ikke rører tilstandsmaskinen (som jo er noen annens ansvar).

Side 6 av 6 Dette betyr altså at en må lage en klasse, f.eks. StateListModel, som implementerer metoder for å returnere antall lysintensitetsnivåer og hvert intensitetsnivå gitt nummeret i rekken. Dette gir JList nok informasjon til å vise frem listen. Vi antar her at antall nivåer er statisk, slik at en ikke trenger å håndtere hendelser for endring i listeelementene. En skal også kunne endre lysintensiteten, og dette gjøres ved å lytte til seleksjonshendelser (implementere ListSelectionListener) og trigge tilsvarende tilstandsovergang i tilstandsmaskinen. Merk at en også må lytte på tilstandsendringer i maskinen og oppdatere seleksjonen tilsvarende (og unngå evig løkke), i tilfelle maskinen endrer tilstand på annen måte enn via GUI et (f.eks. et fysisk panel). Lyttingen på seleksjonsendringer og tilstandsendringer (kun de for lysintensitet er relevante) og endring av henholdsvis tilstand og seleksjon bør implementeres av én klasse, f.eks. LightStateController, for å gjøre det enklere å implementere en konsistent logikk.