Foreløbig plan
Interaktionsdesign (gestaltlove, farver, …)
Arkitektur (klient-server, tre-lags)
Prototyper
Modellering (flow og proces, lister, database)
Programmering (App Lab, lister, pattern, database)
Test af systemer
Ændringer kan forekomme …
Vi opfylder mange af fagets mål gennem konstruktion af et IT-system.
Et spadestik dybere i nogle gamle emner, og introduktion af nye emner.
Video som viser koden til pizza-browser, bestil knap, sum antal&pris.
Selve koden fra AppLab
Kør selve app'en og undersøg.
Hvilke funktioner er der?
Hvad mangler der?
Link til dokument med manglende funktioner (udfyldes og deles med klassen)
Undersøg koden
Se evt. video med koden
Undersøg koden
Udvid app’en
App’en har to knapper til at navigere. Kun den ene knap virker.
Ændre programmet, så man kan lede begge veje gennem pizzaerne
Hvad sker der, når man kommer til den sidste pizza?
Tilmeld dig klassens kurser på code.org
Klassens kode er BXNFWT (3x if)
I skal gennemføre Lektion 1, 2 og 3 (CSP Unit 6).
Modul 1:
Se videoer i lektion 1 og 2 (fælles?)
Introduction to lists (7 min.)
Lektion 1: Kontrollere forståelse (evt. punkt 4)
Lektion 2: Udforske kode med lister.
Modul 2:
Lektion 3: Praktisk arbejde med lister.
Bemærk: lektion 2, trin 5 beskriver hvordan vi har brugt lister i vores Pizza App, det såkaldt pattern. Se beskrivelse af patterns:
Læs mere om lister her.
Video som viser koden til bestillingskurv.
Pizza App - version 2 - VIDEO (14:20)
Inspiration:
Video version2 (ovenfor)
Processing lists (4:20) - Hvordan man går gennem alle elementer i en liste.
Lav følgende tilføjelser/ændringer:
Tilføje en bestillingsside, hvor alle pizzanavne kan vises i et textarea.
Der er to knapper: tøm og betal.
Den sidste knap gør ikke noget lige nu.
Tilføje en liste, som skal indeholde numrene på alle bestilte pizzaer.
Tilføj nummer når der trykkes på Bestil.
Tøm listen når der trykkes på Tøm.
Tilføje en knap VisBestilling, som hopper til bestillingssiden.
Tilføje en funktion som opdaterer indholdet af bestilingssiden.
Brug pattern Update Screen, og video Processing Lists.
Tilføje knap Tilbage på bestillingssiden
Tilføje en funktion som kan beregne den totale pris på pizzaer i kurven. Video fra ca. 9:00.
Anvend den til at opdatere total pris på forsiden.
Eksempler på kode.
Beskriv hvordan man kan bruge lister.
Indsæt billeder af din kode.
Forside
Byg-din-egen pizza
Lav liste med ingredienser
Side til at sammensætte pizza
Husk:
Start med prototyper (papir)
Gem billeder af prototyper, liste med ingredienser m.v., så du gå videre med opgaven, når der er tid senere i forløbet.
Hvis din egen app driller for meget, så er her en frisk start
Pizza App version 3 VIDEO (4:38)
Se video og indfør ændringerne i din app.
Indtast flere pizzaer i databasen
Test app grundigt.
Datamodellen skal udvides med billeder.
Tilføj kolonne til databasen. Feltet skal indeholde URL til billederne.
Brugerfladen skal opdateres så billederne vises
Test app grundigt.
Beskriv kort 3-lags arkitektur.
Beskriv opbygning og brug af en database.
Indsæt billeder af din kode / design m.v.
Hvis din egen app driller for meget, så er her en frisk start
Databaser: Part 1 - Creating Records: youtu.be/d8ByCh-BouQ
Databaser: Part 2 - Data Viewer: youtu.be/RZlHfbtO2C4
Intro til java-objekter: youtu.be/ZunUF_WGMb4
Rutediagram: Program Øl (øvelse 8.2 ovenfor)
Rutediagram: Tænd en lampe (øvelse 8.3 ovenfor)
Rutediagram: Tænd ølkøleren (øvelse 8.5 ovenfor)
I grupper/par: Diskussion af hvilken process en pizzaordre skal gennemgå.
Tegn et rutediagram over brugernes vej gennem systemet, når der bestilles pizza.
Lav papir-prototyper, som støtte til processen.
Indsæt i din logbog:
Rutediagram
Billeder af prototyper
Tilmeld dig klassens kurser på code.org (hvis ikke du har gjort det)
Klassens kode er BXNFWT (3x if)
Gennemføre dele af Lektion 8, 9, 10, 11 og 12 (Post AP, Chapter 2):
Lektion 8: trin 1 (video), trin 4-6. (JavaScriptObjects)
Lektion 9: trin 1 (video), trin 2-8, samt evt. 9-10. (CreateRecord)
Lektion 10: trin 1-8. (ReadRecords)
Lektion 11: trin 1-4. (DeleteRecord)
Lektion 12: trin 1-4. (UpdateRecord)
Lektion 13: (Export&Import)
Lektion 14: (ChartFromRecords)
Læs mere om databaser her.
Efter ovenstående kursus kender du begreberne:
JavaScript Object med navngivne egenskaber og værdier (named properties and values)
Database
Tabel med rækker (record eller row) og kolonner (column)
Unik ID (unique id)
Kommandoer: createRecord, readRecord, deleteRecord, updateRecord
Callback function, synkron programmering vs asynkron programmering
I grupper/par: Diskussion af hvilke datafelter der er relevante for en pizzabestilling.
Lav liste med datafelter: navn og type (tekst, tal, link, ...)
Justér eventuelt prototyper undervejs
Fælles opfølgning
Indsæt i din logbog:
Beskrivelse af databasekommandoer CreateRecord, ReadRecord, UpdateRecord og DeleteRecord.
Liste med relevante datafelter
Ny funktion
Ordrehåndtering - kunder kan sende bestilling og betale
Design og realisering
Lav prototype og/eller rutediagram. I kiggede på dette i opgave 6, men skal evt gentænkes!?
Lav liste med datafelter. Hvilke oplysninger skal man gemme om en ordre? (se evt. opgave 7)
Opret databasetabellen ordrer i systemet
Lav koden til håndtering af knappen Bestil (eller hvad den nu hedder) og oprettelse af ny ordre i databasen.
Når betalingen er gennemført, skal ordrens status opdateres til Betalt.
Ny funktion
Forside med valg mellem menu og administration (adgangskode?)
Administrations side - pizzamanden kan tilføje, slette og ændre pizzalisten (i app).
Design og realisering
Lav prototype og/eller rutediagram
Lav koden til håndtering af forside og administrationsside, samt oprette nye pizzaer i databasen.
Lav koden til at ændre pizzaer i databasen.
Vælg:
Fortæt evt. med ekstra opgave 1.
Opgave 8 A eller 8 B (den du fravalgte)
Administrationsside - pizzamanden kan se ordrer (i app).
... andet?
Husk:
Start med prototyper (papir)
Gem billeder af prototyper m.v., så du gå videre med opgaven, når der er tid senere i forløbet.
Start med at lave en ny overskrift i din logbog, under pizza-app'en.
Overskrift Interaktionsdesign
Gense Interaktionsdesign (Don Norman, Gestaltlove)
Overvej hvilke elementer, som er relevante i forbindelse med evaluering af din pizza app.
Udvælg 2-3 punkter fra ovenstående, skriv i logbog, og skriv, hvad der evt. skal opdateres, for bedre at opfylde punkterne.
Gense farvelære (videoer)
Overvej farvevalg i din pizza app. Skriv forslag til ændring af farvevalg i logbog.
Sammenlign evt. nogen af med følgende lokale hjemmesider: Just Eat, McDonalds, Kylling og Co, Stenovns Pizza & Steakhouse, Vinderup pizza.
Gense brugbarhedsevaluering
Planlæg testen: hvad skal testes og hvordan?
Læg testplanen ind i Logbog (evt. kopiere).
Formål: Hvad er de mest kritiske brugbarhedsproblemer?
Roller: observation af testbruger, snak med testbruger?
Metoder: tænke højt test, ”task completion time”. Video: tænke højt test
Opgaver: specifikke
Eksempler:
Mikkel vil bestille to forskellige pizzaer, og betale ved afhentning.
Tonny (pizzamanden) vil tilføje en ny pizza til menuen, og efterfølgende se om den kan bestilles.
...
Dataindsamling: test-logbog
Kategorisering, design forslag, …
Hvem tester hvilke apps og hvornår? Planlægges i klassen.
Nødplan: Brug Pizza App version 8, som testobjekt.
pdf-fil
jpg-fil