56
Replication Monitor Unnið fyrir LS Retail Vor 2019 Lokaverkefni B.Sc. í tölvunarfræði Eyþór Gunnar Jónsson Kristján Ingólfsson Pétur Örn Guðmundsson Sverrir Brimar Birkisson Leiðbeinandi: Torfi Helgi Leifsson Prófdómari: Sigurlaug Guðrún Jóhannsdóttir

Replication Monitor

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Replication Monitor

Replication MonitorUnnið fyrir LS Retail

Vor 2019

Lokaverkefni B.Sc. í tölvunarfræði

Eyþór Gunnar JónssonKristján Ingólfsson

Pétur Örn GuðmundssonSverrir Brimar Birkisson

Leiðbeinandi: Torfi Helgi LeifssonPrófdómari: Sigurlaug Guðrún Jóhannsdóttir

Page 2: Replication Monitor

Efnisyfirlit

1 Inngangur 41.1 Um verkefnið . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Um LS Retail ehf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3 Sýn verkefnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Verkskipulag og verkáætlun 62.1 Aðferðafræði . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Hlutverk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.3 Fyrirkomulag funda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4 Verkáætlun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.4.1 Sprettir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.4.2 Rýmdaráætlun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.5 Tæknilegt umhverfi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Áhættugreining 9

4 Hönnun 114.1 Kröfulisti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.1.1 Virknikröfur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.1.2 Almennar kröfur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.1.3 Áætluð afköst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.2 Notendahópar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.3 Útfærsla kerfis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.3.1 RESTful vefþjónusta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.3.2 Vef framendi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.3.3 Þjónustur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.3.4 Gagnagrunnur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.3.5 Data Director og Scheduler viðbót . . . . . . . . . . . . . . . . . . . . . . 17

4.4 Frumgerðir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.5 Hönnunarbreytingar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.6 Prófanir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.6.1 Einingaprófanir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.6.1.1 Vefþjónusta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.6.1.2 Vefsíða . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.6.2 Kerfisprófanir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.6.3 Notendaprófanir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.7 Skjölun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5 Framvinduyfirlit 255.1 Sprettur 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5.1.1 Þema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255.1.2 Samantekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255.1.3 Yfirlit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255.1.4 Unnar klukkustundir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255.1.5 Brunarit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Page 3: Replication Monitor

5.2 Sprettur 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.2.1 Þema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.2.2 Samantekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.2.3 Yfirlit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.2.4 Unnar klukkustundir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.2.5 Brunarit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.3 Sprettur 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.3.1 Þema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.3.2 Samantekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.3.3 Yfirlit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.3.4 Unnar klukkustundir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.3.5 Brunarit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5.4 Sprettur 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.4.1 Þema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.4.2 Samantekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.4.3 Yfirlit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.4.4 Unnar klukkustundir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.4.5 Brunarit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.5 Sprettur 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335.5.1 Þema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335.5.2 Samantekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335.5.3 Yfirlit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335.5.4 Unnar klukkustundir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335.5.5 Brunarit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5.6 Sprettur 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.6.1 Þema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.6.2 Samantekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.6.3 Yfirlit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.6.4 Unnar klukkustundir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.6.5 Brunarit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5.7 Sprettur 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375.7.1 Þema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375.7.2 Samantekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375.7.3 Yfirlit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375.7.4 Unnar klukkustundir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375.7.5 Brunarit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5.8 Sprettur 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395.8.1 Þema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395.8.2 Samantekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395.8.3 Yfirlit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395.8.4 Unnar klukkustundir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395.8.5 Brunarit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.9 Sprettur 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.9.1 Þema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.9.2 Samantekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.9.3 Yfirlit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

2

Page 4: Replication Monitor

5.9.4 Unnar klukkustundir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.9.5 Brunarit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6 Yfirlit verkefnis 436.1 Brunarit verkefnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.2 Vinnutímar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.3 Samantekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

7 Viðauki 467.1 Kóðareglur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

7.1.1 C# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467.1.2 Gagnagrunnar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477.1.3 Javascript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477.1.4 HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477.1.5 CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

7.2 Töfluskema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487.3 Prófanir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

7.3.1 Einingaprófanir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507.3.2 Kerfisprófanir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3

Page 5: Replication Monitor

1 Inngangur

Þessi skýrsla er hluti af lokaverkefni nemenda í Tölvunarfræðideild Háskólans í Reykjavík semunnið er fyrir LS Retail.

1.1 Um verkefnið

Viðskiptavinir LS Retail eru með umhverfi sem samansett er af höfuðstöðvum, verslunum/veit-ingastöðum og afgreiðslukössum. Á hverjum stað er gagnagrunnur og það þarf að flytja gögná milli þessara grunna. Gagnaflutningurinn er búinn til og stýrt af LS Scheduler og LS DataDirector þjónustum sem geta verið keyrandi á höfuðstöðvum, verslunum og/eða kössum. LSScheduler þjónustan stýrir LS Data Director þjónustunum sem sjá svo um að sækja gögnin úreinum gagnagrunni og senda áfram á aðra grunna.

Í dag er aðeins hægt að sjá stöðuna á einni LS Data Director þjónustu í einu og er því ekki hægtað fá heildræna mynd af stöðu gagnaflutninga.

LS Replication Monitor á að gefa viðskiptavinum heildræna, notendavæna yfirlitsmynd um stöðugagnaflutninga með því að safna gögnum frá öllum LS Scheduler og LS Data Director þjónustum.Upplýsingarnar eru svo birtar í yfirlitsmynd sem sýnir heildarstöðuna á kerfinu.

Mynd 1.1: Yfirlitsmynd kerfis.

4

Page 6: Replication Monitor

1.2 Um LS Retail ehf

LS Retail er leiðandi fyrirtæki í þróun og sölu á hugbúnaðarlausnum fyrir verslunar-, veitinga-og bensínstöðvarekstur og spannar saga fyrirtækisins 30 ár. Lausnir fyrirtækisins eru seldar íyfir 130 löndum af 330 vottuðum endursöluaðilum og er yfir 95% af heildarveltunni tilkominerlendis frá. LS Retail hefur náð þeim árangri að vera stærsti þróunaraðili Microsoft Dynamicslausna á sviði verslunar í heiminum. Yfir 4500 fyrirtæki víðsvegar um heim nota hugbúnaðfyrirtækisins og keyrir hann á u.þ.b. 160.000 afgreiðslukössum í 70.000 verslunum,veitingastöðum og bensínstöðvum um allan heim. Hjá fyrirtækinu starfa um 200 manns.

1.3 Sýn verkefnis

LS Replication Monitor er nýtt viðmót fyrir þá sem að nota þjónustur LS Retail sem á að geraþeim kleift að fylgjast náið með stöðu flutnings gagna á milli gagnagrunna afgreiðslukassa,verslana og höfuðstöðva. Viðmótið gefur heildræna mynd yfir stöðu gagnaflutninganna en áðurhefur reynst erfitt að fá slíka mynd. Eftirlitsmenn geta fengið skilaboð ef eitthvað er í ólagi,leiðrétt villurnar fljótt og örugglega og lágmarkað þannig skaða sem verður af slíkum villum.

5

Page 7: Replication Monitor

2 Verkskipulag og verkáætlun

2.1 Aðferðafræði

Scrum aðferðafræðin varð fyrir valinu fyrir þetta verkefni. Ástæðan er sú að LS Retail er aðnotfæra sér þá aðferðafræði í sínum rekstri og hentar hún hópnum vel við að vinna þettaverkefni.

2.2 Hlutverk

Eigandi verkefnis (e. product owner) – Hörður KristjánssonScrum Master – Kristján IngólfssonTeymi – Eyþór Gunnar Jónsson, Kristján Ingólfsson, Pétur Örn Guðmundsson, Sverrir BrimarBirkisson

2.3 Fyrirkomulag funda

