App

From CCT - Vidensdeling
Revision as of 10:10, 12 December 2016 by Lindskjold (talk | contribs) (→‎Opgave 3)
Jump to navigation Jump to search

Status & planer

Der er produceret 2 worked examples, et statisk(HTML/CSS/JQUERY) [1] zip: [2] og et dynamisk (HTML/CSS/JQUERY/PHP) [3] zip: [4], med tilhørende backend (uden design) [5].

Storyboard til 90 sek video kan ses her: Storyboard app

Introduktion

Forløbet kan skaleres til både informatik C/B og IT A. Selve forløbet er tænkt som et ”stort” forløb, hvor de fleste af de faglige mål behandles og det kan bruge til elevens portfolio eller som et eksamensprojekt. Forløbet kan dog brydes op således at man kun beskæftiger sig med designet af interaktionen og modellering af processerne, hvor slutproduktet er en papirprototype. Man kan også præsentere eleverne for et design som de derefter skal implementere og derved have fokus på programmering af webapps i JQuery mobile. Derudover kan man også vælge om man laver en statisk webapp uden tilhørende database eller laver en dynamisk version hvor data hentes fra en database og eventuelle ordrer gemmes.

Formål

Eleverne anvender konstant app's i deres hverdag og dette forløb har til hensigt at give dem en basis viden omkring hvilke typer af app der er og hvilke hensyn man skal tage sig når man designer og udvikler apps. Desuden vil forløbet give eleverne kendskab til designprincipper, arkitektur, modellering og programmering.

Læreplansmål

Informatik:

  • Interaktionsdesign (C+B): Design af interaktionen i app'en
  • Arkitekur (C+B): IT-Arkitekturen i apps
  • Modellering (C+B): Modellering af flow og process i app'en
  • Programmering (C+B): Udvikling af app i JQuery mobile
  • Innovation (C+B): Alt efter emne kan den app der designes løse et konkret problem

Indhold

  • Baggrundsviden omkring app teknologi (native, hybrid og web)
  • Modellering af processer
  • Design af brugergrænseflader (gestalt, farver, typografi osv.)
  • Database modellering
  • Prototyping
  • Arkitekturdesign
  • Programmering af webapp i JQuery Mobile
  • Test af systemer

Forudsætninger

  • Forforståelse: Hvis man agter at eleverne skal programmere en webapp er basis forståelse for HTML/CSS en klar fordel. Hvis man vil lave database versionen er grundlæggende kendskab til php en fordel.
    • Tutorial til HTML [6]
    • Tutorial til CSS [7]
    • Tutorial til PHP, specielt database input/output [8]
  • Teknologi: PC med editor til programmering f.eks. Komodo edit [9] eller Aptana [10]. Evt. en database og en PHP server.

Aktiviteter & materialer

Lektionsplan

Antallet af lektioner varierer efter hvor meget vægt man vil lægge på det enkelte emne. Selve udviklingen af app'en tager en del tid, hvis det skal være en prototype, der både visuelt og funktionelt, er af en vis kvalitet.

Materialer

Tekster:
Sådan kommer du i gang med din egen app, Kapitel 2, 3 og 6, Kim Wassmann m. fl., Comprendo 2013 - [11]
Interaktionsdesign, Kapitel 15, ”Informationsteknologi”. Martin Damhus m. fl., Systime 2013
Gestaltlovene, Niels Gamborg - [12]
Farvernes betydning, Jacob Olsen - [13]
Klient-server og tre-lags-arkitekturen Version 1.0, Henrik Bærbak Christensen - [14]
Typografier

Opgaver

Emnet i dette eksempel er en app til bestilling af pizza, men det kunne være hvad som helst.
Forløbet er opdelt i en række opgaver. :

Opgave 1

Introduktion til apps

Varighed ca. 90 minutter inkl. fremlæggelser og opstart

Mange virksomheder vælger hvert år at få lavet en app som supplement til deres hjemmeside.

Læs kapitel 2, 3 og 6 i "Sådan kommer du i gang med din egen app", Kim Wassmann m. fl., Comprendo 2013 - [15], og bliv klogere på hvad man skal overveje som virksomhed, inden man går i gang.

