Universele Informatiekunde (UI) is voor enkele mensen de grote revolutie, die niet alleen het automatiseren kan vernieuwen en vergemakkelijken, maar ook veel zou kunnen betekenen voor andere vakken. Bij deze informatie-analysemethode vindt de analyse plaats op grond van in natuurlijke taal verwoorde feiten, die dus voor iedereen goed te begrijpen zijn. Computable sprak met prof. G.M. Nijssen, de grondlegger van en motor achter de UI, en F.N.M. Twisk, een gebruiker, adviseur en docent.
Hoe is Universele Informatiekunde ontstaan? "In 1965 ben ik afgestudeerd aan wat nu Technische Universiteit Eindhoven heet", vertelt Nijssen. "Ik ging werken bij Control Data Corporation in België. Mijn chef meende dat in de toekomst niet het schrijven van algoritmes, maar de informatie-analyse het grote probleem zou worden. Als je destijds een bestuurlijke toepassing bekeek, was meer dan 80 procent van de code gericht op data-management. Ik kreeg de smaak hiervan te pakken en dat resulteerde in de analyse-methode die door CDC Niam (natural language information analysis method) is genoemd."
"In de jaren zeventig is veel vooruitgang geboekt op het gebied van deze theorie. In de jaren tachtig ben ik zeven jaar hoogleraar in Australië geweest en heb daar met anderen de theorie verder kunnen uitwerken. In 1989 ben ik teruggekomen en heb ik op de Universiteit Limburg en daarbuiten UI verder uitgebreid. Dankzij de steun van prof. Theo Mulder is UI nu ingevoerd als Ambi-examen. Door de overige Ambi-modules te baseren op UI, is de studietijd van oorspronkelijk 108 dagen teruggebracht naar circa veertig."
"Het is nu een echt universele informatie-analysemethode geworden, waarmee niet alleen alle toepassingen, maar ook de twaalf in Nederland meest gebruikte methoden – het relationele model, Codasyl, Yourdon-ER, Yourdon-DD, Yourdon-Coad (OO), Information Engineering (IE), Chen-ER, Oracle-ER, Martin-Odell (OO), Method Manager, OMT Rumbaugh en Derksen/Crins-ER – perfect te beschrijven en te leren zijn. Verder is UI ook in zichzelf te beschrijven."
Natuurlijke talen
Gevraagd naar het centrale idee achter UI zegt Nijssen: "Na meer dan dertig jaar computers te hebben gebruikt, beginnen we eindelijk te begrijpen dat deze voornamelijk de communicatie tussen mensen ondersteunen en waar nodig vastleggen. Om de informatiesystemen hiervoor te ontwerpen, heeft men in de loop van de tijd allerlei ingenieuze methoden en technieken ontwikkeld; de bovengenoemde zijn maar een selectie. Het unieke van UI is dat de analyse plaatsvindt op grond van feiten die in natuurlijke taal worden verwoord en dus voor iedereen goed te begrijpen zijn. Het grondbeginsel van UI zegt dat iets dat niet te verwoorden valt als basisgegeven verworpen wordt."
Natuurlijke talen bevatten veel ambiguïteiten, waardoor woorden en zinnen meerdere betekenissen kunnen hebben. Dit werpt de vraag op hoe zo’n taal te gebruiken valt voor het ontwerpen van een volstrekt logisch en eenduidig informatiesysteem. Nijssen: "Sterker nog, we gebruiken geen ABN, maar het jargon van de gebruikers in een organisatie. Die weten natuurlijk wel waarover ze het hebben. Verder schonen UI-analisten de taal achteraf in overleg met gebruikers, zodat uiteindelijk een consistente en logische structuur overblijft. Die structuur is overigens leesbaar en begrijpelijk voor gebruikers en anderen, want het zijn gewone zinnen die een feit of bewerking beschrijven."
"Door analyse worden begrippen en regels afgeleid uit concrete voorbeelden. Hierbij hoeft geen keuze te worden gemaakt of iets nu een entiteit, attribuut of relatie is – iets dat veel andere methoden wel meteen vereisen. De analist zet samengestelde zinnen om in elementaire (met slechts één werkwoord – de kleinste informatie-eenheid) die het informatiemodel beschrijven … in het jargon van de gebruiker! Informatie kent vele verschijningsvormen, maar is universeel in taalzinnen uit te drukken. De analisten moeten de regels van de informatiekunde wel goed begrijpen en toepassen, maar dan komen ze tot een verwoordbaar informatiemodel, gebaseerd op concrete voorbeelden. Het proces om het model uit de voorbeelden te ontwikkelen is zodanig vastgelegd dat het volledig te herhalen valt, dat wil zeggen, steeds hetzelfde resultaat oplevert."
Het informatiemodel
Hoe weet een analist dat hij over àlle voorbeelden beschikt? Inconsistenties zullen uit de analyse blijken, maar hoe constateert men dat niet enkele voorbeelden vergeten of onjuist beschreven zijn? Nijssen: "Dat is niet ondenkbaar, want de analyse wordt verricht door mensen. Maar omdat ze werken met concrete voorbeelden die begrijpelijk beschreven zijn, het informatiemodel meestal iteratief ontwikkeld wordt en bij de omzetting naar elementaire zinnen veel controles op de consistentie worden uitgevoerd, komen de meeste problemen wel aan het licht."
Het uiteindelijke informatiemodel – het eindresultaat van de analyse en een onderdeel van de UI-architectuur – "bestaat uit zeven formele documenten (met beschrijvingen in elementaire zinnen) op drie niveaus", aldus Nijssen (zie figuur 1).
"Onderaan, op het voorbeeldniveau, bevindt zich de informatiebank, waarin de voorbeelden zijn opgeslagen. De Informatiebeschrijving kan bijvoorbeeld de zinsjabloon ‘Jan woont in Haarlem’ bevatten.
Daarboven, op het grammatica-niveau, bevinden zich de grammaticale beschrijvingen van de informatie, de processen en de events (gebeurtenissen die processen in gang zetten). In de Informatiegrammatica kan bijvoorbeeld de zinsjabloon ‘Persoon met voornaam
Bovenaan, op het meta-niveau, staat de meta-grammatica. Deze bevat de regels voor het gebruik van de onderliggende grammatica’s. Een voorbeeld hiervan is de zinsjabloon: ‘
Nijssen: "Boven het meta-niveau hoort nog een informeel document dat de strategie van het bedrijf verwoordt: de opdrachtomschrijving of mission statement, die het doel van het bedrijf en zijn informatiesysteem of toepassing in informele bewoordingen beschrijft."
Hulpmiddelen
Ontwikkelgereedschappen voor de analyse-fase zijn in het algemeen schaars. Als het UI-informatiemodel gesteld is in het telkens weer wisselende jargon van de gebruikers, zal het niet eenvoudig zijn om daar tools voor te ontwikkelen. De grafische notatie wijkt nogal af van de gebruikelijke notatie-methoden. Over welke hulpmiddelen beschikt de UI-analist? Nijssen: "Natuurlijke taal is het sterke èn het zwakke punt van UI. De huidige analisten gebruiken meestal alleen een tekstverwerker. Overigens hanteren UI-analisten veel begrippen uit de verzamelingenleer en de logica, die gemeenschappelijk zijn en in een gereedschap verwerkt zouden kunnen worden."
Een algemeen probleem vormt het inschatten van projecten. Is het UI-informatiemodel geschikt voor gebruik van functiepunten? Nijssen: "We kunnen ons afvragen hoe geschikt FPA (functiepuntanalyse) is als algemene meetlat. Bij UI wordt de omvang van een project geschat op basis van informatiepunten, die direct gerelateerd zijn aan het aantal feitsoorten in het informatiemodel. Afhankelijk van de inschatting van de complexiteit van de beeldschermcommunicatie kan men deze informatiepunten gebruiken om een redelijk betrouwbare raming te maken op basis van ervaringscijfers."
Vrijwel alle analyse-methoden zijn gesteld in het Engels en gebruiken Engelse terminologie. In hoeverre is UI doorgedrongen in het buitenland? Bestaan er dialecten van? Nijssen: "Door mijn verblijf in Australië bestaan er aanhangers en gebruikers in enkele Angelsaksische landen. Zij werken in het Engels; ze spreken van object-role modeling of fact-based modeling. Omdat de zinsjablonen in het informatiemodel gesteld zijn in de eigen taal, is uitwisseling niet erg noodzakelijk. Wat betreft de analyse-terminologie is de taal niet zo belangrijk, want het gaat daarbij om begrippen uit de taalkunde en de verzamelingenleer; die kan iedereen in de eigen taal hanteren. Het gaat in UI om zowel het resultaat – het informatiemodel – als het proces om dit te bereiken."
Efficiënter en effectiever
De term universele informatiekunde roept de vraag op hoe universeel UI is. Nijssen: "In veel opzichten is UI universeel. Voor gebruikers is het gebruik van natuurlijke taal belangrijk. Iedereen kan aan de analyse meewerken en die begrijpen, zelfs de oude rotten die het bedrijf of een bedrijfsproces tot in de puntjes kennen maar geen benul hebben van computers. Voor automatiseerders geldt hetzelfde – het UI-informatiemodel is redelijk eenvoudig beschikbaar te stellen. Analisten kunnen UI gebruiken voor het ontwerp van àlle informatiesystemen en toepassingen, batch, online, real-time enzovoort, omdat het informatiemodel in elementaire zinnen is beschreven. De vorm van het UI-informatiemodel is destijds ontwikkeld voor relationele implementatie, maar leent zich ook uitstekend voor object-georiënteerde en welke andere implementatie dan ook."
"In feite is UI zo universeel dat het net zo goed te gebruiken valt voor het beschrijvend ontwerpen van organisaties of bedrijfsprocessen als voor het analyseren van beleggingsmethoden of levensverzekeringen. Wat UI betreft is daartussen geen verschil: het is werkelijk een universele analysemethode, die, eenmaal geleerd, de betreffende persoon in staat stelt andere vakken aanzienlijk sneller te leren, zoals de Ambi-ervaring heeft bewezen. Volgens mij zou universele informatiekunde de theoretische basis moeten vormen voor het hele wetenschappelijk en hbo-onderwijs; daardoor zouden vakken als informatica, bedrijfseconomie, accounting, verzekeringen en recht efficiënter en effectiever te doceren zijn."
Complexe diagrammen
Frank Twisk heeft het informatica-vak in de praktijk geleerd, ondermeer via Ambi-oude stijl. Hij werkte bij diverse bedrijven en kwam met Nijssen in contact op een post-academische opleiding bij de Erasmus Universiteit. Hij herinnert zich zijn sceptische houding in het begin: "Ik vond het aanvankelijk een nogal eigenwijze man, maar je kon moeilijk om zijn argumenten heen: een universele analyse-methode op basis van een natuurlijke taal is een goed uitgangspunt. Ik werd snel overtuigd en gebruik nu UI in allerlei omstandigheden voor allerlei projecten, en ik doceer het op de Hes in Rotterdam. Waarom zou je moeilijk doen als het ook eenvoudig kan met UI?"
De boeken van Nijssen wekken niet de indruk dat UI-analyse eenvoudig is. Complexe diagrammen met nogal wat notatie-conventies visualiseren niet al te complexe situaties. Valt dat snel te leren? Twisk: "Elk informatiesysteem moet nauwkeurig geanalyseerd en gespecificeerd worden – daaraan ontkom je niet als analist. Dat zal je op de een of andere manier moeten verwoorden. Voor analisten is het diagram de steno-vorm van natuurlijke taal; de gebruikers krijgen dit niet te zien. In het dagelijkse leven praten we onvolledig; we gebruiken veel context en algemene kennis om het gesprokene zo kort mogelijk te houden. Voor de analyse van een nieuwe situatie moet de analist die impliciete context en kennis boven water zien te krijgen en in formele taal noteren. Met de UI-methodiek gaat dat op een eenvoudige en consistente manier."
"Het gebruik van de Nederlandse taal is een groot voordeel ten opzichte van alle andere analyse-methoden. Er zijn geen regels om een goed Entity-Relationships-diagram te maken. Daarvoor heb je intuïtie nodig. Bovendien zijn van eenzelfde situatie veel verschillende diagrammen mogelijk. Verder geeft E-R je alleen een tekening; iedereen geeft daaraan een eigen interpretatie. Bij UI-analyse is de methode eenvoudig en eenduidig, zodat iedereen op hetzelfde complete model uitkomt."
Minder onderhoud
UI werkt op basis van voorbeelden. Hoe weet je in een groot project dat je àlle voorbeelden verzameld hebt, en verdrink je vervolgens niet in een groot aantal elementaire zinnen en diagrammen? Twisk: "Filosofisch gezien ben je nooit compleet. In de praktijk begin je met de concrete doelstellingen en het verzamelen van voorbeelden. Als je er voldoende hebt, worden de relevante voorbeelden beoordeeld en aangepast, en de irrelevante verwijderd. Het leuke van de methode is dat je je als analist kunt concentreren op welke formulieren gebruikt worden, welke telefoontjes binnenkomen, wat betaald of verstuurd moet worden, enzovoort. Voor de bewerkingen van de informatie kun je het best bouwen op de expertise van de gebruikers in de organisatie – daardoor wordt het in de werkelijke zin van het woord ook h�n systeem. Vaak komen de gebruikers zelf aandragen met nieuwe voorbeelden. Bovendien, nieuwe voorbeelden zijn niet moeilijk toe te voegen als de structuur van het informatiemodel juist is."
Bij een nieuw bedrijf of een nieuwe toepassing zijn nog geen voorbeelden beschikbaar. Twisk: "Er is meestal toch een bestaande situatie, al moet die veranderd worden. Voor de nieuwe onderdelen vraag je hoe men denkt dat die zouden moeten werken. Omdat je dan over concrete zaken als een formulier, produkt of dienst praat, kan iedereen zich die wel voorstellen. Zo moet elke nieuwe situatie hoe dan ook verwoord worden. Omdat je als analist ook de doelstelling van het topmanagement kent, komt er vanzelf een discussie met gebruikers op gang over welke nieuwe feiten moeten worden opgenomen. Men vergeet wel eens wat, maar dankzij de grondige interactie werk je beter en sneller dan een analist die de opzet van het nieuwe systeem in automatiseringslatijn probeert af te spreken en alleen de structuur in voor de gebruiker onbegrijpelijke diagrammen moet weergeven. Fouten tijdens de analyse tellen extra zwaar in de implementatiefase. UI minimaliseert zulke beginfouten door de intensieve en concrete dialoog met gebruikers."
Onderhoud maakt in toenemende mate deel uit van ontwikkeling; sommigen spreken van meer dan 80 procent van de totale ontwikkel-inspanning. Kan UI helpen dat percentage te reduceren? Twisk: "Projecten die met UI zijn gemaakt, vergen minder onderhoud. Bovendien is het eenvoudig om nieuwe feiten of functies toe te voegen. Met een andere methode gemaakte projecten vallen vrij eenvoudig met UI te analyseren, waarbij alle feiten, processen en events direct voorhanden zijn. Vooral als een toepassing toch veranderd moet worden – wat meestal het geval zal zijn – biedt dit een uitstekende mogelijkheid om over te schakelen op een UI-model."
Evolutionair ontwikkelen
Nadat een UI-informatiemodel is gemaakt, gaat de ontwikkeling verder. Hoe sluit UI aan op lower-case-gereedschappen (computer aided software engineering). Twisk: "Niam-Isdm (natural language information analysis method-information system development method) is een volledige methodiek om de UI-filosofie toe te passen voor het beheerst realiseren van een informatiesysteem in vijf fasen: doelstellingen-analyse, informatieplanning, definitiestudie, systeemontwerp en systeemrealisatie. De representatieve verzameling voorbeelden valt te gebruiken voor het testen van het gerealiseerde systeem."
"Het is echter niet nodig om de weg te volgen van Niam-Isdm. Het UI-informatiemodel is een volledige logische specificatie die op welke manier dan ook te realiseren valt. Het ontbreekt nog aan gereedschappen om dit direct te doen, maar programmeurs blijken zonder problemen het UI-model te kunnen begrijpen en op een andere manier te implementeren." Het UI-informatiemodel op zich is voldoende om daar automatisch een toepassing van te genereren voor een bekende systeemomgeving; de algoritmes hiervoor zijn beschikbaar.
Evolutionair ontwikkelen en prototyping zijn tegenwoordig gangbaar. Twisk: "Dat kan met UI; zowel prototyping als evolutionair ontwikkelen is op elke gewenste schaal mogelijk. Hoe makkelijk dat in de praktijk is, hangt af van het gebruikte L-case gereedschap. Het plezierige van UI is dat je pas na het completeren van het informatiemodel moet beslissen hoe je de implementatie wilt doen; als object-georiënteerd of willekeurig welk ander systeem. Bij veel methoden moet je de analyse van meet af aan op een bepaalde manier doen en zit je verder vast aan die methode. Bovendien neemt elke andere methode sommige aspecten niet mee die UI wel vastlegt."
Een belangrijk onderdeel van de ontwikkeling van informatiesystemen betreft beveiliging en auditing. Twisk: "Beveiliging betreft vooral de rollen die verschillende functionarissen moeten vervullen – deze worden allemaal automatisch meegenomen in de analyse. In overleg met gebruikers wordt vastgelegd welke personen welke bestanden mogen opslaan, raadplegen, afdrukken, wijzigen enzovoort. In feite wordt niet alleen het werk, maar de hele organisatie bekeken, inclusief de beveiliging. Wat betreft auditing kent UI geen speciale voorzieningen. Het informatiemodel is echter door iedereen goed te begrijpen, omdat het gesteld is in natuurlijke taal."
Geringe verbreiding
Gezien de voordelen lijkt de geringe verbreiding van UI verwonderlijk. Twisk: "Nadelen ken ik eigenlijk niet. Voor mij is het belangrijkste dat je elk probleem ermee kunt analyseren en goed opschrijven – het moeilijkste punt bij automatisering. Verder is UI niet alleen in de praktijk nuttig, maar ook in het onderwijs, omdat het de basisbegrippen van de informatica leert. Dat UI slecht is aangeslagen, vloeit waarschijnlijk voort uit bestaande groepsbelangen. Helaas, want Nederland heeft nu een voorsprong op het buitenland die het zou moeten benutten. Ik begrijp dat organisaties en mensen huiverig zijn om over te stappen naar een geheel nieuwe methode; die raakt immers de basis van hun vakkennis en vereist een ommezwaai. Het is echter belangrijk om de beste methode te gebruiken. Van Rees stelde in 1982 dat de methode het niet doet. Ik heb volgens verschillende methoden gewerkt en ben het niet met hem eens: UI werkt effectiever en efficiënter dan welke andere methode ook."
Waardoor vindt je met UI automatisch de juiste informatiestructuur? Twisk: "Gebruikers weten meestal goed wat ze willen, maar kunnen dat moeilijk expliciet verwoorden. Door te werken met voorbeelden die gesteld zijn in de eigen taal, kom je snel tot een juiste definitie. Vergelijk het met een arts: als die de juiste vragen stelt en de goede antwoorden krijgt, klopt zijn diagnose; bij onjuiste vragen of antwoorden niet. Daarom is de analyse-methode zo belangrijk."
Twisk vindt het soms frustrerend dat de acceptatie van UI zo langzaam verloopt. Hoewel UI wordt onderwezen aan vrijwel alle hbo’s en deel uitmaakt van het Ambi-programma, is de acceptatie in de universitaire wereld en in de praktijk nog onvoldoende. Nijssen heeft een samenwerkingsverband van circa veertig mensen, voornamelijk in het onderwijs, die hem helpen bij het toepassen, ontwikkelen en verbreiden van UI.
Twisk: "Helaas gaat het langzaam. Het probleem is dat, hoewel we gezamenlijk baat zouden hebben bij de verdere verbreiding van UI, vrijwel niemand daar individueel belang heeft – het is openbare kennis. Leveranciers van case-gereedschappen zitten er niet op te wachten, want die hebben het druk met bestaande programma’s. Voor veel bedrijven, docenten en informatici geldt hetzelfde. Zowel de belangstelling voor als de resultaten van het informatica-onderwijs lopen terug. Veel informaticawerk gaat naar het buitenland. Dat is allemaal jammer, vooral als je bedenkt dat het anders kan als UI op grote schaal wordt ingevoerd."
Hein van Steenis, freelance medewerker Computable
LITERATUUR
Nijssen, G.M.: Universele Informatiekunde. Beutenaken: PNA Publishing, 1993.
Eggink, J., E.J. Leenstra en G.M. Nijssen: Informatie in model. Beutenaken: PNA Publishing, 1995.
Nijssen, G.M., en H. Schouten: Matemataal voor bedrijfseconomie en bedrijfskunde. Beutenaken: PNA Publishing, 1994.
Twisk, F.N.M.: Effektieve informatiesysteem ontwikkeling met Niam-Isdm. Deventer: Kluwer, 1994.
Twisk, F.N.M., en R.L.C.C van Montfoort: UI en Niam-Isdm: een concreet alternatief. In: Informatie 36-7/8 (pp.438-446) en 36-9 (pp.512-518).
META-NIVEAU: | Meta-grammatica | ||
GRAMMATICA-NIVEAU: | Informatiegrammatica | Procesgrammatica | Eventgrammatica |
VOORBEELD-NIVEAU: | Informatiebank | Procesbeschrijving | Eventbeschrijving |
Figuur 1: Universele Informatiekunde: Een UI-informatiemodel op drie niveaus met zeven documenten.