Copyright © 2017-2019 - Green10 1
Toegepaste Informatica
Software Engineering 2 – Week 3
Integrated Development Environmenten Unified Modeling Language (UML)
Photo CC by: Nik Cubrilovic
https://www.flickr.com/photos/perfected/
Copyright © 2020 - Green10 2
Planning 2019-2020
Leerverslag per 2 Demo + Code per team
1 2 3 4 5 6 7 8 9 10 11
1 2 3 4 5 6 7 8 9 10 11???
???
Foto creative commons, by Menlo Innovations 3
Pair Programming
Copyright © 2020 - Green10 4
Leerrapport = schrijf het voortdurend● Vermeld eerst de namen van 2 studenten● Beschrijf hoe de opdrachten werd opgelost
● source code● screenshots die de uitvoering illustreren● bijkomende toelichting in tekst
● Beschrijf moeilijkheden die je gehad hebt en hoe die werden aangepakt
● Hoe kijk op uw werk terug? Wat heb je geleerd?● Welke volgende stappen zou je willen zetten?
Copyright © 2020 - Green10 5
Opdrachtverbeteringweken 1 en 2
Copyright © 2018-2020 - Green10 6
Inhoud en evaluatieWeken ECTS fiche SE2 Boek Buerghs Exam topics (cf. mock exam) Java Foundations Course Boek OCA-Java-SE7.pdf Opmerkingen
H1 Programmeren – achterhaald hoofdstuk
1H2 Java Java Basics Introduction + setting up Ch1 Getting Started with Java (incl javadoc)H3 Klassen en objecten: een begin Java Software Development
Documentatie H10 Documentatie
2-3H4 Klassen en objecten: de praktijk Als IDE zullen we IntelliJ gebruiken
Klassen, objecten H5 IDE's en Eclipse Creating classes (no topic) Creating Classes Ch6 Classes, Constructors and Methods (¼ ) Opdrachtverbetering + LeerverslagIntro UML H6 Kennismaken met UML
4 H7 Variabelen Working With Java Data Types Java Data Types Ch2 Java Data Types and their Usage+ GUI in IntelliJ
5
H8 Besturingsstructuren en booleans Using Operators and Decision Constructs Decision Statements Ch3 Decision ConstructsUsing Loop Constructs Loop Constructs Ch4 Using Arrays and Collections Opdrachtverbetering + Leerverslag
H20 Arrays Creating and Using Arrays Arrays (and Exceptions) Ch5 Looping Constructs+ Debugging in IntelliJ
6 Tussentijdse presentatie In week 6 is er team demo + code
7Methoden H9 Methoden Working with Methods and Encapsulation Java Methods and Library Classes Ch6 Classes, Constructors and Methods (2/4)Statische elementen en constanten H18 Testen met Junit Ch6 Classes, Constructors and Methods (¾ )
H11 Statische elementen en constanten
8 Inkapseling H13 Inkapseling Ch6 Classes, Constructors and Methods (4/4)H14 Inkapseling – 2 uitgewerkte voorbeelden Opdrachtverbetering + Leerverslag
9Overerving H15 Overerving Working with Inheritance Inheritance (no topic) Ch7 Inheritance and PolymorphismAbstracte klassen en interfaces H16 Abstracte klassen en interfacesPolymorfisme H17 Polymorfisme
10 H19 Foutafhandeling Handling Exceptions (Arrays and) Exceptions Ch8 Handling exceptions in an applicationPackages H12 Packages en jar-bestanden Ch9 The Java Application Opdrachtverbetering + Leerverslag
11 Eindpresentatie In week 11 is er teampresentatie
Copyright © 2010-2011 - Green10 7
Teamwork
RF foto's Dreamstime
Copyright © 2019-2020 - Green10 8
ECTS-fiche – Evaluatie
PE = 60%Leerverslag Demo+Code
Proces 20% 20%Product 10% 30% 40%Presentatie 20% 20%Documentatie 20% 0% 20%
50% 50% 100% van de PE30% 30% 60% van het totaal
Examen = 40%
Multiple Choice Individueelen open boek: boek van Jan Beurghs of ander boek van Herbert Schildt
Copyright © 2010-2019 - Green10 9
Indeling teams en topics – 1TI1 – SEF
De teams liggen vast …
Zie
https://docs.google.com/spreadsheets/d/1iFMw-vETvQL1ifRblX8clzPJXvi3YJGg5e1D5u0SfNU/edit?usp=sharing
https://docs.google.com/spreadsheets/d/1iFMw-vETvQL1ifRblX8clzPJXvi3YJGg5e1D5u0SfNU/edit?usp=sharing
Copyright © 2017-2020 - Green10 10
Team – Demo + Code● Presentatie van 10 minuten
● Pas zoveel mogelijk (en liefst alleen dat) toe van de leerstof uit deze en voorgaande lessen SEF.
● Bedenk zelf een aantrekkelijke toepassing– Werk aan de probleemstelling die u zelf bedenkt– voor het bedrijf / de organisatie die u toegewezen kreeg
● Demonstreer het resultaat van uw teamwerk● Toon de code die erachter zit en leg ze uit● Zorg dat elk teamlid aan het woord komt
● +/- 5 minuten voor Q&A met de docent
Copyright © 2010-2019 - Green10 11
Beschikbare Topics – 1TI – 1+2
Beschrijving zie Toledo – Kies – in overleg met de docent – het onderwerp voor uw team. Vul uw top 3 dadelijk in bij uw team in de gedeelde sheet
Copyright © 2010-2019 - Green10 12
Beschikbare Topics – 1TI – 3+4
Beschrijving zie Toledo – Kies – in overleg met de docent – het onderwerp voor uw team. Vul uw top 3 dadelijk in bij uw team in de gedeelde sheet
Copyright © 2010-2019 - Green10 13
Beschikbare Topics – 1TI – 5+6
Beschrijving zie Toledo – Kies – in overleg met de docent – het onderwerp voor uw team. Vul uw top 3 dadelijk in bij uw team in de gedeelde sheet
Copyright © 2010-2014 - Green10 14
Peer Evaluatie
Evaluatie door [uw naam]Volgens mij heeft/is sinds vorige les [naam geëvalueerde]
● [score] de afgesproken taken uitgevoerd● [score] bijgedragen tot ideeën en planning voor het werk● [score] bereikbaar/aanspreekbaar geweest voor overleg● [score] bijgedragen tot het succes van het project● [score] 1 = niet / nauwelijks,
[score] 2 = af en toe / soms[score] 3 = meestal / altijd
Op te nemen in het verslag als feedback voor deze persoon[uw feedback van maximum 1 regel]
Dit deel is vertrouwelijk
Bron: Jan Beurghs - Objectgeoriënteerd programmeren15
Hoofdstuk 6 –
Kennismaken met UML
Bron: Jan Beurghs - Objectgeoriënteerd programmeren16
UML is een taal, een formalisme● Beschrijving in UML is een beschrijving in een andere taal
dan code. De taal levert symbolen en syntaxregels, waar-mee u aspecten van software grafisch kunt voorstellen
● Voordelen● Gedachten ordenen ● Discussiëren in een team● Idee van kwaliteit: waaraan is gedacht en waaraan niet?● Als het ingewikkelder is, zijn één of meerdere UML-diagrammen
onmisbaar om het overzicht te houden● Bovendien hebben we de tools
om vlot van UML naar code te gaan en omgekeerd
Bron: http://nl.wikipedia.org/wiki/UML17
Soorten UML-diagrammen
Copyright © 2016 - Green1018
Een “echt” UML-klassendiagram
Copyright © 2016 - Green1019
Een “echt” UML-objectdiagram
Copyright © 2017 - Green10 20
Nieuw project
Maak meteen een nieuwe folder aan in het nieuwe directory h6
Copyright © 2017 - Green10 21
We zullen een New Java Class Diagram aanmaken
Copyright © 2017 - Green10 22
… in de folder diagrams
De bestandsnaam zalmens.uml zijn
Copyright © 2017-2020 - Green10 23
We voegen een nieuwe klasse toe aan het diagram
Opgelet!
Aanpak in IJ 2019.3is anders
Zie screencastop Toledo
uml-in-intellij-2019-3.mp4
Copyright © 2017 - Green10 24
De naam van de klasse is Mens
De gesynchroniseerde Java-code hoort in src terecht te komen
Copyright © 2017 - Green10 25
De klasse werd aangemaakt
Copyright © 2017 - Green10 26
De bijhorende code volgt automatisch
Copyright © 2017 - Green10 27
Toon ook de velden
Copyright © 2017 - Green10 28
Voeg een nieuw veld aan de klasse toe
Copyright © 2017 - Green10 29
Specificeer het veld leeftijd
Copyright © 2017 - Green10 30
Klasse Mens heeft nu één attribuut leeftijd
Copyright © 2017 - Green10 31
Nog een attribuut: naam
Copyright © 2017 - Green10 32
Klasse Mens met twee attributen
Copyright © 2017 - Green10 33
Dat is ook in code te zien: automatisch
Copyright © 2017 - Green10 34
Nu gaan we de code aanvullen ...
Copyright © 2017 - Green10 35
… met gegenereerde getters en setters ...
Copyright © 2017 - Green10 36
… voor beide velden
Copyright © 2017 - Green10 37
Resultaat: 4 extra methodes
Copyright © 2017 - Green10 38
We willen de methodes zien in het UML-klassendiagram
Copyright © 2017 - Green10 39
Ze komen er automatisch bij na aanpassen van de code
Copyright © 2017 - Green10 40
Laat ons ook maar een constructor genereren
Copyright © 2017 - Green10 41
Code van de klasse inclusief constructor
Copyright © 2017 - Green10 42
We willen de constructors ook in het UML-klassendiagram zien
Copyright © 2017 - Green10 43
UML-klasssendiagram werd dus weer automatisch aangepast
Copyright © 2017 - Green10 44
Nog maar eens een methode toevoegen
Copyright © 2017 - Green10 45
Een “gewone” methode lach()
Copyright © 2017 - Green10 46
De code van lach() moeten we toevoegen
Copyright © 2017 - Green10 47
De code van lach() moeten we toevoegen
Copyright © 2017 - Green10 48
lach() vinden we dan automatisch op het UML-klassendiagram
Copyright © 2018 - Green10 49
Getters en setters zijn minder spannend
Bron: Jan Beurghs - Objectgeoriënteerd programmeren50
Verbetering opdrachtenWeek 1 en 2
Test H2, H3, H10, H4, H5
Copyright © 2017 - Green10 51
Opdrachten
RF foto's Dreamstime
Bron: Jan Beurghs - Objectgeoriënteerd programmeren52
Opdracht bij Hoofdstuk 6● Pas de theorie toe op de klassen Teller en TellerGebruik uit
Hoofdstuk 4● Maak een diagram teller.uml in de map diagrams● Zet de klassen Teller en TellerGebruik op het diagram● Zorg voor attributen, constructor en de andere methodes● Vul de code aan zodat u zo ver komt als in Hoofdstuk 4
Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38Slide 39Slide 40Slide 41Slide 42Slide 43Slide 44Slide 45Slide 46Slide 47Slide 48Slide 49Slide 50Slide 51Slide 52