• No results found

3.3.13 ​ Kategoriserad data 

4.8 För-genererad kod och möjlighet till anpassning 

Studien har kommit fram till att de egenskaper som genererar en automatisk uppstart  såsom för-genererad kod till mestadels är positiv. När intervjudeltagarna fick frågan  om denna egenskap så instämde samtliga att det var något positivt och menade att  den för-genererade koden leder till en snabb uppstart och därmed gör att utvecklare  jobbar mer tidseffektivt. Den negativa aspekt som har identifierats med för-genererad  kod är att det kan påverka utvecklares kunskap då man inte alltid fullt förstår vad  som sker bakom kulisserna. Två deltagare av intervjun sade att detta kan leda till  minskad förståelse av systemet vilket i sin tur kan resultera i problem då användaren  ska utföra en felsökning. De positiva aspekter som deltagarna nämnde var att 

för-genererad kod leder till snabb konfiguration och uppstart. Vilket kan bekräftas av  artikeln “​Will Software Developers Ride Ruby on Rails to Success?​”[32] där det bland  annat skrivs att med hjälp av Ruby on rails funktioner så kunde ett projekt 

konfigureras på 10% av den vanliga tiden det brukade ta.    

Möjligheten att anpassa hur mycket för-genererad kod eller hur mycket 

konfigurations-hjälp man vill få så bör det finnas möjlighet att välja detta utifrån  kunskapsnivå. Studiens respondenter höll med om att man exempelvis ska få välja  mycket, lite eller inget alls. 

Genom att automatisera delar av utvecklingsprocessen med hjälp av för-genererad kod  kan det bli enklare och mer pedagogiskt för en ny användare. Det kan även användas  för att spara tid för erfarna utvecklare och på så vis undvika redundant kod eller  arbetssätt. Det är dock viktigt att tillåta utvecklaren att själv konfigurera vad, om och  när kod ska genereras, detta för att öka flexibiliteten. 

 

 

 

 

6.0 Slutsats 

Studiens skribenter är medvetna om att den data som genererats av enkäterna och  intervjuerna inte är representativ för populationen av industrins utvecklare. 

Enkäterna hade en bättre demografisk spridning och kan därför anses ha mindre bias  i sina svar än de som genererats av intervjuerna då samtliga intervjudeltagare 

arbetade inom samma organisation. Enkäterna bör anses saknas viss validitet då  deltagarna inte var utvalda på förhand utan valdes slumpmässigt ur olika sociala  kanaler för utvecklare.  

Studien kan således inte dra några säkra slutsatser för de ställda forskningsfrågorna  men anser att det finns viss signifikans i den data som genererats och den analys som  genomförts. Det resultat som studien genererat går att återfinna i relaterad forskning  och bör således besitta någon signifikans eller indikation. Resultaten bör således inte  sorteras ut men bör inte betraktas som säkerställd data. 

Forskningsfrågor  

Då samtliga forskningsfrågor är orienterade kring positiva och negativa egenskaper i  arkitekturer och ramverk kan nedanstående sammanfattning besvara samtliga  forskningsfrågor: 

Hur anser utvecklare att arkitekturerna MVC, MVVM och Flux, samt ramverken  Ruby on Rails och Redux bör överväga de aspekter studien granskar*? 

Utifrån de aspekter* som studien granskar, vad anser utvecklare vara positivt i  de sätt som MVC, MVVM och Flux, samt ramverken Ruby on Rails och Redux  behandlar sagd aspekt? 

Utifrån de aspekter* som studien granskar, vad anser utvecklare vara negativt i  de sätt som MVC, MVVM och Flux, samt ramverken Ruby on Rails och Redux  behandlar sagd aspekt? 

*​De aspekter som granskas innefattar: användarvänlighet, dataflöde, dokumentation, 

gemenskap/popularitet, inlärningskurva, för-genererad kod, modularitet, testbarhet och  hantering av data  

Studien visar att utvecklare ansåg att arkitekturer och ramverk bör överväga 

användbarhet och enkelhet. Resultatet indikerar att en arkitektur eller ett ramverk bör  vara så enkelt som möjligt att använda. Utöver användarvänlighet visar resultatet att  aspekter såsom enkelriktat dataflöde och dokumentation är att föredra över de andra  aspekterna. 

