Vedlegg: IT1901 Informatikk Prosjektarbeid I. Sheep Locator

Like dokumenter
Kandidat nr. 1, 2 og 3

Testrapport. Studentevalueringssystem

HTML5. Skjemaer på nettsider. Skjemaer med. Informasjonsteknologi 1 og 2. Gløer Olav Langslet Sandvika VGS

Brukermanual. Firmachat

Brukerveiledning WordPress. Innlogging:

KONTROLL INSIDE MSOLUTION

En enkel lærerveiledning

Eventhandler Teknologi, kunst og design Høgskolen i Oslo og Akershus, våren Testrapport

Vanlige spørsmål. GallupPanelet. TNS Panel-app. TNS Juni 2015 v.1.3

Hoved fokus for denne App n:

Produktdokumentasjon. Madison Møbler Administrasjonsside og Nettbutikk

Multi-Faktor Autentisering. Brukerveiledning

System Dokumentasjon. Team2. Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk

TESTRAPPORT - PRODSYS

Brukerveiledning. Madison Møbler Administrasjonsside

Forprosjektrapport. Bachelorprosjekt i informasjonsteknologi ved Høgskolen i Oslo og Akershus, våren Pillbox Punchline

Bachelorprosjekt i informasjonsteknologi, vår 2017

!!!!!!!!!!!! !!!!!!!!!!! WP-WATCHER WORDPRESS SIKKERHET

RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING

Memoz brukerveiledning

Produktrapport Gruppe 9

Brukermanual. Studentevalueringssystem

Generell brukerveiledning for Elevportalen

Oblig 5 Webutvikling. Av Thomas Gitlevaag

BRUKERMANUAL. Deviations and Reporting

Studentdrevet innovasjon

Brukerdokumentasjon Logg inn Ny bruker Hovedmeny Oppdrag Oppdragsgiver... 8

Brukermanual Tail it+ Tail it brukermanual V TAIL IT TECHNOLOGIES Håkon Magnussons gate 8

Brukermanual. Itpays W3 Publish. Sette opp, logge inn og komme i gang. Redigert den 23. mai

CabinWeb BRUKERDOKUMENTASJON ET SYSTEM UTVIKLET AV DELFI DATA

Steg 1: Installasjon. Steg 2: Installasjon av programvare. ved nettverkstilkoblingen på baksiden av kameraet. Kameraet vil rotere og tilte automatisk.

Lærebok. Opplæring i CuraGuard. CuraGuard Opplæringsbok, - utviklet av SeniorSaken -

ProMed. Brukermanual for installasjon og bruk av mobiltelefon eller SMS og nett for sending av SMS direkte fra. for Windows

Brukerveiledning for For å opprette en ny bruker vennligst send en epost til

Kort brukerveiledning om fjerntilgangsløsningen

HR analysen. Ny versjon Brukermal. Administratorer

KRAVSPESIFIKASJON. Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni.

Kravspesifikasjon. Forord

Entobutikk 3.TESTRAPPORT VÅR 2011

Vedlegg Side 83 av 155

Utvikle en prototype for en digital versjon av helsekort for gravide. Programvareleverandør av ehelse-løsninger for helsevesenet

Innholdsliste Installasjon og oppsett. Registrering. Innstillinger

Molde Seilforening. Retningslinjer/Bruksanvisning for oppdatering av hjemmeside. Versjon GIR

Vedlegg LMC intranett

Prosjektlogg Samfunnet Bislet (Gr. 44)

Testrapport. Aker Surveillance. Gruppe 26. Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo, Public 2013 Aker Solutions Page 1 of 5

Introduksjon til Min Sky -

Brukerveiledning e-postsystem

Testdokumentasjon. Gruppe 9

4.1. Kravspesifikasjon

Brukerveiledning for Vesuv

Hvordan logger man på. Hovedmenyen. For å ta i bruk Kronos Mobile

Novapoint GO Navigering og oppfølging på anlegg. Geir Andersen. Jarle Dawes og Heidi Berg

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

Forprosjekt. Oppgdragsgiver Unikia, Lille grensen 7, 0159 Oslo, Kontaktperson Anders Kose Nervold,

Forprosjekt. Accenture Rune Waage,

Testrapport Prosjekt nr Det Norske Veritas

WP-WATCHER WORDPRESS SIKKERHET

Lotus Traveler - Manual for installasjon

Versjon.0 IKT- Inntrøndelag Elektronisk verktøy for utforming og samarbeid omkring Individuell Plan

Software Development Plan. Software Development Plan. Forum / Nettverkssamfunn Team 2

Kunden er en av Norges ledende leverandører av digital-tv og bredbåndstjenester.

STATUSRAPPORT 3: Produksjon av nettside for Skjerdingen Høyfjellshotell.

Ofte stilte spørsmål

Forprosjektrapport for bacheloroppgave i data og informasjonsteknologi

1. Hent NotaPlan Online Backup på 2. Trykk på Download i menyen og på Download i linjen med Notaplan Backup

En liten oppskrift på hvordan jeg installert og fikk Xastir til å virke sånn at jeg ble synlig i APRS verden.

Manual - Susoft Android og varetelling

BRUKERMANUAL. App for Beha smartovn

NETTSIDEKURS. NORILCO -Norsk forening for personer med stomi, reservoar og mage-/tarmkreft.

DinVikar - Bruker Manual

Denne rapporten er beregnet for dataansvarlig på Grefsenhjemmet, den som skal installere, vedlikeholde og modifisere systemet.

Til IT-ansvarlige på skolen

Kontroll Inside/Msolution V.3. KONTROLL INSIDE Android

Kravspesifikasjon

Timeregistrering I Agresso. Brukerveiledning (Verson 1.0 PML)

Artist webside. Gruppe medlemmer Joakim Kartveit. Oppdragsgiver Tetriz Event & Management. Frode Mathiesen. Gry Anita Nilsen.

