UTVÄRDERING AV ECLIPSE I ETT XP- PROJEKT

Storlek: px
Starta visningen från sidan:

Download "UTVÄRDERING AV ECLIPSE I ETT XP- PROJEKT"

Transkript

1 UTVÄRDERING AV ECLIPSE I ETT XP- PROJEKT Anders Mårtensson, dama@efd.lth.se Marcus Andersson, dman@efd.lth.se

2 INNEHÅLLSFÖRTECKNING Inledning...3 Vad är Eclipse?...3 Kort om XP och projektet...3 Problemställning...4 Utförande...4 Resultat...4 TANKAR OM ECLIPSE...5 JÄMFÖRELSE MELLAN ECLIPSE OCH EMACS...5 PROBLEM VID ANVÄNDNING AV OLIKA UTVECKLINGSVERKTYG...5 FÖRDELAR OCH NACKDELAR...5 Analys...6 ÄR ECLIPSE FÖR AVANCERAT?...6 PRINCIPERNA I XP...6 ECLIPSE UPPLEVS LÅNGSAMT OCH BUGGIGT...7 FÖRDELAR OCH NACKDELAR MED EN INTEGRERAD UTVECKLINGSMILJÖ...7 BLANDADE UTVECKLINGSMILJÖER...8 ÖVERGÅNG TILL ECLIPSE...8 SKA MAN ERSÄTTA DET TRADITIONELLA ARBETSSÄTTET MED EN IDE I TIDIGARE KURSER?...9 Sammanfattning...9 Referenser... Bilagor... 2

3 Inledning Ett bra verktyg kan snabba upp utvecklingsprocessen avsevärt. En möjlig fördel med att använda Eclipse i projekt är att det har stöd för alla de refaktoreringar som är så viktigt för att följa principerna i Extreme Programming, t ex Simple design. En annan intressant frågeställning är att se om Eclipse kan underlätta utvecklingen av programvara och vilka problem det kan innebära vid övergång från en textorienterad miljö. Det och mycket mer tar den här djupstudien upp. Vad är Eclipse? Före denna kurs har elever på Lunds Tekniska Högskola programmerat med hjälp av en texteditor (emacs) och en kompilator (javac). Eclipse är ett integrerat utvecklingsverktyg, dvs ett program med alla delar man behöver för att utveckla mjukvara. Ett utvecklingsverktyg brukar också kallas för IDE (eng: Integrated development enviroment). Eclipse innehåller en fullfjädrad texteditor, refaktoreringsverktyg, stöd för CVS 1 (Concurrent Versions System), stöd för automatiserade tester med junit 2, inkrementell kompilator, debugger samt mycket mera. Eclipse är en IDE skapad av IBM, och är utvecklad som ett open-source projekt och är gratis att använda vilket gör det attraktivt för högskolor. Kort om XP och projektet I kursen Programutveckling i grupp projekt 3 får studenter lära sig att arbeta i grupp och utveckla program med Extreme Programming 4 som utvecklingsprocess. Extreme Programming är en lättviktig iterativ process där tyngdpunkten ligger på kommunikation och förändring till skillnad från traditionella utvecklingsprocesser där en vattenfallsmodell används och tyngdpunkten ligger på dokumentation. Varje iteration representerades i form av åtta timmar långa laborationer. Dessa långlabbar genomfördes varje vecka i sex veckor. Mellan varje långlabb hölls ett två timmar långt planeringsmöte där den föregående iterationen gicks igenom och nya stories delades ut till nästa iteration. Varje vecka fick dessutom studenterna fyra timmars hemarbete där de skulle förbereda något inför den kommande laborationen. Programmet studenterna utvecklar är ett tidtagningsprogram för endurotävlingar. I ett XPprojekt finns det olika roller. Den första rollen fyller studenterna själva. De programmerar i par eftersom det är en av principerna i XP ( Pair Programming ). Vi, författarna, läser kursen Coaching av programvaruteam 5 och vår roll i projektet var att agera coach, som är den andra rollen. Året innan läste vi den kursen som studenterna läser just nu. Coachens uppgift är att göra den första grundläggande arkitekturen, assistera parprogrammerarna så att arbetet underlättas samt guida parprogrammerarna rätt så att principerna i XP följs. Den tredje rollen fylls av anställda på institutionen i form av kunder. En kunds uppgift är att kontinuerligt formulera krav på systemet i form av så kallade stories där varje story beskriver en funktion i programmet samt att ge kritik på programmet efterhand som det utvecklas. Det är dessa stories som programmerarna implementerar. 1 Se för mer information om CVS. 2 Se för mer information om junit. 3 Se för mer information om kursen. 4 Se för mer information om Extreme Programming. 5 Se för mer information om kursen. 3

4 Problemställning Med fullt stöd för refaktorering, CVS, junit, ett grafiskt användargränssnitt, en bra debugger, automatiska förslag till kompileringsproblem, formatering av kod, snabb kompilator som bara kompilerar det som behövs och så vidare har Eclipse en hel del finesser. Är verktyget så avancerat att arbetet försvåras? Är inlärningströskeln hög och känner nybörjarna sig vilsna i början och vad kan i så fall göras för att undvika detta? Hur förändrades studenternas inställning till Eclipse efter att de använt verktyget ett tag? En annan fråga som är naturlig att ställa sig är om det är en god idé att börja med en IDE tidigare i utbildningen? Finesserna gör inte bara arbetet lite trevligare än vanligt utan det kan även bidra till att XPs principer följs lättare. Nedan finns en kort lista på principer som stöds direkt eller indirekt: Refaktoreringstöd Simple design CVS Collective code ownership junit Test first Formatering av kod Coding standards Frågan är om det i praktiken verkligen bidrar till att följa XPs principer eller inte. En annan fråga som är intressant är hur väl fungerar det att blanda utvecklingsmiljöer och vilka problem kan uppstå? Är övergången från en annan utvecklingsmiljö svår? Vilka fördelar har en integrerad utvecklingsmiljö jämfört med en traditionell utvecklingsmiljö med separat texteditor och kompilator? Utförande Vi delade ut enkäter till ett par grupper (se bilaga 1) för att få en uppfattning av vad de olika grupperna tyckte. Vi valde grupperna så att vi fick olika typer av grupper, dvs grupper som enbart använde Eclipse, grupper som enbart använde texteditor och grupper som blandade utvecklingsmiljöer. Enkäten fylldes i under andra iterationen. Två grupper använde blandade utvecklingsverktyg, en grupp använde enbart texteditorer och resterande tre grupper använde enbart Eclipse. Totalt gav vi enkäten till 52 studenter varav de flesta svarade på alla frågor. Enkäterna delades ut under andra iterationen till fyra grupper och resterande två grupper fick dem vid ett senare tillfälle. Resultat Här följer en sammanfattning av de fakta vi fick ut ur enkäten som delades ut. En mer detaljerad sammanställning kan ses i bilaga 4. I enkätutfrågningen var det 13 % som använde enbart en texteditor, 73 % som använde enbart Eclipse och de resterande 14 % blandade mellan Eclipse och en texteditor. 4

