Bekijk ons hele aanbod
Onderwijs
Gezondheidszorg
Juridisch
Management
Geschiedenis & Filosofie
Agile ontwikkelmethoden zoals scrum zijn niet meer weg te denken bij het maken van nieuwe software. In dit boek leer je de programmeertaal Java kennen en toepassen met behulp van deze methodiek. De beste manier om Java te leren is door het te doen en de scrumomgeving is daarvoor ideaal. Eén van de belangrijke onderdelen van scrum is immers het ‘continu leren en continu reflecteren’.
Je leert programmeren in de context van de echte wereld. Praktische toepassing en theoretisch inzicht gaan hand in hand met behulp van een casus die door het hele boek heen loopt.
Dat betekent dat je niet alleen leert coderen, maar is er eveneens veel aandacht voor alle andere zaken waar je binnen een project mee te maken krijgt. Denk hierbij aan het helder krijgen van de eisen en wensen van de klant en het uitvoeren van business analyses. Het boek gaat in op alle aspecten van het maken van een product: ontwerpen, documenteren, testen, samenwerken, communiceren en ook het maken van fouten en daar weer van leren.
Het boek volgt een project van een scrumteam gedurende een aantal sprints. Binnen dit project maakt het team zich tevens de taal Java eigen, waarbij telkens wordt verwezen naar de theorie in de twee laatste delen. Als lezer maak je onderdeel uit van dit scrumteam en denk je mee over het vertalen van de wensen van de klant in werkende code. Programmeren in Java met Scrum is hierdoor een goede voorbereiding op de arbeidsmarkt.
Inclusief website
Bij dit boek hoort een website waar je kunt oefenen met een vaardigheidstoets, meerkeuzevragen en open vragen aan de hand van user stories. Ook is de source code die in het boek voorkomt hier te vinden.
Doelgroep
Dit boek is geschikt voor programmeercursussen binnen het hoger onderwijs en iedereen die binnen een scrumomgeving wil leren programmeren in Java.
Guido Dulos is sinds 1987 werkzaam in de ICT en verzorgt als docent trainingen op het gebied van kwaliteitszorg, testen, communicatie, Java en C#.
Voorwoord 11
Dankwoord 13
Tips om dit boek te gebruiken 15
DEEL 1: JAVA LEREN MET SCRUM 17
1 De voorbereiding 19
1.1 Productvisie 21
1.2 Product backlog 21
1.3 Inrichten van de omgeving 21
1.4 Way of Working (WoW) 21
2 Sprint 1 25
2.1 Sprintplanningsmeeting 1 25
2.2 Sprintplanningsmeeting 2 29
2.3 Realisatie 29
2.3.1 Daily scrum 29
2.3.2 De realisatie van user story US01 30
2.3.3 De realisatie van user story US02 32
2.3.4 Daily scrum 34
2.3.5 Mutation testing 34
2.3.6 De realisatie van user story US03 35
2.4 Sprintreview 38
2.5 Retrospective 39
3 Sprint 2 43
3.1 Inleiding 43
3.2 Sprintplanningsmeeting 1 43
3.2.1 Planning poker 44
3.3 Sprintplanningsmeeting 2 44
3.4 Realisatie 44
3.4.1 Het opstellen van testcases voor de functionaliteit van sprint 1 44
3.4.2 Statement coverage 47
3.4.3 De realisatie van user story US04 48
3.4.4 De realisatie van user story US05 50
3.4.5 Testen van interacties tussen gebruiker en systeem 53
3.4.6 De realisatie van user story US06 53
3.5 Sprintreview 56
3.6 Retrospective 56
4 Sprint 3 59
4.1 Sprintplanningsmeeting 1 59
4.2 Sprintplanningsmeeting 2 60
4.3 Realisatie 60
4.3.1 De realisatie van user story US07 60
4.3.2 Daily scrum 62
4.3.3 De realisatie van user story US08 63
4.3.4 De realisatie van user story US09 63
4.3.5 Spike 64
4.3.6 Daily scrum 65
4.3.7 De realisatie van user story US10 65
4.3.8 Informatie over een class en JUnit testen 70
4.3.9 Gebruikerstesten 71
4.4 Sprintreview 71
4.5 Retrospective 72
5 Sprint 4 75
5.1 Sprintplanningsmeeting 1 75
5.2 Sprintplanningsmeeting 2 76
5.3 De realisatie 78
5.3.1 De realisatie van user story US11 78
5.3.2 De realisatie van user story US12 81
5.3.3 De realisatie van user story US13 82
5.3.4 De realisatie van user story US14 88
5.3.5 De realisatie van user story US15 90
5.4 Sprintreview 92
5.5 Retrospective 94
6 Sprint 5 97
6.1 Inleiding 97
6.2 Sprintplanningsmeeting 1 97
6.3 Sprintplanningsmeeting 2 98
6.4 De realisatie 99
6.4.1 Spike02 99
6.4.2 Realisatie van user story US16a 100
6.4.3 Realisatie van user story US16b 104
6.4.4 Realisatie van user story US16d 106
6.4.5 Realisatie van user story US16e 108
6.4.6 Realisatie van user story US16f 109
6.4.7 Realisatie van user story US16g 110
6.4.8 Realisatie van user story US16h 110
6.4.9 Realisatie van user story US16i 113
6.4.10 Testen op basis van statement coverage 114
6.4.11 Realisatie van user story US16c 114
6.4.12 Realisatie van user story US16j 116
6.5 Sprintreview 116
6.6 Sprintretrospective 116
7 Sprint 6 119
7.1 Sprintplanningsmeeting 1 119
7.2 Sprintplanningsmeeting 2 120
7.3 De realisatie 120
7.3.1 De realisatie van user story US17 120
7.3.2 De realisatie van user story US18 122
7.3.3 De realisatie van user story US19 124
7.3.4 De realisatie van user story US20 130
7.4 Sprintreview 132
7.5 Sprintretrospective 132
8 Sprint 7 135
8.1 Sprintplanningsmeeting 1 135
8.2 Sprintplanningsmeeting 2 136
8.3 De realisatie 136
8.3.1 De realisatie van user story US21 136
8.3.2 De realisatie van user story US22 138
8.3.3 De realisatie van user story US23 140
8.4 Sprintreview 144
8.5 Sprintretrospective 144
9 Sprint 8 147
9.1 Inleiding 147
9.2 Sprintplanningsmeeting 1 147
9.3 Sprintplanningsmeeting 2 147
9.4 Spike 149
9.5 Sprintreview 149
9.6 Sprintretrospective 149
DEEL 2: THEORIEGEDEELTE SCRUM EN JAVA 151
10 Het framework scrum 153
10.1 Wat is scrum? 153
10.2 Waarom scrum? 153
10.3 Wat zijn de kenmerken van scrum? 154
10.4 Wat is de relatie tussen scrum en andere agile methodes? 154
10.5 Welke rollen zijn er binnen scrum? 155
10.6 Welke events of gebeurtenissen kent scrum? 156
10.7 Wat is de voorbereidingsperiode? 156
10.8 Wat zijn de kenmerken van een sprint? 157
10.9 Wat gebeurt er tijdens sprintplanningsmeeting 1? 157
10.10 Wat gebeurt er tijdens sprintplanningsmeeting 2? 157
10.11 Wat is de ontwikkelperiode? 157
10.12 Wat is de daily scrum? 158
10.13 Wat gebeurt er tijdens de sprintreview? 158
10.14 Wat is de sprintretrospective? 158
10.15 Hoe verloopt een refinementsessie? 158
10.16 Hoe verloopt planning poker? 159
10.17 Welke producten en hulpmiddelen (artefacten) spelen bij scrum een rol? 160
10.18 Wat is een incremental? 160
10.19 Wat is de product backlog? 160
10.20 Hoe werkt het team met items (thema’s, epics en user stories)? 161
10.21 Hoe ziet de sprint backlog eruit? 162
10.22 Wat is de functie van de Definition of Ready (DoR)? 162
10.23 Wat is het belang van de eis dat een user story INVEST moet zijn? 162
10.24 Wat is een spike? 163
10.25 Wat is refactoring? 163
10.26 Wat is de Definition of Done (DoD)? 164
10.27 Welke visualisaties in de werkruimte kan een team aanbrengen? 164
10.28 Welke rol speelt automatisering binnen scrum? 165
10.29 Welke kenmerken en waarden heeft een succesvol scrumteam? 165
10.30 Wat is werken volgens een sustainable pace? 165
10.31 Kom ik als ontwikkelaar zeker in een scrumteam? 165
10.32 Wat is personal scrum? 166
11 De programmeertaal Java 169
11.1 Wat is een computerprogramma? 169
11.2 Hoe ziet Javacode eruit en hoe kun je deze lezen? 170
11.3 Hoe schrijf je een computerprogramma? 170
11.4 Wat is er nodig om een computerprogramma te laten werken? 171
11.5 Welke programma’s en tools zijn nodig om te programmeren? 172
11.6 Hoe verloopt het programmeerproces? 172
11.7 Is Java 100% hoofdlettergevoelig? 173
11.8 Uit welke elementen bestaat Javacode? 173
11.9 Wat is een Javafile? 179
11.10 Hoe is een class in Java gestructureerd? 179
11.11 Welke regels en conventies gelden er voor de namen van identifiers? 180
11.12 Welke conventies zijn er ten aanzien van de opmaak van de code? 180
11.13 Op welke vijf manieren doorloopt Java een programma? 181
11.14 Hoe werkt System.out.println(), System.out.print(), System. out.printf()? 182
11.15 Wat is een literal? 184
11.16 Wat is een variabele? 185
11.17 Wat is een method? 186
11.18 Wat is de betekenis van de method main()? 188
11.19 Wat zijn primitieve variabelen? 189
11.20 Wat is het bereik/de scope en levensduur van een variabele? 190
11.21 Welke rekenmogelijkheden en rekenregels zijn er in Java? 191
11.22 Hoe werk je in Java met decimale getallen en hoe werkt casting? 194
11.23 Hoe werk je in Java met if-statements en switch-case? 194
11.24 Hoe werkt Java met vergelijkingen? 198
11.25 Wat zijn referentievariabelen? 199
11.26 Hoe werk je met objecten in Java? 200
11.27 Hoe ziet een objectclass eruit? 202
11.28 Wat is de betekenis van = bij primitieve variabelen en referentievariabelen? 206
11.29 Hoe achterhaal je de eigenschappen en mogelijkheden van een object? 206
11.30 Hoe werk je met objecten van het type String? 209
11.31 Wat zijn nuttige methods voor objecten van het type String? 210
11.32 Wat zijn nuttige methods voor objecten van het type Scanner? 211
11.33 Wat zijn nuttige methods voor objecten van het type Local-Date? 213
11.34 Hoe werk je met iteraties? 214
11.35 Hoe werk je met arrays? 216
11.36 Hoe werk je met ArrayLists? 217
11.37 Hoe kun je gegevens opslaan op schijf en weer ophalen? 219
11.38 Wat zijn exception errors en hoe vang je ze af met try-catch? 221
11.39 Wat betekenen de begrippen overerving, polymorfisme en abstracte class? 225
11.40 Hoe bereik je polymorfisme met Interfacing? 232
12 Werken met de grafische gebruikersinterface (AWT en Swing) 237
12.1 Wat moet ik weten voordat ik een gebruikersinterface ga ontwerpen? 237
12.2 Wat is AWT, Swing en JavaFX? 240
12.3 Wat zijn GUI-componenten? 241
12.4 Waar vind ik documentatie over alle GUI-componenten? 241
12.5 Wat is een lay-outmanager? 242
12.6 Wat zijn states? 243
12.7 Hoe werkt een GUI met triggers, listeners en events? 245
12.8 Welke soorten listeners zijn er? 246
12.9 Hoe implementeer ik listeners en de afhandeling van events? 246
12.10 Hoe codeer je listeners en eventhandlers? 247
12.11 Wat is een pattern of programmeerprincipe? 249
12.12 Wat is het basisidee van het MVC-principe? 250
12.13 Waarop moet ik letten bij MVC? 251
12.14 Hoe maak ik een view? 252
12.15 Hoe maak ik een model? 252
12.16 Hoe maak ik een controller? 253
12.17 Hoe kan ik een GUI-applicatie testen? 253
12.18 Hoe ziet de main method eruit in een GUI-MVC-applicatie? 253
12.19 Hoe ziet een GUI-programma eruit dat met behulp van een MVC-architectuur is gemaakt? 254
DEEL 3: INSTALLEREN EN TESTEN 263
13 Installeren van en werken met de JDK en IntelliJ 265
13.1 Installeren van de ontwikkelomgeving IntelliJ (inclusief Git, Gradle en JUnit) 265
13.2 IntelliJ verbinden met de JDK 265
13.3 Way of Working met IntelliJ, Git, Gradle en JUnit 266
13.4 Tips voor het gebruik van IntelliJ 271
14 Testen binnen IntelliJ 275
14.1 Wat is testen? 275
14.2 Wat zijn testdoelen en wat is de relatie met testcases? 275
14.3 Wat zijn unittesten? 276
14.4 Wat zijn unitintegratietesten? 277
14.5 Hoe ziet de testomgeving eruit? 277
14.6 Wat is JUnit? 278
14.7 Hoe werk je met JUnit in IntelliJ? 278
14.8 Hoe maak ik testcases in main? 282
Index 285
Je hebt een zakelijk account nodig om dit product te kunnen bestellen. Je bent nu ingelogd met het e-mailadres: .
Wil je dit e-mailadres gebruiken voor je zakelijk account?
Ander e-mailadres gebruiken voor zakelijk account Huidig e-mailadres gebruiken voor zakelijk account