Verktyget FindBugs. Djupstudie i kursen EDA 270 Coachning av programvaruteam. Christofer Bach dt05cb6 Daniel Nilsson dt05dn4. Lunds Tekniska Högskola

Storlek: px
Starta visningen från sidan:

Download "Verktyget FindBugs. Djupstudie i kursen EDA 270 Coachning av programvaruteam. Christofer Bach dt05cb6 Daniel Nilsson dt05dn4. Lunds Tekniska Högskola"

Transkript

1 Verktyget FindBugs Djupstudie i kursen EDA 270 Coachning av programvaruteam Christofer Bach dt05cb6 Daniel Nilsson dt05dn4 Lunds Tekniska Högskola 15 feb 08

2 1. Sammanfattning Denna djupstudie kommer att handla om hjälpverktyget FindBugs. Vi har valt att diskutera dess användningsområde, hur man bör integrera det i ett projekt och vad för funktioner som man kan hitta i programmet. Vi har haft möjligheten att testa programmet på en grupp utvecklare, som fick hjälpa oss att svara på några frågor. Vi kommer att dra några mindre slutsatser om huruvida FindBugs verkligen hjälper till, samt några allmänna tips som berör programmet, användningsområden och integration. 2

3 Innehållsförteckning 1. Sammanfattning Inledning Bakgrund Frågeställning Findbugs Utgivare Allmänt om FindBugs Funktionalitet i Findbugs Findbugs i Projekt Varför ska man använda det? Hur/När ska man FindBugs användas, och av vem? Hur ska man hantera resultatet? Hur får man ett team att börja använda det? Utvärdering av Findbugs Frågor vi ställde till programvaruteamet Svar på frågeställning Egna uppfattningar under projektets gång Diskussion Slutsats Litteraturförteckning

4 2. Inledning Denna djupstudie kommer att handla om programmet Findbugs och hur det fungerar i anslutning till XP 1 programmering. Detta verktyg är ett statiskt kodanalysverktyg som används för att hitta buggar i javaprogram. Vi har till vår hjälp ett programvaruteam som kommer att testa att köra Findbugs i kombination med ett projekt som följer XP metodiken. Våra resultat är hämtade från ett frågeformulär som programvaruteamet fick svara på och att vi själva som observerat hur det gått för dem. 3. Bakgrund Anledningen till att vi valde att fördjupa oss i FindBugs var att vi hade testat det snabbt på ett tidigare projekt, och på så sätt öppnat upp ögonen för det. Vi visste inte riktigt hur bra det var eller hur mycket som egentligen var felrapporteringar, så detta ville vi ta reda på. Vi ville nu få ett svar och se om ett projekt verkligen kunde få användning av verktyget och om det kunde vara lämpligt att jobba med det i framtiden. Så huvudsyftet med rapporten blev att se om programmet var i vägen för utvecklarna eller om det hjälpte dem att skriva bättre kod, samt hitta fel i programmet. På så sätt kan vi dra en mindre slutsats om huruvida vi anser man bör använda programmet vid framtida programmeringsprojekt. 4. Frågeställning Hur fungerar FindBugs som komplement till XP s testning? Är TDD 2 tillräckligt för att bli av med mestadels av buggarna, eller kan Findbugs vara till hjälp? Vi vill se hur TDD och frekvent användande av FindBugs fungerar ihop och vi hoppas att få se en kod som ser ännu bättre ut än bara genom att använda TDD. Dessutom vill vi även se om programmerarna med hjälp av Findbugs kommer efter ett tag att lära sig att undvika buggarna som Findbugs berättar för oss. 1 Extreme Programming 2 Test Driven Development 4

5 5. Findbugs 5.1 Utgivare FindBugs är ett OpenSource program som går under licensen Lesser GNU Public Licens 3. Det är ett program som utvecklas och leds av en person som heter Bill Pugh (med några medhjälpare), som även är personen som starta projektet en gång i tiden. 5.2 Allmänt om FindBugs Man kan tro att FindBugs tittar på java koden i programmet för att hitta buggarna, men så är inte fallet. FindBugs tittar istället i de kompilerade.class filerna, vilket innebär att man inte behöver ha källkoden för att hitta buggar till ett program. Man behöver inte ens köra programmet för att det ska fungera. Eftersom FindBugs vill hitta så många potentiella buggar som möjligt, kommer det på grund av detta även en hel del falska buggar med(i praktiken dock under 50%). Vill du skriva till egna Detektorer (mönster för buggar), måste du vara bekant med Java Byte kod, då detta är det som används. 5.3 Funktionalitet i Findbugs Vi ska här berätta om en del av de olika saker som erbjuds av FindBugs: Det vi letar efter är ett analysprogram till vår kod, detta är precis vad FindBugs kan göra. Finns stöd för att köra det i Eclipse som plugin, du får på så sätt en liten insekt bredvid raden när det är något som blir fel (om du väljer att köra det automatiskt). I annat fall kan du välja att köra det när du själv vill. Ett väldokumenterat program med Javadoc och ett stort community som snabbt kan svara på frågor. Möjligheter att skapa egna Detektorer som körs med programmet. En Detektor är ett eget mönster som du vill låta programmet söka efter. Det är inte helt enkelt att skapa egna, men det finns exempel och instruktioner på deras hemsidan 4 som man kan följa. Även IBM har skrivit en guide 5. Exempel på buggar som FindBugs kan upptäcka är buffert overflow, ohanterade exceptions, nullpointers med mera. Följande två exempel är tagna från Grindstaff [1]: String astring = "bob"; astring.replace('b', 'p'); if(astring.equals("pop")); I detta första exempel skapas en sträng med texten bob. Det som händer sen är att programmeraren vill ersätta alla b med p. Därefter görs en koll om strängen nu är pop. Det som programmeraren har glömt är att replace() inte ersätter strängen som man vill ersätta tecken i, utan den skickar en ny sträng tillbaka findbug2/ 5

