are we there yet? lokaverkefni í tölvunarfræði...arewethereyet lokaskýrsla 10 lokaorð við...

13
Are We There Yet? Lokaverkefni í Tölvunarfræði Lokaskýrsla Fanney Ásta Ágústsdóttir Hlíf Hilmisdóttir Lára Valdís Kristjánsdóttir Nói Steinn Einarsson Þ. Snædís Kjartansdóttir Vorönn 2017 Kennari: Hallgrímur Arnalds Leiðbeinandi: Birgir Kaldal Kristmannsson Prófdómari: Árni Fannar Þráinsson

Upload: others

Post on 23-Sep-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Are We There Yet? Lokaverkefni í Tölvunarfræði...AreWeThereYet Lokaskýrsla 10 Lokaorð Við upphaf verkefnisins vorum við með ákveðna hugmynd af því sem við vildum gera

Are We There Yet?Lokaverkefni í Tölvunarfræði

Lokaskýrsla

Fanney Ásta ÁgústsdóttirHlíf Hilmisdóttir

Lára Valdís KristjánsdóttirNói Steinn Einarsson

Þ. Snædís Kjartansdóttir

Vorönn 2017Kennari: Hallgrímur Arnalds

Leiðbeinandi: Birgir Kaldal KristmannssonPrófdómari: Árni Fannar Þráinsson

Page 2: Are We There Yet? Lokaverkefni í Tölvunarfræði...AreWeThereYet Lokaskýrsla 10 Lokaorð Við upphaf verkefnisins vorum við með ákveðna hugmynd af því sem við vildum gera

AreWeThereYet Lokaskýrsla

Lokaverkefni

Page 3: Are We There Yet? Lokaverkefni í Tölvunarfræði...AreWeThereYet Lokaskýrsla 10 Lokaorð Við upphaf verkefnisins vorum við með ákveðna hugmynd af því sem við vildum gera

AreWeThereYet Lokaskýrsla

Efnisyfirlit

1 Inngangur 11.1 Markmið verkefnisins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Scrum aðferðafræðin 1

3 Sprettir 23.1 Hlutverk í sprettum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.2 Skipulag spretta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.3 Dagsetningar spretta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33.4 Sprettir - yfirlit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3.4.1 Brunarit fyrir sprett 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43.4.2 Tímar Sprettur 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

4 Aðstaða 5

5 Verklag 5

6 Greining 56.1 Þarfagreining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56.2 Áhættugreining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

7 Hönnun 67.1 Þróunarumhverfi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

8 Heildarframlag teymis 78.1 Heildarbrunarit - Heildarsögupunktar - Heildartímar - Verkhluta skipting . . . . . . 7

9 Útkoma afurðar 99.1 Breytingar sem hafa átt sér stað á meðan verkefninu stóð . . . . . . . . . . . . . . . 99.2 Litið til baka (Retrospective) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

9.2.1 Hvað gekk vel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99.2.2 Hvað gekk illa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99.2.3 Hvað lærðum við . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

10 Lokaorð 10

Lokaverkefni

Page 4: Are We There Yet? Lokaverkefni í Tölvunarfræði...AreWeThereYet Lokaskýrsla 10 Lokaorð Við upphaf verkefnisins vorum við með ákveðna hugmynd af því sem við vildum gera

AreWeThereYet Lokaskýrsla

1 Inngangur

AreWe There Yet er lokaverkefni sem unnið var af fimmnemendumHáskóla Reykjavíkur sem öllstefna í átt að B.Sc. í tölvunarfræði. Allir hópmeðlimir eiga það sameiginlegt að vera foreldrar ogkönnumst við öll við það hvernig það er að ferðast með börn og að þurfa stöðugt að svara fyrirþað hve langt sé eftir og hvenær á áfangastað sé komið. Okkur langaði því að þróa hugmynd semupphaflega varð til í áfanga sem við sátum saman í HR og búa til vefsíðu sem myndi mögulegaauðvelda ferðalagið fyrir alla fjölskylduna og gera það skemmtilegra í leiðinni.

