• No results found

Nyhetsnotiser som deltagaren kan se i nyhetsfl¨odet syns i figur 10. De informerar delta-garna om h¨andelser som har skett eller kommer att ske i ¨ovningen. Detta ¨ar f¨orutbest¨amda h¨andelser som anv¨andarna inte kan p˚averka. En h¨andelse kan till exempel vara att en bankrusning mot en bank har p˚ab¨orjats. I samband med h¨andelsen visas en nyhetsnotis i nyhetsfl¨odet som likt en tidning beskriver vad som h¨ander i ¨ovningen. Samtidigt kan en h¨andelse medf¨ora effekter p˚a sj¨alva ¨ovningen. Ins¨attningarna p˚a den ber¨orda banken kan b¨orja sjunka eftersom deras kunder b¨orjar ta ut kontanter i st¨orre utstr¨ackning ¨an normalt.

Dessa f¨orutbest¨amda h¨andelser, som kan best˚a av b˚ade nyhetsnotiser och h¨andelseef-fekter, laddas in vid ¨ovningens b¨orjan. H¨andelseeffekterna fungerar precis som drag. Vid varje omg˚ang kontrolleras det om det finns h¨andelseeffekter att utf¨ora. Om det finns

11 Meddelandefunktion f¨or kommunikation

det l¨aggs dessa till i k¨on av drag som utf¨ors av ber¨akningsenheten. F¨ordelen med att behandla h¨andelseeffekter som drag ¨ar att det inte beh¨ovs separat logik f¨or att behandla h¨andelserna.

H¨andelseeffekterna ligger i en separat tabell fr˚an anv¨andarnas drag. H¨andelser styrs inte av vad som sker i ¨ovningen. De sker alltid vid en f¨orutbest¨amd ¨ovningsdag. D¨arf¨or finns det inte heller n˚agot s¨att att undvika dessa h¨andelser. H¨andelserna skapas i samband med ett scenario och det kan finnas olika h¨andelser i olika scenarion.

11 Meddelandefunktion f ¨or kommunikation

I varje ¨ovning har deltagarna tillg˚ang till en meddelandefunktion som ska underl¨atta kommunikationen mellan deltagarna. I mottagarlistan finns alla deltagare som har g˚att med i ¨ovningen. Listan h¨amtas fr˚an databasen via ett PHP-skript som beg¨ar ut alla delta-gare, deras anv¨andar-ID, och deras roller i den aktuella ¨ovningen. I mottagarlistan som visas f¨or deltagaren finns bara rollnamnen. N¨ar mottagare valts och meddelandet ska skickas g¨ors ett nytt anrop till databasen. Meddelandet, ¨ovningens ID, mottagarens och avs¨andarens anv¨andar-IDn skickas med en POST-request till servern. Sedan hanteras in-formationen av ett PHP-skript och n¨ar meddelandet sparas i databasen ges det ett unikt identifikationsnummer. Meddelandet sparas i tabellen ”chatLines” i databasen och f¨or att kunna koppla flera olika mottagare till samma meddelande sparas mottagarna i en separat databastabell, ”getsChatLines” som kan ses i figur 13. Detta g¨ors f¨or att und-vika att meddelandet m˚aste sparas flera g˚anger, och d¨armed minskas m¨angden data i databasen.

Figur 13 En ¨oversikt hur chattmeddelanden sparas i databasen

F¨or att kunna visa alla meddelanden g¨ors en f¨orfr˚agan till databasen d¨ar alla medde-landen som ¨ar kopplade till deltagaren, antingen som avs¨andare eller mottagare, efter-fr˚agas. Denna f¨orfr˚agan g¨ors med ett AJAX-anrop fr˚an anv¨andarens klient som kallar p˚a ett PHP-skript. PHP-skriptet g¨or en f¨orfr˚agan till databasen med argumenten anv¨andar-ID och ¨ovningens anv¨andar-ID. F¨orfr˚agningar efter deltagarens meddelanden g¨ors varje sekund.

12 Utv¨arderingsresultat

