OO Ontwerpen I
Inhoud
Belangrijke onderdelen: .......................................................................................................................................................... 3
Van analyse naar ontwerp .................................................................................................................................................. 4
Hoofdstuk 1: Objecten – Get Oriented! .................................................................................................................................. 5
Object .................................................................................................................................................................................. 5
‘Real world’ objecten ...................................................................................................................................................... 5
‘Real life’ objecten .......................................................................................................................................................... 6
Abstractie ........................................................................................................................................................................ 6
Klasse............................................................................................................................................................................... 6
Klassen in UML .................................................................................................................................................................... 7
Inkapseling .......................................................................................................................................................................... 7
Hoofdstuk 2: SD en DCD.......................................................................................................................................................... 8
SD (Sequentiediagram) ....................................................................................................................................................... 8
Delen SD .......................................................................................................................................................................... 8
Design Class Diagram (DCD) ................................................................................................................................................ 9
Associaties op een DCD ................................................................................................................................................... 9
Van een SD naar een DCD ................................................................................................................................................. 10
Hoofdstuk 3 & 4: RDD en GRASP .......................................................................................................................................... 11
RDD: .................................................................................................................................................................................. 11
GRASP:............................................................................................................................................................................... 11
RDD en GRASP in actie ...................................................................................................................................................... 12
Stap 1 ............................................................................................................................................................................ 12
Stap 2 ............................................................................................................................................................................ 12
Stap 3 ............................................................................................................................................................................ 12
Hoofdstuk 5: Het drielagenmodel ......................................................................................................................................... 13
Belangrijkste begrippen .................................................................................................................................................... 13
Applicatie .......................................................................................................................................................................... 13
Omschrijving ................................................................................................................................................................. 13
Geprogrammeerde applicatie ....................................................................................................................................... 13
Feedback klant .............................................................................................................................................................. 13
Oplossing ....................................................................................................................................................................... 13
Drielagenmodel ................................................................................................................................................................. 14
Architectuur: Presentatielaag ....................................................................................................................................... 15
Architectuur: domeinlaag ............................................................................................................................................. 16
, Architectuur: de persistentielaag ................................................................................................................................. 17
Hoofdstuk 6: Testen .............................................................................................................................................................. 18
Doelstellingen ................................................................................................................................................................... 18
Inleiding............................................................................................................................................................................. 18
Unit Testen ........................................................................................................................................................................ 18
UP & TDD....................................................................................................................................................................... 18
FIRST .................................................................................................................................................................................. 19
Het Triple-A pattern .......................................................................................................................................................... 19
Wanneer gaan we nu precies unit testen aanmaken ....................................................................................................... 19
Unit testen – test techniek................................................................................................................................................ 20
Equivalentiepartitionering ............................................................................................................................................ 20
Grenswaardenanalyse................................................................................................................................................... 20
Equivalentiepartitionering en grenswaardenanalyse: hand in hand ............................................................................ 20
Unit testen – voordelen & nadelen................................................................................................................................... 21
Voordelen...................................................................................................................................................................... 21
Nadelen ......................................................................................................................................................................... 21
Hoofdstuk 7: Pijlers van OO .................................................................................................................................................. 22
De 4 pijlers van OO............................................................................................................................................................ 22
1: Inkapseling (encapsulation) ...................................................................................................................................... 22
2: Abstractie (abstraction) ............................................................................................................................................ 22
3: Polymorfisme (polymorfism) .................................................................................................................................... 22
4: Overerving (inheritance) ........................................................................................................................................... 23
Interface ............................................................................................................................................................................ 24
, Belangrijke onderdelen:
- Hoofdstuk 2
o Software ontwikkelingsproces :
▪ analyse
▪ ontwerp
▪ implementatie
▪ testen
o Watervalmethode
o Agile
o Iteratief / Incrementeel
o OOA/D
▪ klasse, object, toestand
▪ eigenschappen, attributen, gedrag
▪ operatie, constructor, getter, setter, actie
▪ identiteit, abstractie, inkapseling
o UML
▪ Klassendiagram
▪ Attributen
▪ Operaties
▪ Getter
▪ Setter
▪ Constructor
▪ Visibiliteit
- Hoofdstuk 3
o Use case opstellen
o Een ontwerp kunnen maken van het domein en persistentie (volgens GRASP)
o Kunnen benoemen van elke stap die je doet bij het maken van een ontwerp
o De betekenis van een SSD en OC kunnen verwoorden
o De rol van de DomeinController kunnen benoemen
o Een SD kunnen tekenen
o Een DCD kunnen tekenen
o De patronen Controller, Expert en Creator kunnen beschrijven en toepassen
- Hoofdstuk 4
o Het belang kunnen benoemen van een domeinmodel
o Identificeren van conceptuele klassen
o Modelleren van attributen en associaties via analyse van de use case(s)
o Opstellen van een conceptueel domeinmodel met behulp van een UML klassendiagram
- Hoofdstuk 5
o Nut kennen van een Systeem Sequentiediagram
o Algemene eigenschappen van een Systeem Sequentiediagram kunnen benoemen en uitleggen
o Opstellen van een Systeem Sequentiediagram op basis van een use case scenario
o Nut kennen van een Operation Contract
o Opstellen van een Operation Contract
- Hoofdstuk 6
o Regels kunnen toepassen
Inhoud
Belangrijke onderdelen: .......................................................................................................................................................... 3
Van analyse naar ontwerp .................................................................................................................................................. 4
Hoofdstuk 1: Objecten – Get Oriented! .................................................................................................................................. 5
Object .................................................................................................................................................................................. 5
‘Real world’ objecten ...................................................................................................................................................... 5
‘Real life’ objecten .......................................................................................................................................................... 6
Abstractie ........................................................................................................................................................................ 6
Klasse............................................................................................................................................................................... 6
Klassen in UML .................................................................................................................................................................... 7
Inkapseling .......................................................................................................................................................................... 7
Hoofdstuk 2: SD en DCD.......................................................................................................................................................... 8
SD (Sequentiediagram) ....................................................................................................................................................... 8
Delen SD .......................................................................................................................................................................... 8
Design Class Diagram (DCD) ................................................................................................................................................ 9
Associaties op een DCD ................................................................................................................................................... 9
Van een SD naar een DCD ................................................................................................................................................. 10
Hoofdstuk 3 & 4: RDD en GRASP .......................................................................................................................................... 11
RDD: .................................................................................................................................................................................. 11
GRASP:............................................................................................................................................................................... 11
RDD en GRASP in actie ...................................................................................................................................................... 12
Stap 1 ............................................................................................................................................................................ 12
Stap 2 ............................................................................................................................................................................ 12
Stap 3 ............................................................................................................................................................................ 12
Hoofdstuk 5: Het drielagenmodel ......................................................................................................................................... 13
Belangrijkste begrippen .................................................................................................................................................... 13
Applicatie .......................................................................................................................................................................... 13
Omschrijving ................................................................................................................................................................. 13
Geprogrammeerde applicatie ....................................................................................................................................... 13
Feedback klant .............................................................................................................................................................. 13
Oplossing ....................................................................................................................................................................... 13
Drielagenmodel ................................................................................................................................................................. 14
Architectuur: Presentatielaag ....................................................................................................................................... 15
Architectuur: domeinlaag ............................................................................................................................................. 16
, Architectuur: de persistentielaag ................................................................................................................................. 17
Hoofdstuk 6: Testen .............................................................................................................................................................. 18
Doelstellingen ................................................................................................................................................................... 18
Inleiding............................................................................................................................................................................. 18
Unit Testen ........................................................................................................................................................................ 18
UP & TDD....................................................................................................................................................................... 18
FIRST .................................................................................................................................................................................. 19
Het Triple-A pattern .......................................................................................................................................................... 19
Wanneer gaan we nu precies unit testen aanmaken ....................................................................................................... 19
Unit testen – test techniek................................................................................................................................................ 20
Equivalentiepartitionering ............................................................................................................................................ 20
Grenswaardenanalyse................................................................................................................................................... 20
Equivalentiepartitionering en grenswaardenanalyse: hand in hand ............................................................................ 20
Unit testen – voordelen & nadelen................................................................................................................................... 21
Voordelen...................................................................................................................................................................... 21
Nadelen ......................................................................................................................................................................... 21
Hoofdstuk 7: Pijlers van OO .................................................................................................................................................. 22
De 4 pijlers van OO............................................................................................................................................................ 22
1: Inkapseling (encapsulation) ...................................................................................................................................... 22
2: Abstractie (abstraction) ............................................................................................................................................ 22
3: Polymorfisme (polymorfism) .................................................................................................................................... 22
4: Overerving (inheritance) ........................................................................................................................................... 23
Interface ............................................................................................................................................................................ 24
, Belangrijke onderdelen:
- Hoofdstuk 2
o Software ontwikkelingsproces :
▪ analyse
▪ ontwerp
▪ implementatie
▪ testen
o Watervalmethode
o Agile
o Iteratief / Incrementeel
o OOA/D
▪ klasse, object, toestand
▪ eigenschappen, attributen, gedrag
▪ operatie, constructor, getter, setter, actie
▪ identiteit, abstractie, inkapseling
o UML
▪ Klassendiagram
▪ Attributen
▪ Operaties
▪ Getter
▪ Setter
▪ Constructor
▪ Visibiliteit
- Hoofdstuk 3
o Use case opstellen
o Een ontwerp kunnen maken van het domein en persistentie (volgens GRASP)
o Kunnen benoemen van elke stap die je doet bij het maken van een ontwerp
o De betekenis van een SSD en OC kunnen verwoorden
o De rol van de DomeinController kunnen benoemen
o Een SD kunnen tekenen
o Een DCD kunnen tekenen
o De patronen Controller, Expert en Creator kunnen beschrijven en toepassen
- Hoofdstuk 4
o Het belang kunnen benoemen van een domeinmodel
o Identificeren van conceptuele klassen
o Modelleren van attributen en associaties via analyse van de use case(s)
o Opstellen van een conceptueel domeinmodel met behulp van een UML klassendiagram
- Hoofdstuk 5
o Nut kennen van een Systeem Sequentiediagram
o Algemene eigenschappen van een Systeem Sequentiediagram kunnen benoemen en uitleggen
o Opstellen van een Systeem Sequentiediagram op basis van een use case scenario
o Nut kennen van een Operation Contract
o Opstellen van een Operation Contract
- Hoofdstuk 6
o Regels kunnen toepassen