mainmanager - láttu vita½rsla... · 2019. 8. 30. · vor 2016 mainmanager - láttu vita...

37
MainManager - Láttu vita T-404-LOKA Aron Freyr Heiðarsson Halldís Una Hreiðarsdóttir Hallgrímur Þórhallsson Hrafnkell Baldursson Rannveig Guðmundsdóttir 13. maí 2016 Leiðbeinandi: Torfi Helgi Leifsson Prófdómari: Karl Andrés Gíslason Kennari: Hallgrímur Arnalds

Upload: others

Post on 01-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

MainManager - Láttu vita

T-404-LOKA

Aron Freyr HeiðarssonHalldís Una Hreiðarsdóttir

Hallgrímur ÞórhallssonHrafnkell Baldursson

Rannveig Guðmundsdóttir

13. maí 2016

Leiðbeinandi: Torfi Helgi LeifssonPrófdómari: Karl Andrés GíslasonKennari: Hallgrímur Arnalds

Page 2: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

Efnisyfirlit

1 Lýsing á verkefni 31.1 Verksvið hóps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Tæknilegt umhverfi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Afurðir verkefnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Verkskipulag 62.1 Samskipti milli hóps og fyrirtækis . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Aðferðafræði . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2.1 Hlutverk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.3 Rýmisáætlun, þróunarhraði og vinnuframlag . . . . . . . . . . . . . . . . . . . . . 72.4 Fyrirkomulag spretta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.5 Vinnuáætlun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Yfirlit yfir spretti 8

4 Kröfulýsing 9

5 Áhættugreining 12

6 Notendahandbók 14

7 Hönnun 147.1 Kerfishönnun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147.2 Viðmótshönnun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

7.2.1 Grunnhönnun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157.2.2 Ítarlegri hönnun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167.2.3 Lokahönnun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

8 Framvinda verkefnis 218.1 Sprettur 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228.2 Sprettur 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

8.2.1 Markmið spretts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228.2.2 Niðurstaða spretts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

8.3 Sprettur 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238.3.1 Markmið spretts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238.3.2 Niðurstaða spretts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

8.4 Sprettur 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248.4.1 Markmið spretts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248.4.2 Niðurstaða spretts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

8.5 Sprettur 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258.5.1 Markmið spretts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258.5.2 Niðurstaða spretts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

8.6 Sprettur 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268.6.1 Markmið spretts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268.6.2 Niðurstaða spretts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

8.7 Sprettur 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

1

Page 3: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

8.7.1 Markmið spretts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278.7.2 Niðurstaða spretts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

8.8 Sprettur 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288.8.1 Markmið spretts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288.8.2 Niðurstaða spretts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

8.9 Sprettur 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298.9.1 Markmið spretts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298.9.2 Niðurstaða spretts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

9 Samantekt 309.1 Verkþættir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309.2 Vinnutímar hópmeðlima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319.3 Niðurstaða . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319.4 Framhald . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

10 Prófanir 3210.1 Einingarprófanir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

10.1.1 App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3210.1.2 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

10.2 End-to-End tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3210.3 Notendaprófanir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3210.4 Öryggisprófanir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3310.5 Álagsprófanir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

11 Viðauki 1 - Vinnureglur 3411.1 Kóðareglur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

11.1.1 Almennt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3411.1.2 HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3411.1.3 CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3411.1.4 Javascript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3411.1.5 C# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

11.2 Aðrar vinnureglur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3611.2.1 TeamFoundation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2

Page 4: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

1 Lýsing á verkefni

Verkefnið gekk út á að búa til app fyrir MainManager sem gerir notendum kleift að senda innábendingu til sveitafélags, eða annars opinbers aðila, án þess að vita hvert hún á að fara. Notandiá að geta merkt inn staðsetningu á korti, valið flokk og komið ábendingu um eitthvað sem þarfað laga, til aðila sem er ábyrgur fyrir viðkomandi atvikum. Notandi á einnig að geta tekið myndog skrifað lýsingu af þeim hlut sem hann vill senda ábendingu um og látið hana fylgja með eðavalið mynd úr safni.Sem dæmi mætti taka bilaðan ljósastaur eða holu í vegi. Notandi getur valið um nokkra flokkaog ábendingin verður send á viðkomandi aðila. Notandinn á ekki að þurfa að skrá sig inn til þessað geta notað appið en nauðsynlegt er að láta símanúmer og/eða tölvupóstfang fylgja með. Hægter að fá tilkynningu um framgang mála senda í símanúmerið, eða fá hana senda í tölvupósti. Eftími gefst kom upp hugmynd um að tengja kerfið við samfélagsmiðla svo að notendur gætu látiðfleiri vita af ábendingum.

1.1 Verksvið hóps

Okkar vinna snýr að því að búa til app sem verður keyranlegt á bæði Android og iOS. Við gerðumeinnig heimasíðu en á henni er kort sem birtir þær ábendingar sem hafa verið sendar inn. Það erlíka bakendi á heimasíðunni þar sem hægt er að breyta svæðum fyrir viðskiptavini. Við gerðumeinning okkar eigin API sem reiknar út hvaða viðskiptavinur er ábyrgur fyrir ábendingunni.Við ákváðum að það væri betra að gera app frekar en responsive vefsíðu vegna þess að við þurfumleyfi frá notendunum til þess að finna staðsetningu þeirra og til þess að ná í símanúmerið þeirraí SIM kortið. Með því að gera app þurfum við bara að biðja um leyfi þegar notandinn sækirappið. Auk þess sem MainManager vildu fá app. Við lentum í ýmsum vandræðum með aðná símanúmerum af SIM kortum og ákváðum í staðinn að nota sms staðfestingu til þess að fásímanúmer notenda.

3

Page 5: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

Á myndinni fyrir neðan má sjá yfirlitsmynd af þáttum verkefnisins sem teymið hefur unnið að.

