Classificatie
Classificeren is niets anders dan in hokjes stoppen. In het dagelijks leven doen we dit vele malen zonder ons daarvan steeds bewust te zijn. We verdelen de maatschappij in sociale lagen, schapen in witte en zwarte, we kennen gabbers, punkers en nerds en we praten over planten en dieren. Steeds verdelen we een verzameling objecten in allerlei categorieën of klassen. Meestal hanteer je bij het classificeren een bepaald criterium, bijvoorbeeld gewicht, prijs of levensovertuiging, zodat er gewichtsklassen, prijsklassen of geloofsgemeenschappen ontstaan.
In het kader van objectmodellering is classificatie van belang zodra de hokjes zelf een rol gaan spelen in de functies. Dat is het geval als eigenschappen van de afzonderlijke klassen het gedrag van het systeem bepalen. Zo zouden naast eigenschappen van individuele autos, ook eigenschappen van de automodellen een rol kunnen spelen, bijvoorbeeld bij het bestellen van autos. Er zijn twee manieren waarop de klasse zelf een rol kan spelen:
- eigenschappen van de klasse zelf zijn van belang, zoals het aantal verkochte exemplaren, het aantal klachten enzovoort;
- de functies maken gebruik van wetmatigheden, dat wil zeggen eigenschappen die voor elk van de elementen van de klasse gelden. Bijvoorbeeld de catalogusprijs, het motorvermogen, de duur van de carrosseriegarantie enzovoort.
We definiëren een classificatie formeel als volgt:
objecttype A is een classificatie van objecttype B als (en slechts als) geldt dat elk element van A een deelverzameling (een klasse) van B is.
Deze definitie stelt dat elk element van de classificatie zelf ook een verzameling gelijksoortige objecten is.
- Classificaties behoeven volgens deze definitie niet volledig te zijn, dat wil zeggen: niet elk object van de geclassificeerde soort maakt per se deel uit van een klasse.
- Disjunctie van de classificatie is evenmin noodzakelijk: de klassen mogen overlappend zijn.
Het is, met andere woorden, mogelijk dat een object van de geclassificeerde soort deel uitmaakt van verschillende klassen. Iemand kan bijvoorbeeld zowel groenteboer als slager zijn.
Op welke wijze wordt nu de definitie van objecttype B gebruikt bij het herkennen van objecten van type A? Elk object van type A is een klasse van objecten van type B, dus bestaat uit objecten die voldoen aan definitie B én aan het classificatiecriterium. Elke definitie van een classificatie bevat een classificatiecriterium.
Het classificatiecriterium is een set van beslissingsprocedures, voor elke klasse één, waarmee van elk object van het geclassificeerde type bepaald kan worden of hij wel of niet tot de betreffende klasse behoort.
Beschouw
als voorbeeld een productiebedrijf. We definiëren een product als
een artikel dat door het bedrijf wordt geproduceerd. We definiëren
een 'productmodel' als een klasse van producten die aan één van de specificaties
uit het productassortiment voldoen. Productmodel is daarmee
een classificatie van product. De verzameling productspecificaties
vormt het classificatiecriterium. Om te beoordelen of een aangereikt
object van het type productmodel is, beoordelen we eerst:
Als we met deze definitie in de hand kijken naar telefoongesprekken, constateren we het volgende. De verzameling telefoongesprekken is:
Telefoongesprek is dus geen object van het type productmodel, terwijl Voip dat bijvoorbeeld wel is. |
Lees verder:specialisatie en generalisatie