Skip to content

Opdrachtomschrijving

Inleiding

Je bent gezellig een dagje met je vrienden op pad in Amsterdam. Jullie starten met een obstacle run aan de Zuidas in Amsterdam onder de bezielende leiding van niemand minder dan Gerard Joling! Enthousiast en vol energie wandelen jullie daarna naar het centrum voor een uitgebreide lunch bij de Breakfast Club. Omdat jullie de lunchkaart geplunderd hebben moet er natuurlijk ook uitgebuikt worden. Dat doen jullie in Tuschinski tijdens de laatste blockbuster. Na het bezoek aan de bioscoop besluiten jullie wat te gaan drinken bij SkyLounge Amsterdam; de meest unieke rooftop bar in de weide omgeving. Nog onder de indruk van het unieke uitzicht over Amsterdam gaan jullie eten bij Loetje Centraal. Heel veel tijd om uitgebreid te tafelen is er niet, want een van jullie heeft bedacht om de Duke of Tokyo aan te doen, een karaokebar in de Reguliersdwarsstraat. Rond middernacht verlaten jullie moe en schor van het zingen de Duke en besluiten jullie huiswaarts te keren. Al lopend naar het station merkt een van jullie terloops op dat de kosten van deze dag nog verdeeld moeten worden…

En daar begint de ellende, want wie heeft nu wat betaald? En hoe worden de totale kosten verrekend? Gelukkig heb je een briljant idee om dit in de toekomst te voorkomen…

Wat je gaat maken

Tijdens dit eerste blok leer je hoe je een zogenaamde ‘webapplicatie’ maakt. Je leert een website te maken waarop je niet alleen iets kunt bekijken (zoals tekst, filmpjes of afbeeldingen), maar ook hoe je die website kunt gebruiken om een doel te bereiken. En dat doel is in dit geval het verdelen van de kosten van een gezamenlijk uitje. Zo’n hulpmiddel om een bepaald doel te bereiken noemen we een ‘toepassing’. En binnen de ICT praten we dan over een ‘applicatie’ (tegenwoordig vaak weer afgekort tot: App). De term ‘webapplicatie’ geeft aan dat je deze toepassing m.b.v. een webbrowser (zoals bijv. Chrome) via het internet kunt gebruiken. Een webbrowser heeft om een website te laten zien HTML en CSS nodig. Dus ga je ook leren hoe je een webpagina vormgeeft m.b.v. deze opmaaktalen.

Omdat de webapplicatie die je gaat bouwen ook gegevens (dat noemen we ‘data’) nodig heeft om zijn werk te kunnen doen, ga je ook leren hoe je data kunt vastleggen en bewaren.

Maar de applicatie moet ook wat doen met die data, bijvoorbeeld uitrekenen wat de totale kosten van een uitje zijn en een overzicht maken van wie er wat moet betalen. Om de applicatie dit soort dingen te kunnen laten doen (instructies) gebruiken we een programmeertaal. De programmeertaal die je hiervoor gaat gebruiken heet TypeScript, een programmeertaal speciaal ontwikkeld voor het bouwen van webapplicaties.

Je gaat dus ook leren om te programmeren in TypeScript. Dat klinkt misschien ingewikkeld, een nieuwe taal leren, maar wat je vooral eerst gaat leren zijn de basisprincipes (je zou kunnen zeggen ‘grammatica’) van een programmeertaal. En met die principes kun je later in meerdere talen programmeren. Om een webapplicatie te maken en uit te proberen (testen), dus de opmaak van de webpagina’s (HTML/CSS) en de toepassingsmogelijkheden erachter, dat noemen we vaak ‘functionaliteit’ (ofwel het programma), gaan we een hulpmiddel (‘IDE’, zoek maar eens op) gebruiken.

Learning stories

Tijdens het project werk je aan zogeheten learning stories. Daarin staan de te leren vaardigheden en competenties binnen dit project. Deze learning stories ga je zelf in je persoonlijke Learning Journey Gitlab-repository zetten.

User stories

Voor de opdracht zijn door de product owner user stories opgesteld. Deze user stories vind je in de Gitlab-repository als issue met het label user story. De user stories ga je gebruiken om de webapplicatie te bouwen. De set met user stories is nog niet compleet: het is aan jou om na te denken over wat de applicatie nog meer moet kunnen dan nu beschreven in de user stories.

Maar wat is een user story eigenlijk? Op scrumguide.nl vind je de volgende definitie:

“Een User Story is een korte beschrijving (Story) van wat een gebruiker (User) wil. User Stories worden gebruikt bij het ontwikkelen van producten of software binnen Agile raamwerken, waaronder Scrum. Een User Story bestaat uit enkele zinnen waarin staat wat de gebruiker van het product moet / wil doen. Een User Story is eigenlijk weinig gedetailleerd en zou moeten kunnen passen op een post-it. Via de User Story heeft de gebruiker invloed op het ontwikkelen van een systeem of product en uiteindelijk de functionaliteit ervan.”

Een user story noteer je volgens een vast format:

Als … (soort gebruiker) wil ik … (feature/actie), zodat … (doel/voordeel).

Een voorbeeld van een user story:

“Als gamer wil ik met mijn ruimteschip kunnen schieten als ik op de spatiebalk druk, zodat ik vijandige aliens kan uitschakelen.”

De product backlog van deze opdracht

Omdat we werken volgens Scrum staan de user stories op een zogenaamde product backlog. De product backlog vind je in de Gitlab-repository van je project onder Plan > Issues > Boards en selecteer vervolgens <Product Backlog> in de dropdown. Je bouwt user stories om de learning stories te kunnen voltooien.

Sprints

Je werkt in zogeheten sprints. Tijdens een sprint selecteer je de user stories van de product backlog die je denkt te kunnen gaan realiseren in 2 of 3 weken (de duur van een sprint in deze opdracht). Zie hiervoor wederom de pagina Issues. In totaal zijn er 3 sprints. Aan het einde van een sprint moet er altijd een bruikbaar product zijn voor de eindgebruiker. User stories die niet af zijn gaan door naar de volgende sprint. Test een user story dus goed voordat je deze op done zet!

Wanneer is Dokkie klaar?

Voor het bouwen van deze opdracht heb je een aantal sprints de tijd. Tijdens deze sprints werk je aan learning - en user stories en krijg je feedback van verschillende docenten op je voortgang, het product dat je bouwt en je gedrag. Uit deze feedback kunnen eventueel weer nieuwe user stories onstaan. Dokkie is dus eigenlijk nooit af.

Lesmateriaal

In de learning stories wordt er verwezen naar de HBO-ICT Knowledgebase. Dit is een centrale kennisbank van de HvA waar je over alle onderwerpen die je tegenkomt in je studie informatie kunt vinden. Je bent zelf verantwoordelijk om goede aanvullende informatie te vinden waarmee je de learning stories kan voltooien. Hier krijg je ook feedback op.

Daarnaast kun je gebruik maken van de onderstaande videoserie:

Opzetten van je ontwikkelomgeving