4.5 Kravspesifikasjon 4.5.1 Funksjonalitet og systembeskrivelse Webapplikasjonen har tre overordnede funksjoner; Opprett Spotify arrangement, Opprett SoundCloud arrangement og Bli med på arrangement. Brukere(kalt vert) som vil bruke sin enhet til avspilling av musikk i et arrangement velger å opprette et arrangement enten ved bruk av Spotify (krever Spotify konto) eller SoundCloud. En unik kode vil så bli generert som kan gis ut til gjester. Brukere(kalt gjester) som ønsker å komme med sangøngsker/stemme på sanger, velger Bli med på arrangement ved hjelp av denne koden. Når en bruker er inne på et arrangement, enten som vert eller gjest, vil bruker kunne søke og legge til sanger, samt stemme opp sangønsker for å endre rekkefølgen i spillekøen. En vert har også ekstra rettigheter/funksjoner. Applikasjonen skal være webbasert. Hele applikasjonen skal fungere på laptop/stasjonær datamaskin, mens det å bli med på et arrangement skal fungere optimalt på mobil/nettbrett i tillegg. Systemet skal sørge for en demokratisk tilnærming til musikkvalg på arrangementer. Følgende funksjonalitet skal sørge for dette: - Opprette Spotify arrangement - Logg inn via Spotify - Generer kode - Søk og legg til sanger - Stem opp sanger - Hopp over sanger - Fjern sanger fra kølisten - Restart spilleliste (tøm spilleliste) - Slå av/på stemmemuligheter - Opprette SoundCloud arrangement - Generer kode - Søk og legg til sanger - Stem opp sanger - Hopp over sanger - Fjern sanger fra kølisten 145
- Tillat fjernkontroll av arrangement - Bli med på arrangement - Bli med ved hjelp av unik kode for et arrangement - Søk og legg til sanger - Stem opp sanger 4.5.2 Rammekrav Følgende rammekrav og forutsetninger er satt for systemet: - Applikasjonen vil kreve en bærbar/stasjonær datamaskin for å opprette arrangement - Applikasjonen vil kreve en bærbar/stasjonær datamaskin, smarttelefon eller nettbrett for å bli med på arrangement. - Applikasjonen vil kreve nyere versjoner av nettlesere type Google Chrome(versjon 42.0.2311.135 m eller nyere) eller Mozilla Firefox(versjon 37.0.2 eller nyere). - Applikasjonen vil kreve internett for å fungere. - Applikasjonen vil kreve en Spotify konto for opprette et Spotify arrangement - Applikasjonen vil kreve en Spotify klient for å spille av musikk etter å ha opprettet et Spotify arrangement 4.5.3 Verktøy og programmeringsspråk som skal tas i bruk Verktøy: - Git og Github Versjonskontroll - Sublime Text Teksteditor - Jira Agile Scrum - Dropbox Dokumenthåndtering - Google Docs Dokumentasjon - Microsoft Lync Kommunikasjon med Accenture Programmeringsspråk / teknologier: - HTML 5 - CSS3 - JavaScript - Angular JS - Node JS - Express JS 146
- MongoDB 4.5.4 Krav fra oppdragsgiver HTML5 og CSS3 var et krav fra oppdragsgiver, mens Node JS var anbefalt. Oppdragsgiver krevde også at prosjektet ble gjennomført med Scrum-metodikk, med mindre det var gode argumenter for å bruke noe annet. 4.5.5 Funksjonelle krav Under følger de funksjonelle kravene for webapplikasjonen. # Krav Prioritet Kommentar 1 En bruker skal kunne opprette Spotify arrangement. En bruker må opprette Spotify arrangement for å spille av musikk fra Spotify. 2 En bruker skal kunne opprette SoundCloud arrangement. En bruker må opprette SoundCloud arrangement for å spille av musikk fra SoundCloud. 3 En bruker skal kunne logge seg inn via Spotify. Applikasjonen trenger rettigheter fra bruker for å opprette Spotify spilleliste på brukerens konto. 4 En bruker skal kunne logge seg på et arrangement. Ved bruk av kode som genereres når et arrangement opprettes, skal brukere kunne logge seg på dette arrangementet. 5 En bruker skal kunne søke etter Både vert og gjest skal kunne søke etter sanger og legge de 147
og legge til sanger i spillekø. til i spillekøen. 6 En bruker skal kunne stemme opp sanger. Både vert og gjest skal kunne gi en stemme til sanger som ligger i spillekøen. Sangen med flest stemmer vil alltid ligge øverst i køen. 7 En bruker skal ha oversikt over spillekøen. Både vert og gjest skal kunne se sanger som ligger i spillekøen og hvor mange stemmer hver sang har. 8 En bruker skal kunne slå av og på mulighetene for å stemme på sanger. kunne slå av mulighetene for å stemme hvis det er ønskelig at sanger blir spilt av i rekkefølgen som de blir lagt til. 9 En bruker skal kunne hoppe til neste sang. kunne velge å hoppe til neste sang i spillekøen. 10 En bruker skal kunne fjerne sanger fra spillekøen. kunne fjerne sanger fra spillekøen. 11 En bruker skal kunne restarte spillelisten i et Spotify arrangement. Vert for et Spotify arrangement skal kunne tømme sangene fra en spilleliste. Dette er nyttig i 148
tilfeller hvor bruker fortsatt er innlogget på siden men vil starte en ny spilleliste. 12 En bruker skal kunne få frem en visningsside. kunne få frem en visningsside, om det er ønskelig med en skjerm i lokalet som kun viser arrangementinfo uten unødvendige elementer. 13 En bruker skal kunne tillate fjernkontroll av et SoundCloud arrangement. Lav Vert for et SoundCloud arrangement kan velge å tillate fjernkontroll av arrangementet. 14 En bruker skal kunne få fjernkontroll på et SoundCloud arrangement. Lav En gjest på et SoundCloud arrangementet skal kunne få en unik kode av vert som gir brukeren alle rettigheter verten har. 4.5.6 Ikke-funksjonelle krav Under følger de ikke-funksjonelle kravene for webapplikasjonen. # Krav Prioritet Kommentar 1 Applikasjonen skal utvikles som en webapplikasjon. For at så mange som mulig skal kunne bruke den. 149
2 Applikasjonen skal være rask. Oppdateringer av spillekø og stemmer skal skje i realtime. 3 Design skal være enkelt og intuitivt. For å ha best mulig brukervennlighet skal det fokuseres på ryddig design med essensielle funksjoner i fokus. 4 Applikasjonen skal være grundig testet. For å få en så feilfri applikasjon som mulig skal det utføres flere forskjellige typer tester over hele systemet. 5 Applikasjonen skal være sikker å bruke. 6 Applikasjonen skal fungere optimalt i de største nettleserene, hovedsaklig Google Chrome og Mozilla Firefox. 7 Applikasjonen skal ha responsivt web design. Viktig at det blir bra design på Join Event siden for mobile enheter. 8 Applikasjonen skal være universelt utformet. Alle enkle tiltak for å gjøre nettsiden universlt utformet skal gjøres. 150