Það sem er innan græna kassans er hluti af verkefninu sem er unninn af okkur. Eins ogsést gerðum við API sem talar við API hjá MainManager. Sá API sér um samskipti við aðalgagnagrunninn sem geymir öll gögnin. Okkar API reiknar út hvert á að senda ábendinguna,sendir hana þar næst á vefþjónustu MainManager sem skrifar hana í aðal gagnagrunninn aukþess að skrifa hana í grunn viðkomandi viðskiptavins. Ef að viðskiptavinurinn er ekki meðsinn eigin gagnagrunnn frá MainManager, sendum við honum tölvupóst með upplýsingum umábendinguna.

1.2 Tæknilegt umhverfi

Verkefnið var unnið að mestu leiti í Visual Studio 2015 sem notar Apache Cordova til þess aðafurðin verði þýðanleg yfir á native forritunarmál Android og iOS. Þetta þýðir að forritunin fórfram í HTML, CSS og JavaScript. Við notuðum ArcGis til þess að vinna með kortið. Við héldum

4

Page 6: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

utan um verkefnið með TeamFoundation útgáfustjórnun. Server er hýstur hjá MainManager enþeir settu líka upp VPN tengingu fyrir okkur svo við getum tengst honum utanhús.

Til að auðvelda útlitshönnun var notast við Ionic, með því kom þjónustan IonicLab sem leyfðiokkur að hanna grunnflæði appsins án þess að þurfa að kóða hana sjálf. IonicLabs gat svo gefiðokkur frumútgáfu af kóðanum fyrir appið sem við tókum og breyttum að okkar þörfum. Viðnotuðum einnig AngularJS, þar sem Ionic er knúið á AngularJS.

Sett var upp Gulp til að sjálfvæða einingarprófanir á appinu. Okkar test framework er Jasminesem vinnur með test umhverfinu Karma.

Vefþjónustan var skrifuð í C# og hún er REST vefþjónusta. Hún talar við vefþjónustuMainManager sem er SOAP vefþjónusta.

Við notuðum Photoshop og InVision til að búa til endanlega útlitshönnun á appinu.

1.3 Afurðir verkefnis

Afurð verkefnisins er app sem virkar fyrir Android og jafnvel iOS og Windows og vefsíða sem sýnirábendingar á korti og hefur bakenda þar sem hægt er að gera breytingar á svæðum viðskiptavinaMainManager og flokkuninni.MainManager mun eignast eignarétt á afurð þessa verkefnis.

5

Page 7: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

2 Verkskipulag

2.1 Samskipti milli hóps og fyrirtækis

Samskipti við MainManager fóru fram á skrifstofu fyrirtækisins, þar sem hópurinn hefur veriðmeð aðstöðu. Ef aðilar eru hinsvegar ekki á sama stað er alltaf hægt að senda póst. Aðal tengiliðurhópsins við fyrirtækið er Finnur Friðrik Einarsson ([email protected], s: 848-5717). HilmarSteinþórsson hefur einnig verið hópnum innan handar varðandi tæknileg málefni.MainManager útvegaði okkur einnig skjái og annan tæknibúnað.

2.2 Aðferðafræði

Hópurinn notaðist við Scrum aðferðafræði vegna þess að það hentar vel fyrir verkefnið og stærðhópsins. Fyrirtækið áætlaði að 1500 klst. fari í verkefnið, eða um 300 klst. á mann. Við höfðumalls um 15 vikur sem þýðir að áætlaður vinnutími á viku var 13-20 klst. á mann. Hinsvegargerðum við ráð fyrir meiri vinnu á síðustu þremur vikunum.

2.2.1 Hlutverk

Scrum master: Halldís Una HreiðarsdóttirProduct owner: MainManagerProduct owner innan teymis: Rannveig GuðmundsdóttirTeymi: Aron Freyr Heiðarsson, Halldís Una Hreiðarsdóttir, Hallgrímur Þórhallsson, HrafnkellBaldursson og Rannveig Guðmundsdóttir

Sem Scrum master hafði Halldís yfirumsjón með því að teymið gæti unnið óhrindrað og aðþað haldi áætlun.MainManager er Product owner, en innan teymsins ákváðum við að hafa einn einstakling semtæki á sig hlutverkið Product owner. Hún sér um að hafa samband við verkkaupa og aðforgangsraða kröfum á sem bestan hátt.

6

Page 8: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

2.3 Rýmisáætlun, þróunarhraði og vinnuframlag

Hópurinn reiknaði út rýmisáætlun út frá vinnugetu og komst að þeirri niðurstöðu að fyrir tveggjavikna spretti yrði heildar vinnurými hópsins 210 vinnustundir. Fyrir hvern sjö daga sprett varðvinnurýmið þó 200 vinnustundir.Þróunarhraði teymisins var reiknaður út og kom í ljós að unnir yrðu 50 sögupunktar á hverjumsprett. Það var reiknað út með því að nota planning poker á sögur verkefnisins sem voru þegarkomnar. Ein þeirra var brotin niður í verkþætti og áætluð í klukkustundum. Út frá því fengumvið út að 1 sögupunktur væru 3 klukkutímar.

Hver hópmeðlimur myndi þá skila af sér um það bil 330 tímum samkvæmt upphaflegri áætlun.Því var áætlað að verkefnið myndi taka 1650 vinnutíma í heildina.

2.4 Fyrirkomulag spretta

Við tókum tveggja vikna spretti í senn með reglulegum fundum sem voru haldnir í fyrirtækinu.Í þriggja-vikna tímabilinu skiptum við svo yfir í eins vikna spretti. Síðustu tveir sprettirnir urðuhinsvegar öðruvísi þar sem annar spretturinn fór í að klára verkefnið fyrir lokakynninguna oghinn í að klára lokaskýrsluna.Í spretti 0 fór fram undirbúningsvinna fyrir verkefnið og er hann því ekki talinn með í heildarfjöldaspretta. Fyrsti spretturinn byrjaði mánudaginn 1. febrúar.Sprettirnir urðu átta talsins samkvæmt fyrstu útreikningum. Fyrst tókum við fimm tveggjavikna spretti, en eftir prófatíðina lukum við verkefninu á tvemur eins vikna sprettum og svoeinum sprett sem stóð fram að lokaskilum. Við gerðum ráð fyrir að taka pásu í allavega einaviku í prófatíðinni.Á síðasta föstudegi í hverjum spretti fór fram sprint review, retrospectives og planning fundurfyrir næstkomandi sprett. Þá fengum við nokkrum sinnum að sitja inná Sprint Retrospectivemeð MainManager þar sem við sýndum þeim hvert við vorum komin og hvað við höfðum veriðað gera í síðasta spretti.

