Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
TerjeLeirvik,CrystalKim-PhuongTranogJanAndreSlettebakkHøgskoleniOsloogAkershus
ForprosjektrapportHovedprosjektforgruppe26,våren2017
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
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
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.
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
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).
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).
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.
9
FremdriftsplanViharvalgtådefineresprintermedvarighetpåtoukeretterinnspillfraKantegaogvifårveiledningihvordanmanskalgjennomføreetagiltprogramvareutviklingsprosjekt.DetendeligeomfangetogmålsetningerforprosjektetblirfastsattienworkshopmedKantegaogFiskeridirektoratetmandag23.1.2017.Milepæleneivårtprosjekterdefinertsomsprintene(SP1-SP6).Nedenståendefremdriftsplanerufullstendigogtentativogforventesferdigstiltietterkantavworkshopmedkunden.
Figur3Fremdriftsplanforjanuar
10
Figur4Fremdriftsplanforfebruar
Figur5Fremdriftsplanformars
11
Figur6Fremdriftsplanforapril
Figur7Fremdriftsplanformai
12
Figur8Fremdriftsplanforjuni
OppsummeringDeterutvilsomtetambisiøstprosjektviharforpliktetosstil,menviharblittsværtgodtmottatthosKantegaoghartilgangpågoderessurseriprosjektetvårt.Ogdeteretprosjektvierveldigtakknemligeforåblimedpåsidenpotensialetforlæringersværthøyt.Mendetmålikevelbemerkesatprosjekteterbeheftetmedtildelsstorrisikosidenmaskinlæringeretheltnyttområdeforossogdetersværtkrevende.Derforblirdetheltavgjørendeforprosjektetsuksessatvigreieråavgrensenokslikatdetblirhåndterbartinnenfordentidenvihartilrådighet.
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