Dagens gang Sidste uges opgaver Design af grænseflader Design af modelkomponent Næste uges opgaver
Oversigt, principper og teknikker Grænseflader Oversigt, principper og teknikker Kapitel 8
Resultat af grænseflader Navigeringsdiagram til oversigt Vinduesdiagram til detaljer
Aktiviteter i grænseflader
Tilpas grænsefladen til anvendelsen
Mønstre og standarder Menuvalg Skemaudfyldelse Kommandosprog Direkte manipulation Input og output Tastatur, display, markør-styring, pegeredskaber Lyd, andre specielle redskaber Skærmlayout, overlappende vinduer Svartider, skærmopdateringsfrekvens Handlingssekvenser Direkte manipulation, klik, træk, bevægelse Kommandoers syntaks, semantik og sekvens Funktionstaster og genveje Recovery Skærmlayout Menuvalg, skemaudfyldelse og dialogboksformater Formulering af ledetekster og fejlmeddelelser Præsentation af elementer og lister Terminologi, forkortelser Tegnsæt, fonte, ikoner Farver, invers, blink, fremhævning Oplæring Online hjælp Indlæring, brugermanualer
Design vinduer ud fra brugsmønstre
Eksempel: Fastlæg elementer Vinduer Hoved Person Artikel Aktivitet Session Udskrifter Accept af deltagerregistrering Accept af artikeltilmelding Anmodning om review Beslutning om artikel til forfatter Beslutning om artikel til reviewer Deltagerliste Forfatterliste Artikelliste Reviewerliste Program
Eksempel: Navigerings-diagram
Eksempel: Vinduesdiagram
Systemgrænseflade Hvilke data skal systemet sende til andre systemer? Hvilke data skal systemet modtage fra andre systemer? Skal systemet forbindes til problemområdet gennem ydre enheder og apparater?
Vurder systematisk Opdelingen i elementer Afprøv navigeringen ved hjælp af brugsmønstre Horisontal prototype Udformningen af det enkelte element Afprøvning med realistiske data Vertikal prototype
Oversigt over grænseflader Formål At fastlægge et systems grænseflader. Grænseflade: Faciliteter der gør et systems model og funktioner tilgængelige for aktører. Brugergrænseflade: En grænseflade til brugere. Systemgrænseflade: En grænseflade til andre systemer. Begreber Principper Skræddersy brugergrænsefladen til anvendelsesområdet. Eksperimentér og iterer. Identificer alle bestanddele i grænsefladerne. Brugergrænseflade: Dialog- og præsentationsformer, en komplet liste af bestanddele i brugergrænsefladen, udvalgte vinduesdiagrammer og et navigeringsdiagram. Systemgrænseflade: Klassediagrammer for ydre enheder og protokoller for interaktionen med andre systemer. Resultat
Oversigt, principper og teknikker Kapitel 12 Modelkomponent Oversigt, principper og teknikker Kapitel 12
Design af komponenter Detaljer i enkeltkomponenter Forbindelser mellem komponenter Iterere over arkitektur Revidere opdeling af komponenter
Fra arkitektur til komponenter Principper: Respektér komponentarkitekturen Tilpas komponenterne til de tekniske muligheder
Aktiviteter Modelkomponent Funktionskomponent Forbind komponenter ... flere komponenter
Oversigt Formål Begreber Principper Resultat At fastlægge realisering af krav inden for rammerne af en arkitektur. Begreber Komponent: En samling af programdele, som udgør en helhed og har et veldefineret ansvar. Forbindelse: En implementering af en afhængighed mellem komponenter. Principper Respektér komponentarkitekturen. Tilpas komponenterne til de tekniske muligheder. Resultat Beskrivelser af et systems komponenter.
Resultat af Modelkomponent Udgangspunkt i klassediagrammet fra analysen af problemområdet Udbygget med håndtering af adfærd
Aktiviteter i Modelkomponent Funktionskomponent Forbind komponenter
Fra helhed til del Komponent: En samling af programdele, der udgør en helhed og har et veldefineret ansvar Modelkomponentens ansvar: Vedligeholde en opdateret repræsentation af problemområdet.
Analysemodel for banksystem Klassediagram Hændelsestabel
Repræsenter private hændelser Sekvens og selektion Repræsenter disse hændelser som en tilstandsattribut i den klasse, som beskrives ved tilstandsdiagrammet. Hver gang en af hændelserne forekommer, skal systemet tilordne en ny værdi til tilstandsattributten. Integrer hændelsernes attributter i klassen. Iteration Repræsenter disse hændelser som en ny klasse, der med en aggregeringsstruktur knyttes til den klasse, som beskrives ved tilstandsdiagrammet. Hver gang hændelsen forekommer, skal systemet generere et nyt objekt af den nye klasse. Integrer hændelsens attributter i den nye klasse.
Repræsentation af private hændelser Hændelsen ‘adresse ændret’ er privat for klassen Kunde og indgår som en iteration i klassens tilstandsdiagram Repræsenteres som en ny klasse Hændelsen ‘kreditgodkendt’ er privat for klassen Kunde og indgår som en sekvens Repræsenteres som en attribut
Repræsenter fælles hændelser Hvis hændelsen indgår i tilstandsdiagrammerne på forskellig måde, repræsenteres den i tilknytning til den klasse, som giver den enkleste repræsentation. Hvis hændelsen indgår i tilstandsdiagrammerne på samme måde, må du afveje de mulige repræsentationer i forhold til hinanden.
Repræsentation af fælles hændelser: Løsning A Hændelserne ‘indsat’ og ‘hævet’ indgår som iteration i to klasser. Hændelserne kan repræsenteres som nye klasser under Konto
Repræsentation af fælles hændelser: Løsning B Alternativt kan hændelserne repræsenteres som nye klasser under Kunde Giver en kompleks struktur (to associeringer på tværs) Derfor vælges løsning A
Omstrukturer klasser Det reviderede klassediagram kan repræsentere den information, som findes i tilstandsdiagrammerne. Klassediagrammet kan ofte forenkles uden tab af information: Generalisering Associering Indlejrede iterationer
Oversigt Formål Begreber Principper Resultat At repræsentere en model af et problemområde. Begreber Modelkomponent: En del af et system, som realiserer en model af et problemområde. Attribut: En beskrivende egenskab ved en klasse eller hændelse. Principper Vælg den enkleste repræsentation af hændelser. Resultat Et klassediagram for modelkomponenten.
Opgaver Til Lilleby bibliotek: Udarbejd et navigeringsdiagram Udarbejd et eksempel på et vinduesdiagram Design modelkomponenten. Arbejdsform Repræsenter private hændelser. Repræsenter fælles hændelser. Omstrukturer klassediagrammet, så det bliver enklere.