Objektorienterede metoder

Størrelse: px
Starte visningen fra side:

Download "Objektorienterede metoder"

Transkript

1 Objektorienterede metoder Gang 13. Adrætte processer Ekstremprogrammering (XP) Dette materiale er under Åben Dokumentlicens, se

2 projektopgaven i OOM Projektvejledning Marcelo Bombaci holdbarhedsdokumentationen Peter DIMS (softwaredistributionssystem) Ilsemarie Brian baseline tool (tjekke versioner af filer) Jan Bjerregaard Madsen udenlandske vareforsendelser Torben Henrik Klarskov Morten Jens Lisbeth Friis Luftforureningsvarslingssystem Anders Jørgen et PoS system Nasser Mobaraki Andedammens Regnskab Klaus Elmquist design af procedurale mønstre Anders Unittest framework for X++

3 Udviklingsprojekter i virkeligheden Tre projekter jeg har været involveret i Optimal udskæring af planker rejseplanen.dk Oprensning af meterologiske data

4 Udviklingsprojekter i virkeligheden Optimal udskæring af træplanker Del af savskærermaskine Optimeringsopgave 1) Matematisk løsning: Lineær programmering 2) Udvikler prototype i C++ Linjestykke objekter til en kurve, "matemarisk API" 3) "joh, men DSPen kan kun tage ANSII C" 4) Konverterer til "objektorienteret" C kode (svært læselig) 5) "spild skal alt andet lige placeres i for/bag/fordeles ligeligt Linjestykke objekter med krumning 6) "Nu er APIet klar kan du skrive om til at understøtte det?" 7) Etc Nye ønsker/krav dukker op løbende afvisning eller accept?

5 Udviklingsprojekter i virkeligheden rejseplanen.dk rejseplanen v0 Færdigt tysk produkt Modificeret med CGI script, der modificerede HTMLen Kun station til station rejseplanen v1 Funktioner som v0 CGI script i C++ API til motor tilgængeligt fra projektstart OO design + programmering + HTML skabeloner styret af mig Prøveballon: Ingen krav om design før programmering Andre parter: 1 assistent til API kodning, 1 projektleder med kundekontakt v1 blev en stor succes

6 Udviklingsprojekter i virkeligheden rejseplanen v2 Adressefremsøgning (hjemmelavet), kort fra Krak, billetreservation,... Uklar mudret "magtfordeling" fra start I DSB informatik: konflikt programmør databasemand Bus tog samarbejde hyrede DSB Interaktiv(!) som kunde til DSB Informatik Problematisk kunde leverandørforhold Kunstig at én virksomhed leger kunde leverandør Java servlet til Javaprogram, der kalder "motor" med API (C) "Rigtigt projekt med kunde", prestigefuldt 1) Foranalyse (krav + estimater) 2) Analyse (nye estimater) 3) Design 4) Programmering (nye krav med ønsker om nye estimater dukker op) Ønsker om hvordan adressefremsøgning skulle fungere blev lavet om flere gange af DSB Interaktiv 5) Afprøvning Mange parter, hvem bestemmer? DSB Informatik Databasefolk Programmører (flere og flere som tiden skred frem) Projektledere (skiftende) og ledere Bus tog samarbejde DSB Interaktiv: Projektledere (skiftende) HTML designhus(e!)

7 Udviklingsprojekter i virkeligheden rejseplanen v2 (fortsat) Jeg siger op (med ½ års varsel) Alligevel er ingen klar til at overtage overblikket Driftsproblemer rejseplanen v3 (nuværende) Færdigt tysk produkt Nye ønsker/krav dukker op løbende afvisning eller accept?

8 Udviklingsprojekter i virkeligheden Oprensning af meterologiske data (Cavemet2) Interpolation fra målestationer nogle af dem upålidelige Beregningskrævende Skulle efterligne Cavemet1 (fortran) Datafiler og noget af GUI er faslagt Noget af GUI lavet, manglede motor helt Jeg kommer ind som "nødhjælp" 3 måneder før projektafslutning Mange ting uafklarede Oprensningsmetoder Skal nedbør med? Jeg vælger XP lignende metode Jeg: projektleder, designer, underviser, indpisker Parprogrammering Bedre kode Undervisning Overlevering, konsensus Masser af Unit test Nye ønsker/krav dukker op løbende accept!!!