Hvert år kåres "Årets bedste app" [16] inden for forskellige kategorier.

Du skal nu udvælge en app fra listen og beskrive den så grundigt så muligt:

Du som minimum komme ind på følgende:

  • Formål med app'en: arbejdsrelateret, marketingsrelateret eller noget helt tredje.
  • Målgruppe.
  • Type: native, hybrid eller web-app.
  • Fremtidspotentiale
  • Andre brugeres vurdering (I App-store eller Google Play)?
  • Din egen vurdering af app'en

Afslutning med korte fremlæggelse fra tilfældige elever

Opgave 2

Funktioner

Varighed cirka 30 minutter

Nu skal du så småt i gang med at udvikle din egen app.

Forestil dig at du bliver kontaktet af dit lokale pizzeria. De har i forvejen en hjemmeside og vil nu også gerne have udviklet en app.

  • Lav en liste over de funktioner som du forestille dig en sådan app burde have. Som et minimum skal app'en kunne håndtere følgende opgave:
    • Man skal kunne bestille én eller flere pizzaer.
    • Man skal oplyse, hvor man vil have pizzaerne bragt hen.
    • Man skal betale for pizzaerne.
  • Vurder desuden hvilken teknologi det vil være bedst at lave app'en med (native, hybrid eller web-app) og begrund dit svar.

Tip: Ved mere komplekse emner kan man her bygge på ved at få eleverne til at tegne rige billeder, use case diagrammer og lignende for at få kendskab til det domæne app'en skal fungere i.

Opgave 3

Modellering

Varighed cirka 60 minutter

Navngiv dit pizzaria

Læs side 15.1-15.4 i Interaktionsdesign, Kapitel 15, ”Informationsteknologi”. Martin Damhus m. fl., Systime 2013. Tip: Teksten kan være lektier til dagens lektion

  • Lav nu diagrammer over, hvordan app'en skal hænge sammen. Du skal lave både:
    • et strukturdiagram over app'en
    • et flowdiagram der viser bestillingsprocessen i din app.

Skriv en kort beskrivelse af dine diagrammer

Strukturdiagram.png Rutediagram.png

Opgave 4

Design

Varighed cirka 90 minutter

I denne opgave skal du lave en model af hvordan app'en kan se ud. Læs først:

  • 15.4 i Interaktionsdesign, Kapitel 15, ”Informationsteknologi”. Martin Damhus m. fl., Systime 2013 (er læst i forrige opgave, men anden del af kapitlet er vigtig for denne opgave ligeså)
  • Farvernes betydning, Jacob Olsen - [17]
  • Gestaltlovene, Niels Gamborg - [18]

Gå herefter ind på Moqups [www.moqups.com] og lav skitser af følgende:

  • hvordan appens forside skal se ud
  • hvordan brugerne skal kunne vælge pizza.
  • hvordan brugeren skal kunne oplyse leveringsadresse og betale.

Farver og grafisk udtryk bestemmer du selv. Husk:

  • Du designer en app til en Smartphone.
  • En skitse er kun en grov model - alle detaljer behøver ikke at være på plads. Se eksempel:

Skitse.png

Opgave 5

Logo

Varighed cirka 60 minutter

Tip: Alt efter hvor du som underviser lægger vægten i forløbet (programmering eller interaktionsdesign) kan du afsætte mere eller mindre tid til denne del.

I denne opgave skal du bruge den viden, du nu har om layout- og designregler, og lave et logo til din pizza-app.

Til designet af logoet kan du anvende photoshop/illustrator/gimp, hvis du er god til det. Alternativt kan du bruge et af de adskillige gratis logo services der findes på nettet.

Der er følgende krav til denne opgave:

  • Logoet skal hænge sammen med dit design fra opgave 4.
  • Giv en grundig beskrivelse af de gestaltlove, typografi-, farve- og kontrastregler, der er brugt i logoet.
  • Du skal forklare hvilket format billedet skal være i, når du skal bruge det i din pizza-app.
  • En samlet begrundelse for, hvorfor dit logo er det helt rigtige til en pizza-app.