Hér er að neðan er að finna þá reglulegu fundi sem teymið hélt í þessu verkefni.Eigandi verkefnis - Áætlað var að hitta eiganda verkefnis vikulega fyrsta hluta verkefnisins,en þeir fundir urðu svo færri eftir því sem leið á önnina.Leiðbeinandi - Áætlað var að hitta leiðbeinanda vikulega í LS Retail.Skipulag spretta (e. sprint planning) - Skipulag fór fram á fyrsta mánudegi hvers spretts.Daglegir fundir (e. daily sprint) - Fundir voru á Slack á föstum tímum. Það komumst ekkialltaf allir á sama tíma og voru fundirnir því haldnir á netinu.Yfirferð spretta (e. sprint review) - Sprint review fór fram á síðasta mánudegi hversspretts.Sprint retrospective - Retrospective fór fram á síðasta mánudegi hvers spretts.

6

Page 8: Replication Monitor

2.4 Verkáætlun

Til að byrja með hittist hópurinn í LS Retail á mánudögum og þriðjudögum. Eftir aðlokaprófum lauk eða í byrjun spretts 5 þá hittist hópurinn á hverjum degi í LS Retail.

2.4.1 Sprettir

Hópurinn áætlaði að taka 9 spretti við vinnslu verkefnisins. Í töflu 2.1. má sjá hvernigsprettirnir dreifðust yfir önnina.

Númer spretts Dagsetning spretta Áætlaður fjöldi tíma Fjöldi viknaSprettur 0 20.01.2019 - 10.02.2019 30 3 vikurSprettur 1 11.02.2019 - 24.02.2019 30 2 vikurSprettur 2 25.02.2019 - 10.03.2019 30 2 vikurSprettur 3 11.03.2019 - 24.03.2019 30 2 vikurSprettur 4 25.03.2019 - 14.04.2019 30 3 vikurSprettur 5 15.04.2019 - 28.04.2019 60 2 vikurSprettur 6 29.04.2019 - 05.05.2019 45 1 vikaSprettur 7 06.05.2019 - 12.05.2019 45 1 vikaSprettur 8 13.05.2019 - 21.05.2019 35 9 dagar

Tafla 2.1: Yfirlit yfir áætlaða spretti.

2.4.2 Rýmdaráætlun

Í sprettum 1 - 3 áætluðum við 15 tíma vinnuviku á hvern hópmeðlim. Frá og með sprett 6gerðum við ráð fyrir 45 tíma vinnuviku. Áætlaður heildarfjöldi tíma á hvern hópmeðlim var þvíum 335 tímar.

7

Page 9: Replication Monitor

2.5 Tæknilegt umhverfi

Við þróun, prófun, hönnun og skýrslugerð var notaður sá hugbúnaður og tól sem er talinn upp ítöflu 2.2.

Hugbúnaður og tól NotkunMicrosoft Visual Studio 2017 ÞróunarumhverfiMicrosoft .NET Core KerfisgrunnurAtlassian BitBucket Samstæðu stjórnunarkerfiðAtlassian Jira Skipulag á kröfumGoogle Docs SkýrslurGoogle Sheets RitDraw.io SkýringarmyndirSQL Server Management Studio 17 Þjónusta gagnagrunnOverleaf Skýrslur á LaTeX formi

Tafla 2.2: Yfirlit yfir hugbúnað og tól.

8

Page 10: Replication Monitor

3 Áhættugreining

Hópurinn framkvæmdi greiningu á þeim áhættum sem þóttu líklegar til að geta haft áhrif áframgang verkefnisins. Fyrir hverja áhættu mátum við líkur og alvarleika á bilinu 1-5. Áhættanvar síðan fundinn með því að margfalda þessa tvo liði saman.

# Lýsing Líkur Alvarleiki Áhætta Aðgerðir ogeftirfylgni

Ábyrgðaraðili

1 Ekki næstsambandi viðútgefið kerfi réttfyrirlokakynningu

2 5 10 Hafa samband viðeiganda verkefnishjá LS Retail

KristjánIngólfsson

Trygging 17.05.2019: Eigandi verkefnis verður til taks ef eitthvað kemur upp á.2 Búið að eyða

sýndarvél/um2 5 10 Hafa samband við

eiganda verkefnishjá LS Retail

KristjánIngólfsson

Breyting 15.05.2019: Líkur fóru úr 1 í 2 eftir að við lentum í veseni með sýndarvélarnar.3 Plug-in á milli LS

kerfis ogReplicationMonitor virkarekki

1 5 5 Fá fasta aðstoðaðila á vegum LSRetail

Pétur ÖrnGuðmundsson

Breyting 29.04.2019: Líkur fóru úr 4 í 1 eftir að kerfið hefur reynst áreiðanlegt yfir önnina.4 Samskipti milli

sýndarumhverfisog LS ReplicationMonitor gangaekki upp

1 5 5 Hafa samband viðeiganda verkefnishjá LS Retail

KristjánIngólfsson

Breyting 29.04.2019: Líkur fóru úr 4 í 1 eftir að kerfið hefur reynst áreiðanlegt yfir önnina.5 Gagnagrunnur

eyðist1 5 5 Eiga afrit af

upprunalegumprufu gögnum áUSB og prófaafritið

Pétur ÖrnGuðmundsson

Breyting 15.05.2019: Líkur fóru úr 2 í 1 eftir að gagnagrunnur hefur verið stöðugur.6 Náum ekki

samband viðsýndarvél/ar

2 2 4 Hafa samband viðeiganda verkefnishjá LS Retail

KristjánIngólfsson

Breyting 15.05.2019: Líkur fóru úr 3 í 2 eftir að kerfið hefur verið stöðugt.7 Slys og/eða

meiðslihópmeðlima

1 2 2 Ef allt fer áversta veg skoðaþað að skalaverkefnið niður

Sverrir BrimarBirkisson

Breyting 15.05.2019: Alvarleiki fór úr 5 í 2 því lítið var eftir af verkefninu.

9

Page 11: Replication Monitor

8 Veikindihópmeðlima

1 2 2 Ef allt fer áversta veg skoðaþað að skalaverkefnið niður

Sverrir BrimarBirkisson

Breyting 15.05.2019: Líkur fóru úr 2 í 1 því lítið var eftir af verkefninu.9 Kröfulisti í Jira

hverfur eða sögurfara að hverfa

0 4 0 Hafa auka afrit afkröfulista áGoogle Sheets oghalda honumuppfærðum

KristjánIngólfsson

Breyting 29.04.2019: Líkur fóru úr 2 í 1 eftir að engin vandræði hefur verið með Jira.Breyting 15.05.2019: Líkur fóru úr 1 í 0 eftir að allar sögur kláruðust.10 Næst ekki í

samband viðeiganda verkefnis(HörðurKristjánsson) hjáLS Retail

0 1 0 Hafa sambandvið vara eigandaverkefnis(KristjánÁsvaldsson) hjáLS Retail

KristjánIngólfsson

Breyting 15.05.2019: Líkur fóru úr 1 í 0 eftir að kerfið var tilbúið.11 Komumst ekki

inn á Bitbucket0 1 0 Taka afrit af

kerfinu einu sinnií viku á USB lykilog prófa afritið

Pétur ÖrnGuðmundsson

Breyting 15.05.2019: Líkur fóru úr 1 í 0 eftir að forritun lauk.12 Mikið álag í

öðrumnámskeiðum

0 4 0 Fórna öðrumverkefnum efhægt er.Ef allt fer áversta veg skoðaþað að skalaverkefnið niður

Eyþór GunnarJónsson

Breyting 15.04.2019: Líkur fóru úr 4 í 0 eftir að lokaprófum lauk.13 Ekki búið að

setja uppprófunarumhverfi

0 5 0 Hafa samband viðeiganda verkefnishjá LS Retail

KristjánIngólfsson

Breyting 05.02.2019: Líkur fóru úr 1 í 0 eftir að búið var að setja upp umhverfi fyrir okkur.

Tafla 3.1: Áhættugreining.

10

Page 12: Replication Monitor

4 Hönnun

4.1 Kröfulisti

