Computable.nl
  • Thema’s
    • Carrière
    • Innovatie & Transformatie
    • Cloud & Infrastructuur
    • Data & AI
    • Governance & Privacy
    • Security & Awareness
    • Software & Development
    • Werkplek & Beheer
  • Sectoren
    • Channel
    • Financiële dienstverlening
    • Logistiek
    • Onderwijs
    • Overheid
    • Zorg
  • Awards
    • Overzicht
    • Nieuws
    • Winnaars
    • Partner worden
  • Vacatures
    • Vacatures bekijken
    • Vacatures plaatsen
  • Bedrijven
    • Profielen
    • Producten & Diensten
  • Kennisbank
  • Magazine
  • Nieuwsbrief

Handwerk in de systeembouw

03 april 2003 - 22:005 minuten leestijdOpinieData & AI
Marcel Pennock
Marcel Pennock

Het bouwen van een huis met objectgeoriënteerde bouwblokken is allemaal mooi en aardig. Maar het aanbrengen van aanpassingen, rekening houdend met afwijkingen en uitzonderingen, dat is en blijft het werk van vaklieden, meent Marcel Pennock.

Laten we het bouwen van software vergelijken met het bouwen van een huis. Het zou dan fantastisch zijn een concept op te stellen en op basis van dit concept een kant en klaar product te bouwen. Het daadwerkelijke bouwen geschiedt met een generator, die daarvoor vervaardigd is. De parameters, afwijkingen, uitzonderingen en onderlinge verbanden zijn de input van de generator die het huis daadwerkelijk
bouwt. Om een goed concept neer te leggen, is een team van specialisten
nodig, ieder met zijn eigen expertise.
Ook voor het bouwen van software is dit conceptuele principe geldig. De
interpretatie van de concepten en onderliggende verbanden leidt uiteindelijk tot een model dat wordt uitgebouwd tot een voor de computer te begrijpen taal. In dat opzicht kan ik mij prima vinden in de stelling van Rob Ronda (‘Een andere manier van software ontwikkelen, Computable 14 maart).

Brug geslagen

De centrale vraag is niet hoe deze concepten te ontdekken. Een goed
afgebakende beschrijving van het eindproduct waarvoor het concept de leidraad
vormt, staat de vervaardiging van het eindproduct niet in de weg. Zolang maar vast staat wat de beoogde specificaties en doelstellingen zijn van het eindproduct, dat gegenereerd moet worden. Voor het bouwen van software op basis van zo’n conceptuele gedachte is belangrijker hoe een brug geslagen wordt tussen een voor de mens te begrijpen verhaal en de computertaal, die daar de vertaling van is.
Een software ontwikkelaar moet altijd in staat zijn de gegenereerde broncode en het model daarvan aan te passen. Dat is noodzakelijk om de nodige flexibiliteit in het ontwikkelproces te behouden. Hoe kan anders een commercieel aspect in het conceptuele ontwikkelproces worden meegenomen? Denk bijvoorbeeld aan de gui
(graphical user interface). Een fraai ogend software product verkoopt allicht beter dan een oplossing met een conventioneel uiterlijk als de saaie grijze schermen, waarmee we vaak dagelijks te maken hebben. Het is vervelend, maar ook 4gl-talen bieden in dit opzicht vaak te weinig mogelijkheden. Het aanpassen van de software tot op
het grootste detailniveau moet daarom altijd mogelijk blijven.

Technische omzetting

Natuurlijk kan het concept-team het uiterlijk van de nieuwe applicatie tot in detail beschrijven. De technische omzetting, ofwel het genereren van computertaal zal echter altijd de taak blijven van de specialist op het vakgebied. Dit geldt niet alleen voor vormgeving. Wat maakt een computerprogramma bijvoorbeeld toegankelijk, of wellicht nog belangrijker: begrijpelijk? Daarmee ben ik terug op de brug tussen concept en kant en klare syntaxis. Hoe diepgaand en specialistisch het concept ook mag
zijn, hoe kan daaruit code worden vervaardigd?
Neem bijvoorbeeld het volgende concept: ‘Het systeem moet er goed uitzien, bevat
veel lichte kleuren, werkt platform- en browser-onafhankelijk en valt eenvoudig te begrijpen voor de eindgebruiker.’ Het begrip ‘begrijpelijk’ kan niet simpel worden omgezet in computercode.
Ook de context van het concept speelt een belangrijke rol in het conceptueel georienteerd ontwikkelen. Een generator houdt bijvoorbeeld geen rekening met een veranderende organisatie, waarin sociale en politieke factoren bepalend zijn voor het welslagen van een nieuwe technische oplossing. Het succes van het ontwerpen, bouwen, realiseren en implementeren van de oplossing is puur afhankelijk van de mensen die er bij zijn betrokken. Een kleine aanpassing, aangedragen door een toekomstige sleutelgebruiker van een nieuwe bedrijfsapplicatie leidt – zo leert mijn ervaring- vaak tot een breder draagvlak voor acceptatie, ook al is de aanpassing nog zo klein. Zo’n aanpassing zou ook middenin het generatieproces aangedragen kunnen worden.

‘Automatische’ aanpassing

