Hoe snel loopt iemand de 100 meter?!
|
|
- Adriana Coppens
- 6 jaren geleden
- Aantal bezoeken:
Transcriptie
1 4.1! Hoe snel loopt iemand de 100 meter?!
2 4.2! Tijdsschatting! Analogie & Decompostie! Empirische schatting! Plan 2.0 & Plan 2.1! Conclusie! TicTacToe! Code Hergebruik => TestCase! HTML Uitvoer => polymorfisme! Undo => Lijsten & polymorfisme! 4.
3 4.3! "Ontwikkel" vereisten! Vereisten! Betrouwbaarheid! Aanpasbaarheid! Technieken! Testen + Contracten! Objectgericht ontwerp! Tijdsschatting!
4 4.4! Schatting door analogie! Analogie! Schatting = tijd gelijkaardig project! Wanneer gelijkaardig?! Zelfde probleemdomein! Zelfde mensen! Zelfde technologie! Empirisch! gespendeerde tijd voorbije projecten dient als basis voor schatting volgende!
5 4.5! Y! Empirische schatting (project)! y = a x b! (b ±= 1)! Schat totale duur van project op basis van vorige projecten! Ontwikkeltijd! Legende! = Voorbij! = Prognose! Grootte project! X!
6 4.6! Schatting door decompositie! Decompositie! Schatting = tijd componenten + integratiekost! Tijd componenten?! cfr. opgeleverde componenten! Integratiekost?! constant (mits testen en OO)! Empirisch! gespendeerde tijd eerste componenten dient als basis voor schatting volgende!
7 4.7! Y! Empirische schatting (component)! y = m x! Schat duur van één component op basis van opgeleverde componenten! Ontwikkeltijd component! Legende! = Opgeleverd! = Prognose! Grootte component! X!
8 4.8! Grootte en Tijd! x = Grootte Component?! # stappen + #uitzonderingen in use case! y = Ontwikkellingstijd?! Zie tijdsbladen! vergelijking benaderende rechte! y = mx! Na oplevering n componenten: (x n, y n )!=> m = y n / x n! Schatting y n+1 voor grootte x n+1!!=> y n+1 = m.x n+1!
9 4.9! Vuistregel! Empirische schatten is de basis voor een realistische planning.! Waarom?! Betere controle over aanpassingen aan de planning! Hoe?! Hou tijdsbladen nauwkeurig bij! Maak prognose op basis van gespendeerde werk in het verleden!
10 4.10! Use Case Grootte! player play #stappen = 5! #uitzond. = 1! grootte = 6! Use Case 1: play!! Steps! 1. Two players start up a game (First is "O"; other is "X")! 2. WHILE game not done! 2.1 Current player makes move! 2.2 Switch current player! 3. Anounce winner! Exceptions! 2.1. [Illegal Move] System issues a warning => continue from step 2.1!
11 4.11! Voorbeelden! Zie voorbeelden in PlanTmpl20 & PlanTmpl21!
12 4.12! Conclusie! Betrouwbare prognoses zijn belangrijk! Hou tijdsbladen nauwkeurig bij!! Schatten impliceert fouten! Voorzie een redelijke marge! Vertrouw niet blindelings op de cijfertjes!
13 4.13! Code Hergebruik! TicTacToeTest setup()! teardown()! init()! fail(msg: ARRAY OF CHAR)! should(b: BOOLEAN, msg: ARRAY OF CHAR): BOOLEAN! shouldnot(b: BOOLEAN, msg: ARRAY OF CHAR): BOOLEAN! comparefiles(filename1, filename2: ARRAY OF CHAR): BOOLEAN! testbasicplayer(verbose: BOOLEAN): BOOLEAN! testlegalmoves(verbose: BOOLEAN): BOOLEAN! testrealgame(verbose: BOOLEAN): BOOLEAN! testoutputgame(verbose: BOOLEAN): BOOLEAN! TicTacToeTest is groot! code leesbaarheid! hergebruik? copy + delete + insert! Aanpasbaarheid :(!
14 4.14! Code Hergebruik! UnitTest setup()! teardown()! init()! fail(msg: ARRAY OF CHAR)! should(b: BOOLEAN, msg: ARRAY OF CHAR): BOOLEAN! shouldnot(b: BOOLEAN, msg: ARRAY OF CHAR): BOOLEAN! comparefiles(filename1, filename2: ARRAY OF CHAR): UnitTest BOOLEAN! is superklasse! bevat algemene code! hergebruik? subklasse per TicTacToeTest te testen component/klasse! setup()! teardown()! init()! TicTacToeTest is subklasse! testbasicplayer(verbose: BOOLEAN): BOOLEAN! erft algemene code! testlegalmoves(verbose: BOOLEAN): BOOLEAN! overschrijft setup, init & teardown! testrealgame(verbose: BOOLEAN): BOOLEAN! bevat alleen relevante code! testoutputgame(verbose: BOOLEAN): BOOLEAN!
15 4.15! Vuistregel! Hollywood Principle! wij roepen jouw op als we je nodig hebben! Waarom?! Uitbreiding van bibliotheken via subklasses! Hoe?! Superklasse in bibliotheek legt protocol van oproepen vast! Subklassen kunnen gedrag uitbreiden!
16 Generisch Unittest Protocol! : UnitTest object under test 2.16! setup("testxxx") testxxxx() UnitTest setup(testcase:!array OF CHAR)! run()! teardown()! should ( ): BOOLEAN! shouldnot ( ): BOOLEAN! run()! NEW(); init(); xxx1ststimulus! shouldnot(xxx1stobservation)! xxx2ndstimulus! should(xxx2ndobservation)! Evaluatie Criteria! Obj. Collaboratie! teardown() Betrouwbaarheid!
17 4.17! Vuistregel! Klassen die vaak herbruikt worden hebben preciese contracten! Waarom?! Betere betrouwbaarheid door precieze beschrijving interface! Hoe?! Leg de normale volgorde van oproepen vast! Specifieer volgorde via de respectievelijke pre- en postcondities!
18 4.18! Oproepvolgorde voor UnitTest! Initialized! Init()! SetUp()! Setup! Run()! Running! TornDown! TearDown()!
19 4.19! PROCEDURE (atest : UnitTest) Init;! Contracten voor UnitTest!!(* postcondition (120): atest^.isinitialized() *)!(* postcondition (120): ~ atest^.issetup() *)!!(* postcondition (120): ~ atest^.isrunning() *)!(* postcondition (120): atest^.istorndown() *)! PROCEDURE (atest : UnitTest) SetUp (testcase: ARRAY OF CHAR);!!(* precondition (100): atest^.isinitialized() *)!(* precondition (100): atest^.istorndown() *)!!(* precondition (100): LEN(testCase) < MaxTestCaseLength *)!!(* postcondition (120): atest^.issetup() *)!(* postcondition (120): ~ atest^.istorndown() *)! PROCEDURE (atest : UnitTest) Run;!!(* precondition (100): atest^.isinitialized() *)!(* precondition (100): atest^.issetup() *)!!(* postcondition (120): ~ atest^.issetup() *)!(* postcondition (120): atest^.isrunning() *)! PROCEDURE (atest : UnitTest) TearDown;!!(* precondition (100): atest^.isinitialized() *)!(* precondition (100): atest^.isrunning() *)!!(* postcondition (120): ~ atest^.isrunning() *)!(* postcondition (120): atest^.istorndown() *)!
20 4.20! Vuistregel! Schrijf testcode als subklasse(n) van UnitTest! Waarom?! Betere onderhoudbaarheid van de testcode! Hoe?! Maak een subklasse van UnitTest per te testen component! Overschrijf Init(), SetUp(), TearDown(), Run ()!
21 4.21! HTML Uitvoer (TTT16b)! player play <<extends>> play HTML output Use Case 3: play HTML output! Extension of use case 1! Steps! use case 1 + additional steps! afer 2.2! during 3! 2.3 write game on HTML (table)! 3 write winner on HTML text! (Erg gelijkaardig aan use case 2)! => inheritance & polymorfisme?!
22 4.22! PROCEDURE (atictactoe: TicTacToe) writehtmlon* (VAR w: Texts.Writer);!! BEGIN!!Texts.WriteString(w, "<P>");!!!Texts.WriteString(w, "TicTacToe game after move ");!!Texts.WriteInt(w, atictactoe.nrofmoves, 0);!!Texts.WriteString(w, "</P>");Texts.WriteLn(w);!!Texts.WriteString(w, "<TABLE BORDER>");Texts.WriteLn(w);!!FOR i := 0 TO 2 DO!!!Texts.WriteString(w, " <TR>");Texts.WriteLn(w);!!!FOR j := 0 TO 2 DO!!!!Texts.WriteString(w, " <TD>");!!!!!!!!END;! "Ongeveer" gelijk! aan writeon! => duplicatie!
23 4.23! PROCEDURE (atest: TicTacToeTest) testoutputgame* (!!!writehtml: BOOLEAN): BOOLEAN;!!!IF writehtml THEN!!!!Texts.WriteString(w, "<HTML>");Texts.WriteLn(w);!!!Texts.WriteString(w, "<HEAD>");Texts.WriteLn(w);!!!!!END;!!WHILE atest.agame.notdone() DO!!!aTest.aGame.doMove();!!!IF writehtml THEN atest.agame.writehtmlon(w);!!!!else atest.agame.writeon(w); END;!!END;!!IF writehtml THEN!!!Texts.WriteString(w, "</BODY></HTML>");Texts.WriteLn(w);!!END;!!!! => complexe conditionele logica!
24 4.24! Vuistregel! Vermijd code duplicatie! & complexe logica! Refactor:! code duplicatie: gelijkaardige code in de superklasse; verschillen in subklassen! complexe logica: normaal geval in de superklasse; speciale gevallen in de subklassen!
25 4.25! TicTacToe! TicTacToe writeon()! writehtmlon()! TicTacToeTest! TicTacToeTest testoutputgame()! Splits Klassen (TTT16)! TicTacToeOutput! Evaluatie Criteria! printobjecten/iterators! TicTacToeOutput startpage()! endpage()! startboard()! endboard()! startrow(row: CHAR)! endrow()! boardlocation(row, column, marker: CHAR)! TicTacToeHTMLOutput
26 PROCEDURE (atest: TicTacToeTest) testoutputgame* (!!!writehtml: BOOLEAN): BOOLEAN;!!!Texts.OpenWriter(w);!!output.init ();!!output.startpage(w);!!while atest.agame.notdone() DO!!!aTest.aGame.doMove();!!!aTest.aGame.writeOn(w, output)!!end;!!output.endpage(w);!!! complexe condities =>! polymorfisme! 4.26!
27 4.27! PROCEDURE (atictactoe: TicTacToe) writeon* (VAR w: Texts.Writer;!!output: TicTacToeOutput.TicTacToeOutput);! BEGIN!!output.startSentences(w);!!Texts.WriteString(w, "TicTacToe game after move ");!!Texts.WriteInt(w, atictactoe.nrofmoves, 0);!!output.endSentences(w);!!output.startBoard(w);!!FOR i := 0 TO 2 DO!!!!!!output.startRow(w, CHR(ORD("1") + i));!!!for j := 0 TO 2 DO!!!!output.boardLocation( );!!!END;!!!output.endRow(w);!!!!!END;! output.endboard(w);! extra parameter! controleert verschil! verschillen in! gedupliceerde code! =>! polymorfisme!
28 4.28! Undo! player play <<extends>> play with undo option Use Case 4: play with undo option! Extension of use case 1! Steps! use case 1 + additional steps! afer 2.1! current player undo move! goto 2 (restart while loop)!
29 4.29! Undo Algoritme?! Hou een lijst bij met verloop spelstatus!!!tictactoedata* = RECORD (OOLists.NodeDesc)!!!!nrOfMoves: INTEGER;!!!!board: ARRAY 3, 3 OF CHAR;!!!!players: ARRAY 2 OF Player;!!!!lastCol, lastrow, lastmark : CHAR;!!!!theWinner: Player;!!!END;! Herbruik bestaande code! Maar! Klassen die vaak herbruikt worden hebben preciese contracten!
30 4.30! PROCEDURE (l : List) Init ();! Contracten voor OOLists?! PROCEDURE (l : List) LocateFirst ();! PROCEDURE (l : List) LocateLast ();! PROCEDURE (l : List) LocateNode (n: Node);! PROCEDURE (l : List) LocatePrev ();! PROCEDURE (l : List) LocateNext ();! PROCEDURE (l : List) InsertBefore (new: Node);! PROCEDURE (l : List) InsertAfter (new: Node);! PROCEDURE (l : List) Delete ();! PROCEDURE (l : List) GetNode (): Node;! PROCEDURE (l : List) Enumerate (P: NodeProc);! PROCEDURE (n : Node) NodeInfo ();! Contracten? Moeilijk want interface zonder predicaten!
31 4.31! Lijst met predicaten! PROCEDURE (l : List) Init ();!!(* postcondition (120): l^.isinitialized() *)! PROCEDURE (l : List) Includes (n: Node): BOOLEAN;!!(* precondition (100): l^.isinitialized() *)! PROCEDURE (l : List) Insert (new: Node);!!(* precondition (100): l^.isinitialized() *)!!(* postcondition (120): l^.includes(new) *)! PROCEDURE (l : List) Delete (old: Node);!!(* precondition (100): l^.isinitialized() *)!!(* postcondition (120): ~ l^.includes(new) *)! Evaluatie Criteria! Reuse (lijsten)! Contracten? Makkelijker want interface met veel predicaten!
32 4.32! Vuistregel! Prefereer een interface met predicaten! Waarom?! Betere betrouwbaarheid door eenvoudige contracten! Hoe?! Specifieer predicaten voor hoofdfunctionaliteit component! Roep predicaten op in pre- en post-condities!
33 4.33! Testen! Vuistregels! Schrijf testcode als subklasse(n) van UnitTest! Ontwerpen! Vermijd code duplicatie & complexe logica! Hollywood Principle wij roepen jouw op als we je nodig hebben! Klassen die vaak herbruikt worden hebben preciese contracten! Prefereer een interface met predicaten! Plannen! Empirische schatten is de basis voor een realistische planning!
Hoe snel loopt iemand de 100 meter? 4. Planning. Schatting door analogie. Vereisten
Hoe snel loopt iemand de 100 meter? Tijdsschatting + Analogie & Decompostie + Empirische schatting - Plan 2.0 & Plan 2.1 Conclusie versie 1.7 en 1.8 - Player. winner() Enkele vuistregels + Hollywood principe
Nadere informatieHoe snel loopt iemand de 100 meter? 4. Planning
Hoe snel loopt iemand de 100 meter? 1 Tijdsschatting + Analogie & Decompostie + Empirische schatting - Plan 2.0 & Plan 2.1 Conclusie TicTacToe17 en TicTacToe18 - Player. winner() Enkele vuistregels + Hollywood
Nadere informatieHoe snel loopt iemand de 100 meter? 4. Planning. Schatting door analogie. Vereisten
Hoe snel loopt iemand de 100 meter? Tijdsschatting + Analogie & Decompostie + Empirische schatting - Plan 2.0 & Plan 2.1 Conclusie TicTacToe17 en TicTacToe18 - Player. winner() Enkele vuistregels + Hollywood
Nadere informatieHoe snel loopt iemand de 100 meter? 4. Planning
Hoe snel loopt iemand de 100 meter? 1 Tijdsschatting + Analogie & Decompositie + Empirische schatting - Plan 2.0 & Plan 2.1 Conclusie TicTacToe17 en TicTacToe18 - Player. winner() Enkele vuistregels +
Nadere informatieInleiding Software Engineering!
Cursus 1rste Bachelor Informatica! Academiejaar 2010-2011! Serge Demeyer Universiteit Antwerpen! Universiteit Antwerpen! 1.1! 1.2! Doel! Contactpersonen! Inhoud! Opbouw! Mijlpalen! Tijdsbesteding! Eindbeoordeling!
Nadere informatie3.1! Complexe Interacties!
3.1! Complexe Interacties! 3.2! Een optimale werkverdeling! play play play play 3.3! 3. Aanpasbaarheid: TicTacToe! versie 1.1b (displaygame)! koppeling / cohesie! versie 1.2 (Player)! domeinmodel! versie
Nadere informatie2.1! Ontdek de 7 verschillen!
2.1! Ontdek de 7 verschillen! 2.2! Een oplossing met een foutje! 2.3! Software Engineering! Wat?! Bouw vs. Ontwikkel! Vereisten! 2. (Aanpasbaarheid & Planning)! Betrouwbaarheid: TicTacToe! specificatie!
Nadere informatie13/02/2018. Complexe Interacties. Betrouwbaarheid: Vergelijk. 3. Aanpasbaarheid
Complexe Interacties Gedrag voor elke klasse is anders! - start playing - stop playing - play softer - play louder - Relatie? Betrouwbaarheid: Vergelijk versie 13 (displaygame) 0, 1, infinity principle
Nadere informatieSerge Demeyer Universiteit Antwerpen. Project Software Engineering. 1ste Bachelor Informatica Academiejaar Cursus. Universiteit Antwerpen
Project Software Engineering Cursus 1ste Bachelor Informatica Academiejaar 2015-2016 Serge Demeyer Universiteit Antwerpen Universiteit Antwerpen 1.Praktisch Doel Contactpersonen Inhoud Opbouw Mijlpalen
Nadere informatieOntdek de 7 verschillen. Een oplossing met een foutje. Wat is Software Engineering? 2. Betrouwbaarheid
Ontdek de 7 verschillen Een oplossing met een foutje 1 2 2. Betrouwbaarheid Wat is Software Engineering? Software Engineering Wat? Bouw vs. Ontwikkel Vereisten + Betrouwbaarheid + (Aanpasbaarheid & Planning)
Nadere informatieDesign principes.
Design principes joost.vennekens@kuleuven.be Motivatie Software projecten mislukken vaker Vaker dan bouwkunde Vaker dan EM Vaker dan Oorzaak? Omgaan met verandering Vereisten Technologie Externe systemen
Nadere informatieInleiding Software Engineering! Unit Testing, Contracten, Debugger! 13 Februari 2014!
Inleiding Software Engineering Unit Testing, Contracten, Debugger 13 Februari 2014 Beknopte info over Unit Testing en Contracten kan je vinden op het einde van dit document. Eclipse beschikt over een handige
Nadere informatieOntdek de 7 verschillen. 2.Betrouwbaarheid
Ontdek de 7 verschillen 1 Een oplossing met een foutje 2 2. Betrouwbaarheid Software Engineering Wat? Bouw vs. Ontwikkel Vereisten + Betrouwbaarheid + (Aanpasbaarheid & Planning) Betrouwbaarheid: TicTacToe
Nadere informatieOntdek de 7 verschillen. 2.Betrouwbaarheid
Ontdek de 7 verschillen 1 Een oplossing met een foutje 2 2. Betrouwbaarheid Software Engineering Wat? Bouw vs. Ontwikkel Vereisten + Betrouwbaarheid + (Aanpasbaarheid & Planning) Betrouwbaarheid: TicTacToe
Nadere informatieOntdek de 7 verschillen. Een oplossing met een foutje. Wat is Software Engineering? 2. Betrouwbaarheid
Ontdek de 7 verschillen Een oplossing met een foutje 1 2 2. Betrouwbaarheid Wat is Software Engineering? Software Engineering Wat? Bouw vs. Ontwikkel Vereisten + Betrouwbaarheid + (Aanpasbaarheid & Planning)
Nadere informatieDesign principes.
Design principes joost.vennekens@kuleuven.be Doelstelling Code die werkt doet wat klant wil betrouwbaar is gemakkelijk te veranderen is En dit ook blijft doen Software rot Rottende software geeft geurtjes
Nadere informatieTesten Aanvullende nota s inleiding software engineering
Testen Aanvullende nota s inleiding software engineering Filip Van Rysselberghe and Andy Zaidman Academiejaar 2003-2004 Versie 1.0 1 INLEIDING 1 1 Inleiding Software schrijven houdt meer in dan code intikken
Nadere informatieOntwerp van Informatiesystemen
1ste bach HIB Ontwerp van Informatiesystemen Prof. Verelst Q www.quickprinter.be uickprinter Koningstraat 13 2000 Antwerpen 112 2,50 Online samenvattingen kopen via www.quickprintershop.be Table of Contents
Nadere informatieVI. Klassen en objecten
VI. Klassen en objecten Klassen en objecten vormen het fundament van OOP. We zullen dus uitgebreid aandacht besteden aan klassen en objecten. U kunt Java niet begrijpen zonder goed met klassen en objecten
Nadere informatieProject network. Gebaseerd op paragrafen , uit het boek. We simuleren een sociaal netwerk
Project network Gebaseerd op paragrafen 10.1-10.7, 11.1-11.6 uit het boek. We simuleren een sociaal netwerk Er zijn twee soorten berichten: tekstberichten en fotoberichten,... voorgesteld door de klassen
Nadere informatieProgrammeren (1) Examen NAAM:
Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien) en geef zowel klad als net af. Bij heel wat vragen moet je zelf Java-code schrijven. Hou dit kort en bondig. Je hoeft
Nadere informatieDie inputs worden op een gecontroleerde manier aangeboden door (test) stubs. De test driver zorgt voor de uiteindelijke uitvoering ervan.
Nota: Schrijf je antwoorden kort en bondig in de daartoe voorziene velden. De puntenverdeling is 2 punten per theorie-vraag en 8 punten per oefening. Het totaal is 40. Vraag 1. Er bestaan verschillende
Nadere informatieObjectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.
Herhaling Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. De basisbouwsteen is het object; een geïntegreerde eenheid van data en operaties werkend op deze
Nadere informatieNAAM: Programmeren 1 Examen 21/01/2011
Programmeren 1 21 januari 2011 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet
Nadere informatieTentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft
Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Digitale
Nadere informatieOvererving & Polymorfisme
Overerving & Polymorfisme Overerving Sommige klassen zijn speciaal geval van andere klasse Docent is een speciaal geval van werknemer, dwz. elke docent is ook werknemer Functionaliteit van docent = functionaliteit
Nadere informatieALGORITME objectgeoriënteerd programmeren
ALGORITME objectgeoriënteerd programmeren Gunter Schillebeeckx 1 objectgeoriënteerd programmeren Object Klasse Instantie Eigenschap Methode Inkapseling Polymorfisme Overerving 2 Inleiding Kern Samenvatting
Nadere informatieOEFENINGEN PYTHON REEKS 1
Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren
Nadere informatie1.Praktisch.
1.Praktisch Doel Contactpersonen Inhoud Opbouw Mijlpalen Tijdsbesteding Eindbeoordeling Spelregels ( Fraude) Cursusmateriaal http://ansymore.uantwerpen.be/courses/se1bac 1 Doel Een eerste ervaring verwerven...
Nadere informatieNoties Informatica. In java fungeren objecten als een model voor de elementen waarin een probleem kan worden opgesplitst
s Informatica Hoofdstuk 1 Object Klasse Methode Parameters Type Velden Toestand Compiler Resultaten (returnwaarde) In java fungeren objecten als een model voor de elementen waarin een probleem kan worden
Nadere informatieBeginselen van programmeren Practicum 1 (Doolhof) : Oplossing
Beginselen van programmeren Practicum 1 (Doolhof) : Oplossing Introductie In dit document geven we een mogelijke oplossing voor het eerste practicum. Deze oplossing gebruikt verschillende klassen en overerving,
Nadere informatieStacks and queues. Introductie 45. Leerkern 45. Terugkoppeling 49. Uitwerking van de opgaven 49
Stacks and queues Introductie 45 Leerkern 45 6.1 Stacks 45 6.2 Queues 47 6.3 Double-ended queues 48 Terugkoppeling 49 Uitwerking van de opgaven 49 Bijlage: Diagrammen belangrijkste interfaces en klassen
Nadere informatieProgrammeren 1 20 januari 2012 Prof. T. Schrijvers
Programmeren 1 20 januari 2012 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet
Nadere informatieStacks and queues. Hoofdstuk 6
Hoofdstuk 6 Stacks and queues I N T R O D U C T I E In dit hoofdstuk worden drie datastructuren stack, queue en deque behandeld. Om deze datastructuren te implementeren, worden onder andere arrays en linked
Nadere informatieIMP Uitwerking week 13
IMP Uitwerking week 13 Opgave 1 Nee. Anders moet bijvoorbeeld een venster applicatie een subklasse zijn van zowel Frame en WindowListener. Als de applicatie ook een button of een menu heeft, dan moet het
Nadere informatieNAAM: Programmeren 1 Examen 29/08/2012
Programmeren 29 augustus 202 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet je
Nadere informatieZelftest Programmeren in Java
Zelftest Programmeren in Java Document: n0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST PROGRAMMEREN IN JAVA Deze test
Nadere informatieOmschrijf bij ieder onderdeel van de methode de betekenis ervan. Java kent twee groepen van klassen die een GUI kunnen maken: awt en swing.
irkel (met Jpanel) ij de onderstaande opdracht behoort het bestand Panels: JPanels_1.java (map Panel) in de map irkel. pplicaties in Java hebben altijd een publieke klasse waarin een methode main voorkomt.
Nadere informatieTentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft
Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit
Nadere informatieDe originele blogpost kunt u lezen op is-een-van-de-grootste-wordpress-updates-ooit/
Deze Quick-start gids helpt om de leercurve door te komen met WordPress 'nieuwe blockbased editor. Sneltoetsen, definities, lijsten met beschikbare blokken het staat allemaal in dit document. Wij houden
Nadere informatieComputervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Wat is scripting?
Inhoud Computervaardigheden Hoofdstuk 4 Scripting (Let op: dit is enkel voor studenten Biologie.) Dit hoofdstuk bekijkt heel kort de basis van scripting. - Opstellen van functies. - Conditionele code.
Nadere informatieTentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld
Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag u gebruik maken van: Barnes, Object-Oriented Programming with Java en de Notitie Algoritmiek
Nadere informatie1 Ontwerppatronen. 1.1 Het Command patroon
1 Ontwerppatronen Software-ontwikkelaars worden geconfronteerd met ontwerpproblemen: de manier waarop ze hun programma gestructureerd hebben geeft aanleiding tot slechte eigenschappen zoals rigiteit, fragiliteit,....
Nadere informatieTentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft
I ' Tentamen Objectgeorienteerd Programmeren TI 1200 1 februari 2012 9.00-12.00 Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit
Nadere informatieTurn legacy code into clean code! Jeroen Mengerink David Baak
Turn legacy code into clean code! Jeroen Mengerink David Baak Agenda Introductie Legacy code voorbeeld Unittests maken Wat is refactoren Legacy code refactoren Wat zijn SOLID principes SOLID principes
Nadere informatieKwis (3) class X { public void a() { System.out.println("x"); public static void main(string[] args) { X x = new X();
Kwis (3) class X { public void a() { System.out.println("x"); class Y extends X { public void a() { System.out.println("y"); class Z extends Y { public void a() { System.out.println("z"); public static
Nadere informatiePagina 1/6. Joris Van Geet! :59 Comment: 1pt voor iteratief 1pt voor incrementeel niets voor een voorbeeldje
Nota: Schrijf je antwoorden kort en bondig in de daartoe voorziene velden. Elke theorie-vraag staat op 2 punten, elke oefening op 8 punten. Het geheel staat op 40 punten. Vraag 1...[.../2] Definieer de
Nadere informatieHow To: Setup MGE Network Shutdown Module V3 op het service console binnen VMware ESX 3.0.2
How To: Setup op het service console binnen VMware ESX 3.0.2 Arne Fokkema Ictfreak.wordpress.com In deze korte how to lees je hoe je de network shutdown module van MGE installeerd op het Service Console
Nadere informatieHoofdstuk 1: Inleiding. Hoofdstuk 2: Klassen en objecten Datahiding: afschermen van implementatiedetails. Naar de buitenwereld toe enkel interfaces.
Hoofdstuk 1: Inleiding Objectoriëntatie: 1. Objecten & klassen: samenwerking van componenten om bepaald doel te bereiken; herbruikbaarheid. 2. Encapsulation: afschermen gedragingen en kenmerken van de
Nadere informatieKleine cursus PHP5. Auteur: Raymond Moesker
Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven
Nadere informatievoorbeeldexamen Object Oriëntatie Foundation (OOF.NL) editie juli 2010 inhoud inleiding 3 voorbeeldexamen 4 antwoordindicatie 11 evaluatie 22
voorbeeldexamen Object Oriëntatie Foundation (OOF.NL) editie juli 2010 inhoud inleiding 3 voorbeeldexamen 4 antwoordindicatie 11 evaluatie 22 bijlage bijlagenset A711 EXIN Hét exameninstituut voor ICT
Nadere informatieUitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, uur
Uitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, 11.00-13.00 uur 1. Deze opgave bestaat uit een aantal deelvragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan
Nadere informatieUitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur
Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur 1. (2 punten per deelvraag) Deze opgave bestaat uit een aantal tekstvragen. Houd het antwoord kort: een
Nadere informatieUNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS
UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS Laatste aanpassing: 15 oktober 2003 Inhoudsopgave 1 Bestandsnamen 3 2 Organizatie Bestanden 3 3 Indentatie
Nadere informatieNAAM: Programmeren 1 Examen 31/08/2011
Programmeren augustus 0 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet je zelf
Nadere informatieEM6250 Firmware update V030507
EM6250 Firmware update V030507 EM6250 Firmware update 2 NEDERLANDS/ENGLISH Table of contents 1.0 (NL) Introductie... 3 2.0 (NL) Firmware installeren... 3 3.0 (NL) Release notes:... 5 1.0 (UK) Introduction...
Nadere informatieDesign patterns Startbijeenkomst
Design patterns Startbijeenkomst Harrie Passier Docenten Sylvia Stuurman (1 e examinator) Sylvia.Stuurman@ou.nl Harrie Passier (2 e examinator) Harrie.Passier@ou.nl Aarzel niet vragen te stellen! Rooster
Nadere informatieOEFENINGEN PYTHON REEKS 1
OEFENINGEN PYTHON REEKS 1 Vraag 1: Python als een eenvoudige rekenmachine Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3) en
Nadere informatieObjectgericht programmeren 1.
Objectgericht programmeren 1 joost.vennekens@kuleuven.be http://www.cs.kuleuven.be/~joost/dn Objectgericht ontwerpen 35% Objectgericht ontwerpen 65% OP1 Informatiesystemen 50% Databanken 50% OP1 Evaluatie
Nadere informatiePreschool Kindergarten
Preschool Kindergarten Objectives Students will recognize the values of numerals 1 to 10. Students will use objects to solve addition problems with sums from 1 to 10. Materials Needed Large number cards
Nadere informatieOEFENINGEN PYTHON REEKS 1
Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren
Nadere informatieLDAP Server on Yeastar MyPBX & tiptel 31xx/32xx series
LDAP Server on Yeastar MyPBX & tiptel 31xx/32xx series Tiptel b.v. Camerastraat 2 1322 BC Almere tel.: +31-36-5366650 fax.: +31-36-5367881 info@tiptel.nl Versie 1.2.0 (09022016) Nederlands: De LDAP server
Nadere informatieIcoon/Icon Betekenis Description. Change scheduling Online. Gaat offline op (datum/tijd) Online. Going offline on (date/time)
Algemeen/General Gepubliceerd maar gewijzigd Published but changed Meer acties op geselecteerde content More actions on selected content Gepubliceerd en niet gewijzigd Published and not changed Terugdraaien
Nadere informatieUniversiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren
Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int
Nadere informatieInformatica. Deel II: les 2. Leibniz - erven - digitaal. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction
Informatica Deel II: les 2 Leibniz - erven - digitaal Jan Lemeire Informatica deel II februari mei 2013 Parallel Systems: Introduction Leibniz 1646 1716 Jan Lemeire Pag. 2 / 48 Calculemus! Berechnen wir!
Nadere informatieTe hoog gemikte silver bullets missen doel Te hoog gemikte silver bullets missen doel
Te hoog gemikte silver bullets missen doel TestNet Voorjaarsevenement 2013 13-05-2013 Tom Heintzberger Praegus Ltd. Te hoog gemikte silver bullets missen doel 1-4-2013 1 Agile & testen? Want Geen geautomatiseerde
Nadere informatieZelftest OOAD/UML. Document: N0767Test.fm 30/08/2010. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium
Zelftest OOAD/UML Document: N0767Test.fm 30/08/2010 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTIE Deze test is gebaseerd op de inhoud van onze cursus OO
Nadere informatieAlistair LED stairwell luminaire Handleiding Alistair (Emergency UC03 sensor)
Alistair LED stairwell luminaire Handleiding Alistair (Emergency UC03 sensor) Let op: Als het flexibele draad van dit licht beschadigd is, dient het te worden vervangen door iemand van de technische service,
Nadere informatieAbstracte klassen & Interfaces
Abstracte klassen & Interfaces Overerving public class Vierhoek {... Vierhoek public class Rechthoek extends Vierhoek {... public class Ruit extends Vierhoek {... Rechthoek Ruit Elke rechthoek is een vierhoek.
Nadere informatieOplossingen voor het testen van objectgeoriënteerde software
Oplossingen voor het testen van objectgeoriënteerde software Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek Software Engineering 14 maart 2013 HOM/FHTeL Oplossingen voor het testen
Nadere informatieHerhaling. Instructie. Controle Structuur. Functie. Programmeren is het samen plaatsen van onderdelen
Herhaling Instructie Programmeren is het samen plaatsen van onderdelen Er bestaan 4 fundamentele stukken Instructie Controle structuur Functie Expressie Een instructie wordt uitgevoerd tijdens het uitvoeren
Nadere informatie2011-04-29 ADDENDUM TO OO versus FP a little case study
2011-04-29 ADDENDUM TO OO versus FP a little case study Maarten Fokkinga University of Twente, Dept Computer Science PO Box 217, 7500 AE Enschede, The Netherlands email: fokkinga@cs.utwente.nl Version
Nadere informatieProgrammeren 3. 1. Het gesloten boek examen 1.1
Programmeren 3 1. Het gesloten boek examen Het gesloten boek examen bestaat uit meerkeuzevragen of vragen waarin gevraagd wordt een stukje code te schrijven of om het resultaat van een stuk code te voorspellen.
Nadere informatieProblemen met platte toestandsdiagrammen
Deel I Hoofdstuk 5: Modelleren van toestand -- gevorderd 2005 Prof Dr. O. De Troyer OO modelleren pag. 1 Problemen met platte toestandsdiagrammen Bij complexe systemen krijgt men een explosie van toestanden
Nadere informatieEen unit bundelt een stel definities (van constantes, types, routines). Een unit is in een apart bestand ondergebracht.
Programmeren Blok B Onderwerpen http://www.win.tue.nl/ wstomv/edu/2ip05/ College 10 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering & Technology Lazarus
Nadere informatieDynamische gebruikersbeslissingen in SAP Workflow
Dynamische gebruikersbeslissingen in SAP Workflow Inleiding Een gebruikersbeslissing in een SAP Workflow definitie biedt de mogelijkheid om een optiescherm aan de gebruiker aan te bieden. Hiermee kan de
Nadere informatieEen unit test is geen integratie test. Niet het hele systeem, maar onderdelen van een systeem worden getest.
WAT IS EEN UNIT TEST? Een unit test is een test om de functionaliteit van stukken code te controleren. Een goede unit test waarborgt een consistente werking van een klein onderdeel (een unit ) van de broncode.
Nadere informatiepublic boolean equaldates() post: returns true iff there if the list contains at least two BirthDay objects with the same daynumber
Tentamen TI1310 Datastructuren en Algoritmen, 15 april 2011, 9.00-12.00 TU Delft, Faculteit EWI, Basiseenheid Software Engineering Bij het tentamen mag alleen de boeken van Goodrich en Tamassia worden
Nadere informatieChromosomal crossover
Chromosomal crossover As one of the last steps of genetic recombination two homologous chromosomes can exchange genetic material during meiosis in a process that is referred to as synapsis. Because of
Nadere informatieSettings for the C100BRS4 MAC Address Spoofing with cable Internet.
Settings for the C100BRS4 MAC Address Spoofing with cable Internet. General: Please use the latest firmware for the router. The firmware is available on http://www.conceptronic.net! Use Firmware version
Nadere informatieFind Neighbor Polygons in a Layer
Find Neighbor Polygons in a Layer QGIS Tutorials and Tips Author Ujaval Gandhi http://google.com/+ujavalgandhi Translations by Dick Groskamp This work is licensed under a Creative Commons Attribution 4.0
Nadere informatieHoe met Windows 8 te verbinden met NDI Remote Office (NDIRO) How to connect With Windows 8 to NDI Remote Office (NDIRO
Handleiding/Manual Hoe met Windows 8 te verbinden met NDI Remote Office (NDIRO) How to connect With Windows 8 to NDI Remote Office (NDIRO Inhoudsopgave / Table of Contents 1 Verbinden met het gebruik van
Nadere informatieEngels op Niveau A2 Workshops Woordkennis 1
A2 Workshops Woordkennis 1 A2 Workshops Woordkennis 1 A2 Woordkennis 1 Bestuderen Hoe leer je 2000 woorden? Als je een nieuwe taal wilt spreken en schrijven, heb je vooral veel nieuwe woorden nodig. Je
Nadere informatieTentamen Imperatief Programmeren
Tentamen Imperatief Programmeren Maandag 22 oktober 2001 Toelichting Dit is een open boek tentamen, d.w.z. het cursusboek mag gebruikt worden. N.B.: Het tentamen is individueel: voor het maken van de opgaven
Nadere informatieTENTAMEN Programmeren 1 VOORBEELDUITWERKING
TENTAMEN Programmeren 1 vakcode: 213500 datum: 28 november 2002 tijd: 13:30 17:00 uur VOORBEELDUITWERKING Algemeen Bij dit tentamen mag gebruik worden gemaakt van het boek van Niño/Hosch, en van de handleiding
Nadere informatieOp de computer kan naar eigen inzicht software op worden geïnstalleerd, een andere besturingssysteem is mogelijk.
Planningsfase 1. Afspraken maken over doelstelling en randvoorwaarden De doelstelling van het project: De doelstelling van het project: het maken van het gewenste product. De doelstelling van de student:
Nadere informatieInhoud. Pagina 2 van 13
Code Conventie Inhoud PHP algemeen... 3 Namen van variabelen... 3 Enkele of dubbele aanhalingstekens... 3 Globale variabelen... 3 Namen van functies... 3 Argumenten van functies... 3 Formattering... 4
Nadere informatieIngebouwde klassen & methodes
Ingebouwde klassen & methodes Statische methodes Methodes die bij een klasse horen ipv. bij een object public class Docent { public static Docent departementshoofd() { return new Docent("Jan Ivens"); private
Nadere informatie3.4 De Wizard voor het samenvoegen
3.4 De Wizard voor het samenvoegen Het hoofddocument kan een brief, maar kan ook een etiket of enveloppe zijn. Bij het samenvoegen van het hoofddocument met het gegevensbestand worden telkens de gegevens
Nadere informatieLessen Java: Reeks pag. 1
Lessen Java: Reeks 2 1-3-2016 pag. 1 Primitieve types type grootte waardes byte 8 bits 128, 127 short 16 bits 32768, 32767 int 32 bits 2 31, 2 31 1 long 64 bits 2 63, 2 63 1 type grootte waardes float
Nadere informatieBack to the Future. Marinus Kuivenhoven Sogeti
Back to the Future Marinus Kuivenhoven Sogeti 1 Commodore 64 2 Commodore 1541 floppy drive 3 Assymetrisch gedrag Een operatie die voor een overgang zorgt.. Waarbij heen minder kost dan terug 4 Assymetrisch
Nadere informatieInformatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2014. Parallel Systems: Introduction
Informatica Deel II: les 1 Java versus Python Jan Lemeire Informatica deel II februari mei 2014 Parallel Systems: Introduction Arabidopsis (zandraket) Arabidopsis (zandraket) MMIQQA Multimodal Microscopic
Nadere informatieProgrammeren 1 23 januari 2013 Prof. T. Schrijvers
Programmeren 1 23 januari 2013 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet
Nadere informatieLes 5: De structuur van condities in controlestructuren in Alice
Les 5: De structuur van condities in controlestructuren in Alice Wouter Tavernier 18/12/2006 1 2 3 4 Herhaling Zet in twee kolommen Begrensde herhaling Conditionele herhaling Ik weet een voorwaarde om
Nadere informatie{ specificatie (contract) en toelichting }
Programmeren Blok A Drie aspecten van routines http://www.win.tue.nl/ wstomv/edu/2ip05/ College 5 Kees Hemerik Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software
Nadere informatieDatastructuren Werkcollege Intro
Bart Hijmans, Universiteit Leiden. Universiteit Leiden The Netherlands Focus 1 19 ˆ Ervaring in gebruik en implementatie van datastructuren ˆ Kennis van mogelijkheden ˆ Programmeren voor andere programmeurs
Nadere informatieSelenium IDE Webdriver. Introductie
Selenium IDE Webdriver Het Wielsem 10, 5231 BW s- Hertogenbosch, telefoon 073-6409311 e- mail info@testwork.nl internet http://www.testwork.nl 1 Inhoudsopgave 1 Inhoudsopgave... 2 2 Selenium IDE... 3 3
Nadere informatieTotaal
Programmeren Blok A Wat was het doel? http://www.win.tue.nl/ wstomv/edu/2ip05/ College 2 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering & Technology
Nadere informatie4EE11 Project Programmeren voor W. College 4, , Blok D Tom Verhoeff, Software Engineering & Technology, TU/e
4EE11 Project Programmeren voor W College 4, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 1 Onderwerpen Controleren (verificatie) van software - Pair programming - Code review
Nadere informatieNascholing Algoritmisch Denken. Martin Bruggink Renske Smetsers
Nascholing Algoritmisch Denken Martin Bruggink Renske Smetsers Speerpunten bijeenkomst #2 Praktische bijeenkomst Hele ontwikkelcyclus doorlopen Algoritme ontwerpen Flowchart Code Reflectie Programma tweede
Nadere informatie