Hópurinn tók saman notendasögur byggðar á verkefnalýsingu og samtölum við starfsmenn LSRetail. Við röðuðum þeim í forgangsröð þar sem A voru kröfur sem nauðsynlegt var að útfæra,B kröfur voru nokkuð mikilvægar en ekki ómissandi og C kröfur ekki mjög mikilvægar.Notast var við Planning Poker aðferðina við að útdeila sögupunktum þar sem hópmeðlimir buðuí sögur byggt á því hvað þeir héldu að umfang þeirra var mikið. Skalinn var 1, 2, 3, 5, 8, 13, 20.

4.1.1 Virknikröfur

Tafla 4.1 hér að neðan sýnir allar þær virknikröfur sem komu við sögu yfir verkefnið. Bæðisögur sem voru kláraðar og hætt við.

# Notandi Lýsing Forgangur(A, B, C)

Sögupunktar Lokið

1 Notandi Sem notandi vil ég getaðflokkað og síaðupplýsingarnar þannig að égsjái bara villuboð til þess aðgeta brugðist við þeim

A 3 Já

2 Notandi Sem notandi vil ég getaðflokkað og síaðupplýsingarnar þannig að égsjái bara færslur fráviðkomandihöfuðstöðvum/verslun/kassaog eða posa til þess að getafylgst með gagnaflutningi

A 3 Já

3 Notandi Sem notandi vil ég geta fariðá netslóð í tölvu til þess aðgeta séð villur ígagnaflutningi

A 13 Já

4 Notandi Sem notandi vil ég geta skráðmig inn í kerfið meðnotendanafni og lykilorði tilþess að fá aðgang að kerfinu

A 10 Já

5 Notandi Sem notandi vil ég geta skráðmig út úr kerfinu til þessað vera ekki skráður inn aðóþörfu.

A 1 Já

6 Kerfi Sem kerfi vil ég setja tíma (e.session) köku á notanda til aðvita hvort hann sé innskráðureða ekki

A 2 Eytt.Óþörf saga.

11

Page 13: Replication Monitor

7 Notandi Sem óskráður notandi vil éggeta fengið nýtt lykilorð ef éggleymi því gamla til þess aðkoma í veg fyrir að verðalæstur út úr kerfinu

A 2 Já

8 Notandi Sem notandi vil ég geta fariðinn á mínar síður og uppfærtlykilorðið mitt

A 2 Já

9 Notandi Sem notandi vil ég geta fariðinn á mínar síður og uppfærttölvupóst til þess að fáskilaboð frá kerfinu á réttantölvupóst

A 2 Já

10 Notandi Sem notandi vil ég geta fariðinn á mínar síður og uppfærtsímanúmer til þess að fáskilaboð frá kerfinu á réttsímanúmer

A 2 Já

11 Kerfi Sem kerfi vil ég getið tekið ámóti gögnum frá LS DD ígegnum vefþjónustu til þessað hjúpa kerfið frá hinum

A 13 Já

12 Kerfi Sem kerfi vil ég getið tekið ámóti gögnum frá LSScheduler í gegnumvefþjónustu til þess að hjúpakerfið frá hinum

A 13 Já

13 Notandi Sem notandi vil ég fátölvupóst frá kerfinu efeitthvað fer úrskeiðis íflutningi gagna

A 8 Já

14 Kerfi Sem kerfi vil ég geta notaðplug-in til að taka viðupplýsingum frá LS DD

A 5 Já

15 Kerfi Sem kerfi vil ég hýsa vefapaog vefsíðu í IIS þjónustuMicrosoft á sýndarvél til þessað önnur kerfi hafi aðgang

A 8 Já

16 Kynning Búa til og halda kynningufyrir stöðufund 1

A 8 Já

17 Skýrsla Skil á skýrslu fyrir stöðufund1

A 13 Já

18 Kynning Búa til og halda kynningufyrir stöðufund 2

A 8 Já

12

Page 14: Replication Monitor

19 Skýrsla Skil á skýrslu fyrir stöðufund2

A 13 Já

20 Kynning Búa til og halda kynningufyrir stöðufund 3

A 8 Já

21 Skýrsla Skil á skýrslu fyrir stöðufund3

A 13 Já

22 Framendi Gera mockup fyrir framenda A 5 Já23 Prófanir Gera notendaprófanir á

mockup-iA 3 Já

24 Gagnagrunnur Gera töfluskema fyrirgagnagrunn

A 5 Já

25 Klasar Gera klasarit A 5 Eytt.Óþörf saga.

26 Notandi Sem notandi vil ég geta fariðá netslóð í spjaldtölvu til þessað geta séð villur ígagnaflutningi

B 3 Já

27 Notandi Sem notandi vil ég geta fariðá netslóð í farsíma til þess aðgeta séð villur ígagnaflutningi

B 3 Já

28 Stjórnandi Sem stjórnandi vil ég getalokað aðgangi hjá öðrumnotendum sem tilheyra mínufyrirtæki til þess að þeir hafiekki aðgang að kerfinu

B 5 Já

29 Notandi Sem notandi vil ég getafengið SMS skilaboð frákerfinu ef eitthvað ferúrskeiðis í flutningi gagna

B 8

Eytt.Ekki nægurtími til aðútfæra.

30 Notandi Sem notandi vil ég geta valiðhvenær ég fæ sendingar frákerfinu til þess að vera ekkiað fá eina sendingu fyrirhverja villu heldur fá þærsendar allar saman í lista ílok dags t.d.

B 5

Eytt.Ekki nægurtími til aðútfæra.

13

Page 15: Replication Monitor

31 Kerfi Sem kerfi vil ég sendanotanda merki (e. token) viðinnskráningu sem hann þarfað stimpla inn áður en hannklára innskráningu til þess aðgera innskráninguna öruggari

C 5

Eytt.Ekki nægurtími til aðútfæra.

32 Notandi Sem notandi vil ég getaðskráð mig inn í kerfið meðmínum stýrikerfis notandaupplýsingum (AD) til þess aðþurfa ekki að vera með annannotanda sér fyrir þetta kerfi

C 8

Eytt.Ekki nægurtími til aðútfæra.

33 Notandi Sem notandi til ég geta haftaðgang að kerfinu í gegnumAndroid farsíma eðaspjaldtölvu til þess að þurfaekki að notast við vefviðmót

C 13

Eytt.Ekki nægurtími til aðútfæra.

34 Notandi Sem notandi til ég geta haftaðgang að kerfinu í gegnumApple iOS farsíma eðaspjaldtölvu til þess að þurfaekki að notast við vefviðmót

C 13

Eytt.Ekki nægurtími til aðútfæra.

35 Notandi Sem notandi vil ég getasafnað saman upplýsingumyfir langan tíma til þess aðgeta birt þau í viðmóti

C 8

Eytt.Ekki nægurtími til aðútfæra.

36 Kerfi Sem kerfi vil ég geymaupplýsingar umgagnagrunnstengingu í sérconfiguration skrá eðaenvironment breytu til aðauka öryggi á lykilorði

C 3

Eytt.Ekki nægurtími til aðútfæra.

Tafla 4.1: Virknikröfur.

14

Page 16: Replication Monitor

4.1.2 Almennar kröfur

Tafla 4.2 hér að neðan sýnir allar þær almennu kröfur sem komu við sögu yfir verkefnið. Bæðisögur sem voru kláraðar og hætt við.

# Lýsing Lokið1 Fá aðgang að sýndarumhverfum. Já2 Fá aðgang að BitBucket. Já3 Læra á Jira. Já4 Skoða Elasticsearch og meta hvort það henti verkefninu. Já5 Greina notendahópa. Já6 Gera drög að hönnun á forsíðu. Já7 Gera drög að hönnun á innskráningarsíðu. Já8 Gera drög að hönnun á mínum síðum. Já9 Greina LS Scheduler betur og virkni hans. Já10 Búa til klasarit fyrir þjónustur. Eytt11 Skoða hvort að continuous integration sé möguleiki. Já12 Búa til component diagram fyrir kerfið. Eytt13 Læra á React fyrir framenda. Já14 Framendaprófanir. Tókst ekki15 Kerfisprófanir. Já16 Einingaprófanir. Já

Tafla 4.2: Almennar kröfur.

4.1.3 Áætluð afköst