5 Tankar om Eclipse Av de tillfrågade tyckte 7 % av teknologerna att det var lätt att använda Eclipse för första gången. De teknologer som inte tyckte det var så enkelt skrev att det berodde på att Eclipse var rörigt och att det var svårt att veta vilka finesser som fanns. De som använde Eclipse hade en relativt positiv inställning till programmet i början. På en femgradig skala om vilken inställning de hade i början svarade 26 % tre och 59 % fyra eller högre. Efter att ha använt det under hela första långlabben hade omdömet om Eclipse förbättrats något. 36 % gav det ett högre betyg medan endast 15 % gav det sämre betyg. Här bör det noteras att det var bara bland dem som blandade utvecklingsmiljöer som gav ett sämre betyg. När det gällde att använda den inbyggda refaktoreringen i Eclipse så tyckte 61 % att de använde det inbyggda stödet för refaktorering ofta (betyg 3 eller högre). De som inte använde det sa att det berodde på att det var inte helt intuitivt, att de glömmer bort att det finns sådant stöd eller att de olika refaktoreringarna ibland hade svåra namn att förstå. Jämförelse mellan Eclipse och Emacs 25 % av Eclipse-användarna gjorde inte refaktorering för de tyckte att det var svårt medan motsvarande siffra för de som använde texteditor var hela 66 %. Vi frågade hur många som tyckte bättre om att använda en IDE istället för en texteditor och fick då fram att 71 % tyckte så. Problem vid användning av olika utvecklingsverktyg En fjärdedel blandade utvecklingsverktyg och av dem så var det knappt hälften som tyckte att det innebar problem. Problemen var i huvudsak att de olika verktygen hade olika representationer för indentering, dvs att representera tabbar som tabbtecken eller som mellanslag. Fördelar och nackdelar När vi frågade vilka fördelar de tyckte Eclipse hade så var det många olika svar som kom upp vilket antagligen beror på att där finns många finesser i programmet. De populäraste var stöd för refaktorering och inbyggt stöd för CVS. Många tyckte även att de tyckte att de fick bättre översikt på såväl koden som projektet. Andra fördelar med Eclipse var automatisk komplettering, samma kortkommandon som Windows och automatisk felanalys av koden när man programmerade. De största nackdelarna med Eclipse var att det var långsamt och buggigt. De tyckte även att det var rörigt pga alla finesser och därmed svårt att använda. När det gällde Emacs-användarna så pekade alla nästan på samma fördelar; det var enkelt att använda och snabbt. Det nämndes även att det var bra att det var Unix-kortkommandon, bra färgkodning och att det fungerar till alla programmeringsspråk (Eclipse fungerar även till andra programmeringsspråk men har bara stöd för Java som standard, men en plug-in till C++ finns att ladda hem). Nackdelarna var däremot mer utspridda över olika punkter. De vanligaste anmärkningarna var att stöd för refaktorering saknades, att allt inte var integrerat, ingen automatisk felanalys av koden, inget CVS-stöd och dålig översikt. 5

6 Analys Vi har dragit våra slutsatser genom att analysera de svar vi fick genom enkäten. Vi har även uppmärksammat hur våra egna projektmedlemmar upplevde Eclipse samt vad de andra coacherna har berättat på coaching-mötena. Är Eclipse för avancerat? Den första halvtimmen på den första långlabben upplevde vi det som att projektmedlemmarna tyckte att Eclipse var lite jobbigt att arbeta med. När de väl hade provat på alla finesser ett par gånger så flöt dock arbetet på bra. Första gången de skulle t ex uppdatera filerna från CVSrepositoriet var de lite rädda för att göra fel, men när de väl lärt sig att allt man behövde göra var att högerklicka och välja Update så gick det smidigt. Det var precis samma sak när de skulle prova på att refaktorera för första gången. Med andra ord är inlärningströskeln inte så hög om man kan programmera i Java sen tidigare. Vi skrev två lathundar så att de skulle komma igång fortare (bilaga 2 och 3). Den första lathunden tar upp hur man startar Eclipse, konfigurerar CVS, importerar inställningar för editorn, konfigurerar junit samt hur man kör ett program. Den andra lathunden tar upp de olika finesserna i Eclipse, t ex automatisk komplettering av kod, hyperlänkar till implementationer av metoder, överlagring av metoder och automatiska förslag på kompileringsfel. De som tog del av lathundarna uppskattade dem mycket och använde fler finesser än de som inte fick dem. De gav också Eclipse ett högre betyg. Det är svårt att veta vilka finesser som finns och därmed inte utnyttja dem. Förhoppningsvis får alla ut lathundarna nästa år för att på vis korta ner inlärningstiden samt informera vilka finesser som finns. Det är väldigt bra att experimentera lite grann innan projektet börjar så man känner sig lite säkrare och vet vad som finns. De finesser de tyckte var svåra eller onödiga använde de inte. Om man vill kan man använda editorn i Eclipse enbart som en renodlad texteditor utan några som helst finesser. Den enda gången som Eclipse riktigt försvårade arbetet var när det uppstod svåra mergekonflikter. Det var inte helt intuitivt hur man skulle hantera detta och om man var för snabb kunde man lätt blanda ihop den gamla koden med den nya koden och på så vis skapa en hel del kod som var väldigt rörig. Kod som till synes inte gjorde något togs bort och till slut fungerade ingenting. Det gäller som sagt att vara väldigt försiktig med stora merge-konflikter. Vi kom fram till att man aldrig ska radera någon kod utan istället kommentera bort den. När alla tester väl går igenom kan man ta bort den bortkommenterade koden. Det här visar tydligt vad som behöver övas mer på före projektet. I år fanns det laborationer som både tog upp refaktorering och CVS, men de bör kanske utökas något. Absolut viktigast är hanteringen av merge-konflikter. Principerna i XP När man tittar på finesserna i Eclipse så verkar det underlätta XPs principer då det har inbyggt stöd för junit, inbyggt stöd för refaktorering, stöd för release av projekt (export till jar-fil), inbyggd kodformatering och CVS-stöd. Inbyggt stöd för junit är viktigt för XP då XP bygger på att testa sin kod så mycket som möjligt. Vi märkte att junit användes flitigt av alla grupper och de körde test så ofta som möjligt. Detta var lätt för dem när det bara var en knapp i fönstret som gjorde detta möjligt. Men även de andra grupperna utan Eclipse använde junit flitigt. 6

7 Simple Design är en av huvudprinciperna i XP och det kan bl a fås genom refaktorering. Även refaktorering i sig är en XP-princip vilket gör att det är viktigt att ha stöd för refaktorering för att få så bra XP-kod som möjligt. Den inbyggda refaktorering i Eclipse ledde till att refaktorering gjordes oftare i Eclipse-par än i de andra paren. Men här var det problem ibland eftersom detta var en ganska ung skara programmerare som inte kände till de olika namnen som olika refaktoreringar hade och därmed höll de sig till de enklare av de automatiska refaktoreringarna. Vi märkte även att vissa par inte var vana vid att använda de inbyggda refaktoreringarna och därmed inte tänkte på att använda dem utan refaktorerade koden för hand. När vi själva har använt Eclipse har vi sett att refaktorerings-verktygen används mer när vi fått mer erfarenhet av Eclipse. För att följa XPs principer så är det väldigt viktigt att ha en CVS-server då den underlättar för Collective Ownership och Continues Integration. Gruppmedlemmarna hade redan innan projektet provat på att använda en CVS server men aldrig i ett projekt. Därför uppstod mycket jobb vid uppladdning av kod. Men detta problem fanns i alla grupper och var oberoende om man använde Eclipse integrerade CVS-stöd eller ett externt CVS-program. Det märktes att det var vanligare att de som använde Eclipse uppdaterade sin kod oftare när de enkelt kunde komma åt det i Eclipse. De hade dock svårigheter i början när de var ovana vid menyerna i Eclipse och hitta alla CVSrelaterade finesser. Coding Standards är också en XP-princip som säger att projektet skall ha enhetligt formaterad kod. Eclipse har inbyggd kodformatering som kan konfigureras hur man vill ha sin kod. Detta användes i projektet i våra grupper genom att vi gav dem en konfigurationsfil som ställde in kodformatet. Efterhand såg vi att grupperna började formatera koden oftare och oftare med hjälp av Eclipse och då fick mer enhetlig kod. Jämfört med innan då det var lätt att glömma gruppens standarder på något ställe. Eclipse upplevs långsamt och buggigt Många som har gett Eclipse dåligt betyg har gjort det på grund av att det känns långsamt och buggigt. Eclipse flyter på mycket bättre på Windows än vad det gör på Solaris och är även mycket stabilare. Vad detta beror på kan vi bara spekulera om. Eclipse kräver en snabb dator med mycket minne. Ett absolut minimum är 256 Mb RAM. Eclipse kördes under en halv långlaboration i en av salarna med enbart 128 Mb RAM (Val) och det var väldigt frustrerande. Datorerna ska troligtvis uppgraderas under sommaren så Eclipse kanske fungerar bättre nästa år. Alternativt kanske man kan driva projektet i en sal med datorer med Windows på nästa år, men det kanske innebär andra problem. En stor skärm är också viktigt eftersom det visas så mycket information samtidigt i Eclipse (klasser, metoder, texteditor, kompileringsfel). Med det i åtanke och att man är ett par som programmerar ihop kan det innebära ett problem eftersom det enbart är 15 -skärmar i salarna med Windows. Fördelar och nackdelar med en integrerad utvecklingsmiljö Det finns massor med fördelar med en integrerad utvecklingsmiljö jämfört med en traditionell utvecklingsmiljö med separat texteditor och kompilator. Först och främst får man en mycket bättre överblick över vilka metoder samt vilka klasser som finns. I och med att kompilatorn är integrerad får man tillgång till en rad finesser. Man kan hoppa direkt till kompileringsfel genom att helt enkelt klicka på felet i en lista. Eftersom ens program körs genom utvecklingsverktyget får man även tillgång till en kraftfull debugger, men den har dock inte använts så flitigt under projektets gång. Inbyggt stöd för CVS är givetvis också bra för det räcker att man högerklickar på en fil så får man tillgång till alla de funktioner för CVS. Att köra automatiserade tester med junit är lika enkelt som att köra ett program. Att allt är integrerat har givetvis sina nackdelar också. Man får ingen valfrihet vad gällande kompilator eller texteditor. Val av texteditor är väldigt personligt på grund av dess kortkommandon och finesser. Val av kompilator kan man inte heller påverka. Ofta duger Suns javac bra eller IBMs 7