En g˚ang per sekund ans˚ags vara tillr¨ackligt ofta f¨or att uppleva att meddelanden skic-kas direkt men det ¨ar tillr¨ackligt s¨allan f¨or att inte ¨overbelasta SQL-databasen med f¨orfr˚agningar. Vid varje f¨orfr˚agan skickas alla relevanta meddelanden och inte bara nya. Detta leder till att samma information st¨andigt skickas ¨over n¨atverket. F¨orb¨attringar f¨or att avlasta n¨atverket och databasen tas upp i avsnitt 15 om framtida arbete.

12 Utv ¨arderingsresultat

I detta avsnitt beskrivs utv¨arderingsresultatet av de krav som beskrivs i avsnitt 8.

12.1 Kompatibilitet med webbl ¨asare

F¨or att utv¨ardera hur v¨al programmet klarar olika webbl¨asare utf¨ordes tester mot Chro-me version 81, Firefox version 75, Safari version 13 och Edge version 80 genom Lamb-daTest. F¨or varje webbl¨asare utv¨arderades samtliga grundfunktioner som n¨amnts i av-snitt 8.1. Kravet var att alla grundfunktioner i systemet och gr¨ansav-snittet ska fungera fel-fritt. Efter testning genom LambdaTest i alla webbl¨asare hittades inga fel vid utf¨orandet, vilket g¨or att kravet ¨ar uppfyllt.

12.2 Skydd mot SQL-injektion

I avsnitt 8.2 beskrivs hur testet f¨or skydd mot SQL-injektion gick till. Varken de ma-nuella eller automatiserade testerna med Sqlmap lyckades f˚a tillg˚ang till data fr˚an da-tabasen eller m¨ojlighet att logga in som en anv¨andare utan att ange r¨att uppgifter f¨or anv¨andarnamn eller l¨osenord. Inte heller lyckades n˚agot av testerna skada databasen ge-nom att ta bort eller manipulera data. Baserat p˚a det resultatet anses plattformen vara skyddad mot SQL-injektion.

12.3 Anv ¨andbarhet

Testerna f¨or att anv¨andare ska kunna anv¨anda plattformen som det ¨ar t¨ankt f¨orklaras i avsnitt 8.3. Anv¨andaren kan skapa en ny ¨ovning och andra anv¨andare kan ansluta till ¨ovningen med hj¨alp av ¨ovningens unika kod. Tre anv¨andare kunde vara del av en gemensam ¨ovning. Den anv¨andare som skapade ¨ovningen kunde samtidigt g˚a med i en annan ¨ovning utan problem.

13 Resultat och diskussion

I den f¨orsta ¨ovningen kunde anv¨andaren genomf¨ora ett drag d¨ar effekterna syntes f¨or samtliga deltagare i den ¨ovningen. Samtidigt p˚averkades inte den andra ¨ovningen som anv¨andaren var del av, vilket ¨ar korrekt. Samtliga tillg¨angliga roller kunde antas i ¨ovning-arna.

Chattfunktionen testade ocks˚a i enlighet med avsnitt 8.3 och uppfyllde alla funktionali-tetskrav. Endast avs¨andare och angivna mottagare kunde l¨asa meddelanden. Meddelan-det som skickades i en f¨orsta ¨ovning fanns inte i den andra ¨ovningen, vilket ¨ar korrekt. D˚a funktionen f¨or att utv¨ardera ¨ovningen efter att alla virtuella dagar ¨ar slut inte ¨ar im-plementerad kunde den inte utv¨arderas. Ist¨allet beskrivs den funktionen som ett framtida arbete i avsnitt 15. Ut¨over det kunde alla tester g¨allande funktionalitet f¨or anv¨andare ge-nomf¨oras med positiva resultat.

12.4 Intressentens utv ¨ardering

Plattformen demonstrerades f¨or Wendschlag, projektets intressent, f¨or att utv¨ardera hur v¨al den uppfyller projektets m˚al. Projektets m˚al finns i avsnitt 3 men kan sammanfattas som en prototyp av en plattform f¨or att genomf¨ora finanskris¨ovningar p˚a. Under de-monstrationen fick vi l¨opande ˚aterkoppling p˚a prototypen. I helhet var ˚aterkopplingen positiv, d˚a prototypen uppfyllt grundfunktionskraven, bortsett fr˚an ett verktyg f¨or att utv¨ardera en ¨ovning i efterhand. F¨orslag p˚a f¨orb¨attringar handlade mestadels om gr¨ans-snittet f¨or att g¨ora det mer anv¨andarv¨anligt, till exempel att spelregler och scenariots syfte b¨or f¨orklaras f¨or samtliga deltagare innan ¨ovningen b¨orjar. Wendschlag anser att projektets m˚al har uppfyllts och att systemet kan vidareutvecklas f¨or att till slut bli ett alternativ, eller komplement, till dagens finanskris¨ovningar.