Opgave 6

Test af brugervenlighed

Varighed cirka 90 minutter

I denne opgave skal du lave en test af om din app er brugervenlig. Ofte kan man lave en horisontal prototype først og så teste den. I vores tilfælde tester vi ud fra den mock-up, du lavede i forrige opgave.

  • 15.4 i Interaktionsdesign, Kapitel 15, ”Informationsteknologi”. Martin Damhus m. fl., Systime 2013.
  • Beskriv herefter (ud fra metoderne i teksten) hvordan du vil teste om din app er brugervenlig. Beskrivelsen skal som minimum indeholde svar på følgende:
    • Hvilke opgaver skal test-deltagerne løse (Lav de spørgsmål som de skal svare på)?
    • Hvilken opgave har testlederen?
    • Hvor mange testdetagere skal der være?
    • Hvad skal der ske før, under og efter testen?
  • Udfør testen på jeres prototype. TIP: Lad eleverne teste hinandens prototyper
  • Lav tilrettelser på baggrund af den feedback i har fået

Opgave 7

Arkitektur

Varighed cirka 20 minutter

IT-systemer med mange brugere, der deler information med hinanden, kan beskrives som en tre-lagsarkitektur.

Læs først: Klient-server og tre-lags-arkitekturen Version 1.0, Henrik Bærbak Christensen - [19]

  • Lav en grundig beskrivelse af arkitekturen i app'en.
  • Du skal minimum komme ind på følgende emner:
    • Klient
    • Server
    • Præsentationslag
    • Applikationslag
    • Datalag

Opgave 8

Database design

Varighed cirka 90 minutter

Nu skal datalaget designes og der skal oprettes en database.

Ud fra din papirprototype og dit flowdiagram skal du nu lave af ud- og inddata. For hvert skærmbillede skriver du det data ned, der hentes fra database og det der skrives i databasen. Et eksempel kunne være menukortet hvor der hentes pizzanummer, billede, pris osv. fra databasen, mens der fra bestillingsformularen skrives navn, adresse osv. til databasen.

Ud fra din dataanalyse kan du nu strukturere din database i tabeller og skabe relationer.

Til sidst normaliseres din database.

Den færdige database implementeres i f.eks. MySQL. TIP: Det er kun nødvendigt at implementere databasen hvis man vil lave en aktiv dynamisk app.

Databasetabeller brugt i worked example kan downloades i sql format her: [20]. De er klar til import i phpMyAdmin

En vejledning til dataanalyse og oprettelse af databasetabeller i phpMyAdmin kan hentes her: Dataanalyse og databaser

Opgave 9

Udvikling af app

Varighed: Alt efter elevernes forkundskaber indenfor HTML/CSS/PHP og om der laves en statisk app i HTML/CSS/JQUERY eller en dynamisk app med tilhørende database er der forskellig varighed. Elever med basic skills indenfor HTML og CSS vil kunne lave en statisk app med eget stylesheet på 4 lektioner a 60 minutters varighed, mens en dymanisk app tager min. 6 lektioner.

Påbegynd udviklingen af din pizza app.

Tag udgangspunkt i et færdiglavet worked example eller med en af disse skabeloner:

Worked Examples:

  • Statisk (Kun HTML/CSS/JQUERY) [21] zip: [22]
  • Dynamisk med tilhørende database (HTML/CSS/JQUERY/PHP/SQL) [23] zip: [24], med tilhørende backend (uden design) [25].