Studiens resultat indikerar att utvecklare mestadels känner till MVC, MVVM samt de  liknande arkitekturerna inom MV-familjen. På grund av detta hade respondenterna  många åsikter om MVC och MVVM men inte lika mycket åsikter om Flux, Redux samt  Ruby on rails. Resultatet visade att utvecklare ansåg att MVC och MVVM hanterar  användbarhet, enkelhet och modularitet på ett positivt vis genom att separera 

ansvarsområden i moduler. Resterande aspekter som studien granskat nämndes inte i  lika stor utsträckning. Studien visade att utvecklare ansåg dokumentation och 

community bör betraktas som positivt då detta hjälper verktyget att få spridning och  samtidigt skapa organiska forum där intressenter kan dela erfarenheter.  

Utvecklarna menade att för-genererad kod kan vara negativt då en utvecklare inte  riktigt förstår vad som sker i bakgrunden av applikationen. Men det finns även en  positivt aspekt som hjälper nya utvecklare att komma igång eller erfarna utvecklare  att etablera en grund tidseffektivt. Studien visar att MVC behandlar dataflöde på ett  negativt sätt, då en applikation kan ha ett stort antal kontrollers som gör att koden  blir svår att följa.  

Skribenterna anser att de resurser som tilldelats studien varit för få för att kunna  producera en välutförd, data-tung studie. Målet har därför varit att skapa en indikativ  bild av forskningsområdet som kan ligga till grund för vidare forskning. 

6.1 Rekommendationer 

För vidare utforskning rekommenderar skribenterna att andra forskare undersöker  flera arkitektur och ramverk, gärna utanför MV-familjen för att identifiera de 

egenskaper som skiljer sig åt och vad utvecklare har för olika perspektiv på dessa  egenskaper. Framtida studier bör även fokusera på att göra ett bättre urval och  använda så pass mycket data att den kan representera den faktiska populationen av  utvecklare bättre.  

Det kan även vara intressant att jämföra kvantitativ data och mäta olika faktorer inom  arkitekturer och ramverk. Exempelvis hur långt tid det tar att konfigurera ett 

förutbestämt projekt med olika verktyg.    

7.0 Referenser  

[1] Github ​Rails documentation ​[online] Tillgänglig: ​https://github.com/rails/rails   

[2] Github ​Redux documentation ​[online] Tillgänglig:  https://github.com/reduxjs/redux 

 

[3]Github ​Flux documentation ​[online] Tillgänglig: 

https://facebook.github.io/flux/docs/in-depth-overview.html#content   

[4] Briony J. Oates (2006) ​ Researching information systems and computing​ London:  SAGE Publications Ltd s.119 

 

[5] Syeda Uzma Gardazi, Arshad Ali Shahid (2009) “​Survey of software architecture 

description and usage in software industry of Pakistan​” [PDF] Hämtad: 2019-05-05   

[6] Molich, R., and Nielsen, J. (1990). Improving a human-computer dialogue,  Communications of the ACM 33 , 3 (March), 338-348. 

 

[7]Nielsen, J., and Molich, R. (1990). Heuristic evaluation of user interfaces, Proc. ACM  CHI'90 Conf. (Seattle, WA, 1-5 April), 249-256. 

 

[8]Nielsen, J. (1994a). Enhancing the explanatory power of usability heuristics. Proc.  ACM CHI'94 Conf. (Boston, MA, April 24-28), 152-158. 

 

[9]Nielsen, J. (1994b). Heuristic evaluation. In Nielsen, J., and Mack, R.L. (Eds.),  Usability Inspection Methods, John Wiley & Sons, New York, NY. 

 

[10] A. Leff, J.T. Rayfield (2001) “​Web-application development using the 

Model/View/Controller design pattern​“ [PDF] Hämtad: 2019-04-14.    

[11]​ D.M. Selfa, M. Carrillo, M. Del Rocio Boone (2006) “​A Database and Web 

Application Based on MVC Architecture​” [PDF] Hämtad: 2019-04-14.   