13 Resultat och diskussion

Resultatet av projektet ¨ar en webbapplikation som mestadels uppfyller grundfunktions-kraven som st¨alldes i avsnitt 3. Det som saknas ¨ar m¨ojligheten f¨or deltagare att utv¨ardera ¨ovningen efter att det ¨ar klart. Anv¨andarna kan registrera sig, skapa ¨ovningar och an-sluta sig till ¨ovningar. Deltagarna kan kommunicera med varandra via meddelanden. Anv¨andaren som skapar en ny ¨ovning v¨aljer vilket scenario som ska simuleras i ¨ovningen. F¨or att testa webbapplikationen har ett bankrusningsscenario implementerats. Deltagar-na kan se fiDeltagar-nansiella data och utf¨ora olika drag som p˚averkar ¨ovningens utveckling. Den finansiella datan och de olika drag deltagaren kan utf¨ora beror p˚a vilken roll deltaga-ren har valt. Alla roller, v¨arden och drag skapas i databasen och kopplas ihop med ett

14 Slutsatser

scenario.

Prototypen ¨ar utvecklad med vidareutveckling i ˚atanke. Scenariot som utvecklades f¨or denna prototyp ¨ar anpassningsbart. Nya roller, drag, h¨andelser och oberoende v¨arden kan implementeras genom att f¨ora in den datan i databasen. Hantering av beroende v¨arden ¨ar d¨aremot h˚ardkodade enligt beskrivningen i avsnitt 10.2. Ett av syftena med att digitalisera finanskris¨ovningar var att det skulle bli enklare att arrangera dessa ¨ovningar, vilket vi visar ¨ar m¨ojligt genom denna prototyp. Prototypen till˚ater att samma scena-rio kan genomf¨oras upprepade g˚anger utan ytterligare f¨orberedande arbete. Eftersom ¨ovningen inte begr¨ansas av att beh¨ova extern personal som organiserar ¨ovningen m¨ojlig-g¨or detta att fler personer kan ¨ova samtidigt. D¨armed ¨okar tillg¨angligheten till finans-kris¨ovningar.

Med tanke p˚a att det endast ¨ar en prototyp som utvecklats kan webbapplikationen inte direkt j¨amf¨oras med de mer avancerade ¨ovningar fr˚an exempelvis V¨arldsbanken och Toronto Center. En digital plattform kan d¨aremot ¨oppna upp finanskris¨ovningar f¨or en bredare m˚algrupp. I avsnitt 15 beskrivs olika vidareutvecklingar f¨or prototypen f¨or att den ska kunna bli ett anv¨andbart komplement till dagens alternativ.

14 Slutsatser

Finanskris¨ovningarna som n¨amndes i avsnitt 4, vilka bedrivs av bland annat V¨arlds-banken, kr¨aver stora resurser, b˚ade i form av f¨orberedelse och genomf¨orande, och har d¨arf¨or begr¨ansad tillg¨anglighet. Vi har utvecklat en prototyp i form av en webbappli-kation som digitaliserar finanskris¨ovningar. Ett scenario som simulerar en bankrusning har implementerats som ett exempel p˚a hur en digital ¨ovning kan se ut.

Det finns m˚anga f¨ordelar med digitaliserade finanskris¨ovningar. En s˚adan f¨ordel ¨ar att deltagarna inte beh¨over resa till en specifik plats f¨or att kunna delta i en ¨ovning. Vidare kan en ¨ovning ˚ateranv¨andas hur m˚anga g˚anger som helst, och deltagaren kan genomf¨ora samma ¨ovning flera g˚anger f¨or att kunna pr¨ova och analysera flera olika strategier. N¨ar en ¨ovning ¨ar genomf¨ord kan alla gjorda drag enkelt ˚aterskapas eftersom de finns lagrade i en databas.