Vedlegg Brukertester INNHOLDFORTEGNELSE

E-postguide For Windows Phone 8

Forprosjekt gruppe 13

Argus Web-App. Håndboken på web. Enkelt og intelligent!

Gruppe Forprosjekt. Gruppe 15

Testdokumentasjon. Testdokumentasjon Side 1

Stikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client.

PBL Barnehageweb. Brukerveiledning

Brukerdokumentasjon for Administrator og andre brukere fra PT

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

Hvor og hvordan lagrer du mediafilene dine?

For bruk med applikasjoner som benytter QR-kode-skanner/-leser

WINDOWS 10 OPPDATERING HØSTEN 2018 (VERSJON 18.09) HVA ER NYTT?

Use Case Modeller. Administrator og standardbruker

Hovedprosjekt 2014, Høgskolen i Oslo og Akershus

Samarbeidsløsning for FHS, Teknisk info

Brukerveiledning. KundeWeb. CMS Customer Management System. Versjon

KF Lokal personalhåndbok - brukerveiledning for redaktør

Brukerveiledning for programmet HHR Animalia

Brukerveiledning Custodis Backup Basic Epost:

Hurtigstartveiledning

Transkript:

Vedlegg: IT1901 Informatikk Prosjektarbeid I Sheep Locator Gruppe 6 20. november 2013 Thomas Gautvedt Aina Elisabeth Thunestveit Jostein Granli Geir Forslund Roar Gjøvaag

Innhold 1 Kundens kravspesifikasjon 1 2 Use case 3 2.1 Use case diagram......................................... 3 2.2 Use case tekst........................................... 4 2.2.1 Vis kart.......................................... 4 2.2.2 Se på logger........................................ 4 2.2.3 Registrere sauer..................................... 4 2.2.4 Redigere info om sau................................... 5 2.2.5 Beskjed om under angrep................................ 5 3 Møtereferat 6 4 Mockups 8 5 Diagram 13 5.1 Klassediagram.......................................... 13 5.2 Databasediagram......................................... 14 5.3 Sekvensdiagram.......................................... 15 5.4 Work breakdown structure.................................... 18 6 Risikonalayse 19 7 Backlog 20 8 Sprint og Burndownchart 22 9 Gantt-diagram 29 10 Testing 30 10.1 Funksjonalitetstest........................................ 30 10.2 Negativitets test......................................... 34 10.3 Brukertest............................................. 35 10.4 SUS-skjema............................................ 38 11 Videreutvikling 39 I 40

1 Kundens kravspesifikasjon Innledning Dere jobber som programutviklere i et programvareselskap som blir kontaktet av en bonde (sauebonde) som ønsker hjelp til å utvikle et system for å registrere og administrere sauene sine. Dere får i oppdrag å komme med forslag og utvikle et slikt system basert på analyse deres prosjektgruppe har gjort. Eksempler på bruksområder for systemet 1. En bonde skal kunne registrere sine sauer med id, vekt o.l. Dersom en sau er registrert fra før skal det kunne gå an å slå opp i systemet og redigere informasjonen. 2. Det skal lagres helseinformasjon, identifikasjon til sauen (navn, alder o.l.), geografisk lokasjon o.s.v. 3. Bonden skal kunne sjekke på et kart hvor sauen sist var registrert. 4. Bonden skal få beskjed om en sau er under angrep. 5. Bonden skal kunne gå tilbake i tid og se på logger. Krav Input: Input om lokalisering av de enkelte sauer kommer inn normalfordelt over et døgn. Bonden logger seg på systemet med brukernavn og passord. Forespørsler: Responstid på forespørsler fra bønder skal maksimalt ta 2 sekunder. Responstid på innleggelse av lokaliseringsinformasjon om en sau skal maksimalt ta 0,5 sekund. Dimensjonering: Hver sau rapporterer sin lokalisering 3 ganger per døgn. Hver bonde forespør lokaliseringsinformasjon om sine sauer 2 ganger i døgnet. Alarmer: Innkommende alarm fra en sau gis prioritet. Alarmmeldinger sendes bonden og en han har valgt ut (reserve) i tillegg. Alarmmelding sendes ut som epost, SMS, og mobiltelefon forsøkes ringt opp. Dimensjonering: Maksimalt 200 bønder skal samtidig kunne bruke systemet. Maksimalt 10000 sauer kan håndteres av systemet. Feilsituasjoner: Ved systemfeil tillates systemet å være utilgjengelig i inntil 3 timer. Systemet skal ha en tilgjengelighet på minimum 95 % av tiden. Systemet skal være operativt døgnkontinuerlig. 1 40

Implementasjon: Systemet implementeres som klient / tjenersystem. 2 40

2 Use case 2.1 Use case diagram Legg til sau Vis kart Rediger bruker Rediger varsling Bonde/Kunde Les logg Vis sau Vis liste Slett sau Rediger sau Varsle angrep System Sende GPS- info Sau Sende under angrep 3 40

2.2 Use case tekst 2.2.1 Vis kart Betingelser: Bruker er logget inn Brukeren befinner seg i hjemmenyen Hovedsekvens: 1. Bruker velger Vis kart i hjemmenyen 2. Systemet henter de siste posisjonene til sauene 3. Systemet plotter og viser kartet Utvidelser:: 2a Ikke kontakt med database.1 Systemet gir en feilmelding, ber bruker prøve igjen om litt.2 Systemet returnerer til hjemmeny Alternativ rute: Bruker velger Vis liste Bruker velger sau Bruker velger Vis kart Systemet henter kart der den siste posisjonen til sauene er plottet, den valgte sauen viser med annen farge på markøren Systemet viser kartet 2.2.2 Se på logger Betingelser: Bruker er logget inn Brukeren befinner seg i hjemmenyen Hovedsekvens: 1. Bruker velger Les logger 2. Systemet henter logg Utvidelser: 2a Ikke kontakt med database.1 Systemet gir en feilmelding, ber bruker prøve igjen om litt.2 Systemet returnerer til hjemmeny 2.2.3 Registrere sauer Betingelser: Bruker er logget inn Brukeren befinner seg i hjemmenyen Hovedsekvens: 4 40