6 Person person = amap.get("bob"); if (person!= null) { person.updateaccesstime(); } String name = person.getname(); I detta andra exempel har programmeraren försökt hämta ut ett objekt ur en Map. Om objektet inte finns, kommer null att skickas tillbaka. FindBugs upptäcker här att du kollar ifall personen är null på ena stället, men att du glömt det i det andra.[1] 6. Findbugs i Projekt Vi har kört FindBugs i ett projektteam under 4 veckor för att skapa oss en uppfattning om huruvida det kan hjälpa oss att producera bättre kod. Vi vill här ge några tips som dels kommer från oss och dels kommer från andra som delar uppfattning om hur man bör använda det. Det är inte helt trivialt och vi hoppas här att kunna ge idéer och en klarare bild över hur man kan använda ett statiskt analysprogram i sina projekt. 6.1 Varför ska man använda det? Varför man ska använda sig av ett statiskt analysprogram så som FindBugs är ganska enkelt att inse. För det första kan alla göra fel och misstag, detta är ofta enkla fel som ett analysprogram kan upptäcka. Det tar inte vidare lång tid att låta programmet köra igenom koden och leverera en fullständig rapport på kända fel man kan ha gjort. Man kan också tänka sig att det är bra att ha en extra fallskärm när nya utvecklare kommer till projektet och inte kan den företagsspecifika koden så bra. Där kan man då ha skrivit egna detektorer och på så sätt undviker sådana misstag. FindBugs hittar tyvärr inte alla fel, men alla som kan hittas är guld värt för ett projekt. Dessutom är FindBugs väldigt enkelt att implementera i byggprocessen med hjälp av ANT script och filter[1]. När du väl har installerat programmet och fått igång dina egna detektorer, är kostnaden försvinnande då programmet dessutom är gratis. 6.2 Hur/När ska man FindBugs användas, och av vem? Det är inte helt självklart när och hur man borde använda detta analysprogram. Man skulle kunna tro att det bara är att installera på datorn man ska köra det på och sedan är det bra med det. Så är förvisso fallet, men enbart om du inte har några större krav än att få rapporter på alla buggar i som kan tänkas uppstå i hela projektet. Ska programmet vara nyttigt och användbart från start, bör man använda dess filterfunktioner för att avgränsa vilka filer/metoder och buggar som ska testas. Har man inställt på att allt ska testas, finns risken (som vi märkte i projektet) att buggar/varningar du är medveten om och valt att göra, stör dig och gör att du inte kollar så noggrant på FindBugs varningar. Då just detta hände oss i ett litet projekt med relativt lite kod, kan tänka sig att i ett projekt av större storlek, kan allvarligare buggar/varningar försvinna i mängden av felaktiga varningar. [1] FindBugs är ett program som du själv kan välja när det ska köras eller låta det ligga igång i bakgrunden, undertiden som utvecklarna jobbar. Har man valt att det ska köras hela tiden, kommer programmet att (i t ex Eclipse) visa en symbol bredvid den rad som buggen berör. Givetvis får man även reda på raden det blivit fel på, precis på samma sätt, om man väljer att köra programmet vid annat tillfälle (så som vi byggprocessen). Man kan tänka sig att man har tre valmöjligheter till när man skulle vilja att programmet ska köras. 6

7 1. Under tiden som koden skrivs; Här har man fördelen av att hela tiden kunna följa i koden, undertiden som man programmerar, var det blir fel. Detta ger en stor möjlighet att rätta till felen direkt. Det är välkänt att desto längre det har gått innan man rättar en bugg, desto mer kommer det kosta att rätta den. 2. Varje gång projektet byggs; Om vi istället väljer att köra FindBugs varje gång projektet byggs, ja då har vi en möjlighet till att få statistik över hur projektet går. Man får fördelen att man under regelbundna tider kan få reda på i vilken riktning projektet är på väg, samt om det skrivs mindre buggar/fel. Väljer man denna metod, har man möjlighet att få ut grafer och annat nyttigt som kan hjälpa i ett projekt. 3. Vid varje milstolpe; Att köra buggtest vid varje milstolpe är även det nyttigt. Det är precis nu man vill testa om programmet håller för vad det är tänkt att göra, samt att FindBugs kan hjälpa till att hitta brister i säkerheten. Nu till den sista frågan, vem ska köra programmet? Det är inte en helt trivial fråga, man kan tänka sig att det är utvecklarna som kör det, men även att det är en speciell säkerhetsgrupp som får uppgift att hålla koll på bristerna i programmet. Fördelen med att låta utvecklarna sköta det, är att de är mer insatta i koden och kan köra det under tidens gång. Nackdelen är att det kanske stör eller att de inte har den kunskap som behövs för att avgöra huruvida allvarligt ett fel är. Om man däremot låter ett säkerhetsteam sköta det hela, så har de en stor koll på hur allvarliga felen är och kan bättre prioritera vad som ska lösas först. Man har möjligheten att skicka frågor till utvecklarna när ett allvarligt fel har upptäckts. Samtidigt har man nackdelen att dessa inte är insatta på samma sätt som utvecklarna, i vad koden gör. De måste även kunna ge utvecklarna bra feedback, så de blir samspelta och förstår varandra. [2] 6.3 Hur ska man hantera resultatet? Man kan hantera data som FindBugs levererar på många sätt. En bra möjlighet är att exportera informationen om buggarna till XML fil och med hjälp av XSL formatera en HTML fil och lägga upp denna på en sida som alla kommer åt. Detta medför att alla utvecklare kan hålla koll på alla fel och då ges det möjlighet att föra diskussion kring dem. Då det är av intresse att se huruvida koden håller en bra standard och hur kvalitén förändras över tiden, kan det vara bra att föra statistik. Genom att använda informationen man får, kan man hålla koll på projektet och se till att det inte glider åt fel håll, se till att där blir färre buggar skrivna och på så sätt skriva bättre kod. Men kom ihåg, FindBugs är bara ett program, det kan inte ersätta vettigt tänkande. [1] 6.4 Hur får man ett team att börja använda det? Den stora frågan som vi försökte ta reda på i vårt projekt var just hur vi skulle få teamet att använda FindBugs. Vi körde på iden att låta de alla köra programmet på sina datorer och använda det när de själva känner att de vill, men med lite påminnelser i början. Det visade sig ganska snabbt att FindBugs inte kördes kontinuerligt, utan att det istället blev att man körde det en gång om dagen och innan en release. För att undvika att onödiga buggar kommer upp och att farliga försvinner i mängden, kan det vara bra att börja smått (använda Filters i FindBugs) och välja ut vilka filer/buggar och buggar man vill testa. På detta sätt får alla känna på programmet och ser direkt användningen av programmet. Man kan sedan skala upp det, genom att lägga till fler buggar och skriva egna detektorer. [2] 7

8 Man kan sätta en person som har lite kunskap i all kod, som ansvarig för att lära sig programmet extra bra. På så sätt kan han ha ansvar för att användningen av programmet sker smidigt och hjälpa folk vid problem. Denna person väljs av anledning till att den kan hjälpa till vid skapande utav specifika tester till olika delar av koden, samtidigt som den troligen har kontakt med flest olika personer. På så sätt behöver man inte introducera en ny människa som ska hjälpa personer i en avdelning där den inte har någon som helst koll på vad som händer. Använd resultaten som man kan få ut av FindBugs. Skriv ut grafer, statistik eller andra informativa papper och visa för utvecklarna att det lönar sig att använda ett analysprogram. Ändra programmet efter egna behov. Du kan lägga till egna detektorer och få dem att söka efter buggar du själv angivit. Detta kan vara nyttigt till egna moduler i företaget då det inte ligger som standard i programmet att veta vad som räknas som fel i er specifika kod. Genom att utveckla egna detektorer får man ett mer heltäckande analysprogram och det är större chans att upptäcka fel som t ex nya utvecklare kan göra när de kommer till företaget (eller andra anställda). [2] 8

