Next previous Mjukvaruprocessen: översikt och repetition. XP: problemformulering. JUnit. Innehåll Allmännt om utvecklingsprocesser från Bruegge kapitel.

Slides:



Advertisements
Liknande presentationer
Idéer för ett bredare entreprenörskap
Advertisements

Lee Esselström 2002 Min egen julkalender - stickade sockor på rad
TILLSAMMANS KAN VI GÖRA SKILLNAD VAR MED I EN ENTREPRENÖRIELL UTMANING.
Välkommen till sluta röka för gott! SLUTA RÖKA Dokumenterat hög effekt i kliniska tester DEMO.
Tyck till på Lnu.se Feedback/förslagslådor – vad ger det?
1. Varför finns det pengar?
Kvalitetssäkrad leverans i Maximoprojekt
~ Den första mobiltelefonen ~
Nivåanpassad träning För att inkludera alla
Lärdomar från skolor med mer traditionellt undervisningsmönster
PRUTA INTE MED DIG SJÄLV!
Hur går det till att rapportera in betyg idag?
Föreläsning 7, Kapitel 7 Designa klasser Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling.
PROJEKTLEDARE Projektledarrollen gestaltar projektledningsfunktionen
hej och välkomna EKVATIONER Ta reda på det okända talet.
SE MIG! ÄLSKA MIG! KÖP MIG! Men varför då?
Next previous XP: varför fungerar det? Något om tentan. Innehåll Introduktion till eXtreme Programming (XP) Varför fungerar XP? Något om tentan Vad ska.
Syftet med en personlig handlingsplan
Konsten att leda sig själv
Studenter Lär Av Studenter ”SLAS”
ERGONOMI Vad är det?.
Fortsättningskurs i Programmering lektion 3 Johan Hjerling
Föreläsning 7 Analys av algoritmer T(n) och ordo
Samma fast olika eller olika fast samma?
DCV Idéskiss Design Jag tror att jag ska ha en mörk och stilren design på mitt DCV. Det ska finnas dynamisk funktionalitet där designen byts utan att sidan.
Next previous Refactoring och lite mönster kodade i Java Innehåll Vad är refactoring? Ett större refactoringexempel Några mönster kodade i Java OOMPA 2000.
Swedex Muntligt test B1 40 poäng.
Produktionsplanering
IKT i nöd och lust! Hur får man eleverna att ta eget ansvar? Hur får man dem att samarbeta? Och hur får man lärare att vilja jobba ämnesövergripande?
En PowerPoint om PowerPoint
Workshop inför Projektet
Brister i vården, fokus de äldre Efter 35 år i sjukvården, 17 på sjukhus och med ansvar för äldre förvånas jag av att: 1. Inget gjorts för att korrigera.
Marknadsförarens mall för att skapa köpares persona!
Ver 1.0 IT-satsningen Styrelsens förslag Riksstämman Skövde 2003.
Kunskap 2 Egna upplevelser
Energi- och klimatseminariet uppföljning 2014 Kerstin Angberg-Morgården, 11 juni 2014 Energisamordnare på Länsstyrelsen Dalarna.
Introduktionskurs Greppa Näringen Madeleine Wiström, växtodlingsrådgivare Hushållningssällskapet
Helpdesk – 10 i topp.. 2 Glömt anv.namn/lösenord –Användaren har bytt anv.namn/lösen och kommer inte ihåg till vad, eller så har de inte kvar mailet de.
INKA-projektet - IN tegration av verksamhetsprocesser och K unskapsh A ntering i nätverksorganisationer En gemensamt projekt mellan IbisSoft, DSV vid SU/KTH.
Rollfördelning i funktionärsbåset Vem gör vad i Danicahallen.
= Passning eller skott = Löpning utan boll = Driver boll
Marknadsförarens mall för att skapa köpares persona!
= Passning eller skott = Löpning utan boll = Driver boll
Föreläsning 11 J-uppgiften. Nästa period ägnas åt J-uppgiften. Den är individuell, dvs man jobbar på egen hand med uppgiften (inte tillsammans med labbkompisen).
Logikprogrammering 21/10 Binära träd
1 L U N D S U N I V E R S I T E T Forskningsplattform Förnyelse av tjänstebaserade, komplexa system Gunilla Jönson Fredrik Nilsson Lunds Tekniska Högskola.
Utvecklingsmetoder och processer. UML och OCTUPUS en kort introduktion
7 1 Programmerare vs. Designers Sus Lundgren. 7 2 Programmerare vs. Designers Sus Lundgren.
Läsbar prolog CM 8.1. allmäna principer correctness user-friendliness efficiency readability modifiability robustness documentation.
Naturvetenskaplig undersökning
Att hamna i skiten För att förstå hur din ekonomi fungerar måste du ha förståelse för ett par grundläggande begrepp; Inkomster – Det du tjänar eller de.
INTUITION OCH INTENTION. Intentionen arbetar som drömmen. Freud menar att vi bearbetar problemet genom att röra oss i en cirkelrörelse runt problemets.
Vad menas med Normkritik egentligen?
Mål Matematiska modeller Biologi/Kemi Datorer muntlig presentation
Föreläsning om RUP RUP – Rational Unified Process
Partnerskap Laboratoriemedicin Gävleborg. Hur föddes idén om partnerskap? Vår verksamhetschef Joachim Lindgren var i England på studiebesök inför en upphandling.
LEAN Historia. Lean har sina rötter i Japansk industri och det man främst då tänker på är Toyota som på 1930-talet började att tillverka bilar. Andra världskriget.
PDSA cykel - förbättringsprocessen
 SYFTE: Utveckla kunskaper om och intresse för arbete, ekonomi och konsumtion i hemmet.  Utveckla kunskaper om konsumtionens villkor, om sparande, krediter.
