13
Terje Leirvik, Crystal Kim-Phuong Tran og Jan Andre Slettebakk Høgskolen i Oslo og Akershus Forprosjektrapport Hovedprosjekt for gruppe 26, våren 2017

Forprosjektrapport - HiOAstudent.cs.hioa.no/bachelorprosjekter/data/2017/26/... · Kantega A/S Kirkegata 5 0153 Oslo Om oppdragsgiver Kantega er et ansatteid IT-selskap med i overkant

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Forprosjektrapport - HiOAstudent.cs.hioa.no/bachelorprosjekter/data/2017/26/... · Kantega A/S Kirkegata 5 0153 Oslo Om oppdragsgiver Kantega er et ansatteid IT-selskap med i overkant

TerjeLeirvik,CrystalKim-PhuongTranogJanAndreSlettebakkHøgskoleniOsloogAkershus

ForprosjektrapportHovedprosjektforgruppe26,våren2017

Page 2: Forprosjektrapport - HiOAstudent.cs.hioa.no/bachelorprosjekter/data/2017/26/... · Kantega A/S Kirkegata 5 0153 Oslo Om oppdragsgiver Kantega er et ansatteid IT-selskap med i overkant

2

Innholdsfortegnelse

Forprosjekt–FDir-ML.........................................................................................................3Prosjektgruppe............................................................................................................................3Oppdragsgiver.............................................................................................................................3Omoppdragsgiver.......................................................................................................................3OmFiskeridirektoratet................................................................................................................3Kontaktperson............................................................................................................................3Internveileder............................................................................................................................3Eksternveileder..........................................................................................................................3Prosjektbeskrivelse.....................................................................................................................4Prosjektetshovedbestanddeler...................................................................................................4

Teknologiogrammeverk....................................................................................................5Prosjektkrav................................................................................................................................5Teknologierogavhengigheter.....................................................................................................5Arkitektur...................................................................................................................................5Front-end....................................................................................................................................6Back-end.....................................................................................................................................6Maskinlæring..............................................................................................................................6Versjonshåndtering.....................................................................................................................6DevOpsogContinuousDelivery/Integration...............................................................................7Arbeidstider................................................................................................................................7Prosjektmetodikk........................................................................................................................7Prosjektstyringsverktøy...............................................................................................................7Taushetsplikt...............................................................................................................................8Risikomatrise..............................................................................................................................8

Fremdriftsplan...................................................................................................................9Oppsummering.........................................................................................................................12

Bibliografi.........................................................................................................................13

Page 3: Forprosjektrapport - HiOAstudent.cs.hioa.no/bachelorprosjekter/data/2017/26/... · Kantega A/S Kirkegata 5 0153 Oslo Om oppdragsgiver Kantega er et ansatteid IT-selskap med i overkant

3

Forprosjekt–FDir-MLProsjektgruppeTerjeLeirvik,[email protected],[email protected],[email protected]/SKirkegata50153OsloOmoppdragsgiverKantegaeretansatteidIT-selskapmedioverkantav100medarbeideresomlevererinnovativeIT-løsningersominnfrirhøyekravtilbrukervennlighet,funksjonalitet,sikkerhetogytelsetilblantannetNorgesstørstebank,forsikring,industri,handelogoffentligsektor.KantegaerblantNorgesfremsteeksperterpåsystemutviklingpåJava-plattformogerenaktivbidragsyteridetnorskeJava-miljøetogeraktivepåkonferansersomJavaZone(partner).OmFiskeridirektoratet

Fiskeridirektorateterennorsk,statligetatsomharansvarforfiskeri-oghavbruksforvaltningogharsomoppgaveåfremmelønnsomogverdiskapendenæringsaktivitetgjennombærekraftigogbrukerrettetforvaltningavmarineressurserogmarintmiljøogdeførerblantannetderfortilsynogkontrollmedfiskefartøyforåseatregelverketetterleves.KontaktpersonHans-OveRingstad,[email protected],FørsteamanuensisHiOA,aiko.yamashita@hioa.noYamashitajobberinnenempirisksoftwareengineering,medspesieltfokuspåkodekvalitetogsoftwareevolution(Yamashita,2016).EksternveilederHeidiMork/HenrikQvigstad