Hópurinn reiknaði með 1035 klukkustundum í þróun kerfisins, eða 75% af heildartímaverkefnisins. Hópurinn reiknaði svo 25% af heildartíma verkefnisins í fræðslu, fundi ogkynningar. Heildarfjöldi sögupunkta eftir að kröfulistinn var settur saman var 242 punktar ogvoru því 4.3 klukkustundir áætlaðar á hvern punkt. Eftir að búið var að klára tvo heila sprettivar reiknað með að afköst hópsins í sögupunktum væru 30 punktar fyrir hefðbundinn 14 dagasprett.

15

Page 17: Replication Monitor

4.2 Notendahópar

Tveir notendahópar munu nýta sér kerfið, almennur notandi og stjórnandi. Farið er ítarlega íhvern hóp í töflu 4.3 hér fyrir neðan.

Notandi Bakgrunnur Notkunkerfisins

Umhverfi Helstumarkmið

Hópur 1:Almennurnotandi

Mikilvægastihópurinn

Aldur: 25+Kyn: Bæði.Menntun: MCSAeða aðrakerfisstjóramenntun.Hæfni/Vanhæfni:Tölvufærni: Mjöggóð.

Notkun: Kerfiðer notað þegarnotandi vill fáyfirsýn yfirgagnaflutninga ámilli búða.Þjálfun: Engasérstaka þjálfunþarf til að notaforritið.Viðhorf:Jákvætt.Fjöldi notenda:Óþekktur.

Tæknilegtumhverfi: Tölvaeða snjallsímimeð nettengingu.Raunverulegtumhverfi:Yfirleitt áskrifstofu.Annaðumhverfi:Á heimili eðaannars staðarutan vinnutíma.

Að kerfisstjóri eðaannar aðili semkemur að málinuhafi góða yfirsýnyfir stöðugagnaflutninga ámilli búða. Þáætti hann einnigað geta fengiðviðvörun þegareitthvað bregst.

Hópur 2:Stjórnandi

Næstmikilvægastihópurinn

Aldur: 25+Kyn: Bæði.Menntun: MCSAeða aðrakerfisstjóramenntun.Hæfni/Vanhæfni:Tölvufærni: Mjöggóð.

Notkun: Kerfiðer notað þegarnotandi vill sjáflæði upplýsingainnan allra þeirrafyrirtækja semeru innansamsteypunnar.Þjálfun: Engasérstaka þjálfunþarf til að notaforritið.Viðhorf:Jákvætt.Fjöldi notenda:Óþekktur.

Tæknilegtumhverfi: Tölvaeða snjallsímimeð nettengingu.Raunverulegtumhverfi:Yfirleitt áskrifstofu.Annaðumhverfi:Á heimili eðaannars staðarutan vinnutíma.

Að stjórnandistórfyrirtækis semá önnur smærrifyrirtæki geti haftyfirsýn yfirupplýsingaflæðisinnan og á millidótturfyrirtækja.Þá ætti hanneinnig að getafengið viðvörunþegar eitthvaðbregst.

Tafla 4.3: Notendahópar.

16

Page 18: Replication Monitor

4.3 Útfærsla kerfis

Kerfis yfirlitsmyndin sýnir hvernig kerfin munu hafa samskipti sín á milli. Okkar verkefni var aðútfæra allt sem er innan bláa ramma myndarinnar (mynd 1.1).

4.3.1 RESTful vefþjónusta

RESTful vefþjónustan var skrifuð í C# og notaðist við .Net Core ramma (e. framework).

4.3.2 Vef framendi

Vef framendinn var skrifaður í ASP.Net Core með React-Redux.

4.3.3 Þjónustur

Þjónusturnar voru skrifaðar í C# og notuðust við .Net Core ramma.

4.3.4 Gagnagrunnur

Gagnagrunnurinn sem notast var við er Microsoft SQL Service 2017 Express. Hann innihéltfjórar töflur sem hétu DataDirectors, Schedulers, ExceptionsLogs og Users.Fyrstu tvær töflurnar notuðust við svo kallaðan clustered columnstore index sem er vöruhúsaaðferð MSSQL til að halda utan um og vinna með mikið magn af gögnum.Þar sem við erum bara að setja inn, sækja og eyða færslum þá hentaði þessi aðferð mjög vel.Skilaði um 98% þjöppun á gögnin miða við engan index og einnig ef t.d. verið er að leita aföllum færslum sem innihalda villuboðin Error í hvaða dálk sem er þá skilar columnstore index97% meiri hraða í leit.Users taflan innihélt clustered index á id og un-clustered index á email.ExceptionsLogs taflan var eingöngu til að halda utan um allar villur sem gætu komið upp ívefþjónustunni og Users taflan hélt utan um alla notendur sem höfðu aðgang að kerfinu.Í viðauka 7.2 má sjá töfluskema fyrir ExceptionLog, DataDirector, Scheduler og User töflurnar.

4.3.5 Data Director og Scheduler viðbót

Skrifa þurfti viðbót við LS Data Director og LS NAV/ONE Scheduler þjónustur til að hægthafði verið að eiga samskipti við REST vefþjónustuna. Það var .DLL skrá sem var skrifuð í C#og innihélt þær upplýsingar sem þurfti til að tengjast REST vefþjónustunni og hvaða gögn áttuað fara yfir.

17

Page 19: Replication Monitor

4.4 Frumgerðir

Hér fyrir neðan má sjá allar þær frumgerðir sem voru hannaðar áður en vefsíða var útfærð(myndir 4.5 - 4.14).

Mynd 4.5: Innskráning.

Mynd 4.6: Aðalsíða.

18

Page 20: Replication Monitor

Mynd 4.7: Mín síða.

Mynd 4.8: Breyta netfangi.

19

Page 21: Replication Monitor

Mynd 4.9: Netfangi breytt.

Mynd 4.10: Breyta símanúmeri.

20

Page 22: Replication Monitor

Mynd 4.11: Símanúmeri breytt.

Mynd 4.12: Breyta lykilorði.

21

Page 23: Replication Monitor

Mynd 4.13: Lykilorði breytt.

Mynd 4.14: Staðfesting á að lykilorði hafi verið breytt.

22

Page 24: Replication Monitor

4.5 Hönnunarbreytingar

Hér má finna þær breytingar sem við gerðum á kerfinu.

· Komist var að því eftir nokkra fundi með LS Retail að það þyrfti að nota plug-in til aðhafa samband við Data Director og Scheduler.

· Continuous Integration gekk ekki upp á LS Retail léninu.

· Code first entity framework gekk ekki upp því það styður ekki column store index og viðenduðum á því að nota Database first.

· Ekki gekk upp að búa til tengingu við gagnagrunn í gegnum config skrá og er tenginginþví harðkóðuð inn í kóðanum.

· Sidebar var flutt upp í Navbar og allar síurnar fjarlægðar.

· Síðan skiptist í tvennt. Eina síðu til að sýna villur (overview) og önnur til að sýna gamlarfærslur (archive).

4.6 Prófanir

Til að tryggja réttleika kerfisins taldi hópurinn nauðsynlegt að prófa kerfið vandlega. Því vorueiningaprófanir, kerfisprófanir og notendaprófanir útfærðar.

4.6.1 Einingaprófanir

4.6.1.1 Vefþjónusta

Einingaprófanir voru skrifaðar í MSTest frá Microsoft. Öll föll sem eru með virkni voru prófuðen ekki þau föll sem sjá aðeins um að senda gögn á milli. Heildarfjöldi prófana endaði í 58 oggengu þau öll upp við skil á þessu verkefni. Í viðauka 7.3.1 má sjá lista af öllumeiningaprófunum sem voru framkvæmdar á vefþjónustuna. Kóða umfjöllun (e. code coverage)var um 74.49% yfir alla vefþjónustuna.

4.6.1.2 Vefsíða

Einingaprófanir voru reyndar í Jest og Enzyme á vefsíðu en gengu ekki upp. Við lentum ívandræðum vegna Redux en allar leiðbeiningar sem við fundum voru ekki að virka.

4.6.2 Kerfisprófanir

