Hoofdstuk 11. Informatiemodellering

  11.3 Feiten, objecten en labels

We gaan nu met behulp van het programma Infagon gebruik maken van FCO-IM, Fully Communication Oriented Information Modelling.
Het analyseren met de methode FCO-IM begint met het formuleren van zinnen, waarin de gegevens waar het om draait in voorkomen.

Als voorbeeld nemen we een leerlingenadministratie van een school in Buitenpost.
Daar zijn o.a. de volgende gegevens van alle leerlingen vastgelegd: Hieronder vind je de gegevens van vijf leerlingen van de school:

leerlingnummer Achternaam Voornaam Adres Woonplaats Geb_dat. Klas
10001 Haarsma Petra Molenstraat 12 Oostermeer 15-8-1991 V5C
10002 Jonker Henk Achtkant 23 Buitenpost 11-11-1991 V5A
10003 Claus Dominic Langelaan 68 Surhuisterveen 1-6-1991 V5C
10004 Nutma Fokke SimkeKloostermanlaan 14 Kollum 10-9-1990 V5B
10005 Venema Taeke Hoofdstraat 122 Harkema 18-6-1990 V5A

Voorbeeldzinnen waarin deze gegevens zijn verwerkt:

Petra Haarsma woont op Molenstraat 12 in Oostermeer, ze is geboren op 15-8-1991, ze zit in klas V5C en ze heeft leerlingnummer 10001
Henk Jonker woont op de Achtkant 23 in Buitenpost, hij is geboren op 11-11-1991, hij zit in klas V5A en hij heeft leerlingnummer 10002

Deze lange zinnen kunnen we opsplitsen in kortere zinnetjes. En daar beginnen we altijd mee.
Bijvoorbeeld:

Petra Haarsma heeft leerlingnummer 10001
Dominic Claus heeft leerlingnummer 10003

Fokke Nutma is geboren op 10-9-1990
Taeke Venema is geboren op 18-6-1990
Henk Jonker is geboren op 11-11-1991

Petra Haarsma zit in klas V5C
Henk Jonker zit in klas V5A
Fokke Nutma zit in klas V5B

Petra Haarsma woont op het adres Molenstraat 12
Taeke Venema woont op het adres Hoofdstraat 122

Dominic Claus woont in Surhuisterveen
Taeke Venema woont in Harkema

Feiten en feittypen
We kijken even speciaal naar de volgende drie feiten (i.p.v. zinnen wordt in FCO-IM de term feiten gebruikt):
Petra Haarsma zit in klas V5C
Henk Jonker zit in klas V5A
Fokke Nutma zit in klas V5B
Je ziet dat deze drie feiten allemaal van hetzelfde soort of type zijn, het gaat steeds over een leerling die in een bepaalde klas zit.
Dat zie je ook aan de woorden in het midden van de zinnen, die zijn steeds "zit in klas".
Daarom geven we dit type zin aan met zit_in_klas .
Anders gezegd: dit feittype noemen we zit_in_klas .

Zo heb je hierboven nog meer feiten van hetzelfde type.
We hebben ook het feittype heeft_leerlingnummer, het feittype is_geboren_op, het feittype woont_op_het_adres en het feittype woont_in.

We geven het feittype dus steeds aan met de woorden in het midden van de zinnen, die steeds gelijk zijn. Dat is niet verplicht, maar het is wel handig.
Je zou het laatste feittype (woont_in) bijvoorbeeld ook wel woonplaats kunnen noemen, maar dat is niet handig omdat je waarschijnlijk het object aan het eind van de zin zo gaat noemen. Wat met een object bedoeld wordt lees je hieronder.

Objecten en objecttypen
De laatste drie feiten gingen allemaal over een leerling die in een bepaalde klas zit.
Met de eerste woorden werd steeds een leerling aangeduid, en met het laatste woord een klas.
Die leerlingen en klassen noem je objecten.
Ook in de zinnen daarboven komen objecten voor, steeds zitten er in elk zinnetje twee objecten.
Dus de personen en zaken, die in de feiten voorkomen, noem je objecten.
Je zou bovenstaand feittype ook op de volgende manier kunnen weergeven, met zogenaamde invulblokken:



In de eerste rechthoek kan Petra Haarsma staan, maar ook Henk Jonker of Dominic Claus.
En in de tweede rechthoek kan V5C staan, maar ook V5B of V5A .
Objecten zijn dus dingen die in de invulblokken bij feittypen kunnen worden geplaatst.
De invulplaatsen noemen we ook wel rollen.
Bij andere modelleermethoden worden de objecten ook wel entiteiten genoemd.

De objecten Petra Haarsma en Henk Jonker en Dominic Claus zijn alledrie van dezelfde soort, het zijn alledrie personen. Dat wordt het objecttype genoemd; het objecttype in de eerste rechthoek is dus een persoon.
Ook de objecten V5C en V5B en V5A zijn van hetzelfde type: het objecttype klas.
Het objecttype in de tweede rechthoek is dus een klas.

Labels en labeltypen
De objecten worden op een bepaalde manier aangeduid.
Petra Haarsma wordt met haar voor- en achternaam aangeduid. Ze had ook met haar leerlingnummer kunnen worden aangeduid, er had dus ook wel kunnen staan: Leerling 10001 zit in klas V5C
Of misschien kon er ook wel staan: De oudste dochter van J. Haarsma uit Oostermeer zit in klas V5C.
Maar dat is niet gebeurd, ze wordt met haar voor- en achternaam aangeduid, en dat wordt het label genoemd.
Je kunt het je voorstellen als een etiket, dat op het object wordt geplakt om aan te geven wat het is.
Ook het object, dat eventueel met leerling 10002 had kunnen worden aangeduid, is met het label voor- en achternaam aangeduid, namelijk met de naam Henk Jonker.
En ook bij de derde persoon is het label voor- en achternaam gebruikt.
Bij alle drie is hetzelfde labeltype gebruikt, namelijk voor- en achternaam.
We hadden eventueel ook het labeltype leerlingnummer kunnen gebruiken, maar dat is bij deze feiten niet gedaan.
Bij andere modelleermethoden worden de labels ook wel attributen genoemd.



In bovenstaande figuur zie je het feittype zit_in_klas, met de bijbehorende invulvakken.
Op de bovenste regel zijn er objecten in de invulvakken geplaatst.
Daaronder (met gele achtergrond) zie je de objecttypen.
En daar weer onder (met rode achtergrond) de labeltypen.

We zouden het feittype nu ook op de volgende manier kunnen noteren:
<Persoon, aangeduid met zijn voornaam en achternaam> zit in klas <Klas, aangeduid met de klassenaam>

Het afleiden van een feittype met objecttypen en labeltypen uit een stel voorbeeldzinnen noemen we kwalificeren.
In het programma Infagon, dat we gaan gebruiken, worden de engelse termen qualify, facttype, objecttype en labeltype gebruikt.