Page 4: Forprosjektrapport - HiOAstudent.cs.hioa.no/bachelorprosjekter/data/2017/26/... · Kantega A/S Kirkegata 5 0153 Oslo Om oppdragsgiver Kantega er et ansatteid IT-selskap med i overkant

4

ProsjektbeskrivelseAnalyseverktøymedmaskinlæringforFiskeridirektoratet

MåletfordetteprosjekteterålageetanalyseverktøyisamarbeidmedKantegasominspektøreriFiskeridirektoratetkannyttiggjøresegavforåplanleggehvordebørutføretilsyn.Denoverordnedeproblemstillingenviarbeidermedersomfølger:Hvordankanvi,vedhjelpavmaskinlæring,gjørerisikovurderingenavforskjelligetyperobjekter–somfiskebåter,oppdrettsanleggogmottak–lettereforfiskeridirektoratetslikatdekanretteressursenesineditsannsynlighetenforbrudpåsentralereglererstørst?Risikovurderingidettetilfelletreferertilsannsynlighetenforåfinneavvikfraregelverketveddenevnteobjektene.Fordelenevedenslikløsningerprimærtevnentilåidentifisereobjektersomburdeinspiseresbasertpårisikovurderingen.Sekundærtkandenavslørehvilkefaktorersomøkersannsynlighetenforatetobjektavvikerfrareglementet.Dettekanigjenbrukestilåfortelleinspektørerhvilkespesifikkefaktorerdebørundersøkenærmere.Denforeslåtteløsningenertodelt:

• Viutviklerenmaskinlæringsalgoritmesom,vedhjelpavlærings-ogtestdata,vilkunneutføreenrisikoanalyseogtilleggdeforskjelligeobjekteneenvurdering.

• Viutviklerenwebapplikasjonderbrukerne(inspektørerogadministratorerhosFiskeridirektoratet)gjennometbrukergrensesnittfårtilgangpåogkanarbeidemedalgoritmen.

Prosjektetshovedbestanddeler

• Datainnsamlingogutforskning:Idenneperiodenvilvijobbemedåidentifiserehvilkedatasomertilgjengeligogutfradetfiltrereutdatasomeravrelevansfoross.

• Bearbeidedataogoppdatereellersettemål,delmål,hypoteserogtidslinjerbasert

pådette:IdenneperiodenvilvisamarbeidemeddomeneeksperterhosFiskeridirektoratetogKantegaforåutarbeidedelmål,brukerhistorierogsprinter.Etavdeviktigstespørsmålenesommåbesvaresidenneperiodeneromfanget–hvoraltomfattendeskalalgoritmenvære.Hvistidenikkehaddeværtenfaktorhaddedetnokværtønskeligatdenskullekunnebrukespåflereforskjelligetyperobjekterogatdenitilleggtilrisikoenforetavvikfraforskrifteneogsåtokhensyntilkonsekvensenavdetgitteavviket.Sidentididettetilfelleterenfaktorservipådetsomønskeligåbegrensesåmyesommulig.Detvilsiatviiførsteomganglagerenalgoritmebasertpåentypeobjekterogserbortfrakonsekvensenavavviket.Detblirdaviktigåleggetilretteforatalgoritmensenerekanutvidesslikatkanleggetildenhvisvifårtidelleratandrekangjøredetsenerehvisdeønskeråfortsetteprosjektet.

Page 5: Forprosjektrapport - HiOAstudent.cs.hioa.no/bachelorprosjekter/data/2017/26/... · Kantega A/S Kirkegata 5 0153 Oslo Om oppdragsgiver Kantega er et ansatteid IT-selskap med i overkant

5

