Subdomein C1, C2 en C3: Doelstellingen, identificeren en representeren
Ter verheldering gebruiken we twee voorbeelden.
Voorbeeld 1: het meerdaags popfestival
Elke zomer wordt op een centrale plek in Nederland een meerdaags popfestival georganiseerd. Je kunt dit festival bijwonen voor één dag, maar ook voor een aantal dagen achtereen. Wie het festival wil bezoeken, koopt een toegangskaart via Internet. Je opent een webpagina waarop je een aantal gegevens invult, zoals je naam, adres, woonplaats, je mailadres, met hoeveel personen je komt, wanneer je aankomt, wanneer je weer vertrekt en (als je langer dan een dag blijft) hoeveel tenten je meeneemt. Je betaalt het entreegeld met creditcard, iDeal of anderszins en als de betaling gelukt is, krijg je per mail een entreebewijs toegestuurd. Daarop staat een barcode met een uniek nummer.
Op de dag van aankomst kunnen bezoekers zich bij de toegangspoort melden. Daar wordt het entreebewijs gecontroleerd en word je toegang verschaft tot het festivalterrein. Voor elke dag dat je het festival bezoekt, krijg je een polsbandje. Elke dag heeft een andere kleur. Als je langer dan een dag blijft, kun je met je entreebewijs naar de festivalcamping gaan. Daar wordt je een plek met een nummer toegewezen, waar je je tent(en) kunt neerzetten. In verband met de veiligheid moet de festivalorganisatie op ieder moment aan de plaatselijke brandweer kunnen melden welke tentplaatsen er bezet zijn. Het feest kan beginnen!
Barcodenummer, naam, adres, woonplaats, mailadres, aantal personen, aankomstdatum, vertrekdatum, aantal tenten en toegewezen tentplaatsnummer(s) vormen in dit voorbeeld gegevens. Deze worden opgeslagen en naar behoefte in een bepaalde weergave en/of na een bepaalde bewerking beschikbaar gesteld. Informatie wordt via het computersysteem onder andere verstrekt aan:
- de medewerkers van de toegangspoort. Zij moeten controleren dat er niemand zich onterecht toegang verschaft tot het festivalterrein en de bezoekers polsbandjes verstrekken. Daartoe zoekt het computersysteem de barcode op een entreebewijs en retourneert de bijbehorende aankomstdatum, vertrekdatum en het aantal personen. Op basis daarvan wordt de bezoekers voldoende polsbandjes van de juiste kleur uitgereikt.
- de medewerkers van de festivalcamping. Zij moeten controleren of iemand niet te veel tenten wil plaatsen en moeten campingbezoekers (een) plaats(en) van voldoende omvang toewijzen. Ten behoeve van de controle kan het computersysteem de barcode op het entreebewijs opzoeken en teruggeven hoeveel tenten erbij horen. De medewerkers voeren het (de) nummer(s) van de toegewezen tentplaatsen in het computersysteem in.
- de plaatselijke brandweer. Zij moet (bij een calamiteit) kunnen vaststellen welke plaatsen van de festivalcamping in gebruik zijn. Daartoe krijgen ze via Internet toegang tot een digitale plattegrond van de camping, waarop staat aangegeven welke plaatsen in gebruik zijn. Als de brandweer daar aanleiding toe ziet, kan ze de festivalorganisatie opdragen de tentplaatsen anders toe te wijzen.
Elk van de hierboven genoemde partijen heeft specifieke taken. Om die taken te vervullen hebben ze informatie nodig. En deze informatie is het resultaat van verwerking van de geregistreerde gegevens. In dit voorbeeld zijn de doelstellingen van de betrokken partijen: kunnen controleren dat niemand zich onterecht toegang verschaft tot het festivalterrein, de juiste polsbandjes in de juiste hoeveelheid kunnen uitreiken, kunnen controleren of iemand niet te veel tenten wil plaatsen, een tentplaats kunnen toewijzen en kunnen vaststellen wie zich in een bepaalde nacht waar op de festivalcamping bevindt.
De medewerkers van de toegangspoort moeten daarnaast een vorm van informatieverwerking uitvoeren. Op basis van de aankomst- en vertrekdatum van deelnemers moet ze de juiste polsbandjes in de juiste hoeveelheid aan de bezoekers uitreiken.
In het voorbeeld staat met behulp van welke informatie de doelstellingen van de betrokken partijen gerealiseerd kunnen worden. Hier heeft een vorm van identificatie van informatie plaats gevonden. Vervolgens is het mogelijk te bepalen welke gegevens geregistreerd moeten worden om deze informatie te kunnen produceren. Dit is identificatie van de benodigde gegevens. Het resultaat hiervan is de lijst met gegevens die in het voorbeeld vermeld staan. Nadien kunnen de gegevens zodanig gegroepeerd worden dat ze in een relationele database opgeslagen kunnen worden. Dit gegevensmodelleren maakt geen deel uit van het examenprogramma.
Op deze manieren kunnen we in de informatica een doelstelling die met informatieverwerking te maken heeft, beschrijven in termen van intenties of handelingen van gebruikers. Deze doelstelling kunnen we dan vertalen naar een concretere doelstelling in termen van opslaan, zoeken, manipuleren, transporteren, et cetera van gegevens.
Om na te gaan welke gegevens moeten worden vastgelegd, wordt eerst geïdentificeerd welke informatie benodigd is. Daaruit kan worden afgeleid welke gegevens nodig zijn om deze informatie op te leveren ('te produceren'). De afweging welke representatie van de gegevens op de computer handig is, is afhankelijk van de doelstelling van informatie- en gegevensverwerking. Dit laatste komt aan bod in het volgende voorbeeld.
Voorbeeld 2: fietsroutes
Op verschillende websites is het mogelijk je eigen fietstrainingsroute uit te zetten en die te bewaren. Dat werkt zo ongeveer als Google Maps. Eerst zet je een startpunt op een kaart. Vervolgens zet telkens een punt op een kaart en de software achter de website bepaalt telkens hoe de route loopt van het voorlaatste punt tot het nieuwe punt. De route wordt opgeslagen in de vorm van een (groot) aantal GPS-coördinaten van de punten die samen de route vormen. Deze coördinaten vormen de gegevens van de route.
Aan de hand van deze gegevens kan met behulp van een GPS-viewer een routekaart gemaakt worden. Als het bijvoorbeeld je doelstelling is om je route ergens te publiceren, kun je zo'n routekaart gebruiken. Deze weergave van de fietsroute vormt in dat geval informatie waarmee je je doelstelling kunt realiseren. De GPS-viewer verwerkt in dit voorbeeld gegevens tot informatie.
Een andere doelstelling is om de fietsroute te rijden met behulp van een navigatieapparaat die op een fiets geplaatst kan worden. In dat geval worden de GPS-coördinaten ingelezen in het apparaat en de fietsroute in combinatie met de digitale kaarten die in het apparaat opgeslagen zijn, weergegeven in de vorm van een reeks routeaanwijzingen ('links', 'rechts', enzovoorts). Deze weergave van de route vormt informatie voor de gebruiker van het navigatieapparaat, waarmee hij zijn doelstelling – het rijden van de route – kan realiseren. Deze routeaanwijzingen vormen geen goede weergave van de route voor wie wil weten hoe de fietsroute globaal verloopt.
Het navigatieapparaat bevat software die bepaalt welke aanwijzingen er op welke plek getoond worden. Onderdeel van deze software is een datatype ten behoeve van de opslag van de ingelezen coördinaten. Hiertoe moet een datastructuur gekozen worden. Deze datastructuur vormt een representatie van de routegegevens. Welke datastructuur het meest geëigend is, hangt af van hoe de software werkt. Vermoedelijk worden de coördinaten in volgorde langs gelopen en vergeleken met de digitale kaart, op basis waarvan er routeaanwijzingen opgesteld en gevisualiseerd worden. Een rij van tupels met telkens een tweetal GPS-coördinaten past hier goed bij, mits het geheugen van het navigatieapparaat voldoende ruimte biedt. Laatstgenoemde voorwaarde kan een reden zijn dat de implementeerbaarheid van een rij of lijst beperkt is. Dat kan aanleiding zijn een andere datastructuur te kiezen, bijvoorbeeld twee rijen met losse coördinaten die door middel van de index aan elkaar gerelateerd zijn en zodoende een tweetal vormen.