Göm menyn

TDDD83 Kandidatprojekt datateknik

Utvecklingsprojekt


Utvecklingsprojektet är en stor del av kandidatarbetet som som är ett ingengörsvetenskapligt arbete och genomförs i grupp om ca 8 studenter. I kandidatarbetet ska en kandidatrapport skrivas av gruppen. Kandidatrapporten kommer att utgå ifrån utvecklingsprojektet vars syfte att kunna besvara frågeställningen i kandidatrapporten. Teorin som presenteras i kandidatrapporten implementeras i utvecklingsprojektet och utvärderas för att kunna besvara frågeställningen. Detta innebär att teorin ska omvandlas till konkreta och spårbara systemkrav för utvecklingsprojektet. En utvärdering ska också göras för att undersöka frågeställningen. Utifrån utvärderingens resultat ska slutsatser dras som besvarar frågeställningen. Som en del av kandidatrapporten ska en marknadsföringsplan tas fram. Marknadsföringsplanen handlar om att undersöka om och hur systemet har en ekonomisk möjlighet och ska användas som underlag för inriktning av utvecklingsprojektet och påverka systemkrav och prioriteringar i utvecklingsprojektet. I figuren nedan visas kopplingen mellan kandidatrapporten och utvecklingsprojektet.


Utvecklingsprojektet kommer att ge praktisk erfarenhet av mjukvaruutvecklingsprojekt och en möjlighet att använda de verktyg och tekniker som kursen tillhandahåller. Notera också att utvecklingsprojektet ska vara ett kandidatarbete, d.v.s. tillämpa de kunskaper som förvärvats genom tidigare kurser i utbildningen. Varje studentgrupp ska jobba med ett utvecklingsprojekt som innefattar utveckling av ett webbaserat affärssystem (s.k. en webbapplikation): exempelvis en e-butik.

Utvecklingsprojektet ska vara agilt och Scrum metodiken ska tillämpas. För godkänt utvecklingsprojekt ska följande principer, tekniker och metoder tillämpas aktivt:

  • Användarberättelser (user stories)
  • Refaktorering
  • Scrumaktiviteter - sprintplaneringsmöte, daligt scrummöte (eller nästan dagligen), sprintgranskning, sprintåterblick
  • Sprint artefakter - produktbacklogg och sprintbacklogg och till det ska Trello användas
  • Helt team
  • Utvecklingsprojektet versionshanteras i Gitlab och varje grupp ska lägga till assisstenten som håller i teknisk support enligt schemat i TimeEidte i Gitlab projektet som reporter.

    Webbapplikationen ska ha en viss funktionalitet. Det är viktigt att fokusera på att leverera värde till kunden/användaren och därför ska funktionaliteten grundas i resultaten från marknadsföringsplanen. Det är bättre att fokusera på att utveckla en delmängd av systemet med full funktionalitet än många olika delar med begränsad funktionalitet. I början av projektet är det svårt att uppskatta hur lång tid utvecklingen kommer att ta och det är ganska vanligt att det finns behov för omplanering.

     

    En webbapplikation

    Webbapplikationen som tas fram i utvecklingsprojektet kan vara en e-butik. Varje grupp ska definiera egna projektförslag. En kort beskrivning av webbapplikationen ska meddelas till handledaren vid första handledningsmötet under sprint 2 och lämnas in i Lisam tillsammans med frågeställningen (se Kursupplägg under Kursinformation-sidan). Varje webbapplikation ska ha både funktionella och tekniska krav. Dessa krav kommer att ingå i produktbackloggen och user stories ska tas fram. Gruppen tar fram kraven till webbapplikation och utöver webbapplikations specifika krav ska kraven nedan inkluderas.

    Funktionella krav:

    Varje webbaserat affärssystem ska vara ett fungerande system som definieras av relevanta funktionella krav som möter dess kund- och marknadsbehov. De funktionella kraven ska identifieras av gruppen utifrån visionen för affärssystemet. Varje butik ska ha grundläggande funktionalitet bland annat:

    • Visning av innehåll på ett för kunden/användaren relevant sätt (t.ex. produkter/tjänster i en e-shop) .
    • Insamling av relevant data t.ex. om kunder/användare, genomförda aktiviteter, statistik (t.ex. genomförda köp för att skapa professionell hantering av reklmationer)
    • En utvecklad och professionell betalprocess med relevanta steg (t.ex. beställning, konfirmering, betalning av produkter/tjänster i en e-butik) simulerad eller realiserad med t.ex. Stripe eller PayPals utvecklar-sandlådor för testning. För PayPal rekommenderas Basic Express Checkout, eftersom många andra integreringar inte fungerar i Sverige eller utan premiumkonto.
    • Möjlighet för användaren (kund och leverantör) att återgå till gamla händelse i systemet (t.ex. orderhistorik för att kunna genomföra en reklamation).
    • Om webbapplikationen ska editeras av en adminstratör då ska online-editeringsvy för behöriga adminstratörer finnas.

    Tekniska krav

    Följande tekniska krav ska gälla:

    • Relevant optimering av laddningstider och nätverksprestanda.
    • Webbapplikationen ska byggas med huvudsaklingen Bootstrap, jQuery (JavaScript), och Python, Flask.
    • Data i webbapplikationen ska lagras i en databas.
    • Utvecklingsprojektet ska fungera som en webbapplikation vilket innebär att så fort man gör ett anrop då ska bara det som är skillnaden (extra informationen/datat) hämtas (och inte en hel webbsida) och presenteras på webbsidan.
    • Utvecklingsprojektet ska bestå av en back-end och en front-end som endast kommunicerar med JSON.
    • Om webbapplikationen ska användas på olika enheter så ska den anpassas med avseende på skärmstorlekar. Designval för mobil och desktop (ev. även TV-stora). Bootstrap är byggt för responsiv design (som detta kallas) men designval ska göras för projektet och lämpliga komponenter/lämplig design väljas.
    • Webbapplikationen ska versionhanteras på gitlab.liu.se

    Ytterligare relevant tekniskt funktionalitet

    • Shipping - automatisk hantering av frakt för UPS, DHL osv med t.ex. ... EasyPost och Shippo som båda har Python-APIer
    • Skattehantering med t.ex. Taxamo

     

     

     

     


    Sidansvarig: Adrian Pop
    Senast uppdaterad: 2024-03-07