PROSESSRAPPORT FORORD

Størrelse: px
Begynne med side:

Download "PROSESSRAPPORT FORORD"

Transkript

1 PROSESSRAPPORT FORORD Dette er prosessrapporten for mitt Bachelorprosjekt på Høgskolen i Oslo og Akershus: Pris++. Dokumentet tar for seg hele systemutviklingsprosessen. Hovedmålet med arbeidet jeg har lagt inn i dette prosjektet, har vært å skape en Android applikasjon for prisdata. Appen skal hjelpe forbrukerne å velge rett butikk når de skal ut å handle. Dette har vært et lærerikt prosjekt for meg, og jeg har fått brukt mye av den kunnskapen jeg har tilegnet meg underveis i studiet på Høgskolen i Oslo og Akershus. 1

2 INNHOLDSFORTEGNELSE Forord... 1 Problemstilling... 4 Om oppgaven... 4 Mål... 4 Oppgavens mål... 4 Egne mål... 4 Prosjektplanlegging og styring... 5 Starten av prosjektet... 5 Rammebetingelser... 5 Utviklingsmodell... 6 Extreme programming for one... 6 Fra brukerhistorier til oppgaver... 7 Fremdriftsplan... 8 Kravspesifikajson... 9 Systembeskrivelse Analyse Prosjekt arkitektur Strukturkart (Applikasjon) Strukturdiagram (Aktiviteter) ER-modell Design Førsteutkast - brukergrensesnitt Brukergrensesnitt Applikasjon Navigering Farge og Skrift

3 App ikon Knapper Ulike Android enheter Språk Brukertesting Helhetlig følelse Database Implementeringsfasen Om utviklingsprosessen Konsept og målgruppe Forberedelser Kravspesifikasjon Samsvar mellom kravspesifikasjon og løsning Iterasjoner Utfordringer underveis Vedlegg [A] - Kravspesifikasjon Forord Kort systembeskrivelse Logisk datamodell Funksjonelle og ikke funksjonelle krav Utviklingsmetode og prioriteringsrekkefølge Krav til dokumentasjon Hvilket utviklingsverktøy og teknologi som benyttes [B] - Use Case Beskrivelse [C] - Språk og teknologier Språk / Rammeverk / Utvidelser Dokumentasjon og prosjekthåndtering [D] - Kilder

4 PROBLEMSTILLING OM OPPGAVEN Da jeg skulle finne oppgave til hovedprosjektet, ønsket jeg å jobbe enten med datasikkerhet eller utvikling av en Android-applikasjon. Etter å ha forhørt meg med ulike faglærere på høgskolen fikk jeg flere ulike forslag. Det forslaget jeg fant mest interessant, fikk jeg av høgskolelektor Alfred Bratterud. Oppgaven gikk ut på å skape en Android-applikasjon, hvor brukerne skanner barkoden på varer for å finne priser i ulike butikkjeder. Når forbrukeren er ute å handler, kan de registrere data som ikke finnes i databasen. Butikken de handler i, produkter de ønsker å registrere, og lagre dagens pris på dette produktet koblet til akkurat denne butikken. Slik kan man søke i databasen etter hvilken butikk som har dette produktet til billigste pris når man skal ut og handle neste gang. På denne måten vil det være brukerne som genererer databasen (user generated content). MÅL OPPGAVENS MÅL Hensikten med denne Android-applikasjonen er å gjøre det så lett og brukervennlig som mulig for forbrukere å skaffe seg informasjon om priser i de ulike butikkene. Applikasjonen skal tilby å: Skanne et produkt (barkoden) med enhetens kamera. Mulighet for å lage en handleliste, hvor man får opp en prissammenligning fra de ulike butikkene som har alle produktene. Registrere et nytt produkt i databasen. Registrere en ny butikk i databasen, med GPS koordinater. Registrere ny pris i databasen med valgt kombinasjon av produkt og butikk. Vise kart med alle butikker i nærheten, med butikkenes logoer. Vise de ulike butikkjedenes tilbudsavis. Vise en graf med prisutvikling for valgt produkt. Oppdatere data som er registrert i databasen. Prosjektet skal ende opp i en ferdig utviklet applikasjon som kan legges ut for nedlasting. EGNE MÅL Mitt mål er å skape en Android-applikasjon som forbrukeren vil være fornøyd med. Jeg ønsker å lære så mye som mulig om Android rammeverket, og skape en omfattende klient/tjener applikasjon. Ved å gjennomføre et stort prosjekt som dette, ønsker jeg å tilegne meg kunnskap om utviklingsmetoder, teknologier og programvare. Jeg må sette opp mål og tidsfrister, samt beregne tidsbruk opp mot ulike type oppgaver. 4

5 PROSJEKTPLANLEGGING OG STYRING For å oppnå et godt resultat i et prosjekt av denne størrelsen, er det essensielt med god planlegging. Her vil jeg beskrive utviklingsprosessen, prosjektverktøy og løsningene jeg har benyttet for å oppnå et så godt resultat som mulig. STARTEN AV PROSJEKTET Prosjektplanleggingen ble startet tidlig i januar med prosjektskisse og forprosjekt. Videre ble det gjennom samtaler med min veileder Torunn Gjester diskutert hvordan jeg skulle gå løs på oppgaven. Vi lagde en kravspesifikasjon for prosjektet som ble tilpasset med tanke på arbeidsmengde og kompleksitet i forhold til prosjektets varighet. Kravspesifikasjonen har blitt forandret noe i løpet av semesteret. RAMMEBETINGELSER Hensikten med Android applikasjonen er å samle inn butikk, produkt og prisinformasjon. Disse dataene skal gjøre det mulig for forbrukeren å finne butikker i nærheten, hvilke produkter butikkene har og hvilket prisnivå de ulike butikkene ligger på i forhold til andre. Applikasjonen skal kommunisere med databasen ved hjelp av JSON, og PHP for utføring av MySQL operasjoner. 5

6 UTVIKLINGSMODELL I et prosjekt av en viss størrelse vil man aldri kunne samle alle krav til den endelige løsningen i startfasen av prosjektet[1]. De kravene man setter i kravspesifikasjonen, kan endre seg underveis. På grunnlag av dette har jeg valgt smidig utvikling. Dette er et enkeltmannsprosjekt, derfor har jeg valgt en utviklingsmodell som er tilpasset mitt behov «Extreme Programming For One»[2]. EXTREME PROGRAMMING FOR ONE EPFO er en smidig utviklingsmodell for utviklere som jobber alene. Prosjektet baserer seg på brukerhistorier, gjennom disse setter man opp de oppavene som må løses for å oppnå det endelige målet. Disse oppgavene blir fordelt på 1-3 ukers iterasjoner (gjentagende prosesser). Jeg legger til grunn at det skal være muligheter for endring av arkitektur og funksjonalitet. På denne måten kan jeg hele tiden komme opp med nye ideer og løsninger. Derfor er det vesentlig å ha en oversiktelig ToDoList. For meg har Trello (vedlegg [C]) vært helt fantastisk for å ha en slik liste. Her får man en elegant oversikt over oppgaver som er «To Do», «Doing» og «Done». Slik vil man ha en logg over alt som skjer under utviklingsprosessen. Under hele prosessen må man estimere og ha oversikt over hvordan man ligger an i forhold til all funksjonalitet som skal være på plass og oppgaver som skulle vært løst. Eksempel på en oppgave i Doing listen. Her kan man endre beskrivelsen av oppgaven, lage sjekklister og lagre vedlegg (bilder, tekstfiler, url-linker). Vedlegg [C] - Språk og teknologier, tar for seg de ulike språk, teknologier og programvare som er benyttet i utviklingen. [1] [2] 6

7 Venstre: Grafisk fremstilling av hvordan utviklingsprosessen foregår. Starter først med kravspesifikasjon. Neste steg blir å planlegge og opprette brukerhistorier (som er grunnlaget for oppgaver) basert på kravene. Høyre: Viser hvordan hver oppgave flyttes opp og ned på listen i forhold til prioritering. Legger også til rette for at nye oppgaver kan legges til, eller gamle fjernes. Deretter er det iterasjonene som står for tur. Dette er prosesser som repeteres. FRA BRUKERHISTORIER TIL OPPGAVER En brukerhistorie er bygget opp slik[3]: Som en «rolle», ønsker jeg at «mål, ønske», slik at «utbytte». Gir noen eksempler her: «Som bruker, ønsker jeg å lage en handleliste, slik at jeg kan sammenligne sluttsummen i alle butikkene. «Som bruker, ønsker jeg å se de ulike kjedenes tilbudsavis, slik at jeg kan finne gode tilbud.» Disse brukerhistoriene er grunnlaget for all funksjonalitet som skal implementeres, og blir vinklet fra brukerens perspektiv. Etter å ha sett igjennom kravspesifikasjonen endte jeg opp med 10 brukerhistorier, som ble fordelt på 5 iterasjoner. [3] 7

8 FREMDRIFTSPLAN Fremdriftsplanen er oversikten over hvilke oppgaver som skal løses gjennom prosjektet, og hvilken tidsramme jeg setter for de ulike oppgavene. Oppgave Start Slutt Dager Forprosjektrapport 15.jan 22.jan 7 Kravspesifikasjon 23.jan 02.feb 9 Risikoplan 23.jan 02.feb 9 Milepælsplan 23.jan 02.feb 9 Fremdriftsplan 23.jan 02.feb 9 Brukerhistorier 02.feb 10.feb 8 Prosjektinformasjon 10.feb 20.feb 10 1 Iterasjon 20.feb 10.mar 20 2 Iterasjon 10.mar 30.mar 20 3 Iterasjon 30.mar 10.apr 10 4 Iterasjon 10.apr 20.apr 10 5 Iterasjon 20.apr 01.mai 11 Produktrapport 01.mai 20.mai 20 Prosessrapport 01.mai 20.mai 20 Brukerveiledning 01.mai 20.mai 20 Testdokumentasjon 01.mai 20.mai 20 Levert prosjektrapport 27.mai 27.mai 1 Ferdig presentasjon 27.mai 05.jun 8 Holde presentasjon 10.jun 13.jun 1 Januar Februar Mars April Mai Juni 8

9 KRAVSPESIFIKAJSON Kravspesifikasjonen er med på å gi veileder og meg som utvikler, en enighet og lik forståelse av hvilke krav som settes til systemet. Dokumentet har fungert som en modell for brukerhistoriene som setter grunnlaget for de ulike oppgavene jeg skal løse i hver enkelt iterasjon. Kravspesifikasjonen ligger i sin helhet som vedlegg (Se vedlegg [A]). De ulike kravene er delt opp i funksjonelle og ikke-funksjonelle krav[4]. De funksjonelle krav definerer hva systemet skal gjøre De ulike funksjonene systemet tilbyr Hvordan det reageres på ulike inndata Hvilke reaksjoner systemet skal ha i gitte situasjoner De ikke-funksjonelle krav er ved hvilke rammer systemet skal implementere de funksjonelle kravene Disse kan sees på som egenskaper Egenskapene må være målbare, slik at man kan evaluere dem Gi en beskrivelse av kvaliteten på systemet Bestemte standarder som skal brukes [4] 9

10 SYSTEMBESKRIVELSE Her vil jeg vise et Use Case diagram som fremstiller hvordan applikasjonen skal fungere, og hvilken hovedfunksjonalitet som er tilgjengelig for brukeren. Brukeren av applikasjonen skal ha tilgang til å se på de registrerte produktene, butikkene og prisene, åpne skanner for å lese barkode, lage en handleliste, åpne kart og se nærliggende butikker og se på valgt butikks tilbudsavis. 10

11 ANALYSE I denne delen vil jeg beskrive hva hele systemet består av, hvilken funksjonalitet appiklasjonen tilbyr og de ulike data som skal lagres. Denne delen var viktig i prosessfasen, da dette ble grunnlaget for de valgene jeg måtte ta. Analysedelen ble gjennomført da kravspesifikasjonen var utformet. PROSJEKT ARKITEKTUR Figuren nedenfor gir et enkelt bilde av hvordan hele systemet er satt sammen. Den mobile enheten kommuniserer med databasen ved hjelp av JSON og PHP. 11