Framtidskartläggning
Projekt Vårdokumentation LE Karin Nilsson Projektansvarig
Anpassa fri programvara - Frihet ett, hur nyttjar man den? Copyright © 2006, 2007 Marcus Rejås Rejås Datakonsult Jag ger härmed rätten till alla att nyttja.
Ensamutveckling. Systemutvecklingsmetoder Kom ursprungligen från de traditionella ingenjörskonsterna.
A C D B Vems påstående stämmer?
Lön och verksamhet BILD 2: Introduktion forts.
Föreläsning 16: Tentan, att förbereda sig…
Träff 13 Välkomna!.
Praktiskt och tider kring varumärkesbytet
FSO dagar 2019.
Presentationens avskrift:

next previous Mjukvaruprocessen: översikt och repetition. XP: problemformulering. JUnit. Innehåll Allmännt om utvecklingsprocesser från Bruegge kapitel 12 Separata OH-bilder Introduktion till eXtreme Programming (XP) Översikt och problem som man vill lösa Ett enhetstestning med hjälp av Junit Från Fowler med separat utdrag och OH-bilder OOMPA 2000 Föreläsning 12

previous next 2 Mjukvaruprocessen: översikt och repetition. XP: problemformulering. Junit. eXtreme Programming eXtreme Programming (XP), av Kent Beck Tillvägagångsätt (12 grundpelare) Planeringsspel planera snabbt förutsättningarna för nästa release; prioritera, teknikkrav Små releaser släpp nya versioner ofta Metafor hitta en enkel och bra metafor Enkel design gör designen så enkel som möjligt Testa testa koden kontinuerligt. Måste lyckas innan utvecklingen går vidare. Skriv testerna först! Omstrukturera ("refactoring") strukturera om ofta; ta bort onödig kod, förenkla osv Parprogrammering två programmerare per maskin Kollektivt ägande av koden alla äger och kan ändra i koden Kontinuerlig integration integrera och bygg systemet flera gånger per dag 40-timmarsvecka jobba som regel inte mer än 40 timmar per vecka Inkludera en "kund" i teamet inkludera en "riktig användare" på full tid Följ kodstandard förenklar kommunikation

previous next 3 Mjukvaruprocessen: översikt och repetition. XP: problemformulering. Junit. Grundproblemet: Risk Tidsramar brister –Programvaran ej klar vid utsatt datum Projekt avbryts –Efter massa fel så avbryts projekt System blir sura –Efter några år blir det för dyrt att underhålla programvara även om den var lyckosam från början Många defekter –Produktionsprogramvara använd inte pga för många defekter

previous next 4 Mjukvaruprocessen: översikt och repetition. XP: problemformulering. Junit....problemet Fel problem löses –Programvaran löser inte det problem som man från början skulle läsa Problemdomänen förändras –Efter ett tag ändras behoven så den existerande programvaran löser ett gammalt problem Massa onödiga ”features” –Programvaran innehåller massa finesser som var roliga att progammera fast egentligen inte behövs Utvecklare byts ut –Efter ett tag tröttnar programmerarna på projektet och slutar