1. Brukeren velger Legg til sau 2. Brukeren legger inn informasjon om sau og trykker Lagre 3. Systemet legger sauen til i databasen, viser en bekreftelse på at sauen er lagt til 4. Systemet returnerer til hjemmenyen Utvidelser: 3a En sau med same detaljer er allerede registrert.1 Systemet gir en feilmelding.2 Bruker repeterer steg 1 og 2 3b Ikke kontakt med database.1 Systemet gir en feilmelding, ber bruker prøve igjen om litt.2 Systemet returnerer til hjemmeny 2.2.4 Redigere info om sau Betingelser: Bruker er logget inn Brukeren befinner seg i hjemmenyen Hovedsekvens: 1. Bruker velger vis liste i hjemmeny 2. Bruker finner den aktuelle sauen i lista 3. Bruker velger Rediger sau 4. Bruker endrer informasjon og trykker Lagre endring 5. Systemet endrer infoen til sauen i databasen, viser en bekreftelse på at endringen er lagt til 6. Systemet returnerer til listen Utvidelser:: 5a Endring ikke registrert.1 Systemet gir en feilmelding.2 Bruker repeterer steg 1 og 2 5b Ikke kontakt med database.1 Systemet gir en feilmelding, ber bruker prøve igjen om litt.2 Systemet returnerer til hjemmeny 2.2.5 Beskjed om under angrep Hovedsekvens: 1. Brikke i sau sender beskjed om angrep 2. Systemet mottar beskjed om angrep 3. Systemet sender varsel om angrep til bruker 4. Bruker mottar beskjed om angrep 5 40

3 Møtereferat Møtereferat Dato 23 29 september 2013 Tilstede Referent Geir Forslund, Aina Elisabeth Thunestveit, Thomas Gautvedt Jostein Granli, Roar Gjøvaag, Roar Gjøvaag Agenda/Sprint 1. Godkjenning av forrige referat 2. Status Sprint/Applikasjon 3. Arbeide/Godkjenne med punktliste for Gantt diagrammet 4. Plan for uken. Saker Sak Beskrivelse Forfall/Ansvarli g 1. Komplimentere punktlisten for gantt diagramet 26.sept/Alle 2. Korrigere for Sprint 1 og Sprint 2 Sprint1: Spesifisering av oppgave Valg av system arkitektur Use Case diagram Work Breakdown Structure Sette opp Database Risikoanalyse Gantt Sprint2: Backend: Planlegge arkitektur 10 timer Skissering av systemet 10 timer Skissering av klasser for systemet 10 timer Sette opp klassediagram og planlegge nødvendige metoder med mer 10 timer Planlegging av template systemet 5 timer Programmering av skjelettet til systemet 10 n/a 6 40

timer Feilsøking og testing av skjelettet 10 timer Opprydning av skjelettet 5 timer Disse er ferdige. 3. Møtereferat/Logger fra møtene blir ført på ukes basis fra når, grunnetn/a / Roar dette passer bedre med arbeidstrukturen til gruppen og følger Scrum/sprinten bedre. 4. Fyll etter hva som inngår i rapportskriving, med tidsestimat 26.sept/Roar 5. Gjøre ferdig Gantt diagram for gjennomgang tirsdag. 30.sept/Roar 6. Det ble diskutert møtefri i uke 41, grunnet hjemreise og ferie. n/a 7. Onsdag: ble brukt til testing av gantt verktøy og justering av risikovurdering. La til tallverdier i risikoanalysen for å kunne kvantifisere risikoene n/a 8. Meget dårlig oppmøte på Onsdag, og det ble gitt beskjed meget sent eller ikke gitt beskjed. Alle oppfordres til å gi beskjed så snart som mulig ved frafall. ALLE 9. Aina får ikke til å møte på Tirsdager de neste 3 ukene, forslag om å flytte dette til fredag 10. Databasediagram: Skisse for databasediagramet ble ferdigstilt på møtet, Og Aina legger dette inn in digitalt Gjør oss opp en mening om hvordan diagramen og slikt skal legges inn rapporten, slik at alt blir unisont (Burde lages i word) 11. Sprint 3: Planen er å avslutte backend programeringen i denne sprinten, satser på å være ferdig i slutten av uken. Frontend skal også være godt i gang før perioden er over. 1.okt/alle 30.Sept/Aina n/a Se gantt for mer utdypende info. (Se gantt over oppgaves som skal være påbegynt.)

4 Mockups (a) Logg inn (b) Hovedskjerm 8 40

(a) Vis liste (b) Varslinger 9 40

(a) Ny sau (b) Ny bruker 10 40

(a) Fjern bruker (b) Kart 11 40

Figur 1: Se logg 12 40

5 Diagram 5.1 Klassediagram Loader - response + construct + getresponse - setresponsestate - printresponse TemplateFetcher - base - routes + construct + get MapController + construct - find_center # get_map # get_map_highlight ContactController + construct # get_contact # put_contact ChipController + construct - send_mail - put_chip LogController + construct - fetch_logs # get_log # get_log_page Rest # classname # db # response # id # system # user_name # method_url # master_password - path - ignore_no_at + construct - doauth - checktoken - dorequest - getmethodurl # checkrequiredparams # setresponsestate # log + printresponse AuthController + construct - generateaccesstoken # get_auth # put_auth # get_auth_validate UserController + construct # get_user # put_user # put_user_login NotificationController + construct - notifications # get_notification # get_notification_page # get_notification_dropdown # get_notification_num SheepController + construct - find_center # get_sheep # post_sheep # get_sheep_single # delete_sheep_single # put_sheep_single 13 40

