• No results found

Nåddes syftet

Syftet med projektarbetet nåddes eftersom gruppen lyckades skapa en ny webbplats åt kunden utefter deras tankar och tycke. Genom att skapa ytterligare en prototypsida med ett annat ramverk lyckades medlemmarna att lära sig fler nya språk och ramverk för olika typer av webbapplikationer. Gruppen lärde sig även hur det var att jobba i både små och stora team med webbutveckling.

Gruppen har i rapporten delat med sig av sina erfarenheter kring grupparbetet. Dessutom har en jämförelse mellan WordPress och Flask gjorts, i form av både en analys kring teorin och en analys av det färdiga resultatet, vilket gjorde att gruppen har lyckats uppnå syftet med rapporten.

A GRUPPENS SYN PÅ WORDPRESS

A

Gruppens syn på WordPress

En utredning av Viktor Agbrink, analysansvarig i grupp 1.

A.1

Inledning

Utredningen speglar gruppens syn på WordPress. WordPress är i dagsläget världens mest använda CMS-verktyg och bedriver i dagsläget (8 maj 2017) 27.9 procent av internet [36]. Trots dess popularitet är det sällan jag hör studentet prata gott om verktyget. Detta var inget undantag för min projektgrupp, trotts att majoriteten av gruppen aldrig hade konstruerat en webbplats i verktyget förut. Jag tänkte därför ta tillfället i akt och jämföra deras åsikt angående verktyget före respektive efter projektet, för att se om denna åsikt ändrats.

A.1.1 Syfte

Syftet bakom utredningen är att få en insikt på gruppens syn på WordPress och försöka dra slutsatser angående verktygets framtida användande.

A.1.2 Frågeställning

1. Har gruppens inställning till Wordpress ändrats efter att projektet utförts? 2. Hur kommer webbplatser konstrueras i framtiden?

A.2

Bakgrund

Utredningen är baserad på ett projekt som utförts i kuren TDDD96 Kandidatprojekt i programvaruutveckling. Vid projektstart bestämde sig gruppen väldigt tidigt för att implementera en webbplats med ramveken Flask, utan att ta upp det med kunden eftersom det inte var specificerat i projektbeskrivningen. I mitten av itteration ett fick gruppen tänka om helt vid val av ramverk eftersom kunden ville att webbplatsen skulle bli implementerad i WordPress. Detta besked gjorde gruppen väldigt besviken, det var få som blev glada över det här beskedet och frågar man runt bland studenter på universitetet är det väldigt få som ser positivt på WordPress. Jag har personligen aldrig konstruerat en webbplats i WordPress och försöker stå neutral i frågan, men lyckas inte riktigt och känner att jag har blivit påvärkad av omvärlden. Jag har alltså fått en negativ uppfattning om något jag aldrig testat. Detta gjorde mig trollbunden vilket i sin tur ledde till denna utredning.

A GRUPPENS SYN PÅ WORDPRESS

A.3

Teori

Här förtydligas de begrepp som används i rapporten. Den teori som nämns nedan kommer från kandidatraportens gemensamma teoridelen under kapitel 3. Jag har valt att ta upp detta ännu en gång för att förenkla läsandet. Därav är detta inget viktigt för dig som kännder dig bekant med detta.

A.3.1 WordPress

WordPress är ett så kallat Content Management System, förkortat CMS. Ett CMS hanterar bland annat lagringen av innehållet på webbplatsen, men också presentationen av innehållet. I praktiken kan du alltså göra en webbplats utan att skriva någon kod när du använder WordPress. Det betyder också att när du utvecklar för WordPress, så finns specifika komponenter som en kan använda för att bygga webbplatsen. Dessa komponenter är teman och plugins. Teman är hur webbplatsen ser ut och fungerar från en användares perspektiv och plugins utökar funktio- naliteten av WordPress. [16]

I WordPress är det möjligt att skapa och uppdatera en webbplats utan att behöva ha dju- pa kunskaper inom webbprogrammering och webbdesign. WordPress är i grunden skapat för bloggar, men kan även användas till alla möjliga typer av webbplatser eftersom det finns många färdiga plugins att utgå ifrån. WordPress kan laddas ner kostnadsfritt och har öppen källkod, vilket innebär att alla kan få tillgång till källkoden och har rätt till att ändra samt förbättra koden. [16]

A.3.2 Python