9 Udviklingsprojekter i virkeligheden Oprensning af meterologiske data (Cavemet2) Unit test demo: Udregning af funktioner private double udregnfunktion(string navn, double[] fx, double[] fy, double x) { int n = 0; // søg frem til fx[n] > x while (n<fx.length && fx[n] <= x) n++; // Tjek grænser if (n==fx.length n == 0) throw new IllegalArgumentException("Funktionen "+navn+" er ikke defineret for x-værdi "+x); // De to nærmeste punkter er n-1 og n. Udregn vægtningsforholdet a // sådan at: x=fx[n-1] => a=0 og x=fx[n] => a=1 double a = (x-fx[n-1]) / (fx[n]-fx[n-1]); // interpolér mellem de to nærmeste punkter (fy[n-1] og fy[n]) double y = (1-a)*fy[n-1] + a*fy[n]; } System.out.println("udregnFunktion: x="+x+" n="+n+" a="+a+" y="+y); return y;

10 Udviklingsprojekter i virkeligheden Skrive testmetoden (OK, jeg gjorde det først bagefter) public void testtjekkerafnedboer_udregnfunktion() { TjekkerAfNedboer t = new TjekkerAfNedboer(); double[] fx = { 0, 1, 2, 3, 4, 5, 0, 0, 0, 0}; double[] fy = { 0, 5, 2, 3, 4, 5, 0, 0, 0, 0}; assertequals( 0, t.udregnfunktion("t",fx,fy,0 ), 0.01); assertequals( 0.5, t.udregnfunktion("t",fx,fy,0.1), 0.01); assertequals( 2.5, t.udregnfunktion("t",fx,fy,0.5), 0.01); assertequals( 5, t.udregnfunktion("t",fx,fy,1 ), 0.01); assertequals( 2, t.udregnfunktion("t",fx,fy,2 ), 0.01); assertequals( 3, t.udregnfunktion("t",fx,fy,3 ), 0.01); assertequals( 3.1, t.udregnfunktion("t",fx,fy,3.1), 0.01); assertequals( 3.6, t.udregnfunktion("t",fx,fy,3.6), 0.01); assertequals( 3.9, t.udregnfunktion("t",fx,fy,3.9), 0.01); assertequals( 4, t.udregnfunktion("t",fx,fy,4 ), 0.01); assertequals( 4.999, t.udregnfunktion("t",fx,fy, ), 0.01); assertequals( 5, t.udregnfunktion("t",fx,fy,5 ), 0.01); try { t.udregnfunktion("t",fx,fy, -0.1 ); this.fail("bør ikke acceptere -0.1"); } catch (Exception ex) {} } try { t.udregnfunktion("t",fx,fy, 5.1 ); this.fail("bør ikke acceptere 5.1"); } catch (Exception ex) {}

11 Udviklingsprojekter i virkeligheden Den endelige metode public double udregnfunktion(string navn, double[] fx, double[] fy, double x) { int n = 0; // søg frem til fx[n] >= x while (fx[n] < x && n<fx.length) n++; // -1 && fx[n]<fx[n+1] // Tjek grænser if (x<fx[0] n==fx.length) throw new IllegalArgumentException("Funktionen "+navn+" er ikke defineret for x-værdi "+x); // specialtilfælde: Lige på allerførste x-punkt if (n==0) n++; // De to nærmeste punkter er n-1 og n. Udregn vægtningsforholdet a // sådan at: x=fx[n-1] => a=0 og x=fx[n] => a=1 double a = (x-fx[n-1]) / (fx[n]-fx[n-1]); // interpolér mellem de to nærmeste punkter (fy[n-1] og fy[n]) double y = (1-a)*fy[n-1] + a*fy[n]; } System.out.println("udregnFunktion: x="+x+" n="+n+" a="+a+" y="+y); return y;

12 Adrætte processer Adræt = letvægt Adaptiv reagere på det der 'dukker op' i modsætning til prediktiv at planlægge alt på forhånd et radikalt opgør med 'vandfaldsmodellen' Godt til Uklare, delvist ukendte eller skiftende krav Ansvarlige og motiverede udviklere Kunder, der forstår og gerne vil involveres i udviklingsprocessen Dårligt til Udviklingsgrupper med over 100 deltagere Kontrakter med fast defineret pris og funktionalitet Manifest for adræt programudvikling Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan (citat fra

13 Ekstremprogrammering Hyppige afleveringer Fælles metafor (sprog) Testdrevet udvikling Parprogrammering Enkelt design Refaktorering Fælles ejerskab Kunden deltager 40 timers arbejdsuge Fælles kodestandarder Løbende systemintegration

14 Ekstremprogrammering

15 Ekstremprogrammering

16 Ekstremprogrammering

17 Ekstremprogrammering

18 Adrætte processer Læsning Artikel The New Methodology Manifesto for Agile Software Development What is Extreme Programming? Extreme Programming: A gentle introduction.

Objektorienterede metoder

Objektorienterede metoder Objektorienterede metoder Gang 12. Kvalitet i større systemer Evt.: Ekstremprogrammering (XP) Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html projektopgaven i

Læs mere

Visual Studio Team System. Team Build en grundpille i søgen efter it-projektproduktivitet?

Visual Studio Team System. Team Build en grundpille i søgen efter it-projektproduktivitet? Visual Studio Team System Team Build en grundpille i søgen efter it-projektproduktivitet? Agenda: Introduktion Hvorfor Automatiseret Build Microsoft Team Build Rapportering/Data warehouse Commentor A/S

Læs mere

IT-Universitetet, Projekt- og Programledelse November 2013 AGIL PROGRAMLEDELSE 13-11-2013 1

IT-Universitetet, Projekt- og Programledelse November 2013 AGIL PROGRAMLEDELSE 13-11-2013 1 IT-Universitetet, Projekt- og Programledelse November 2013 AGIL PROGRAMLEDELSE 1 AGENDA Hvem snakker? De betydende faktorer Agil forretningsudvikling D60 leverancemodel - Bedrock Opsamling og? 2 Hvem snakker?

Læs mere

Kvalitetssikring og agile udvikling

Kvalitetssikring og agile udvikling Kvalitetssikring og agile udvikling Gæsteforelæsning for dsoftark-e10 på Århus Universitet Dagsorden Hvem er jeg og hvad er min baggrund i test og agile? Hvad kan I forvente? Agile og scrum Kvalitetssikring

Læs mere

INTERAKTIONSDESIGN PROCESSEN (KAP 9), REPETITION, KÅRING AF ÅRETS BEDSTE MUSIKVIDEO OG PROJETK

INTERAKTIONSDESIGN PROCESSEN (KAP 9), REPETITION, KÅRING AF ÅRETS BEDSTE MUSIKVIDEO OG PROJETK INTERAKTIONSDESIGN PROCESSEN (KAP 9), REPETITION, KÅRING AF ÅRETS BEDSTE MUSIKVIDEO OG PROJETK Marianne Graves Petersen Associate Professor Computer Science Dept, University of Aarhus Center for Interactive

Læs mere

Test med NUnit. Denne artikel introducerer NUnit. Den forklarer ideen med NUnit. Og den viser hvordan man konkret bruger det.

Test med NUnit. Denne artikel introducerer NUnit. Den forklarer ideen med NUnit. Og den viser hvordan man konkret bruger det. Denne guide er oprindeligt udgivet på Eksperten.dk Test med NUnit Denne artikel introducerer NUnit. Den forklarer ideen med NUnit. Og den viser hvordan man konkret bruger det. Den forudsætter kendskab

Læs mere

Bierhverv Ekstern Lektor på Institut for Ledelse. Uddannelse Cand. Oecon. Master i Organisationspsykologi PRINCE 2, Scrum-Master, Pædagogikum, etc.

Bierhverv Ekstern Lektor på Institut for Ledelse. Uddannelse Cand. Oecon. Master i Organisationspsykologi PRINCE 2, Scrum-Master, Pædagogikum, etc. Erfaring Direktør & konsulent Rosenmeiers Konsulenthus ApS Direktør ved Marselisborg Uddannelse & Management Business Manager ved ATTRACTOR Rambøll Management Udviklingschef ved ATTRACTOR Organisations

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2 DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld

Læs mere

SWC eksamens-spørgsmål. Oversigt

SWC eksamens-spørgsmål. Oversigt SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition

Læs mere

Test med JUnit 3. Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det.

Test med JUnit 3. Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det. Denne guide er oprindeligt udgivet på Eksperten.dk Test med JUnit 3 Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det. Den forudsætter kendskab

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 3 Skabende designmønstre Skabende designmønstre: Fabrikeringsmetode/Fabrik, Singleton, Abstrakt fabrik (Toolkit), Prototype, Objektpulje Eksempel: Forskellige slags

Læs mere

Curriculum Vitae. Uddannelse: 2001 Civilingeniør fra Danmaks tekniske universitet, fagprofil: styring og regulering.

Curriculum Vitae. Uddannelse: 2001 Civilingeniør fra Danmaks tekniske universitet, fagprofil: styring og regulering. Curriculum Vitae Navn Gitte Brunn Fugmann Adresse Mosegård Park 9 3500 Værløse. Telefonnr +45 3927 7371 E-mail gbr@fugmann.net Fødselsdato 24. april 1974 Fødselssted Rigshospitalet, København Ægteskabelige

Læs mere

Dag 10 Flertrådet programmering

Dag 10 Flertrådet programmering Videregående programmering i Java Dag 10 Flertrådet programmering Fremlæggelse af programmering/status for projekter Dokumentation med javadoc Flertrådede designmønstre: Arbejdstråd, Producent Konsument,

Læs mere

Jacob Nordfalk. Ingeniørhøjskolen i København. Nykøbing F itvisioncenter 24. februar 2004

Jacob Nordfalk. Ingeniørhøjskolen i København. Nykøbing F itvisioncenter 24. februar 2004 Genbrugelige komponenter og designmønstre i Java Jacob Nordfalk Ingeniørhøjskolen i København Nykøbing F itvisioncenter 24. februar 2004 Program Om Jacob Nordfalk introduktion (ikke-teknisk del) Komponentbaseret

Læs mere

Det vigtigste først! Dette er måske den vigtigste bog der nogensinde er skrevet om agile vs. vandfald. Muligvis fordi det vel stadig er den eneste

Det vigtigste først! Dette er måske den vigtigste bog der nogensinde er skrevet om agile vs. vandfald. Muligvis fordi det vel stadig er den eneste WTF? Thomas Schou-Moldt, Miracle A/S (siden 2008) Arkitekt, udvikler, teknisk projektleder, mv. Indtil videre afsonet lidt over 20 år i branchen, ingen udsigt til prøveløsladelse tsm@miracleas.dk, 5374

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

Kursusarbejde 2 Grundlæggende Programmering

Kursusarbejde 2 Grundlæggende Programmering Kursusarbejde 2 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 31. oktober 2003 Indhold 1. Kode 2 1.1. hotel.h.................................................... 2 1.2. hotel.cc...................................................

Læs mere

extreme Programming Kunders og udvikleres menneskerettigheder

extreme Programming Kunders og udvikleres menneskerettigheder extreme Programming Software Engineering 13 1 Kunders og udvikleres menneskerettigheder Kunder: At sætte mål og få projektet til at følge dem At kende varighed og pris At bestemme softwarefunktionalitet

Læs mere

C#, ASP.NET 4.0, HTML5, CSS3, WPF,

C#, ASP.NET 4.0, HTML5, CSS3, WPF, PROFIL 26 år, samboende ugift Datamatiker Erfaring med kommunikation, analyse, udvikling og IT. Speciale i C#,.NET & Visual Studio Meget lærenem / -villig & fleksibel Stærke analytiske evner, og meget

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3 DM502 Forelæsning 3 Indlæsning fra tastatur Udskrift til skærm Repetition Beregning af middelværdi Gentagelse med stop-betingelse (while) Heltalsdivision Division med nul Type-casting ( (double) ) Betinget

Læs mere

Send fra Java. Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende fra Java.

Send  fra Java. Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende  fra Java. Denne guide er oprindeligt udgivet på Eksperten.dk Send email fra Java Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende email fra Java. Simple eksempler ikke noget vildt

Læs mere

University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11

University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11 DM503 Forelæsning 11 Generics Pakker Exceptions Indhold Generics Nedarvning og Generics Generics Nedarvning og Generics Husk Box fra sidst Generics public class Box {! private T object;! public void

Læs mere

Iterativ og Agil udvikling

Iterativ og Agil udvikling Iterativ og Agil udvikling 1 2 Udfordringer i hverdagen En liste over de udfordringer man står overfor ved implementering af iterativ og agil udvikling. 3 Udfordringer med Iterationer 4 Iterationer, I

Læs mere

Scrum er ikke Agilt! Jesper Boeg, Agile Coach, Developer, Lean Consultant, jbo@trifork.com. Januar 19, 2010

Scrum er ikke Agilt! Jesper Boeg, Agile Coach, Developer, Lean Consultant, jbo@trifork.com. Januar 19, 2010 Scrum er ikke Agilt! Jesper Boeg, Agile Coach, Developer, Lean Consultant, jbo@trifork.com Januar 19, 2010 Først lidt reklame fortrifork Udvikling Public Finance IPhone Proces Scrum kurser Workshops Coaching

Læs mere

Serialization i Java

Serialization i Java Serialization i Java Tutorial lavet af Jákup W. Hansen TSU 2006 1.semester 06.novemter 2006 Hvad er Serialization? I vores tekstbog Objects First with Java bliver denne del af Java ikke gennemgået. Men

Læs mere

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation). Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer

Læs mere

Test af It-komponent

Test af It-komponent Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side

Læs mere

extreme Programming, motivation og baggrund november 2002 november 2002 Erfaringer fra XP og non-xp projekter - ved Carsten Juel Andersen 1

extreme Programming, motivation og baggrund november 2002 november 2002 Erfaringer fra XP og non-xp projekter - ved Carsten Juel Andersen 1 extreme Programming nogle observationer... Carsten Juel Andersen Softwarearkitekt juel@captator.dk www.captator.dk november 2002 Erfaringer fra XP og non-xp projekter - ved Carsten Juel Andersen 1 Min

Læs mere

Brugervejledning Avery Skabeloner i Microsoft Word. Dansk Version til www.avery.dk - www.avery.no

Brugervejledning Avery Skabeloner i Microsoft Word. Dansk Version til www.avery.dk - www.avery.no Brugervejledning Avery Skabeloner i Microsoft Word Dansk Version til www.avery.dk - www.avery.no Indholdsfortegnelse! Hvordan finder jeg Avery skabeloner i Microsoft Word? 1. I Word 2003 og tidligere versioner,

Læs mere

Exceptions i Delphi. Try except

Exceptions i Delphi. Try except Exceptions i Delphi Exceptions er en teknik til at fange fejl under programafviklingen. Ikke programmeringsfejl, men fejl der opstår i forskellige situationer, f.eks. en fil der mangler en fil der er skrivebeskyttet,

Læs mere

Udfordringer og problemstillinger. En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling

Udfordringer og problemstillinger. En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling Java og JEE 1 2 Udfordringer og problemstillinger En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling 3 Generelt om Java og JEE 4 Generelt, I Man undervurderer hvor mange

Læs mere

Programmering I Java/C#

Programmering I Java/C# Programmering I Java/C# Dit første projekt Datatekniker Intro to C# C# (C Sharp) Et enkelt, moderne, generelt anvendeligt, objektorienteret programmeringssprog Udviklet af Microsoft, ledet af danskeren

Læs mere

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger

Læs mere

Dag 10 Flertrådet programmering

Dag 10 Flertrådet programmering Videregående programmering i Java Dag 10 Flertrådet programmering Fremlæggelse af programmering/status for projekter Dokumentation med javadoc Flertrådede designmønstre: Arbejdstråd, Producent Konsument,

Læs mere

Arkitektur for begyndere

Arkitektur for begyndere Denne guide er oprindeligt udgivet på Eksperten.dk Arkitektur for begyndere Denne artikel beskriver forskellige basale n-tier arkitekturer. Som man bør kende og have valgt inden man går igang med at udvikle

Læs mere

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Merging og hashing Mål Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer (2. semester). Mål

Læs mere

Hvordan vælger jeg dokumentprofilen?

Hvordan vælger jeg dokumentprofilen? Hvordan vælger jeg dokumentprofilen? Valget af OIOUBL profil i en konkret dokumentudveksling vil bl.a. afhænge af, hvilke OIOUBL profiler den anden part i udvekslingen understøtter. Et konkret eksempel

Læs mere

Software test i Socialstyrelsen. af: Jan Kristensen. Nov 2013

Software test i Socialstyrelsen. af: Jan Kristensen. Nov 2013 Software test i Socialstyrelsen af: Jan Kristensen Nov 2013 Agenda Lidt om Socialstyrelsen IT i Socialstyrelsen Software test QA Udviklingsmetode Agurkemetoden Test cases Test automatisering Afslutning

Læs mere

Notat til Statsrevisorerne om orientering om Rigsrevisionens undersøgelse af rejsekortprojektet. December 2010

Notat til Statsrevisorerne om orientering om Rigsrevisionens undersøgelse af rejsekortprojektet. December 2010 Notat til Statsrevisorerne om orientering om Rigsrevisionens undersøgelse af rejsekortprojektet December 2010 RIGSREVISORS FAKTUELLE NOTAT TIL STATSREVISORERNE 1 Orientering om Rigsrevisionens undersøgelse

Læs mere

It-håndbogen. Uddrag af artikel trykt i It-håndbogen. Gengivelse af denne artikel eller dele heraf er ikke tilladt ifølge dansk lov om ophavsret.

It-håndbogen. Uddrag af artikel trykt i It-håndbogen. Gengivelse af denne artikel eller dele heraf er ikke tilladt ifølge dansk lov om ophavsret. It-håndbogen Uddrag af artikel trykt i It-håndbogen. Gengivelse af denne artikel eller dele heraf er ikke tilladt ifølge dansk lov om ophavsret. Børsen Ledelseshåndbøger er Danmarks største og stærkeste

Læs mere

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen. Indledning...2 Variabler...13 Eksempel: 1...13 Eksempel 2:...13 Eksempel 3:...15 Eksempel 4:...16 Metoder...17 Metode (intet ind og intet ud)...17 Metode (tekst ind)...18 Metode (tekst ind og tekst ud)...19

Læs mere

Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge:

Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge: Side 1 af 5 Ide med Diff. Min ide med differenertierings modulet er at lave et program som kan vise 3d objekter, og få lavede en konverter som kan konventer 3ds filer over til noget som flash kan bruge.

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 6 Komponenter (og lidt Swing og MVC) Læsning: VP 4, evt. VP 6 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html Grafiske komponenter

Læs mere

Bits, bit operationer, integers og floating point

Bits, bit operationer, integers og floating point Denne guide er oprindeligt udgivet på Eksperten.dk Bits, bit operationer, integers og floating point Denne artikel beskriver hvordan data gemmes som bits og hvordan man kan manipulere med bits. Den forudsætter

Læs mere

Model og Metode til Programudvikling. Jens Dalsgaard Nielsen

Model og Metode til Programudvikling. Jens Dalsgaard Nielsen Model og Metode til Programudvikling v/ Jens Dalsgaard Nielsen 1 Hvem er vi? Jens Dalsgaard Nielsen, Afd for Proceskontrol, I8 Distribuerede RT-Systems group Realtid, kerner, operativsystemer, netværk,..

Læs mere

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater Design by Contract Bertrand Meyer 1986 Design and Programming by Contract Michael R. Hansen & Anne Haxthausen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design

Læs mere

Introduktion til AOP i C#

Introduktion til AOP i C# Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til AOP i C# Denne artikel giver en introduktion AOP (Aspect Oriented Programming) i C#. Den forudsætter et pænt kendskab til programmering,

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2

Læs mere

Singleton pattern i Java

Singleton pattern i Java Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i Java Denne artikel beskriver Singleton pattern og implementation i Java. Den forudsætter kendskab til Java men ikke til Singleton.

Læs mere

Dokumentation. Karen-Louise Fejerskov

Dokumentation. Karen-Louise Fejerskov Dokumentation Grafisk Workflow Et af produkterne, jeg skulle lave, var et redesign af FreQuence s info hjemmeside. A B Punkt 1 Ansvar: Jeg har selv stået for opsætningen af hjemmeside og selv bestemt,

Læs mere

//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!

//Udskriver System.out.println(Hej  + ditfornavn +   + ditefternavn + .); System.out.println(Du er  + dinalder +  aar gammel! Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for

Læs mere

Bypassing the. Brian Marick

Bypassing the. Brian Marick Bypassing the GUI Brian Marick Problemer med GUI GUI er designet for mennesker, ikke automatisering Automatiseret test af GUI kræver specialiseret værktøjer Har tildens til at bryde ned når der sker ændringer

Læs mere

Første Semester Projekt: Fællesspisning-app

Første Semester Projekt: Fællesspisning-app Første Semester Projekt: Fællesspisning-app Problemområde: Fællesspisning i fælleshuset er en social og praktisk mulighed for beboerne i andelsforeningen XX hvor madlavningen går på tur mellem andelsforeningens

Læs mere

Linguistic support for unit testing

Linguistic support for unit testing Linguistic support for unit testing Af K. E. Gray & M. Felleisen Mads Bach-Sørensen mbs@cs.aau.dk 1. november 2007 1 Indhold Forfatterne TestJava Traditionel Unit-testing Sproglige Konstruktioner i TestJava

Læs mere

public Set(int size) { this.listelement = new LinkedList<Integer>(); }

public Set(int size) { this.listelement = new LinkedList<Integer>(); } // Henri AYCARD import java.util.linkedlist; public class Set { private LinkedList listelement; public Set(int size) { this.listelement = new LinkedList(); public boolean contains(int

Læs mere

Succesfuld implementering af automatiseret test

Succesfuld implementering af automatiseret test Succesfuld implementering af automatiseret test Forudsætningerne og faldgruberne John Fodeh john.fodeh@hp.com 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject

Læs mere

Responsivt Design - DMAA0213. Afgangsprojekt DMAA0213

Responsivt Design - DMAA0213. Afgangsprojekt DMAA0213 Responsivt Design - DMAA0213 Afgangsprojekt DMAA0213 Jesper Bjørn Andersen 18-06-2015 5. semester, afgangsprojekt - Responsivt Design Vejleder: Gunhild Marie Andersen Afsluttet: 18 Juni 2015 Deltager:

Læs mere

Kursusarbejde 1 Grundlæggende Programmering. Arne Jørgensen, 300473-2919 klasse dm032-1a

Kursusarbejde 1 Grundlæggende Programmering. Arne Jørgensen, 300473-2919 klasse dm032-1a Kursusarbejde 1 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 3. oktober 2003 Kode //File Name: kaalhovede.cc //Author: Arne Jørgensen //Email Address: arne@arnested.dk, arnjor@niels.brock.dk

Læs mere

Konsulent resume. Referencer Svend Holm Henriksen IT-udviklingschef Region Syddanmark +45/76631169 svend.holm.henriksen@regionsyddanmark.

Konsulent resume. Referencer Svend Holm Henriksen IT-udviklingschef Region Syddanmark +45/76631169 svend.holm.henriksen@regionsyddanmark. Konsulent resume Navn: Adresse: Kemal Pajevic Klingstrupvænget 105, 2-tv 5230 Odense M Telefon: 29726221 / 63130411 Email: kemal@pajevic.dk Født: 31.07.1982 Civilstand: Gift Jeg er en meget åben og udadvendt

Læs mere

Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4

Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4 Læringsprogram Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4 R o s k i l d e T e k n i s k e G y m n a s i u m Indholdsfortegnelse FORMÅL...

Læs mere

FØR DU TESTER TILGÆNGELIGHED PÅ HJEMMESIDER

FØR DU TESTER TILGÆNGELIGHED PÅ HJEMMESIDER FØR DU TESTER TILGÆNGELIGHED PÅ HJEMMESIDER VEJLEDNING Vejledning til tilgængelighedstest Digitaliseringsstyrelsen 2012 Design: www.kopilot.dk 1 Før du tester tilgængelighed på hjemmesider Det er ofte

Læs mere

Sekvensafstand DM34 - Eksamensopgave. Jacob Aae Mikkelsen

Sekvensafstand DM34 - Eksamensopgave. Jacob Aae Mikkelsen Sekvensafstand DM34 - Eksamensopgave Jacob Aae Mikkelsen 19 10 76 kokken@grydeske.dk 27. maj 2005 Resumé Rapporten her beskriver tre forskellige rekursive metoder til at sammenligne tekst strenge med.

Læs mere

REKLAMEBANNER FOR MEDINA

REKLAMEBANNER FOR MEDINA REKLAMEBANNER FOR MEDINA http://mul112.itkn.dk/medina/index.html Et projekt af gruppe 8, multimediedesign B, Cphbusiness 2013 CHRISTIAN SONNE ROSENDAHL, CPH-CR104@CPHBUSINESS.DK KAREN LISE KRAGELUND, CPH-KK151@CPHBUSINESS.DK

Læs mere

Curriculum vitae. Personlige oplysninger. Præsentation. Projekterfaring

Curriculum vitae. Personlige oplysninger. Præsentation. Projekterfaring Curriculum vitae Personlige oplysninger Navn: Michael Sig Adresse: Hesseløgade 4, 3.th. 2100 København Ø Telefonnr.: 40 97 50 49 www: www.sig-logik.dk Email: michael@sig-post.dk Alder: 32 år (født d. 21.9.1974)

Læs mere

Curriculum Vitae PETER VILLADSEN MOBIL: +45 5080 1010 E-MAIL: PVILLADSEN@GMAIL.COM RAVNSBORGVEJ 91 DK-4600 KØGE WWW.PVILLADSEN.DK

Curriculum Vitae PETER VILLADSEN MOBIL: +45 5080 1010 E-MAIL: PVILLADSEN@GMAIL.COM RAVNSBORGVEJ 91 DK-4600 KØGE WWW.PVILLADSEN.DK Curriculum Vitae PETER VILLADSEN MOBIL: +45 5080 1010 E-MAIL: PVILLADSEN@GMAIL.COM RAVNSBORGVEJ 91 DK-4600 KØGE WWW.PVILLADSEN.DK Profil Erfaren udvikler med teknisk indsigt. Arbejder pt. meget med udvikling

Læs mere

Agil-model versus V-model set i lyset af en testers dilemmaer

Agil-model versus V-model set i lyset af en testers dilemmaer Agil-model versus V-model set i lyset af en testers dilemmaer 1 Præsentation Foredragsholder Ane Clausen: Cand.Scient i Datalogi Københavns Universitet, Danmark Gift, 3 børn 25 års erfaring med IT: 12

Læs mere

Web- og serverprogrammering

Web- og serverprogrammering Web- og serverprogrammering Arkitekturer i webprogrammer - dag 6 Model-View-Controller-arkitukturen Flerlags-arkitekturer Læsning: WJSP 10 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html

Læs mere

Uge 5.3: (Search,) Select & implement and development methods

Uge 5.3: (Search,) Select & implement and development methods Innovationsprocesser Uge 5.3: (Search,) Select & implement and development methods A A R H U S U N I V E R S I T E T Department of Computer Science 1 Innovation & ICT development *** Innovation *** * ***

Læs mere

02101 Indledende Programmering Introduktion til Eclipse

02101 Indledende Programmering Introduktion til Eclipse 02101 Indledende Programmering Introduktion til Eclipse Version 2018 1 Introduktion I dette kursus lægger vi op til at man bruger det integrerede udviklingsmiljø Eclipse. Basalt set er et integreret udviklingsmiljø

Læs mere

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Programmering C Eksamensprojekt Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Indledning Analyse Læring er en svær størrelse. Der er hele tiden fokus fra politikerne på, hvordan de danske skoleelever kan

Læs mere

Synopsis: Tema: Design og vurdering af et edbsystem i samarbejde med brugere

Synopsis: Tema: Design og vurdering af et edbsystem i samarbejde med brugere 15pt0pt Department of Computer Science Informatik Fredrik Bajers Vej 7E DK-9220 Aalborg Øst http://www.cs.aau.dk Titel: Workout & Fitnesss Tema: Design og vurdering af et edbsystem i samarbejde med brugere

Læs mere

Scrum er ikke Agilt! Jesper Boeg, Agile Coach jbo@trifork.com. 2. september, 2010

Scrum er ikke Agilt! Jesper Boeg, Agile Coach jbo@trifork.com. 2. september, 2010 Scrum er ikke Agilt! Jesper Boeg, Agile Coach jbo@trifork.com 2. september, 2010 Først lidt reklame fortrifork Udvikling Public Finance IPhone Proces Scrum kurser Workshops Coaching Verdens bedste konferencer

Læs mere

Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt.

Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt. Merging og hashing Mål Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer

Læs mere

extreme Programming Hvad er XP?

extreme Programming Hvad er XP? extreme Programming Ole Monrad Selandia - Center for Erhvervsuddannelse 1 Hvad er XP? Hvad er XP? XP er en letvægts, effektiv, lavrisiko, flexibel, forudsigelige, videnskabelig og morsom måde at udvikle

Læs mere

SigmaT.

SigmaT. Java + Groovy Disposition Om SigmaT Eksempel på indlejring af Groovy Overvågning af PEM Ønske om dynamisk loaded Java uden at fifle med classloaderen Groovy til hjælp Opsamling hvad jeg ikke har fortalt

Læs mere

Det er muligt at chekce følgende opg. i CodeJudge: og

Det er muligt at chekce følgende opg. i CodeJudge: og Det er muligt at chekce følgende opg. i CodeJudge:.1.7 og.1.14 Exercise 1: Skriv en forløkke, som producerer følgende output: 1 4 9 16 5 36 Bonusopgave: Modificer dit program, så det ikke benytter multiplikation.

Læs mere

Undtagelseshåndtering i C#

Undtagelseshåndtering i C# Denne guide er oprindeligt udgivet på Eksperten.dk Undtagelseshåndtering i C# I modsætning til C++ kan man i C# ikke skrive et program uden undtagelseshåndtering, så derfor har jeg skrevet denne guide

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Java Klasse nedarvninger

Java Klasse nedarvninger Denne guide er oprindeligt udgivet på Eksperten.dk Java Klasse nedarvninger Et let lille overblik i hvordan klasse nedarvning virker i java Skrevet den 07. dec 2011 af mochners I kategorien Programmering

Læs mere

Hvilket sprog er hurtigst

Hvilket sprog er hurtigst Denne guide er oprindeligt udgivet på Eksperten.dk Hvilket sprog er hurtigst Denne artikel forsøger at aflive forskellige myter om hvilke sprog der er hurtigst. Den forudsætter ikke noget særligt. Skrevet

Læs mere

Specifikationsdokument for PDF Validator API

Specifikationsdokument for PDF Validator API Nets DanID A/S Lautrupbjerg 10 DK 2750 Ballerup T +45 87 42 45 00 F +45 70 20 66 29 info@danid.dk www.nets-danid.dk CVR-nr. 30808460 Specifikationsdokument for PDF Validator API DanID A/S 17. august 2012

Læs mere

Nye Java XML API'er

Nye Java XML API'er Denne guide er oprindeligt udgivet på Eksperten.dk Nye Java XML API'er Denne artikel beskriver nye XML features i Java 1.6 - StAX og JAXB, samt XStreams. Den forudsætter kendskab til Java og brug

Læs mere

Kursusarbejde 3 Grundlæggende Programmering

Kursusarbejde 3 Grundlæggende Programmering Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................

Læs mere

Tema: Design og vurdering af et edbsystem i samarbejde med brugere. Synopsis:

Tema: Design og vurdering af et edbsystem i samarbejde med brugere. Synopsis: Datalogisk institut Informatik Fredrik Bajers Vej 7, bygning E Telephone: (45) 9635 8080 Telefax: (45) 9815 9889 http://cs.aau.dk Titel: Café Chic Tema: Design og vurdering af et edbsystem i samarbejde

Læs mere

Introduktion til funktioner, moduler og scopes i Python

Introduktion til funktioner, moduler og scopes i Python Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for

Læs mere

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007 MySQL i Java Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007 Hvad er MySQL? Det er et database system, som er gratis for os at bruge. Det er lidt mere besværligt i starten at bruge

Læs mere

Som sagt kræves der helst lidt viden om OOP hvis man virkelig vil lærer noget, og ikke bare lave copypaste

Som sagt kræves der helst lidt viden om OOP hvis man virkelig vil lærer noget, og ikke bare lave copypaste Denne guide er oprindeligt udgivet på Eksperten.dk Indkøbsvogn i PHP I denne artikel vil jeg prøve at lave en indkøbskurv som let kan udvides, og som ikke er svær at forstå. Det er bedst med viden om OOP(klasser),

Læs mere

Sprog billeder kortlink.dk/rudd

Sprog billeder kortlink.dk/rudd Sprog billeder kortlink.dk/rudd Workshop beskrivelse I denne workshop vil vi kigge på strategier for ordblinde elever i matematikvanskeligheder samt vigtigheden af, at eleverne laver visuelle repræsentationer

Læs mere

Indhold Ide:... 1 Udviklingsmiljø:.. 1

Indhold Ide:... 1 Udviklingsmiljø:.. 1 Navne: Anton Christiansen, Mads Nysom og Mikki Karlsen Klasse: 3.3 Skole: Roskilde Tekniske Gymnasium Fag: Informationsteknologi B Dato: 15/5 2014 Indhold Ide:... 1 Udviklingsmiljø:.. 1 Kravspecifikation:.

Læs mere

SPØRGSMÅL TIL UDBUD AF RAMMEAFTALER VEDRØRENDE KONSULENTBISTAND TIL DANMARKS MILJØPORTAL

SPØRGSMÅL TIL UDBUD AF RAMMEAFTALER VEDRØRENDE KONSULENTBISTAND TIL DANMARKS MILJØPORTAL SPØRGSMÅL TIL UDBUD AF RAMMEAFTALER VEDRØRENDE KONSULENTBISTAND TIL DANMARKS MILJØPORTAL EU-UDBUD NR. 2014/S 115-203019 Offentliggjort i EU-tidende den: 18. juni 2014 (version 3. juli 2014) Page 1 of 7

Læs mere

Første OCIT-udbud i Danmark En status fra Aarhus

Første OCIT-udbud i Danmark En status fra Aarhus Første OCIT-udbud i Danmark En status fra Aarhus Asbjørn Halskov, Aarhus Kommune Bjørn Weitemeyer, COWI A/S 1 Agenda Hvorfor OCIT? Udbudsstrategi Kravspecifikationer Resultat Aktuel status og fremtiden

Læs mere

Tema: Half Double i digitaliseringsprojekter

Tema: Half Double i digitaliseringsprojekter Kundens forretningsressourcer er ikke tilstrækkelig involveret i udviklings- og implementerings-projektet Kerneidé for projektarbejdet formuleres igennem en proces opdelt i fem faser Inddragelse af brugere,

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 7 Swing og MVC Swing: MVC, Datamodeller, JTable, evt. JTree Evt.: Swing: Præsentations og kontroldel Læsning: VP 6 Dette materiale er under Åben Dokumentlicens, se

Læs mere

DM502. Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/

DM502. Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/ DM502 Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/ 1 DM502 Bog, ugesedler og noter De første øvelser Let for nogen, svært for andre Kom til øvelserne! Lav opgaverne!

Læs mere

OrCAD Capture TCL IDE med Eclipse

OrCAD Capture TCL IDE med Eclipse OrCAD Capture TCL IDE med Eclipse OrCAD Capture TCL er et script sprog til at lave applikationer til OrCAD Capture. Eclipse er et gratis udviklingsmiljø med debug muligheder. Denne guide hjælper med at

Læs mere

Hvorfor skal vi bruge objekt orienteret databaser?

Hvorfor skal vi bruge objekt orienteret databaser? OODBMS Vs. RDBMS 1 Indholdsfortegnelse Hvorfor skal vi bruge objekt orienteret databaser?... 3 OODBMS i erhvervslivet... 4 Bagsiden af medaljen... 5 OODBMS i praksis... 6 Konklusion... 8 2 Hvorfor skal

Læs mere

SAX Simple API for XML.

SAX Simple API for XML. SAX Simple API for XML. En API (Application Programming Interface) et bibliotek eller et sæt af funktioner eller metoder. SAX er et sådant bibliotek af abstrakte metoder som f. eks. startdocument() eller

Læs mere

Installationsguide. Integration af erhvervsdata fra NN Markedsdata til Microsoft Dynamics NAV 2015

Installationsguide. Integration af erhvervsdata fra NN Markedsdata til Microsoft Dynamics NAV 2015 Installationsguide Integration af erhvervsdata fra NN Markedsdata til Microsoft Dynamics NAV 2015 Indledning Dette dokument indeholder vejledning til installation af modulet NN Markedsdata i Dynamics NAV

Læs mere

Grundlæggende OOA - OOD

Grundlæggende OOA - OOD Grundlæggende OOA - OOD Dette kursus henvender sig til personer, der har lille eller ingen erfaring med softwareudvikling. Med udgangspunkt i UML opbygges et solidt kendskab til softwareudviklingens kunst

Læs mere

Eksempel: et ordresystem note 5 Lagdeling s. 1

Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordre-system NiceHair er et firma, som sælger udstyr, inventar og frisørartikler til frisørsaloner over hele landet. Det er ejet af et ægtepar

Læs mere