9 7. Utvärdering av Findbugs Vi valde att göra en undersökning bland våra utvecklare som ingick i vårt programvaruteam. De fick som uppgift att använda Findbugs under PVG 6 projektets gång, och här kommer både frågorna, samt en sammanställning av svaren de gav på vår enkät. 7.1 Frågor vi ställde till programvaruteamet Här kommer frågorna som programvaruteamet fick svara på, till denna djupstudie. 1. Vad var dina första förväntningar med Findbugs? 2. Hur smidigt är det att få igång och köra? 3. Hitta den många/få fel jämfört med du förvänta dig? 4. Var det någon skillnad att använda Findbugs mellan de olika iterationerna av PVGprojektet? 5. Har resultatet varit användbart och lätt att förstå? 6. När under XP projektet kan Findbugs mest lämpa sig att användas; vid build, milestone eller kodning? (motivera och rangordna från 1 3 där 1 innebär lämpligast) 7. Hade du kunnat tänka dig att använda det kontinuerligt under ett projekt? 8. Kommer ni använda Findbugs som verktyg i framtida projekt?(ej kontinuerligt som på fråga sju). Motivera om ni svara nej på fråga sju. 9. Övriga synpunkter om Findbugs? 10. Betyg av Findbugs. (på en skala 1 10 där 1 är sämsta och 10 bäst) 7.2 Svar på frågeställning Här kommer en sammanställning av svaren som vi fick från vårt programvaruteam. 1. Det fanns inga specifika förväntningar på 80% av svaren och de resterade hade en väldig positiva förväntningar att det skulle hjälpa dem. Dock så fanns det en avvikelse med en negativ inställning, då Findbugs antogs ge störande meddelanden. 2. Här har alla svarat att det var smidigt att få igång och väldigt enkelt att använda. 3. Överlag så hittades fler fel än vad man förvänta sig, men det var inte alla fel som man behövde åtgärda och vissa som man hade gjort medvetet. 4. Här var det bara en som svarade att man fick fler fel i senare iterationer, när man gjorde om systemet, annars ansågs det inte vara någon skillnad på resten av de tillfrågade. 5. Alla var överens om att bara en del av resultatet var användbar och man behövde ändra i koden. Den andra delen var bara varningar som man ignorera. 6. Har var resultatet väldig blandat, men man kunde se att kodning eller under byggprocessen, som var det lämpligaste stället att använda Findbugs och inte vid en milstolpe. 7. Här svara 40% ja att det skulle tänka sig, och 60% nej. I Nej gruppen så fanns det bland annat en motivering att man har klarat sig utan Findbugs innan. 8. Här fanns det många som hade svarat nej på fråga 7 som svarade att de kanske skulle testa det då och i så fall under projekt för att kolla at inga stora fel hittas. 9. De flesta ansåg att idén var jättebra men att det skulle behövas förbättras på att visa buggar i koden och inte visa så många varningar på möjliga fel. 10. Medelbetyget sluta på 4,6 av 10 och fördelningen kan ses på Figur 1. 6 Programvaruutveckling i grupp på Lunds Tekniska Högskola (Kurskod: EDA260) 9

10 Findbugs Betyg 37,50% 25% 25% 12,50% Figur 1 Bild över fördelningen av Findbugs betyg 7.3 Egna uppfattningar under projektets gång Som Coacher över ett programvaruteam, som läser kursen PVG, har vi kunnat bilda en egen uppfattning om Findbugs. Detta har vi fått genom att observera och fråga utvecklarna under arbetets gång. På så sätt har vi kanske kunnat få en annorlunda bild av hur Findbugs kan användas i ett projekt än utvecklarna. Utav detta har vi dragit några slutsatser, som t ex att vi anser att Findbugs kan vara hjälpsamt och förbättra kvalitén i koden på ett smidigt sätt. Det första som vi direkt observera var att Findbugs är mycket effektivt till nya programmerare som inte har en sådan stor vana att programmera innan PVG kursen. Då hjälpte Findbugs till att informera dessa när de hade gjort slarvfel eller enklare fel. På så sätt fick de mer tid att programmera än att fixa fel. Detta var inte lika uppenbart vid mer vanna programmerare som tyckte att Findbugs meddelande bara mest var i vägen. Detta eftersom de redan viste vad de gjorde och att där var det medvetna fel som hanterades på annat sätt. Dessa personer tyckte då att Findbugs tog mer tid än vad det var värt. Vid flera tillfällen då vi frågade de mer vana programmerarna vad de tyckte om Findbugs, fick vi samma svar som vi hade observerat, de ville inte ha igång FindBugs under utvecklingen. Dock så tyckte man att det skulle kunna användas till att optimera, då det gav information om duplicerade variabler och liknande. Detta skulle specifikt kunna göras innan en utgåva av programmet skulle skickas till kund, för att testa om programmet hade buggar. Men förutom själva optimeringen vid en utgåva, så har vi också kunnat dra slutsatsen att det är mycket bra att köra igenom FindBugs för att hitta svagheter (så som buggar) i programmet. Detta både för att fixa buggarna, men också för att få en kvalitetsstämpel som inte testerna kan ge. För om man nu kan köra igenom projektet med FindBugs(utan fel), så är risken mindre att en bugg kommer fram då kunden testar systemet. 10

11 8. Diskussion Vi ville se hur FindBugs fungerar ihop med XP metodiken och om det skulle kunna hjälpa till med testning och kodkvalitén. Men det allra viktigaste är hur vida utvecklarna tycker om Findbugs och hur mycket det kan hjälpa de. Vi har nu sett i djupstudien att man får man skilja på om utvecklarna är oerfarna eller vanna. Detta är speciellt viktigt då man ska introducera ett nytt program för att hjälpa till med utvecklingen. Då en van utvecklare har sitt arbetssätt, är det betydligt svårare att introducera något nytt jämfört med en oerfaren utvecklare. På så sätt kan nyttan av programmet försvinna bort då de vana utvecklar motsätter sig programmet och inte ändrar sitt arbetssätt till att utnyttja programmet. Så på XP metodiken kan det faktiskt vara bra och smidigt sätt att införa och lära sig ett nytt program. Då man använder parbyten under iterationerna får man en spridning av kunskapen och de olika personerna kan lära varandra hur programmet fungerar av varandra. 9. Slutsats Det vad vi har kommit fram angående Findbugs kan summeras upp till fyra punkter. FindBugs kan vara speciellt bra till nya utvecklare till ett nytt företag eller projekt. Samtidigt kan det vara bra till personer som helt enkelt inte har vanan uppe i att programmera än. FindBugs kan ses som ett extra skydd för att undvika en del förödande fel och misstag. Findbugs är ett bra komplement till TDD i XP. Då den hittar fel i koden och inte testar själva funktionaliteten som TDD gör. Därför blir det tillsammans ett bra sätt att sätta en exta kvalitetsstämpel. FindBugs hjälper utvecklarna att programmerare och att lära dem att göra mindre fel. Detta har vi inte sett något spår av i frågeställningen och är svårt att mäta på sådan kort tid, men man kan alltid spekulera om att allt som pekar på ens brister, hjälper en att lära sig. Man lär sig av sina misstag helt enkelt. Sista punkten är att om Findbugs ska slå igenom stort för utvecklare, så kommer det behövas utvecklas vidare. För idag så fungerar det bra, men det ska kunna köras hela tiden och hitta kritiska buggar och inte informera en om fel som man ibland har valt själv att göra. Det måste helt enkelt bli lättare att skriva egna Detektorer och göra inställningar. 11