2.5 Vinnuáætlun

Myndin fyrir neðan sýnir hvernig við höguðum tveggja vikna sprettum. Það var aðallega unniðí miðri viku þar sem hópmeðlimir mættu í aðstöðuna og unnu.

Myndin fyrir neðan sýnir hvernig við höguðum eins vikna sprettum. Þeir voru með svipuðufyrirkomulagi og tveggja vikna sprettir, nema að hópmeðlimir munu vinna að minnsta kosti áttatíma á dag flesta daga.

7

Page 9: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

3 Yfirlit yfir spretti

Í töflunni fyrir neðan má sjá grófa áætlun sem við gerðum fyrir hvern sprett, sem samanstenduraf tímabili og markmið hvers spretts fyrir sig.

Sprettur Byrjar Endar Markmið0 18.01.16 31.01.16 Setja upp skjölunarumhverfi, gera

sögur.1 01.02.16 14.02.16 Setja upp þróunarumhverfi og

grunn útlitshönnun.2 15.02.16 28.02.16 Fá aðgang að kerfi og nánar

uppsetning á þróunarumhverfi.3 29.02.16 13.03.16 Vinna í API hluta og gera

framenda af appi klárann.4 14.03.16 27.03.16 Að geta sent inn athugasemdir í

database og að þær verði flokkaðar.5 28.03.16 10.04.16 Halda áfram með flokkun á

ábendinu og vinna í vefsíðu.6 18.04.16 24.04.16 Vinna áfram að vefsíðu og API.7 25.04.16 01.05.16 Vinna að aukakröfum.8 02.05.16 13.05.16 Vinna að lokaskilum.

8

Page 10: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

4 Kröfulýsing

Eftirfarandi tafla sýnir þær kröfur sem ætlast er til að kerfið uppfylli.

Saga Stærð Sprettur Lýsing Staða Forgangur Verkþáttur6 1 1 Ég vil hafa

skjölunarumhverfiðtilbúið

Búið A Documentation

20 2 1 Ég vil vera komin meðfyrirlestur fyrirnemendakynningu

Búið A Documentation

13 8 1 Setja upp sourcecontrol

Búið A Development

21 11 1 Ég vil hafa allt tilbúiðfyrir stöðufund 1

Búið A Documentation

9 13 1 Setja uppþróunarumhverfi

Búið A Planning

19 5 2 Ég vil vera komin meðaðgang að API hjá MM

Búið A Development

14 13 2 Ég vil að beinagrind aðútlitinu í html sétilbúin

Búið A Design & Analysis

23 34 2 Ég vil vera komin meðbakenda í API

Búið A Development

18 10 3.2 Ég vil vera byrjaður aðtengjast DB

Búið A Development

15 13 3.2 Ég vil að umhverfiðfyrir testin sé tilbúin

Búið A Development

16 2 3.2 Ég vil vera komin meðaðgang að DB hjá MM

Hætt við A Development

25 13 3 Ég vil geta valið mérGPS staðsetningu ákorti til að fylgja meðábendingunni minni

Búið A Development

17 13 1.2.3 Ég vil vera búin aðteikna uppútlitshönnun á Appinu

Búið A Design & Analysis

27 2 4 Ég vil geta sentathugasemd meðábendingunni minni

Búið A Development

28 2 4 Ég vil geta sett innsímanúmer meðábendingunni

Búið A Development

29 2 4 Ég vil geta sett innemailið mitt meðábendingunni minni

Búið A Development

9

Page 11: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

30 13 5 Ég vil geta séð aðrarábendingar á kortinu

Búið A Development

24 8 3.4.5 Ég vil að það sendistsjálfkrafa GPS meðábendingunni minni

Búið A Development

41 31 3.4.5 Ég vil vera komin meðframenda í appinu

Búið A Development

35 13 6 Ég vil geta fengiðfeedback í smsi umframvindu mála

Hætt við B Development

34 13 6 Ég vil geta fengiðfeedback í emaili umframvindu mála

Hætt við B Development

31 8 7 Ég vil sjá allar skráðarábendingar á kortavef ávefsíðu

Búið A Development

22 21 7 Ég vil vera komin meðframenda á vefsíðu

Búið A Development

36 55 5.7 Ég vil að ábendinginmín sendist á réttanstað

Búið A Development

26 3 4.5.7 Ég vil geta sent myndmeð ábendingunni

Búið A Development

38 8 4.5.7 Ég vil að símanúmeriðmitt sendist sjálfkrafainn í appið ef til er

Hætt við A Development

32 8 7 Ég vil að ábendingar ákortum séulitaflokkaðar eftirréttum flokki

Búið B Development

33 8 7 Ég vil geta filteraðábendingar á kortavefeftir flokkum

Búið B Development

42 8 7 Ég vil geta skráð miginn sem admin ogbreytt hlutum í appinuán þess að kóða

Búið B Development

47 8 5.7 Eg vil geta skipt umtungumál í app-inu

Búið C Development

50 3 8 Ég vil vera tilbúin meðrekstrarhandbók fyrirkerfið

Búið A Documentation

51 3 8 Ég vil vera búin meðlokaskýrsluna

Búið A Documentation

10

Page 12: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

45 3 8 Gera notendaprófanir áappinu

Búið A Testing

46 3 8 Gera kerfisprófun ákerfinu

Búið A Testing

49 8 8 Ég vil hafa testintilbúin fyrirframendann

Búið A Testing

44 15 5.8 Ég vil hafa testintilbúin fyrir API-inn

Búið A Testing

48 3 8 Ég vil geta staðfestsímanúmer í gegnumsms

Búið B Development

39 5 x Ég vil geta gefiðábendingunnialvarleikastig frá 1 til 5

Óhafið C Development

37 13 x Ég vil geta tengstappinu í gegnumsamfélagsmiðla

