Centralt innehåll

1. Systemutveckling

Systemutveckling är hela processen för att ta fram ett system (dataprogram, webbapp). Det är flera olika roller inblandade, t.ex. användare, kravställare, testare, programmerare.

2. Behov

Att utveckla en app börjar med att det finns ett behov eller någon får en idé. Det kan vara ett problem som behöver en lösning.

Det kan t.ex. vara att vi skapa en app för en bank.
Ett bankkonto ska hålla reda på information om namnet på den person som äger kontot och hur mycket pengar som finns på kontot (saldot). Man ska kunna ta ut pengar från kontot och sätta in pengar. Det skall inte gå att plocka ut mer pengar än vad som finns på kontot.

3. Systemutvecklingsprocessen

Systemutvecklingsprocessen består av 6 olika faser: Krav, Analys, Design, Kodning, Test, Leverans

systemutvecklingsprocessen

3.1 Krav

Story board och användningsfall

3.2 Analys

Analys

3.3 Design

3.4 Kodning

3.5 Test

3.6 Leverans

3.7 Iteration

Analys, design, kodning och test upprepas och görs flera gånger, där ny funktionalitet läggs till i varje iteration.

4. Agil systemutveckling

Agil systemutveckling är ett samlingsnamn för ett antal systemutvecklingsmetoder som kan användas vid programvaruutveckling, även kallade lättrörliga metoder eller iterativa metoder.

Exempel på agila metoder är bl.a. Scrum, Extreme Programming (XP) och Lean Software Development.

4.1 Tolv grundprinciper för agil systemutveckling

Vattenfallsmetoden

Agila metoder jämförs ofta med den gamla vattenfallsmetoden. Vattenfallsmetoden har ingen iteration utan försöker planera hela systemet på en gång och sedan bygga allt med endast en analys, design, kodning och testningsfas.
Den metoden misslyckades ofta att leverera rätt resultat i rätt tid och de agila metoderna utvecklades för att försöka hitta metoder som kunde leverera bättre resultat.

Man kan se manifestet för agil systemutveckling som en motreaktion mot den mer stela vattenfallsmetoden, som försöka förutse och planera allt i förväg. Det agila manifestet säger:

Individer och interaktioner framför processer och verktyg.
Fungerande programvara framför omfattande dokumentation.
Kundsamarbete framför kontraktsförhandling.
Anpassning till förändring framför att följa en plan.

Det vill säga, medan det finns värde i punkterna till höger, värdesätts punkterna till vänster mer.

Begrepp

Systemutveckling: Hela processen för att ta fram ett system (dataprogram, webbapp).

Krav: Vilken funktionalitet ska systemet ha.

Analys: Vad som ska göras, förstå problemet och reltioner mellan objekt.

Design: Hur systemet ska utvecklas rent tekniskt.

Kodning: Programmera

Test: Kontrollerar kvalitén, att systemet fungerar som det är tänkt.

Leverans: Installera systemet hos användare.

POC: Proof of Concept, ett sätt att se om en systemetidé kan förverkligas.

Iteration: Analys, design, kodning och test upprepas och görs flera gånger, där ny funktionalitet läggs till varje gång.

Agil systemutveckling: Iterativa systemutvecklingsmetoder.

Vattenfallsmetoden: Systemutvecklingsmetod utan iterationer.

Fakta

Övningar

Inlämningsuppgift

login    logout   

Exit tickets