En digital finanskris¨ovning blir d¨armed ett komplement till de mer detaljerade och avan-cerade ¨ovningar som redan finns idag. En tydlig m˚algrupp ¨ar bland annat studerande p˚a universitet och h¨ogskolor som kan erbjudas denna ¨ovning som en del av kurser inom exempelvis nationalekonomi. Studenterna kan simulera flera olika typer av finanskriser och d¨arigenom f˚a en mer direkt f¨orst˚aelse om hur finanskriser fungerar, vilka ˚atg¨arder som finns tillg¨angliga och vad dessa ˚atg¨arder f˚ar f¨or konsekvenser.

15 Framtida arbete

15 Framtida arbete

Att kunna utv¨ardera beslut, kommunikation och h¨andelsef¨orlopp i efterhand ¨ar en cen-tral del f¨or tj¨ansten och detta b¨or ha en h¨og prioritet vid fortsatt arbete. Systemet sparar idag alla drag och all kommunikation mellan deltagarna i databasen. Den informationen kan anv¨andas f¨or att ˚aterskapa ¨ovningen i efterhand och utv¨ardera den. Ber¨akningsen-heten kan idag ˚aterskapa ¨ovningen utifr˚an den information om alla drag och v¨arden som finns i databasen. D¨aremot finns det inget verktyg som ger anv¨andaren m¨ojlighet att ta del av den informationen. Det vore ¨onskv¨art med en funktion som efter ¨ovningens slut kan ge alla deltagare m¨ojligheten att ˚aterskapa ¨ovningen och g˚a igenom varje drag steg f¨or steg. D¨ar b¨or ¨aven alla meddelanden ˚aterfinnas f¨or att b˚ade beslut och kommunika-tion kan utv¨arderas av deltagarna.

P˚a denna plattform finns bara ett scenario, en bankrusning. Systemet har utvecklats som en plattform som kan st¨odja flera scenarion. Att l¨agga till ett scenario kr¨aver endast att ett nytt scenario l¨aggs till i databasen, f¨orutsatt att scenariot endast anv¨ander oberoende v¨arden. Detta inneb¨ar att om institutioner och l¨ander ber¨aknar v¨arden olika kan det uppst˚a problem eftersom beroende ekonomiska v¨arden ¨ar programmerade i JavaScript-koden. I framtiden vore en b¨attre l¨osning om beroende v¨arden ocks˚a kunde l¨asas fr˚an databasen, p˚a samma s¨att som oberoende v¨arden.

Ett gr¨anssnitt b¨or skapas som g¨or det enkelt f¨or en icke-teknisk person att skapa sce-narion utan att beh¨ova programmeringskunskaper eller direkt tillg˚ang till databasen.

¨

Aven plattformens anv¨andargr¨anssnitt b¨or f¨orb¨attras. Realism ¨ar en viktig faktor som uppmuntrar deltagare att ta ¨ovningen p˚a st¨orre allvar. D¨arf¨or kan anv¨andargr¨anssnittet utformas s˚a att det efterliknar system som anv¨ands av finansinstitutioner idag.

Meddelandefunktionen ¨ar idag v¨aldigt ineffektiv eftersom den uppdateras varje sekund med alla deltagares meddelanden. F¨or att minska belastning p˚a n¨atverk och databas b¨or endast nya meddelanden uppdateras och l¨aggas till i chatten. Detta kan l¨osas genom att ett sekvensnummer skickas med vid f¨orfr˚agan p˚a nya meddelanden. D¨armed filtreras alla meddelanden med l¨agre sekvensnummer bort och endast nya meddelanden skickas. F¨or att g¨ora denna plattform till en kommersiell produkt kr¨avs att det finns funktionalitet f¨or att hantera och begr¨ansa tillg˚angen till plattformen. Det skulle kunna l¨osas genom ett licenssystem d¨ar kunder kan k¨opa licenser f¨or b˚ade f¨oretag och privatpersoner.

Referenser

Referenser

[ACLT16] A. Almansi, Y. Carol Lee, and E. Todoroki, “World bank crisis simulation exercises: What is at stake in coordinating and making decisions in a crisis,” First Lessons Learned series, no. 4, Oct. 2016.

