Unified Modeling Language UML Class diagrams 2 Unified Modeling Language
LOGICAL VIEW
Relaties tussen classes Afhankelijkheid Associatie Aggregatie Compositie Generalisatie (Overerving)
afhankelijkheid Afhankelijkheid betekent dat twee classes kunnen samenwerken
associatie Naam (optioneel) Multipliciteit Associatie attributen
navigatie Navigatie naar een class blokkeren
aggregatie
compositie
generalisatie
Meervoudige generalisatie
Associatie-klasse
constraints Constraints: beperkingen/voorwaarden Invariants: een constraint die altijd moet resulteren in WAAR Pre-condities: een constraint die wordt gecontroleerd voor uitvoering van een operatie Post-condities: een constraint die wordt gecontroleerd na uitvoering van een operatie
Abstract class Abstract class en abstract operations in italic Abstract class bevat alleen definities van de operaties, geen code Gespecialiseerde classes bevatten de code (concrete operaties)
interface Interface: scheidt het gedrag van een class af van de implementatie Classes kunnen dan afhankelijk zijn van interfaces in plaats van andere classes Wanneer de implementatie van een class wijzigt, verbreekt dit niet de implementatie van een andere class, omdat deze afhankelijk is van de interface en niet van een class
template Template: geparameteriseerde class “Ik weet dat deze class moet samenwerken met andere classes, maar ik weet nog niet welke”
Binding Door middel van ‘binding’ kan de subclass het gedrag van de template gebruiken, maar tevens beperken tot het gedrag van de template (superclass)