12 STRUKTURKART (APPLIKASJON) Strukturkartet gir en visuell forestilling av systemet. Den viser de ulike «skjermbildene» applikasjonen inneholder, hvilke funksjoner de har og hvordan de henger sammen. Huset representerer hovedmenyen, firkantene er aktiviteter og sirklene er en funksjon. Produkter Liste med Produkter Produkt Detaljer Legg til Produkt Oppdater Produkt Se Prisutvikling Butikker Liste med Butikker Legg til Butikk Skaff GPS Koordinater Priser Skan Barkode Se Nåværende Pris Opprett ny Pris Produkt Detaljer Oppdater Produkt Se Prisoversikt Handleliste Legg til Produkter Sammenlign Totalsum Totalsum Kart Vis Kart Med Nærliggende Butikker Tilbudsavis Velg Butikk PDF Visning Tilbudsavis 12

13 STRUKTURDIAGRAM (AKTIVITETER) Dette diagrammet gir en oversikt over flyten mellom de ulike aktivitetene (skjermbildene) i applikasjonen. Fargekodene angir hvilken type aktivitet det er. 13

14 ER-MODELL Et ER-diagram er en data-modell som beskriver hvilke data som skal lagres i systemet[5]. Denne ERmodellen er grunnlaget for databasen. Modellen viser de fire ulike databasetabellene og hvilke data som lagres i hver enkelt av dem, og relasjonen mellom dem. [5] 14

15 DESIGN Etter å ha gjennomført analysefasen, var det designfasen som sto for tur. Kravspesifikasjon, og struktrukart la grunnlaget for hvordan det endelige designet skulle bli. FØRSTEUTKAST - BRUKERGRENSESNITT Skissen viser hvordan jeg så for meg de ulike aktivitetene (skjermbildene) fra starten av. Skissen inkluderer ulike knapper, lister, tekstfelt, kart-visning, pdf-visning, og skanner. 15

16 BRUKERGRENSESNITT Det har vært viktig for meg at brukergrensesnitt og design skal være oversiktlig, enkelt og brukervennlig. For å oppnå dette har jeg lest diverse artikler om emnet, og sett på applikasjoner jeg selv mener har bra design. Deretter skisserte jeg ned på ark hvordan prototypen (ovenfor) skulle se ut. Figuren viser et eksempel på forslag til bra design for meny aktivitet [6], som jeg har prøvd å følge. Jeg har også tatt hensyn til «Universell utforming» slik at applikasjonen skal kunne bruker på en god måte av et bredere publikum. Mer om dette kommer under navigering og fargevalg. [6] 16

17 APPLIKASJON NAVIGERING Skal applikasjonen være brukervennlig er det viktig at navigasjonsopplevelsen er så god som mulig. Dokumentet «Universell utforming av tjenester i mobilkanal»[7] beskriver retningslinjer for god design. Hovednavigering skal plasseres konsekvent samme sted på hver side eller fane Kritiske funksjoner må ikke plasseres utenfor den synlige delen av siden eller fanen Alle navigasjonselementer og menyer må være statiske Antall nødvendige tastetrykk holdes å et minimum Klikkbare elementer må være lette å treffe Behov for skrolling bør minimeres Jeg mener min applikasjon følger disse retningslinjene på en god måte. Her ser vi alle knapper har samme design (farge og form), og er konsekvent plassert på toppen av lister, og på bunnen av registreringer. Listene gir mulighet for mye skrolling, men det er lagt til funksjonalitet for å filtrere dataene på navn og barkode slik at skrolling ikke behøves. På denne måten kan man enkelt søke på det produktet eller butikken man ønsker å se detaljert beskrivelse av. [7] 17

18 Når brukeren behøver å skru på funksjonalitet vil han få opp en dialog med store knapper. Når det kommer informasjon eller feilmeldinger vises dette på sorte ruter(toaster). Visning av butikkenes tilbudsavis har litt ulikt design i forhold til resten av applikasjonen. Grunnen til dette er at dette er visning av pdf gjennom Google-docs. Knappene er plassert på toppen med ikoner. 18

19 FARGE OG SKRIFT Når jeg skulle velge hvilke farger jeg ville ha i applikasjonen måtte jeg igjen tenkte på universell utforming. Her er en liste med anbefalinger[7]: Kontrasten skal være høy og konsistent, og presentasjonen må generelt ikke være basert på bruken av motsatte farger, og spesielt ikke på kombinasjoner av rød og grønn. Det må være mulig å velge mellom ulike fargeskjemaer Det skal benyttes lettleste skrifttyper, og det skal være mulig å forstørre skriften. Figuren viser en oversikt over hvordan et vanlig øye ser farger, kontra en fargeblind person[8]. Ut ifra dette har jeg valgt å benytte ulike blåtoner, gråtoner og gultoner. Skriftfargen er alltid sort, og bakgrunnen hvit. Dette mener jeg selv gir en fin fargekombinasjon, som har god kontrast. Skrifttypen er standard Android font (Roboto Regular), dette er en lettlest og helt grei font[9]. Jeg har ikke hatt tid til å implementere ulike fargeskjemaer og endring av skriftstørrelse, men dette er funksjonalitet jeg gjerne ønsker å implementere på et senere tidspunkt. [7] [8] [9] 19

20 APP IKON Jeg har benyttet Paint.NET til å lage applikasjons ikonet. Jeg ønsket å lage et enkelt og tydelig ikon som brukeren raskt kjenner igjen. Ikonet markert med rødt på bildet, symboliserer et handlenett og skanning av en barkode. KNAPPER All navigasjon og funksjonalitet skjer ved bruk av knapper. Defor er det viktig at det kommer tydelig frem, hva som er knapper og hva de gjør. Jeg har valgt å implementere alle knapper som Android knapper i layout.xml filene. Alle knapper har samme form og farge, og inneholder tekst som forteller bruker hva de gjør. Når man trykker på en knapp endrer den farge, slik at brukeren får en visuell tilbakemelding på at han har truffet knappen. 20

21 ULIKE ANDROID ENHETER For å nå en stor brukermasse er det viktg at applikasjonen fungerer på ulike Android enheter med ulik skjermoppløsning. Tenker her da på mindre enheter som mobiltelefoner og større som for eksempel nettbrett. Layout-filene som bestemmer hvordan de grafiske elementene skal oppføre seg er programmert på en sånn måte at applikasjonen tilpasser seg skjermens størrelse og orientering. Alle skjermbilder er tilpasset portrett og landskap. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" Her er applikasjonen installert på et Samsung 10.1 tommer nettbrett. På dette bildet har jeg åpnet en popup-meny som er integrert i operativsystemet, for å sammenligne størrelsen på teksten. Teksten på knappene er omtrent like stor som teksten på menyen. 21

22 Her ser vi knappene blir små i forhold til listen, men er store i forhold til fingeren. Applikasjonen brukergrensesnitt er hovedsakelig testet på og optimalisert for en mobiltelefon, men fungerer på større enheter også. 22

23 SPRÅK Jeg har valgt å implementere både norsk og englsk, da dette er en viktig del av det å være brukervennlig. Alle strengene i applikasjonen blir lagret i egne filer for hvert språk, med strengens navn og innhold. Eksempler på tekst som vises når enheten ikke er stilt inn på norsk. Engelsk er lagret i «hoved»-strings filen, så den vil alltid være standard, når valgt språk ikke er implementert. BRUKERTESTING Da utviklingen av systemet var nær slutten, installerte jeg applikasjonen hos venner og familie for å få tilbakemeldinger på brukergrensesnitt og funksjonalitet. Jeg ga testerne ulike oppgaver de skulle løse, altså ulike scenarier. Scenario (eksempler) Registrer en ny vare i databasen, ved hjelp av enhetens kamera. Oppgave fullført Ja Eventuell tilbakemelding Litt dumt å måtte installere separat programvare. Finn informasjon om en Rema butikk. Ja Enkelt å søke på navn. Registrer en ny butikk med GPS posisjon. Ja Finn prisen på en bestemt vare i en Kiwi butikk. Ja Enkelt å søke på navn. Finn prisutviklingen på en bestemt vare Ja Må snu enhet når man går tilbake til forrige skjermbilde. Se på ukens tilbudsavis fra Bunnpris. Ja Finn butikker rundt der du bor. Ja Ingen butikker registrert i nærheten. Lag en handleliste med 8 produkter, og sammenlign totalpris. Ja Enkelt å endre på antall produkter. Fra tilbakemeldingene jeg fikk, var det installering av separat programvare som var det viktigste punktet. Jeg kunne ha lagt ved Zxing som et bibliotek i prosjektet, med valgte å ikke gjøre det. På denne måten sikrer jeg at brukerne får de nyeste oppdateringene fra Zxing utviklerne. 23

24 HELHETLIG FØLELSE Det jeg ønsket å oppnå med brukergrensesnittet kan jeg liste opp med følgende punkter[6]: Brukervennlig Enkelt Universelt utformet Responsivt Gjennom å oppnå disse punktene mener jeg applikasjonen har fått en helhetlig følelse. Det er oversiktlige activitys som er lette å navigere seg rundt i, all funksjonalitet er lett tilgjengelig. Alt tungt arbeid er adskilt fra hovedtråden (som er ansvarlig for UI) over i bakgrunnstråder, slik at brukergrensesnittet oppleves som raskt. Alle brukere som er vant med Android applikasjoner vil trolig ikke ha problemer med å bruke all implementert funksjonalitet. Skal jeg på et senere tidspunkt implementere funksjonalitet for instillinger i applikasjonen, for eksempel endring av størrelse på tekst eller endring av fargeskjema, vil jeg benytte ActionBar[11]. ActionBar er en rad på toppen av skjermen man kan legge til knapper og tekst. 1. App Ikon (kan benyttes for navigering til forrige aktivitet). 2. View Control (benyttes for endring av ulike typer views om appliksjonen støtter dette). 3. Action Knapper (benyttes for funksjonalitet som brukes ofte). 4. Action Meny (benyttes for å gjemme funksjonalitet som ikke benyttes så ofte). [10] issuu [11] 24

25 DATABASE All informasjon som skal lagres i applikasjonen blir samlet i en database. Her blir dataene samlet på webserveren på en systematisk måte, slik at de blir enkle å håndtere. Alle data lagres i forhåndsbestemte tabeller, som har en relasjon mellom seg. Gjennom å ha en normalisert database, minimerer man duplisering av data (unødig redundans)[12]. Da jeg implementerte databasen på webserveren, benyttet jeg phpmyadmin, som lar meg opprette database, tabeller og kolonner gjennom et grafisk brukergrensesnitt[13]. Her kan man da gi egenskaper som type, primærnøkkel, fremmednøkkel, indeks, auto-inkrement med flere. [12] [13] 25

26 IMPLEMENTERINGSFASEN OM UTVIKLINGSPROSESSEN I denne delen av rapporten vil jeg beskrive hele prosessen med å utvikle applikasjonen i ulike faser. Den første delen tar seg av hvordan konseptet fungerer, samt hvilken målgruppe jeg retter meg mot. Neste del ser på de ulike iterasjonene, der jeg forteller om hvilke oppgaver som skulle løses. Deretter beskrives de utfordringene jeg har møtt på veien, og hvordan jeg har valgt å løse dem. Den siste delen tar for seg hvordan de ulike elementene i applikasjonen er laget, og hvordan brukergrensesnittet er utformet. KONSEPT OG MÅLGRUPPE Helt fra første stund har dette vært et konkret konsept: «Skann en vare, finn beste pris». For å gjøre dette konseptet best mulig, har jeg og veileder diskutert hvilken funksjonalitet som vil være ønsket av forbrukeren av en slik applikasjon. Applikasjonen skal gjøre det mulig for brukeren å finne pris på en enkelt vare. Lage seg en handleliste, hvor totalsummen sammenlignes fra de ulike butikkene. Åpne kart som viser butikker i nærheten, basert på gps koordinater. Vise butikkjedenes kundeavis i pdf format. Dette skal gjøre det mulig for målgruppen (prisbevisste mennesker) å velge hvilken butikk man ønsker å handle i, med tanke på pris. FORBEREDELSER Den innledende delen av prosjektet av å levere de obligatoriske styringsdokumentene. Etter at denne delen var på plass, var det planlegging med veileder som stod for tur. Sammen kom vi frem til kravspesifikasjonen, og diskuterte hvilke teknologier som lønnet seg å bruke. For å finne ut hva som fantes der ute, som jeg kunne benytte meg av (rammeverk, api, biblioteker), satte jeg raskt i gang med å søke rundt på nettet. Deretter var det for meg å lage alle brukerhistoriene, som ble gjort om til oppgaver med angitt prioritet. Alle disse oppgavene ble delt opp i ulike iterasjoner. I starten av utviklingen var det mye nytt å ta tak i. Noe hadde jeg vært borti tidligere, men det var nye språk, rammeverk og biblioteker jeg måtte tilegne meg informasjon om, før programmeringen kunne starte for fullt. 26