12 Litteraturförteckning [1] Grindstaff, C. (den 25 Maj 2004). FindBugs, Part 1: Improve the quality of your code. Hämtat från IBM: findbug1/ den [2] Putting the Tools to Work:How to Succeed with Source Code Analysis. (MAY/JUNE 2006). IEEE SECURITY & PRIVACY, ss

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering...

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering... Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering... 4 Bussen (projektförslag)... 5 Bakgrund... 5 Klassen Buss

Läs mer

Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson

Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson Rapport grupp 4 Software Engineering Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson 2009-10-29 Processer Sprinter Scrum har varit till stor hjälp för oss för att nå våra mål,

Läs mer

Kritik av Extrem Programmering

Kritik av Extrem Programmering Kritik av Extrem Programmering Markus Borggren d01mbo@efd.lth.se Martin Persson d01mp@efd.lth.se D01, Lunds Tekniska Högskola 15 februari, 2004 Abstract I denna djupstudie kommer vi att försöka, på ett

Läs mer

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse Verktyg och Utvecklingsmiljö Föreläsning 2 Eclipse Verktyg Modern programutveckling innebär att man måste behärska ett antal verktyg. Editorer Kompilatorer Avlusare(debugger) Versionshantering(kommer i

Läs mer

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text.

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text. Presentation av uppgiften Vi har fått i att skapa en webbapplikation med ett spelbart spel inbyt i sig. Eller som läraren formulerar sig: uppgiften är att skapa en webbapplikation där en eller flera spelare

Läs mer

Filhanterare med AngularJS

Filhanterare med AngularJS Filhanterare med AngularJS Författare: Filip Johansson Peter Emilsson Oskar Georgsson Christian Nilsson Datum: 2014-03-26 1 Sammanfattning Filhanterare med AngularJS är en filhanterare skapad för Sigma

Läs mer

Verktyg och Utvecklingsmiljö. Jochim von Hacht

Verktyg och Utvecklingsmiljö. Jochim von Hacht Verktyg och Utvecklingsmiljö Jochim von Hacht Verktyg Modern programutveckling innebär att man måste behärska ett antal verktyg Editorer Kompilatorer Avlusare (debugger) Versionhantering (kommer i projektkurs)

Läs mer

Laboration i datateknik

Laboration i datateknik KUNGLIGA TEKNISKA HÖGSKOLAN Laboration i datateknik Felsökning och programmering av LEGO NXT robot Daniel Willén 2012 09 06 dwill@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Syftet med

Läs mer

Petter Berglund. Sammanfattning

Petter Berglund. Sammanfattning EDA270 - Coaching av programvaruteam Verktyg för kodanalys Petter Berglund D05, Lunds Tekniska Högskola dt05pb2@student.lth.se 2008-02-10 Sammanfattning Verktyg för kodanalys blir allt vanligare i programvaruutvecklingsprojekt

Läs mer

Att bygga enkla webbsidor

Att bygga enkla webbsidor Nivå 1 Att bygga enkla webbsidor All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/18cplpy to find out what

Läs mer

F9 del B Organisatoriskt. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson Datavetenskap, LTH

F9 del B Organisatoriskt. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson Datavetenskap, LTH F9 del B Organisatoriskt EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson Datavetenskap, LTH 1 Projektet - moment Projektstartsmöte 6 Iterationer (en per vecka) - 10-12 team - 12-14 personer

Läs mer

Tentamen, EDAA10 Programmering i Java

Tentamen, EDAA10 Programmering i Java LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDAA10 Programmering i Java 2019 08 21, 08.00 13.00 Anvisningar: Preliminärt ger uppgifterna 25 + 15 + 5 = 45 poäng. För godkänt betyg

Läs mer

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN KUNGLIGA TEKNISKA HÖGSKOLAN PROGRAMMERING I NXC Namn: Michel Bitar 2012-08- 25 E- post: mbitar@kth.se Introduktionskurs i datateknik, II1310 Sammanfattning Intressant och lärorik laboration om att programmera

Läs mer

NetBeans 7. Avsikt. Projektfönster

NetBeans 7. Avsikt. Projektfönster NetBeans 7 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till

Läs mer

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php Introlektion PHP är ett av de enklare språken att lära sig just pga. dess dynamiska struktur. Det används för att bygga upp båda stora och mindre system. Några vanliga system som använder sig av PHP är

Läs mer

A ToolGuide for Eclipse: En fördjupning i några av verktygen i Eclipse och hur de underlättar XP s practices

A ToolGuide for Eclipse: En fördjupning i några av verktygen i Eclipse och hur de underlättar XP s practices A ToolGuide for Eclipse: En fördjupning i några av verktygen i Eclipse och hur de underlättar XP s practices Mattias Jarheden och Thomas Forsström Sammanfattning Denna djupstudie försöker ge en inblick

Läs mer

Djupstudie Code smells / Refaktorisering. Martin Larsson dt08ml5 Stefan Johansson, dt08sj7

Djupstudie Code smells / Refaktorisering. Martin Larsson dt08ml5 Stefan Johansson, dt08sj7 Djupstudie Code smells / Refaktorisering Martin Larsson dt08ml5 Stefan Johansson, dt08sj7 27 februari 2012 Innehåll 1 Inledning 1 2 Bakgrund 1 2.1 extreme programming....................... 1 2.2 Programvaruutveckling

Läs mer

Scrum + XP samt konsekvensanalys

Scrum + XP samt konsekvensanalys Scrum + XP samt konsekvensanalys Daniel Nimren dt05dn8 Douglas Frisk dt05df1 Dept. of Computer Science, Lunds Tekniska Högskola, Sweden {dt05dn8 dt05df1}@student.lth.se 1 mars 2010 Sammanfattning Denna

Läs mer

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg Introduktion till programmering D0009E Föreläsning 1: Programmets väg 1 Vad är en dator? En maskin vars beteende styrs av de innehållet (bitmönster) som finns lagrade i datorns minne (inte helt olikt förra

Läs mer

Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas.

Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas. Eclipse Avsikt Att bekanta dig med Eclipse programmeringsmiljö, dvs att med hjälp av Eclipse 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till byte-kod

Läs mer

Djupstudie - Datorbaserade system för tracking

Djupstudie - Datorbaserade system för tracking Djupstudie - Datorbaserade system för tracking Torbjörn Lundberg, dt05tl3 Joakim Svensson, dt05js8 18 februari 2008 Sammanfattning Tracking är ett hjälpmedel inom projekt för att hålla reda på information

Läs mer

Ett spel skapat av Albin Wahlstrand

Ett spel skapat av Albin Wahlstrand Viking vs. Demons Ett spel skapat av Albin Wahlstrand 2012-06-03 1 Abstrakt Denna rapport kommer att handla om mina positiva och negativa erfarenheter inom projektet jag jobbat på de senaste 10 veckorna.

Läs mer

[SLUTRAPPORT: DRAWPIXLZ (ANDROID-APP)] Slutrapport. Författare: Zlatko Ladan. Program: Utvecklare av Digitala Tjänster 180P

[SLUTRAPPORT: DRAWPIXLZ (ANDROID-APP)] Slutrapport. Författare: Zlatko Ladan. Program: Utvecklare av Digitala Tjänster 180P Slutrapport Författare: Zlatko Ladan Program: Utvecklare av Digitala Tjänster 180P Kurs: Individuellt Mjukvaruprojekt Z l a t k o L a d a n Sida 1 Abstrakt: Denna rapport handlar om mitt projekt som jag

Läs mer

Djupstudie Verktyg för att förebygga problem i källkod. Anders Forslund Anders Lund

Djupstudie Verktyg för att förebygga problem i källkod. Anders Forslund Anders Lund Djupstudie Verktyg för att förebygga problem i källkod Anders Forslund (d04afr@student.lth.se) Anders Lund (et05al1@student.lth.se) 2 mars 2010 Sammanfattning Då kodningsstandard ej hålls så blir ofta

Läs mer

Gruppdynamik och gruppsykologi i Extremet Programming

Gruppdynamik och gruppsykologi i Extremet Programming Gruppdynamik och gruppsykologi i Extremet Programming Jerry Malm, d02jm@efd.lth.se Gustav Olsson, d02og@efd.lth.se Lunds Tekniska Högskola Lund, den 22 februari 2005 Sammanfattning Denna djupstudie kan

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

Goda råd från studenterna som gjorde kandidatprojektet 2018

Goda råd från studenterna som gjorde kandidatprojektet 2018 Goda råd från studenterna som gjorde kandidatprojektet 2018 Strukturera tiden och se till att komma igång tidigt i kursen. Det är en väldigt intensiv period när sommaren närmar sig och det är inte till

Läs mer

Att lära sig av kodanalys

Att lära sig av kodanalys Att lära sig av kodanalys Om att använda kodanalysverktyg i utbildningssyfte tillsammans med XP Daniel Bengtsson, c02db@student.lth.se Mikael Piotrowski, c04mpi@student.lth.se Lunds Tekniska Högskola den

Läs mer

Säkerhetskopiera mobilen

Säkerhetskopiera mobilen Säkerhetskopiera mobilen gratis och helautomatiskt 7 Bästa gratistipsen 7 För Android, Iphone och Windows Phone 7 Säkerhetskopiera till Dropbox. Så fixar du automatisk säkerhetskopiering av mobilen Visst

Läs mer

Kodanalys med hjälp utav SemmleCode

Kodanalys med hjälp utav SemmleCode Kodanalys med hjälp utav SemmleCode Henrik Andersson, D05 (dt05ha1@student.lth.se) Erik Mossberg, D01 (d01em@student.lth.se) 18 Februari 2008 Sammanfattning Avsikten med denna rapport är att läsaren ska

Läs mer

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI NG STRESS LUNDS TEKNISKA HÖGSKOLA - 2013-05-22 Projektmedlemmar: Emil Apelgren adi10eap@student.lu.se Fredrik Helander gda10fhe@student.lu.se Jonathan Klingberg

Läs mer

Calligra. En allmän inledning. Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll

Calligra. En allmän inledning. Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll En allmän inledning Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 1.1 Komponenter i Calligra.................................. 5 1.2 Översikt över funktioner i

Läs mer

Agil programutveckling

Agil programutveckling Agil programutveckling Pontus Evertsson D00, Lunds Tekniska Högskola d00pe@efd.lth.se Anna Jennerheim D00, Lunds Tekniska Högskola d00aj@efd.lth.se 2003-05-15 1 1. Inledning 3 2. Extreme Programming (XP)

Läs mer

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Att förstå variabler Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Vad är en variabel? En variabel är en plats att lagra information. Precis

Läs mer

FMEA. Failure Mode and Effects Analysis. Kurs: KPP017 Produktutveckling 2 Handledare: Rolf Lövgren Program: Innovation och produktdesign 2010-10-06

FMEA. Failure Mode and Effects Analysis. Kurs: KPP017 Produktutveckling 2 Handledare: Rolf Lövgren Program: Innovation och produktdesign 2010-10-06 2010-10-06 FMEA Failure Mode and Effects Analysis Grupp 1: Fredrik Nyberg Robin Rudberg Pontus Ramström Petra Kellokumpu Noor Abdulamir Junior Ndiaye Kurs: KPP017 Produktutveckling 2 Handledare: Rolf Lövgren

Läs mer

12 principer of agile practice (rörlig)

12 principer of agile practice (rörlig) X-treme programming 12 principer of agile practice (rörlig) Ge nöjd kund genom tidig och kontinuerliga leveranser Den viktigaste punkten som betyder att min vill ha kontinuerlig feedback Välkomna sena

Läs mer

Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot

Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot KUNGLIGA TEKNISKA HÖGSKOLAN Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot Josef Karlsson Malik 2015-09- 02 jkmalik@kth.se Introduktionskurs i datateknik (II0310) Sammanfattning

Läs mer

Hi-Fi Prototyping + laborationsgenomgång & verktyg

Hi-Fi Prototyping + laborationsgenomgång & verktyg Hi-Fi Prototyping + laborationsgenomgång & verktyg Karin Fahlquist 2015 Frågor att besvara Vad innebär prototyping? Vad är speciellt med hi-fi prototyping? Hur kan man använda dem? Hur väljer man nivå

Läs mer

NetBeans 5.5. Avsikt. Projektfönster

NetBeans 5.5. Avsikt. Projektfönster NetBeans 5.5 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till

Läs mer

Laboration i datateknik

Laboration i datateknik KUNGLIGA TEKNISKA HÖGSKOLAN Laboration i datateknik Programmering av LEGO-robot Rickard Eriksson 2012-09-06 rieri@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Denna rapport är till följd

Läs mer

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning. Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java

Läs mer

ENKEL Programmering 3

ENKEL Programmering 3 ENKEL Programmering 3 Figurer i långa rader Titta på de olika figurerna i de olika raderna. Kan du se att de olika figurerna i varje rad är placerade enligt ett visst mönster? Kan du lista ut vilken figur

Läs mer

Testning av applikationer

Testning av applikationer Tentamen, (20 YH-poäng) Plats: Övningstenta Tid: Övningstenta Tillåtna hjälpmedel: Papper, penna, suddgummi, linjal. Ej tillåtna hjälpmedel: Datorer, mobiltelefoner, surfplattor, miniräknare, böcker, anteckningar,

Läs mer

XP-projekt: En fördjupning

XP-projekt: En fördjupning XP-projekt: En fördjupning Extreme Programming Martin Karlsson marka@itn.liu.se K7522 011 36 34 63 Fem värden Kommunikation Var öppna Var ärliga Ta konflikter Diskutera Tag beslut Tag ansvar Kräver feedback,

Läs mer

Nyttomaximering av spikes

Nyttomaximering av spikes Nyttomaximering av spikes Johan Hedin Sånemyr D11, LTH dat11jh1@student.lu.se Victor Shu-Ming Lam D11, LTH dat11vla@student.lu.se 2016-03-07 Sammanfattning Som projektledare av ett team programmerare så

Läs mer

KUNGLIGA TEKNISKA HÖGSKOLAN. Laboration II1310. Programmera Lego Mindstorm robot i NXC

KUNGLIGA TEKNISKA HÖGSKOLAN. Laboration II1310. Programmera Lego Mindstorm robot i NXC KUNGLIGA TEKNISKA HÖGSKOLAN Laboration II1310 Programmera Lego Mindstorm robot i NXC Johnny Vu 120904 Jvu@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Vi har genomfört en laboration för

Läs mer

Configuration testing Why? Vad det är tänkt att koden ska göra. Performance testing Kommentarer Skriva om koden som kommentar

Configuration testing Why? Vad det är tänkt att koden ska göra. Performance testing Kommentarer Skriva om koden som kommentar Skapa testfall Testing Köra testen Hitta fel Inspections and reviews Verifiera resultatet Formal methods Static analysis Completeness Verifiering Kvalitet Maintainability Validering Traceability Fault

Läs mer

Editering, Kompilering och Exekvering av Javaprogram

Editering, Kompilering och Exekvering av Javaprogram UMEÅ UNIVERSITET Institutionen för informatik B.1, Programmeringens grunder, 5 poäng Editering, Kompilering och Exekvering av Javaprogram Introduktion Syftet med kursmomentet Programmeringens grunder (B.1)

Läs mer

Continuous Integration med Jenkins. Linus Tolke Enea Experts

Continuous Integration med Jenkins. Linus Tolke Enea Experts Continuous Integration med Jenkins Linus Tolke Enea Experts Föredraget Grunderna i mjukvaru-cm Trender inom mjukvaruutveckling Continuous Integration Vad är Jenkins Demo Jenkins i ArgoUML-projektet Problem

Läs mer

Universe Engine Rapport

Universe Engine Rapport 1 Universe Engine Rapport Alexander Mennborg 2017-05-08 2 Inledning I denna rapport diskuteras utvecklingsprocessen till projektet Universe Engine. Denna diskussion omfattar hela utveckling från starten

Läs mer

CREATING VALUE BY SHARING KNOWLEDGE

CREATING VALUE BY SHARING KNOWLEDGE CREATING VALUE BY SHARING KNOWLEDGE PROJEKTLEDNING 101 Nidzara Dellien, Lund September 2017 PROJEKT En formell definition på projekt är följande (enligt Wikipedia): En temporär satsning för att framställa

Läs mer

Introduktion till programmering med hjälp av Lego Mindstorm

Introduktion till programmering med hjälp av Lego Mindstorm Kungliga Tekniska Högskolan Introduktion till programmering med hjälp av Lego Mindstorm Laborationsrapport gällande programmering inom NXC Simon Jansson 31 08 2014 simonjan@kth.se Introduktionskurs i datateknik

Läs mer

Plugins som får er Wordpress att sticka ut

Plugins som får er Wordpress att sticka ut Plugins som får er Wordpress att sticka ut 01. Inledning Vad är plugins? Plugin på en Wordpress sida är ett tillägg som man installerar för att driva vissa funktioner. Det kan till exempel vara en plugin

Läs mer

Självhjälpsprogram för ADHD. Del 1 Att hitta din väg

Självhjälpsprogram för ADHD. Del 1 Att hitta din väg Självhjälpsprogram för ADHD Del 1 Att hitta din väg Välkommen till vårt självhjälpsprogram för ADHD. Detta program ger dig verktygen att använda din ADHD som en superkraft för att hitta till ett bra liv..

Läs mer

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se Mål Så enkelt som möjligt: låg tröskel Ett riktigt programmeringsspråk: inget tak Roliga uppgifter som går

Läs mer

Användarmanual Onepix MDX Installer 1.1 SVENSK

Användarmanual Onepix MDX Installer 1.1 SVENSK Användarmanual Onepix MDX Installer 1.1 SVENSK 2 Onepix1 1_IFU_MDX Installer 1 0_SE_003 Viktig information... 3 Systemkrav... 3 Om Onepix MDX Installer... 3 Installation av MDX-3 sensordrivrutin... 3 Installation

Läs mer

Pragmatisk programmering. Cyberrymden 2001-10-03. Marcus Rejås <marcus@rejas.se> Pragmatisk programmering,16 december 2002 1(29)

Pragmatisk programmering. Cyberrymden 2001-10-03. Marcus Rejås <marcus@rejas.se> Pragmatisk programmering,16 december 2002 1(29) Pragmatisk programmering,16 december 2002 1(29) Pragmatisk programmering Cyberrymden 2001-10-03 Marcus Rejås $Id: slides.tex,v 1.14 2002/12/16 14:52:59 rejas Exp $ Metainformation Denna

Läs mer

Proj-Iteration 5B. Plan för återstående iterationer

Proj-Iteration 5B. Plan för återstående iterationer Proj-Iteration 5B PVG/Coaching Boris Magnusson Datavetenskap LTH PVG/Coach 2009. Proj-Iter5B : 1 Plan för återstående iterationer Förutom att arbeta vidare på stories skall release göras både under iteration

Läs mer

Programmering i C++ Kompilering från kommandoraden

Programmering i C++ Kompilering från kommandoraden Programmering i C++ Kompilering från kommandoraden Sven Gestegård Robertz Datavetenskap, LTH 9 november 2015 Sammanfattning Ibland vill man, av olika anledningar, inte använda en stor integrerad utvecklingsmiljö

Läs mer

Felsökning av mjukvara

Felsökning av mjukvara KUNGLIGA TEKNISKA HÖGSKOLAN Felsökning av mjukvara Programmering av en NXT-robot Max Kufa [03/08-13] mkufa@kth.se Introduktionskurs i datateknik (II1310) Sammanfattning Syftet med laborationen var att

Läs mer

Så delar du filer. utan att bli övervakad LAJKA-GUIDE

Så delar du filer. utan att bli övervakad LAJKA-GUIDE Så delar du filer utan att bli övervakad 7 Gratisalternativ till dyra molntjänster 7 Skyddar dig mot NSA-spioneri 7 Så funkar Bittorrent Sync. Dela filer utan att bli övervakad Tycker du att nätdiskar

Läs mer

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Tentamen i TDP004 Objektorienterad Programmering Praktisk del Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2010-04-07 Tid: 8-12 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 285607 Jourhavande kommer att besöka skrivsalarna ungefär

Läs mer

En studie om parprogrammering i praktiken

En studie om parprogrammering i praktiken En studie om parprogrammering i praktiken Mia Nyström Karin Wanhainen Johan Rix 29 maj 2002 Sammanfattning Parprogrammering är en av de mest omdiskuterade grundstenarna i Extreme Programming (XP). All

Läs mer

Statistik över heltal

Statistik över heltal Övningsuppgift Statistik över heltal Steg 2 Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande

Läs mer

Använda Python Laboration 1 GruDat, DD1344

Använda Python Laboration 1 GruDat, DD1344 Använda Python Laboration 1 GruDat, DD1344 Örjan Ekeberg 14 oktober 2008 Målsättning Målet med denna laboration är att du ska prova på att använda Python, framförallt interativt. Du ska också lära dig

Läs mer

TUTORIAL: KLASSER & OBJEKT

TUTORIAL: KLASSER & OBJEKT TUTORIAL: KLASSER & OBJEKT I denna tutorial lär vi oss att använda klasser och objekt samt hur vi bygger en enkel applikation kring dessa. I tutorialen kommer det finnas en mängd kod som du antingen kan

Läs mer

Grundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1

Grundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1 Grundläggande programmering DVG A08 & ISG A04 Allmän information Grupp C och D slås ihop Schemat är ändrat Kurs i programmering utan förkunskaper Hjälp oss med detta Lita inte på era klasskamrater De ställer

Läs mer

Lathund Blanketthotell Komma igång

Lathund Blanketthotell Komma igång Lathund Blanketthotell Komma igång Introduktion Denna lathund innehåller lite samlade råd och tips för de som ska använda tjänster från NT Smartwork. (För de som redan börjat använda Blanketthotellet finns

Läs mer

Rune Tennesmed. Oskar Norling 1DV430. Individuellt Mjukvaruutvecklingsprojekt 1DV430 Webbprogrammerare H12 Oskar Norling

Rune Tennesmed. Oskar Norling 1DV430. Individuellt Mjukvaruutvecklingsprojekt 1DV430 Webbprogrammerare H12 Oskar Norling Rune Tennesmed Oskar Norling Individuellt Mjukvaruutvecklingsprojekt Webbprogrammerare H12 Oskar Norling 2012-05-30 Abstrakt Denna rapport handlar om mitt mjukvaruutecklingsprojekt som jag och en klasskompis

Läs mer

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

emopluppen Användning av Ant Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC) emopluppen Användning av "Ant" Version: 1.4 ( 2002/04/26 07:27:52 UTC) Niklas Backlund Sammanfattning Det här dokumentet handlar om programmet Ant, som är en byggmiljö för programutvecklingsprojekt. Dess

Läs mer

SLUTRAPPORT RUNE TENNESMED WEBBSHOP

SLUTRAPPORT RUNE TENNESMED WEBBSHOP SLUTRAPPORT RUNE TENNESMED WEBBSHOP -05-30 Abstrakt Under 10 veckor har jag och Oskar Norling arbetat med att ta fram en webbshop-applikation till företaget Rune Tennesmed i Kalmar. I denna rapport tänker

Läs mer

Handbok RSIbreak. Tom Albers Bram Schoenmakers Översättare: Stefan Asserhäll

Handbok RSIbreak. Tom Albers Bram Schoenmakers Översättare: Stefan Asserhäll Tom Albers Bram Schoenmakers Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Använda RSIbreak 6 3 Rasttyper 8 4 Varaktighet eller intervall för en rast 9 5 Tack till och licens 10 Sammanfattning

Läs mer

Automatisk generering av enhetstester

Automatisk generering av enhetstester Automatisk generering av enhetstester Av Christoffer Stengren 05/03-2013 Innehållsförteckning Abstrakt...3 1. Introduktion...3 2. PVG projekt:...4 3. Vad finns det för verktyg?...4 4.Hur fungerar verktygen?...4

Läs mer

Extramaterial till Matematik X

Extramaterial till Matematik X LIBER PROGRMMERING OCH DIGITL KOMPETENS Extramaterial till Matematik X NIVÅ TRE Programmering LÄRRE I den här uppgiften får du och dina elever en introduktion till programmering. Uppgiften vänder sig först

Läs mer

Generell säkerhet. Loggning - Hur mycket ska man logga? Inloggningsrutinerna i Unix. Loggning fortsättning

Generell säkerhet. Loggning - Hur mycket ska man logga? Inloggningsrutinerna i Unix. Loggning fortsättning Generell säkerhet Här finns det inga direkta rätt eller fel. Snarare saker man bör tänka på när man implementerar ett program. Kort sagt: Efter att du kommit på hur du tänkt göra, sov på saken och tänk

Läs mer

Mattekungen åk 6-9 vers. 1.0

Mattekungen åk 6-9 vers. 1.0 Presentation av programvara våren 2008 Bodil Holmström Anna Holmström Bearbetat av Karolina Höglund Mattekungen åk 6-9 vers. 1.0 Allmänt om programmet Mattekungen är ett undervisningsprogram som produceras

Läs mer

Classes och Interfaces, Objects och References, Initialization

Classes och Interfaces, Objects och References, Initialization Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class

Läs mer

Vilken skillnad gör det var du placerar det? Prova båda.

Vilken skillnad gör det var du placerar det? Prova båda. Micro:bit- Namnskylt Vi börjar med att döpa programmet till något. Till exempel ditt namn. Det gör du längst ner i mitten. Nu ska vi göra ett enkelt program som med lysdioderna skriver ditt namn. När du

Läs mer

Validering av XML, Svensk geoprocess Guide för validering av XML, Svensk Geoprocess

Validering av XML, Svensk geoprocess Guide för validering av XML, Svensk Geoprocess 2017-06-21 Validering av XML, Svensk geoprocess Guide för validering av XML, Svensk Geoprocess Validering av XML, Svensk geoprocess Bakgrund Ett behov finns av att kunna kontrollera och validera XML-filer

Läs mer

Gränssnitt för FakeGranska. Lars Mattsson

Gränssnitt för FakeGranska. Lars Mattsson Gränssnitt för FakeGranska av Lars Mattsson (larsmatt@kth.se) Innehållsförteckning 1 Introduktion...3 2 Genomförande:...3 3 Användning...5 4 Kända buggar:...6 5 Källförteckning...6 2 1 Introduktion Taken

Läs mer

Lösningsförslag till tentamen i EDA011, lördagen den 16 december 2006

Lösningsförslag till tentamen i EDA011, lördagen den 16 december 2006 Lösningsförslag till tentamen i EDA011, lördagen den 16 december 2006 Detta lösningsförslag är skrivet i stor hast, så det är möjligt att det innehåller en del slarvfel jag ber i så fall om ursäkt för

Läs mer

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll 2010-04-22

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll 2010-04-22 Översikt 732G11 PROGRAMMERING 1 Institutionen för datavetenskap Om kursen Vad är programmering (bra för)? Programmeringsspråket Java Utvecklingsmiljön Eclipse Genomgång av några programexempel Programmering

Läs mer

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon).

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon). Laboration 0 Laborationen är till för dig som inte är familjär med att navigera i filträd på en dator. Om du är van vid detta (vilket är det vanliga nu för tiden) så kan du bara snabbt titta igenom laborationen.

