Kodanalys med hjälp utav SemmleCode
|
|
- Alexandra Pernilla Lindberg
- för 7 år sedan
- Visningar:
Transkript
1 Kodanalys med hjälp utav SemmleCode Henrik Andersson, D05 Erik Mossberg, D01 18 Februari 2008
2 Sammanfattning Avsikten med denna rapport är att läsaren ska få en bra insikt i hur man kan använda verktyg för att analysera kod. Rapporten kommer att ge era exempel på verktyg som gör detta, men kommer att fokusera på SemmleCode som är ett plugin till Eclipse. 2
3 Innehåll 1 Inledning 4 2 Frågeställningar 4 3 Statisk analys Verktyg för statisk analys Användandet av statisk analys SemmleCode Inledning Funktioner och användningsområde Användarvänlighet Installation Querys Exempel Diskusion För- resp nackdelar Slutsats Referenser 13 A installationsanvisning 14
4 1 Inledning Att analysera koden i ett projekt kan vara svårt och jobbigt. Svårt då det inte är lätt att få fram något bra resultat ur koden, men det är heller inte lätt att alltid kunna dra någon slutsats av resultatet man kan ha fått fram. Jobbigt är det eftersom ett projekt kan innehålla många tusen rader kod som kan vara svår att analysera utan något hjälpverktyg. Det nns en mängd verktyg som hjälper till med detta. Denna djupstudie i kursen "Coaching av programvaruteam"kommer att analysera verktyget SemmleCode [1]. SemmleCode är ett plugin till Eclipse som i sin tur är en öppen utvecklingsmiljö. I detta fall används Eclipse främst till att utveckla javakod. Målet med denna rapport är att läsaren ska få en förståelse för hur ett kodanalysverktyg kan hjälpa till att få en klar bild över sin kod och kodkvalité, samt lära ut hur man använder verktyget. Som resultat av rapporten skulle vi inte rekomendera att man använder SemmleCode inom sitt team. Det är ett bra plugin till Eclipse om man vill få en bra bild över hur projektet utvecklas, men det kan nog vara till mer hjälp om en utanstående skulle använda det och sedan komma med idéer till teamet. Coacherna kan kanske använda det för att hitta eventuella designfel eller kunna ge en prognos på hur programmet utvecklas. 2 Frågeställningar Denna rapport kommer att ta upp olika aspekter av programmet för att ge en bra bild av hur det används och vad det kan användas till. Dom frågor som kommer att behandlas i första hand är följande. Hur kan man använda verktyget i ett XP-team för att ge medlemmarna en enkel bild över hur systemet ser ut? Är verktyget lättanvändligt? Fungerar verktyget tillfredsställande? Vilka fördelar respektive nackdelar nns det med verktyget? 3 Statisk analys Statisk kodanalys är analys av kod som utförs utan att själva koden körs. Statisk analys kan utföras av människor men är svårt och tar tid. Analysen kan också utföras med hjälp av automatiska verktyg. [2] Dessa verktyg söker då igenom koden efter fördenerade mönster, som följandet av kodkonventioner eller catchblock som fångar exceptions utan att behandla dom. Verktygen kan också utföra beräkningar, som att räkna antalet anropspunkter till en viss funktion. Motsatsen till statisk kodanalys kallas naturligt nog dynamisk kodanalys, analys som utförs då koden körs. 4
5 3.1 Verktyg för statisk analys Det nns era verktyg för statisk kodanalys. JDepend JQuery PMD (Eclipse) Jackpot (Netbeans) Findbugs and fb-crasher Lint-serien av verktyg HTML Tidy W3-validator De esta verktyg är inriktade på endast ett språk, men vissa har även inspirerat till en hel familj av verktyg. T.ex. Lint (för c)[3] som följdes av JsLint, pylint och JLint (JavaScript, python och Java) 1. Detta kan jämföras med SUnit, ett enhetstestningsramverk för Smalltalk, som sedan har följts av bl.a. phpunit och JUnit. En del av dessa verktyg har undersökts av tidigare djupstudier, t.ex. [4]. En del av verktygen är externa verktyg, och en del är integrerade i utvecklingsmiljön (IDE) som Eclipse. Fördelar med IDE-integration är att er personer kan använda verktyget. Existerande undersökningar [5] har visat att det nns en brist på kännedomen om statiska analysverktyg. En annan fördel med integration är att verktyget får bättre möjligheter att korrigera felen automatiskt, vilket exemplieras av 'Quick Fix' i Eclipse. 3.2 Användandet av statisk analys Statisk analys kan bl.a. ge följande resultat [6]: Kvalitetsanalys Complexitetsanalys Buggsökning, t.ex. buer-overows och andra säkerhetsproblem Visualisera arkitekturen med dependency analysis Hitta anti-patterns Hitta oanropad kod Hitta duplicerad kod 1 Lint (för c) letar efter vanliga problem, bland annat om variabler används innan de får något värde. Originalversionen följdes av JsLint, pylint och JLint (JavaScript, python och Java). 5
6 Brott mot kodningsstandarden Eclipse utför med defaultinställningar 'Continuous builds'. Som ett steg i kompileringen utförs en grundläggande form av statisk analys, för att hitta uppenbara syntaxfel och typfel. Utöver detta kan Eclipse ge varningar för mer programmerings-logiska fel, som boolska tester som alltid ger samma resultat. På dessa sätt kan statisk kodanalys ha en del av fördelarna hos 'Pair Programming'. En programmerare kan koncentrera sig på att skriva kod som är beskrivande och uttrycksfull medans ide:t (eller en parprogrammerare) hanterar all formell språksyntax och letar efter dåliga kodvanor. 4 SemmleCode 4.1 Inledning SemmleCode är som tidigare nämnt ett plugin till Eclipse. Det används för att visa information från kod genom olika sorters diagram och grafer. Genom att skriva kod i SemmleCode så anger man vad för information man vill analysera, hur man vill analysera den och hur man vill representera resultatet. 4.2 Funktioner och användningsområde SemmleCode har väldigt många funktioner. I och med att man i kod skriver vad SemmleCode ska göra så nns det väldigt mycket som kan göras. På hemsidan [1] nns det många exempel som man kan utgå ifrån om man vill. På så sätt nns det många sätt att använda sitt resultat. Om man bara vill ha en liten översikt så kan man anpassa det så att man bara visar det man vill. Om man däremot vill ha mer information så är det inte svårt att lägga till det. Det kan användas bl.a. till att ge teamet en bra översikt över systemet, som en koll från kunden om eektivitet eller för att följa utvecklingen av programmet för båda parterna. 4.3 Användarvänlighet SemmleCode är ett knepigt program att bara installera och använda. Man måste lägga lite tid på att lära sig hur man ska använda det. När man väl har lärt dig det så är det inte något problem att använda det, även om det kan ta lite tid att få något resultat. Problemet är att det inte går att köra era queries samtidigt på ett smidigt sätt, vilket gör att man får köra dom en och en och det tar mycket tid. I och med att man skriver s.k. queries ( vilka tas upp senare ) själv så nns det ett stort användningsområde och det är lätt att få fram ett enkelt resultat. Det nns standardqueries som man får med när man installerar SemmleCode, men om man vill anpassa det efter sitt egna behov måste man lära sig att skriva queries vilket också tar lite tid Installation Installationsanvisning nns i appendix A. 6
7 4.4 Querys All analys av koden sker genom en variant av sql som heter QL. QL är skapat att vara likt Java [7] och SQL [8]. Enkla querys ser ytligt väldigt lika SQLs select-satser, men har även stöd för advancerade querys med objekt-orientering. Att skriva querys kan vara svårt i början innan man vet hur man ska skriva. På Semmles hemsida [1] nns det många exempel på querys som man kan använda för att få fram en bra representation. Ett tips är att man kan utgå ifrån deras exempel och sedan utveckla egna varianter. Det medföljer även ett bibliotek med vanliga querys som man kan utgå ifrån. Innan man kan skriva querys förpopuleras en relationsdatabas med information om koden. Databasen innehåller bland annat alla denitioner och anrop. För ett litet projekt räckte det med att använda den inbyggda minnesbaserade databasen. Man kan välja vilka ler man vill ha med när man ska populera sin databas. Det är dock inte att föredra då man måste populera om den varje gång man ska exekvera en ny query. I det långa loppen är det smidigare att populera databasen med alla ler. Man kan sedan begränsa sig till den relevanta koden för varje query Exempel Querys som använts i denna rapport är följande: Rader kod per paket from Class c, int loc where loc = sum(compilationunit cu cu.getpackage() = c.getpackage() cu.getnumberoflinesofcode()) and c.fromsource() select c.getpackage(), loc order by loc desc Ger bild enl. gur 1 Rader kod per klass from RefType t, int i where i = count(method m m.getdeclaringtype() = t) and t.fromsource() select t, i order by i desc Ger bild enl. gur 2. Metoder med mer än 50 rader kod 7
8 Figur 1: Rader kod per paket. Den röda staplen mäter 320 Figur 2: Metoder per klass. Den röda stapeln mäter 29 from Method m where m.fromsource() and m.getlocation().getnumberoflinesofcode() > 50 select m.getlocation().getnumberoflinesofcode(), m Ger bild enl. gur 3. Arkitektur from Class c where c.fromsource() select c.getpackage(), c 8
9 Figur 3: Metoder med mer än 50 rader kod. Den röda stapeln mäter 64 rader Ger bild enl. gur 4. Figur 4: Enkel arkitektur över ett projekt. Dom gula fyrkanterna är paket och dom gröna cirklarna är klasser. Klasserna är förbundna med sitt paket genom en grön linje Stapeldiagrammen går att ändra till cirkeldiagram istället om det är mer önskvärt. Det är lätt att i sin query välja bara vissa klasser/paket/metoder m.m. beroende på vilka villkor man anger. Som ovan i gur 3 där endast alla metoder med mer än 50 rader kod i ett projekt väljs. I gur 4 visas en enkel bild över vilka paket som nns, samt vilka klasser som nns i varje paket. Det går att manuellt ytta på klasserna så att man lättare kan se paketen och klasserna. Om man istället vill veta hur t.ex. metoderna ligger kan man skriva en query som gör detta. Dock kan det bli väldigt rörigt även på ett sådant här litet projekt då det ofta nns många metoder som sak visas. 9
10 Dessa bilder kan som ovan nämnt användas till många olika saker, men framför allt så ger dom en enkel bild över hur systemet ser ut. I gur 1 kan man se vilka klasser som är stora och vilka som är små. Om man gör detta under varje iteration kommer man att kunna se vilka klasser det är som växer mest. I gur 3 ser man vilka metoder som börja att bli stora. Om man följer storleken på en metod under iterationerna kan man se om det är någon som alltid ligger över den gränsen man har satt. Det ger en bra visuell bild över hur stor metoden är vilket kan ge en liten push på att man ska refaktorisera den metoden till några mindre. Om man vill se hur projektet utvecklar sig kan man lägga två bilder bredvid varandra och sedan se hur dom förhåller sig till varandra. I gur 5 kan man se hur strukturen har ändrats från iteration 3 till iteration 4. Och i gur 6 kan man se hur antalet rader kod per paket har ändrats under samma tid. Man ser även att ett paket har tagits bort från iteration 3 till iteration4. Figur 5: Bilden ovan är från iteration 4 och bilden under från iteration 3. Dom gula fyrkanterna är paket och dom gröna cirklarna är klasser. Klasserna är förbundna med sitt paket genom en grön linje 10
11 Figur 6: Bilden ovan är från iteration 4. Den röda stapeln visar 340 rader kod. Bilden under från iteration 3. Där visar den röda stapeln 320 rader kod 5 Diskusion 5.1 För- resp nackdelar Det nns många för och nackdelar med SemmleCode. Det är väldigt exibelt och kan användas till mycket mer än vad exemplen ovan visar. Det är relativt lätt att använda när man väl har kommit igång med det. Att väl komma igång med SemmleCode är det som kan vara lite klurigt. Först ska man installera det vilket visas i appendix A och det är inte svårt, Det som är svårt är fortsättningen. Först ska man ordna med en databas och sen ska man skriva queries. Att skriva queries kan vara svårt i början innan man vet hur man ska skriva. Det nns en del exempel på hemsidan man kan utgå ifrån, men det är ett helt nytt språk att lära sig. Det är skapat att vara likt Java [7] och SQL [8]. När man väl har kommit in i hur man sak göra är det smidigt att skapa queries. En stor fördel är att SemmleCode ger en väldigt bra bild över vad man vill 11
12 ha reda på. Det är lättare att få en översikt. Bäst hade det nog varit om man kombinerade det med andra verktyg för att få en mer komplett bild som inte bara ger en översikt utan även går djupare in på detaljerna. T.ex. kan man kombinera det med tidigare nämnda Findbugs. Då man se hur koden ser ut med hjälp utav koder samt att man kan se var koden kan ha buggar. Då kan man kanske se om det kan nnas något samband mella stora metoder och många buggar m.m. och på så sätt prioritera en refaktorisering eller en genomgång av koden där den inte ser bra ut. En stor nackdel är den tid det tar att analysera koden med era olika queries, eller om man ska analysera era projekt samtidigt. Det går inte, vad vi har hittat, att göra detta på ett smidigt sätt, vilket gör att det tar lång tid om man vill göra någon omfattande analys. 5.2 Slutsats Vi har kommit fram till att SemmleCode är ett verktyg som inte passar som sitter och kodar. Det är bättre om en utomstående eller kanske en coach använder det för att se hur projektet utveckals. Det är svårt att få någon bra bild över ett projekt om man bara skulle använda det en gång, utan man bör nog använda det era gånger under projektets gång och sedan jämföra resultaten. 12
13 6 Referenser Referenser [1] Semmle Semmle Query Technologies 24 Oktober Februari 2008 [2] Amit Chaturvedi Java & Static Analysis -Finding bugs early with automated code reviews Dr Drobb s Java and Static Analysis 1 Juli Februari 2008 [3] Lint manual Man Page lint.1 /lint.1.html 17 Februari 2008 [4] Gustaf Lundh, Viktor Holtenäs Djupstudie, Coaching av programvaruteam - Verktyg för kodkvalité 20 Februari Februari 2008 [5] Greg Sporar Talking About Static Analysis 08 November 2008 Greg Sporar s Blogg - Talking About Static Analysis 10 Februari 2008 [6] Paul Duvall Automation for the people: Improving code with Eclipse plugins 11 Januari 2007 Automation for the people: Improving code with Eclipse plugins 10 Februari 2008 [7] Java Sun Java Technology 7 Februari Februari 2008 [8] SQL SQL Tutorial 10 Februari
14 A *Appendix A installationsanvisning SemmleCode är ett plugin till Eclips och installeras lättast genom att man klickar på Help-Software updates-find and install... enl gur 7 Figur 7: Menyväg från Eclipsevy Där fyller man i den andra rutan som säger att man ska leta efter nya plugins och installera det enl gur 8 Figur 8: Välj att installera nyyy plugin 14
15 Efter det väljer man New Remote Site... Då kommer en popup fram. I den fyller man in vad man vill kalla sin plugin lokalt samt varifrån man ska ladda ner programmet ifrån. På raden Name kan man skriva Semmle och på raden URL: ska man ange som den adress vilken man vill ladda ner SemmleCode från. gur 9. Tryck sedan OK. Figur 9: URL och det namn du vill kalla ditt plugin Nu ska Semmle nnas i listan i fönstret som nns i bakgrunden. Kryssa i rutan som tillhör Semmle och tryck sedan på Finish enl gur 10 Figur 10: Kryssa i rutan med det namn som du valde i steget innan 15
16 Då kommer det upp ett fönster i vilket man ska kryssa i Semmle och sedan trycka på Next enl gur 11 Figur 11: Klicka på Next Licensavtalet kommer då upp. Det är bra att läsas igenom och godkänna om man vill fortsätta. För att godkänna, kryssa I accept the terms in the license agreement. enl gur 12 Figur 12: Licensavtalet 16
17 Efter detta kommer en ruta upp i vilken man ska ange var man vill installera pluginen. Tryck Finish om det verkar bra, annars välj Change Location och välj en ny plats enl gur 13 Figur 13: Plats för installation1 Välj sedan Install i fönstret som kommer upp sedan enl gur 14 Figur 14: Välj Install 17
18 Efter att det är installerat så ska man starta om Eclipse. Det kommer upp en ruta som gör det automatiskt om man väljer Yes enl gur 15 Annars får man stänga ner Eclipse och starta om det manuelt Figur 15: Välj Yes för automatisk omstart 18
Verktyget FindBugs. Djupstudie i kursen EDA 270 Coachning av programvaruteam. Christofer Bach dt05cb6 Daniel Nilsson dt05dn4. Lunds Tekniska Högskola
Verktyget FindBugs Djupstudie i kursen EDA 270 Coachning av programvaruteam Christofer Bach dt05cb6 Daniel Nilsson dt05dn4 Lunds Tekniska Högskola 15 feb 08 1. Sammanfattning Denna djupstudie kommer att
Läs merVerktyg 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 merVerktyg 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 merInstallationsanvisningar. till IST Analys
Installationsanvisningar för IEklient till IST Analys 2 Med rätt säkerhetsinställningar i din webbläsare ska det vara enkelt att komma igång med IST analys. Allt ska då laddas hem och starta automatiskt
Läs merInstallation av VDI för PC TIPS! Skriv ej ut använd hellre ipad. Nya lathundar publiceras regelbundet Version 1.0
Hitta vilken Datortyp du har Innan installationen kommer du få att välja vilken Datortyp din dator har. Det kan vara bra att ha kontrollerat det innan du börjar med installationen. Notera att du skall
Läs merVerktyg 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 merPetter 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 merPrograminstallation Datorbaserat handsmörjningssystem
Programinstallation Datorbaserat handsmörjningssystem ASSALUB AB - 1 - www.assalub.se ASSALUB AB - 2 - www.assalub.se I26101-S-11.02 Innehållsförteckning 1 SYSTEMKRAV... 4 2 INSTALLATION... 5 2.1 Inkopiering
Läs merHur 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 merDjupstudie 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 merDjupstudie 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 merMalmö University / Library and IT Service. Marcus Lindberg 2010-03-10
Malmö University / Library and IT Service Marcus Lindberg 2010-03-10 Inför installation av SPSS / PASW 17 Nedan följer information som det är bra om du läser igenom innan du börjar. Se till att din dator
Läs merAdministratörsrättigheter i Windows krävs för att genomföra installationen.
CADCAM-it Toolbox 2011 Installationsanvisning - Installation - Licensregistrerting - Avinstallation 1. Installation Administratörsrättigheter i Windows krävs för att genomföra installationen. Avinstallera
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
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 merManuell 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 merWebservice & ERP-Integration Rapport
Webservice & ERP-Integration Rapport Hardwood AB Mustafa Lazem 930916-9713 Jonas Ahrne 920325-0379 Hasan Nerjovaj 940130-7195 Stefan Liden 920628-0639 2014-05-18 Innehåll Bakgrund... 2 Syfte... 2 Projektbeskrivning...
Läs merContinuous 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 merINSTALLATIONSGUIDE 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 merDesign Collaboration Suite
Design Collaboration Suite 2012 IRONCAD IRONCAD DRAFT INOVATE NLM- Network License Manager LICENSAKTIVERINGSGUIDE Innehållsförteckning Viktig information innan installation 1 Installation av NLM- Network
Läs merAdministrationsmanual 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 merA 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 merManual Mjukvara Allvis Software (SV )
ALLVIS Manual Mjukvara 1 Allvis Manual Mjukvara Inledning Denna manual innehåller instruktioner som hjälper dig komma igång med Allvis mjukvara. Fler dokument och videos finns tillgängligt på hemsidan
Läs merOBS!!! Anslut ej USB kabeln till dator eller GPS innan du först har installerat drivrutinerna för USB kabeln i din dator.
Navirad User Tool 3,7 Manual för GPS 1 Easy, GPS 2, GPS 4 samt Navirad Elite. Du kan ladda ner programmet från följande websida: Leta upp fliken Download och följ instruktionerna. http://www.tmobilteknik.com
Läs merPraktikum i programmering
Praktikum i programmering Föreläsning 1 Lärare: Fredrik Degerlund E post: fredrik.degerlund@abo.fi Rum A5051 (denna korridor) Kursens innehåll Att lära sig att programmera moduler som ingår i ett större
Läs merSyfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket?
Jonas Kvarnström jonkv@ida.liu.se 2013 Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket? Rena OO-språk (allt är objekt) Scala, Smalltalk, Eiffel, Ruby,
Läs merLaboration 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 merIntroduktion av uppdatering
Innehållsförteckning Introduktion av uppdatering...1 Start...2 Avancerade inställningar...3 Starta nedladdning...3 Nedladdning klar...6 Installation...7 Språkval...7 Uppgraderingsmeddelande...7 Informationssamling...8
Läs merLICENSAKTIVERINGSGUIDE. Design Collaboration Suite
LICENSAKTIVERINGSGUIDE Design Collaboration Suite 2014 Varje kapitel representerar en viss typ av licensmetod. På ditt licenscertifikat står det vilken licenstyp du har. Hitta din licenstyp i listan nedan
Läs merInstruktioner för uppdatering från Ethiris 4.10 till 5.x
Instruktioner för uppdatering från Ethiris 4.10 till 5.x Nedan följer instruktioner för hur man går till väga vid uppdatering av ett Ethirissystem version 4 till version 5. När man uppdaterar Ethiris från
Läs merKom 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 merLite mer om CGI-programmering
Lite mer om CGI-programmering Innehåll Vad är CGI? Vad är Forms? Vad är Perl? Forms, CGI och Perl Läs också: Internetprogrammering F 14 Kursboken s s 48-51 Exemplen på på kursens sidor: sidor: http://www.nada.kth.se/kurser/kth/2d4334/98-99/contents/cgi/examples.html
Läs merInstruktioner för uppdatering från Ethiris 5.x till 6.0
Instruktioner för uppdatering från Ethiris 5.x till 6.0 Nedan följer instruktioner för hur man går till väga vid uppdatering av ett Ethirissystem version 5 till version 6. När man uppdaterar Ethiris från
Läs merAtt 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 merInstallation 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 merInstruktioner för uppkoppling mot NyA Open
Magnus Björklund 2014-10-09 Sida 1 (16) Instruktioner för uppkoppling mot NyA Open ... 3... 4 Dokumentnummer Version Företag Magnus Björklund 2014-10-09 Sida 2 (16) Innehållsförteckning 1 Inledning...
Läs merKapitel 4 Arkivmenyn Innehåll
Kapitel 4 Arkivmenyn Innehåll ARKIVMENYN...2 Byt aktuell användare...2 Utskrift till skärm eller skrivare...3 SQL verktyget...4 Ny SQL...4 Hämta SQL...5 Spara SQL...5 Kör SQL...5 Visa som...5 Avsluta...5
Läs merBuildingPortalSuite. Beskrivning. 2012-09-03 BuildingPortalSuite - Beskrivning
Beskrivning 1 Komma igång Följ dessa steg för att enkelt komma igång med BuildingPortalSuite: 1. Installera BuildingPortalSuite 2. Använd Setup Tool BuildingPortalSuite för att ställa in uppkopplingen
Läs merNetBeans 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 merKom igång med TIS-Office
Kom igång med TIS-Office Denna guide hjälper dig att komma igång med TIS-Office, mer information om hur man använder programmet finns i manualer på TIS-Office CD-skivan och i den inbyggda hjälpfunktionen
Läs mer1 Den normala kartbilden
Innehåll sidnr. 1 DEN NORMALA KARTBILDEN...1 2 KARTA FRÅN AVVERKNINGSPLAN, TRANSPORTORDER OCH FÖRÄDLING/ARBETSORDER...5 3 KARTURVAL FÖR RAPPORTER...6 4 GPS KONFIGURATION....8 4.1 MOBILA ENHETER MED INBYGGD
Läs merProgrammering 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 merXerox Device Agent, XDA-Lite. Installationsguide
Xerox Device Agent, XDA-Lite Installationsguide Introduktion XDA-Lite XDA-Lite är ett program avsett för insamling av data från skrivare. Det används framför allt för att automatiskt skicka in mätaravläsningar
Läs merIntroduktion till programmering. Programspråk och paradigmer
Introduktion till programmering Programspråk och paradigmer Vad är ett programspråk? Aprogramming languageis a formal constructedlanguagedesigned to communicate instructions to a machine, particularly
Läs merAdministrationsmanual ImageBank 2
Document information ID: P001 Appendix C Rev: 4 Author: Tomas von Peltzer Product nr: Title: Reviewed by: Approved by: P001 ImageBank Administration Manual Product name: Ingvar Falconer Date: 2014-10-22
Läs merSå här installerar du Friluftskartan pro på din dator
Så här installerar du Friluftskartan pro på din dator Innan nedanstående påbörjas bör du kontrollera att du har följande: - Kompatibel Garmin-GPS. - Windowsdator med tillgång till Internet - Minimum 500
Läs merAlternativet är iwindows registret som ni hittar under regedit och Windows XP 32 bit.
TNT ExpressShipper installation. Om ni redan har en ExpressShipper installation på företaget behöver ni först ta reda på vilken version som är installerad och sökvägen till databasen. Versionen ser ni
Läs merInnehåll i detta dokument
Läs igenom hela dokumentet innan du startar. Kopiera över allt på CD-skivan till din hårddisk. Din dator kommer behöva startas om en gång vid installationen av CodeSys. Du måste ha rättigheter att installera
Läs merInfoga dokument i Connect med hjälp av FlashPaper
Infoga dokument i Connect med hjälp av FlashPaper Denna manual beskriver hur man kan infoga dokument i Connect med hjälp av så kallade FlashPapers. FlashPaper låter dig dela med dig av alla typer av dokument
Läs merJava: 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 merEclipse. 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 merGEM-TEC Manual. Box 7035 S Solna Tel: Fax:
GEM-TEC Manual Box 7035 S-170 07 Solna Tel: 08-85 04 90 Fax: 08-85 94 85 www.atlasscreen.se info@atlasscreen.se R-Wear installation Sätt i CD-skivan med R-wearprogrammet i datorn. Ovan fönster öppnas automatiskt.
Läs merVisma Proceedo. Att logga in - Manual. Version 1.3 / 140414 1
Visma Proceedo Att logga in - Manual Version 1.3 / 140414 1 Innehållsförteckning 1) INLOGGNING VIA VERKTYG OCH SYSTEM... 3 2) INTERNET EXPLORER... 6 2.1 Java... 6 2.2 Popup-fönster... 8 2.3 Browser, 32-
Läs merObjektorientering: Lagring och livstid
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Objektorientering: Lagring och livstid Tre sorters variabler Tre sorters variabel (1): Lokal 2 Lokal variabel Deklareras inuti en metod Vid varje anrop
Läs merF9 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 merUTVECKLINGSVERKTYG. Praktiska tips för PUM-projekten
UTVECKLINGSVERKTYG Praktiska tips för PUM-projekten TEKNIKER I PROJEKTEN ios 2 C#.NET 1 Java (inkl Android) 6 Webb (HMTL/JS) 4 En genomskumning av de tilldelade projektförslagen ger ovanstående uppfattning
Läs merEclipse. 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 merObjektorienterad 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 merSlutrapport 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 merInstallationsmanual ImageBank 2
Document information ID: P001 Appendix D Rev: 3 Author: Ingvar Falconer Product nr: Title: Reviewed by: Approved by: P001 Installation Manual Product name: Tomas von Peltzer Date: 2014-10-22 Sign: Mattias
Läs merScala Doc SQL Installation
Scala Doc SQL Installation För uppgradering se nedan: Uppgradering till ScalaDoc På Servern: Börja med att köra programmet D:\Setup.exe (Om D:\ är CDROM enheten) så installeras Scala Doc till ett bibliotek
Läs merQuick Start Guide Snabbguide
Quick Start Guide Snabbguide C Dictionary Quick Start Thank you for choosing C Dictionary and C-Pen as your translation solution. C Dictionary with its C-Pen connection will make translation easy and enable
Läs merNetBeans 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 merWebbprogrammering. Sahand Sadjadee
Webbprogrammering Sahand Sadjadee Agenda Webb The World Wide Web (WWW) is a network of online content that is formatted in HTML and accessed via HTTP. The term refers to all the interlinked HTML pages
Läs merUppstart Agda PS Hosting
Uppstart Agda PS Hosting Innehåll Sida 1. Installation och inloggning 1.1 Installation. 3 1.2 Inloggning Agda PS Hosting 4 1.3 Starta Agda PS... 5 2. Administration och rutiner för användning av Agda PS
Läs merTDDD78 Objektorientering: Lagring och livstid
jonas.kvarnstrom@liu.se 2017 TDDD78 Objektorientering: Lagring och livstid Tre sorters variabel (1): Lokal 3 Deklareras i en metod Lokal variabel Varje anrop får sin egen "kopia": Två anrop till foo()
Läs merAnalysverktyg 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 merChaos VPN - Installera Cisco AnyConnect Windows 8
HANDLEDNING 1 (16) Dokumentdatum [] 2018-05-15 1.2 Fastställt av Gäller från Ersätter [Ersätter] Skapat av Niclaes Fahlstedt Ersatt av [Ersatt av] Chaos VPN - Installera Cisco AnyConnect Windows 8 Syfte
Läs merGrä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 merVERSION 3.2 KLIENTMANUAL NETALERT CS
KLIENTMANUAL NETALERT CS Om NetAlert Allmänt NetAlert är ett säkerhetssystem med en Serverprogramvara och en klientprogramvara. Serverprogramvaran installeras på en eller flera servrar. Klientprogramvaran
Läs merSpelprogrammering med XNA och MonoGame
Spelprogrammering med XNA och MonoGame Tutorial, Programmering 2 Johan Hällgren, Thoren Innovation School SAMMANFATTNING Detta är en hjälp för att genomföra bokens tutorial. Allt från specifika tips för
Läs merINSTALLATION AV VITEC MÄKLARSYSTEM
INSTALLATION AV VITEC MÄKLARSYSTEM Studentversion september 2013 Innehållsförteckning 1. Installera VITEC Mäklarsystem... 2 2. Läs noga igenom manualen... 2 3. Systemkrav... 2 4. Kundservice/Teknisk support...
Läs merInstruktion till. PigWin PocketPigs. Del 1 - Installation 2008-07-10
Instruktion till PigWin PocketPigs Del 1 - Installation 2008-07-10 INNEHÅLL Installation...3 Förberedelser - pocket...3 Förberedelser - PC...3 PocketPigs...4 Pocket PC nr. 2...5 Installation av AgroSync...6
Läs merTUTORIAL: 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 merVersionshantering. 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 merDetta är en snabbguide hur man installerar Hitman Pro version 2.6. Instruktionen är skapad 2007-02-21 och hämtad från http://l.workgroup.
Detta är en snabbguide hur man installerar Hitman Pro version 2.6 Instruktionen är skapad 2007-02-21 och hämtad från http://l.workgroup.se Hitman Pro är ett skalprogram som använder sig av kända program
Läs merInstallationsmanual ImageBank 2
Installationsmanual ImageBank 2 INNEHÅLL Konventioner i manualen... 3 Uppmärksamhetssymboler... 3 Miljö och grundkrav... 4 Installera ImageBank MS SQL databas... 4 ImageBank Databas Configuration Wizard...
Läs merScrum + 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 merAUTOMATISKA PROGRAMUPPDATERINGAR
AUTOMATISKA PROGRAMUPPDATERINGAR Håll programmen Programmen vi använder i våra datorer fungerar som allra bäst när de är uppdaterade till de senaste versionerna. Med Patch My PC uppdateras de automatiskt
Läs merINSTALLATIONSGUIDE PC
INSTALLATIONSGUIDE PC TELE2 MOBILT INTERNET Den här guiden beskriver hur du kommer igång med Tele2 Mobilt Internet hur du installerar drivrutinerna samt kopplar upp på Internet. 2 SYSTEMKRAV För att kunna
Läs merStatic vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design Alex Gerdes, 2016
Static vs Dynamic binding Polymorfism Objekt-orienterad programmering och design Alex Gerdes, 2016 Diagnostiskt prov Shape + overlaps(shape): int return 1; Shape shape = new Shape(); Polygon tripoly =
Läs merCode-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 merStarta Egenrapportering automatiskt i Windows
EGENRAPPORTERING WINDOWS Starta Egenrapportering automatiskt i Windows En förutsättning för att starta Egenrapportering är att man har Java installerat på sin dator. Vi rekommenderar av säkerhetsskäl att
Läs merVersionshantering 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 merWorkshop IBA internet based assessment
Workshop IBA internet based assessment 2003-04-02 Ulf Jonsson Målsätttning Efter denna workshop så skall du förstå/kunna: * Beskriva olika delarna som ingår i verktyget Perception. * Konstruera enkla frågor
Läs merObjekt-orienterad Programmering och Design. TDA552 Alex Gerdes, HT-2018
Objekt-orienterad Programmering och Design TDA552 Alex Gerdes, HT-2018 Kursteamet Dr. Alex Gerdes examinator och föreläsare (Dr. Niklas Broberg föreläsare) Handledare: Sólrún Halla Einarsdóttir Yazan Ghafir
Läs mer1
www.itpedagogeek.se 1 Innehåll INNAN DU KÖR IGÅNG... 3 DET HÄR ÄR KLASSANTECKNINGSBOKEN... 3 ATT SPARA I ONENOTE... 3 MENYERNA... 3 ANTECKNINGSBOK FÖR KLASSEN... 4 STRUKTUR... 4 BYGG UPP DIN KLASSANTECKNINGSBOK...
Läs merUppstart. Agda Drift
Uppstart Agda Drift Innehåll Installation och inloggning Installation sidan 3 Inloggning Agda Drift sidan 4 Starta Agda PS sidan 5 Administration och rutiner för användning av Agda PS via Agda Drift Utskrift
Läs merB. INSTALLATIONEN AV PC-PLANNER MJUKVARAN OCH DRIVRUTINER
PC-Planner Handbok PC-Planner förvandlar din dator till en virtuell plotter (förutom GPS positionering) samtidigt som du använder dina elektroniska C-Map by Jeppesen kartor. I full färg kan du med denna
Läs merObjekt-orienterad Programmering och Design. TDA551 Alex Gerdes, HT-2016
Objekt-orienterad Programmering och Design TDA551 Alex Gerdes, HT-2016 Kursteamet Dr. Alex Gerdes kursansvarig, föreläsare Dr. Niklas Broberg examinator, (föreläsare) Fredrik Sjöholm handledare Johan Andersson
Läs mer725G61 - 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 merLabelLogic. 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 merGrattis till ett bra köp!
Grattis till ett bra köp! Du har valt världens ledande programvara för skydd av din dator. ZoneAlarm har bara i Sverige 100.000-tals användare och programmet finns att köpa i de flesta välsorterade databutiker
Läs mer1.Lär känna MS SQL Observera. Tips. Förberedelse
1.Lär känna MS SQL 2008 Observera Övningar som finns tillgängliga är till för att du ska kunna testa dina kunskaper och träna på dem. Det är helt upp till dig när du vill genomföra och om du vill genomföra
Läs merTentamen 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 merStatic vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018
Static vs Dynamic binding Polymorfism Objekt-orienterad programmering och design (DIT95) Niklas Broberg, 2018 Diagnostiskt prov Shape + overlaps(shape): int return 1; Shape shape = new Shape(); Polygon
Läs merFråga: Hur ställer jag in min router utan att använda CD skivan? Svar: Du kan ställa in din router manuellt genom att följa stegen nedan.
Fråga: Hur ställer jag in min router utan att använda CD skivan? Svar: Du kan ställa in din router manuellt genom att följa stegen nedan. Produkter som täcks in av denna guide : De flesta routrar i DIR
Läs merTeamViewer Installation och användning
TeamViewer Installation och användning Funktioner i TeamViewer TeamViewer möjliggör för lärare och faddrar att hjälpa elever och användare på distans. Det finns 2 huvudsakliga användningsområden: Fjärrstyrning
Läs merGitHub for Windows och GitShell
GitHub for Windows och GitShell En introduktion till programmen och de första grunderna i git. Det finns en tidigare introduktion. Den visar hur man skapar konto på git och använder GitHub for Windows
Läs merAntares Användning och installation
Antares Användning och installation Sidan 1 av 13 Innehåll 1. Introduktion...... 2. Antares programvara installation...... 3. Antares programvara uppdatering...... 4. Data Linker anslutning... 5. Funktioner...
Läs merUSB styrt DMX gränssnitt
USB styrt DMX gränssnitt Inledning...2 DMX bibliotek...3 Programmering av kanalerna...7 Skapa en show...11 Inledning DMX LightPlayer är mycket enkel att använda. Inför en existerande fixtur eller skapa
Läs mer