5.2 Databasediagram pswd id system user [0,n] id email [0,n] [0,n] pswd belongs to salt access_token name has a [0,n] id id id id system sent [0,n] belongs to [1,1] name contact belongs to [1,1] [0,n] system sent identification chip text sheep_token text name sheep birthday [0,n] is_read weight [0,n] has a [0,n] has a [0,n] vaccine comment alive last_updated id lat system lng sheep 14 40

5.3 Sekvensdiagram Vis sau- rediger - skjerm Klient Server Database Ber om template til skjerm Skjema valideres Vis sau- vis-info - skjerm Returnerer template Sender oppdatert data Returnerer data og kode om feil eller suksess put_sheep oppdaterer data i db Returnerer respons fra databasen Vis sau-leggtil-ny -skjerm Klient Server Database Ber om template til skjerm Skjema validere s Vis sau- vis-info - skjerm Returnerer template Sender data om ny sau Returnerer data og kode om feil eller suksess post_sheep lagrer data i db Returnerer respons fra databasen 15 40

Etterspør sau-vis-info - skjerm Klient Server Database Ber om template og data fra serveren get_sheep henter data fra db Skjema vises Returnerer template og data Returnerer respons fra databasen Klient Server Database Sau Notificationverdi oppdateres Sender notification post_notification lagrer data Sender hendelse

Diagram 1: Rediger sau, Diagram 2: Opprett ny sau, Diagram 3: Vis sau, Diagram 4: Oppdater varsling 17 40

5.4 Work breakdown structure 1.Organisering 2. Planlegging 3. Utvikling 4. TesNng 5. Rapportering 1.1 Møter 2.1 Krav 3.1 Database 4.1 Enhets Test 5.1 Referat/Logg 1.2 Verktøy 2.2 Løsningsmetode 3.2 Backend/API 4.2 System Test 5.2 Midtveis Pres. 1.3 Arbeidsfordeling 2.3 Arkitektur 3.3 Frontend/GUI 4.3 Brukbarhets Test 5.3 Dokumentasjon 2.4 Diagramer 3.4 Simulator 4.4 Stress Test 5.4 Rapport 2.5 Utviklingsplan 4.5 Dimensjonerings Test 5.5 Presantasjon 2.6 Planlegg test/ simulator 18 40

6 Risikonalayse Prioritering (Sannsynlighet * Konsekvens) Forebyggende Risiko Sannsynlighet (1-9) Konsekvens(1-9) (1-9) tiltak Prøve å estimere litt høyt. Møtes Tidsestimering går veldig feil. Større konsekvens ofte, kontinuerlig Prosjektet er mye mer krevende jo senere i status på enn vi først trodde. Veldig høy 7 prosjektet. 9 63 arbeidsoppgaver. Høy, om det er God kontakt og store endringer kommunikasjon og/eller det skjer med Kravspesifikasjon blir endret Middels 5 sent i prosjektet. 7 35 oppdragsgiver. Feil i systemet som vi ikke forstår Middels 5 Høy. 7 35 Fravær (Sykdom, ferie, o.l.) Høy 8 Feiltolking av kravspesifikasjon Middels 4 Om en person er borte, liten effekt. Om tre eller flere er borte, store konsekvenser. 4 32 Middes. Høyere jo viktigere krav vi misforstår. 6 24 Alle i gruppa har ikke aktive arbeidsoppgaver til en hver tid. Skeiv arbeidsfordeling. Middels 4 Middels. 6 24 Dårlig valg av programmeringsspråk. Kommer ikke i mål med prosjektet. Lav 2 Katastrofal 9 18 Uenighet i gruppa Middels 4 Lav 3 12 En eller flere er ikke interessert i å bidra (Skulking) Tekniske problem (T.d server er nede) Lav 2 Lav Middels. Om en person er borte, ikke så stor effekt. Om tre eller flere er borte, 2 katastrofalt 6 12 Kommentere koden godt. Samarbeide og snakke med hverandre og Planlegge. Teambuilding. Sørge for at alle får det med seg når vi har møte. Holde møter på skype, slik at personer som ikke er fysisk til stede kan delta. Kommunikasjon med studass, spørre om alt vi er usikre på. Hyppige møter, der arbeidsoppgaver fra prosjektplanen blir fordelt så likt som mulig. Diskutering og god research rundt ulike språk. La alle få si sin mening og la alle bli hørt. Holde en god stemning i gruppa, teambuilding. Lav, dersom vi har backup. Uten backup, katastrofal. 3 6 Ha backup på alt. Løsning Legge inn ekstra arbeidstimer og hjelpe hverandre. Ha en open løsning som er enklest mulig å tilpasse. Få tak i hjelp, fra t. d studass og andre eksterne. Ved gjentatte hendelser må vi finne ut grunnen til fraværet og prøve å finne en passende løsning. Møte med studdas om nødvendig Kommunikasjon med studass. Refordele arbeid. Ikke velge et språk, ingen kan. Ha demokrati i gruppa. Få kontakt med vedkommende, forstå hva som gjør det. Kontakte studass om situasjonen ikke forbedrer seg. Bruke servere som vi stoler på. Bruke backupen. 19 40