Läs mer

C O P Y S Y S T E M E T 2. 0 I N N E H Å L L. 9 stora misstag du antagligen gör. med din marknadsföring. (Och hur du fixar dem) All rights reserved

C O P Y S Y S T E M E T 2. 0 I N N E H Å L L. 9 stora misstag du antagligen gör. med din marknadsföring. (Och hur du fixar dem) All rights reserved C O P Y S Y S T E M E T 2. 0 I N N E H Å L L 9 stora misstag du antagligen gör med din marknadsföring (Och hur du fixar dem) All rights reserved 02 av 16 B O N U S C O P Y S Y S T E M E T 2. 0 9 s t o

Läs mer

TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDI02 Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Verifikation, Validering och Testning XP Extreme Programming Vad är ett fel? I engelskan

Läs mer

Slutrapport för Internetfonden

Slutrapport för Internetfonden Slutrapport för Internetfonden Webbprogrammering i matematik och fysikundervisning Mikael Tylmad mikael@roboro.se Fredrik Atmer fredrik.atmer@gmail.com Ella Kai-Larsen e@k-l.se 10 april 2014 http://www.profyma.se/

Läs mer

Slump och statistik med Scratch

Slump och statistik med Scratch Lektionen handlar om att simulera tärningskast och skapa en statistikapplikation genom att arbeta med modifiera algoritmer. Lektionsförfattare: Måns Jonasson En digital lektion från https://digitalalektioner.iis.se