Óhafið C Development

40 13 x Ég vil get skrifaðathugasend við annarramanna ábendingar

Óhafið C Development

43 13 x Ég vil geta sent innábendingu semeingöngu fyrirtækiðmitt sér

Óhafið C Development

11

Page 13: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

5 Áhættugreining

Áhættugreiningin sýnir lista yfir þá hluti sem hefðu getað farið úrskeiðis og hvernig við leystumþað. Líkur, áhrif og áhættustuðull eru á skalanum 1 til 10, þar sem 1 er lægsta alvarleikastigiðog 10 það hæsta. Áhættustuðullinn er reiknaður með því að margfalda saman líkurnar og áhrifinog deila þeirri útkomu með 10.

Lýsing Líkur Áhrif Áhættu-stuðull

Fyrirbyggjandiaðgerðir

Aðgerðir ogeftirfylgni

Leyst

Að við eigum íerfiðleikum meðað tengjast DB

5 8 4 Tala við Finn eðaHilmar og fáaðstoð

04.03.16

Vesen að frá VPN 2 7 2 Spurja snemmaum þetta ogganga á eftir því

Ganga á eftir þvíað fá þetta

25.02.16

Vesen að tengjastMainManagerAPIí gegnum VPNtengingu

7 6 5 Tala við Ragnareða Hilmar umþetta og finnaútúr þessu

24.03.2016

Að við eigum íerfiðleikum meðað setja uppvinnuumhverfi

5 7 4 Halda áfram aðreyna... (googlaharðar)

05.02.16

Að við eigum íerfiðleikum við aðtengjast DB eðaAPI

5 8 4 Tala við Finn eðaHilmar og fáaðstoð

04.03.2016

Að conflict komiupp sem er erfittað leysa

4 8 4 KynnastTeamFoundationog unlocka skrárþegar búið er aðvinna

Fá aðstoð hjáRagnari eðaHilmari.RannsakaTeamFoundationbetur

Að MM geri ekkibeytingar ásínum API

3 8 3 Minna þá á aðgera þetta

Að GPSflokkunarkerfiðverði stærra envið bjuggumstvið

4 6 3 Skala til bakaflækjustigið áflokkunninni

Vesen meðTeamFoundation

5 5 3 Fá hjálp frá Finn,Hilmari eðaRagnari

12

Page 14: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

Að ekki verðurhægt að vinnameð kortið

3 7 3 Leita aðra leiða,finna önnur kortsem hægt er aðnota

Við töpumunninni vinnu íverkefninu

3 4 2 Nota og kunna áTeamFoundation,og afrita oft

Við missumhópmeðlim

1 9 1 Dreifa vinnuálagifyrrum meðlims áhina

Að við missumvinnuaðstöðuna

1 7 1 Fara upp í skóla

Að tölvan krassihjá einhverum íhópnum

2 4 1 Manneskja þarfað taka extratíma í að setjaallt upp aftur

Finnur og Hilmarfari báðir ífrí/verða veikir ásama tíma!

1 4 1 Tala við aðrastarfsmennMainManager

Veður 2 3 1 Meðlimir vinnisamhæft ígegnum Facebook

Að hópmeðlimurverði veikur

9 1 1 Taka vítamín eðamæta samt

Annar meðlimurtekur viðverkefni.Meðlimur vinnurheima en ísamskiptum viðhina hópmeðlima.Meðlimur færsérstakaupprifjun þegarhann kemur tilbaka. Meðlimurheldur áfram meðverkefni þegarhann snýr aftur

Að Finnur fari ífrí/verði veikur

3 1 1 Tala við Hilmar

Að Hilmar fari ífrí/verði veikur

3 1 1 Tala við Finn

13

Page 15: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

6 Notendahandbók

Notendahandbókin fyrir appið er í formi hjálparvalmöguleika inni í appinu. Á hverri síðu er hægtað ýta á spurningarmerkis-hnapp í neðra vinstra horninu sem gefur notandanum upplýsingar umhvað er hægt að gera á síðunni sem hann er á.

7 Hönnun

7.1 Kerfishönnun

Ámyndinni fyrir neðan má sjá uppbyggingu kerfisins. Ábending úr appinu sendist á vefþjónustunasem við gerðum sem sér um að flokka og ákvarða hvert hún á að sendast. Því næst sendir okkarvefþjónusta ábendinguna, með upplýsingum um fyrirtækið sem hún á að sendast á, á SOAPvefþjónustu MainManager. Því næst skrifar okkar vefþjónusta ábendinguna í gagnagrunn hjáviðkomandi fyrirtæki sem á að fá leysa ábendinguna. Ef svo vill til að viðskiptavinur er ekkimeð gagnagrunn og vefþjónustu hjá MainManager, mun sendast tölvupóstur á skráð netfangviðskiptavinsins með upplýsingum um ábendinguna.

Ástæðan fyrir þessari óhefðbundnu hönnun er sú að allir gagnagrunnar hjá MainManager hafasama töflustrúktur. Við fengum afrit af tómum gagnagrunni sem kallast hér Láttu Vita gagnagrunnur.Hann inniheldur allar ábendingar sem eru sendar inn, alla viðskiptavini og alla flokka. ViðskiptavinirMainManager hafa líka sinn gagnagrunn sem hefur sama töflustrúktúr og Láttu Vita gagnagrunnurinn.MainManager kerfið hefur verið í stöðugri þróun síðan árið 1994 og er því nokkurskonar legacykerfi.

14

Page 16: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

7.2 Viðmótshönnun

7.2.1 Grunnhönnun

Tvær hugmyndir að viðmóti voru íhugaðar að fyrstu. Fyrsta hugmyndin var að hafa allt efnið áeinni síðu til þess að notendur gætu sett inn ábendingar á sem stystan máta. Önnur hugmyndinvar að skipta ferlinu upp í þrep til þess að skýrt væri fyrir notendur hvað þyrfti að gera til þess aðsenda inn ábendingu. Við ákváðum í sameiningu við MainManager að velja seinni hugmyndina,sem við gerðum grunn viðmótshönnun á. Við notuðum forritið Moqups við útfærsluna á myndunumsem sýna hönnunina hér að neðan.