7 Backlog Produktbacklog Sprint 1 Komme i gang med prosjektet Estimert 1 Komme i gang 2 Kravspesifikasjon 4t 3 Diagrammer 15t 4 Risikoanalyse 5t 5 Database 6 Arkitektur 5t 7 Planlegge Database-modeller, struktur og relasjoner(databasediagram) 10t 8 Tabeller 10t 9 Møtereferat og rapportskriving 5t Sprint 2 Backend Estimert 1 Planlegge Systemet 10t 2 Planlegge arkitektur 10t 3 Sette opp Klassediagram 10t 4 Planlegging av templates 5t 5 Porgrammering av skjelett 10t 6 Programmering av metoder 30t 7 Programmering av metoder 10t 8 Møtereferat og rapportskriving 5t Sprint 3 Backend og Frontend Estimert 1 Backend/API 2 Testing av API-metodene 10t 3 Opprydning av API-metodene 4t 4 Tilpassing av API-metodene 10t 5 Template-systemet(programmering, testing) 20t 6 Frontend/APP 7 Planlegge arkitektur 10t 8 Skissere systemet 20t 9 Planlegge oppbyggingen av systemet 10t 10 Skissere midlertidig design og utseende 10t 11 Møtereferat og rapportskriving 5t Sprint 4 Frontend og Javascript Estimert 1 Planlegging/Research av biblioteker å bruke 5t 2 Planlegging/Research av template-enginge å bruke 6t 3 HTML-markup for skjelettet 5t 4 CSS og struktur i JavaScript 10t 5 Tildel stil og utseende på appen 10t 6 Utbygging av JavaScript-klasse for API-kommunikasjon og interaksjon 7 Utbygging av metoder 5t 8 Utbygging av events 5t 9 Animasjoner 5t 10 Utbygging av metoder som har med innlogging og utlogging å gjøre 5t 11 Finpuss av metoder og testing av metoder 10t 12 Møtereferat og rapportskriving 5t Sprint 5 Frontend/APP Estimert 1 Utbygging av templates 30t 20 40

2 Testing av innlogging 5t 3 Testing av forskjellige sider og skjemaer 15t 4 Testing av andre metoder 5t 5 Gjennomgang av farger, layout osv 5t 6 Ferdigstille HTML markup 10t 7 Ferdigstille logikk, metoder og ryddighet 10t 8 Stresstest av systemet 10t 9 Breaktesting av systemet 10t 10 Møtereferat og rapportskriving 5t Sprint 6 Simulator Estimert 1 Planlegging av arkitektur 15t 2 Planlegging av oppbygging og funksjonalitet 15t 3 Utbygging av system 4 Utbygging av skjermer/vinduer 15t 5 Utbygging av metoder 25t 6 Testing av system 15t 7 Møtereferat og rapportskriving 5t Sprint 7 Rapport Estimert 1 Skrive ferdig rapporten 25t 2 Ferdigstille alle vedlegg 15t

8 Sprint og Burndownchart Sprint 1 Gjøremål Estimert Faktisk Ferdig Start dato: 28.08.2013 1 Oppstart 04.09.2013 2 Kravspesifikasjoner 4 3 28.08.2013 3 WBS 4 5 28.08.2013 4 Risikoanalyse 5 4 29.08.2013 5 Gantt 8 10 29.08.2013 6 Database 03.09.2013 7 Avtale Arkitektur 5 4 28.08.2013 8 Planlegge Database-modeller, struktur og relasjoner 10 9 02.09.2013 9 Opprette Tabeller 3 3 02.09.2013 10 Gjennomgang av Tabeller og oppbygging 5 4 02.09.2013 11 Populere tabeller med test data 5 4 03.09.2013 12 Sekvensdiagram 8 8 04.09.2013 13 Møtereferat og rapportskriving 5 3 04.09.2013 Burndown chart: Sprint 1 60 50 40 30 20 10 0 Faktisk Ideel 22 40

Sprint 2 Gjøremål Estimert Faktisk Ferdig Start dato: 09.09.2013 1 Backend/API 20.09.2013 2 Planlegge Arkitektur 10 11 10.09.2013 3 Skissering av Systemet 10 8 11.09.2013 4 Skissering av klasser for systemet 10 8 12.09.2013 5 Sette opp Klassediagram og planlegge nødvendige metoder 10 6 13.09.2013 6 Planlegging av template-systemet 5 5 13.09.2013 7 Porgrammering av skjelettet til systemet 10 10 17.09.2013 8 Feilsøking og testing av skjelettet 10 8 18.09.2013 9 Opprydning av skjelettet 5 5 18.09.2013 10 Programmering av innlogging-/autentifikasjons-metoder 5 6 18.09.2013 11 Programmering av saue- og kart metoder 5 3 19.09.2013 12 Programmering av bruker-metoder 5 5 19.09.2013 13 Programmering av notifikasjons- og logg metoder 5 4 20.09.2013 14 Programmering av resterende metoder 5 4 20.09.2013 15 Møtereferat og rapportskriving 5 6 20.09.2013 120 100 80 60 40 20 0 Burndown chart: Sprint 2 Faktisk Ideel

Sprint 3 Gjøremål Estimert Faktisk Ferdig Startdato: 23.09.2013 1 Backend/API 27.09.2013 2 Testing av API-metodene 10 8 24.09.2013 3 Finpussing av API-metodene 10 9 25.09.2013 4 Opprydning av API-metodene 4 4 25.09.2013 5 Tilpassing av API-metodene 10 8 26.09.2013 6 Programmering av template-systemet 10 11 26.09.2013 7 Testing av template systemet 5 4 27.09.2013 8 Oppryding og finpussing av template-systemet 5 6 27.09.2013 9 Frontend/APP 04.10.2013 10 Planlegge arkitektur 10 8 30.09.2013 11 Skissering av systemet 10 7 01.10.2013 12 Skissering av klasser for systemet og generell oppbygging 10 9 02.10.2013 13 Planlegging av oppbyging av system 10 8 03.10.2013 14 Skissering av midlertidig design og utseende 10 7 04.10.2013 15 Planlegging av midtveisrapport og skrive møtereferat 5 7 04.10.2013 Burndown chart: Sprint 3 100 80 60 40 20 0 Faktisk Ideel