Kerfisprófanir voru skrifaðar í hugbúnaðinum Postman sem keyrir fyrirspurnir á vefþjónustunaalveg frá rútu (e. route) og niður í gagnagrunn. Heildarfjöldi prófana endaði í 80 og gengu þauöll upp við skil á þessu verkefni. Í viðauka 7.3.2 má sjá lista af öllum kerfisprófunum sem voruframkvæmdar á vefþjónustuna.

23

Page 25: Replication Monitor

4.6.3 Notendaprófanir

Ein formleg prófun var gerð á viðmóti kerfisins og tók eigandi verkefnis þátt í henni. Notast varvið frumgerðina sem við bjuggum til í forritinu Pencil.

Notendahópur: Innskráður notandiNafn spyrils: Kristján IngólfssonStaðsetning: LS Retail, bás.Hvenær viðtal var tekið: 25. febrúar, 11:30Hvað var prófað: Aðalsíða, Mín síða og filterar.Athugasemdir:Taflan á aðalsíðu þótti ekki nógu mikið eins og í Job Monitor. Það þyrfti að uppfæra þaðþannig að fyrst væri listi yfir host-a sem verið væri að fylgjast með, svo myndi gæti maðurvalið einn þeirra til að sjá jobs sem tengjast honum. Loks væri hægt að sjá frekari upplýsingarum þau jobs og hvort/hvernig villur væru komnar þar upp.

4.7 Skjölun

Vefþjónustan var skjöluð með tóli sem heitir Swagger og er aðgengilegt á vefsíðuvefþjónustunnar með því að slá inn http://{hostname}/{APIName}/docs. Swagger ferítarlega í gegnum allar rútur (e. routes) sem eru í boði, hvað þær gera og hvernig á að nota þær.

24

Page 26: Replication Monitor

5 Framvinduyfirlit

Í þessum kafla verður farið yfir spretti verkefnisins. Kaflanum er skipt í 9 undirkafla sem hverog einn tekur fyrir einn sprett. Undirbúningur fór fram í spretti 0 og raunverulegir Scrumsprettir voru 8 talsins.

5.1 Sprettur 0

Þessi sprettur byrjaði 20. janúar og endaði 3 vikum seinna, þann 10. febrúar.

5.1.1 Þema

Í þessum sprett var mest áhersla lögð á að leggja grunninn að verkefninu, greina það ogskipuleggja svo að hægt væri að byrja að vinna fyrir alvöru í næsta sprett. Hópmeðlimir ákváðuhver tæki að sér hvaða hlutverk innan Scrum aðferðafræðinnar og hvaða vinnutímar hentuðuflestum. Þá var einnig lögð áhersla á það að koma upp því tæknilega umhverfi sem kerfið yrðismíðað og prófað í. Spretturinn var ekki skipulagður sem hefðbundinn Scrum sprettur af því aðmestur tími fór í fundi og að leysa verkefni sem voru ekki tengd forritun.

5.1.2 Samantekt

Sprettur 0 fór vel af stað. Við fórum á fundi með 2 fyrirtækjum og fengum verkefnið skömmueftir þann síðari. Nokkurn tíma tók þó að ná góðum skilningi á umfangi verkefnisins ogþurftum við að funda nokkrum sinnum með því teymi á vegum LS Retail sem stóð aðverkefninu til að geta komið okkur af stað. Einnig tók dálítinn tíma að ákveða hvaða dagarhentuðu best sem fastir vinnudagar hjá hópmeðlimum, en að lokum urðu mánudagar ogþriðjudagar fyrir valinu þegar ljóst var hvernig vinnuálag vikunnar yrði á önninni.

5.1.3 Yfirlit

Vinnan byrjaði nokkuð vel og var liðsandinn góður. Hópmeðlimir náðu vel saman og gekk velað ákveða í grunnatriðum hvernig verkefnið yrði útfært. Skipulag spretta fór þó nokkuð úrböndunum og þurfti að endurskoða það í lok spretts svo að fjöldi vinnutíma í lok annar yrðinægilegur til þess að ná að klára verkefnið. Ákveðið var að það þyrfti að fylgja skipulaginubetur í næsta spretti og einnig að byrja þyrfti á helstu Scrum athöfnum fyrir alvöru.

5.1.4 Unnar klukkustundir

Teymið Fjöldi klst. unnið íspretti

Fjöldi klst. unnið íverkefni Áætlaður fjöldi klst.

Eyþór Gunnar Jónsson 23 23 30Kristján Ingólfsson 21.5 21.5 30Pétur Örn Guðmundsson 21.5 21.5 30Sverrir Brimar Birkisson 22.5 22.5 30Samtals 88.5 88.5 120

Tafla 5.1: Yfirlit yfir unna tíma í spretti 0.

25

Page 27: Replication Monitor

5.1.5 Brunarit

Mynd 5.1: Sprettur 0, vinnutímar.

Unnar voru samanlagt 12 klukkustundir á undirbúningstímabili áður en sprettur 0 byrjaði.Þeim var aðallega varið í fundarhöld við fyrirtæki.

26

Page 28: Replication Monitor

5.2 Sprettur 1

Þessi sprettur byrjaði þann 11. febrúar og endaði 2 vikum seinna, þann 24. febrúar.

5.2.1 Þema

Spretturinn gekk mest út á það að byggja grunnvirkni þjónustunnar svo að hægt væri að bætavið hana og breyta í seinni sprettum. Hópurinn var sammála um það að mjög mikilvægt væriað geta fyrst og fremst sótt upplýsingar úr Data Director, veitt þeim í eigin gagnagrunn og birtí einföldu vefviðmóti. Allt púður í sprettinum var lagt í að koma upp þessari grunnvirkni. Þettavar fyrsti spretturinn sem var skipulagður sem alvöru Scrum sprettur og komumst viðalmennilega í gang með að nota Jira til að skipuleggja vinnuna.

5.2.2 Samantekt

Í fyrstu viku sprettsins fóru fram kynningar og frekari greining verkefnisins. Gert vartöfluskema til að hópmeðlimir gætu áttað sig betur á uppbyggingu gagnagrunnsins. Þá vareinnig gert uppkast að notendaviðmóti þjónustunnar (Almennar kröfur nr. 6, 7 og 8). Í síðarihluta sprettsins fór forritunin af stað fyrir alvöru. Mest áhersla var lögð á að koma uppgrunnvirkni forritsins og að geta lesið upplýsingar úr Data Director og Scheduler sem fyrst ogkomið þeim upplýsingum á skjá.

5.2.3 Yfirlit

Almennt gekk vinnan vel en ekki náðist að klára neinar stórar forritunarsögur og reyndist þvínokkuð erfitt að áætla hraða (e. velocity) hópsins í sögupunktum eftir sprettinn. Þá varfjarvera Kristjáns sem var erlendis í fríi og mikið álag í vinnu Eyþórs einnig nokkuð til trafala.Betur gekk þó að halda sig við tímaplanið en í síðasta spretti þó að eitthvað vantaði upp á þar.Hópmeðlimir settu sér það markmið að gera betur í næsta spretti og Eyþór og Kristján settusér það markmið að bæta upp óunna tíma í komandi sprettum.

5.2.4 Unnar klukkustundir

Teymið Fjöldi klst. unnið íspretti

Fjöldi klst. unnið íverkefni Áætlaður fjöldi klst.

Eyþór Gunnar Jónsson 25.5 51.5 30Kristján Ingólfsson 19 43.5 30Pétur Örn Guðmundsson 41.5 66 30Sverrir Brimar Birkisson 36.5 62 30Samtals 122.5 223 120

Tafla 5.2: Yfirlit yfir unna tíma í spretti 1.

27

Page 29: Replication Monitor

5.2.5 Brunarit

Mynd 5.2: Yfirlit yfir unna tíma í spretti 1.

Mynd 5.3: Yfirlit yfir kláraða sögupunkta í spretti 1.

28

Page 30: Replication Monitor

5.3 Sprettur 2

Þessi sprettur byrjaði þann 25. febrúar og endaði 2 vikum síðar, þann 10. mars.

5.3.1 Þema