15

Page 17: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

7.2.2 Ítarlegri hönnun

Þegar flæðið í gegnum appið hafði verið ákveðið útfærðum við ítarlegri lokahönnun á viðmótinu.Miðað var við hönnunarstaðla Google eða “Material Design” og við notuðum Photoshop í vinnsluna.Hér fyrir neðan eru skjámyndirnar sem lýsa viðmótinu. Hægt er að komast á stillingarskjá ogfá hjálp af öllum öðrum skjáum með því að smella á tannhjólið og spurningarmerkið sem sjástá öllum skjáum. Hugsunin var að hægt yrði að draga staðsetningarmerkið til á kortinu til aðbreyta staðsetningu ábendingarinnar.

16

Page 18: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

17

Page 19: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

7.2.3 Lokahönnun

Hér fyrir neðan sést útlit appsins eins og það er í dag. Eftir notandaprófanir gerðum við ýmsarsmávægilegar breytingar til þess að auðvelda flæðið og gera notendum auðveldara með að fáhjálp ef þörf er á því. Helsta breytingin er í raun viðbót við appið, en það er popover hjálpinsem notendur fá á hverjum skjá þegar ýtt er á spurningamerkið í neðra vinstra horninu. Einnigbreyttist litavalið lítilsháttar en það var gert i samræmi við MainManager.

Fyrsti skjárinn biður notanda um að setja inn SMS, hann kemur bara í allra fyrsta sinn semappið er opnað og varð útlitshönnun á honum nauðalík þeirri sem fyrirfinnst á stillingarsíðunni.Það er einnig ekki sýnt alla hönnunina fyrir hjálpina en hún er eins á hverjum skjá, það er aðsegja að það komi gluggi með lýsingu fyrir helstu gjörðir á hverri síðu.

18

Page 20: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

Mynd 1: Upphafsskjár og aðalskjár

Mynd 2: Hjálp og kort

19

Page 21: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

Mynd 3: Lýsing og yfirferð

Mynd 4: Stillingar og um okkur

20

Page 22: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

8 Framvinda verkefnis

Við áætluðum að sprettirnir yrðu 8 ef sprettur 0 er ekki tekinn með. Þar sem við við gerðumokkur grein fyrir því að reikningur á byrjunarþróunarhraða okkar upp á 35 sögupunkta á sprettværi ekki mjög nákvæmur, ákváðum við að hækka þróunarhraðann okkar upp í 50 sögupunkta ásprett. Heildarfjöldi sögupunkta er 395 og hér fyrir neðan sést brennsla sögupunkta eftir hvernsprett.

Sprettur: 1 2 3 4 5 6 7 8Raun í sögupunktum: 395 360 292 253 204 163 127 64 4Viðmið í sögupunktum: 395 345 295 245 195 145 95 45 0

Eftir hvern sprett var sett upp brunarit spretts og teymið ræddi saman sín á milli hvað fór velog hvað hefði mátt betur fara.Vert er að taka fram að við tókum nokkuð oft of marga sögupunkta inn í byrjun spretta. Þaðvar til þess að við gætum byrjað á stórum sögum sem við vissum að við gætum ekki klárað íeinum sprett og til þess að vera viss um að allir hefðu alltaf eitthvað til að gera. Þetta þýðir aðbrunaritinn hér fyrir neðan endurspegla ekki endilega alltaf hvernig spretturinn gekk.

21

Page 23: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

8.1 Sprettur 0

Sprettur 0 var frekar óhefðbundinn því ekki var búið að setja upp öll þau tæki og tól sem þurftitil að halda utan um sprettina. Þessvegna var ekkert sprint burndown chart sett upp.Markmið sprettsins var að setja upp skjölunarumhverfi, það gekk vel.

8.2 Sprettur 1

8.2.1 Markmið spretts

Við skipulagningu sprettsins var gert ráð fyrir að mikil skjölunarvinna ætti eftir að eiga sér staðvegna stöðufundarskila og nemendakynningar. Þess vegna var ekki mikil vinna lögð í afurðina.Markmið sprettsins, það að setja upp þróunarumhverfi og búa til grunn útlitshönnun, gekk frekarbrösulega til að byrja með. Það stafaði af því að 2/5 hópmeðlima fengu ekki Visual Studio til aðvirka, nema eftir að búið var að strauja tölvurnar þeirra.

8.2.2 Niðurstaða spretts

Þrátt fyrir erfiðleikana gekk spretturinn mjög vel í byrjun eins og sést á brunaritinu. Þetta eraf því að hópmeðlimir ákváðu að einbeita sér að öðrum, óháðum sögupunktum. Seinustu tveirdagarnir í sprettinum gengu aðeins hægar fyrir sig vegna veikinda og utanlandsferða hópmeðlima.Við náðum að klára flest allar sögurnar sem við áætluðum fyrir sprettinn. Þróunarumhverfið varað mestu uppsett eftir sprettinn. Þær sögur sem við náðum ekki að klára, eins og til dæmis aðsetja upp source control, færðust yfir í næsta sprett.

22

Page 24: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

8.3 Sprettur 2

8.3.1 Markmið spretts

Markmiðið með sprettinum var að setja upp umhverfið fyrir appið og API hlutann og fá meiraá hreint hvað við myndum þurfa að útfæra. Við vildum líka koma upp source control og aðganga úr skugga um að það virkaði allt. Einnig ætluðum við að leggja lokahönd á endanlegtútlit appsins. Við tókum þá ákvörðun um að taka 96 sögupunkta inní þennan sprett, vitandi aðþað gæti orðið of mikið. Það sem við myndum ekki ná að klára myndi þá færast yfir í næsta sprett.

8.3.2 Niðurstaða spretts

Í sprettinum náðum við að koma upp source control og VPN tengingu. Við náðum að koma upptest umhverfi fyrir appið og leggja grunn að API. Endanlegt útlit á appinu var nánast tilbúið.Við náðum líka að skýra betur hvað við myndum þurfa að gera í sambandi við gagnagrunn ogAPI hluta verkefnisins.Spretturinn gekk nokkuð vel miðað við að við bjuggumst við að það yrði ekki allt klárað í honum.