Skabeloner (Klik for at se og højreklik - gem som for at downloade):

  • Opstart uden stylesheet og med kun en side: [26] - Se eventuelt guide til hvordan du kan få et stylesheet lavet på https://themeroller.jquerymobile.com overført til en app her: [27]
  • Simpel app med flere sider: [28] - Læg mærke til hvordan menupunkterne i navbar linker vha. hashtags (<a href="#menukort">Menu</a>
  • Statisk menukort: [29] - Koden til menukort starter på linje 53
  • Dynamisk menukort, hvor data hentes fra den database der designes i opgave 8: [30] - forbindelse til database er først i filen, mens menuen dannes fra linje 72


Tilpas din app til dit design.

Opgave 10

Test af app

Varighed cirka 60 minutter

På baggrund af det arbejde du lavede i opgave 6 skal du nu udføre en brugervenlighedstest af din app.

Tilpas herefter designet så der tages højde for den feedback du har fået

Eksemplarisk materiale

Worked examples:
Statisk web app: [31]
Dynamisk web app med backend: [32]

Use-modify-create version

Spring processen over og dyk direkte ned i koden og lav din egen app

Introduktion

I stedet for at tage udgangspunkt i en systemudviklingsproces og lave en app på baggrund af processen, kan eleverne anvende en generisk webapp som udgangspunktet for deres arbejde med webapps. App'en er dynamisk og fungerer uden brug af database, da datalaget er JSON filer (tekstfiler).

App'en er kaldet MyVeryOwnShop og er en webshop med 3 varer i. Brugeren kan klikke på varerne og tilføje dem til en kurv, hvorefter de kan bestille dem og ordren bliver herpå gemt i en JSON fil og kan vises i en ordreoversigt.

Eleverne kan ved at ændre på datalaget lave en webapp der kan sælge alt fra pizzaer og sko til tøj og dagligvarer. Derefter kan de tilpasse designet til det de ønsker at sælge.

App'en kan ses her [33]

Formål

Give eleverne en god forståelse for hvordan webapp's virker og arbejde med arkitektur, programmering og design

Læreplansmål

Informatik:

  • Interaktionsdesign (C+B): Design af interaktionen i app'en
  • Arkitekur (C+B): IT-Arkitekturen i apps
  • Programmering (C+B): Udvikling af app i JQuery mobile

Indhold

  • Arkitekturdesign
  • Programmering af webapp i JQuery Mobile
  • Design af brugergrænseflader (gestalt, farver, typografi osv.)

Forudsætninger

  • Forforståelse: Hvis eleverne har grundlæggende kendskab til HTML er den en fordel, men det kan godt laves uden.
    • Tutorial til HTML [34]
    • Tutorial til CSS [35]
    • Tutorial til jQueryMobile [36]
  • Teknologi: PC med editor til programmering f.eks. Komodo edit [37] eller Aptana [38].
  • Webserver enten lokalt på elevens egen computer eller i skyen

Aktiviteter & materialer

Lektionsplan

Materialer

Tekster:
Klient-server og tre-lags-arkitekturen Version 1.0, Henrik Bærbak Christensen - [39]

Opgaver

Forløbet er opdelt i en række opgaver. :

Opgave 1

'Introduktion til MyVeryOwnShop

Varighed ca. 60 minutter

Eleverne skal have hver deres version af webapp'en.

Eleverne skal herefter anvende app'en og lave en ordre. Eleven kan se resultatet på siden: oversigt.html

Herefter kan eleven ændre datagrundlaget for app'en ved at tilføje sine egne varer. Varerne ligger i varer.json - Se video

Eleven kan også tilføje varer i varer.json filen. - Se video

Eleven kan så derefter lave ordrer på de nye varer og se hvordan oversigt.html ændrer sig.

Tip: Det kan være en fordel at have en kopi af den oprindelige varer.json fil, da der ikke skal mere end en forkert indsat } til at siden ikke længere viser varerne.

Slut lektionen af med en snak omkring 3-lagsarkitekturen og hvordan det er en fordel at adskille lagene.

Opgave 2

""Tilpas design og varer efter et emne""

"Varighed ca. minutter"

Eleverne kan nu lave en app ud fra et selvvalgt tema eller undervisneren kan udvælge nogle for dem. f.eks. tøj, køkkengrej, sko, kasketter osv.

Eleverne skal herefter oprette varer indenfor temaet ligesom i lektionen før

Derefter skal de tilpasse designet og de øvrige undersider til temaet. Guide til stylesheet oprettet på https://themeroller.jquerymobile.com kan ses her: [40]