Þema þessa spretts var meira og minna það sama og þess síðasta: Að koma grunnvirknikerfisins í gang svo hægt væri að fara að byggja ofan á hana. Mikið var unnið að stórum sögumsem ekki náði að klára í síðasta spretti.

5.3.2 Samantekt

Spretturinn gekk vel fyrir sig, þó að hann hafi ekki verið alveg jafn afkastamikill og síðastisprettur. Þó náðist að klára þrjár stórar sögur (Virknikröfur nr. 3, 11 og 12) og komast vel áleið með nokkrar aðrar minni. Kerfið var komið á nokkuð góðan stað og gat það sóttupplýsingar í DDs og Schedulers, komið þeim í eigin gagnagrunn. Þó vantaði örlítið upp á tilþess að geta birt þær upplýsingar í vefviðmóti.

5.3.3 Yfirlit

Almennt gekk spretturinn vel og voru fáar utanaðkomandi hindranir standandi í vegihópmeðlima. Scrum athafnir fóru vel fram og náðu hópmeðlimir að vinna þær klukkustundirsem áætlaðar voru fyrir sprettinn og í sumum tilfellum meira en það. Ekki náði að klára einsmikið af sögupunktum eins og hópmeðlimir vildu, en nokkrar stórar sögur komust vel á leið.Hópurinn gat áætlað afköst sín betur eftir þennan sprett.

5.3.4 Unnar klukkustundir

Teymið Fjöldi klst. unnið íspretti

Fjöldi klst. unnið íverkefni Áætlaður fjöldi klst.

Eyþór Gunnar Jónsson 33.5 85 30Kristján Ingólfsson 30.5 75 30Pétur Örn Guðmundsson 36 102 30Sverrir Brimar Birkisson 33.5 95.5 30Samtals 133.5 357.5 120

Tafla 5.3: Yfirlit yfir unna tíma í spretti 2.

29

Page 31: Replication Monitor

5.3.5 Brunarit

Mynd 5.4: Yfirlit yfir unna tíma í spretti 2.

Mynd 5.5: Yfirlit yfir kláraða sögupunkta í spretti 2.

30

Page 32: Replication Monitor

5.4 Sprettur 3

Þessi sprettur byrjaði þann 11. mars og endaði 2 vikum síðar, þann 24. mars.

5.4.1 Þema

Síðustu tveir sprettir reyndust ekki vera nægur tími til að koma upp grunnvirkni forritsins þ.e.Að geta sótt upplýsingar um færslur úr Data Directors og Schedulers, veitt þeim í gegnumvefþjónustu í eigin gagnagrunn og birt á skjá. Eftir síðustu spretti var hægt að gera þetta alltundir réttum kringumstæðum, en ekki allt í einu á áreiðanlegan hátt. Markmið þriðjasprettsins var því að tengja alla þessa mikilvægu liði saman.

5.4.2 Samantekt

Ekki komu upp neinar alvarlegar ytri hindranir í sprettinum og gátu hópmeðlimir einbeitt sérað vinnu sinni án truflana. Sögurnar sem hópmeðlimir kljáðust við reyndust vera erfiðariviðureignar en fyrst var búist við og hefði sennilega verið sniðugt að kljúfa þær í smærri bita.Þó tókst að ljúka öllum þessum stóru sögum í sprettinum.

5.4.3 Yfirlit

Meðlimir hópsins náðu að klára allar þær sögur sem verið var að vinna að í sprettinum. Fjöldikláraðra sögupunkta var töluvert hærri í þessum spretti en þeim sem komu fyrir. Eftir þennansprett var hægt að láta kerfið virka eins og ætlað var fyrir Data Directors, en það vantaði sömuvirkni fyrir Schedulers. Hópmeðlimir sáu fram á það að geta farið að einbeita sér meira að þvíað bæta utan á verkefnið þegar þessum sögum sem mynduðu hryggjarsúlu kerfisins mynduklárast.

5.4.4 Unnar klukkustundir

Teymið Fjöldi klst. unnið íspretti

Fjöldi klst. unnið íverkefni Áætlaður fjöldi klst.

Eyþór Gunnar Jónsson 27 112 30Kristján Ingólfsson 32 106 30Pétur Örn Guðmundsson 27.5 129.5 30Sverrir Brimar Birkisson 30.5 126 30Samtals 117 473.5 120

Tafla 5.4: Yfirlit yfir unna tíma í spretti 3.

31

Page 33: Replication Monitor

5.4.5 Brunarit

Mynd 5.6: Yfirlit yfir unna tíma í spretti 3.

Mynd 5.7: Yfirlit yfir kláraða sögupunkta í spretti 3.

32

Page 34: Replication Monitor

5.5 Sprettur 4

Þessi sprettur var lengri en fyrri sprettir vegna prófa. Hann byrjaði þann 25. mars og stóð í 3vikur. Hann endaði þann 14. apríl.

5.5.1 Þema

Í þessum sprett var lögð megin áhersla á að koma notendaþjónustunni í gang, þ.e. þeirri virkniað notandi gæti skráð sig inn og út í forritinu og ýmis önnur smærri virkni. Þá var einnig lögðáhersla á að þjónustan gæti unnið með LS Scheduler upplýsingar á sama hátt og Data Directorupplýsingar, en það var helsta atriðið sem var eftir í því sem myndaði hryggjarsúlu verkefnisins.

5.5.2 Samantekt

Skoðaðir voru valkostir fyrir notendaþjónustu en ekkert var útfært að fullu. Þrátt fyrir að hafahaft hann lengri en venjulega komst afar lítið í verk í sprettinum. Flestir hópmeðlimanna voruuppteknir að læra fyrir próf eða við vinnu og gafst því lítill tími til að sinna verkefninu.

5.5.3 Yfirlit

Þar sem að þessi sprettur var á meðan að prófin stóðu yfir var hann hafður lengri, eða þrjárvikur í stað tveggja. Talið var að þetta myndi gera hópmeðlimum kleift að vinna eitthvað aðverkefninu þrátt fyrir að vera að læra undir próf, en í flestum tilvikum reyndist það ekkistandast. Ekki náðist að klára neinar sögur í sprettinum og stóðu því hópmeðlimir uppi meðsama magn sögupunkta í lok spretts og þeir höfðu byrjað með.

5.5.4 Unnar klukkustundir

Teymið Fjöldi klst. unnið íspretti

Fjöldi klst. unnið íverkefni Áætlaður fjöldi klst.

Eyþór Gunnar Jónsson 4 116 30Kristján Ingólfsson 33 139 30Pétur Örn Guðmundsson 3 132.5 30Sverrir Brimar Birkisson 3 129 30Samtals 43 516.5 120

Tafla 5.5: Yfirlit yfir unna tíma í spretti 4.

33

Page 35: Replication Monitor

5.5.5 Brunarit

Mynd 5.8: Yfirlit yfir unna tíma í spretti 4.

Mynd 5.9: Yfirlit yfir kláraða sögupunkta í spretti 4.

34

Page 36: Replication Monitor

5.6 Sprettur 5

Þessi sprettur byrjaði þann 15. apríl og endaði 2 vikum síðar, þann 28. apríl.

5.6.1 Þema

Þema sprettsins var að koma notendaþjónustunni og viðmótinu almennilega upp. Aðal virknikerfisins var tilbúin á bakvið tjöldin, en birta þurfti þær upplýsingar sem kerfið gat sótt upp áskjá svo að notandi gæti haft eitthvað gagn af þeim. Þá var einnig lögð áhersla á að gerastjórnanda kleift að stjórna aðgangi notenda að kerfinu.

5.6.2 Samantekt

Tekist var á við nær allar sögur sem tengdust viðmótinu í þessum spretti. Flestar þeirra vorufrekar litlar og auðveldar viðureignar og náðist því að klára flestar í lok fyrri vikunnar. Þánáðist einnig að klára nokkrar stærri sögur og svo nokkrar úr fyrri sprettum sem átti eftir aðklára. Í heildina litið gekk vinnan vel fyrir sig. Í lok seinni vikunnar náðist að leggja lokahönd ásíðustu söguna.

5.6.3 Yfirlit