HvilkentypeobjekterogegenskapersomskalprioriteresvilviutarbeideisamarbeidmedFiskeridirektoratetogKantega.

• Implementereogtesteutdatamodellerogalgoritmer.

TeknologiogrammeverkProsjektkravVierfortsattiinnsiktsfasenavprosjektetsåallekraverikkekartlagteenda.Nedenståendelisteerderforåansesomtentativogufullstendig.

• Løsningenvilevererskalværebrukervennlig.• ViskalleveregoddokumentasjonslikatKantega/Fiskeridirektoratetskalkunne

videreutvikleløsningen.• Viskalbenytteossavenhetstestingogannenrelevanttestmetodologi.• Applikasjonenskalkodesogkommenterespåengelsk• ApplikasjonenskalkunnekommuniseremedSaga,someretfagsystemhos

Fiskeridirektoratetforkontrollogtilsyn.TeknologierogavhengigheterArkitekturKantegaønskeratvårløsningskallagesmedenteknologistacktilsvarendedensomidagbrukespåSagaprosjektetogviskalprodusereenresponsivSinglePageApplication.VårløsningtaribrukModel-View-Controllermønsteret,someretdesignmønsterinnenprogramvareutvikling.MVC-modellenerenetanerkjentogmyebruktdesignmønsterimoderneapplikasjonsutviklingsomdelerløsningenimodellogview(grensesnitt)medenkontrollersomstyrerkommunikasjonenmellomdisse.

Figur1IllustrasjonavMVC-modellen

Page 6: Forprosjektrapport - HiOAstudent.cs.hioa.no/bachelorprosjekter/data/2017/26/... · Kantega A/S Kirkegata 5 0153 Oslo Om oppdragsgiver Kantega er et ansatteid IT-selskap med i overkant

6

Front-endViskallevereenmodernewebapplikasjonsombrukerfremtidsrettedeteknologierogrammeverk.

• React.jsogRedux.jsmedmiddleware-rammeverketredux-sagaervårehovedrammeverkogvibrukerdisseforåskapeendynamiskSingle-PageApplication(SPA).

• HTML5blirbruktsommarkeringsspråk• CSS,såkaltestilark,blirbruktforådefinereutseendetpåvårwebapplikasjon.• jQueryblirbruktforDOMmanipulering

Back-endVårbackend-løsningbeståravenrelasjonsdatabasesomtilgjengeliggjørdataviaetRESTfultAPIsomblirskrevetiJavaEEmedSpringrammeverket.Dennemodulæreoppbyggingengjøratvedlikeholdogeventueltvidereutviklingblirmyelettere.DettegirogsåmulighetentilåintegrerevårløsningiandresystemerellerbrukeandreklientersålengemanharenklientsomkankonsumereAPI-erkanmantaibrukvårløsning.Sidenkommunikasjonenmellomfront-endogback-endforegårasynkrontvildettegjøreateldrenettlesereikkestøttes,mendetteharvivalgtikkeåtahensyntil.Viansersannsynlighetenforatnoenskulleønskeåbrukeeldreversjoneravnettleseresommarginal.MaskinlæringDeteretkraviprosjektetatviskalminsttaibrukenmaskinlæringsalgoritme.SelvomdetikkeerheltavklartsåkommervitroligtilåbenytteossavApacheSpark/MLibsomrammeverkformaskinlæring.VersjonshåndteringVibrukerenprivatgitlagringstjenesteinternthosKantegaforåhåndterekildekodentilprosjektet(Wikipedia,2017).

Page 7: Forprosjektrapport - HiOAstudent.cs.hioa.no/bachelorprosjekter/data/2017/26/... · Kantega A/S Kirkegata 5 0153 Oslo Om oppdragsgiver Kantega er et ansatteid IT-selskap med i overkant

7