De objecten uit de moderne ontwikkeltalen vormen daarom de brug tussen
concept en broncode. Een aanpassing in de software kan zoals gezegd, klein
lijken. Bezien vanuit een technische invalshoek kunnen kleine aanpassingen in de broncode echter ook leiden tot het geheel herzien of zelfs herschrijven van de eerder
vervaardigde broncode. De belangrijkste vraag is hoe snel de ontwikkelaar het ontwerp kan aanpassen. De meest ideale oplossing is het ontwerp aan te passen, waardoor ‘automatisch’ de overige onderdelen of eigenschappen worden aangepast. Dit past prima in het straatje van het objectgeoriënteerd ontwikkelen: het aanpassen van de eigenschappen van een object beïnvloedt immers de rest van het objectmodel. Objecten met eigenschappen, methoden en de onderlinge samenhang zijn hapklare
technische brokken voor de ontwikkelspecialist, die altijd noodzakelijk blijft. Het is reeds vele malen bewezen dat objectgeoriënteerde applicaties snel aan te passen zijn.
Tenslotte kom ik terug op de metafoor van het ‘genereren’ van een huis. Daarbij komt immers het samenspel tot zijn recht van objecten waar iedere objecteigenschap invloed kan hebben op een ander. Mocht er later een extra verdieping op het huis geplaatst worden, waarschuwt object Benedenvloer met eigenschap Maxdraaggewicht ons dat dit niet ongestraft kan. Het fundament zal verzwaard moet worden en bovendien zijn er draagmuren nodig. Iedere objectgeoriënteerde ontwikkelaar zal zich in dit voorbeeld kunnen vinden. Het aanbrengen van de noodzakelijke
aanpassingen, rekening houdend met afwijkingen en uitzonderingen, is en blijft het werk van echte vaklieden.

 
Marcel Pennock, Delft

Meer over

ECM

Deel

    Inschrijven nieuwsbrief Computable

    Door te klikken op inschrijven geef je toestemming aan Jaarbeurs B.V. om je naam en e-mailadres te verwerken voor het verzenden van een of meer mailings namens Computable. Je kunt je toestemming te allen tijde intrekken via de af­meld­func­tie in de nieuwsbrief.
    Wil je weten hoe Jaarbeurs B.V. omgaat met jouw per­soons­ge­ge­vens? Klik dan hier voor ons privacy statement.

    Whitepapers

    Computable.nl

    Beveiliging van AI in de praktijk

    AI is hot, maar de praktijk binnen grote organisaties blijkt weerbarstig. Stop met brandjes blussen; zo schaal en beveilig je met succes.

    Computable.nl

    Bouw de AI-organisatie niet op los zand

    Wat is de afweging tussen zelf bouwen of het benutten van cloud?

    Computable.nl

    De weg van dataverzameling naar impact

    Iedere organisatie heeft data, maar niet iedereen weet hoe je het goed gebruikt. Hoe zet je waardevolle informatie om in actie?

    Geef een reactie Reactie annuleren

    Je moet ingelogd zijn op om een reactie te plaatsen.

    Populaire berichten

    Meer artikelen

    Uitgelicht

    Partnerartikel
    AdvertorialSecurity & Awareness

    Cybersec Netherlands 2025 – Programma...

    Keynotes over cloud, AI en geopolitiek: het programma van Cybersec Netherlands raakt de kern van digitale weerbaarheid

    Meer persberichten

    Meer lezen

    inhaalrace behind the curve
    ActueelGovernance & Privacy

    Kort: Euro-tech steunt DSA, ciso’s behind the curve, massaclaim labhack loopt in miljoenen (en meer)

    Copilot
    ActueelSecurity & Awareness

    Microsoft Copilot liet geheime toegang tot bedrijfsdata toe 

    AchtergrondCarrière

    Gazonnetje of golfbaan maaien via de cloud

    ai employee ai-werknemer
    ActueelData & AI

    Kort: Overheid start NEN 7510-onderzoek naar labhack, ai neemt banen over en is grootste internetgebruiker (en meer)

    Joost Smit
    AchtergrondCloud & Infrastructuur

    Op deze vier paarden zet Google Cloud in

    Jan-Pieter d'Anvers
    AchtergrondSecurity & Awareness

    ‘Als we data veilig willen houden, moeten we ons haasten’

    ...

    Footer

    Direct naar

    • Carrièretests
    • Kennisbank
    • Planning
    • Computable Awards
    • Magazine
    • Abonneren Magazine
    • Cybersec e-Magazine
    • Topics
    • – Phishing
    • – Ransomware

    Producten

    • Adverteren en meer…
    • Jouw Producten en Bedrijfsprofiel
    • Whitepapers & Leads
    • Vacatures & Employer Branding
    • Persberichten

    Contact

    • Colofon
    • Computable en de AVG
    • Service & contact
    • Inschrijven nieuwsbrief
    • Inlog

    Social

    • Facebook
    • X
    • LinkedIn
    • YouTube
    • Instagram
    © 2025 Jaarbeurs
    • Disclaimer
    • Gebruikersvoorwaarden
    • Privacy statement
    Computable.nl is een product van Jaarbeurs