Í þessum spretti komst verkefnið á mun meira flug en áður, en allir hópmeðlimir voru nú búnir íprófum og gátu einbeitt sér alfarið að verkefninu. Hver sagan á fætur annarri var kláruð ogkerfið fór að taka á sig þá mynd sem því var ætlað í upphafi, að sjálfsögðu með einhverjumbreytingum. Hópmeðlimir gátu nú farið að mæta á venjulegum vinnutíma á nánast hverjumdegi upp í höfuðstöðvar LS Retail og voru því yfirleitt allir viðstaddir á sama tíma.

5.6.4 Unnar klukkustundir

Teymið Fjöldi klst. unnið íspretti

Fjöldi klst. unnið íverkefni Áætlaður fjöldi klst.

Eyþór Gunnar Jónsson 86.5 202.5 60Kristján Ingólfsson 71.5 210.5 60Pétur Örn Guðmundsson 84.5 217 60Sverrir Brimar Birkisson 87 215.5 60Samtals 329.5 845.5 240

Tafla 5.6: Yfirlit yfir unna tíma í spretti 5.

35

Page 37: Replication Monitor

5.6.5 Brunarit

Mynd 5.10: Yfirlit yfir unna tíma í spretti 5.

Mynd 5.11: Yfirlit yfir kláraða sögupunkta í spretti 5.

36

Page 38: Replication Monitor

5.7 Sprettur 6

Þessi sprettur var styttri í dögum talið en lengri í klukkustundum en fyrri sprettir. Hannbyrjaði þann 29. apríl og endaði viku síðar þann 5. maí.

5.7.1 Þema

Þema þessa spretts var að klára allar þær sögur sem eftir voru í kröfulistanum. Þá var einnigtekin fyrir ýmis undirbúningsvinna fyrir þriðja og síðasta stöðufund og lokakynninguna s.s. aðljúka við allar skýrslur, rit og handbækur.

5.7.2 Samantekt

Áður en spretturinn byrjaði var tekið til í kröfulistanum og hent út sögum sem ekki kom tilgreina að útfæra vegna skorts á tíma. Þetta voru t.d. sögur sem fjölluðu um að gera smáforritfyrir iOS og Android tæki og Elasticsearch virkni. Eftir þetta var tekist á við allar þær sögursem voru eftir í sprettinum.

5.7.3 Yfirlit

Hópmeðlimir unnu hörðum höndum við þær sögur sem voru eftir og náðist góður árangur við aðklára þær og fínpússa þjónustuna. Útlit síðunnar tók á sig mynd og varð stílhreinna og betra.Nokkur ruglingur var um það nákvæmlega hvaða upplýsingar ættu að birtast á hvaða skjámynd,en það festist almennilega í sessi í þessum spretti og fékk hópurinn grænt ljós frá LS mönnum.

5.7.4 Unnar klukkustundir

Teymið Fjöldi klst. unnið íspretti

Fjöldi klst. unnið íverkefni Áætlaður fjöldi klst.

Eyþór Gunnar Jónsson 57.5 260 45Kristján Ingólfsson 42 252.5 45Pétur Örn Guðmundsson 58 275 45Sverrir Brimar Birkisson 58 273.5 45Samtals 215.5 1061 180

Tafla 5.7: Yfirlit yfir unna tíma í spretti 6.

37

Page 39: Replication Monitor

5.7.5 Brunarit

Mynd 5.12: Yfirlit yfir unna tíma í spretti 6.

Mynd 5.13: Yfirlit yfir kláraða sögupunkta í spretti 6.

38

Page 40: Replication Monitor

5.8 Sprettur 7

Þessi sprettur, eins og sá sem kom á undan, var aðeins ein vika. Hann byrjaði þann 6. maí ogendaði þann 12.

5.8.1 Þema

Þema sprettsins var að ljúka við þær sögur sem voru eftir í kröfulistanum og fínpússa verkefniðfyrir lokaskil. Einnig var fengist við að gera prófanir á kóðanum, bæði fram og bakenda.

5.8.2 Samantekt

Vel gekk að ganga frá kerfinu fyrir lokastöðufund og voru hópmeðlimir sáttir við frammistöðusína á honum. Skrifaðar voru margar og ítarlegar prófanir fyrir bakenda kerfisins, en erfiðlegagekk að skrifa prófanir fyrir framenda og viðmót. Talið var að vandamálið væri fyrst og fremsttengt því að verið var að nota React/Redux í .NET Core, en sú blanda átti að vera erfið fyrirprófanir.

5.8.3 Yfirlit

Lokastöðufundur hópsins var í þessum spretti og tókst hann nokkuð vel. Hópmeðlimir höfðuunnið hörðum höndum að því að kerfið yrði komið á góðan stað fyrir hann, en eftirstöðufundinn var ekki leyfilegt að bæta frekari virkni við það. Því tók við tímabil sem fór mestí að skrifa prófanir. Hætt var við tvær sögur vegna skorts á tíma, en þær snertu vafraskilaboð(e. browser notifications) og stillingar fyrir villuskilaboð í tölvupósti.

5.8.4 Unnar klukkustundir

Teymið Fjöldi klst. unnið íspretti

Fjöldi klst. unnið íverkefni Áætlaður fjöldi klst.

Eyþór Gunnar Jónsson 23.5 283.5 45Kristján Ingólfsson 33.5 286 45Pétur Örn Guðmundsson 41 316 45Sverrir Brimar Birkisson 41 314.5 45Samtals 139 1200 180

Tafla 5.8: Yfirlit yfir unna tíma í spretti 7.

39

Page 41: Replication Monitor

5.8.5 Brunarit

Mynd 5.14: Yfirlit yfir unna tíma í spretti 7.

Mynd 5.15: Yfirlit yfir kláraða sögupunkta í spretti 7.

40

Page 42: Replication Monitor

5.9 Sprettur 8

Þessi síðasti sprettur byrjaði þann 13. maí og endaði þann 20. maí.

5.9.1 Þema

Spretturinn fjallaði fyrst og fremst um að undirbúa hópinn fyrir lokakynningu verkefnisins.Lögð var áhersla á að allar skýrslur og handbækur væru kláraðar og yfirfarnar fyrir lokaskil semvoru þann 17. maí. Einnig voru kannaðir möguleikar á að prófa viðmótið.

5.9.2 Samantekt

Spretturinn gekk almennt vel fyrir sig, en engum frekar árangri var ná í að gera prófanir fyrirviðmótið. Lokaskýrslan var einnig þegar komin á góðan stað og var því frekar lítið sem þurftiað bæta við hana.

5.9.3 Yfirlit

Í þessum spretti voru einungis tvær sögur: Að undirbúa hópinn fyrir og halda lokakynningunaog svo að skrifa prófanir fyrir viðmótið. Hópmeðlimir sem voru ekki að skoða möguleika meðprófanir unnu ýmist að því að klára skýrsluna eða að fínpússa forritið á annan, smávægileganhátt. Þegar lokaskýrslu var skilað þann 17. maí var búið að ákveða að hætta við söguna semfjallaði um viðmótsprófanir. Þá var einungis eftir sagan sem fjallaði um lokakynninguna.

5.9.4 Unnar klukkustundir

Teymið Fjöldi klst. unnið íspretti

Fjöldi klst. unnið íverkefni Áætlaður fjöldi klst.

Eyþór Gunnar Jónsson 30.5 314 35Kristján Ingólfsson 19 305 35Pétur Örn Guðmundsson 25 341 35Sverrir Brimar Birkisson 25 339.5 35Samtals 99.5 1299.5 140

Tafla 5.9: Yfirlit yfir unna tíma í spretti 8.

Sprettinum lauk 20. maí, en taflan fyrir ofan sýnir stöðuna í lok dags 16. maí, kvöldinu fyrirskil. Hópmeðlimir áttu svo eftir að fínpússa og æfa kynninguna um helgina og fóru nokkrirklukkutímar í það.

41

Page 43: Replication Monitor

5.9.5 Brunarit

Mynd 5.16: Yfirlit yfir unna tíma í spretti 8. Strikaðar súlur sýna tíma áætlaða fyrir dagana eftir skil á skýrslu.