Läs mer

Laboration 10 - Eclipse

Laboration 10 - Eclipse Laboration 10 - Eclipse Avsikten med laborationen är att du ska träna på att använda paket, att du ska packa några klassfiler i en jar-fil och slutligen använda innehållet i en jar-fil från en annan klass

Läs mer

Installationsmanual OpenOffice 3.0

Installationsmanual OpenOffice 3.0 Installationsmanual OpenOffice 3.0 Ursprungligen skapad av Georg Bredberg 2003-03-27 för OpenOffice 1.0 Uppdaterad och kortad 2009-01-07 för OpenOffice 3.0 av Folkbildningsnätets Fria Programvarugrupp

Läs mer

Installationsanvisning för kursens programvara på egen dator

Installationsanvisning för kursens programvara på egen dator Installationsanvisning för kursens programvara på egen dator Två program, Java och DrJava, skall installeras på datorn. DrJava är en så kallad utvecklingsmiljö, ett program som underlättar att programmera

Läs mer

Verktyg för statisk kodanalys

Verktyg för statisk kodanalys Verktyg för statisk kodanalys Av: Peter Seimar, adi09pse 4 mars 2013 Att hitta fel, bad smells och brister i en stor kodbas kan vara både svårt och tidsödande. För att hjälpa till med det arbetet nns en