Sprint 4 Gjøremål Estimert Faktisk Ferdig Startdato: 07.10.2013 1 Frontend/APP 18.10.2013 2 Planlegging/Research av biblioteker å bruke 5 3 07.10.2013 3 Planlegging/Research av template-enginge å bruke 6 5 07.10.2013 4 HTML-markup for skjelettet 5 6 07.10.2013 5 CSS og struktur i JavaScript på appen 10 11 08.10.2013 6 Tildel stil og utseende på appen 10 8 09.10.2013 7 Utbygging av JavaScript-klasse for API-kommunikasjon og interaksjon 16.10.2013 8 Utbygging av Ajax-metode 5 5 09.10.2013 9 Utbygging av events og klick/touch i menyer 5 6 09.10.2013 10 Utbygging av events i skjemaer 5 4 10.10.2013 11 Utbygging av events andre steder i appen (notifications, alerts) 5 4 11.10.2013 12 Utbygging av metoder for å behandle feil og invalide session/token 5 7 14.10.2013 13 Finpuss av metoder i denne bolken 10 8 16.10.2013 14 Animasjoner og bytte mellom views 5 8 16.10.2013 15 Utbygging av metoder som har med innlogging og utlogging å gjøre 5 6 16.10.2013 16 Finpuss av metoder som har med animasjon/effekter å gjøre 10 12 17.10.2013 17 Testing av metoder 10 8 18.10.2013 18 Møtereferat og rapportskriving 5 3 18.10.2013 120 100 80 60 40 20 0 Burndown chart: Sprint 4 Faktisk Ideel

Sprint 5 Gjøremål Estimert Faktisk Ferdig Startdato: 21.10.2013 1 Frontend/APP 04.11.2013 2 Utbygging forside-templates 6 7 21.10.2013 3 Utbygging av saue-templates 5 4 21.10.2013 4 Utbygging av former i templates 10 13 22.10.2013 5 Utbygging av resterende templates 10 7 23.10.2013 6 Testing av innlogging 5 6 23.10.2013 7 Testing av forskjellige sider 10 9 24.10.2013 8 Testing av forskjellige skjemaer 10 10 25.10.2013 9 Testing av andre metoder 5 3 25.10.2013 10 Finpuss av events 5 5 25.10.2013 11 Finpuss av innebygde metoder 10 10 28.10.2013 12 Finpuss av utseende 5 7 28.10.2013 13 Detaljert gjennomgang av farger, layout og småpirk 5 4 29.10.2013 14 Finpuss av HTML markup 10 12 29.10.2013 15 Finpuss av logikk, metoder og ryddighet 10 6 31.10.2013 16 Stresstest av systemet 10 8 31.10.2013 17 Brekatesting av systemet 10 7 01.11.2013 18 Eventuell ytelsesforbedring av systemet 10 7 01.11.2013 19 Møtereferat og rapportskriving 5 8 01.11.2013 Burndown chart: Sprint 5 140 120 100 80 60 40 20 0 Faktisk Ideel

sprint 6 Gjøremål Estimert Faktisk Ferdig Startdato: 04.11.2013 1 Simulator 14.11.2013 2 Planlegging av arkitektur 15 12 05.11.2013 3 Planlegging av oppbygging 10 10 05.11.2013 4 Planlegging av nødvendig funksjonalitet 5 3 06.11.2013 5 Utbygging av system 11.11.2013 6 Utbygging av hjemme-skjermen 5 4 06.11.2013 7 Utbygging av "velg gård"-vinduet 5 6 06.11.2013 8 Utbygging av innloggings-vinduet 5 4 06.11.2013 9 Utbygging av Google maps-skjermbilde 10 14 07.11.2013 10 Utbygging av logg-ut metode 5 5 07.11.2013 11 Utbygging av drep-/flytt-sau- metoder 10 9 08.11.2013 12 Finpuss av systemet 10 7 11.11.2013 13 Testing av system 15 16 12.11.2013 14 Møtereferat og rapportskriving 6 7 13.11.2013 Burndown chart: Sprint 6 100 80 60 40 20 0 Faktisk Ideel

sprint 7 Gjøremål Estimert Faktisk Ferdig Startdato: 11.11.2013 1 Ferdigstilling av rapport 19.11.2013 2 Intro 2 2 11.11.2013 3 Prosjekt organisering 6 7 12.11.2013 4 Utviklingsprosess 6 5 13.11.2013 5 Testing 6 5 14.11.2013 6 Arkitektur forklaring 6 4 14.11.2013 7 Server 6 6 15.11.2013 8 Burndown chart 3 4 15.11.2013 9 En ikke-teknisk brukermanual 4 6 15.11.2013 10 Brukertest-evaluering 13 11 18.11.2013 11 Kvalitetssjekk og korrektur 8 6 18.11.2013 12 Ferdigstille vedlegg 8 8 19.11.2013 70 60 50 40 30 20 10 0 Burndown chart: Sprint 7 Faktisk Ideel

9 Gantt-diagram Se vedlagt fil Gantt.png for hele diagrammet. Dette fordi vi ikke fant noen fornuftig måte og dele opp dette diagrammet på der det fremdeles var lesbart og få plass til det i rapporten. Avsnittet om sprint og burndown chart (8) viser også mye av den samme innformasjonen. 29 40

10 Testing 10.1 Funksjonalitetstest Funksjonalitetstest Logg inn skjerm: Test Skriv inn brukernavn som ikke er registret eller feil passord, og trykk på Send Ønsket resultat Feilmelding Skriv inn brukernavn som er registrert og riktig passord, og trykk på Send Programmet starter Hjem skjerm: Test Trykk på Vis alle Trykk på Vis på kart Trykk på Legg til ny Trykk på Rediger bruker Trykk på Rediger varsling Trykk på Les logg Trykk på Logg ut Ønsket resultat Får opp en liste av alle sauer Får opp et kart der alle sauer viser Får opp et skjema der en kan legge til en ny sau Kommer til et skjema der en kan endre bruker og/eller passord Kommer til et skjema der en kan slette brukere eller legge til nye brukere som blir varslet når det kommer notification Kommer til en oversikt over all logging Du blir logget ut av systemet og kommer tilbake til Logg inn skjermen Sau vis alle skjerm: Test Ønsket resultat Trykk på Tilbake Kommer tilbake til Hjem skjermen Trykk på en sau Får opp informasjon om denne sauen 30 40