23

Page 25: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

8.4 Sprettur 3

8.4.1 Markmið spretts

Markmiðið í sprettinum var að vinna í að koma API hlutanum upp og klára hönnun á lokaútlitappsins. Við vildum líka vera komin með beinagrindina af appinu og að fá kortið og GPSstaðsetningu til að virka.

8.4.2 Niðurstaða spretts

Beinagrind fyrir appið gekk vel og kláraðist í sprettinum, einnig var sett upp beinagrind af testumhverfi fyrir appið svo hægt væri að forrita test-driven. Gulp var sett upp til að sjálfvirkjakeyrslur prufana. Það var loks tekin ákvörðun um hvernig API hliðin á að vera og vinna byrjuð ábeinagrind af honum, vandamál komu fram við að skapa okkar API sem hefur samband við APIhjá MainManager þar sem þeirra API var af eldri tegundinni og erfiður í notkun. Við lentumeinnig í erfiðleikum með að fá kortið til að virka í appinu en í lok sprettsins þá hafði það ekki enntekist. Öll virknin sem við ætluðum okkur að geta fengið frá kortinu var þó tilbúin og virkaðiutan appsins. Við tókum svolítið mikið að okkur í þennan sprett og náðum ekki að klára allarsögurnar. Þær sem við náðu ekki að klára færðist yfir í næsta sprett.

24

Page 26: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

8.5 Sprettur 4

8.5.1 Markmið spretts

Markmið sprettsins var að koma upp helstu API virkninni, fá kortið inn og geta unnið með GPSstaðsetninguna. Við vildum líka komast lengra með beinagrindina að appinu auk þess að getasent inn ábendingar í gegnum appið. Við vildum að einingaprófunarumhverfið væri komið upp.Við tókum inn fleiri sögur en við vissum að við myndum geta klárað, þannig við vissum aðeinhverjar sögur kæmu til með að verða ókláraðar.

8.5.2 Niðurstaða spretts

API virknin komst langt áfram í þessum spretti sem og beinagrindin að appinu. Við reyndum aðfinna lausn á því að taka símanúmerið af sim-kortinu en það reyndist vera flókið og virkaði barafyrir sim-kort sem voru frá Símanum. Virknin til að skipta um tungumál var kláruð í sprettinumog einingaprófanir voru settar upp. Við náðum líka að nota kortið og fá inn staðsetningu átækinu sem var að nota appið.Við vissum að við hefðum tekið of margar sögur inn í sprettinn og þess vegna var alveg við þvíað búast að við myndum ekki klára þær allar.

25

Page 27: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

8.6 Sprettur 5

8.6.1 Markmið spretts

Í sprettinum var lagt upp með að byrja að vinna í virkninni í bakendanum sem myndi sjá umað flokka ábendingarnar og senda á réttan viðskiptavin. Sú saga var mjög stór og við ákváðumvísvitandi að taka inn tvöfalt fleiri sögur en við myndum venjulega gera. Það myndu ekki allirvera að vinna í stóru sögunni, þannig við ákváðum að taka aðrar sögur með inní sprettinn tilþess að allir hefðu verkefni. Við vissum þó að við myndum halda áfram með stóru söguna yfir ínæsta sprett. Auk virkninnar í bakendanum vildum við halda áfram að bæta virknina í appinuog samskiptum þess við bakendann. Við vildum líka sjá ábendingar sem væri búið að senda inná kortinu. Við vildum líka klára flæðið á framenda appsins.

8.6.2 Niðurstaða spretts

Við náðum að komast áfram með virkni í kortinu og að sjá ábendingar á kortinu. Flokkunarvirknin í bakendanum var byrjuð að taka á sig mynd. En þar sem flestir hópmeðlimir voru aðskila mörgum stórum verkefnum í öðrum áföngum, náðum við ekki að gera eins mikið og viðhefðum viljað eins og sést greinilega á brunaritinu.

26

Page 28: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

8.7 Sprettur 6

8.7.1 Markmið spretts

Markmiðið var að klára að mestu bakenda virknina og vinna í að koma útlitinu inn í appið. Flestallir hópmeðlimir voru ennþá í prófum í þessum spretti þannig að við bjuggumst ekki við aðklára allar sögurnar sem voru teknar inn.

8.7.2 Niðurstaða spretts

Meirihlutinn af flokkunarvirkninni í bakendanum kláraðist í þessum spretti. Það varð ljóst ámeðan sprettinum stóð að við gætum ekki tekið símanúmerin beint af sim-kortinu og ákveðið varað sleppa því og finna aðra leið til að skrá símanúmer notandans. Ekki mikið fleira kláraðist ísprettinum sökum prófa og annarra verkefna.

27

Page 29: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

8.8 Sprettur 7

8.8.1 Markmið spretts

Markmið sprettsins var að koma vefsíðunni upp með helstu virkninni sem átti að vera þar. Viðvildum líka klára bakendann á vefsíðunni þar sem admin gæti breytt ákveðnum svæðum fyrirviðskiptavini. Útlitið á appinu átti líka að koma inn í þessum spretti. Við vildum klára allavirkni fyrir bakendann. Myndir áttu líka að geta vistast í gagnagrunninn.

8.8.2 Niðurstaða spretts

Spretturinn gekk mjög vel og við náðum að klára flest allar sögurnar. Þær sem kláruðust ekkialveg voru þó langt komnar í lok sprettsins. Bakendinn á vefsíðunni var langt kominn en þurftiað færast yfir í næsta sprett til að klárast. Við komumst mjög langt með að setja inn útlitið áappinu og virknin í bakendanum kláraðist að mestu. Við náðum að vista myndir í gagnagrunninnog skila þeim aftur til baka í heilu lagi.

28

Page 30: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

8.9 Sprettur 8

8.9.1 Markmið spretts

Síðasti spretturinn lengdist fram að lokaskilum. Markmið hans var að klára allar þær helstusögur sem eftir voru og gera prófanir á kerfinu og kóðanum. Við vildum einnig klára allt útlit ogallar skýrslur.