27 KRAVSPESIFIKASJON Gjennom møter med min veileder Torunn Gjester i januar, definerte vi de ulike kravene til systemet. Dette ble grunnlaget for prosjektets kravspesifikasjon. Kravene ble oppdelt i funksjonelle og ikkefunksjonelle, og i løpet av utviklingsprosessen gitt prioritet. De ulike prioritetene er: 1 Må ha/oppfylles 2 Burde ha/oppfylles 3 - Kjekt å ha/oppfylle De punktene jeg ikke har fullført er markert i rødt. FUNKSJONELLE KRAV All brukere skal kunne søke etter informasjon i databasen, som da skal vises i applikasjonen. Alle brukere skal kunne opprette og oppdatere data i databasen. Ved registrering av ny butikk, skal man trykke på en knapp i applikasjonen for å hente lengde og breddegrader (GPS posisjon). Det skal kunne benyttes en barkode-skanner for å skanne varer Skanner man en vare som allerede er i databasen, skal man få opp en oversikt over priser i de ulike kjedene, og en statistisk oversikt (gjerne grafisk) over prisutviklingen Brukeren skal kunne lage en handleliste, og få en oversikt over hvilken butikk som gir lavest totalpris på disse varene i mobilapplikasjonen Brukeren skal kunne få opp et kart med sin posisjon, og oversikt over butikker i nærområdet Brukeren skal kunne se butikkenes tilbudsavis i mobilapplikasjonen En nettside som enkelt presenterer aggregerte data fra databasen Innlogging i applikasjon. Ha et administrasjonssystem for å administrere registrert data Kravspesifikasjonen ligger i sin helhet som vedlegg [A]. 27

28 IKKE-FUNKSJONELLE KRAV Kildekoden skal være ryddig, strukturert, kommentert og optimalisert Applikasjon utvikles i JAVA og XML Databasekommunikasjon skal skrives i PHP Databasespørringer skal benytte MySQL JSON skal benyttes for å overføre data til og fra Android enhet. Programmering skal gjøres på engelsk God responstid på mobilapplikasjonens lokale aktiviteter, i snitt under 0,5 sekund God responstid på mobilapplikasjonen ved spørring i databasen, i snitt under 1 sekund er ønskelig Koden skal være objektorientert Applikasjonen skal fungere på både mobil og nettbrett med ulike skjermoppløsninger Enkelt og intuitivt brukergrensesnitt, som krever minimal veiledning for brukeren. Farger i applikasjonen skal ha god kontrast, og tilrettelagt fargeblinde. Applikasjonen skal ha flere språk (Norsk, Engelsk) Databasemodellen skal ha normalform. Databasedesign skal være oversiktelig Ved bruk av applikasjonen, skal funksjonene (hente, opprette, oppdatere data) ha lavt mobildatabruk. Applikasjonen skal gi brukeren informasjon og feilmeldings dialoger, når dette er naturlig. 28

29 SAMSVAR MELLOM KRAVSPESIFIKASJON OG LØSNING Kravspesifikasjonen har vært grunnlaget for hele prosjektet, og det har vært svært viktig for meg å fullføre alle kravene. Rammebetingelsene jeg og veileder kom til enighet om, har gitt mulighet for noe fleksibilitet og tilpassing underveis. Gjennom utførelsen av hver iterasjon har jeg prøvd å komme med ekstra funksjonalitet og forbedringer for å lage et godt produkt. Det ferdige produktet samsvarer godt med kravspesifikasjonen, med tanke på funksjonalitet, koding og brukergrensesnitt. De punktene jeg ikke har hatt tid til å fullføre er: En nettside som enkelt presenterer aggregerte data fra databasen En slik nettside ville tilgjengeligjort dataene i databasen uavhengig av Android applikasjonen. Innlogging i applikasjon. Tanken bak innlogging i applikasjonen var å holde rede på hvilke brukere som har registrert data, og mulighet for å gi ulik funksjonalitet til ulike brukertyper. Brukertypene jeg så for meg var: U- registrert bruker, som kun skulle få se på data. Registrert bruker, som skulle kunne registrere og oppdatere data. Administratorbruker, som skulle kunne slette data. Ha et administrasjonssystem for å administrere registrert data Etter å ha installert phpmyadmin på webserveren forsto jeg raskt at å lage et administrasjonsystem for databasen ville vært overflødig, da phpmyadmin gir nødvendig funksjonalitet. Det var viktigere for meg å levere en applikasjon som oppnådde alle kravene, dermed ble disse punktene nedprioritert. 29

30 ITERASJONER FØRSTE ITERASJON Helt i startfasen av programmeringen var det vesentlig å skape grunnlaget for appen. Den viktigste funksjonaliteten så tidlig var å skanne en barkode og opprette databasen slik at data kunne registreres. Jeg måtte skaffe meg en webserver, som kunne hoste databasen. ANDRE ITERASJON Nå som databasen var oppe å gikk på serveren, var neste steg å opprette kommunikasjon mellom den og applikasjonen. Nå måtte det være mulig å registrere og hente data. Data som skal lagres er : Produkt, Butikk og Pris. Deretter implementerte jeg funksjonalitet for handlelisten, slik at brukeren kan legge til alle varene han ønsker, og få totalsummen fra hver enkelt butikk som har alle varene. TREDJE ITERASJON I denne iterasjonen ble kartfunksjonalitet lagt til. Det ble nå mulig å registrere butikkenes gps posisjon, ved hjelp av enhetens innebygde gps. Nå som butikkene er lagret med angitt posisjon, var neste steg å vise butikkene på kartet, med kjedens logo. FJERDE ITERASJON Nå var det meste av hovedfunksjonaliteten på plass. Gjenstående implementasjon var å vise butikkenes tilbudsavis, og vise en prisutvikling på valgt produkt i en graf. FEMTE ITERASJON Siste del av systemutviklingen var å lage ferdig «Piloten», der jeg valgte ut 4 butikker rundt Pilestredet i Oslo. Jeg satte opp en liste med produkter jeg ønsket å registrere. Så gikk jeg rundt til hver enkelt butikk og registrerte dem, og alle varene jeg hadde på listen. Gjennom hele prosessen er det sjekket for bugs og feil i applikasjonen, og nå var siste sjanse til å rette opp det som eventuelt var igjen. 30

31 UTFORDRINGER UNDERVEIS Gjennom et helt prosjekt vil man alltid møte ulike problemer og utfordringer. Slike problemer kan være til stor irritasjon, men også svært læringsrikt da man må finne gode løsninger og tenke nøye gjennom problemstillingen. Her vil jeg ta for meg noen av de problemene jeg støtte på underveis. SYNKRONISERING AV DATABASE Under «design» fasen, ønsket jeg at det skulle være mulig å bruke applikasjonen uten internett tilkobling. For å få dette til å fungere måtte jeg ha laget det slik at hele databasen ble lagret på hver enkelt brukers Android enhet, og hver gang man kobler seg til nettverk, må hele databasen synkroniseres. Målet med databasen er at den skal inneholde svært mye data, og vil dermed kunne oppta alt for mye plass på enhetene. Dette så jeg på som en stor ulempe, og en faktor til at folk ikke ville benytte seg av applikasjonen. Jeg har da valgt å la all kommunikasjon mellom applikasjon og database, skje når enheten har nettverks tilkobling. Hos de fleste mobiloperatørene tilbys det store mengder datatrafikk, til en billig penge. Flere og flere har sin enhet koblet til nettverk stadig mer, så at applikasjonen krever internett tilgang mener jeg ikke er et problem for brukerne. HENTE DATA FRA DATABASE På de stedene i applikasjonen man skal velge produkter, butikker eller priser, kommer det opp en liste som inneholder samsvarende data fra databasen. Med tanke på at databasen potensielt vil inneholde flere tusen ulike data, vil det være problematisk å hente all data og vise i listen. Dette vil kreve ekstra unødvendige ressurser, både med tanke på datatrafikk og enhetens minne. Jeg har derfor valgt å kun hente de 20 første data som er i databasen automatisk. Slik kan brukeren få et innblikk i hva som er lagret av data, og kan skrolle seg nedover listen. Når man kommer nederst i listen, får man automatisk opp en knapp, som gjør at man laster inn 20 ekstra sett med data (database entries). Hovedtråden(Main/UI-thread) har ansvar for alt, så lenge man ikke starter nye tråder. Overbelaster man hovedtråden, kan det føre til dårlig ytelse, og i værste fall vil applikasjonen kræsje. Dette har jeg løst med AsyncTask. AsyncTask tillater meg å gjøre nettverkspørringer i asynke tråder, adskilt fra applikasjonens hovedtråd. VISE PDF FRA SERVER Å vise PDF filer i selve applikasjonen tok litt tid å finne ut av. I Android SDK finnes det ikke noe innebygd bibliotek for å gjøre dette. Jeg ønsket ikke at pdf filene skulle lagres på enheten, og sendes til en annen selvstendig applikasjon via intents, så jeg begynte å lete etter åpne biblioteker som kunne åpne pdf i min applikasjon. Etter å ha prøvd litt ulike biblioteker var det ingen jeg var helt fornøyd med, store biblioteker, komplisert implementering, dårlig funksjonalitet. Til slutt fant jeg det jeg mener ble den beste løsningen. Jeg benytter google docs, som vises i et WebView. Hvordan dette er implementert vil bli beskrevet i produktrapporten. 31

32 WEBSERVER Da jeg startet med databasen prøvde jeg å finne en gratis Web Hosting side som hadde alt av funksjonalitet jeg trengte. Etter å ha prøvd litt forskjellig, kom jeg på at jeg hadde en Raspberry Pi liggende hjemme, som ikke ble brukt til noe for øyeblikket. Etter noen kjappe søk på nettet, bestemte jeg meg raskt for å bruke denne som webserver. Raspberry Pi er en datamaskin på størrelse med et kredittkort. Oprativsystemet jeg kjører på denne er Raspbian, som bygger på Debian Linux. Raspberry Pi en har fått statisk IP addresse, slik at spørringer mot serveren alltid vil fungere. Jeg har også installert LAMP (Linux, Apache, MySQL and PHP), som gjør den til en fullverdig webserver. Den inneholder hele PHP api et, databasen, butikkjedenes logo(png) og tilbudsavis(pdf). FINNE DISTANSE MELLOM TO PUNKTER Når kartfunksjonaliteten åpnes, skal butikker innenfor en radius på 5km i forhold til brukerens GPS posisjon vises på kartet. Å finne avstanden mellom to punkter skapte noe hodebry. Etter å ha prøvd ulike kalkulasjoner jeg fant på diverse forum, ble den endelige løsningen den elegante «Haversine Formula». Den benytter gradene til å regne ut distansen mellom to punkter på en sfære. r = distansen mellom to punkt. r = radius av sfæren. og er bredde/lengdegrad. [14] 32