Sau vis info skjerm: Vei fra hjem skjerm: Sau vis alle trykk på sau Test Trykk på Tilbake Trykk på Vis på kart Trykk på Rediger Trykk på Slett Ønsket resultat Kommer tilbake til Sau vis alle skjerm Kommer til Sau vis på kart skjerm Kommer til Rediger sau skjerm Får opp et popup vindu som spør om du er sikker på om sauen skal slettes. Trykk ok : sauen blir slettet og du kommer til Sau vis alle skjerm Trykk på Cancel : det skjer ingenting Rediger sau skjerm Vei fra hjem skjerm: Sau vis alle trykk på sau trykk på rediger Test Trykk på Tilbake Ønsket resultat Kommer tilbake til Sau vis info skjerm Trykk på Lagre Endringer blir lagret, kommer tilbake til Sau vis info skjerm Sau vis på kart skjerm: Test Trykk på en sau, deretter på vis info Trykk på Tilbake Ønsket resultat Kommer til Sau vis info skjerm Kommer tilbake til Hjem skjerm Sau legg til ny skjerm Test Trykk på Tilbake Ønsket resultat Kommer tilbake til Hjem skjerm Trykk på Lagre Sau blir lagret og en kommer tilbake til Sau vis info skjerm

Administrasjon rediger bruker skjerm Test Trykk på Tilbake Trykk på Lagre (under bruker) Trykk på Lagre (under endre passord) med feil gammelt passord Trykk på Lagre (under endre passord) med riktig gammelt passord Ønsket resultat Kommer tilbake til Hjem skjerm Kommer opp et popup vindu som bekrefter at lagringen er gjort. Trykk ok : kommer tilbake til Administrasjon rediger bruker skjerm Får opp en feilmelding, passord blir ikke endret. Kommer opp popup vindu som bekrefter at endringen er gjort. Trykk ok : kommer tilbake til Administrasjon rediger bruker skjerm Administrasjon rediger varsling skjerm Test Trykk på Tilbake Trykk på Lagre Trykk på Slett (etter å ha trykket på navn) Ønsket resultat Kommer tilbake til Hjem skjerm Navnet kommer opp under varslingsoversikten. Epostadressen mottar varslinger Navnet forsvinn på varslingsoversikten og epostadressen vil ikke motta nye varslinger Admistrasjon les logg skjerm Test Trykk på Tilbake Ønsket resultat Kommer tilbake til Hjem skjerm

Varsling popup: Test Trykk på en notification Trykk utenfor popup vinduet Ønsket resultat Kommer til Sau vis info skjerm Popup vinduet forsvinner og du kommer tilbake til den skjermen du var på Alle skjermer: Test Trykk på tallet oppe i høyre hjørne Ønsket resultat Får opp Notification popup som inneholder en liste med siste notifications

10.2 Negativitets test Negativitetstesting Sau legg til ny skjerm: Felt Test Identifikasjon Kan kun bestå av hele tall, makslenge på 25 tall Navn Bursdag Vekt Chip ID Må være minst to tegn langt Må fylles ut gjennom dato velgeren i nettleseren eller på formen åååå mm dd Kan bestå av heltall eller kommatall Må bestå av et unikt heltall i systemet Sau Rediger sau skjerm Alle de samme testene som over er gjennomført, i tillegg har vi her et felt Kommentar som kan fylles ut. Dette feltet eksisterer ikke i Legg til ny skjermen, da det ikke er ofte du har bruk for dette feltet. Dette feltet har ingen restriksjoner. og derfor ikke nødvendig å teste. Administrasjon rediger bruker skjerm: Felt Navn Epost Gårdsnavn Test Må være minst to tegn langt Det må være en gyldig epostadresse Må være minst to tegn langt Administrasjon rediger varsling skjerm Felt Navn Epost Test Må være minst to tegn langt Må være en gyldig epostadresse 34 40

10.3 Brukertest Brukertest Oppgave Tilbakemeldinger vi fikk Løsning Logg inn i systemet Uproblematisk Legg til en sau i systemet Var litt utfordrende å sette dato når en sitter på en datamaskin Hva er lat/lng? Hvilken vaksine er det snakk om? Applikasjonen er hovedsaklig laget for at den skal brukes på en mobilenhet og da vil det poppe opp en kalender i stedet for å manuelt trykke inn dato. Ved vår første implementasjon la brukeren inn lat og lng verdier for posisjonen til sauen. Dette endret vi til å legge inn chipid, noe som er mer reelt og enklere å forstå. Vi kan ikke så mye om vaksiner for sauer, så vi valgte å beholde Ja/Nei valget. Dette er diskutert i videre utvikling, da vi på sikt ønsker en bedre løsning på dette problemet. Vis denne sauen på kartet Noen av de uerfarende brukerne forsto ikke helt hvordan de skulle zoome Rediger sauens vekt Uoversiktlig, hva er vekten? Dette ble vi ikke obs på før sent i prosjektet og rakk ikke å endre på noe her. Se vedlegg om videre utvikling. Endre passord Endre passord lå litt langt nede på skjermen. Dette har vi ikke endret på. 35 40

Legg til en epostadresse som blir kontaktet når en sau er under angrep Uproblematisk Vis alle sauer på kart Det var litt vanskelig å finne sauene, siden de ikke befant seg i vinduet. Når en la inn manuelle lat og lng verdier, befant sauene seg ofte rundtom i hele verden. Kartet klarte derfor ikke å fokusere på alle sauene. Dette problemet løste seg da vi la inn chipid i stedet. Kartet fokuserer nå på området sauene faktisk befinner seg i. Se gjennom loggen Uproblematisk Finn ut om sau #1 er vaksinert Bruke litt tid, på å se hvor i loggen vaksinert informasjonen befant seg. Samme problem som i Rediger sauens vekt. Vil løse problemet ved å legge til overskrifter på alle felter når en befinner seg i Sau vis info skjermen. Se om du får en notification når sau blir drept i simulator. Hadde problemer med å forstå hvor varslinger skulle dukke opp. Vi har ikke gjort noen endringer her. Brukeren som hadde problemer med dette, hadde veldig lite dataerfaringer og vi tror de fleste er vant med løsningen vi har implementert. Logg ut Uproblematisk