[12]​ Sulabh Kumar “​Observer pattern​” [Online] 

Tillgänglig:​https://www.geeksforgeeks.org/observer-pattern-set-1-introduction/  

[13] ​XiaoLong Li​, DaLiang Chang, ​Hui Pen​, ​XiaoYu Zhang, ​ ​YuanXin Liu ​, YaXian Yao  (2015) “​Application of MVVM design pattern in MES​” [PDF] Hämtad: 2019-05-01.   

[14] Oates, B. (2006). “​Interviews​” in Researching information systems and computing.  Los Angeles: Sage, 2006, 

 

[15] Oates, B. (2006). “​Surveys​” in Researching information systems and computing.  Los Angeles: Sage,2006, 

 

[17] Terence Parr (2004) “​Enforcing Strict Model-View Separation in Template Engines​”  [PDF] Hämtad: 2019-04-16. 

 

[18] Anna Hedin (1997/2011) ​En liten lathund om kvalitativ metod med tonvikt på 

intervju ​[PDF] Hämtad: 2019-04-10.   

[19]​ ​S. Balaji, Dr.M.Sundararajan Murugaiyan (2012) “​WATEERFALLVs V-MODEL Vs 

AGILE: A COMPARATIVE STUDY ON SDLC​” [PDF] Hämtad: 2019-05-12.   

[20]​ ​React documentation ​[online] Tillgänglig: ​https://reactjs.org/  

[21]​ Uml Tutorial [Online] Tillgänglig: ​https://www.tutorialspoint.com/uml/  

[22] Briony J. Oates (2006) ​ Researching information systems and computing​ London:  SAGE Publications Ltd s.194 

 

[23] Briony J. Oates (2006) ​ Researching information systems and computing​ London:  SAGE Publications Ltd s.112 

 

[24]​Emad Majidi​, ​Mahdieh Alemi​, ​Hasan Rashidi​ (2010) “​Software Architecture: A 

Survey and Classification​” [PDF] Hämtad: 2019-05-21.   

[25] Trygve Reenskaug (2007) “​The original MVC reports​” [PDF] Hämtad: 2019-05-21.   

[26] React usage statistics [Online] Tillgänglig:  https://trends.builtwith.com/javascript/React   

[27] Rick Kazman, Len Bass, Gregory Abowd, Mike Webb (1994) “​SAAM: A Method for 

Analyzing the Properties of Software Architectures​” [PDF] Hämtad: 2019-05-14.   

[28] ​Artem Syromiatnikov​, ​Danny Weyns​ (2014) “​A Journey Through the Land of 

Model-View-Design Patterns​” [PDF] Hämtad: 2019-05-12.   

[29] Thomas Berlage (1992) “​Using taps to separate the User interface from the 

application code” [PDF] Hämtad: 2019-04-16.    

[30] Briony J. Oates (2006) ​ Researching information systems and computing​ London:  SAGE Publications Ltd s.149 

 

[31] ​Len Bass, Paul Clements, Rick Kazman (2003) ​“​Software architecture in practice​”  Addison-Wesley 

 

[32]David Geer (2006) “​Will Software Developers Ride Ruby on Rails to Success?​” [PDF]  Hämtad: 2019-05-22. 

[33]Dr. Jesse Allisson (2011) “​Distributed Performance Systems using HTML5 and 

Rails​” [PDF] Hämtad: 2019-05-22.   

[34]Eelke Folmer, Jan Bosch (2005) “Case studies on Analyzing Software Architectures  for Usability“ [PDF] Hämtad: 2019-05-22. 

 

[35] Creswell, J.W, (2014) ​Research design: Qualitative, quantitative, and mixed method 

approaches​ Sage Publications Inc   

[36] Manisha Jailia, Ashok Kumar, Manisha Agarwal, Isha Sinha (2016) “​Behavior of 

MVC (Model View Controller) based Web Application developed in PHP and .NET  framework​” [PDF] Hämtad: 2019-07-15 

 

[37] Briony J. Oates (2006) ​ Researching information systems and computing​ London:  SAGE Publications Ltd s.208 

       

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bilagor 

Related documents