33 LASTE APPLIKASJON OVER PÅ ENHET FRA ECLIPSE Under utviklingen av applikasjonen har det hele tiden vært viktig å teste ofte, mye og på ulike enheter. Man kan benytte seg av «Android Virtual Device» som bygger på Dalvik. Dette er intgrert i Eclipse med ADT, og gjør at man kan opprette ulike «Android enheter», med ulike skjermstørrelse og RAM. Selv opplever jeg at virtualiseringen fungerer svært langsomt, og ikke er optimalt for hyppig testing. Derfor ønsket jeg å laste applikasjonen over på min Android enhet via USB hver gang jeg vil kjøre den. Skal man installere applikasjoner på Android enheter på denne måten, må man huke av instillingene: Innstillinger -> Sikkerhet -> Ukjente kilder (Tillatt at programmer fra andre kilder enn Play Butikk kan installeres) Instillinger -> Utvikleralternativer -> (Disse innstillingene er bare ment for utviklingsbruk. De kan føre til at det oppstår feil på enheten din og på programmene på den.) På min bærbare pc med Ubuntu fungerte dette «out of the box», men på min stasjonære pc med Windows greide ikke Eclipse å finne hverken min Samsung telefon eller nettbrett. Siden jeg hovedsakelig har brukt stasjonær pc til å programmere på, var det viktig at dette fungerte. Etter å ha lett etter løsninger, så det ut til at det var problemer med drivere på windows for Samsung enheter. Jeg forsøkte å laste ned flere ulike drivere uten at det fungerte. Til slutt prøvde jeg å installere «Samsung Kies». Dette er programvare som skal holde Samsung enheten oppdatert, rask og sikker. Etter denne installasjonen greide Eclipse å finne mobiltelefonen, og jeg fikk kjørt applikasjonen som jeg ønsket. Den greide fremdeles ikke finne nettbrettet. Etter å ha undersøkt litt, fant jeg ut at Eclipse automatisk lager en APK fil i source-bin mappen i prosjektet. Slik fikk jeg også testet applikasjonen på en større enhet med jevne mellomrom. VISE PRISUTVIKLING For å vise prisutviklingen på de ulike varene ønsket jeg å vise dette som en graf. Android har ingen innebygget funksjon for dette, så jeg måtte finne et åpent bibliotek jeg kunne bruke. Gjennom å ha lest på ulike alternativer fallt valget på GraphView [15] 33

34 VEDLEGG [A] - KRAVSPESIFIKASJON KRAVSPESIFIKASJON Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni. Prosjektgruppe: 27 Prosjektmedlem: Ole Almenning Stenhaug Veileder. Torunn Gjester, Høgskolelektor på Fakultet for teknologi, kunst og design Oppdragsgiver: Høgskolen i Oslo og Akershus Pilestredet 35, Oslo 34

35 Innholdsfortegnelse Forord... 1 Kort systembeskrivelse... 1 Logisk datamodell (hovedoppgave)... 2 Funksjonelle og ikke funksjonelle krav... 3 Utviklingsmetode og prioriteringsrekkefølge... 5 Krav til dokumentasjon... 5 Hvilket utviklingsverktøy og teknologi som benyttes

36 FORORD Dette dokumentet skal fungere som en rød tråd for gjennomføring av hovedprosjekt og er et av styringsdokumentene. I dette dokumentet er det beskrevet flere sider av produktet som skal utvikles, samt viktige deler av utviklingsprosessen som metodikk og enkelte rammebetingelser. KORT SYSTEMBESKRIVELSE En søkbar database som inneholder pris og registrert geografisk lokasjon på butikker. For at denne databasen skal gi verdi er det svært viktig hvilken metadata som registreres og hvordan dette så presenteres. For registrering av pris- og vareinformasjon skal det utvikles en Android applikasjon som brukerne kan benytte. For å gjøre det brukervennlig skal man for eksempel kunne skanne barkodene ved hjelp av mobilens kamera. Brukere kan altså registrere nye varer og systemet er dermed basert på brukernes egen innsats. 36

37 LOGISK DATAMODELL Figuren over illustrerer følgende: Øverst til venstre er databasen som er tenkt i MySQL eller tilsvarende. I midten er PHP som tar seg av kontakt med databasen. Nederst er mobilapplikasjonen (Android) som benytter JSON mot PHP. Øverst til høyre er HTML for å kunne lage nettside som presenterer informasjon fra databasen. Her vurderes det også å opprette en administrasjonsmulighet for innholdet i databasen. 37

38 FUNKSJONELLE OG IKKE FUNKSJONELLE KRAV FUNKSJONELLE KRAV All brukere skal kunne søke etter informasjon i databasen, som da skal vises i applikasjonen. Alle brukere skal kunne opprette og oppdatere data i databasen. Ved registrering av ny butikk, skal man trykke på en knapp i applikasjonen for å hente lengde og breddegrader (GPS posisjon). Det skal kunne benyttes en barkode-skanner for å skanne varer Skanner man en vare som allerede er i databasen, skal man få opp en oversikt over priser i de ulike kjedene, og en statistisk oversikt (gjerne grafisk) over prisutviklingen. Brukeren skal kunne lage en handleliste, og få en oversikt over hvilken butikk som gir lavest totalpris på disse varene i mobilapplikasjonen Brukeren skal kunne få opp et kart med sin posisjon, og oversikt over butikker i nærområdet Brukeren skal kunne se butikkenes tilbudsavis i mobilapplikasjonen En nettside som enkelt presenterer aggregerte data fra databasen Innlogging i applikasjon. Ha et administrasjonssystem for å administrere registrert data 38

39 IKKE-FUNKSJONELLE KRAV Kildekoden skal være ryddig, strukturert, kommentert og optimalisert Applikasjon utvikles i JAVA og XML Databasekommunikasjon skal skrives i PHP Databasespørringer skal benytte MySQL JSON skal benyttes for å overføre data til og fra Android enhet. Programmering skal gjøres på engelsk God responstid på mobilapplikasjonens lokale aktiviteter, i snitt under 0,5 sekund God responstid på mobilapplikasjonen ved spørring i databasen, i snitt under 1 sekund er ønskelig Koden skal være objektorientert Applikasjonen skal fungere på både mobil og nettbrett med ulike skjermoppløsninger Enkelt og intuitivt brukergrensesnitt, som krever minimal veiledning for brukeren. Farger i applikasjonen skal ha god kontrast, og tilrettelagt fargeblinde. Applikasjonen skal ha flere språk (Norsk, Engelsk) Databasemodellen skal ha normalform. Databasedesign skal være oversiktelig Ved bruk av applikasjonen, skal funksjonene (hente, opprette, oppdatere data) ha lavt mobildatabruk. Applikasjonen skal gi brukeren informasjon og feilmeldings dialoger, når dette er naturlig. 39

40 UTVIKLINGSMETODE OG PRIORITERINGSREKKEFØLGE Det skal benyttes smidig utvikling i dette prosjektet, da benyttes enten «scrum» eller «extreme programming». Dette er utviklingsmetodikk som er bra i forhold til å kunne løse eventuelle endringer, noe som forventes å blir aktuelt for denne type hovedoppgave hvor det er en ide og funksjoner som hovedsakelig er gjengelig i starten. Kjernen i systemet er databasen og mobilapplikasjonen, dette blir dermed det som er tenkt utgangspunkt for den første sprinten. Prioritering utover dette avgjøres fortløpende ved gjennomføring, og hvor det som er vist under logisk datamodell med en mengde funksjonalitet er tenkt gjennomført som del av denne hovedoppgaven. KRAV TIL DOKUMENTASJON Som en del av prosjektet skal det dokumenteres underveis. Prosessdokumentasjon er en vesentlig del av prosjektet og hva som skal leveres ved prosjektets avsluttning. HVILKET UTVIKLINGSVERKTØY OG TEKNOLOGI SOM BENYTTES Eclipe IDE med ADT plugin, siste versjon. Java versjon 1.7 (7) PHP 5.5 JavaScript (JSON) MySQL Windows 8.1 eller Ubuntu på utviklingsmaskinene 40

41 [B] - USE CASE BESKRIVELSE SE PRODUKTER Aktør: Bruker Mål: Se produkter Oppsummering: Se liste med produkter fra databasen. Pre-betingelser: Det er registrerte produkter i databasen. Android enheten har internett tilkobling. Hendelsesforløp: 1. Bruker velger «Produkter» i hovedmeny. 2. Får automatisk opp liste med produkter FILTRER PRODUKTER ETTER NAVN Aktør: Bruker Mål: Filtrere produkter på navn Oppsummering: Filtrere produktene i listen på navn Pre-betingelser: Det er registrerte produkter i databasen. Android enheten har internett tilkobling. Hendelsesforløp: 1. Bruker velger «Produkter» i hovedmeny. 2. Trykker på knappen «På navn» 3. Skriver inn hele eller deler av navnet han ønsker filtrere på 4. Får automatisk opp liste med produkter FILTRER PRODUKTER ETTER BARKODE Aktør: Bruker Mål: Filtrere produkter på barkode Oppsummering: Filtrere produktene i listen på barkode Pre-betingelser: Det er registrerte produkter i databasen. Android enheten har internett tilkobling. Android enheten har installert Zxing Barcode Scanner Hendelsesforløp: 1. Bruker velger «Produkter» i hovedmeny. 2. Trykker på knappen «På barkode» 3. Er ikke Zxing installert, åpnes dialogboks som spør om bruker vil installere den nå. 4. Zxing åpnes, og bruker skanner ønsket barkode 5. Får automatisk opp liste med produkt med denne barkoden FJERN FILTRERING : PRODUKT Aktør: Bruker Mål: Vise alle produkter i listen Oppsummering: Fjerne filtreringen som er gjort. Pre-betingelser: Det er allerede filtrert på enten navn eller barkode Android enheten har internett tilkobling. Hendelsesforløp: 1. Bruker har filtrert på navn eller barkode. 2. Trykker på «Alle». 3. Filtrering fjernes, og listen vises automatisk. 41

42 REGISTRER PRODUKT Aktør: Bruker Mål: Registrere nytt produkt Oppsummering: Registrere nytt produkt i databasen. Pre-betingelser: Android enheten har internett tilkobling. Det finnes ikke et produkt i databasen med denne barkoden. Hendelsesforløp: 1. Bruker velger «Produkter» i hovedmeny. 2. Trykker på knappen «+» 3. Fyller inn feltene Navn, Beskrivelse (frivillig), Barkode. 4. Ønsker bruker å skanne barkoden, trykkes «Skan barkode» 5. Trykker på «Opprett» 6. En toast vises, som sier om registreringen var vellykket eller ikke. SE BUTIKKER Aktør: Bruker Mål: Se butikker Oppsummering: Se liste med butikker fra databasen. Pre-betingelser: Det er registrerte butikker i databasen. Android enheten har internett tilkobling. Hendelsesforløp: 1. Bruker velger «Butikker» i hovedmeny. 2. Får automatisk opp liste med butikker FILTRER BUTIKKER ETTER NAVN Aktør: Bruker Mål: Filtrere butikker på navn Oppsummering: Filtrere butikkenee i listen på navn Pre-betingelser: Det er registrerte butikker i databasen. Android enheten har internett tilkobling. Hendelsesforløp: 1. Bruker velger «Butikker» i hovedmeny. 2. Trykker på knappen «På navn» 3. Skriver inn hele eller deler av navnet han ønsker filtrere på 4. Får automatisk opp liste med butikker FJERN FILTRERING : BUTIKK Aktør: Bruker Mål: Vise alle butikker i listen Oppsummering: Fjerne filtreringen som er gjort. Pre-betingelser: Det er allerede filtrert på navn Android enheten har internett tilkobling. Hendelsesforløp: 1. Bruker har filtrert på navn. 2. Trykker på «Alle». 3. Filtrering fjernes, og listen vises automatisk. 42