Øvrige kommentarer Løsning Knappen jeg trykket på ble ikke merket, men et lite område under. Det så ut som jeg trykket feil hele tiden, selv om jeg ikke gjorde det. En bug i systemet forårsaket denne feilen og den er rettet.

10.4 SUS-skjema SUS Spørsmålene er besvart med en verdi fra 1 til 5, der en er veldig uenig og 5 er veldig enig. Resultatene fra de tidlige brukertestene er markert med rød farge og resultatene fra de sene brukertestene er markert med grønn farge. 1 2 3 4 5 Påstand IIII Dette er et system jeg kunne tenkt meg å bruke ofte III I Jeg fant dette systemet unødvendig komplekst. I III Jeg synes at systemet var enkelt å bruke IIII Jeg tror jeg trenger teknisk brukerhjelp for å være i stand til å bruke dette systemet. IIII Jeg synes de ulike funksjonene var godt integrert i systemet. IIII Jeg synes det var mye inkonsistens i systemet. I II I Jeg ser for meg at de fleste vil lære seg dette systemet veldig fort. II II Jeg synes dette systemet var tungvint å bruke. I III Jeg følte meg veldig selvsikker når jeg brukte systemet. IIII Jeg trengte å lære meg mange ting før jeg kunne bruke dette systemet. Sus verdiene fra de to tidlige brukertestene er regnet ut til å bli 90 og 92,5. De to sene brukertestene fikk bedre verdier og endte opp med 97,5 begge to. Dette gir oss et gjennomsnitt på 94,375. 38 40

11 Videreutvikling Videreutvikling 1. Bakgrunn 2. Grafikk 3. Logg inn 4. Sikkerhet 5. Integrasjon med mobile enheter 6. Andre funksjoner 1. Bakgrunn Da dette var et relativt stort prosjekt og vi hadde mye programmering å gjøre, har vi holdt oss til kravspecet som kom med oppgaven. Vi har noe funksjonalitet som ikke ble nevnt der, men tonet ned ekstrafunksjonene kraftig da vi så hvilke arbeidsmengde vi sto ovenfor. På grunn av dette er det en rekke aspekter og småting som kan utvikles videre for å få et mye bedre helhetlig produkt. 2. Grafikk Ingen av de på gruppa er grafikere eller særlig stabile i verken Photoshop eller andre bilderedigeringsverktøy. På grunn av dette er grafikken gjennomgående i appen ikke verdens beste. Alle ikonene er laget ved å manupulere vektor grafikk fra gratisfiler rundt på nettet. Disse ikonene kan forbedres mye og blant annet gjøres mye skarpere. Det går også an å lage helt annen grafikk, da vi måtte bruke de elementene vi fant som var gratis. I tillegg kan logoen forbedres og fargetonene kan justeres noe. 3. Logg inn På Logg inn skjermen mangler det funksjonalitet for å sendte/resette glemt passord. Dette er en ganske standard funksjon som ikke burde ta veldig lang tid å implementere, men var noe vi rett og slett ikke prioriterte da vi utviklet. Dersom man glemmer passordet sitt slik systemet er i dag, er det ingen måte å resette dette på. 4. Sikkerhet Som nevnt i rapporten har vi ikke hashet passordene i databasen. Dette burde være relativt greit å legge til, og er en selvfølge om produktet ikke hadde vært fiktivt. Ett av første bud ved håndtering av sensitiv data som passord er å enveishashe dem, så de aldri kan lekke ut. I tillegg burde man ha gått til innkjøp av SSL sertifikat som også omtales i rapporten. Dette 39 40

er for å gjøre det umulig for brukere å få deres passord stjålet av andre som er på det samme lokale nettverket. De fleste seriøse sider som operer med innlogging i dag bruker SSL og https for sikker innlogging. 5. Integrasjon med mobile enheter Slik appen fremstår i dag er det en webapp som må installeres gjennom nettleseren på mobilen. Dette er ikke en optimal løsning. Det beste hadde vært å lage en native app til de store mobilmerkene (som ios, Android og Windows Phone), og brukt et Web view der som peker til nettsiden. Hadde vi gjordt dette kunne brukerne søkt opp appen i Appstore og kjøpt/installert appen derfra. I tillegg kunne vi implementert ordentlige push notifications som får mobilen til å vibrere når den mottar en melding. Dette er ikke implementert i dag. 6. Andre funksjoner Som tidligere nevnt mangler push notifications og glemt passord. Det er også andre småting som kunne gjort appen bedre. Blant annet kunne vi vist notifications som tilhører en spesifikk sau når man ser på informasjonen om sauen. Dette er en ting vi innser i ettertid at hadde vært veldig praktisk. I brukertesten var det flere som påpekte at de ikke visste hva vaksine det var snakk om, når de så på informasjon om sauen. Dette er noe vi kunne forbedret om vi utforsket mer hva vaksiner sauer ofte trenger og vi kunne lagt dette inn, for eksempel som en checklist i stedet for bare et alternativ. I tillegg til dette er det noe småplukk som kunne vært bedret. Blant annet når man skal redigere en sau så står det ikke navn over feltene som forklarer hva hvert av feltene gjør. Dette var noe vi ble gjort obs på da vi gjorde brukertester. Vi som hadde utviklet systemet visse såklart hva feltene ble brukt til, og tok dette for gitt da vi ga andre tilgang. Det viste seg at dette var et av punktene hvor folk hadde mest problemer.