Python är ett dynamiskt typat interpreterat programmeringsspråk. Att det är ett dynamiskt typat språk betyder att variabler och funktioner inte behöver deklarera vilken typ av data de innehåller eller ger tillbaka. Att det är interpreterat betyder att koden tolkas under själva körningen av programmet. [17]

A.3.3 Flask

Flask är ett ramverk för Python som underlättar utvecklingen av serversidan av en webbplats. Ramverket hjälper exempelvis till med att hantera trådar och att tolka vilken funktion som ska köras då en specifik sida på webbplatsen besöks. [18]

A GRUPPENS SYN PÅ WORDPRESS

A.4

Metod

Utredningen är i första hand baserad på en enkät med frågor angående gruppens syn på WordPress samt min personliga uppfattning om verktyget. Utöver detta kommer jag använda mig utav statistik från internet för att dra slutsatser om WordPress framtida användande.

A.4.1 Praktiskt arbete

Gruppen kommer konstruera en webbplats i WordPress. Utefter denna erfarenhet ska jag bilda min personliga uppfattning om verktyget och representera den i utredningen.

A.4.2 Statistik

Statistik över aktiva webbplatser byggda med CMS-verktyg jämfört med webbplatser som inte är konstruerade med CMS-verktyg. [36]

A.4.3 Svar på enkät utskickad till gruppen

Här representeras de frågor som ställts i enkäten, tanken bakom frågorna och hur de kommer användas i utredningen. Enkäten skickades ut till gruppmedlemmarna efter att gruppen utfört projektet.

1. Har du programmerat en hemsida mha WP innan projektet?

2. Skulle du kunna tänka dig att programmera en hemsida i WP innan projektet? (Vad hade du för inställning till WP innan projektet?)

3. Om du hade en negativ inställning till WP innan projektet startade, varför hade du då det?

4. Skulle du kunna tänka dig att programmera en hemsida i WP efter projektet? (Vad har du för inställning till WP idag/i slutet av projektet?)

5. Har din inställning till WP ändrats under projektets gång? Mer positivt eller negativt och isf varför?

6. Tror du att folk kommer att arbeta med att konstruera hemsidor i framtiden? 7. Tror du att det kommer att finnas en marknad för det?

8. Tror du att det kommer vara så pass enkelt att utveckla en hemsida i framtiden så att ingen anställer något för att utföra arbetet utan gör det själva. (Är användarna framtidens webbutvecklare?)

9. Tror du att WP är framtiden inom webbprogrammering?

Fråga 1 används för att ta reda på om gruppmedlemmarna har använt sig utav WordPress vid konstruktion av webbplatser i ett tidigare skede.

Fråga 2 och 3 kommer att användas för att ta reda på gruppmedlemmarnas syn på Word- Press innan projektets start samt varför de tycker som de gör angående verktyget. Medans fråga 4 och 5 kommer att användas för att ta reda på gruppmedlemmarnas syn på WordPress efter

A GRUPPENS SYN PÅ WORDPRESS

projektet. Denna information kommer sedan användas för att ta reda på om gruppmedlemmar- nas syn på WordPress har ändrats efter att gruppmedlemmarna utfört ett projekt i WordPress. Frågorna 6 till 9 används för att få insikt på gruppmedlemmarnas syn angående framtiden innom webbprogrammering. Denna information kommer sedan användas tillsammans med WordPress användarstatistik för att dra dessa slutsatser.

A.5

Resultat

Här representeras utredningens resultat.

A.5.1 Statistik

Figur 5:Statistik över aktiva hemsidor

Statistik över aktiva webbplatser som är byggda med CMS-verktyg motsvarande hemidor byggda utan CMS-verktyg, statistiken är dokumenterad från 1 januari 2011 fram till 21 april 2017 [36]. Figur 5 visar de CMS-verktyg som har 1 procent eller mer utav alla aktiva hemsidor jämtemot hemsidor byggda utan CMS [36].

A.5.2 Enkät utskickad till gruppen

Här sammanfattas deltagarnas svar på den enkät som skickades ut. Det var totalt 6st som deltog i undersökningen.

A GRUPPENS SYN PÅ WORDPRESS

Figur 6:Gruppens sammanfattade svar på fråga 1.

A GRUPPENS SYN PÅ WORDPRESS

Figur 8:Gruppens sammanfattade svar på fråga 3.

Noob betyder att man är en nybörjare, detta är inte uppenbart för alla. Därav förtydligas detta.

A GRUPPENS SYN PÅ WORDPRESS

Figur 10:Gruppens sammanfattade svar på fråga 5.

A GRUPPENS SYN PÅ WORDPRESS