[Bar12] D. Bartholomew. (2012, september) Mariadb vs. mysql. [On-line]. Tillg¨anglig: http://rozero.webcindario.com/disciplinas/fbmg/abd3/ MariaDB vs MySQL.pdf

[Boo18] L. Book. (2018) Hur k¨anner man igen en finanskris och hur undviker man riskerna? H¨amtad 2020-04-17. [Onli-ne]. Tillg¨anglig: https://www.ungaaktiesparare.se/blogginlagg/hur-kanner-man-igen-en-finanskris-och-hur-undviker-man-riskerna

[CH17] T. Crawford and T. Hussain, “A comparison of server side scripting techno-logies,” in Proceedings of the 2017 International Conference on Software Engineering Research and Practice. Computer Science Research, Educa-tion, and Applications Press (CSREA), 2017, pp. 69–76.

[Cof] Coffeescript. CoffeeScript. H¨amtad 2020-05-22. [Online]. Tillg¨anglig: https://coffeescript.org/#introduction

[Dat] Datainspektionen. Dataskyddsf¨orordningen - information om gd-pr f¨or f¨oretag. [Online]. Tillg¨anglig: https://www.datainspektionen.se/ vagledningar/for-dig-som-har-foretag/

[DM13] D. W. Drezner and K. R. McNamara, “International political economy, glo-bal financial orders and the 2008 financial crisis,” Perspectives on Politics, vol. 11, no. 1, p. 155–166, 2013.

[Dooa] Doom Wiki. Demo. H¨amtad 2020-05-19. [Online]. Tillg¨anglig: https: //doom.fandom.com/wiki/Demo

[Doob] Doom Wiki. Tic. H¨amtad 2020-05-19. [Online]. Tillg¨anglig: https: //doom.fandom.com/wiki/Tic

[DPW20] K. Denis Pushkarev and Webbedspace. (2020) Exmascript 6 compability table. H¨amtad 2020-05-09. [Online]. Tillg¨anglig: https://kangax.github.io/ compat-table/es6/

[Duc20] J. Ducharme. (2020) World health organization declares covid-19 a ’pan-demic.’ here’s what that means. H¨amtad 2020-04-17. [Online]. Tillg¨anglig: https://time.com/5791661/who-coronavirus-pandemic-declaration/

Referenser

[Eas19] C. Easttom, Computer security fundamentals, 4th ed. Pearson IT Certifi-cation, October 2019.

[Eng15] P. Englund. (2015) Kring Admiral Pottebacker och finansbubb-lornas historia. H¨amtad 2020-04-06. [Online]. Tillg¨anglig: https: //peterenglundsnyawebb.wordpress.com/2015/08/28/147/

[Eur20] Europaportalen. (2020) Ekonomiska krisen 2008-2018 — f¨orlopp och eu-beslut. Nyhetssajten Europaportalen. H¨amtad 2020-04-06. [Online]. Tillg¨anglig: https://www.europaportalen.se/tema/finanskris

[FB09] R. H. Frank and B. S. Bernanke, Principles of Micro-economics, 4th ed. New York, US: McGraw-Hill, 2009, pp. 62–89.

[FJ10] K. Fregert and L. Jonung, Makroekonomi - Teori, politik och institutioner, 3rd ed. Lund, SE: Studentlitteratur, 2010, pp. 539–541.

[GGPO15] C. Gy˝or¨odi, R. Gy˝or¨odi, G. Pecherle, and A. Olah, “A comparative study: Mongodb vs. mysql,” in 13th International Conference on Engineering of Modern Electric Systems (EMES), Juni 2015, pp. 1–6.

[Gur] Guru99. Mariadb vs mysql: Key performance differences. H¨amtad 2020-05-20. [Online]. Tillg¨anglig: https://www.guru99.com/mariadb-vs-mysql.html

[Int11] International Institute for Labour Studies, “A review of global fiscal stimu-lus,” EC-IILS joint discussion paper series, no. 5, 2011.

[Lam] Cross Browser Testing Cloud, LambdaTest, https://www.lambdatest.com/, h¨amtad 2020-05-22.

[Mar] MariaDB, “Decimal.” [Online]. Tillg¨anglig: https://mariadb.com/kb/en/ decimal/