8.9.2 Niðurstaða spretts

Spretturinn gekk mjög vel og allar sögur kláruðust að mestu leiti. Bakendinn og appið klárðustað fullu og vefsíðan að lang mestu leiti. Eina sem kláraðist ekki að fullu voru minniháttarútlitsbreytingar á vefsíðunni.

29

Page 31: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

9 Samantekt

9.1 Verkþættir

Mestur tími fór í forritun á verkefninu. Við tókummikinn tíma í undirbúningsvinnu og útlitshönnuntil þess að vita nákvæmlega hvað við ætluðum að vinna og hvernig það ætti að vera. Prófanirkomu jafnt og þétt yfir vinnutímabilið en jukust þegar styttist í verklok og skil á verkefninu.

30

Page 32: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

9.2 Vinnutímar hópmeðlima

Myndin fyrir neðan sýnir tímann sem hver hópmeðlimur hefur eytt í verkefnið. Heildarfjöldivinnutíma endaði i 1640 tímum.

9.3 Niðurstaða

Eins og sést á útgáfubrunaritinu gekk verkefnið mjög vel. Það hægðist aðeins á okkur í lok annará meðan við vorum að glíma við stór verkefni í öðrum fögum og í prófatíð en annars héldumvið okkur mjög vel að verki og héldum áætlun. Við lögðum upp með það að verkefnið tæki1650 tíma og enduðum á að eyða 1641 tíma í það sem er vel innan skekkjumarka. Í lokinnsamanstendur verkefnið af 3 hlutum: appi, API og vefsíðu. Samstarfið innan hópsins gekk mjögvel, enda vorum við vön að vinna saman í öðrum verkefnum og þekktumst öll vel. Samstarfiðvið MainManager gekk einnig mjög vel og þeir voru okkur alltaf innan handar með það semvið þurftum. Starfsandinn var jákvæður og skemmtilegur á meðan verkefninu stóð, bæði innanhópsins og á vinnustaðnum.

31

Page 33: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

9.4 Framhald

MainManager mun halda áfram að vinna að verkefninu í einhvern tíma en þau gera ráð fyrir aðgefa appið út í sumar. Í kjölfar þess munu þau halda áfram að bæta við appið. Það umfangsmestasem þau ætla að bæta við er samþætting við samfélagsmiðla svo fólk geti deilt ábendingum, líkaðvið þær og jafnvel sett athugasemdir við þær. Einnig mun að öllum líkindum bætast meiri virknivið bakendakerfið eftir að appið er komið í loftið. Appið verður líklegast bara gefið út í Androidtil að byrja með en þar sem verkefnið er skrifað með Apache Cordova lausninni þá þarf aðeins aðgera smávægilegar breytingar til þess að fá það til þess að virka í iOS og Windows tækjum. Þvígerum við ráð fyrir að það verði komið á þessi stýrirkerfi fljótlega eftir fyrstu útgáfu. Ein stærstaáskorun MainManager núna er að markaðsetja appið. Til þess að það gagnist fyrirtækjum oglaði að nýja viðskiptavini þarf MainManager að sjá til þess að nógu margir noti það.

10 Prófanir

10.1 Einingarprófanir

10.1.1 App

Einingarprófanir voru skrifaðar fyrir þá controllers sem taldir voru mikilvægastir hvað varðarflækjustig í kóðanum. Fyrst að appið er byggt upp á Angular þá er mesta virknin í controllerunumsvo það var lögð mest vinna í að prufa einingarnar í þeim.

10.1.2 API

Einingaprófanir voru skrifaðar jafnt of þétt fyrir bakendann. Prófin sneru að lógík bakendanssem sér um að flokka ábendingar og reikna út á hvaða viðskiptavin eigi að senda þær á. Prófinkomu vel út og prófuðu helstu föllin sem innihéldu lógík.

10.2 End-to-End tests

Eingöngu voru gerð End-to-End tests fyrir appið því síðan var full einföld til þess og API-innhafði ekkert viðmót. Snemma voru settar upp prufanir fyrir appið með Jasmine test framework.Upprunalega voru þau notuð til að kanna flæði appsins en svo kom í ljós að þau voru eingöngunothæf fyrir ionic útgáfuna af appinu áður en það var keyrt á símtæki og því var það hvortsem er nauðsynlegt að prufa appið handvirkt reglulega. Ákveðið var þá að tíminn sem færi í aðviðhalda og gera fleiri prófanir af þessu tagi væri betur notaður í annað, líkt og aðrar tegundiraf prófunum.

10.3 Notendaprófanir

Notendaprófanir voru af óformlegra taginu. Það var ekki skipulagður einhver listi eða áætlunfyrir hvað notendur ættu að prufa eða skoða. Notendur voru aðallega fengnir úr hópi vina ogfélaga sem höfðu mismikla reynslu á appinu sem og tölvukunnáttu yfir höfuð. Fylgst var meðhvernig notendunum gekk að nota appið á sama tíma þar em þeir voru fengnir í að tjá sig uppháttum þeirra tilfynningar og hugsanir um ferlið. Einnig voru starfsmenn MainManager fengnir tilað fara yfir appið reglulega til að fullvissa um að appið væri að mæta þeirra kröfum.

32

Page 34: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

10.4 Öryggisprófanir

Þar sem þrír einstaklingar hópsins höfðu tekið tölvuöryggisáfanga í umsjá Ýmis Vigfússonar varþað talið nauðsynlegt að framkvæma öryggisprófanir á appinu. Stærsti árásarflöturinn var talinnvera innslag notandans þar sem notandi getur sent inn er mynd, símanúmer, netfang og lýsingu áábendingu. Með því að tilgreina að netfangið þarf að passa í netfangsstaðla (td: email@email) sérþað nú þegar um mikið af öryggisprufunum, einnig er ekki hægt að setja neitt inn sem símanúmernema 7 tölustafi. Reynt var að setja skaðlegan kóða með myndunum og komist var að því að þarsem þeim er breytt í Base64 formið yrði erfitt að keyra kóða í gegnum það.