Figur 12:Gruppens sammanfattade svar på fråga 7.

A GRUPPENS SYN PÅ WORDPRESS

A GRUPPENS SYN PÅ WORDPRESS

A.6

Diskussion

Projektet som gruppen fått i uppdrag att utföra motsvarar 400 timmar per persson som på åtta perssoner motsvarar 3200 timmar totalt. Att bygga en webbplats i WordPress tar inte så lång tid och omfattar därmed inte projektets storlek. Detta var en utav anledningarna till varför gruppen inte ville bygga en webbplats i WordPress. Detta nämns det inget om i enkäten men jag vet att det var en anledning bakom gruppens negativa inställning till WordPress och tar därmed upp det. Det var dock inte den enda anledningen bakom gruppens negativa syn på verktyget. Det verkar som att det saknas prestige i att bygga en webbplats i WordPress, man vill inte behöva anpassa sig till dess struktur och det är inte lika flexibelt som att bygga en hemsida från grunden. Utöver detta tolkar jag att gruppen hällre ville utföra ett projekt i Python med Flask för att det helt enkelt kändes roligare.

Enligt fråga 1, figur 6 i enkäten besvarar gruppmedlemmarna vilket erfarenhet de har utav WordPress sen tidigare. Det visar sig att enbart en utav sex deltagare har utfört ett mer djupgå- ende projekt i WordPress tidigare. Utav de resterande fem personerna hade tre personer testat verktyget lite, men inte något djupgående och två perssoner hade inte använt sig utav verktyget tidigare. En utav de deltagarna som inte hade konstruerat en webbplats i WordPress tidigare svarade ett på fråga 2, figur 7 och hade därmed en negativ inställning till verktyget innan projek- tet. Samma person hade på fråga 3, figur 8 motiverat detta enl följande ”För jag hört att der är en noobs väg till webbutveckling”. En utav de som hade arbetat lite i WordPress admingränssnitt gav en trea på fråga 2 och besvarade frågan enl följande ”Jag tyckte att det var ett enkelt sätt att starta en blogg, och jag visste att det gick att använda till att göra andra typer av hemsidor.”. Den förstnämnda perssonen har alltså en negativ syn på verktyget fasten personen inte har arbetat i verktyget tidigare. Denne persson har alltså bildat en uppfattning om verktyget utefter vad andra tycker. Den andra perssonen som besvarade fråga 3 hade en mer öppen syn angående WordPress men visste inte att verktyget var så flexibelt som det är. De övriga gruppmedlem- marna som inte svarade på fråga 3 tolkar jag som neutrala angående ämnet.

Fråga 2 och 4 figur 9 visar att gruppmedlemmarnas uppfattning angående verktyget har ändrats efter att ha utfört ett projekt i verktyget. Detta motiveras i fråga 5, figur 10 där medlemmarna besktiver verktyget som ett smidigt, bra verktyg som snabbt ger resultat. De som fortfarande har samma syn angående verktyget tycker inte om att koda i PHP och tycker inte att verktyget är tillräckligt flexibelt.

Personligen fick jag en positiv uppfattning av WordPress efter att ha arbetat i verktyget. Det är som sagt väldigt enkelt att komma igång med verktyget och det ger snabbt resultat. Innom viss mån håller jag med om att WordPress begränsar en, du får anpassa dig till WordPress plugins, back-end och dess tillhörande admingränssnitt. Utöver detta är WordPress flexibelt, du kan i stort sätt programmera webbplatsens front-end utefter din egna vilja.

För att få en bättre uppfattning om gruppens syn angående framtidens konstruktion av hem- sidor går jag djupare in på fråga 6,7,8 och 9 vilket motsvarar figur 11, 12, 13 och 14. Fråga 6 och 7 ifrågasätter gruppmedlemmarnas uppfattning om den framtida arbetsmarknaden in- nom webbprogrammering. Här var alla gruppmedlemmar överens om att det kommer finnas en marknad för konstruktion av webbplatser i framtiden och att folk fortfarande kommer arbeta med att konstruera webbplatser i framtiden. Fråga 8 ifrågasätter om gruppen tror att privat-

A GRUPPENS SYN PÅ WORDPRESS

