Wijzigen en creëren van objecten

Vanwege het belang voor de inrichting van de gegevenshuishouding kijken we hier nog wat preciezer naar de relatie tussen functie en object.

We kunnen aan de invoerkant een onderscheid maken tussen het gebruiken en het verbruiken van objecten en aan de uitvoerkant tussen het modificeren en het creëren van objecten.

Laten we het onderscheid eerst illustreren met een voorbeeld uit een revisiebedrijf voor motoren. In het eerste geval zien we een activiteit met als functie het vervaardigen van nieuwe gereviseerde motoren. Deze worden op voorraad gemaakt op grond van (aannames over) de behoefte in de markt. In het tweede geval is sprake van het reviseren van specifieke motoren. Dit gebeurt, als een klant met een versleten of kapotte motor aankomt. Het systeemmodel voor het eerste geval zou er als volgt uit kunnen zien:

Assembleren motor

In dit geval ontstaat een nieuw object: de gereviseerde motor. De motoronderdelen zijn opgebruikt (verwerkt) en bestaan niet meer. De functie vernietigt en creëert dus objecten. De plaats in de organisatie waar deze functie wordt uitgevoerd is dus de eerste en beste kandidaat om verantwoordelijk te zijn voor het invoeren van deze motor in een administratie. Tevens dient dit bedrijfsdeel de verbruikte onderdelen uit de administratie moeten kunnen verwijderen. Hoe dat gaat, hangt natuurlijk af van de wijze waarop deze in de administratie aanwezig zijn. Als onthouden moet worden welk onderdeel in welke motor terecht gekomen is, wordt de beschrijving hiervan niet uit de administratie verwijderd, maar wordt aangegeven dat deze verwerkt is en wel ten behoeve van deze specifieke motor.

Het systeemmodel voor het tweede geval zou er als volgt uit kunnen zien:

Legenda

Reviseren motor

In dit geval ontstaat geen nieuwe motor, maar wordt een oude opgelapt. We hebben dat aangegeven door de uitvoerrelatie specifiek te laten lopen naar de groep eigenschappen die de kwaliteit uitmaken. De functie wijzigt alleen deze groep eigenschappen. De identiteit van de motor voor en na de functie is dezelfde. In zo’n geval moet je oppassen, dat de uitvoerende organisatie geen nieuwe code voor zo’n motor verzint. Merk op, dat in het tweede geval de uitgenomen onderdelen in de voorraad worden opgenomen.

Er valt nog veel meer te zeggen over de samenhang. We willen daar hier niet verder op ingaan. Het belangrijkste is, dat je gevoel hebt voor het onderscheid tussen de verschillende manieren waarop een object in een functie kan acteren en wat dat voor soort gevolgen heeft voor de inrichting van de gegevenshuishouding en de toedeling van de verantwoordelijkheden en bevoegdheden daaromheen.