previous next 5 Mjukvaruprocessen: översikt och repetition. XP: problemformulering. Junit. XPs lösning på problemet: Risk Tidsramar brister –XP använder korta cykler med täta releaser Projekt avbryts –XP ber kunden att välja den minsta release som ger maximalt värde. Vilket medför att så lite som möjligt kan gå fel innan avstämning, samtidigt som man fokusera på det viktigaste System blir sura –I XP skapas massor av tester som körs efter varje förändring. Detta gör att systemen ”hålls i form” Många defekter –I XP skriver både utvecklare och kunder tester vilket reducerar sannolikheten för defekter

previous next 6 Mjukvaruprocessen: översikt och repetition. XP: problemformulering. Junit....XPs lösning på problemet Fel problem löses –I XP deltar kunden som en viktig del i utvecklingsteamet. Specifikationer uppdateras kontinuerligt under utvecklingen Problemdomänen förändras –XP förkortar releasecyklerna, så det är inte så många förändringar i utvecklingen av en release. Däremot är kunden välkommen att komma med nya krav kontrinuerligt (som vanligen tas upp under nästa cykel) Massa onödiga ”features” –I XP fokuserar man på högprioriterade uppgifter Utvecklare byts ut –I XP behandlas utvecklare som intelligenta och ansvarsfulla individer som får ta eget ansvar. Därmed minskar man risken för frustrerade programmerare. XP innehåller också element för övertagande av kod.

previous next 7 Mjukvaruprocessen: översikt och repetition. XP: problemformulering. Junit. Arbetssättet vid kodning i XP, några huvuddrag Par programmerar tillsammans Utvecklingen drivs av tester –Man testar först kodar sedan –Alla tester måste fungera innan man är klar Par gör inte bara enskilda delar körbara utan utvecklar och designar också (om) hela systemet Integration följer hela tiden på utvecklingen av en viss del –Detta inkluderar också integrationstestning

previous next 8 Mjukvaruprocessen: översikt och repetition. XP: problemformulering. Junit. Vi försöker kontrollera fyra variabler Kostnad –Mer pengar löser vissa problem fast för mycket kan skapa nya problem Tid –Mer tid gör att vi kan leverera mer. Men för mycket tid kan vara till skada. Kvalitet –Genom att tumma på kvaliteten kan man göra vissa vinster på kort sikt. Men på längre sikt kostar det för mycket. Omfattning –Mindre omfattning gör det möjligt att bättre kvalitet samt leverera tidigare och billigare

previous next 9 Mjukvaruprocessen: översikt och repetition. XP: problemformulering. Junit. Kostnad för förändring Man brukar säga att kostnaden för förändringar av ett system ökar exponentiellt över tiden Med XP verkar det som om kostnaden för förändring planar ut –Detta därför att vi hela tiden testar (automatiskt), gör så lite som möjligt (inga onödiga finesser som gör systemt mer komplext), gör saker på bara ett ställe, integrerar kontinuerligt och alltid omstrukturerar –Vi blir dessutom på grund av detta vana att hela tiden förändra och modifiera designen

previous next 10 Mjukvaruprocessen: översikt och repetition. XP: problemformulering. Junit. Fyra värden Kommunikation –Utvecklare kommunicerar med varandra Enkelhet –Vad är det enklaste som kan fungera? Återkoppling (feedback) –Tester, stories, systemet välstrukturerat och självförklarande Kurage –Fixa fel eller brister med stort kurage, dvs tveka inte

previous next 11 Mjukvaruprocessen: översikt och repetition. XP: problemformulering. Junit. Grundläggande principer Snabb återkoppling –Kort tid mellan aktion och feedback Antag enkelhet –Behandla ett problem som om det kan lösas otrolig enkelhet Inkrementell förändring –Lös problem som en serie av små förändringar Anamma förändring –Bästa lösningen är att lösa det viktigaste först men ha maximalt med möjligheter till variationer kvar Kvalitetsarbete –Alla vill göra ett så bra jobb som möjligt

previous next 12 Mjukvaruprocessen: översikt och repetition. XP: problemformulering. Junit. Basala element Kod –Till slut är det bara koden som räknas oavsett hur många diagram du ritat Test –Vi vet inte om något fungera om vi inte testar det –Testerna gör att vi kan tänka på ett problem på ett lite annorlunda sätt Lyssna –Lyssna på kunder, domänexperter osv Design –För att få ett bra system måste vi (självklart) designa även i XP