eller om det kommer vara så pass lätt att konstruera en webbplats själv så de utför arbete själva istället. Här vart det lite mer spridda skurar, 6 svarade på frågan varav 4 svarade nej och 2 övrigt där övrigt tolkas som ett neutralt svar i frågan. Fråga 9 går rakt på sak och frågar gruppmedlemmarna om de tror att WordPress är framtiden inom webbprogrammering. Majori- teten utav de som svarade tyckte inte att det stämde, medans vissa var lite mer neutrala i frågan. Ur statistiken som representeras i figur 5 ser vi att WordPress användarbas kontinueligt ökat sedan 2011 då ca 11 procent av alla aktiva hemsidor använde sig utav verktyget. 2017 har denna siffra ökat till 27 procent men kommer denna trenden att fortsätta? Kollar man WordPress- kurvan ser man att den dalar ut en aning i slutet 2017 men det gör den vid andra tillfällen också så det är svårt att dra någon slutsats utefter det.

A.7

Slutsatser

Här dras slutsatser kring utredningens frågeställningar, utefter de material som representerats i utredningen.

A.7.1 Har gruppens inställning till WordPress före projektet ändrats efter att projektet utförts?

Enligt enkäten har gruppens syn angående WordPress ändrats åt det mer positiva hållet än det negativa hållet efter att ha utfört projektet. Detta gäller inte alla men majoriteten av gruppmedlemmarna tolkar jag som positivare till WordPress. Därmed skulle jag påstå att gruppens inställning till WordPress har ändrats under projektets gång, till en positivare inställning.

A.7.2 Hur kommer framtidens konstruktion av webbplatser att se ut?

Enligt figur 5 syns det att WordPress användarstatistik har ökat kontinueligt medans dess kon- kurerande CMS-verktyg kämpar för att hålla sig över 1 procentsgränsen. Att kurvan har gått i denna riktningen under så lång tid är ingen slump, dock tror jag att denna kurva kommer att dala ut med tiden. I den enkäten som skickades ut till gruppmedlemmarna var det ingen som trodde att det inte skulle finnas en marknad för utveckling av hemsidor i framtiden och där håller jag med. Däremot tror jag att framtidens konstruktion av hemsidor till viss del kommer att bli ett vardagligt kunnande. Barn får i dagsläget lära sig programmering i skolan och de nuvarande CMS-verktygen utvecklas konstant för att uppnå denna vision. Men större företag där kvalitet, service och säkerhet är viktigare kommer förmodligen fortfarande vända sig till företag som konstruerar hemsidor, för att få en professionell webbplats.

B HUR ARKITEKTUREN BEROR PÅ RAMVERK

B

Hur arkitekturen beror på ramverk

En undersökning av arkitektur för webbutveckling gjord av Fredrik Bengtsson, arkitekt i grupp 1, TDDD96.

B.1

Inledning

Arkitekturens syfte är att under ett projekt hålla en struktur som gör det möjligt att underhålla systemet. Om alla utvecklare har en gemensam bild av hur systemet fungerar och hur systemet hänger ihop så får man en väl strukturerad kod. Valet av arkitektur påverkar också huruvida systemet uppfyller de krav som finns på det. Ett felaktigt val av arkitektur kan göra det svårare än nödvändigt att utveckla systemet.

I projektet användes två olika arkitekturer för att ta fram en webbplats. Den ena använder sig av WordPress, ett Content management system, medans den andra använder sig av ram- verket Flask. I rapporten kommer dessa olika delprojekt för enkelhetens skull refereras till som WordPress-hemsidan och Flask-hemsidan.

B.1.1 Syfte

Syftet är att undersöka arkitekturens roll i detta projekt. Speciellt hur arkitekturens roll förändras baserad på om man använder Flask som är ett mer traditionellt ramverk jämfört med Wordpress som är ett CMS.

B.1.2 Frågeställning

1. Hur ändras den dokumenterade arkitekturens roll beroende på om WordPress eller Flask används?

2. Hur väl följer implementationen den dokumenterade arkitekturen?

B.2

Bakgrund

I kursen TDDD96, Kandidatkurs i programvaruutveckling, hade jag rollen som arkitekt. Som tidigare nämnts genomfördes utvecklingen med två olika arkitekturer, den ena baserades på WordPress och den andra på ramverket Flask. Arkitekturen i WordPress är baserad på den standard som finns för teman i WordPress, vilket är där majoriteten av utvecklingen är ge- nomförd. På grund av de begränsningar som WordPress sätter på strukturen så är alltså en hel del av de arkitektoniska besluten redan fattade. För en hemsida utvecklad med Flask är det däremot helt upp till utvecklarna hur strukturen ser ut. Därmed fattades de arkitekto- niska besluten av projektgruppen för Flask-hemsidan. Till en början arbetade hela gruppen på WordPress-hemsidan och under den tiden tog dess arkitektur fram. Under iteration tre så delades gruppen i två mindre grupper, ena gruppen fortsatte utveckla WordPress och den andra påbörjade Flask-hemsidan. Jag var en av de fyra personer som var med i gruppen som började på Flask-hemsidan, för att som arkitekt kunna vara med och ta fram arkitekturen även för det systemet.

