Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Extrem programmering - Wikipedia, den fria encyklopedin

Extrem programmering

Wikipedia

Extrem programmering (XP) är en systemutvecklingsmetodik skapad av Kent Beck.

XP är en kodcentrerad process som utvecklades på grund av att många mjukvaruprojekt avbröts eller att projektplanen inte kunde hållas. XP är en av de mer populära lättviktsprocesserna idag och nyttjas flitigt i olika projekt runt om i världen.

Innehåll

[redigera] Värderingar

XP baseras på fyra stycken värderingar: kommunikation, enkelhet, återkoppling och mod. Det är viktigt att ha en kund på plats så att kontinuerlig kommunikation mellan utvecklarna och kunden är möjlig. Kunden som är på plats har möjlighet att bestämma vad som ska uppfyllas av systemet (krav på systemet) och i vilken ordning dessa ska prioriteras (så att de viktigaste kraven hanteras först).

Enkelhet fås genom kontinuerlig omstrukturering av kod (refaktorering) samt att skapa minimalt med dokument och annat som inte är kod eller en del av det slutgiltiga systemet. Kontinuerliga enhetstester och många delleveranser av systemet ger god återkoppling. Kommunikation är viktigt för återkopplingen då kunden på plats löpande ger synpunkter (feedback) på systemet. När något inte är speciellt populärt, men ändå mest rätt att göra krävs det mod. Det innebär egentligen att alla inblandade projektmedlemmar ska vara ärliga med vad de kan och inte kan göra.

[redigera] Tillämpningar

Precis som utvecklingsprocessen RUP har XP ett antal så kallade "tillämpningar" som stöttar de fyra värderingarna. Det finns 12 tillämpningar i XP:

  • Planeringsspelet
  • Små leveranser
  • Metafor
  • Enkel design
  • Testning
  • Omstruktuering av kod
  • Parprogrammering
  • Gemensamt ägarskap
  • Kontinuerlig integration
  • 40-timmars arbetsvecka
  • Kund på plats
  • Kodstandard

Planeringsspelet - Funktionalitet i nästa leverans bestäms genom prioriterade verksamhetsberättelser och tekniska bedömningar.

Små leveranser - Systemet levereras i små inkrementella versioner.

Metafor - En enkel beskrivning av hur systemets ska fungera.

Enkel design - Genom att hålla koden enkel blir även designen enkel. Ta bort komplexitet från koden kontinuerligt när den upptäcks.

Testning - Tester skrivs innan koden utvecklas. Programmerare skriver tester som testar och validerar koden medan kunden skriver tester som testar och validerar verksamhetsberättelser.

Omstruktuering av kod - Ta kontinuerligt bort identiska (dubbletter) och komplexa kodbitar.

Parprogrammering - Programmerare arbetar i par vid en dator. En skriver koden medan den andre granskar koden.

Gemensamt ägarskap - Alla har rätt att ändra i all kod, skriven av dem själva eller någon annan.

Kontinuerlig integration - När en implementationsuppgift är utförd byggs systemet och integereras med den redan färdiga koden. Detta kan ske flera gånger per dag.

40-timmars arbetsvecka - Programmerare tänker och därmed arbetar bättre utvilade. Övertid tillåts inte i två veckor i rad.

Kund på plats - Kunden arbetar med utvecklarna på heltid för att kunna svara på frågor, definiera systemet och skriva tester.

Kodstandard - Konsistent kodstandard som alla programmerare följer.

[redigera] Kravhantering

Kravhantering i XP kontrolleras genom verksamhetsberättelser (funktionsbeskrivningar). Verksamhetsberättelser liknar användningsfall men är mindre detaljerade. Wake (2000) beskriver en verksamhetsberättelse som en kort beskrivning av systemet utifrån användarens synvinkel. Hela systemet specifieras genom verksamhetsberättelser och de skrivs ofta på ett informellt sätt vilket leder till ökad kommunikation mellan kunden och utvecklarna.

Verksamhetsberättelserna delas vidare upp i uppgifter som sedan normalt sett genomförs av en programmerare. Uppgifter är aktiviteter som måste utföras av programmeraren för att färdigställa implementationen av verksamhetsberättelsen.

[redigera] Testdriven utveckling

En av de grundläggande metoderna i XP är testdriven utveckling av kod. Det innebär att s k enhetstester skrivs (kodas) innan själva koden som ska testas. Kent Beck, XP:s grundare, har utvecklat ett enhetstestramverk som kan användas för testning av kod. Ramverket kallas XUnit, där x byts ut mot det programspråk som utvecklas i, t ex ramverket för java kallas JUnit.

När en uppgift är klar körs alla tester för att kontrollera och validera den nyskivna koden. Om alla enhetstester går igenom byggs koden och integreras i systemet. Om fel uppstår ska de programmerare som upptäcker dem rätta till dem.

[redigera] Enkel design

Enkel design är en annan teknik i XP. Försök alltid att hålla designen och koden enkel. En enkel regel är att om kommentering i koden behövs finns det ofta ett enklare sätt att programmera på. Ta kontinuerligt bort komplexa och identiska kodbitar för att hålla designen och koden enkel.

[redigera] Slagord

Det finns några slagord eller motton som XP-utevecklare arbetar efter:

  • Gör det så enkelt som möjligt
  • Du kommer inte att behöva det (kallas YAGNI på engelska - You aren't gonna need it)
  • En och endast en gång

Gör det så enkelt som möjligt - Funktioner bör implmeneteras på det enklaste sättet som är möjligt för en programmerare. Ingen fräsig eller fräck kod, utan få endast koden att fungera som den ska. Mottot "en och endast en gång" bör följas då koden hålls enkel.

Du kommer inte att behöva det - Detta är en praxis i XP som säger att utveckla endast det som behövs för tillfället, med andra ord utveckla inte för framtiden utan endast för idag.

En och endast en gång - Information om hur en del av mjukvaran fungerar bör endast finnas på ett ställe. Dubbletter av kod bör refaktoreras direkt.

[redigera] Källor

  • Beck, Kent (1999): Extreme Programming Explained: Embrace Change (ISBN 0-201-61641-6)
  • Succi, Giancarlo, Marchesi, Michele (2001): Extreme Programming Examined (ISBN 0-201-71040-4)
  • Wake, William C. (2000): Extreme Programming Explored [1]

[redigera] Externa länkar

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com