Verkefnið er því okkar hugverk frá upphafi og unnið af eftirtöldum :

• Fanney Ásta Ágústsdóttir

• Hlíf Hilmisdóttir

• Lára Valdís Kristjánsdóttir

• Nói Steinn Einarsson

• Þ. Snædís Kjartansdóttir

Leiðbeinandi:

• Birgir Kristmannsson, [email protected]

1.1 Markmið verkefnisins

Markmið verkefnisins var að skapa vefsíðu sem tengd er við gagnagrunn. Kerfisstjóri á að getasett inn upplýsingar í gegnum síðuna og/eða í gegnum gagnagrunninn sem svo birtast á síðunniþannig að notandi gæti á auðveldan máta skipulagt ferðalag sitt um Ísland með því að bæta ílista á síðunni áhugaverðumáfangastöðum, spennandi söfnum, hótelumogveitingastöðumsemhenta og baðstöðum sem heilla. Einnig er í boði að hlusta á tónlist eða þjóðsögur til að stytta sérstundir á ferðalaginu. Notandi á að geta gengið að því vísu að sjá stutta lýsingu á áfangastaðn-um, geta séð mynd af staðnum, geta séð staðsetningu staðarins á Google map og geta heimsóttheimasíðu staðarins af því gefnu að hún sé til.

2 Scrum aðferðafræðin

Teymið ákvað strax að vinna samkvæmt Scrum aðferðafræðinni sem er viðurkennd aðferð viðgerð hugbúnaðar. Allir í teyminu fá sitt hlutverk og er passað upp á að allir hafi eitthvað að gera.Það að notast við Scrum verður einnig til þess að við tökum fyrir lítil verkefni í senn og seturþannig meiri pressu á okkur að klára verkefni sprettsins á fyrirfram ákveðnum tíma. Í upphafihvers spretts verða haldnir svokallaðir sprettfundir þar sem farið er yfir hvaða sögur eru teknarfyrir, einnig eru fundir í lok spretta en þá er litið tilbaka (e.retrospective) og farið er yfir hvað gertvar og hvað mætti laga fyrir næsta sprett.

Í Scrum eru þrjú hlutverk. Eigandi(e.Product owner) verkefnisins það er sá aðili sem skilgreinirvöruna. Þar sem verkefnið er okkar eigin hugmynd er einn úr teyminu sem tekur að sér að veraeigandi í hverjum spretti. Eigandi er t.d ábyrgur fyrir því að verkefnið gangi upp fjárhagslega,ábyrgur fyrir því að raða hlutum í forgangslista, samþykkir eða hafnar niðurstöðum vinnu o.fl.Verkefnastjóri (e.ScrumMaster) er sá aðili sem er vel kunnur Scrumog stjórnar hann verkefninu.

Lokaverkefni bls. 1

Page 5: Are We There Yet? Lokaverkefni í Tölvunarfræði...AreWeThereYet Lokaskýrsla 10 Lokaorð Við upphaf verkefnisins vorum við með ákveðna hugmynd af því sem við vildum gera

AreWeThereYet Lokaskýrsla

Hlutverk hans eru meðal annars að stjórna teyminu og verkefninu. Hann stjórnar Scrum ferl-inu, fjarlægir hindranir, stýrir daglegum scrumfundumog sér um alla þá pappírsvinnu sem fylgirScrum. Síðan er það þróunarteymið sem samanstendur af þeim sem sjá um að forrita, hannaog prófa hugbúnaðinn. Mælt er með því að stærð teyma séu 5-9 manns. Hér fyrir neðan má sjámynd sem útskýrir Scrumferlið.

3 Sprettir

3.1 Hlutverk í sprettum

Við ákváðum að skipta reglulega með okkur hlutverkum þannig að allir myndu á einhverjumtímapunkti taka að sér það hlutverk að vera eigandi sem og að vera verkefnastjóri. Í upphafiverkefnis voru hlutverk teymismeðlima skilgreind á þessa leið. Þessi hlutverk breyttust svo eftirhvern sprett.