B HUR ARKITEKTUREN BEROR PÅ RAMVERK

Att dokumentera och behålla arkitekturen för ett system är svårt även för de som jobbar i industrin. Detta är något som Simon Brown tar upp i sitt tal Software architecture vs code. I talet ligger fokuset på att koden och arkitekturen måste hänga ihop för att arkitekturen ska vara användbar. Detta är bakgrunden till frågeställningen om hur väl arkitekturen och implementationen följer varandra.[37]

B.3

Teori

Majoriteten av den teori som behövs för att förstå följande undersökning finns beskrivet i huvudrapportens teorikapitel, kapitel 3. Speciellt av intresse är :

• Teori om MVVM-arkitektur i kapitel 3.13 • Teori om ramverket WordPress i kapitel 3.14 • Teori om ramverket Flask i kapitel 3.16

• Beskrivning om projektet definition av widgets i kapitel 3.19

B.3.1 Arkitektur

Arkitektur syftar i rapporten till mjukvaruarkitektur som enligt IEEE definieras som ”hsystemi fundamental concepts or properties of a system in its environment embodied in its elements, relationships, and in the principles of its design and evolution”. Det är alltså en abstraherad beskrivning av ett mjukvarusystem och hur olika delar av systemet hänger ihop.[38]

B.4

Metod

För att undersöka frågeställning 2 gjordes en jämförelse av koden och den dokumenterade arkitekturen. För att sedan svara på frågeställning 1 gjordes det en analys av innehållet i den dokumenterade arkitekturen för båda systemen. I analysen görs även en jämförelse där båda systemens arkitekturer jämförs med fokus på vad de faktiskt beskriver. För att få en bättre bild av hur arkitekturen faktiskt använts under projektet och där med dess roll så har ämnet diskuterats med projektgruppen vid ett flertal tillfällen.

B.4.1 Jämförelse av arkitektur och kod för WordPress

Arkitekturen i WordPress bygger på specifika fil- och mappnamn, detta gör att den dokumenterade arkitekturen innehåller beskrivningar för vilka filer som finns och vad som ska finnas i dessa. Jämförelsen gjordes därför delvis mellan vilka filer som finns i arkitekturen och i implementationen samt att dessa filer i implementationen gör det som är beskrivet i arkitekturen.

B.4.2 Jämförelse av arkitektur och kod för Flask

Arkitekturen för Flask projektet är framtagen av projektgruppen och beskrivs i dokumentationen som en MVVM-arkitektur. Jämförelsen görs för att se att koden på ett logiskt sätt går att dela

B HUR ARKITEKTUREN BEROR PÅ RAMVERK

upp i de tre distinkta lagren som beskrivs i arkitekturdokumentet. Jämförelsen gjordes också för varje enskilt lager för att se att de utför de uppgifter som beskrivs i dokumentationen.[39]

B.4.3 Analys av den dokumenterade arkitekturen

Analysen fokuserade på hur arkitekturens beskrivning varierar med avseende på vilken av de två teknologierna som används. Analysen fokuserade då på vilka av de fyra olika arkitekturerna som beskrivs i studien ”Software Architecture in Industrial Applications” som finns närvarande i arkitekturen och om det finns variationer mellan de två arkitekturerna.[40]

Förutom själva arkitekturen undersöktes också de begränsningar till arkitekturen som tas upp i dokumentationen. För att bättre förstå dessa begränsningar och besluten om arkitektur undersöks också hur dessa hänger ihop med kraven på de två systemen.

B.5

Resultat

Här presenteras resultatet av jämförelsen mellan arkitektur och kod samt resultatet från analysen av arkitekturdokumentationen. En sammanfattning av diskusionerna om arkitekturen med projektgruppens medlemmar presenteras också här.

B.5.1 Jämförelse mellan arkitektur och WordPress-hemsidan

Det här avsnittet behandlar resultatet från undersökningen av hur den webbplats som implementerades med hjälp av WordPress stämmer överens med den dokumenterade arkitekturen. På grund av WordPress fokus på vilken fil som gör vad så redovisas resultatet

Related documents