5. • subklassen, superklassen en overerving
• specialisatie en generalisatie
• beperkingen en eigenschappen
van specialisatie en generalisatie
• modelleren van unie-types met categorieën
• een voorbeeld en formele definities
• voorstelling van specialisatie/generalisatie
en overerving met UML
• relatietypes met graad groter dan 2
• begrippen van data-abstractie en kennisrepresentatie
• alternatieve notaties
5
9. • verschillende entiteitstypes SECRETARY, ENGINEER, ... ?
• attributen voor enkel bepaalde soorten werknemers
vb. SECRETARY.TypingSpeed
• enkel bepaald soort werknemer in een relatie
vb. MANAGES: tussen MANAGER en PROJECT
• één entiteitstype EMPLOYEE
• vb. één relatie WORKS_FOR i.p.v. aparte relaties voor
MANAGER, SECRETARY, ...
9
12. • specialisatie
• op basis van een predikaat: predikaatgedefinieerd
• op basis van een attribuut: attribuutgedefinieerd
• op basis van andere kenmerken: gebruikergedefinieerd
11
13. • specialisatie
• op basis van een predikaat: predikaatgedefinieerd
• op basis van een attribuut: attribuutgedefinieerd
• op basis van andere kenmerken: gebruikergedefinieerd
• disjuncte of overlappende subklassen
• d / o in diagrammen
11
14. • specialisatie
• op basis van een predikaat: predikaatgedefinieerd
• op basis van een attribuut: attribuutgedefinieerd
• op basis van andere kenmerken: gebruikergedefinieerd
• disjuncte of overlappende subklassen
• d / o in diagrammen
• totale / partiële specialisatie
• totaal :
elk object van superklasse moet tot een
subklasse behoren (in diagram: dubbele lijn)
11
17. generalisatie
• omgekeerde van specialisatie
• gemeenschappelijke uit verschillende entiteitstypes
• algemener entiteitstype dat superklasse is
• vb. CAR, TRUCK → VEHICLE
• levert gewoonlijk een totale subklasse/superklasse relatie
14
19. • specialisatie-hiërarchie
• elke subklasse in één super/subklasse relatie
• specialisatie-tralie
• subklasse in meerdere super/subklasse relaties
• = gemeenschappelijke (shared) subklasse
• subklasse erft attributen
van alle directe en indirecte superklassen
16
22. ontwerpmethodes
• top-down ontwerp
• begin met 1 entiteitstype
• specialiseer herhaaldelijk
• bottom-up ontwerp
• begin met verscheidene entiteitstypes
• maak opeenvolgende generalisaties
• in de praktijk
• meestal combinatie van beide
19
23. categorie
• subklasse met meerdere superklassen
• deelverzameling van unie van superklassen
• entiteit in subklasse behoort tot 1 superklasse
• selectieve overerving van attributen
• gemeenschappelijke subklasse
• = deelverzameling van doorsnede van superklassen
• entiteit in subklasse behoort tot elke superklasse
• overerving van alle attributen van de superklassen
20
29. formeel
• Klasse: verzameling entiteiten
• klasse S is subklasse van superklasse C
a.s.a. S ⊆ C
• Z={ S1, ..., Sn } specialisatie van superklasse (generalisatie) G
a.s.a. ∀ i : G / Si is een superklasse / subklasse relatie
• Z is totaal indien ∪ Si = G,
anders partieel
• Z is disjunct
als ∀ i , j : i ≠ j Si ∩ Sj = ∅,
anders overlappend
26
30. formeel
• subklasse S van C is predikaatgedefinieerd
als predikaat p bestaat zodat S = C[p] = { e ∈ C | p(e)} ;
anders gebruikergedefinieerd
• specialisatie Z is attribuutgedefinieerd
a.s.a. elke Si ∈ Z predikaatgedefinieerd is met predikaat A = ci
met A een welbepaald attribuut en ci constanten
alle ci verschillend disjuncte specialisatie
• een categorie T is een deelverzameling van
unie van haar definiërende superklassen : T ⊆ D1 ∪ … ∪ Dn
• als predikaten pi in Di lidmaatschap van T aangeven:
T=D1[p1] ∪ … ∪ Dn[pn] 27