Hovedprosjekt i informasjonsteknologi Høgskolen i Oslo og Akershus Forprosjektrapport Vår 2017 Gruppe 20 Odd Magnus Meyer Vidar Vasrud Eirik Stensbøl Martin Løland s236639 s159718 s929596 s236323
Innholdsfortegnelse Presentasjon... 1 Gruppe... 2 Oppgave... 2 Oppdragsgiver... 2 Sammendrag... 3 Dagens situasjon... 4 Mål og rammebetingelser... 5 Mål... 5 Funksjonalitetskrav... 5 Teknologier... 5 Rammebetingelser... 5 Løsninger/alternativer... 7 Xamarin... 7 Visual Studio... 7 Visual Studio Team Services... 7 SharePoint Online... 7 Alternativer... 7 Analyse av virkninger... 8
Presentasjon Oppdragsgiver GS1 Norway Prosjekttittel Oppgave Mobil DataBar Skanner Mobil applikasjon for skanning av GS1 DataBar Expanded Stacked. Med denne type DataBar vil applikasjonen hente ut blant annet informasjon om utløpsdato og batch/lot nr. Dette kan gi forbrukeren informasjon om rabatter basert på utløpsdato og sporingsinformasjon av matvaren. Hovedtanken bak dette vil være at det blir mindre svinn og tryggere handel av matvarer. Periode 09.01.17 24.05.17 Gruppe 20 Gruppemedlemmer Odd Magnus Meyer s236639 Vidar Vasrud s159718 Eirik Stensbøl s929596 Martin Løland s236323 Veileder Eksterne Veiledere Ismail Hassan Anders Askevold e-mail: aa@gs1.no Tlf: 22 97 13 20 Terje Menkerud e-mail: tm@gs1.no Tlf: 22 97 13 20 Nettside http://student.cs.hioa.no/bachelorprosjekter/data/2017/20/ 1
Gruppe Gruppen består av medlemmene Odd Magnus Meyer (Informatikk), Vidar Vasrud (Ingeniørfag - Data), Eirik Stensbøl (Ingeniørfag - Data) og Martin Løland (Ingeniørfag - Data). Oppgave GS1 Norway ønsker en mobil applikasjon som skal brukes som et handelsverktøy. Det unike med denne løsningen er at den skal skanne en strekkode av typen GS1 DataBar Expanded Stacked. Med denne typen strekkode kan man legge inn en rekke ekstra informasjon. Til det ønskede formålet skal det legges inn best før dato, eller siste forbruksdag på ulike matprodukter sammen med sporbarhetsinformasjon. Kundene som anvender applikasjonen vil kunne skanne varene sine og få ulike rabatter ut fra hvor nære man er utløpsdato. Hvis et produkt er forbi siste forbruksdag dato, vil dette varsles og produktet vil ikke kunne selges. I tillegg til brukergoder skal applikasjonen kunne spore tilbake hvor den gitte varen kommer fra. Dette vil være spesielt viktig i situasjoner hvor det oppstår eventuelle problemer med produktet. Man vil da uten vanskeligheter finne tilbake til hvor varen er produsert. Det skal så gis mulighet til å blokkere andre varer fra samme produsent/fabrikk og lignende. Oppdragsgiver Oppdragsgiveren GS1 Norway er en not-for-profit organisasjon og jobber med utvikling og vedlikehold av effektiv vare- og informasjonsflyt. GS1 Norway er et datterselskap av GS1 som er representert i over 112 land og over 1 million bedrifter bruker deres standarder. De er ansvarlig for strekkodestandarder i Norge. GS1 effektiviserer kommunikasjonen i verdikjeder ved å lagre informasjon i strekkoder som kan leses på tvers av bransjer og landegrenser. Dette forenkler aktørenes handel og logistikkprosesser. Nettside: http://www.gs1.no/. 2
Sammendrag I løpet av våren 2017 vil gruppen utvikle en mobil applikasjon som skal anvendes som et kontroll- og handelsverktøy. Verktøyet skal gi brukergoder samt sporingsmuligheter for alle varer merket med en strekkode av typen GS1 DataBar Expanded Stacked, som GS1 Norway ønsker å erstatte den gjeldende GS1 EAN-13 strekkoden med. I utgangspunktet er applikasjonen en «Proof of concept», den skal altså fungere med den nye strekkoden for å gi rabatterte matvarer og vise mulighetene ved bruk av denne i forhold til EAN-13. Hvis gruppen har ekstra tid kan denne videreutvikles til en fullkommen handelsapp. Gruppen skal ha et nært samarbeid med oppdragsgiver GS1 Norway, hvor Anders Askevold og Terje Menkerud vil fungere som veiledere. GS1 Norway har gitt meget frie tøyler til selve utviklingen av produktet, med unntak at applikasjonen skal fungere på ios og Android. 3
Dagens situasjon GS1 jobber med GS1-systemet og forbedring av forretningsprosesser. Vare- og informasjonsflyten skal bli enklere, raskere og sikrere. De hjelper bedrifter og bransjer med å analysere og identifisere muligheter ved bruk av nevnte system. De tilbyr strekkodetjenester, arrangementer og kurs, onlinetjenester og consulting. Kompetansesenteret, GS1 Norway Smart Centre, er et showroom hvor verdikjeden kan oppleves live for teoretisk og praktisk læring. GS1 ønsker at bruk av strekkoder for forbrukere skal moderniseres, og dette spesielt mot matvarebransjen. Dette for å gi forbrukere en enklere, billigere og økonomisk handel. Samtidig skal det gi en positiv konsekvens for miljøet, fordi automatisk rabattering av matvarer vil hjelpe til salg av varer som ellers ikke ville blitt kjøpt. Vår jobb er derfor å utvikle en mobil applikasjon som forbrukeren bruker til å skanne strekkoder med sitt enhetskamera, og dermed gi informasjon om utløpsdato og rabatt basert på utløpsdatoen. Informasjonen skal også inneholde sporbarhetsinformasjon for situasjoner som krever tilbakekalling av produkter. 4
Mål og rammebetingelser Mål Hovedmålet for bachelorprosjektet er å tilby GS1 en mobil applikasjon som skal brukes ved demonstrasjon for kunder og partnere som NorgesGruppen og Coop. Dette for å vise hvilke muligheter det ligger i bruk av strekkoder. I tillegg har vi disse målene og funksjonalitetskrav: Den mobile applikasjonen skal være open source. GS1 sine partnere og kunder skal kunne bruke applikasjonen som inspirasjon og utgangspunkt for å utvikle egen applikasjon. De skal om ønsket vedlikeholde og videreutvikle kildekoden. Kontroll av sporbarhets- og holdbarhetsinformasjon på dagligvarer. Funksjonalitetskrav Det skal kunne skannes produkter med strekkode av typen GS1 DataBar Expanded Stacked og legge disse til i en liste. De skannede produktene skal rabatteres ut fra deres utløpsdato. Det skal være mulig å legge til flere av samme produkt. Det skal være mulig å fjerne produkter fra listen. Applikasjonen skal varsle forbrukeren om en skannet vare har passert sin holdbarhetsdato, eller som av andre grunner er sperret for salg. Det skal være mulighet for å overstyre dagens dato i applikasjonen. Mulighet for administrasjonsgrensesnitt. o Sperre batch/lot.nr. Det skal være mulig å logge inn som forbruker. o Transaksjonslogg o Brukergoder o Totalt sparte kr fra applikasjons rabatter Hvis ønsket av forbruker skal det være mulighet for å betale via applikasjonen med Vipps/Mcash osv. Teknologier Xamarin (C#/XML) o Barcode skanner: ZXing.Net.Mobile 1 Visual Studio Team Services Visual Studio SharePoint Online Rammebetingelser Enhetens kamera skal brukes til å skanne strekkoder av typen GS1 DataBar Expanded Stacked. Utvikle en mobil applikasjon (ios eller Android) 1 https://components.xamarin.com/view/zxing.net.mobile 5
Applikasjonen skal kunne kjøres på mobile ios-enheter enten som native eller som webapplikasjon. Applikasjonen skal kunne kjøres på mobile android-enheter enten som native eller som webapplikasjon. 6
Løsninger/alternativer I tillegg til de rammebetingelser satt av oppdragsgiver, GS1, har vi valgt å benytte flere teknologier. Her forklarer vi de nærmere: Xamarin Xamarin er et rammeverk eid av Microsoft som bruker C# som programmeringsspråk, med støtte for alle eksisterende ios og Android APIer. Rammeverkets intensjon er å dele mest mulig kode mellom ios- og Androidprosjekter. Brukergrensesnittet trekkes frem som den mest splittende delen, hvor Xamarin også tilbyr et eget Xamarin.Forms API for å lage delbart brukergrensesnitt i C# eller XAML. C# er ganske lik på syntaks som Java, som alle i gruppen har erfaring med. Backend-koden kan også brukes videre til en eventuelt web-applikasjon. Xamarin kan brukes med Xamarin Studio eller Visual Studio. Visual Studio Visual studio er et utviklingsmiljø for websider og mobile applikasjoner. VS ligger som kjernen bak Xamarin. Visual Studio Team Services Visual studio team services er et verktøy som anvender Git sammen med en rekke organiserings muligheter. Git baserer seg på å la flere personer arbeide med samme kode samtidig uten å skrive over eventuelle endringer andre har gjort samtidig. Alle brukerne har mulighet til å laste ned de nyeste endringene av koden, mens de kan laste opp egne endringer. Alle endringene loggføres slik at man lett kan finne hvem som har gjort hvilke forandringer. Akkurat som GitHub fungerer VSTS sine nettsider som en lagringsplass for git-repositories. I tillegg til Git får man god oversikt over organiseringen av selve prosjektet på nettsiden. Man kan legge inn to-do oppgaver, sprints, loggføring av bugs, med mye mer. SharePoint Online SharePoint Online er en skytjeneste fra Microsoft. Her deles dokumentasjon og andre relevante filer for gruppen. På denne måten kan vi se hverandres arbeid og jobbe på samme filer, som for eksempel sluttdokumentasjonen. Alternativer Oppgavens løsning kunne blitt gjort ved å lage en webapplikasjon i HTML5, noe vi har valgt bort. Det finnes fordeler og ulemper med begge løsningene. Subjektivt følte vi å lage native applikasjoner ville gi et mer profesjonelt preg og en større utfordring. Objektivt vil det være lettere å lage en webapplikasjon da man parallelt lager den for begge plattformer samtidig. Negativt er det derimot at applikasjonen vil kjøre i mobilens nettleser og kreve internettilkobling. Man kan lage en hybridapplikasjon, hvor den kan kjøres uten nett, men man vil da miste evnen til å benytte seg av multitouch. Native applikasjoner vil ikke miste denne ferdigheten og vil ikke kreve nett for å fungere. Samtidig vil det være lettere å videreutvikle og optimalisere applikasjonen. 7
Google disk er et alternativ til Sharepoint. Dette er også en skytjeneste hvor filer og dokumenter kan deles innad i en gruppe og hvor medlemmene kan jobbe samtidig på samme dokument. Derimot krever det at man jobber i Google-programmer som Google Dokumenter og Google Regneark. Da skolens konto er i Office 365 og Microsoft-produkter skal brukes i arbeidet ble det bestemt å bruke SharePoint. Dette for å lette arbeidet og slippe å flytte dokumenter og filer mellom Googles sine programmer og Microsoft sine programmer. Visual Studio Team Services vurderte vi å bruke GitHub og Trello. Visual Studio Team Services tilbyr hva disse to verktøyene gir hver for seg i en og samme anvendelse. VSTS gir en tydelig oversikt over alle oppgaver som må gjøres med et kanban-board. I tillegg til dette er det mulighet for å organisere og planlegge sprinter. Disse mulighetene var hva som fikk oss til å bytte fra GitHub og Trello til VSTS. Analyse av virkninger For oss som prosjektgruppe vil dette bli en utfordring i.o.m. at ingen av oss har utviklet for ios før. Som gruppe har vi varierende forkunnskaper både rundt utvikling for mobile enheter og utvikling i C#, og vi har heller ikke brukt Xamarin før. Som gruppe tror vi disse utfordringene vil gjøre oss til bedre utviklere. Ved å velge Xamarin så vil vår løsning kunne utvikles med mest mulig delt kjernekode for ios, Android, Windows og web, og vi vil få erfaring med kryssplattformutvikling. Som gruppe får vi erfaring med utvikling i C#, som er nyttig dersom man skal videre i arbeidslivet med.net. Oppdragsgiver, GS1, vil få en applikasjon som kan brukes til å vise organisasjonsmedlemmer fordelene med GS1 DataBar Expanded Stacked over strekkoden som er å finne i butikker i dag. Applikasjonen vil vise at produkter kan være sporbare helt til forbruker, og at rabatter basert på utløpsdato kan være med å minske matsvinn. Vår løsning vil ha muligheter for videreutvikling mtp. webapplikasjoner, samt videreutvikling eller grunnlag som inspirasjon for å utvikle en fullverdig handleapplikasjon. 8