Göm menyn

TDDD13 och TDDC73 Interaktionsprogrammering

Projekt


Projekt - Interaktionsmönster som GUI-komponenter

Projektet går ut på att självständigt utforska olika interaktionsmönster på en lite djupare nivå. Projektinstruktionerna består av flera olika föslag på vad man kan välja att fördjupa sig i, det är upp till dig att välja uppgifter enligt betygskriterierna som står beskrivna nedan.

Projektinstruktioner

Här beskrivs flera olika förslag på fördjupningsområden. För instruktioner om vilka och hur många du bör välja, se avsnittet betygskriterier.

Betygskriterier

Här beskrivs kriterier för det olika betygsstegen. Tänk på att det inte bara är kvantitativa skillnader mellan nivåerna utan även kvalitativa.

Det finns även ett exempelprojekt att hämta (baserat på swing) här och readme-fil här , projektet är tänkt att motsvara de kvalitativa kraven för betyg 5, så för lägre ställs inte riktigt samma krav på kodkvalité. (Prova att skriva "Hej" resp "Hejsan".)

Betyg 3

Du skall på ett i huvudsak korrekt sätt implementera två interaktionsmönster med hjälp av Android SDK. Med ett enkelt testprogram/applikation redogör du hur man använder er komponent (interaktionsmönster), observera att det ska vara tydlig skillnad mellan er generella komponent och den specifika tillämpningen i testprogrammet. Du väljer själv vilka interaktionsmönster du vill implementera från ui-patterns. De mönster du väljer att implementera ska vara icke-triviala mönster och där du bygger mestadels av UI-komponenterna själv, icke godkända är de finns som en färdig komponent i Android. Är du osäker om något mönster är för trivialt kolla med kursansvarig (Anders). För varje interaktionsmönster ska du tillhanda tillräckligt med data så att det är möjligt att visa hur mönstret är tänkt att fungera. Använd de design-mönster du anser vara lämpliga för att lösa uppgiften. Din kod skall vara effektiv nog för att implementationen skall kunna användas. Koden ska följa gängse konventioner och vara godtagbart kommenterad med javadoc.

Val av interaktionsmönster De flesta mönster går att välja, det viktiga är att ni står för implementation själva. Det vill säga ni kan välja att Module Tabs, men då får ni inta använda Androids TabHost för att lösa uppgiften. Tänk efter när ni bygger komponenten vad kan en annan programmerare vilja anpassa efter sina behov, kolla på hur andorid bygger upp sina mer komplexa komponenter (List/ExpandableListView), (Default modeller/adpater, Rendrerare för att beskriva utseende, anpassa algoritmer osv). Nedan kommer finns några exempel på mönster som har varit ganska vanliga historiskt sett i kursen. (samt vissa punkter vad ni kan tänka på)

  • Password Strength Meter
    • Hur byter man ut algoritmen för att avgöra hur startkt ett lösenord är
    • Hur kan jag välja att visualisera styrkan av ett lösenord
  • Carousel
    • Hur många element ska visas samtidigt
    • Hur ska varje element visas, går det att byta ut
  • Inplace Editor
    • Vilka element är editerbara, hur visas det
    • Kan du byta ut hur element editeras
  • Shopping cart
    • Hur ser kundvagnen ut
    • Finns det olika vyer av kundvagnen(liten, kompakt, full), hur ser dom ut
  • Input feedback (se Password Strength Meter)
  • Account Registration
    • Vilken data ska finns om ett konto (och vilka data-typer)
    • Vilka fält ska vara obligatoriska
  • Steps Left
    • Hur kan jag namnge steg
    • Hur kopplar jag information till varje steg (vad ska synas vid steg 2)

Betyg 4:

För betyg 4 gäller att du gör allt som gäller för betyg 3 samt att du gör en av följande uppgifter:

  • JavaFx uppgiften (se nedan)
  • UI Testiing för en av dina Komponenter (se nedan)

Betyg 5:

För betyg 5 gäller att du gör allt som gäller för betyg 3 samt att du gör både :

  • JavaFx uppgiften (se nedan)
  • UI Testiing för en av dina Komponenter (se nedan)

JavaFx

Du implementerar en enkel bildvisare i JavaFx. Applikationen ska ha stöd för att kunna rotera och skala bilder. Du ska använda dig av fxml formatet för att bygga upp ditt GUI.
Din kod ska vara genomtänkt och effektiv. Det är upp till dig att förklara varför din lösning är tillräckligt bra. Koden skall följa gängse konventioner och vara korrekt kommenterad med javadoc.

UI Testing

Du utför UI testning av en av dina komponenter du har implementerat. Du ska använda dig av rekomenderade testnings verktyg/ramverk för android (UI-Testing). Dina tester behöver inte vara heltäckande men du ska visa förståelse hur man bedriver tester för grännsitt

Projektredovisning

Redovisa varje komponent/mönster du har implementerat i en .jar-fil, eller annan lämplig paketering, tillsammans med ett litet test-program där du redovisar hur man använder din komponent/mönster, samt lämna in ev. skriftlig redogörelse, till din assistent. Examination: När du är godkänd av din assistent på de moment du gjort i projektet så kommer det ske en muntlig examination. Tidpunkter för den muntliga examinationen kommer att planeras att ligga i slutet av kursen. Är du klar tidigt finns det möjlighet att i mån av tid examineras tidigare i kursen. Syftet med den muntliga examinationen är att säkerställa att du verkligen producerat arbetet och tagit till dig den kunskap som vi förväntar oss.

Sidansvarig: Anders Fröberg
Senast uppdaterad: 2014-11-18