Prufað var “Cross-site scripting” í innsláttargluggann fyrir lýsingu. Það hafði lítil áhrif áappið, hinsvegar tókst okkur að finna stóran öryggisgalla í kerfi MainManager sem leifði okkurað keyra hvaða kóða sem okkur sýndist á síðunni sem þeir nota til að skoða innsendar ábendingarhjá sér. Við létum yfirmann öryggis hjá MainManager vita og er þessi öryggisgalli nú kominn ílag.

10.5 Álagsprófanir

Við notuðum www.loadinpact.com við álagsprófanir á vefsíðunni. Niðurstöðurnar virtust veragóðar miðað við 100 notendur á síðunni í einu, en lengsti niðurhalstíminn var ekki nema 2sekúndur. Meðaltíminn var um það bil 1,6 sekúndur. Við getum þar með dregið þá ályktun aðnetþjónninn sem hýsir vefsíðuna ráði vel við meðal álag.

33

Page 35: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

11 Viðauki 1 - Vinnureglur

11.1 Kóðareglur

11.1.1 Almennt

• Nöfn skulu alltaf lýsa virkni.

• Þegar kóði er inndreginn skal hann jafngilda 4 bilum eða 1 tab.

• Allur kóði (og athugasemdir í kóða) skal vera skrifaður á ensku.

11.1.2 HTML

• Notast verður við HTML5 útgáfuna. Efst í HTML skjali verður <!DOCTYPE html>

• Tög skulu rituð með litlum stöfum.Dæmi: <html>

• Allur kóði sem kemur á milli tveggja HTML taga skal vera inndreginn.

• Tilvitnanir í aðrar skrár eins og CSS eða javascript eiga að vera í <head>.

11.1.3 CSS

• CSS selectors skulu ritaðir með litlum stöfum.

p:nth-child(even)

• Slaufusvigar standa alltaf sér í línu, óinndregnir.

• Property hvers selector skulu dregin inn. Á milli property-nafns og gildis (e. value), skalsetja tvípunkt og 1 línubil.

a.nav{

text-decoration: none;font-style: sans-serif;

}

11.1.4 Javascript

• Klasar skulu vere nefndir í PascalCase.

• Nota skal lykilorðið "this"til að vísa í meðlimabreytuna í smiðnum í Klösum

• Færibreytur í smiðumKlasa skulu heita það sama og meðlimabreyturnar sem á að frumstilla.Dæmi:

34

Page 36: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

function Controller($scope)var id = $scope.id;

• Föll skulu vera nefnd í camelCase.

• Kóði tengdur skilyrðirssetningum og lykkjum skal alltaf birtast fyrir neðan viðkomandisetningu og innan slaufusviga. Þetta á við þó svo að hægt væri að hafa kóðann í sömu línu.

• Breytur skulu vera nefndar í camelCase.

• Fastar skulu vera nefndir í hástöfum og nota undirstrik sem bil í heitum.Dæmi: SOME_CONSTANT

• Það skulu hvorki vera notuð bil þegar svigar opnast eða lokast, hvorki innan né utan.Dæmi:Rétt: function(a, b, c)Rangt: function ( a, b, c, d )

• Slaufusvigi-opnast skal standa í sömu línu og segðin. Slaufusvigi-lokast skal standa einní línu með sama indrátt og samsvarandi segð. Slaufusviga skal nota í öllum lykkjum ogskilyrðissetningum.Dæmi:

function f(...){\\code

}

• Allur kóði sem er á milli slaufausviga skal vera inndreginn.

• Allur Javascript kóði skal settur í sér skrá og kallað í hana þegar nota á kóðann.

11.1.5 C#

• Klasar skulu vere nefndir í PascalCase.

• Færibreytur í smiðumKlasa skullu heita það sama og meðlimabreyturnar sem á að frumstilla

• Nota skal lykilorðið "this"til að vísa í meðlimabreytuna í smiðnum í Klösum.

• Interface skulu vera nefnd í PascalCase og byrja á stafnum I.Dæmi: ISomeInterface

• Föll skulu vera nefnd í PascalCase.

• Kóði tengdur skilyrðirssetningum og lykkjum skal alltaf birtast fyrir neðan viðkomandisetningu og innan slaufusviga. Þetta á við þó svo að hægt væri að hafa kóðann í sömu línu.

• Breytur skulu vera nefndar í camelCase.

35

Page 37: MainManager - Láttu vita½rsla... · 2019. 8. 30. · Vor 2016 MainManager - Láttu vita Lokaverkefni Efnisyfirlit ... Verkefnið var unnið að mestu leiti í Visual Studio 2015

Vor 2016 MainManager - Láttu vita Lokaverkefni

• Klasabreytur skulu að jafnaði vera private og nota skal "automatic property"þar semhægt er

• Þegar mörgum property-um er lýst yfir á sama stað eins og búast má við að verði í entityklösum skulu bilin vera jöfnuð.

• Fastar skulu vera nefndir í hástöfum og hafa undirstrik sem bil í heitum.Dæmi: SOME_CONSTANT

• Það skulu hvorki vera notuð bil þegar svigar opnast eða lokast, hvorki innan né utan.

• Slaufusvigi-opnast skal standa í næstu línu fyrir neðan segðina með sama inndrætti.Slaufusvigi-lokast skal standa einn í línu með sama indrátt og samsvarandi slaufusvigi-opnast.Slaufusviga skal nota í öllum lykkjum og skilyrðissetningum.Dæmi:

void func(...){

\\code}

• Allir klasar og stærri föll skulu notast við XML skjölun.

/// <summary>/// This function does all the cool things/// </summary>/// <returns></returns>

• Allur kóði sem er á milli slaufausviga skal vera inndreginn.

• Notast skal við # region þegar það á við til þess að veita betri yfirsýn á kóðann.

11.2 Aðrar vinnureglur

11.2.1 TeamFoundation

Ef meðlimur ætlar að vinna í ákveðnu skjali þarf sá sami að byrja á því að framkvæma "check-out"áskjalið svo aðrir meðlimir viti hver sé að vinna í skjalinu. Þegar búið er að vinna í skjalinu á aðframkvæma "check-in".

36