43 REGISTRER BUTIKK Aktør: Bruker Mål: Registrere ny butikk Oppsummering: Registrere ny butikk i databasen. Pre-betingelser: Android enheten har internett tilkobling. Må ha GPS om butikk skal registreres med gps posisjon. Hendelsesforløp: 1. Bruker velger «Butikker» i hovedmeny. 2. Trykker på knappen «+» 3. Fyller inn feltene Navn, Gatenavn, Postnummer, Butikkjede, Åpningstider (frivillig), GPS koordinater (frivillig) 4. Ønsker bruker å registrere med gps posisjon, trykker han på «Skaff GPS koordinater». 5. Er ikke GPS aktivert, vises dialog som spør om han ønsker å gjøre dette nå. 6. Trykker på «Opprett» 7. En toast vises, som sier om registreringen var vellykket eller ikke. OPPRETT PRIS Aktør: Bruker Mål: Registrere ny pris i databasen. Oppsummering: Lagre en ny pris, med kombinasjon av butikk og produkt. Pre-betingelser: Produkt og Butikk må være registrert fra før. Android enheten har internett tilkobling. Hendelsesforløp: 1. Trykker på «Priser» i hovedmenyen. 2. Trykker på «Velg butikk», da åpnes listen med butikker. 3. Velger butikken prisen hører til i listen. 4. Trykker på «Velg produkt», da åpnes listen med produkter. 5. Velger produktet prisen hører til i listen. 6. Skriver inn prisen i feltet «Pris» 7. Trykker «Opprett ny», prisen lagres automatisk med dato og tidspunkt, slik at det blir mulig å se prisutvikling, og får melding om prisen ble registrert eller ikke. SE PRIS Aktør: Bruker Mål: Finne ut hva prisen er på et produkt i gitt butikk. Oppsummering: Se nåværende pris, med kombinasjon av butikk og produkt. Pre-betingelser: Pris må være registrert med gitt Produkt og Butikkr. Android enheten har internett tilkobling. Hendelsesforløp: 1. Trykker på «Priser» i hovedmenyen. 2. Trykker på «Velg butikk», da åpnes listen med butikker. 3. Velger butikken prisen hører til i listen. 4. Trykker på «Velg produkt», da åpnes listen med produkter. 5. Velger produktet prisen hører til i listen. 6. Trykker «Nåværende», og nyeste registrerte pris vises i «Pris» feltet. 43

44 SKAN BARKODE Aktør: Bruker Mål: Finne ut om et produkt er registrert i databasen, og vise informasjon om det. Oppsummering: Skanne barkode med enhetens kamera, er produktet registrert vises detaljer om Produktet, er det ikke registrert vises «Produkt er ikke registrert». Pre-betingelser: Android enheten har internett tilkobling. Hendelsesforløp: 1. Trykker på «Skan Barkode» i hovedmenyen. 2. Er ikke Zxing installert, åpnes en dialog som spør bruker om han ønsker installere det nå. 3. Skanneren åpnes, og bruker skanner barkode. 4. Barkoden blir sjekket opp mot databasen. 5. Er produktet registrert vises registrerte data om produktet. 6. Er produktet ikke registrert, vises «Produktet er ikke registrert». ÅPNE GOOGLE MAPS KART. Aktør: Bruker Mål: Åpne kart, som viser butikker i nærheten. Oppsummering: Vise Google Maps med butikker innenfor 5km med butikkens logo plassert på Butikkens GPS posisjon. Pre-betingelser: Android enheten har internett tilkobling. Android enheten har GPS. Hendelsesforløp: 1. Trykker på «Kart» i hovedmenyen. 2. Er ikke GPS påslått, åpnes en dialog som spør bruker om han ønsker aktivere det nå. 3. Applikasjonen finner brukerens GPS posisjon. 4. Google Maps åpnes med brukerens plassering i midten, og butikkene vises på kart. SE BUTIKKENS TILBUDSAVIS Aktør: Bruker Mål: Vise ønsket butikks tilbudsavis, for å finne ukens kupp. Oppsummering: Laste ned tilbudsavis i PDF format på enheten fra ønsket butikkjede. Pre-betingelser: Android enheten har internett tilkobling. Butikkens tilbudsavis finnes på server. Hendelsesforløp: 1. Trykker på «Tilbudsavis» i hovedmenyen. 2. Det vises en liste med butikkjeder, og brukeren velger en av dem. 3. PDF filen lastes inn i WebView gjennom Google Docs på enheten. 4. Kan bla frem og tilbake i avisen med piler [<-] og [->] 5. Kan zoome inn og ut, med knapper [-] og [+], eller dobbeltklikke på skjermen. AVSLUTT Aktør: Bruker Mål: Avslutte applikasjonen Oppsummering: Avslutte applikasjonen Pre-betingelser:Pris++ er startet Hendelsesforløp: 1. Trykker på «Avslutt» i hovedmenyen. 44

45 [C] - SPRÅK OG TEKNOLOGIER SPRÅK / RAMMEVERK / UTVIDELSER JAVA Java er et objektorientert programmeringsspråk skapt av James Gosling. I løpet av november 2006 valgte Sun Microsystems å frigi Javakoden som åpen kildekode. Java er det primære programmeringsspråket for utvikling av Android. Ved lansering var java det eneste støttede språket, men nå finnes det flere å velge i mellom. Java er det språket jeg har best kjennskap til, og har benyttet i faget «Innføring i App utvikling». XML XML (Extensible Markup Language) er et universelt og utvidbart markeringsspråk. XML organiserer data ved hjelp av en hierarkisk struktur, i tekstformat. Dette blir filer som er leselig for både maskiner og mennesker, der «tagger» beskriver hva innholdet er. I Android utvikling benyttes det til flere ting, blant annet Manifest, Layout, Strings, Styles og Drawable. PHP PHP er et dynamisk tolket programmeringsspråk som hovedsakelig brukes til å utvikle dynamiske nettsider. I mitt prosjekt har jeg laget et «php API» for kommunikasjon mellom applikasjon og database, for å opprette, oppdatere og hente data. MYSQL Brukes til lagring av data i databasen. SQL står for Structured Query Language, som kan kan oversettes til «Strukturert Spørringespråk». Språket inneholder mange sett med kodeord og syntaks for å lage disse spørringene, som brukes til å hente eller lagre data i databasen. Mange programmeringsspråk kan koble til MySQL-databaser, og PHP er en av disse. MySQL er et av verdens mest brukte open source database databaseadministrasjonssystem, som jeg har benyttet før og det ble dermed det naturlige valget. JSON JSON (JavaScript Object Notation) er en tekstbasert struktur for sending av data. I mitt prosjekt sender php api et en JSON respons til applikasjonen. Applikasjonen parser JSON response, som gjør at jeg kan konvertere response til et Java objekt som er lettere å jobbe med. GOOGLE PLAY SERVICES LIBRARY Dette er et bibliotek som gjør det mulig å benytte seg av et bredere spektrum av funksjonalitet laget av Google. Ved å integrere denne pakken kan jeg få tilgang til å implementere Google Maps i applikasjonen. GRAPH VIEW LIBRARY GraphView er et Android bibliotek utviklet av Jonas Gehring. Biblioteket gjør det mulig å skape fleksible og pene diagrammer i Android applikasjoner. Jeg bruker GraphView til å generere et diagram som viser prisutviklingen til en valgt vare. 45

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

KRAVSPESIFIKASJON. Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni. KRAVSPESIFIKASJON Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni. Prosjektgruppe: 27 Prosjektmedlem: Ole Almenning Stenhaug Veileder.

Detaljer

KRAVSPESIFIKASJON FORORD

KRAVSPESIFIKASJON FORORD KRAVSPESIFIKASJON FORORD Hensikten med kravspesifikasjonen er å gi oppdragsgiver og utviklere en enighet og forståelse av funksjonaliteten til applikasjonen som skal produseres. en definerer i tillegg

Detaljer

Hovedprosjekt 2014, Høgskolen i Oslo og Akershus

Hovedprosjekt 2014, Høgskolen i Oslo og Akershus Forprosjektrapport Gruppe 2 Hovedprosjekt 2014, Høgskolen i Oslo og Akershus 1 INNHOLD 2 Presentasjon... 2 2.1 Gruppen medlemmer... 2 2.2 Oppgave... 2 2.3 Oppdragsgiver... 2 2.4 Veileder... 2 3 Sammendrag...

Detaljer

Produktdokumentasjon. Madison Møbler Administrasjonsside og Nettbutikk

Produktdokumentasjon. Madison Møbler Administrasjonsside og Nettbutikk Produktdokumentasjon Madison Møbler Administrasjonsside og Nettbutikk 1 1. Forord 1.1 Dokumentasjonen Dette er en teknisk dokumentasjon på produktet som er utviklet. Denne er tiltenkt personer med teknisk

Detaljer

Del IV: Prosessdokumentasjon

Del IV: Prosessdokumentasjon 1 2 Forord Dette dokumentet omhandler detaljert beskrivelse av vår arbeidsprosess gjennom hele perioden med prosjektet. Prosessdokumentasjonen er en viktig del av sluttrapporten, og er delt opp i følgende

Detaljer

Dokument 1 - Sammendrag

Dokument 1 - Sammendrag Dokument 1 - Sammendrag Automatnett - Nytt CMS-verktøy for Uno-X Automat Fakultet for teknologi, kunst og design Høgskolen i Oslo og Akershus, 2013 Innholdsfortegnelse Sammendrag 1 1. Innledning 1 2. Om

Detaljer

24.01.2014 Hovedprosjekt i Informasjonsteknologi ved Høgskolen i Oslo og Akershus. Forprosjektrapport. Presentasjon

24.01.2014 Hovedprosjekt i Informasjonsteknologi ved Høgskolen i Oslo og Akershus. Forprosjektrapport. Presentasjon 24.01.2014 Hovedprosjekt i Informasjonsteknologi ved Høgskolen i Oslo og Akershus Forprosjektrapport Presentasjon Tittel Precision Teaching App for Android Oppgave Å lage en Android app som skal benyttes

Detaljer

PRODUKTRAPPORT FORORD

PRODUKTRAPPORT FORORD PRODUKTRAPPORT FORORD Dette dokumentet gir en teknisk beskrivelse av Pris++, som er en Android applikasjon utviklet i forbindelse med hovedprosjekt ved HiOA. Denne rapporten tar for seg implementeringen

Detaljer

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

Artist webside. Gruppe medlemmer Joakim Kartveit. Oppdragsgiver Tetriz Event & Management. Frode Mathiesen. Gry Anita Nilsen. Artist webside Innhold Artist webside...1 Gruppe medlemmer...1 Oppdragsgiver...1 Kontaktperson...2 Veileder...2 Oppgaven...2 Muligheter...2 Sammendrag...2 Dagens situasjon...2 Mål og rammebetingelser...3

Detaljer

1. Forord... 2 2. Innholdsfortegnelse... 3 3 innledning... 5. 4. Funksjonelle egenskaper og krav... 7. 5. Spesifikke krav av delsystemer...

1. Forord... 2 2. Innholdsfortegnelse... 3 3 innledning... 5. 4. Funksjonelle egenskaper og krav... 7. 5. Spesifikke krav av delsystemer... Side 1 1. Forord Dette dokumentet er en kravspesifikasjon og har blitt utarbeidet av arbeidsgiver og prosjektgruppen. Dokumentet består av ni kapitler. Det vil først bli presentert hvem prosjektgruppen

Detaljer

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

Utvikle en prototype for en digital versjon av helsekort for gravide. Programvareleverandør av ehelse-løsninger for helsevesenet Kravspesifikasjon Hovedprosjekt 2014 Institutt for informasjonsteknologi, Høgskolen i Oslo og Akershus Presentasjon Tittel: Oppgave: Gruppemedlemmer: Digitalt Helsekort for Gravide Utvikle en prototype

Detaljer

KRAVSPESIFIKASJON. Gruppe 2. Hovedprosjekt, Høgskolen i Oslo og Akershus. Våren 2014 KRAVSPESIFIKASJON 1

KRAVSPESIFIKASJON. Gruppe 2. Hovedprosjekt, Høgskolen i Oslo og Akershus. Våren 2014 KRAVSPESIFIKASJON 1 KRAVSPESIFIKASJON Gruppe 2 Hovedprosjekt, Høgskolen i Oslo og Akershus Våren 2014 KRAVSPESIFIKASJON 1 CONTENTS 1. Forord... 3 2. Presentasjon... 3 2.1 Gruppens medlemmer... 3 2.2 Oppdragsgiver... 3 2.3

Detaljer

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

Forprosjektrapport. Bachelorprosjekt i informasjonsteknologi ved Høgskolen i Oslo og Akershus, våren 2016. Pillbox Punchline Forprosjektrapport Bachelorprosjekt i informasjonsteknologi ved Høgskolen i Oslo og Akershus, våren 2016 Pillbox Punchline Gruppe 8 André Østhagen Bye, s198607 Annika Hammervoll, s198611 Hanne Rygge, s198613

Detaljer

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

Kunden er en av Norges ledende leverandører av digital-tv og bredbåndstjenester. 1 Forord Hensikten med kravspesifikasjonen er å gi oppdragsgiver og utviklere en enighet og forståelse av funksjonaliteten til applikasjonen som skal produseres. en definerer i tillegg prosjektets rammer