• Scrummaster : Nói Steinn

• Product owner : Fanney

• Team : Snædís, Lára, Hlíf.

3.2 Skipulag spretta

Til að byrja með voru sprettirnir okkar 2 vikur og miðuðust við virka daga. Þegar leið á og álagvarð meira þá tókum við helgar inn í spretti. Vegna lokaprófa í öðrum fögum gerðum við hlé álokaverkefnis vinnu í rúmar 2 vikur. Eftir að við hófum svo störf aftur eftir próf þá breyttum viðlengd spretta í eina viku enda öllum öðrum áföngum í skólanum lokið.

Lokaverkefni bls. 2

Page 6: Are We There Yet? Lokaverkefni í Tölvunarfræði...AreWeThereYet Lokaskýrsla 10 Lokaorð Við upphaf verkefnisins vorum við með ákveðna hugmynd af því sem við vildum gera

AreWeThereYet Lokaskýrsla

3.3 Dagsetningar spretta

• Sprettur 0 (16.janúar - 26.janúar)Scrummaster : Nói SteinnProduct owner : Fanney

• Sprettur 1 (27.janúar - 9.febrúar)Scrummaster : FanneyProduct owner : Hlíf

• Sprettur 2 (10.febrúar - 23.febrúar)Scrummaster : HlífProduct owner : Snædís

• Sprettur 3 (24.febrúar - 8.mars)Scrummaster : SnædísProduct owner : Lára

• Sprettur 4 (9.mars - 23.mars)Scrummaster : LáraProduct owner : Nói Steinn

• Sprettur 5 (24.mars - 7.apríl)Scrummaster : Nói SteinnProduct owner : Fanney

• Lokapróf (8.apríl - 23.apríl)Allir teymismeðlimir voru í prófum

• Sprettur 6 (24.apríl - 30.apríl)Scrummaster : FanneyProduct owner : Hlíf

• Sprettur 7 (1. maí - 7.maí)Scrummaster : HlífProduct owner : Snædís

• Sprettur 8 (8.maí - 12.maí)Scrummaster : SnædísProduct owner : Lára

3.4 Sprettir - yfirlit

Eins og gefur að skilja þá tók það okkur smá tíma að komast á almennilegt skrið með verkefn-ið enda í mörg horn að líta og því eðlilegt að teymið hafi rekist á bæði fyrirséð sem og ófyrirséðvandamál. Það var svo í spretti 5 sem hjólin fóru að snúast hraðar og sögupunktar fóru að klárastfyrir alvöru og teymismeðlimir náðu að skila inn í fyrsta skipti fleiri unnum tímumog sögupunkt-um en áætlun gerði ráð fyrir. Velgengnina í þessum spretti má einna helst rekja til þess hvemikilundirbúningsvinna fyrir þessa sögupunkta var unnin í spretti 4. Við fórum því nokkuð sátt meðstöðu mála inn í upplestrarfrí fyrir lokapróf þann 7.apríl. Þessi sprettur var í raun vendipunkturfyrir verkefnið. Ítarlega yfirferð um framvindu og spretti verkefnisins má finna í fylgiskjali 1 semer Framvinduskýrsla.

Lokaverkefni bls. 3

Page 7: Are We There Yet? Lokaverkefni í Tölvunarfræði...AreWeThereYet Lokaskýrsla 10 Lokaorð Við upphaf verkefnisins vorum við með ákveðna hugmynd af því sem við vildum gera

AreWeThereYet Lokaskýrsla

3.4.1 Brunarit fyrir sprett 5

57 sögupunktar kláraðir í spretti

Kláraðir tímar í þessum spretti voru 289.

3.4.2 Tímar Sprettur 5

Unnir tímar í sprett 5 miðað við áætlun á hvern meðlim teymisins.