8 jikes, men det finns även andra kompilatorer som kan vara snabbare eller som optimerar koden bättre. Eclipse använder en inkrementell kompilator 6. Man kan även själv välja vilket verktyg man vill använda för CVS, t ex tkcvs eller textvarianten. Blandade utvecklingsmiljöer Eclipse är en bra grund som innehåller flera delar som behövs vid utveckling av programvara, men när man jobbar i projekt har alla olika bakgrund och vissa vill hellre jobba med de verktyg de är vana vid. Att blanda olika program kan ställa till problem men är det lättare att tvinga alla anpassa sig till ett verktyg eller är det bättre att blanda de olika verktygen och ta konsekvenserna? De flesta grupperna valde att bara använda Eclipse och det var bara två grupper som valde att ha olika utvecklingsmiljöer. När man blandade utvecklingsmiljöer uppstod problem med att Eclipse och Emacs inte hade samma representation av indenteringar. Detta ordnades genom en inställning i Eclipse så att det använde samma indentering som Emacs. Annars var där inga större problem med att blanda utvecklingsmiljöerna. Men där är andra saker man bör tänka på om man väljer att blanda utvecklingsmiljö. Det kan bli splittring i gruppen där alla håller på sitt eget program t ex vid parprogrammering kan detta ge problem. Men däremot så kommer kunskap sprida sig i gruppen och personerna i gruppen kommer att lära sig nya utvecklingsmiljöer. En enhetlig utvecklingsmiljö kommer dock att ge mer djupgående kunskap om miljön. För att ta reda på hur det är i industrin pratade vi med två mjukvaruingenjörer. Brian Matzon på Solvision ( jobbar i nuläget med plattformen.net, men när han jobbade på Certus ( blandade de utvecklingsverktyg. De använde vi, Visual Slickedit, Netbeans och Eclipse. De problem de hade var samma som vi hade, dvs problem med formatering och indentering. Joerg Plewe på Science Factory ( säger att de hade samma problem och att de använder JBuilder, Netbeans (med refactorit), IDEA, CodeGuide, Together, Eclipse och Emacs tillsammans. Trenden verkar vara att man får använda vilken IDE som man vill så länge den är gratis och i vissa fall så betalar företagen licenser för kommersiella verktyg. Som sammanfattning kan man säga att det är inte ger några större problem att blanda utvecklingsmiljöer men man bör tänka på andra aspekter såsom sociala och ekonomiska. Ett företag har kanske inte råd att köpa in flera program utan håller sig kanske till ett eller två. I det här fallet är Eclipse gratis, men det är långt ifrån alla. Övergång till Eclipse En programmerare kommer under sin tid bli mer fäst vid ett verktyg än vid andra och då förespråka detta verktyg (gäller även språk och operativsystem). Detta kan man se på de tusentals forum på Internet där folk diskuterar vad som är bäst. Hur blir det då när man måste jobba på ett projekt som använder ett annat verktyg? Och hur är det att gå över till en IDE från att ha använt en texteditor? Vi märkte direkt vilka som helst inte ville lära sig Eclipse. När vi sedan pratade med dem så nämnde de att de brukade använda andra verktyg och vilka fördelar de såg i dem jämfört med Eclipse. Men de använde Eclipse precis som alla andra men så fort det var något som gick fel så var det fel på Eclipse och inte handhavande fel. De andra teknologerna som inte hade valt någon favoritmiljö ännu klandrade hellre sig själv än Eclipse. Detta berodde förmodligen på att det finns en inlärningströskel och de som redan hade lärt sig ett annat program tyckte det gick snabbare att 6 Se för mer information. 8

9 använda något de redan kunde jämfört med något som tog tid att lära sig. Medan de andra inte hade något annat att jämförda med och på så sätt tog mer till sig informationen och ville lära sig. Att gå över ifrån en texteditor till en IDE är en stor omväxling. I en texteditor och extern kompilator syns det steg för steg vad som händer med koden medan i en IDE behöver man bara trycka på en knapp och ut kommer ett program. Teknologerna lärde sig ganska snabbt att använda Eclipse och det kändes som de snabbt tog till sig flera av de fördelar som programmet gav. Detta berodde kanske på att de fick hjälp att lära sig genom de två lathundarna som vi gett ut. Det berodde nog också på att de använt flera andra grafiska program tidigare och att de är tekniskt kompetenta. När de lärt sig grunderna tog det däremot längre tid att lära sig extra finesser. De kände att de var nöjda med vad de redan kunde och orkade inte lära sig mer. De tar dock till sig nya finesser som de lär sig under tiden, men inte lika snabbt som innan. Ska man ersätta det traditionella arbetssättet med en IDE i tidigare kurser? Det här är en svår fråga eftersom vi inte har studerat hur det hade fungerat i praktiken så det är bara antaganden vi presenterar här. Vi anser att man inte bör börja med en IDE direkt i inledande programmeringskursen utan att det är mer lämpligt att börja kanske det andra året. Den största orsaken är enligt vår mening att Eclipse hjälper till för mycket (om man vill). Som exempel kan vi ta när man ska tilldela en variabel ett värde av en annan typ: int x = 1.2f; Eclipse föreslår då add cast to int, vilket kan vara korrekt, men det är inte säkert (man kanske vill avrunda eller konvertera x till float). För vana programmerare är detta bekvämt och bra. En nybörjare kan se detta på två sätt: 1. Studenten ser att det är fel och ser att Eclipse föreslår att det behövs typkonvertering och lär sig varför. Eclipse rättar till felet och studenten fortsätter programmera. 2. Studenten ser att det är fel och ser att Eclipse föreslår att det behövs typkonvertering. Studenten vet inte varför det fungerar och låter Eclipse rätta till felet och studenten fortsätter programmera utan att bry sig om vad som var fel och därmed lär studenten sig inget. En annan sak som också talar emot är att det kanske blir för mycket att lära sig. Det kanske är för mycket att lära sig programmera samtidigt som man lär sig ett avancerat verktyg och alla dess finesser. Hur det är i praktiken vet vi tyvärr inte, men det behöver undersökas innan man ersätter det traditionella arbetssättet i grundkurserna med en IDE. Sammanfattning Det är en relativt låg inlärningströskel och om man kommer över denna så är det värt mödan. Om man inte får hjälp när man försöker komma över denna tröskel så kan tröskeln kännas lite högre. Med andra ord är det viktigt att coacherna kan svara på alla de frågor som projektmedlemmarna kan tänkas ha och komma med konkreta tips i det dagliga arbetet. Principerna i XP underlättas direkt och indirekt av användandet av Eclipse; refaktorering utförs mycket oftare eftersom det är så enkelt, Coding Conventions stöds genom anpassningsbar kodformatering samt inbyggt stöd för CVS och junit för att stödja Test First och Collective Code Ownership. Om projektmedlemmarna inte hade tillräckliga kunskaper i Eclipse så användes dock inte alla finesser, t ex refaktorering, och därmed förlorade verktyget sin betydelse för XP. 9

10 Referenser [1] Working the Eclipse Platform, ( [2] Ron Jeffries, Ann Anderson, Chet Hendrickson: Extreme Programming Installed. [3] Don Wells: The Rules and Practices of Extreme Programming, ( [4] The Eclipse Project Slide Presentation, ( [5] Project Builders and Natures, ( [6] Kent Beck, Embracing Change with Extreme Programming, Computer Sweden, October 1999 [7] Lars Bendix, Görel Hedin, Boris Magnusson, Introducing Software Engineering by means of Extreme Programming, October 22 Bilagor (se nästa sida)

11 Utvärdering av Eclipse Marcus Andersson, dman, och Anders Mårtensson, dama. Bilaga 1 Svara Ja eller Nej på följande frågor. Om det finns en graderad skala, ange vilken grad du överensstämmer med påståendet. 1 instämmer inte alls, 5 instämmer helt. 1. Eclipse var lätt att använda första gången jag använde det. Ja Nej Om inte, var god skriv en liten kommentar om vad du tyckte var svårt. 2. Jag använder texteditor (emacs/vi) Eclipse Annat: Om du inte använder Eclipse, var god hoppa till fråga Jag hade en positiv inställning till Eclipse i början. 4. Efter att ha arbetat med det ett tag har jag en positiv inställning. 5. Om det har varit problem med Eclipse så har jag fått hjälp. Ja Nej 6. Jag använder Eclipse inbyggda stöd för refaktorering ofta. Eventuell kommentar om du inte använder det så ofta: 7. Jag tycker det är svårt att göra refaktorering och gör det därför sällan. 8. Jag anser att Eclipse innehåller många buggar. 9. Jag tycker att det behövs snabbare datorer än de vi har för att kunna använda Eclipse.. Jag föredrar att använda en IDE (Eclipse eller liknande) jämfört med en texteditor (emacs, vi eller en annan texteditor). 11. Jag har tagit del av lathunden (av Anders och Marcus) för att Ja Nej snabbt komma igång med Eclipse/CVS/jUnit. 12. Jag har tagit del av översikten över finesser i Eclipse ( En kort Ja Nej lista över finesser i Eclipse av Anders). 11

12 13. Har alla i ert team kört samma miljö (dvs enbart texteditor eller Ja Nej enbart Eclipse)? Om Ja, hoppa vidare till fråga Innebar det några problem att blanda utvecklingsverktyg? Ja Nej Om ja, skriv lite om problemen nedan: 15. Nämn de tre största fördelarna med Eclipse: 16. Nämn de tre största nackdelarna med Eclipse: 17. Nämn tre största fördelarna med en texteditor: 18. Nämn tre största nackdelarna med en texteditor: 19. Är det jobbigt med enkäter? Ja Nej 2. Övriga kommentarer: Tack så hemskt mycket för all din hjälp! 12

13 Bilaga 2 Starta Eclipse Skapa en mapp att ha projektets arbetsyta i t ex. ~/xp/ Gå in i mappen och kör ingång Eclipse: >> initcs >> eclipse rc2 & Lägg till vyer Eclipse är uppbyggt av vyer. En för CVS, en för att skriva kod, en för debugging etc. Dessa kommer inte fram som standard utan man måste lägga till dem. Det görs på följande sätt: 1. Klicka på ikonen: 2. Välj other... från menyn som kommer fram. 3. Då kommer Select Perspective-rutan fram. 4. Lägg till önskad vy 5. Upprepa tills du har alla vyer du behöver Rekommenderade vyer är CVS och Java. Konfigurera CVS Gå till vyn CVS och högerklicka i det stora gråa fältet till vänster ( CVS Repositories ) och välj New -> Repository location. Fyll i dialogrutan enligt nedan: Host: torvalds.cs.lth.se Repository path: /CVS/EDA26/cs3x User: <ditt login> Password: <ditt lösenord> Lämna resterande fält som de är (dvs Connection type: pserver, Use default port och Validate connection on finish ). Om allt fungerade som det ska återstår bara att checka ut projektet. Tryck på det lilla plustecknet och ytterliggare en gång där det står HEAD. Högerklicka sen på de projekt du vill ha och välj Checkout as project. Importera inställningar För att säkerställa att ni inte får några problem med att utveckla i Eclipse på grund av dålig konfiguration har vi gjort en inställningsfil åt er. Ni kan konfigurera Eclipse som ni vill, men lämna nedanstående saker som vi har ställt in dem. 13

14 Kodformatering ( Coding standards ) Autogenererade kommentarer som t ex att Anders har gjort den här klassen ( Collective code ownership ) Representation av tabbar som mellanslag (för att säkerställa kompatibilitet med Emacs) Filen finns att ladda hem från (spara ner filen på lämpligt ställe). Välj Window -> Preferences. På nästa dialogruta välj Import. Leta upp filen xp.epf och klicka på Open. Lägg till TestAll För att använda junit behövs en junit-körning. Den läggs till under Run-knappen. 1. Klicka på pilen sidan om gubben. Då kommer en meny fram. Välj Run Markera junit och klicka på new 3. Se till att projektnamnet är rätt och namnge testkörningen i rutan Name. 4. Markera All tests in Project, Source Folder or Package. 5. Tryck Search... -knappen 6. Välj din projekt-mapp 7. Tryck på Run" 8. Sedan kan du köra testerna genom att klicka på Run knappen (denna gången på gubben). Exekvering av program Lägga till en programkörning är nästan likadant som att lägga till en junit-körning. Skillnaden är att man skapar en Java Application istället för junit under Run... Istället för att leta efter testklasser letas main-funktioner upp. Sedan väljs main-funktionen som skall användas. Om main-funktionen skall ha inparametrar läggs de till under fliken Arguments. Annars är det precis som att lägga till junit-körning. 14

15 En kort lista över finesser i Eclipse Bilaga 3 Detta är bara en kort lista över de finesser jag själv använder. Det finns många fler, men dessa är bra att börja med. De är ordnade efter i mitt tycke nyttighetsgrad. För övrigt så ger övning färdighet. Den är anpassad för att kunna skrivas ut på en A4-sida. Kommentarer mottages tacksamt. Kompilera och spara kod CTRL+S sparar aktuell fil samt kompilerar. Går (oftast) snabbt eftersom enbart påverkade filer kompileras. Komplettering Tryck CTRL+SPACE för att komplettera metodnamn, klasser och variabler etc. Finns flera alternativ dyker en lista upp. Ett alternativ väljs med piltangenter och enter/space (snabbast) eller med musen. Formatera kod Beroende på vilken version som används, högerklicka i editorn och välj Format eller välj Format i menyn Source. Refaktorering Alla refaktorerings-verktygen under menyn Refactor är mycket bra och användbara. Rename, Extract method och Convert local variable to field använder jag dagligen. Kompileringsfel Kompileringsfel visas i listan där nere och för att hoppa till ett fel, klicka på ett fel så hoppar markören automatiskt till där felet befinner sig. Länkar (hoppa till metoder, variabler, klasser etc.) Om du t ex har följande kod: int x = calcdelay() så kan man trycka CTRL+<vänster musknapp> på calcdelay() för att hoppa till implementationen av calcdelay(). 15

16 Generera get()/set()-funktioner Oftast behövs en hel drös med get/set-funktioner, som t ex getx() och setx(int x). Source - > Generate getter and setter. En ruta dyker upp och det är bara att klicka för de metoder man vill ha. Överlagring/implementering av metoder Om du implementerar ett interface så kan man välja Source -> Override/Implement methods så dyker det upp en lista på de metoder som finns. Klicka för de du vill ha så generas kod för dem automatiskt. Fungerar även för superklasser. Automatiska förslag på lösning av diverse fel Om något är fel dyker det oftast upp en liten glödlampa på vänster sida på den rad felet befinner sig på. Genom att klicka med musen på glödlampan dyker en lista med olika förslag upp. Det går även att trycka CTRL+1. Exempel på förslag är att en import saknas, fel datatyp och att en metod saknas (och då kan ett skelett för denna skapas). Hoppa mellan funktioner/attribut Genom att trycka CTRL+SHIFT+UPPIL (eller NEDPIL) så kan man hoppa mellan funktioner och attribut. Try/catch-block Markera det vill omge med try{}. Välj Source -> Surround with try/catch block. 16

17 Bilaga 4 Resultat från enkäten i mer detaljerad form Fråga 1 - Eclipse var lätt att använda första gången Ja Nej Fråga 2 - Val av utvecklingsverktyg Texteditor Eclipse Annat Båda Fråga 3 - Positiv inställning till Eclipse i början Fråga 4 - Positiv inställning till Eclipse efter att ha arbetat med det ett tag Betyg Betyg Fråga 5 - Om det har varit problem med Eclipse så har jag fått hjälp Fråga 6 - Jag använder Eclipse inbyggda stöd för refaktorering ofta Ja Nej Betyg Fråga 7 - Jag tycker det är svårt att göra refaktorering och gör det därför sällan Fråga 8 - Jag anser att Eclipse innehåller många buggar Betyg Betyg 17

18 3 2 Fråga 9 - Jag tycker att det behövs snabbare datorer än de vi har för att kunna använda Eclipse. Betyg Fråga - Jag föredrar att använda en IDE (Eclipse eller liknande) jämfört med en texteditor (emacs, vi eller en annan texteditor). 2 Betyg Fråga 11 - Jag har tagit del av lathunden (av Anders och Marcus) för att snabbt komma igång med Eclipse/CVS/jUnit. Fråga 12. Jag har tagit del av översikten över finesser i Eclipse ( En kort lista över finesser i Eclipse av Anders). 3 24,5 2 Ja Nej 24 23, ,5 Ja Nej Fråga 13 - Har alla i ert team kört samma milö (dvs enbart texteditor eller enbart Eclipse)? Fråga 14 - Innebar det några problem att blanda utvecklingsverktyg? Ja Nej Ja Nej 18

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

Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på:

Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på: Bilaga C Eclipse 1 Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på: www.eclipse.org help.eclipse.org www.eclipse.org/downloads/

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

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

Eclipse en handledning

Eclipse en handledning LUNDS TEKNISKA HÖGSKOLA EDAA01 Programmeringsteknik fördjupningskurs Institutionen för datavetenskap VT 2015 Eclipse en handledning 1 Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas

Läs mer

2 Eclipse en handledning

2 Eclipse en handledning 2 Eclipse en handledning Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på: http://www.eclipse.org http://help.eclipse.org http://www.eclipse.org/downloads/

Läs mer

Eclipse en handledning

Eclipse en handledning LUNDS TEKNISKA HÖGSKOLA VT 2014 Institutionen för datavetenskap Eclipse en handledning 1 Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information

Läs mer

Refaktorisering och UML med Eclipse

Refaktorisering och UML med Eclipse 1. Introduktion Refaktorisering och UML med Eclipse Eclipse är en utvecklingsmiljö för allehanda uppgifter. Den innehåller bland annat ett mycket kvalificerat stöd för programutveckling i Java. Den är

Läs mer

Lab1 Introduktion. 1 Syfte. 2 Innehåll Win32API Skapa trådar Kritiska sektioner Mailslothantering. 3 Förberedelse & Tips

Lab1 Introduktion. 1 Syfte. 2 Innehåll Win32API Skapa trådar Kritiska sektioner Mailslothantering. 3 Förberedelse & Tips Lab1 Introduktion Förberedelse för planetlabben genom att kapsla in (skapa wrappers) systemanrop. 1 Syfte Få en känsla av hur Win32API fungerar, dvs programmerarens interface gentemot Windows. Känsla för

Läs mer

Eclipse. Kort genomgång

Eclipse. Kort genomgång Eclipse Kort genomgång Installation för den som vill ha Eclipse på sin egen maskin Du behöver först och främst ett Java Development Kit (JDK). Om du inte har något, installera JDK 7.0 från http://www.oracle.com/technetwork/java/javase/downloads/

Läs mer

Versionshantering. Jan Erik Moström

Versionshantering. Jan Erik Moström Versionshantering Jan Erik Moström Johan Eliasson Versionssystem Gjorda för att användas av en eller flera personer på en eller flera platser, exempelvis: För en ensam användare som jobbar med ett projekt

Läs mer

Objektorienterad programmering i Java I

Objektorienterad programmering i Java I Laboration 0 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: ca 2 3 timmar Att läsa: sidan 45 52 Syfte: Att ladda hem och installera utvecklingsmiljön Att skriva ditt första Javaprogram

Läs mer

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack 725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den

Läs mer

Föreläsning 3. Programmering, C och programmeringsmiljö

Föreläsning 3. Programmering, C och programmeringsmiljö Föreläsning 3 Programmering, C och programmeringsmiljö Vad är programmering? Ett väldigt kraftfullt, effektivt och roligt sätt att kommunicera med en dator Att skapa program / applikationer till en dator

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

Datorlaboration 0, Programmering i C++ (EDA623)

Datorlaboration 0, Programmering i C++ (EDA623) LUNDS TEKNISKA HÖGSKOLA Programmering i C++ Institutionen för datavetenskap HT 2013 Datorlaboration 0, Programmering i C++ (EDA623) Under den inledande datorlaborationen får du träna på de grundläggande

Läs mer

Komponenter med COM (och COM+/VC++ 7.0)

Komponenter med COM (och COM+/VC++ 7.0) MÄLARDALENS HÖGSKOLA Komponenter med COM (och COM+/VC++ 7.0) Med Visual C++ 7.0 COM-komponent EI0230 Komponentbaserad applikationsutveckling oktober 2003 Om denna sammanfattning Denna sammanfattning innehåller

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

Introduktion till programmering, hösten 2011

Introduktion till programmering, hösten 2011 Föreläsning 1 Programmering är ett hantverk. Det betyder att man inte kan läsa sig till den förmågan, man måste träna och man tränar genom att skriva mer och mer avancerade program. Programmering förutsätter

Läs mer

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02) UMEÅ UNIVERSITET Institutionen för datavetenskap Thomas Johansson Oktober 1998 Programutveckling med Java Development Kit (JDK 1.1.x) och Programmers File Editor (PFE 7.02) Umeå universitet 901 87 Umeå.

Läs mer

TDP005, Projekt: objektorienterade system

TDP005, Projekt: objektorienterade system TDP005, Projekt: objektorienterade system Laboration: Eclipse Höstterminen 2011 Introduktion Detta material innehåller övningar för Eclipse. Redovisning Dessa övningar behöver inte redovisas, men ni får

Läs mer

INSTALLATIONSGUIDE TILL ANDROID UTVECKLINGSMILJÖ

INSTALLATIONSGUIDE TILL ANDROID UTVECKLINGSMILJÖ INSTALLATIONSGUIDE TILL ANDROID UTVECKLINGSMILJÖ Denna installationsguide berättar hur man installerar och kommer igång med utveckling för Android. Guiden är skriven som en komplettering till min bok Programmera

Läs mer

Övning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program

Övning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program Datateknik A, Syfte: Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program Att läsa: Lektion 1 Antal uppgifter: 3 Inlämning: Sker via inlämningsuppgifter

Läs mer

Så här skriver du ditt första program i C++

Så här skriver du ditt första program i C++ Så här skriver du ditt första program i C++ Introduktion till att skapa Solution, Project och källkodsfil i Visual Studio 2013 Författare Anne Norling Kurs: Strukturerad programmering med C++ Kurskod:1DV433

Läs mer

Manual Produktion av presentationssynkar med PowerPoint och Producer

Manual Produktion av presentationssynkar med PowerPoint och Producer Centrum för Pedagogik, IKT och Lärande (PIL) Mälardalens högskola Peter Aspengren Tel: 021-103116 Manual Produktion av presentationssynkar med PowerPoint och Producer Gör din presentation Om du inte har

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

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8) Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8) I detta exempel kommer du att lära dig Att skapa en ny presentation från början Att skapa en enkel knapp Att använda händelseinställningar, events

Läs mer

3. Hämta och infoga bilder

3. Hämta och infoga bilder Sida 1 av 8 Lektion 1: sida 4 av 4 «Sida 3 av 4 Till kursens framsida 3. Hämta och infoga bilder Nu vet vi ju hur man sätter in text i sin sida. Men hur gör man med bilder? Det är inte svårt alls! Det

Läs mer

Code-Lite tutorial ( /RoJ)

Code-Lite tutorial ( /RoJ) Code-Lite tutorial (2013-03-20/RoJ) Följ dessa anvisningar för att skapa projekt, kompilera/länka och testa dina laborationsuppgifter 3,4. Project Projekt, innehåller bland annat ett antal källtextfiler

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 Collective Documentation Ownerhip - Wiki. Jakob Nilsson-Ehle

Djupstudie Collective Documentation Ownerhip - Wiki. Jakob Nilsson-Ehle Djupstudie Collective Documentation Ownerhip - Wiki Jakob Nilsson-Ehle (d02jn@efd.lth.se) 1 1 Innehåll 1 Inledning............................... 3 1.1 Vad är en wiki?............................ 3 1.1.1

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

Installationsguide för mysql och OLA Server/OLA Klient

Installationsguide för mysql och OLA Server/OLA Klient Installationsguide för mysql och OLA Server/OLA Klient Baserad på OLA 5.0.0-6 Dokumentversion: 20110601 Författare: Gunnar Svanberg, Järfälla Redigering och layout: Niklas Wrane, SOFT Sid 1 (25) version

Läs mer

Skapa din egen MediaWiki

Skapa din egen MediaWiki Skapa din egen MediaWiki Inledning och syfte I detta moment skall du installera en egen wiki (Mediawiki), som du skall konfigurera. Du har möjligheten att använda en egen wiki på din dator eller webbhotell

Läs mer

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll FrontPage Express I programpaketet Internet Explorer 4.0 och 5.0 ingår också FrontPage Express som installeras vid en fullständig installation. Det är ett program som man kan använda för att skapa egna

Läs mer

Nedladdning från PA. 1. Koden (nyckeln) 2. Programmet. SPSS Statistics 23. Gunilla Rudander IBM Corporation

Nedladdning från PA. 1. Koden (nyckeln) 2. Programmet. SPSS Statistics 23. Gunilla Rudander IBM Corporation Nedladdning från PA Gunilla Rudander 1. Koden (nyckeln) 2. Programmet SPSS Statistics 23 2014 IBM Corporation Koden (nyckeln) IBM Confidential 2014 IBM Corporation Länk, finns även på analyticsbloggen

Läs mer

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi

Läs mer

Hur du installerar Open Broadcaster Software (OBS) fo r HD-sa ndning

Hur du installerar Open Broadcaster Software (OBS) fo r HD-sa ndning Hur du installerar Open Broadcaster Software (OBS) fo r HD-sa ndning Steg 1 Gå till https://obsproject.com/download och klicka på ikonen för ditt operativsystem Steg 2 Windows: klicka på Download Installer

Läs mer

TUTORIAL: SAMLING & KONSOLL

TUTORIAL: SAMLING & KONSOLL TUTORIAL: SAMLING & KONSOLL Denna tutorial är en fortsättning på den tutorial där vi skapade klassen Car och sedan objekt av denna klass. Vi skall nu lära oss att lagra dessa objekt i en samling och även

Läs mer

Versionshantering med Git

Versionshantering med Git Versionshantering med Git Vad, varför och hur? Magnus Nielsen Institutionen för datavetenskap, LiU magnus.nielsen@liu.se Vad ska jag ha Git till? Versionshantering Sparar källkod (eller vad som helst)

Läs mer

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa. Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa. Antal: Enskilt Material: En dator med Windows 7 (Vista, Windows 8 eller

Läs mer

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Sven-Olof Nyström Uppsala Universitet 13 juni 2005 1 Utvecklingsverktyg för Java Vi rekommenderar Suns utvecklingsverktyg (SDK, tidigare JDK), se

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: 2011-04-28 Tid: 08-12 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 281456 Jourhavande kommer att besöka skrivsalarna ungefär

Läs mer

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA... INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...6 2 (6) 2D1954 Programutvecklingsprojekt vt 2003 Installation

Läs mer

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel: www.minsajt.

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel: www.minsajt. Kom igång Logga in Skriv in adressen till din webbsida följt av /login. Exempel: www.minsajt.se/login Nu dyker en ruta upp på skärmen. Fyll i ditt användarnamn och lösenord och klicka på "logga in". Nu

Läs mer

Administrationsmanual ImageBank 2

Administrationsmanual ImageBank 2 Administrationsmanual ImageBank 2 INNEHÅLL 1. Konventioner i manualen 3 2. Uppmärksamhetssymboler 3 3. Vad är imagebank SysAdmin 4 4. Guide för att snabbt komma igång 5 5. Uppgradera din imagebank 1.2

Läs mer

Introduktion till Adobe Acrobat Connect Pro

Introduktion till Adobe Acrobat Connect Pro Introduktion till Adobe Acrobat Connect Pro I denna guide beskrivs hur man använder Adobe Acrobat Connect Pro samt användning av headset och webbkamera. Skapad: 2009-07-03 Version: 1.1 1 Innehåll Hur startar

Läs mer

EndNote X8. Bygg ditt eget referensbibliotek. - där du samlar referenser från olika databaser på ett och samma ställe

EndNote X8. Bygg ditt eget referensbibliotek. - där du samlar referenser från olika databaser på ett och samma ställe EndNote X8 Bygg ditt eget referensbibliotek 1. Vad är EndNote? EndNote är ett referenshanteringsprogram: - där du samlar referenser från olika databaser på ett och samma ställe - som underlättar sortering

Läs mer

Microsoft. Excel 2010. Migrera till Excel 2001. från Excel 2003

Microsoft. Excel 2010. Migrera till Excel 2001. från Excel 2003 I den här guiden Migrera till Excel 2001 Microsoft skiljer sig rent utseendemässigt mycket, så vi har skapat den här guiden för att hjälpa dig att snabbare lära dig programmet. Här kan du läsa om de viktigaste

Läs mer

Datorlaboration 0, Programmering i C++ (EDAF30)

Datorlaboration 0, Programmering i C++ (EDAF30) LUNDS TEKNISKA HÖGSKOLA Programmering i C++ Institutionen för datavetenskap HT 2015 Datorlaboration 0, Programmering i C++ (EDAF30) Under den inledande datorlaborationen får du träna på de grundläggande

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: 2011-08-22 Tid: 14-18 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 281456 Jourhavande kommer att besöka skrivsalarna ungefär

Läs mer

DRAFT. CVS kurs laboration 1 Checka in, ut och uppdatera. Marcus Rejås. 17 november 2002

DRAFT. CVS kurs laboration 1 Checka in, ut och uppdatera. Marcus Rejås. 17 november 2002 CVS kurs laboration 1 Checka in, ut och uppdatera Marcus Rejås 17 november 2002 Innehåll 1 Inledning 1 2 Förberedelser (om du skall köra CVS på en remote server) 1 2.1 Installera CYGWIN......................................

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

Konfigurering av eduroam

Konfigurering av eduroam Konfigurering av eduroam Detta dokument beskriver hur en användare med konto från Chalmers konfigurerar nätverksanslutning till ett trådlöst nätverk på en eduroam-ansluten organisation, t.ex. Chalmers.

Läs mer

LabelLogic. Bruksanvisning. www.planglow.com info@planglow.com. Innehåll. Label Choices. Data Library. Print Centre. Design Centre

LabelLogic. Bruksanvisning. www.planglow.com info@planglow.com. Innehåll. Label Choices. Data Library. Print Centre. Design Centre www.planglow.com info@planglow.com Innehåll Label Choices Så här lägger du till en etikett Data Library Så här lägger du till smörgåsinformation Print Centre Så här skriver du ut etiketter Design Centre

Läs mer

Win95/98 Nätverks Kompendium. av DRIFTGRUPPEN

Win95/98 Nätverks Kompendium. av DRIFTGRUPPEN Win95/98 Nätverks Kompendium av DRIFTGRUPPEN Sammanfattning Vad håller jag i handen? Detta är en lättförståelig guide till hur man lägger in och ställer in nätverket i Windows 95 och 98 Efter 6 (sex) enkla

Läs mer

Migrera till PowerPoint 2010

Migrera till PowerPoint 2010 I den här guiden Microsoft Microsoft PowerPoint 2010 skiljer sig rent utseendemässigt mycket, så vi har skapat den här guiden för att hjälpa dig att snabbare lära dig programmet. Här kan du läsa om de

Läs mer

Windows 8.1, hur gör jag?

Windows 8.1, hur gör jag? 2014 Windows 8.1, hur gör jag? Tor Stenberg Piteå Kommun 2014-03-28 1 av 13 Innehåll Hur jobbar jag med Windows 8.1... 2 Logga in... 2 Skrivbordet och programportal... 2 Logga ut och stänga datorn... 3

Läs mer

Programmets startmeny ser ut så här. För att få fram menyerna Avsluta, Inställningar och Användare måste du föra markören upp till det blåa fältet.

Programmets startmeny ser ut så här. För att få fram menyerna Avsluta, Inställningar och Användare måste du föra markören upp till det blåa fältet. Programmets startmeny ser ut så här. För att få fram menyerna Avsluta, Inställningar och Användare måste du föra markören upp till det blåa fältet. Då du klickar på Användare öppnas denna bläddringslista.

Läs mer

ALEPH ver. 16 Introduktion

ALEPH ver. 16 Introduktion Fujitsu, Westmansgatan 47, 582 16 Linköping INNEHÅLLSFÖRTECKNING 1. SKRIVBORDET... 1 2. FLYTTA RUNT M.M.... 2 3. LOGGA IN... 3 4. VAL AV DATABAS... 4 5. STORLEK PÅ RUTORNA... 5 6. NAVIGATIONSRUTA NAVIGATIONSTRÄD...

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

Ladda upp filer fra n PLC till PC

Ladda upp filer fra n PLC till PC Supportdokument Ladda upp filer fra n PLC till PC Synpunkter, felaktigheter, önskemål etc. för dokumentet meddelas Fil: Malthe_Suppo_Ladda upp filer från.docx Innehållsförteckning 1. Allmänt... 2 2. Installation

Läs mer

Programvara på Nada. Johan Berglund Systemgruppen, Nada

Programvara på Nada. Johan Berglund Systemgruppen, Nada Programvara på Nada Johan Berglund Systemgruppen, Nada Vad vi kommer prata om Projektkataloger Vart ni ska vända er med frågor Orientering om utvecklingsverktyg Resurser Tips Frågor? Projektkataloger Projektkataloger

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

Övning 1: Skapa virtuell maskin för utveckling.

Övning 1: Skapa virtuell maskin för utveckling. Övning 1: Skapa virtuell maskin för utveckling. Arbetsuppgift 1: Skapa storage account. Steg 1: I vänstre delen av Preview Portal, klicka på Browse. Steg 2: I fönstret Browse, klicka på alternativet Storage.

Läs mer

Refaktorisering och UML med Eclipse

Refaktorisering och UML med Eclipse 1. Introduktion Refaktorisering och UML med Eclipse Eclipse är en utvecklingsmiljö för allehanda uppgifter. Den innehåller bland annat ett mycket kvalificerat stöd för programutveckling i Java. Den är

Läs mer

Instruktion för installation av etikettskrivare 2.27

Instruktion för installation av etikettskrivare 2.27 Instruktion för installation av etikettskrivare 2.27 1/17 Dokumenthistorik: Revision Datum Utförd av Kommentar 1.0 2017-10-20 Jonte Rydberg Första utgåva 1.7 2018-11-08 Jonte Rydberg Uppdaterat info för

Läs mer

Skoladmin kom igång! Innehåll

Skoladmin kom igång! Innehåll Skoladmin kom igång! Välkommen till nya Skoladmin! Det har skett lite förändringar i själva verktyget där du skapar nya kurser och lägger upp nyheter. Du kommer att känna igen all information som läggs

Läs mer

Statistiska centralbyrån

Statistiska centralbyrån MONA-handledning 1. Inloggning 2. Användning 3. Utloggning 1. Inloggning För inloggning i MONA-systemet krävs ett användarnamn, en PIN-kod och ett lösenord. Dessa hittar du på ett rekommenderat brev som

Läs mer

MONA-handledning. 1. Inloggning. Version 2 1(5) Användarhandledning - UTKAST MONA-support. 1. Inloggning 2. Användning 3.

MONA-handledning. 1. Inloggning. Version 2 1(5) Användarhandledning - UTKAST MONA-support. 1. Inloggning 2. Användning 3. Version 2 1(5) MON-handledning 1. Inloggning 2. nvändning 3. Utloggning 1. Inloggning För inloggning i MON-systemet krävs ett användarnamn, en PIN-kod och ett lösenord. Dessa hittar du på det användarvillkor

Läs mer

Thomas Pihl Frontermanual för studerande vid Forum Ystad

Thomas Pihl Frontermanual för studerande vid Forum Ystad Thomas Pihl 2007 Frontermanual för studerande vid Forum Ystad Innehåll Fronter...2 Inloggning...2 Ändra användaruppgifter...4 Anpassa Min sida...5 Verktygen på Min sida...6 Notiser...7 Mitt arkiv...9 Fronter

Läs mer

Kursvärdering. Denna manual beskriver hur du kan skapa en mapp i Fronter som heter Kursvärdering där du ladda upp reslutat från kursutvärderingar.

Kursvärdering. Denna manual beskriver hur du kan skapa en mapp i Fronter som heter Kursvärdering där du ladda upp reslutat från kursutvärderingar. Kursvärdering Denna manual beskriver hur du kan skapa en mapp i Fronter som heter Kursvärdering där du ladda upp reslutat från kursutvärderingar. Här finns även tips på några olika sätt att skapa en kursvärdering

Läs mer

Thomas Pihl 2013. Frontermanual. för studerande vid Forum Ystad

Thomas Pihl 2013. Frontermanual. för studerande vid Forum Ystad Thomas Pihl 2013 Frontermanual för studerande vid Forum Ystad Innehåll Fronter... 2 Inloggning... 2 Komplettera användaruppgifter... 4 Anpassa Min sida... 5 Verktygen på Min sida... 6 Notiser & E-post...

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

Instruktion för installation av etikettskrivare 2.31

Instruktion för installation av etikettskrivare 2.31 Instruktion för installation av etikettskrivare 2.31 1/20 Dokumenthistorik: Revision Datum Utförd av Kommentar 1.0 2017-10-20 Jonte Rydberg Första utgåva 1.7 2018-11-08 Jonte Rydberg Uppdaterat info för

Läs mer

Kom igång med Etikettskrivaren 1. Ladda ner följande installationsprogram Ladda ner Drivrutiner för etikettskrivare Zebra

Kom igång med Etikettskrivaren 1. Ladda ner följande installationsprogram Ladda ner Drivrutiner för etikettskrivare Zebra Kom igång med Etikettskrivaren Följande är en lathund över de installationer/inställningar som behöver göras i ditt operativsystem för att skrivaren ska fungera fullt ut. Vi utgår ifrån att du har en skrivare

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

Instruktioner. Innehåll: 1. Vad är Kimsoft Control (SIDA 2) 3. Hem (SIDA 2)

Instruktioner. Innehåll: 1. Vad är Kimsoft Control (SIDA 2) 3. Hem (SIDA 2) 1 Instruktioner Innehåll: 1. Vad är Kimsoft Control (SIDA 2) 2. Logga in (SIDA 2) 3. Hem (SIDA 2) 4. Skapa/redigera sidor (SIDA 3) 41. Lägg till ny sida (SIDA 3) 42. Avancerat (SIDA 4) 5. Texteditor (SIDA

Läs mer

Installation av StruSofts låne-licensserver (nätverkslicens)

Installation av StruSofts låne-licensserver (nätverkslicens) Installation av StruSofts låne-licensserver (nätverkslicens) Denna manual hjälper dig att installera StruSofts licensserver, hämta ner dina licenser via webupdate samt kontrollera att licenserna finns

Läs mer

Guide till att använda Audacity för uttalsövningar

Guide till att använda Audacity för uttalsövningar Guide till att använda Audacity för uttalsövningar Victoria Johansson Humlabbet, SOL-center, Lund IT-pedagog@sol.lu.se 28 mars 2006 1 Inledning Audacity är ett program som kan användas för att spela in

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

Mer information om RefWorks, andra referenshanteringsprogram och hur man refererar hittar du på Linköpings universitetsbiblioteks webbsidor.

Mer information om RefWorks, andra referenshanteringsprogram och hur man refererar hittar du på Linköpings universitetsbiblioteks webbsidor. Guide till RefWorks För att förenkla hanteringen av referenser och referenslistor finns det flera olika verktyg, s.k. referenshanteringsprogram. Med dem kan du samla, organisera och presentera dina referenser.

Läs mer

CVS-Introduktion. CyberRymden Introduktion till CVS,17 november (27) Marcus Rejås

CVS-Introduktion. CyberRymden Introduktion till CVS,17 november (27) Marcus Rejås Introduktion till CVS,17 november 2002 1(27) CVS-Introduktion CyberRymden 2001-10-03 Marcus Rejås $Id: slides.tex,v 1.2 2002/11/17 18:16:40 rejas Exp $ Introduktion till CVS,17 november

Läs mer

Migrera till Word 2010

Migrera till Word 2010 I den här guiden Microsoft Microsoft Word 2010 skiljer sig rent utseendemässigt mycket, så vi har skapat den här guiden för att hjälpa dig att snabbare lära dig programmet. Här kan du läsa om de viktigaste

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

Skapa en Listsida under huvudfliken Aktiviteter

Skapa en Listsida under huvudfliken Aktiviteter Skapa en Listsida under huvudfliken Aktiviteter Listsidor skapar man under diverse flikar i Navigeringsträdet. Det är den mest använda typen av sidor när det gäller: Styrelse/Funktionärer m.m.som man vill

Läs mer

Kapitel 1 Komma igång... 3

Kapitel 1 Komma igång... 3 2014.02.21 1 Kapitel Innehåll... Sida Kapitel 1 Komma igång... 3 Välkommen... 3 Är DDS-CAD Arkitekt installerat?... 5 Operativmiljön Windows... 5 Begrepp... 5 Starta DDS-CAD Arkitekt... 6 Starta ett nytt

Läs mer

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi

Läs mer

6. Nu skall vi ställa in vad som skall hända när man klickar på knappen samt att markören skall ändra sig till en hand när markören är på knappen.

6. Nu skall vi ställa in vad som skall hända när man klickar på knappen samt att markören skall ändra sig till en hand när markören är på knappen. Fiskar Arbetsbeskrivning knappmeny (Mediator 8) I detta exempel kommer du att lära dig Att göra en mastersida med knappar Att använda en mastersida på andra sidor Att använd funktionen Alignment Arbetsgång

Läs mer

Laboration 2 Datorverktyg vid LiU

Laboration 2 Datorverktyg vid LiU Laboration 2 Datorverktyg vid LiU Denna laboration är tänkt att ge information om några av de grundläggande verktyg som du, som studerar vid Linköpings Universitet, kan ha nytta av. Ett tips är att läsa

Läs mer

Studentmanual. 2013-08-09 (Bb Learn 9.1.13) iktsupport@oru.se

Studentmanual. 2013-08-09 (Bb Learn 9.1.13) iktsupport@oru.se Studentmanual Inledning... 1 Krav på dator och rekommenderade webbläsare... 1 Support och stöd... 1 Översikt... 1 Logga in i Blackboard... 1 Navigeringsmenyn... 2 Fliken Min Blackboard... 2 Struktur inne

Läs mer

Inställningstips. Visuella anpassningar Windows 10 2015-08-06

Inställningstips. Visuella anpassningar Windows 10 2015-08-06 Inställningstips Visuella anpassningar Windows 10 2015-08-06 Innehåll Inledning... 3 Anpassa bildskärmen... 4 Ändra storlek för text, appar och andra objekt... 4 Ändra muspekare och markör... 6 Egenskaper

Läs mer

E-post. A. Windows Mail. Öppna alternativ. Placera ikonen på skrivbordet.

E-post. A. Windows Mail. Öppna alternativ. Placera ikonen på skrivbordet. E-post A. Windows Mail Öppna alternativ Klicka på startknappen Startmenyn öppnas Klicka på Alla Program Leta reda på Windows Mail Dubbelklicka Windows Mail öppnas. Om ikonen ligger i Start-menyn Klicka

Läs mer

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

Manuell installation av SQL Server 2008 R2 Express för SSF Timing Manuell installation av SQL Server 2008 R2 Express för SSF Timing Innehåll 1. Metoder att installera...1 2. Förutsättningar...2 DotNet Framework 3.5...2 MSI Installer 4.5...2 3. Hämta SQL Server 2008 R2

Läs mer

Lägga till bild i e- handeln

Lägga till bild i e- handeln Lägga till bild i e- handeln INNEHÅLL 1 LÄGGA TILL BILD I E-HANDELN... 3 2 LÄGGA TILL BILD PÅ PRODUKT... 3 3 LÄGGA TILL BILD PÅ KURS... 4 4 LÄGGA TILL BILD I TIDMALLEN... 6 5 SKAPA URL TILL BILD... 7 5.1

Läs mer

LAJKA-GUIDE. Så kör du. Windows på din Mac. 7 Fler spel och program 7 Enklare än Bootcamp 7 Körs direkt i OSX 7 Helt gratis

LAJKA-GUIDE. Så kör du. Windows på din Mac. 7 Fler spel och program 7 Enklare än Bootcamp 7 Körs direkt i OSX 7 Helt gratis Så kör du Windows på din Mac 7 Fler spel och program 7 Enklare än Bootcamp 7 Körs direkt i OSX 7 Helt gratis. Så kör du Windows på din Mac Virtualbox gör din Mac till en pc Du behöver inte köra Bootcamp

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

Instruktion för konvertering av e-post i Lotus Notes med Swing PDF Converter

Instruktion för konvertering av e-post i Lotus Notes med Swing PDF Converter 1.2 Utgåva 1 (16) för konvertering av e-post i Lotus Notes med Swing PDF Converter Hur du väljer i Lotus Notes vad du vill konvertera... 1 Från arkivfil... 1 Från Inkorgen... 1 Från mapp... 2 Alternativ

Läs mer