Läs mer

Labrapport över Rumbokningssytemet Grupp:1

Labrapport över Rumbokningssytemet Grupp:1 Fakulteten för ekonomi, kommunikation, IT & data Labrapport över Rumbokningssytemet Grupp:1 Kurskod: DVGC18 Kursnamn: Software Engineering Inlämningsdatum: 2009 10 28 Scrummaster: Martin Blom Projektmedlemmar:

Läs mer

Analysverktyg för Code smells och Test coverage. Djupstudie för Coaching av programvaruteam 2015

Analysverktyg för Code smells och Test coverage. Djupstudie för Coaching av programvaruteam 2015 Analysverktyg för Code smells och Test coverage Djupstudie för Coaching av programvaruteam 2015 Lund, 6/3 2015 Christian Kuijer Andersen Rickard Johansson dat11can@student.lu.se dat11rjo@student.lu.se

Läs mer

Slutrapport för JMDB.COM. Johan Wibjer 2012-06-03

Slutrapport för JMDB.COM. Johan Wibjer 2012-06-03 Slutrapport för JMDB.COM Johan Wibjer 2012-06-03 Abstrakt Den här rapporten kommer handla om mitt projekt som har handlat om att gör en webb sida för ett personligt media bibliotek, hur jag har jobbar

Läs mer