Lokaverkefni bls. 4

Page 8: Are We There Yet? Lokaverkefni í Tölvunarfræði...AreWeThereYet Lokaskýrsla 10 Lokaorð Við upphaf verkefnisins vorum við með ákveðna hugmynd af því sem við vildum gera

AreWeThereYet Lokaskýrsla

4 Aðstaða

Teymiðhefur vinnuaðstöðu í lítilli íbúðmiðsvæðis í Kópavogi oghefur þar verið komiðuppágæt-is aðstöðu fyrir alla meðlimi teymisins. Í íbúðinni sem inniheldur annars allan staðalbúnað semeinkennir íbúð er einnig stórt borð sem rúmar tölvur og auka skjái fyrir alla úr teyminu. Teym-ið hefur haft nánast óhindraðan aðgang að íbúðinni þannig það er óhætt að segja að hún hafikomið að mjög góðum notum. Teymis meðlimir urðu sér einnig út um túss töflu og settu uppsvokallaða Scrum töflu.

(a) Vinnuaðstaðan (b) Scrum tafla

5 Verklag

Fyrstu fimm sprettina var teymið með fasta vinnutíma á mánudögum, fimmtudögum og föstu-dögum frá kl. 9 - 17 enmeðlimir höfðu að sjálfsögðu svigrúm til að bæta við vinnutíma og vinnasjálfstætt þegar við átti. Þegar hinum áföngunum lauk og sprettur 6 hófst þá fórum við að veraflesta virka daga vikunnar í íbúðinni ásamt því að mæta stundum líka um um helgar. Fundurmeð leiðbeinanda var einu sinni í viku, þar var farið yfir stöðu mála, hvað mátti bæta o.fl.

6 Greining

Mikill tími fór í greiningu í byrjun verkefnisins þar sem þetta var okkar eigið hugverk var í mörghorn að líta, þá einnahelst hvaðnotendur síðunnar vilja þegar kemur að síðu eins ogokkar. Þegarendanlega var búið að ákveðahvert verkefnið okkar yrði var búinn til kröfulisti semnotaður var tilhliðsjónar við þróun verkefnisins. Einnig gerðum við notendaprófanir tvisvar sinnum á ferlinu.Einu sinni í byrjun verkefnisins með frummyndunum og síðan í spretti 7 þegar öll virknin varkomin á síðuna. Á greiningaferlinu skoðuðum við líka mikið af svipuðum síðum til þess að fáinnblástur og til þess að átta okkur betur á því hvert við vildum stefna með okkar síðu.

6.1 Þarfagreining

Kröfulistinn innihélt 49 notendasögur og 303 sögupunkta, sem skiptust í A, B og C kröfur. Kröf-urnar okkar voru merktar:

Lokaverkefni bls. 5

Page 9: Are We There Yet? Lokaverkefni í Tölvunarfræði...AreWeThereYet Lokaskýrsla 10 Lokaorð Við upphaf verkefnisins vorum við með ákveðna hugmynd af því sem við vildum gera

AreWeThereYet Lokaskýrsla

A Krafa forgangur 1B Krafa forgangur 2C Krafa forgangur 3

Lokið var við 197 A-sögupunkta af 202. Af B-sögupunktunum náðum við að klára 35 af 43 og 26af 58 C-sögupunktum voru kláraðir.En nánar má lesa um þetta í fylgiskjölum 1 og 3, Framvinduskýrsla og Kröfulisti.

6.2 Áhættugreining

Teymið ræddi umhvaða áhættuþættir gætumögulega komiðupp ámeðan á vinnslu verkefnisinsstæði og í kjölfarið var framkvæmd áhættugreining. Teymið setti áhætturnar upp í töflu þar semfarið var yfir vægi þeirra, líkur, hvaða áhrif áhættan gæti haft og hvort/hvernig hægt væri að stýrahenni.Til að einfalda matið þá kusum við að notast við skala á bilinu 1 - 5.Eins og viðmátti búast þá voru einhverjar áhætturmeira áberandi en aðrar þegar kemur að svonaverkefni. Þaðmátti einnig búast við því að einhverjar áhættur kæmuoftar uppengert var ráð fyrirog öfugt og því er áhættugreiningin sem slík og skýrslan sem henni fylgir breytileg.Skoða má töflur og nánari lýsingu á áhættugreiningu í fylgiskjali 2 Áhættugreining .