Detaljer

BRUKERMANUAL. Deviations and Reporting

BRUKERMANUAL. Deviations and Reporting BRUKERMANUAL Deviations and Reporting Forord Dette er brukermanual for CEMAsys Immediate Reporting applikasjon som er laget for iphone og Android telefoner. CEMAsys Immediate Reporting er en applikasjon

Detaljer

Kravspesifikasjon. Forord

Kravspesifikasjon. Forord Kravspesifikasjon Forord Kravspesifikasjonen skal beskrive applikasjonens funksjonalitet og betingelsene som oppdragsgiver krever. Det skal også hjelpe utviklerne med å begrense applikasjonen slik at den

Detaljer

Del VII: Kravspesifikasjon

Del VII: Kravspesifikasjon 1 2 Forord Dette dokumentet inneholder retningslinjer for gruppen vår og beskrivelse av betingelsene for utviklingen av vårt prosjekt. Vår gruppe benyttet dette dokumentet som et styringsdokument for å

Detaljer

Hovedprosjekt 2011. Høgskolen i Oslo. Gruppe 24. Tore Holmboe (s155547) Vegard Kamben (s148147) Anders Fohlin Kjøde (s155551) Haakon Nygård (s155535)

Hovedprosjekt 2011. Høgskolen i Oslo. Gruppe 24. Tore Holmboe (s155547) Vegard Kamben (s148147) Anders Fohlin Kjøde (s155551) Haakon Nygård (s155535) Hovedprosjekt 2011 Høgskolen i Oslo Gruppe 24 Tore Holmboe (s155547) Vegard Kamben (s148147) Anders Fohlin Kjøde (s155551) Haakon Nygård (s155535) Stian Pettersen (s144449) en RSS-leser på tvers av touchenheter

Detaljer

Kravspesifikasjon. Android app for aktivering av jakt- og fiskekort. Bacheloroppgave vår 2014. Høgskolen i Oslo og Akershus. Charlotte Sjøthun s180495

Kravspesifikasjon. Android app for aktivering av jakt- og fiskekort. Bacheloroppgave vår 2014. Høgskolen i Oslo og Akershus. Charlotte Sjøthun s180495 Charlotte Sjøthun s180495 Nanna Mjørud s180477 Anette Molund s181083 Kravspesifikasjon Android app for aktivering av jakt- og fiskekort Bacheloroppgave vår 2014 Høgskolen i Oslo og Akershus Forord Hensikten

Detaljer

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

Testrapport. Aker Surveillance. Gruppe 26. Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo, 24.5.2013. Public 2013 Aker Solutions Page 1 of 5 Testrapport Aker Surveillance Gruppe 26 Hovedprosjekt ved Høgskolen i Oslo og Akershus Oslo, 24.5.2013 Public 2013 Aker Solutions Page 1 of 5 Innledning I denne rapporten vil vi skrive om testingen som

Detaljer

Funksjonskravene er delt opp i to deler, krav til spillsekvens og generelle funksjonskrav.

Funksjonskravene er delt opp i to deler, krav til spillsekvens og generelle funksjonskrav. Kravspesifikasjon I dette kapittelet foreligger kravspesifikasjonen som ble utformet tidlig i prosjektprosessen. Dette er den opprinnelige kravspesifikasjonen. Det har igjennom prosjektprosessen vært naturlig

Detaljer

4.1. Kravspesifikasjon

4.1. Kravspesifikasjon 4.1. Kravspesifikasjon Dette delkapittelet beskriver nærgående alle deler av systemet, hvordan det er tenkt ferdigutviklet med fokus på oppdragsgivers ønsker. 4.1.1. Innledning Informasjon om hvordan kravspesifikasjonens

Detaljer

Innstallasjon og oppsett av Wordpress

Innstallasjon og oppsett av Wordpress Del 1 - Installasjon og oppsett Innstallasjon og oppsett av Wordpress Wordpress har blitt en veldig populær publiseringsplattform for websider. Uten særlige tekniske ferdigheter kan man sette opp profesjonelle

Detaljer

Hovedprosjekt i ingeniørfag, data, våren 2015. Oslo 19.01.2015. Gruppe 23 Torstein Frogner, Bernt Kristoffer Helland, Vahid Khairkhah, Jonas Myren Mo

Hovedprosjekt i ingeniørfag, data, våren 2015. Oslo 19.01.2015. Gruppe 23 Torstein Frogner, Bernt Kristoffer Helland, Vahid Khairkhah, Jonas Myren Mo Hovedprosjekt i ingeniørfag, data, våren 2015 Oslo 19.01.2015 Gruppe 23 Torstein Frogner, Bernt Kristoffer Helland, Vahid Khairkhah, Jonas Myren Mo Forprosjektrapport Presentasjon Tittel: Pizzaplutselig.no

Detaljer

S y s t e m d o k u m e n t a s j o n

S y s t e m d o k u m e n t a s j o n S y s t e m d o k u m e n t a s j o n Monitorering av produksjonsløyper ved Nasjonalbiblioteket - Project BAKE Utarbeidet av: Einar Wågan Kristian Akerhei Studium: Informasjonssystemer Innlevert: 26.5.2015

Detaljer

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

Eventhandler Teknologi, kunst og design Høgskolen i Oslo og Akershus, våren 2013. Testrapport Eventhandler Teknologi, kunst og design Høgskolen i Oslo og Akershus, våren 2013 Testrapport 1 INNHOLDSFORTEGNELSE 1 INNHOLDSFORTEGNELSE... 1 2 Innledning... 2 3 Formål med testing... 3 3.1 Funksjonalitet...

Detaljer

Båtforening på nett. Produktrapport

Båtforening på nett. Produktrapport Båtforening på nett Hovedprosjekt våren 2009, Høgskolen i Oslo Prosjektgruppe 36 Vegard Skipnes, Rade Vuckovic & Frode Sørensen Produktrapport 1 Sammendrag Denne rapporten er en del av Hovedprosjektet

Detaljer

Innholdsliste Installasjon og oppsett. Registrering. Innstillinger

Innholdsliste Installasjon og oppsett. Registrering. Innstillinger Brukerdokumentasjon Oppdatert informasjon og brukerveiledning finner du også på www.anleggsterminal.no. Har du spørsmål, ta kontakt på epost: anleggsterminal@proresult.no, eller telefon: 57 82 00 06 Innholdsliste

Detaljer

CabinWeb BRUKERDOKUMENTASJON ET SYSTEM UTVIKLET AV DELFI DATA

CabinWeb BRUKERDOKUMENTASJON ET SYSTEM UTVIKLET AV DELFI DATA CabinWeb BRUKERDOKUMENTASJON ET SYSTEM UTVIKLET AV DELFI DATA Sist oppdatert 18.02.2010 INNHOLD INNHOLD... 1 HVA ER CABINWEB... 2 HVA KAN DU BRUKE CABINWEB TIL?... 3 HVA ER NYTT I CABINWEB VERSJON 2.0...

Detaljer

Androidene. Midtveisrapport. INF5261 Jon Lønne og Øyvind Marthinsen

Androidene. Midtveisrapport. INF5261 Jon Lønne og Øyvind Marthinsen Midtveisrapport INF5261 Jon Lønne og Øyvind Marthinsen 14. mars 2008 Innholdsfortegnelse Introduksjon 1 Forord 1 Bakgrunn 1 Android 2 Hva er Android? 2 Synopsis 2 Hvem står bak 2 Lisensiering 2 Teknisk

Detaljer

Forprosjektrapport. Presentasjon. Studentgruppen. Bekk Consulting AS. Android app for aktivering av jakt- og fiskekort

Forprosjektrapport. Presentasjon. Studentgruppen. Bekk Consulting AS. Android app for aktivering av jakt- og fiskekort Forprosjektrapport Presentasjon Tittel: Oppgave: Gruppemedlemmer: Prosjektgruppe: Veileder: Hovedoppdragsgiver: Kunde av oppdragsgiver: Ansvarlig for gruppen: Faglig veileder hos BEKK: Android app for

Detaljer

Kandidat nr. 1, 2 og 3

Kandidat nr. 1, 2 og 3 Kandidat nr. 1, 2 og 3 Rapport 1 IT202E Bacheloroppgave i Informatikk Vår 2011 Mobilapplikasjonsutvikling med Scrum 1 Innhold Innledning... 3 Overordnet Prosjektplan... 3 Produktbacklog... 5 Sprint planning

Detaljer

Kravspesifikasjon. Vedlegg A

Kravspesifikasjon. Vedlegg A Vedlegg A Kravspesifikasjon Dette dokumentet beskriver krav til applikasjonen som skal designes i prosjektet Nettverksbasert applikasjonsovervåking. Det beskrives her både krav til selve applikasjonen

Detaljer

Kravspesifikasjon. Leserveiledning Kravspesifikasjonen består av følgende deler: Presentasjon Om bedriften

Kravspesifikasjon. Leserveiledning Kravspesifikasjonen består av følgende deler: Presentasjon Om bedriften Kravspesifikasjon Presentasjon Hovedprosjektet gjennomføres ved Høgskolen i Oslo, avdelingen for ingeniørutdanning. Målet med oppgaven er å utvikle en online webshop for bestilling av postkasser. Dette

Detaljer

Innholdsfortegnelse. Side 118 av 135

Innholdsfortegnelse. Side 118 av 135 Forord Dette produktet er endel av hovedprosjektoppgaven til gruppe 33 vår 2011. Produktet har som hensikt å lagre SMS meldinger i en Noark standard. Leseren av denne brukermanualen skal ikke trenge noen

Detaljer

Produktrapport Gruppe 9

Produktrapport Gruppe 9 Forord Dette dokumentet er ment for personer som skal vedlikeholde, endre eller utvikle systemet. Produktdokument innholder informasjoner om programmets funksjoner og hvordan de fungerer. Før bruk av dette

Detaljer

Forprosjektrapport. Feilsøkingsverktøy for Homebase AS INNHOLD

Forprosjektrapport. Feilsøkingsverktøy for Homebase AS INNHOLD Forprosjektrapport Feilsøkingsverktøy for Homebase AS INNHOLD Presentasjon Sammendrag Om bedriften Dagens situasjon Mål og rammebetingelser Funksjonelle krav: Ikke-funksjonelle krav: Løsninger Analyse

Detaljer

Testrapport Prosjekt nr. 2011-22 Det Norske Veritas

Testrapport Prosjekt nr. 2011-22 Det Norske Veritas Prosjekt nr. 2011 22 Testrapport Hovedprosjektets tittel Implementering av plugin og utvikling av wizard for Det Norske Veritas Prosjektdeltakere Magnus Strand Nekstad s156159 Jørgen Rønbeck s135779 Dato

Detaljer

Oblig 5 Webutvikling. Av Thomas Gitlevaag

Oblig 5 Webutvikling. Av Thomas Gitlevaag Oblig 5 Webutvikling Av Thomas Gitlevaag For oppgave 1 og 2 skal dere levere en funksjonell webside på deres hjemmeområde. Dere skal også levere alle phps-filene slik at man for en hver side kan slenge

Detaljer

4.5 Kravspesifikasjon

4.5 Kravspesifikasjon 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

Detaljer

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang VMware Horizon View Client Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang Introduksjon Fjerntilgang er blitt oppgradert til en bedre og mer moderne løsning. Programmet er identisk

Detaljer

Forprosjekt gruppe 13

Forprosjekt gruppe 13 Forprosjekt gruppe 13 Presentasjon Tittel: Oppgave: Periode: Gruppemedlemmer: Veileder: Oppdragsgiver: Kontaktperson: Mobilbillett i HTML5 Utvikle en mobil billettautomat innenfor kategorien dedikert web

Detaljer

BRUKERMANUAL. Telsys Online Backup

BRUKERMANUAL. Telsys Online Backup BRUKERMANUAL Telsys Online Backup TELSYS AS - 06.08.2009 Innhold Generelt... 3 Kom i gang... 4 Installasjon av Telsys Online Backup Proff/Standard... 4 Start opp klienten for første gang!... 10 Logg inn...

Detaljer