Handbok Potatismannen. Éric Bischoff Paul E. Ahlquist, Jr. Eugene Trounev Granskare: Lauri Watts Översättare: Stefan Asserhäll

Handbok Potatismannen. Éric Bischoff Paul E. Ahlquist, Jr. Eugene Trounev Granskare: Lauri Watts Översättare: Stefan Asserhäll Éric Bischoff Paul E. Ahlquist, Jr. Eugene Trounev Granskare: Lauri Watts Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 6 2 Hur man spelar 7 3 Regler och tips 8 3.1 Mushantering........................................

Läs mer

Översikt. Skriva och läsa data. Kontrollflöde. Två sorters loopar. For-loop. For-loop

Översikt. Skriva och läsa data. Kontrollflöde. Två sorters loopar. For-loop. For-loop Översikt Repetition for-loopar Skriva till och läsa från filer Strömmar Eclipse Hur anpassa till vad du gillar? Skriva och läsa data Institutionen för datavetenskap Programmering 1 Rita Kovordányi 2 Kontrollflöde

Läs mer

Tillämpad programmering CASE 1: HTML. Ditt namn

Tillämpad programmering CASE 1: HTML. Ditt namn Tillämpad programmering CASE 1: HTML Ditt namn 18 [HTML] Din handledare vill se din skicklighet i att använda HTML-koden. Du ska utveckla en webbplats om ditt intresse, inriktning eller gymnasiearbete.

Läs mer

Drakborgen. - Tips och rekommendationer. III. Tillvägagångssätt. Abstract. I. Inledning. II. Beskrivning av spelet

Drakborgen. - Tips och rekommendationer. III. Tillvägagångssätt. Abstract. I. Inledning. II. Beskrivning av spelet Drakborgen - Tips och rekommendationer Av Per Hamrin, IT05 Abstract Utbildningen inom programmering är under förändring på Uppsala Universitet. Ett av kursmomenten består av att designa och implementera

Läs mer

Pragmatisk programmering. Cyberrymden 2001-10-03. Marcus Rejås <marcus@rejas.se> Pragmatisk programmering,19 september 2002 1(26)

Pragmatisk programmering. Cyberrymden 2001-10-03. Marcus Rejås <marcus@rejas.se> Pragmatisk programmering,19 september 2002 1(26) Pragmatisk programmering,19 september 2002 1(26) Pragmatisk programmering Cyberrymden 2001-10-03 Marcus Rejås $Id: slides.tex,v 1.8 2002/09/16 19:43:40 rejas Exp $ Metainformation Denna

Läs mer