7 Hönnun

Við upphaf verkefnis var ljóst hvert við vildum stefna hvað varðar útlitið á síðunni en það vildumvið hafa einfalt og krakkavænt.

Mynd 2: Forsíða

Þegar komið er á forsíðu velur notandinn hvaða landshluta hann villskoða, síðan velur hann sér flokk og þaðan fer hann annaðhvort í und-irflokk eðabeint í afþreyingu sem íboði er. Notandinngetur síðanbættþeirri afþreyingu sem hann vill á lista á síðunni. Síðan okkar er meðþað að markmiði að leiða notandann auðveldlega áfram í að finna af-þreyingar sem henta. Litirnir á síðunni eru mjúkir og myndirnar lýs-andi fyrir hvern flokk. Gerðar voru notendaprófanir til að sjá hversuvel notandinn rataði um síðuna og hvernig hans upplifun var þegarhann vafraði um á síðunni í leit að krakkavænum afþreyingum í kring-umÍsland. Hópurinn tamdimeðsér ákveðnar forritunarreglur við gerðverkefnisins sem fylgt var eftir.

Nánari lýsing á hönnunarferlinu okkar, notandaprófanir og forritunarreglur má sjá í fylgiskjali 4Hönnunarskýrsla.

7.1 Þróunarumhverfi

Notast var við Visual Studio við þróun vefsíðunnar og forritunartungumálið C#, í ASP.NETMVC5.Einnig var notast við CSS, HTML, Javascript og Jquery. Hópurinn notaði Visual Studio TeamService til að halda utan um kóðann í git repository og einnig til að virkja CI og CD sem þjón-ustað er af Microsoft Azure. Í hvert skipti sem nýjum kóða eða virkni var ýtt inn á Git repository íTeamService var CI ogCDvirkjað og ný breyting því strax komin inn á keyrandi síðu verkefnisins.Nánari lýsing á þróunarumhverfi má lesa um í fylgiskjali 5 Rekstrarhandbók.

Lokaverkefni bls. 6

Page 10: Are We There Yet? Lokaverkefni í Tölvunarfræði...AreWeThereYet Lokaskýrsla 10 Lokaorð Við upphaf verkefnisins vorum við með ákveðna hugmynd af því sem við vildum gera

AreWeThereYet Lokaskýrsla

8 Heildarframlag teymis

Hér fyrir neðanmásjáheildarvinnuframlag teymis í klukkustundum,heildarbruna teymis áklukku-stundum á hvern sprett, fjölda sögupunkta sem unnir voru og skiptingu klukkustunda á verk-hluta.

8.1 Heildarbrunarit - Heildarsögupunktar - Heildartímar - Verkhluta skipting

Myndin hér fyrir ofan sýnir brunarit þeirra tíma sem hafa veriðunnir á sprettum 0-8.

Myndin hér að ofan sýnir fjölda punkta sem unnirvoru á sprettum 0-8.

Lokaverkefni bls. 7

Page 11: Are We There Yet? Lokaverkefni í Tölvunarfræði...AreWeThereYet Lokaskýrsla 10 Lokaorð Við upphaf verkefnisins vorum við með ákveðna hugmynd af því sem við vildum gera

AreWeThereYet Lokaskýrsla

Heildartímar teymismeðlima

Hér sést skiptingin á milli verkhluta.

Lokaverkefni bls. 8

Page 12: Are We There Yet? Lokaverkefni í Tölvunarfræði...AreWeThereYet Lokaskýrsla 10 Lokaorð Við upphaf verkefnisins vorum við með ákveðna hugmynd af því sem við vildum gera