Ble ferdig med prosjektskisse. Sett på forskellige rammeverk for php. Lager milepæl for to uker.

Ble ferdig med prosjektskisse. Sett på forskellige rammeverk for php. Lager milepæl for to uker. Logg 22 oktober 2013 Vi skriver status rapport og starter også med å skrive logg idag. Vi har vært i kontakt med mange firmaer uten alt for mye interesse fra deres side. Vi fortsetter å søke etter oppgave.

Detaljer

Vedlegg Side 83 av 155

Vedlegg Side 83 av 155 4 Side 83 av 155 Innholdsfortegnelse 1 Kravspesifikasjon... 86 2 Kravspesifikasjon 2.0... 92 3 Domenemodell... 98 4 UseCase Diagram Oversikt... 102 6 Detaljert beskrivelse av UseCase Diagram... 106 Webapplikasjon...

Detaljer

Humanware. Trekker Breeze versjon 2.0.0.

Humanware. Trekker Breeze versjon 2.0.0. Humanware Trekker Breeze versjon 2.0.0. Humanware er stolte av å kunne introdusere versjon 2.0 av Trekker Breeze talende GPS. Denne oppgraderingen er gratis for alle Trekker Breeze brukere. Programmet

Detaljer

1 Inledning. 1.1 Presentasjon. Tittel Informasjonsplattform for NorgesGruppen. Oppgave Utvikle en informasjonsplattform for butikkene i NorgesGruppen

1 Inledning. 1.1 Presentasjon. Tittel Informasjonsplattform for NorgesGruppen. Oppgave Utvikle en informasjonsplattform for butikkene i NorgesGruppen Kravspesifikasjon 1 Inledning 1.1 Presentasjon Tittel Informasjonsplattform for NorgesGruppen Oppgave Utvikle en informasjonsplattform for butikkene i NorgesGruppen Periode 3. Januar 14. Juni Gruppemedlemmer

Detaljer

Installere JBuilder Foundation i Windows XP