DevOpsogContinuousDelivery/IntegrationDevOpskansespååværeetslagsrammeverk,metodikkogkulturforutviklingsprosessenmedfokuspåhyppigeleveransermedsterktfokuspåprogramvaretestingogermyebruktismidigeprogramvareutviklingsprosjekter(Jabbari,Ali,Petersen,&Tanveer,2016).

Figur2LivssyklusentilDevOps

ViplanleggeråtaibrukenJenkinsbuildpipelineforautomatisktestingogleveranseavkodetilutviklings-ogtestmiljø(Jabbari,Ali,Petersen,&Tanveer,2016)ArbeidstiderViharfastkontorplasshosKantegaogjobbermedprosjektetfra09-15hverdag.ProsjektmetodikkProsjektteametviljobbesmidigisprinteretterScrum-metodikkenogvilhatidsavgrensedesprinter,dagligestandupsogperiodiskesprintdemoer.Deførsteukenegårmedtilåskaffeossinnsiktiprosjektet,bestemmearkitekturogteknologiogviopprettereninnledendebacklogavuteståendeoppgavertildenførstesprintensomforventesstartetiuketre(Wikipedia,2017).ProsjektstyringsverktøyVibrukerogsåAtlassianJiraforprosjektstyringogAtlassianConfluenceforprosjektdokumentasjon(Atlassian,2017)(Atlassian,2017).

Page 8: Forprosjektrapport - HiOAstudent.cs.hioa.no/bachelorprosjekter/data/2017/26/... · Kantega A/S Kirkegata 5 0153 Oslo Om oppdragsgiver Kantega er et ansatteid IT-selskap med i overkant

8

TaushetspliktViharsignertenavtaleomkonfidensialitetogviplikteråbevaretaushetomoghindreatandreutenforståendefårkjennskaptilinformasjonsomikkeerallmenttilgjengeligomselskapetsprodukter,tjenester,teknologiogforretningsmessigeforhold.RisikomatriseHvakangågalt Sannsynlighet Konsekvens Forebygging/løsning

Sykdom

Høy

Middels

Densykemeldtemågibeskjedtidligogbørsålangtsomdetlarseggjøretainnigjentaptarbeid,ellersåmånoenovertaarbeidethvissykdommenvedvarerenlangperiode.

Bedriftnedprioritererossellertrekkerseg

Lav

Høy

Hvisbedriftennedprioritererossmåviprøveåhamøtemeddemogsnakketingutsammen.Hvisbedriftenvelgeråtrekkesegunderprosessenmåvitahensyntilkontraktenogdekravenesomersattoppder.

Gruppekonflikter

Høy

Middels

Hvisenavossharetproblemmedmåtennoeblirgjortvilvitadetoppmedengang.Medlemmerskalopprettholdeengodtoneogløseproblemetsammen.

Manglendeengasjement

Høy

Middels

Mangelpåengasjementkanskyldesliteinteressefordentildelteoppgaven.Børkanskjefordeleoppgavenepånyttetterområdermedlemmeneyterbest.

Tekniskeproblemer

Lav

Middels

Tajevnligbackupitilfelledatamaskinenkortslutter,eventueltfinneenannentekniskløsning.

Tapavdata

Lav

Høy

Tajevnligbackuppådataene.Allemedlemmerigruppaharenversjonhver.

Korttidsramme

Lav

Høy

Tidsplanenbørvurderesiforholdtilarbeidsmengdenogressursersomertilgjengelige.Kjøresprintplanlegging.Hvisarbeidsmengdenblirforstorelleratmanikkerekkerenfristmåmansifratidlig.

Forkomplisertprosjekt

Middels

Middels

Detervanskeligåestimerehvorkomplisertprosjektetblir,ogdamådeteventueltgjøresjusteringerunderveisiprosessen.Noenteknologierernyttformedlemmene,trengerderfortidtilåinnlæreanvendelsenogkunnskapenomdisse.

Page 9: Forprosjektrapport - HiOAstudent.cs.hioa.no/bachelorprosjekter/data/2017/26/... · Kantega A/S Kirkegata 5 0153 Oslo Om oppdragsgiver Kantega er et ansatteid IT-selskap med i overkant