Mynd 5.17: Yfirlit yfir kláraða sögupunkta í spretti 8.

42

Page 44: Replication Monitor

6 Yfirlit verkefnis

6.1 Brunarit verkefnis

Á þessari mynd má sjá framvindu verkefnisins í sögupunktum. Þar sem línan fer upp á við varbætt við sögum, en fljótlega eftir að vinna í verkefninu fór af stað kom í ljós að bæta þyrfti viðnokkrum sögum sem fjölluðu um gerð kynninga og skýrsla fyrir stöðufundi sem og gerð ýmissarita til að fá yfirsýn yfir kerfið. Ekki tókst nógu vel að áætla sögupunkta fyrir hvern sprett, enmikill munur var á fjölda þeirra sem kláruðust í hverjum þeirra. Í byrjuninni á spretti 6 var svonokkrum sögum (aðallega C kröfum) hent út, í sumum tilfellum vegna þess að ekki myndigefast nægur tími til að klára þær og í öðrum vegna þess að þær voru ekki nauðsynlegar lengur.

Mynd 6.1: Brunarit verkefnisins.

6.2 Vinnutímar

Þegar skýrslunni var skilað þann 17. maí var teymið búið að vinna samanlagt 1299.5 tíma íverkefninu. Í byrjun verkefnisins náðist ekki að vinna eins marga tíma og áætlað var, en svoþegar leið á önnina, sérstaklega eftir prófin, komst hópurinn í gírinn og safnaði upp mun fleiritímum. Um það bil helmingur tímanna fór í forritun, rúmlega fjórðungur í greiningu og hönnunog svo annar fjórðungur í fræðslu, stjórnun og skipulag.

43

Page 45: Replication Monitor

FlokkurÁætlaðurheildarfjölditíma

Raunverulegurheildarfjölditíma

Munur

Allt verkefnið 1340 1299.5 -40Forritun 640 591 -49Greining og hönnun 240 380.5 +140.5Fræðsla 200 157 -43Stjórnun og skipulag 200 171 -29

Tafla 6.1: Skipting unna tíma í verkefni eftir verkflokki.

Mynd 6.2: Skipting tíma eftir verkflokkum.

Meðlimur Heildarfjölditíma Forritun Greining og

hönnun Fræðsla Stjórnun ogskipulag Hlutfall

Eyþór Gunnar Jónsson 314 138.5 122.5 17.5 61.5 24,2%Kristján Ingólfsson 305 124.5 51 49 80.5 23,5%Pétur Örn Guðmundsson 341 163.5 99.5 50 28 26,2%Sverrir Brimar Birkisson 339.5 164.5 107.5 40.5 27 26,1%

Tafla 6.2: Skipting vinnutíma meðal hópmeðlima.

44

Page 46: Replication Monitor

6.3 Samantekt

Eftir fyrsta fund okkar með LS Retail leyst okkur mjög vel á verkefnið sem þeir kynntu fyrirokkur, það var umfangsmikið en spennandi. Í því fólst að hanna og smíða heilt kerfi þ.e.a.s.framenda, bakenda, gagnagrunn og viðbætur við annan hugbúnað.Vinna við verkefnið gekk mjög vel og erum við ánægðir með lokaafurðina. Hópurinn náði aðklára allar helstu sögur og öll grunnvirkni er til staðar.Upp komu þó ýmsar áskoranir á meðan við vorum að vinna að verkefninu. Erfitt var að setjasig inn í kerfi LS Retail til að smíða okkar viðbætur, uppsetning á deployment ferlinu íWindows var krefjandi og við þurftum að endurskrifa viðmót á framenda oftar en einu sinnivegna breytinga frá LS Retail.Verkskipulagið gekk brösulega til að byrja með en þegar það leið á verkefnið þá réttist úrskekkjunni sem myndaðist í byrjun.Þetta verkefni hefur dýpkað skilning okkar umtalsvert á ferlinu í kringum þróun og smíði ákerfum sem þessum og viljum við þakka LS Retail fyrir samstarfið.

45

Page 47: Replication Monitor

7 Viðauki

7.1 Kóðareglur

Hópurinn kom sér saman um forritunarreglur til að auðvelda og samræma vinnubrögð viðforritun á kerfinu þar sem það tryggir að allir meðlimir í hópnum muni nota sama fyrirkomulagvið forritun. Notast verður við Microsoft kóðareglurnar.

7.1.1 C#

Heiti á klösum eiga að vera á ensku og vera lýsandi fyrir klasann. Í upphafi á heiti klasa skalhafa hástaf en aðrir stafir skulu vera lágstafir. Ef heiti klasa er sett saman af fleiru en einu orðiþá á að nota hástaf í upphafi á hverju orði. Með öðrum orðum, þá skulu klasar vera Pascalcasing. Þessar sömu reglur gilda auk þess fyrir föll. Slaufusvigar skulu ávallt koma fyrir neðanskilgreiningu falls og vera eins og sjá má í dæmi hér að neðan. Eina undantekningin er þegarnotast er við get og set sem fylgja eigin skipan. Inndráttur á texta skal vera gerður með því aðnota tab.

Dæmi 1: Pascal casing (á klasa og falli).1 public class SomeClass2 {3 public SomeFunction ()4 {5 }6 }

Dæmi 2: Slaufunotkun í get og set.1 public int someVariable { get; set; }

Heiti á breytum skal vera með Camel casing. Í því tilfelli, þá byrja heiti á litlum staf og síðaneru orðaskil aðgreind með hástöfum (ekkert bil er haft á milli orða).

Dæmi 3: Camel casing (á breytu).1 int someVariable;

46

Page 48: Replication Monitor

7.1.2 Gagnagrunnar

Heiti á töflum skal vera á ensku og vera lýsandi fyrir þau gögn sem þar á að geyma. Í heiti átöflum á að nota Pascal casing.

Dæmi 4: Töfluheiti.1 SomeTable

Eigindin í töflunum skulu vera með Camel casing.

Dæmi 5: Eigindi í töflu.1 someAttribute

7.1.3 Javascript

Sömu reglum skal fylgja og í C# varðandi heiti á klösum, föllum, breytum og notkun á svigum.

7.1.4 HTML

HTML5 skal notað þar sem það er hægt. Tög skulu vera rituð með lágstöfum og eiga að verarétt lokuð með skástriki.

Dæmi 6: Tag.1 <h1>Title</h1>

7.1.5 CSS

Properties og selector-ar skulu vera í lágstöfum. Properties skulu vera í stafrófsröð. Ef heiti áselector er meira en eitt orð, þá skal því skipt niður með bandstriki.

Dæmi 7: CSS selector.1 #box -selector2 {3 background -color:lightblue;4 border:1px␣solid␣black;5 margin -bottom:100px;6 margin -top:100px;7 margin -left:80px;8 margin -right:150px;9 }

47

Page 49: Replication Monitor

7.2 Töfluskema

Tafla yfir töfluskema, ef dálkur má vera null er hann merktur með ?.

Mynd 7.1: Töfluskema fyrir DataDirectors.

48

Page 50: Replication Monitor

Mynd 7.2: Töfluskema fyrir Schedulers.

Mynd 7.3: Töfluskema fyrir Users.

Mynd 7.4: Töfluskema fyrir ExceptionLogs.

49

Page 51: Replication Monitor

7.3 Prófanir

7.3.1 Einingaprófanir

Mynd 7.5: Einingaprófanir á vefþjónustu.

50

Page 52: Replication Monitor

Mynd 7.6: Einingaprófanir á vefþjónustu.

51

Page 53: Replication Monitor

7.3.2 Kerfisprófanir

Mynd 7.7: Kerfisprófanir á vefþjónustu.

52

Page 54: Replication Monitor

Mynd 7.8: Kerfisprófanir á vefþjónustu.

Mynd 7.9: Kerfisprófanir á vefþjónustu.

53

Page 55: Replication Monitor

Mynd 7.10: Kerfisprófanir á vefþjónustu.

54

Page 56: Replication Monitor

Mynd 7.11: Kerfisprófanir á vefþjónustu.

Mynd 7.12: Kerfisprófanir á vefþjónustu.

55