Installere JBuilder Foundation i Windows XP Installere JBuilder Foundation i Windows XP Installasjon av JBuilder Foundation på Windows (dekker her spesifikt fremgangen ved bruk av Microsoft Windows XP Professional, men det vil mest trolig ikke være

Detaljer

Programmeringsrammeverk som kan installeres på Windows Mobiloperativsystem

Programmeringsrammeverk som kan installeres på Windows Mobiloperativsystem .NET Android AOSP Programmeringsrammeverk som kan installeres på Windows operativsystem Mobiloperativsystem Android Open Source Project. Har i oppgave å vedlikeholde og videreutvikle Android operativsystem.

Detaljer

Testdokumentasjon. Testdokumentasjon Side 1

Testdokumentasjon. Testdokumentasjon Side 1 Testdokumentasjon Testdokumentasjon Side 1 1. Innledning Dette er en testrapport som er laget for å teste applikasjonene for ios og Android plattformer. Den vil være delt opp i 4 deler. Den første delen

Detaljer

1. Forord 2. Leserveiledning

1. Forord 2. Leserveiledning KRAVSPESIFIKASJON 1 1. Forord Hensikten med kravspesifikasjonen er at den skal fungere som et styringsdokument under prosessen og definere rammer og betingelser rundt hovedprosjektet. Den er utviklet etter

Detaljer

Komme igang med App Inventor Introduksjon App Inventor PDF

Komme igang med App Inventor Introduksjon App Inventor PDF Komme igang med App Inventor Introduksjon App Inventor PDF Introduksjon Dette er en introduksjon til MIT App Inventor, hvor du skal lære å lage applikasjoner til Android. Å lage apps i App Inventor er

Detaljer

PROSESSDOKUMENTASJON

PROSESSDOKUMENTASJON PROSJEKT NR.: 10-30 Studieprogram: Anvendt Datateknologi Postadresse: Postboks 4 St. Olavs plass, 0130 Oslo Besøksadresse: Holbergs plass, Oslo TILGJENGELIGHET: Papir og elektronisk Telefon: 22 45 32 00

Detaljer

Bachelorprosjekt 2015

Bachelorprosjekt 2015 Bachelorprosjekt 2015 Høgskolen i Oslo og Akershus Tam Ha (s171513) Arslan Yousaf (s189135) Gabriel Noraker Alfarrustad (s161910) Eivind Lund (s180381) Phillip Padiernos Næss (s162951) Forprosjekt Prosjektets

Detaljer

Testrapport. Studentevalueringssystem

Testrapport. Studentevalueringssystem Testrapport Studentevalueringssystem 1 Forord 1.2 Forord Dette prosjektet er et hovedprosjekt i data ved Høgskolen i Oslo, avdeling for ingeniørutdanning, og gjennomføres i samarbeid med Ingeniøravdeling

Detaljer

Læringsplattform for IT-fag basert på HTML5 utviklet i CakePhp

Læringsplattform for IT-fag basert på HTML5 utviklet i CakePhp Læringsplattform for IT-fag basert på HTML5 utviklet i CakePhp { En selvstendig plattform som kan brukes til å formidle kurs på nett med dagsaktuell teknologi. Oppgave 5, av Fredrik Johnsen Oppgavestiller

Detaljer

Kjørehjelperen Testdokumentasjon

Kjørehjelperen Testdokumentasjon 2013 Kjørehjelperen Testdokumentasjon Høgskolen i Oslo og Akershus Henrik Hermansen og Lars Smeby Gruppe 8 26.05.2013 Forord Dette dokumentet tar for seg to forskjellige ting. Først forklares det hvordan

Detaljer

Brukerdokumentasjon... 2. 1.1 Logg inn... 2. 1.2 Ny bruker... 3. 1.3 Hovedmeny... 6. 1.4 Oppdrag... 8. 1.4.1 Oppdragsgiver... 8

Brukerdokumentasjon... 2. 1.1 Logg inn... 2. 1.2 Ny bruker... 3. 1.3 Hovedmeny... 6. 1.4 Oppdrag... 8. 1.4.1 Oppdragsgiver... 8 Innhold Brukerdokumentasjon... 2 1.1 Logg inn... 2 1.2 Ny bruker... 3 1.3 Hovedmeny... 6 1.4 Oppdrag... 8 1.4.1 Oppdragsgiver... 8 1.4.2 Opprett oppdrag... 9 1.4.3 Slett oppdrag... 19 1.4.4 Hjelper...

Detaljer

Brother Image Viewer-veiledning for Android

Brother Image Viewer-veiledning for Android Brother Image Viewer-veiledning for Android Version 0 NOR Definisjoner av merknader Vi bruker det følgende ikonet i denne brukermanualen: MERK Merknader forteller hvordan du bør reagere på en situasjon

Detaljer

Forprosjekt. Accenture Rune Waage, rune.waage@accenture.com, 91605634

Forprosjekt. Accenture Rune Waage, rune.waage@accenture.com, 91605634 Forprosjekt Presentasjon Gruppe 19: Event-planlegger Andreas Berglihn s169991 Harald R. Svendsen s127142 Gruppe Gruppe 19 Andreas Berglihn, s169991 Harald R. Svendsen s127142 Oppgave Eventplanlegger Utvikle

Detaljer

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

Denne rapporten er beregnet for dataansvarlig på Grefsenhjemmet, den som skal installere, vedlikeholde og modifisere systemet. Produktrapport Forord Denne rapporten er beregnet for dataansvarlig på Grefsenhjemmet, den som skal installere, vedlikeholde og modifisere systemet. Dataansvarlig eller supporter trenger informasjon om

Detaljer

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

Steg 1: Installasjon. Steg 2: Installasjon av programvare. ved nettverkstilkoblingen på baksiden av kameraet. Kameraet vil rotere og tilte automatisk. Innhold Steg 1: Installasjon... 3 Steg 2: Installasjon av programvare... 3 Steg 3. Oppsett av wifi, email varsling og alarm... 5 Steg 4: Installasjon og oppsett av mobil app... 8 Steg 5: Installasjon og

Detaljer

VEDLEGG 1 KRAVSPESIFIKASJON

VEDLEGG 1 KRAVSPESIFIKASJON VEDLEGG 1 KRAVSPESIFIKASJON INNHOLDSFORTEGNELSE Forord... 2 1 Systembeskrivelse... 2 2 Mål for systemet... 3 3 Funksjonelle krav... 4 4 Ikke-funksjonelle krav... 5 5 Use-case diagram... 6 6 Rammekrav...

Detaljer

Høgskolen i Oslo og Akershus. Forprosjektrapport. Gruppe 11

Høgskolen i Oslo og Akershus. Forprosjektrapport. Gruppe 11 Høgskolen i Oslo og Akershus Forprosjektrapport Gruppe 11 Michael Pande, Petter L. Olsen, Diego A. Pasten 23.01.2015 Presentasjon Vi er en gruppe på tre dataingeniørstudenter som har tatt på oss oppgaven

Detaljer

Brukerveiledning for Vesuv

Brukerveiledning for Vesuv Brukerveiledning for Vesuv Innhold Pålogging... 3 Registrering av ny bruker... 3 Glemt passord... 4 Startsiden... 5 Nytt utbrudd... 6 Nedtrekksmenyer... 6 Obligatoriske felt... 7 Spørsmål vises og fjernes...

Detaljer

Brukermanual. Versjon 1.3.5. Copyright 2002 Devinco AS

Brukermanual. Versjon 1.3.5. Copyright 2002 Devinco AS Brukermanual Versjon 1.3.5 Copyright 2002 Devinco AS Manual SpeedyCraft Client 1. utgave, mai 2003 (V 1.3.5) Devinco AS Dersom du har kommentarer, ønsker eller synspunkter ang. denne manualen, vennligst

Detaljer

HiOA TDK. Ingeniørfag data. DATS1600 Programutvikling. Eva Hadler Vihovde. Prosjektoppgaven 2015. - Prosessdokumentasjon - Alternativ 1

HiOA TDK. Ingeniørfag data. DATS1600 Programutvikling. Eva Hadler Vihovde. Prosjektoppgaven 2015. - Prosessdokumentasjon - Alternativ 1 HiOA TDK Ingeniørfag data DATS1600 Programutvikling Eva Hadler Vihovde Prosjektoppgaven 2015 - Prosessdokumentasjon - Alternativ 1 - Forsikring - Gruppe #14 Studentnavn Marius Alexander Skjolden Hans Christian

Detaljer

Kravspesifikasjon Innholdsfortegnelse

Kravspesifikasjon Innholdsfortegnelse Kravspesifikasjon Innholdsfortegnelse 1.Introduksjon... 2 1.1 Medlemmer:... 2 1.2 Oppdragsgiver:... 2 1.3 Kontaktsperson hos Retriever:... 2 1.4 Veileder:... 2 1.5 Bakgrunn... 3 2. Om Kravspesifikasjonen...

Detaljer

1. Intro om SharePoint 2013

1. Intro om SharePoint 2013 Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Intro om SharePoint 2013 Stein Meisingseth 09.08.2013 Lærestoffet er utviklet for faget LO205D Microsoft SharePoint 1. Intro om SharePoint

Detaljer

Hvordan slette midlertidige filer i Java kontrollpanel

Hvordan slette midlertidige filer i Java kontrollpanel Hvordan slette midlertidige filer i Java kontrollpanel For Windows XP 1. Lukk Internet Explorer eller andre nettlesere 2. Klikk på Start Innstillinger Kontrollpanel: 3. Et nytt vindu vises, finn Java/Java

Detaljer

Installere JBuilder Foundation i Mandrake Linux 10.0

Installere JBuilder Foundation i Mandrake Linux 10.0 Installere JBuilder Foundation i Mandrake Linux 10.0 Installasjon av JBuilder Foundation på Linux (dekker her spesifikt fremgangen ved bruk av Mandrake Linux 10.0, men distribusjon vil gjøre liten eller

Detaljer

S i d e 1. Brukerveiledning Brevfabrikken

S i d e 1. Brukerveiledning Brevfabrikken S i d e 1 Brukerveiledning Brevfabrikken S i d e 2 Innholdsfortegnelse 1 Brevfabrikken innledning 4 2 Komme i gang /Registrer 5 2.01 Registrer 5 2.02 Last ned program 5 3 Min side: 6 3.01 Kontodetaljer

Detaljer

Introduksjon til Min Sky - http://min-sky.no

Introduksjon til Min Sky - http://min-sky.no Introduksjon til Min Sky - http://min-sky.no Min Sky 1 Velkommen til Min Sky! Min Sky er en tjeneste for å lagre dine bilder og filer enkelt og trygt i nettskyen. Når disse er lagret kan du se dem på din

Detaljer

Velkommen til Brother's Keeper 6 for Windows!

Velkommen til Brother's Keeper 6 for Windows! Velkommen til Brother's Keeper 6 for Windows! Det kan være at du har mottatt en Installasjons-CD eller CD/minnepinne/hentet fra internett med programmet. Dette dokumentet følger med Installasjons-CD fra

Detaljer

FORPROSJEKTRAPPORT EMILIE STRAND, RANNVEIG A. SKJERVE OG MADELEINE RØNNING

FORPROSJEKTRAPPORT EMILIE STRAND, RANNVEIG A. SKJERVE OG MADELEINE RØNNING 23. JANUAR 2015 FORPROSJEKTRAPPORT EMILIE STRAND, RANNVEIG A. SKJERVE OG MADELEINE RØNNING Innholdsfortegnelse Presentasjon... 2 Sammendrag... 2 Dagens situasjon... 2 Mål og rammebetingelser... 2 Mål...

Detaljer

Pedagogisk regnskapssystem

Pedagogisk regnskapssystem av Benjamin Dehli og Jørgen Tellnes Innhold 1 Innledning 2 Om forprosjektet 2.1 Forprosjektgruppen 2.2 Målsetninger med forprosjektet 3 Beskrivelse av hovedprosjektet 3.1 Arbeidstittel 3.2 Prosjektgruppe

Detaljer

Kravspesifikasjon. Høgskolen i Oslo, våren 2011 Sted og dato: Oslo, 9. februar 2011. Gruppemedlemmer

Kravspesifikasjon. Høgskolen i Oslo, våren 2011 Sted og dato: Oslo, 9. februar 2011. Gruppemedlemmer Kravspesifikasjon Høgskolen i Oslo, våren 2011 Sted og dato: Oslo, 9. februar 2011 Gruppemedlemmer Adeel Yousaf Khan s141459 Mats Klingenberg Naustdal s148155 Nur M. Ahmed s148108 Thomas Wiborg s161335

Detaljer

Nettside, Webshop og Beregningsmodell. Hovedprosjekt våren 2009

Nettside, Webshop og Beregningsmodell. Hovedprosjekt våren 2009 Nettside, Webshop og Beregningsmodell Hovedprosjekt våren [Type the abstract of the document here. The abstract is typically a short summary of the contents of the document. Type the abstract of the document

Detaljer

Forprosjektrapport. Høgskolen i Oslo Våren 2007-02-02. Dr.Klikk. Gruppe 25. Håkon Drange s130167 Lars Hetland s127681

Forprosjektrapport. Høgskolen i Oslo Våren 2007-02-02. Dr.Klikk. Gruppe 25. Håkon Drange s130167 Lars Hetland s127681 Forprosjektrapport Høgskolen i Oslo Våren 2007-02-02 Dr.Klikk Gruppe 25 Håkon Drange s130167 Lars Hetland s127681 Innholdsfortegnelse PRESENTASJON... 2 SAMMENDRAG... 2 OM BEDRIFTEN... 2 DAGENS SITUASJON...

Detaljer

Presentasjon. Kristian Hewlett- Packard 29.05.2012

Presentasjon. Kristian Hewlett- Packard 29.05.2012 2012 Presentasjon Kristian Hewlett- Packard 29.05.2012 1 Innledning Denne innledningen inneholder informasjon om gruppen, samt bakgrunn og mål for oppgaven og en introduksjon til temaet. 1.1 Gruppen Vår

Detaljer

Veiledning for vedlikehold av informasjon i RESH. Versjonskontroll. Versjon Status/ Endring Ansvarlige Dato

Veiledning for vedlikehold av informasjon i RESH. Versjonskontroll. Versjon Status/ Endring Ansvarlige Dato Versjonskontroll Versjon Status/ Endring Ansvarlige Dato 1.0 Godkjent for produksjon / Pål Arve Sollie 30.juni 2011 1.1 /revidert Pål Arve Sollie 12.okt 2011 1.2 /ikoner og tekster oppdatert Pål Arve Sollie

Detaljer

Maestro Klientadministrasjon

Maestro Klientadministrasjon Maestro Klientadministrasjon 17.11.2011 12:41 Side 1 av 32 Innhold Installasjon av Maestro Klientadministrasjon Kravspesifikasjon Systemoversikt og installasjon i korte trekk Installasjon punktvis 1 Nedlasting

Detaljer

Innhold Forord...3 Begreper og akronymer...4 Systembeskrivelse...5 Generelt...5 Funksjonelle krav...7 Ikke-Funksjonelle krav...9 Prioritering...

Innhold Forord...3 Begreper og akronymer...4 Systembeskrivelse...5 Generelt...5 Funksjonelle krav...7 Ikke-Funksjonelle krav...9 Prioritering... Innhold Forord...3 Begreper og akronymer...4 Systembeskrivelse...5 Generelt...5 Funksjonelle krav...7 Ikke-Funksjonelle krav...9 Prioritering...9 2 Forord Denne kravspesifikasjonen har blitt utviklet i

Detaljer

Hvordan deaktivere lisens, installere og oppgradere Handyman på mobil enhet

Hvordan deaktivere lisens, installere og oppgradere Handyman på mobil enhet Hvordan deaktivere lisens, installere og oppgradere Handyman på mobil enhet Innhold 1.Deaktivere lisens til bruker med mobil enhet... 1 Office... 1 Administrator... 2 2.Installere Handyman på mobil enhet

Detaljer

Etiming i VirtualBox!!!!!!!!!! Side 1 av 24

Etiming i VirtualBox!!!!!!!!!! Side 1 av 24 Etiming i VirtualBox!!!!!!!!!! Side 1 av 24 Etiming i VirtualBox!!!!!!!!!! Side 2 av 24 Oppsett av VirtualBox for bruk til Etiming. Mange ønsker et portabelt oppsett med etiming som kan brukes på flere

Detaljer

Gruppe 33 - Hovedprosjekt

Gruppe 33 - Hovedprosjekt Gruppe 33 - Hovedprosjekt s188080 Joakim Rishaug s181130 Sondre Sparby Boge s188098 Martin Hagen s178816 Lars Erik Kasin 1 av 7 Kravspesifikasjon Forord Kravspesifikasjonen utformes både for kunden, og

Detaljer

Forprosjektrapport. Presentasjon. Sammendrag. Tittel Informasjonsplatform for NorgesGruppen

Forprosjektrapport. Presentasjon. Sammendrag. Tittel Informasjonsplatform for NorgesGruppen Forprosjektrapport Presentasjon Tittel Informasjonsplatform for NorgesGruppen Oppgave Utvikle en informasjonsplatform for butikkene i NorgesGruppen Periode 3. Januar 14. Juni Gruppemedlemmer Joakim Sjögren

Detaljer

Virus på Mac? JA! Det finnes. Denne guiden forteller deg hva som er problemet med virus på Mac hva du kan gjøre for å unngå å bli infisert selv

Virus på Mac? JA! Det finnes. Denne guiden forteller deg hva som er problemet med virus på Mac hva du kan gjøre for å unngå å bli infisert selv Virus på Mac? JA! Det finnes. Denne guiden forteller deg hva som er problemet med virus på Mac hva du kan gjøre for å unngå å bli infisert selv «Å tro at det ikke finnes virus på Mac er dessverre litt

Detaljer

3. Kravspesifikasjon. Experior - rich test editor for FitNesse -

3. Kravspesifikasjon. Experior - rich test editor for FitNesse - 3. Experior - rich test editor for FitNesse - 3.1. Forord Dette dokumentet inneholder krav til funksjonalitet i Experior og hvordan denne skal integreres inn i selve FitNesse. I tillegg spesifiseres krav

Detaljer

MyLocator2 Brukermanual v1.6 (20.08.2013) Utdrag av vlocpro2/vlocml2 brukermanual

MyLocator2 Brukermanual v1.6 (20.08.2013) Utdrag av vlocpro2/vlocml2 brukermanual MyLocator2 Brukermanual v1.6 (20.08.2013) Utdrag av vlocpro2/vlocml2 brukermanual 5.1 MyLocator2 MyLocator2 konfigurasjons verktøyet er en programpakke som tillater brukeren å konfigurere vloc 2. generasjons

Detaljer

Prosessrapport. Utvikling av moduler til CMS for bonefish.no. Gruppe 08-23

Prosessrapport. Utvikling av moduler til CMS for bonefish.no. Gruppe 08-23 Utvikling av moduler til CMS for bonefish.no Gruppe 08-23 Prosessrapport for hovedprosjektet utvikling av moduler til CMS for bonefish.no ved Høgskolen i Oslo, avdeling for Ingeniørutdanning våren 2008.

Detaljer

TESTRAPPORT... 91 FORORD... 91 INNHOLD... 92 23 INNLEDNING... 93 24 TEST AV SYSTEMET... 93. 24.1 Databasen og SQL spørringer... 93

TESTRAPPORT... 91 FORORD... 91 INNHOLD... 92 23 INNLEDNING... 93 24 TEST AV SYSTEMET... 93. 24.1 Databasen og SQL spørringer... 93 90 Testrapport Forord Dette dokumentet er testrapporten for hovedprosjektet, og skal gi en oversikt over all testing utført på systemet under og etter ferdigstilling, samt feil og løsninger gruppen har

Detaljer

Nyheter i Office 2016 NYHETER, FUNKSJONER, FORKLARING

Nyheter i Office 2016 NYHETER, FUNKSJONER, FORKLARING Nyheter i Office 2016 NYHETER, FUNKSJONER, FORKLARING 1 Word 1.1 Gjør ting raskt med Fortell meg det Du vil legge merke til en tekstboks på båndet i Word 2016 med teksten Fortell meg hva du vil gjøre.

Detaljer

Oblig 4 Webutvikling. Oppgave

Oblig 4 Webutvikling. Oppgave Oblig 4 Webutvikling Oppgave Lag din egen Wordpress- site der du tester ut CMS- systemet. Det å lage egne templates fra bunnen kan være noe komplisert, så det holder for dette prosjektet om dere modifiserer

Detaljer

Brukerveiledning WordPress. Innlogging:

Brukerveiledning WordPress. Innlogging: Brukerveiledning WordPress Her er en liten guide for hjelpe deg gjennom det grunnleggende i Wordpress. Denne veilederen vil ta deg gjennom: Innlogging Lage en side Lage et innlegg Innlogging: For å logge

Detaljer

Løypelegging ved bruk av

Løypelegging ved bruk av Løypelegging ved bruk av 1 Innholdsfortegnelse 1 Bruk av OCAD 9...3 2 Kart...3 3 Oppstart...3 4 Plasering av detaljer...5 5 Løyper...7 6 Postbeskrivelse...9 7 Innstillinger...11 7.1 For løyper... 11 7.2

Detaljer

Testrapport for Sir Jerky Leap

Testrapport for Sir Jerky Leap Jasmine Garry (s135600) Line Sørensen (s135590) Fredrik Hoem Grelland (s135595) Tor Anders Gustavsen (s127668) 1 1. Forord Dette dokumentet inneholder informasjon og redegjøring av tester foretatt i forbindelse

Detaljer

Remote Desktop Services

Remote Desktop Services Brukerveiledning Remote Desktop Services Fra Eltele AS 1 Innholdsfortegnelse Multi-Faktor Autentisering... 3 Pålogging... 3 Web Interface (anbefales)... 4 RemoteApp på Skrivebord... 6 Remote Desktop Klient

Detaljer

Denne brukerguiden beskriver hvordan man går frem for å spille simuleringen Hjørne pushback på web.

Denne brukerguiden beskriver hvordan man går frem for å spille simuleringen Hjørne pushback på web. Brukerguide Hjørne pushback Denne brukerguiden beskriver hvordan man går frem for å spille simuleringen Hjørne pushback på web. Innhold Spille simuleringen på web... 1 Før du starter... 1 Innlogging...

Detaljer