9

FremdriftsplanViharvalgtådefineresprintermedvarighetpåtoukeretterinnspillfraKantegaogvifårveiledningihvordanmanskalgjennomføreetagiltprogramvareutviklingsprosjekt.DetendeligeomfangetogmålsetningerforprosjektetblirfastsattienworkshopmedKantegaogFiskeridirektoratetmandag23.1.2017.Milepæleneivårtprosjekterdefinertsomsprintene(SP1-SP6).Nedenståendefremdriftsplanerufullstendigogtentativogforventesferdigstiltietterkantavworkshopmedkunden.

Figur3Fremdriftsplanforjanuar

Page 10: Forprosjektrapport - HiOAstudent.cs.hioa.no/bachelorprosjekter/data/2017/26/... · Kantega A/S Kirkegata 5 0153 Oslo Om oppdragsgiver Kantega er et ansatteid IT-selskap med i overkant

10

Figur4Fremdriftsplanforfebruar

Figur5Fremdriftsplanformars

Page 11: Forprosjektrapport - HiOAstudent.cs.hioa.no/bachelorprosjekter/data/2017/26/... · Kantega A/S Kirkegata 5 0153 Oslo Om oppdragsgiver Kantega er et ansatteid IT-selskap med i overkant

11

Figur6Fremdriftsplanforapril

Figur7Fremdriftsplanformai

Page 12: Forprosjektrapport - HiOAstudent.cs.hioa.no/bachelorprosjekter/data/2017/26/... · Kantega A/S Kirkegata 5 0153 Oslo Om oppdragsgiver Kantega er et ansatteid IT-selskap med i overkant

12

Figur8Fremdriftsplanforjuni

OppsummeringDeterutvilsomtetambisiøstprosjektviharforpliktetosstil,menviharblittsværtgodtmottatthosKantegaoghartilgangpågoderessurseriprosjektetvårt.Ogdeteretprosjektvierveldigtakknemligeforåblimedpåsidenpotensialetforlæringersværthøyt.Mendetmålikevelbemerkesatprosjekteterbeheftetmedtildelsstorrisikosidenmaskinlæringeretheltnyttområdeforossogdetersværtkrevende.Derforblirdetheltavgjørendeforprosjektetsuksessatvigreieråavgrensenokslikatdetblirhåndterbartinnenfordentidenvihartilrådighet.

Page 13: Forprosjektrapport - HiOAstudent.cs.hioa.no/bachelorprosjekter/data/2017/26/... · Kantega A/S Kirkegata 5 0153 Oslo Om oppdragsgiver Kantega er et ansatteid IT-selskap med i overkant

13

BibliografiAtlassian.(2017).Atlassian.(Atlassian,Producent,&Atlassian)HämtatfrånAtlassianJira:

https://www.atlassian.com/software/jiraden13Januar2017Atlassian.(2017).Atlassian.(Atlassian,Producent,&Atlassian)HämtatfrånAtlassian

Confluence:https://www.atlassian.com/software/confluenceden13Januar2017Jabbari,R.,Ali,N.b.,Petersen,K.,&Tanveer,B.(2016).WhatisDevOps?:ASystematic

MappingStudyonDefinitionsandPractices.XP'16Workshops:ProceedingsoftheScientificWorkshopProceedingsofXP2016.ACM.

Wikipedia.(2017).Wikipedia.HämtatfrånWikipedia:Git:https://en.wikipedia.org/wiki/Gitden17Januar2017

Wikipedia.(2017).Wikipedia.HämtatfrånWikipedia:Scrum(Softwaredevelopment):https://en.wikipedia.org/wiki/Scrum_(software_development)den17Januar2017

Yamashita,A.(2016).AikoYamashita-HiOA.HämtatfrånAikoYamashita-HiOA:https://www.hioa.no/tilsatt/aikyamden13Januar2017