AreWeThereYet Lokaskýrsla

9 Útkoma afurðar

Verkefnið sem teymið skilar af sér er vefsíðan "Are we there yet"sem keyrir á öllumhelstu vöfrumog er skalanleg í smærri tæki. Með síðunni skilumvið rekstrarhandbók ennotendaleiðbeiningareru á síðunni. Lokaskýrslu er einnig skilað innásamt fylgiskjölum. Teymiðnáði að klára verkefniðað því marki sem við settum okkur. Slóðin á heimasíðuna er þessi: http://arewethereyet17.azurewebsites.net/

9.1 Breytingar sem hafa átt sér stað ámeðan verkefninu stóð

Til að byrjameð lögðum við bara uppmeð að útfæra suðurlandið en sáum að það væri raunhæftað halda áfram svo við tókum fyrir allt landið. Við þurftum einnig að breyta og bæta töflum inn ígagnagrunnin okkar sem var eitthvað sem við sáum ekki fyrir í fyrstu.

9.2 Litið til baka (Retrospective)

9.2.1 Hvað gekk vel

Þegar litið er til baka má segja að samstarfið innan hópsins hafi gengið mjög vel, enginn ágrein-ingur kom upp og styrkleikar hvers og eins fengu að njóta sín og náðum við góðum takti saman.Við erummjög þakklát fyrir starfsaðstöðuna því án hennar hefði þetta ekki náð eins góðu flæði.Einnig hjálpaði það okkur líkamikið að geta leitað til leiðbeinandameð spurningar og vangavelt-ur.

9.2.2 Hvað gekk illa

Þegar við hugsum umhvað gekk illa myndum við segja að við höfum eytt meiri tíma en við hefð-um viljað í að sameina kóðann okkar í gegnum git en það kom upp tvisvar að það myndaðistflækja sem tímafrekt var að greiða úr.Einnig rákum við okkur á að vera ekki nægilega undirbúin fyrir stöðufund tvö sem við tókummjög til okkar en það reyndist svo bara vera gott spark í rassinn með að vera ávalt á tánum.

9.2.3 Hvað lærðum við

Það má með sanni segja að hópurinn hafi lært heilmikið á þessu ferli og ber þar einna helst aðnefna hvað við þetta var frábær forritunaræfing fyrir okkur og lærðum við mikið á Visual Studio,C#, HTML, CSS og jukum skilning okkar á gagnagrunnsvinnslu og verkskipulagi til muna.

Lokaverkefni bls. 9

Page 13: Are We There Yet? Lokaverkefni í Tölvunarfræði...AreWeThereYet Lokaskýrsla 10 Lokaorð Við upphaf verkefnisins vorum við með ákveðna hugmynd af því sem við vildum gera

AreWeThereYet Lokaskýrsla

10 Lokaorð

Við upphaf verkefnisins vorum við með ákveðna hugmynd af því sem við vildum gera og hóf-um við að skoða það frá öllum hliðum. Eftir að það hafði verið gert var tekin lokaákvörðun umhvernig verkefnið ætti að vera og hófst þá vinnan við að skipuleggja allt ferlið og hugmyndumkastað fram og tilbaka.Töluverður tími fór í undirbúning og þetta fór allt frekar hægt af stað að okkar mati. En svo fóruhlutirnir að gerast ansi hratt og ákváðum við að klára meira heldur en hafði verið lagt upp með íbyrjun.Okkar framtíðarsýn fyrir Are We There Yet er einna helst að halda áfram að þróa hana og komasíðunni í útgáfu. Við myndum einnig vilja gera þetta að smáforriti þar sem flestir á ferðalögumnota símann sinn eða skjátölvu.Við erum öll sammála um að þetta hafi verið afar krefjandi en mjög skemmtilegur og lærdóms-ríkur tími og kynnum við með stolti vefinn okkar.

Takk fyrir okkur.

Lokaverkefni bls. 10