[Min08] H. Minsky, Stabilizing an Unstable Economy, 2nd ed. McGraw-Hill Pro-fessional, 2008.

[Nat20] Naturskyddsf¨oreningen. (2020) Allt du beh¨over veta om fly-gets klimatp˚averkan. H¨amtad 2020-06-10. [Online]. Tillg¨anglig: https://www.naturskyddsforeningen.se/flygfaq

[Old] Oldschool Wiki. Runescape clock. H¨amtad 2020-05-19. [Online]. Tillg¨anglig: https://oldschool.runescape.wiki/w/RuneScape clock

Referenser

[Rik19] Riksbanken. (2019, October) Riksbankens penningpolitiska styrsystem – ¨overgripande beskrivning. Riksbanken. H¨amtad 2020-05-11. [Online]. Tillg¨anglig: https://www.riksbank.se/globalassets/media/rapporter/ovriga-

rapporter/riksbankens-penningpolitiska-styrsystem---overgripande-beskrivning.pdf

[Sar] M. Sarig. Mariadb vs mysql in 2019: Compatibility, performance, and syntax. H¨amtad 2020-05-07. [Online]. Tillg¨anglig: https://blog.panoply.io/ a-comparative-vmariadb-vs-mysql

[Sin19] S. Singh, “Security analysis of mongodb,” International Journal of Digital Society, vol. 10, december 2019.

[Sof] Sql injection testing tutorial (example and prevention of sql in-jection attack). Software Testing Help. H¨amtad 2020-05-24. [Onli-ne]. Tillg¨anglig: https://www.softwaretestinghelp.com/sql-injection-how-to-test-application-for-sql-injection-attacks/

[sql] sqlmap, “Usage.” [Online]. Tillg¨anglig: https://github.com/sqlmapproject/ sqlmap/wiki/Usage

[Sta19] StatCounter. (2019) Desktop browser market share worldwide. H¨amtad 2020-05-08. [Online]. Tillg¨anglig: https://gs.statcounter.com/browser-market-share/desktop/worldwide/#monthly-201910-201910-bar

[Syd20] Sydsvenskan. (2020) Corona sl˚ar mot bilf¨ors¨aljningen. H¨amtad 2020-06-08. [Online]. Tillg¨anglig: https://www.sydsvenskan.se/2020-05-04/corona-slar-mot-bilforsaljningen

[The10] The World Bank. (2010, Jun.) MENA is offering a new tool: the financial crisis simulation exercises. H¨amtad 2020-04-08. [Onli-ne]. Tillg¨anglig: https://www.worldbank.org/en/news/feature/2010/06/07/ mena-is-offering-a-new-tool-the-financial-crisis-simulation-exercises [Tor20] Toronto Centre. (2020, Mar.) Designing and implementing a

systemic financial crisis management simulation. H¨amtad 2020-04-03. [Online]. Tillg¨anglig: https://res.torontocentre.org/guidedocs/

DesigningandImplementingaSystemicFinancialCrisisManagementSimulationFINAL. pdf

[Uni] United Nations Development Programme. Globala m˚alen. H¨amtad 2020-04-29. [Online]. Tillg¨anglig: https://www.globalamalen.se/om-globala-malen/

Referenser

[Upp] Uppsala Universitet. Kurs¨oversikt: Ekonomisk historia a: Politik, kriser och konjunkturer. H¨amtad 2020-04-27. [Online]. Tillg¨anglig: https: //www.uu.se/utbildning/utbildningar/selma/kurser/?kKod=2EH325&typ=1 [w3ta] w3techs. Usage statistics of Node.js. H¨amtad 2020-05-20. [Online].

Tillg¨anglig: https://w3techs.com/technologies/details/ws-nodejs

[w3tb] w3techs. Usage statistics of PHP for websites. H¨amtad 2020-05-20. [Online]. Tillg¨anglig: https://w3techs.com/technologies/details/pl-php [WA11] G. J. Walker, W.E. and S. Armstrong, “Training and learning for crisis

ma-nagement using a virtual simulation/gaming environment,” Cognition, Te-chnology & Work, vol. 13, no. 3, p. 163–173, 2011.

Related documents