INFORMATIE SYSTEEM ONTWIKKELING ALS EEN PROCES Afstudeerscriptie nr. 319 door Coen Verleur Katholieke Universiteit Nijmegen Faculteit Wiskunde en Informatica Vakgroep Informatica Afdeling Informatiesystemen 15 juli 1994 INHOUDSOPGAVE Inhoudsopgave . . . . . . . . . . . . . . . . . . . . . . 1 Korte samenvatting . . . . . . . . . . . . . . . . . . . 4 1 Introductie . . . . . . . . . . . . . . . . . . 5 1.1 Vraagstelling . . . . . . . . . . . . . . . . . 5 1.2 Opzet van het onderzoek . . . . . . . . . . . . 5 2 Analyse van de problemen en behoeften . . . . . 6 2.1 Inleiding . . . . . . . . . . . . . . . . . . . 6 2.2 Slagen en/of falen van Informatie Systemen . . 6 2.2.1 Factoren van het slagen en/of falen . . . . . . 6 2.3 Functionele vereisten . . . . . . . . . . . . . 7 2.3.1 Eisen aan ontwikkelmethoden . . . . . . . . . . 8 2.4 Vereisten aan het Informatie Systeem . . . . . 8 2.4.1 Informatie en communicatie . . . . . . . . . . 8 2.4.2 Organisaties veranderen . . . . . . . . . . . . 10 2.4.2.1 Greiner . . . . . . . . . . . . . . . . . . . . 10 2.4.2.2 Quin en Cameron . . . . . . . . . . . . . . . . 10 2.5 Vereisten aan het EIS . . . . . . . . . . . . . 11 3 De globale structuur . . . . . . . . . . . . . 12 3.1 Inleiding . . . . . . . . . . . . . . . . . . . 12 3.2 Het startpunt van het ontwikkel proces . . . . 12 3.3 Het conceptuele informatie model . . . . . . . 12 3.3.1 De verschillende modellen van een IS . . . . . 13 3.4 Strategieën voor informatie behoefte bepaling . 14 3.4.1 Ordening in de strategieën 14 3.4.2 Ondersteuning van de verschillende processen 1 . . . . . . . . . . . 15 3.5 De rol van de formele representaties . . . . . 17 3.5.1 Formele representatie als tussenliggende stap . 17 3.5.2 Formele representatie als referentie document . 18 3.5.3 Soorten documentatie . . . . . . . . . . . . . 18 3.5.4 Aanpassingen in Evolutionair Informatie Systeem. . . . . . . . . . . . . . . . . . . . 18 3.6 De rol van grafische representaties . . . . . . 20 3.6.1 Uitdrukkingskracht en compleetheid . . . . . . 20 3.6.2 Begrijpbaarheid . . . . . . . . . . . . . . . . 22 3.7 Beheersing van de ontwikkeling . . . . . . . . 22 3.7.1 Beheersen door faseren . . . . . . . . . . . . 22 3.7.2 Beheersen door documenteren . . . . . . . . . . 22 3.7.3 Beheersen door organiseren . . . . . . . . . . 23 3.8 Effectieve representatie voor IS ontwikkeling . 25 3.8.1 Het relationele model . . . . . . . . . . . . . 25 3.8.2 Verhalende specificaties . . . . . . . . . . . 27 3.8.3 Entiteit-Relatie diagrammen . . . . . . . . . . 27 3.8.4 Data Flow Diagrammen 28 3.8.5 Toestandsovergang diagrammen . . . . . . . . . 29 3.8.6 Wiskundige grammatica’s . . . . . . . . . . . . 30 3.8.7 Data structuur diagrammen . . . . . . . . . . . 31 3.8.8 Voorbeelden uit het werk van de gebruiker . . . 31 3.8.9 Conclusie . . . . . . . . . . . . . . . . . . . 32 3.9 IS ontwikkeling in evoluerende organisaties . . 33 3.9.1 Case tools en Informatie Systeem-ontwikkeling . 34 3.9.2 Architectuur voor een IS . . . . . . . . . . . 35 3.9.3 Architectuur van het EIS . . . . . . . . . . . 36 3.9.4 Verschil tussen IS en EIS . . . . . . . . . . . 40 . . . . . . . . . . . . . 2 4 Het proces in detail . . . . . . . . . . . . . 41 4.1 Inleiding . . . . . . . . . . . . . . . . . . . 41 4.2 Gemodelleerde beschrijving . . . . . . . . . . 41 4.2.1 Strategieën en hun methoden . . . . . . . . . . 42 4.2.1.1 De groter_dan relatie . . . . . . . . . . . . . 43 4.2.1.2 De kleiner_dan relatie 44 4.2.1.3 Ordening tussen de strategieën 4.2.2 De rol van formele representatie . . . . . . . . . . . . . . . . . . . . 46 . . . . . . . 48 4.2.3 De rol van grafische representaties . . . . . . 50 4.2.4 Representatie technieken voor IS ontwikkeling . 53 4.2.4.1 Eigenschappen . . . . . . . . . . . . . . . . . 53 4.2.4.2 Verband eigenschappen - representatie . . . . . 54 4.2.5 De conceptuele informatie modellen . . . . . . 58 4.2.6 Beheersmethoden voor IS ontwikkeling . . . . . 62 4.2.7 Aanpassingen in het Informatie Systeem . . . . 64 4.3 Verband tussen de talen . . . . . . . . . . . . 67 4.3.1 Begrijpbaarheid . . . . . . . . . . . . . . . . 67 4.3.2 Omvang 68 4.3.3 Uitdrukkingskracht . . . . . . . . . . . . . . 68 4.3.4 Conclusie . . . . . . . . . . . . . . . . . . . 68 . . . . . . . . . . . . . . . . . . . . 3 Korte samenvatting 1 Introductie . . . . . . . . . . . . . . . . . . . 6 . . . . . . . . . . . . . . . . . . . . . 7 1.1 Vraagstelling 1.2 Opzet van het onderzoek 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Analyse van de problemen en behoeften 7 7 . . . . . . . . 8 2.1 Inleiding . . . . . . . . . . . . . . . . . . . . . 8 2.2 Slagen en/of falen van Informatie Systemen . . . . . 8 2.2.1 2.3 Functionele vereisten 2.3.1 2.4 Factoren van het slagen en/of falen . . . . . . . 8 . . . . . . . . . . . . . . . 9 Eisen aan ontwikkelmethoden . . . . . . . . . . . 10 Vereisten aan het Informatie Systeem . . . . . . . . 10 2.4.1 Informatie en communicatie . . . . . . . . . . . . 10 2.4.2 Organisaties veranderen . . . . . . . . . . . . . 12 . . . . . . . . . . . . . . . . . . . . 12 2.4.2.1 Greiner 2.4.2.2 Quin en Cameron . . . . . . . . . . . . . . . . 12 . . . . . . . . . . . . . . . 13 De globale structuur . . . . . . . . . . . . . . . . . 14 2.5 3 Vereisten aan het EIS 3.1 Inleiding . . . . . . . . . . . . . . . . . . . . . 14 3.2 Het startpunt van het ontwikkel proces . . . . . . . 14 3.3 Het conceptuele informatie model . . . . . . . . . . 14 3.3.1 3.4 De verschillende modellen van een IS . . . . . . . Strategieën voor informatie behoefte bepaling . . . 16 . . . . . . . . . . . . 16 Ondersteuning van de verschillende processen . . . 17 De rol van de formele representaties . . . . . . . . 19 3.4.1 Ordening in de strategieën 3.4.2 3.5 15 3.5.1 Formele representatie als tussenliggende stap . . 19 3.5.2 Formele representatie als referentie document . . 20 3.5.3 Soorten documentatie . . . . . . . . . . . . . . . 20 4 3.5.4 3.6 Aanpassingen in Evolutionair Informatie Systeem. . . . . . . . . . 22 3.6.1 Uitdrukkingskracht en compleetheid . . . . . . . . 22 3.6.2 Begrijpbaarheid . . . . . . . . . . . . . . . . . 24 Beheersing van de ontwikkeling . . . . . . . . . . . 24 3.7 De rol van grafische representaties 20 3.7.1 Beheersen door faseren . . . . . . . . . . . . . . 24 3.7.2 Beheersen door documenteren . . . . . . . . . . . 24 3.7.3 Beheersen door organiseren . . . . . . . . . . . . 25 3.8 Effectieve representatie voor IS ontwikkeling . . . 27 3.8.1 Het relationele model . . . . . . . . . . . . . . 27 3.8.2 Verhalende specificaties . . . . . . . . . . . . . 29 3.8.3 Entiteit-Relatie diagrammen . . . . . . . . . . . 29 3.8.4 Data Flow Diagrammen . . . . . . . . . . . . . . . 30 3.8.5 Toestandsovergang diagrammen . . . . . . . . . . . 31 3.8.6 Wiskundige grammatica’s . . . . . . . . . . . . . 32 3.8.7 Data structuur diagrammen . . . . . . . . . . . . 33 3.8.8 Voorbeelden uit het werk van de gebruiker 3.8.9 Conclusie 3.9 . . . . 33 . . . . . . . . . . . . . . . . . . . . 34 IS ontwikkeling in evoluerende organisaties . . . . 35 3.9.1 Case tools en Informatie Systeem-ontwikkeling . . 36 3.9.2 Architectuur voor een IS . . . . . . . . . . . . . 37 3.9.3 Architectuur van het EIS . . . . . . . . . . . . . 38 3.9.4 Verschil tussen IS en EIS . . . . . . . . . . . . 42 . . . . . . . . . . . . . . . . 43 4 Het proces in detail 4.1 Inleiding . . . . . . . . . . . . . . . . . . . . . 43 4.2 Gemodelleerde beschrijving . . . . . . . . . . . . . 43 4.2.1 Strategieën en hun methoden 4.2.1.1 De groter_dan relatie 5 . . . . . . . . . . . 44 . . . . . . . . . . . . . 44 4.2.1.2 De kleiner_dan relatie . . . . . . . . . . . . . 46 4.2.1.3 Ordening tussen de strategieën . . . . . . . . . 48 4.2.2 De rol van formele representatie . . . . . . . . . 48 4.2.3 De rol van grafische representaties 50 4.2.4 Representatie technieken voor IS ontwikkeling . . . . . . . . . 52 . . . . . . . . . . . . . . . . . 55 4.2.4.1 Eigenschappen 4.2.4.2 Verband eigenschappen - representatie . . . . . 56 4.2.5 De conceptuele informatie modellen . . . . . . . . 60 4.2.6 Beheersmethoden voor IS ontwikkeling . . . . . . . 63 4.2.7 Aanpassingen in het Informatie Systeem . . . . . . 64 4.3 Verband tussen de talen . . . . . . . . . . . . . . 69 4.3.1 Begrijpbaarheid . . . . . . . . . . . . . . . . . 69 4.3.2 Omvang . . . . . . . . . . . . . . . . . . . . . . 70 4.3.3 Uitdrukkingskracht . . . . . . . . . . . . . . . . 70 4.3.4 Conclusie . . . . . . . . . . . . . . . . . . . . Korte samenvatting 70 Dit artikel gaat over het opstellen van een raamwerk voor de ontwikkeling van een Informatie Systeem voor evaluerende organisaties. Het raamwerk geeft aan, aan welke voorwaarden moet worden voldaan om tot een succesvol project te komen. Het artikel is speciaal toegespitst op managers en eindgebruikers. De managers en eindgebruikers zijn samengenomen, omdat de splitsing tussen automatiseerders en niet-automatiseerders is gemaakt. De rol die de managers en eindgebruikers bij de ontwikkeling van Informatie Systemen spelen is vergelijkbaar met betrekking tot de verhouding met de automatiseerders, ook al spelen beide een geheel verschillende rol binnen het proces van automatisering. 6 1 Introductie 1.1 Vraagstelling Bij de ontwikkeling van Informatie Systemen blijkt er nog al eens sprake te zijn van het niet slagen van automatiseringsprojecten. De vraag die hier onmiddellijk bij rijst, is: " Wat is de oorzaak van dit falen van automatiseringsprojecten" en "Hoe kan dit falen worden voorkomen?" Hieruit volgt de volgende vraag: "Zijn de beschikbare methoden geschikt voor de ontwikkeling van Informatie Systemen?". Deze vraag bevat impliciet de volgende vraag: "Sluiten de eisen, die de methoden stelt aan de betrokkenen, aan bij wat er redelijkerwijs van de betrokkenen verwacht mag worden, of zijn deze eisen te hoog gegrepen?" In de traditionele Informatie Systeem ontwikkeling wordt er geen rekening gehouden met veranderende organisaties. Tijdens het gebruik van het Informatie Systeem verandert de organisatie met als gevolg, dat de aansluiting tussen het Informatie Systeem en de organisatie niet optimaal meer is. Het traditionele Informatie Systeem is applicatie afhankelijk, waardoor de traditionele aanpassing neerkomt op het opnieuw ontwerpen en ontwikkelen van het Informatie Systeem. De aanpassingen kunnen niet meer in termen van onderhoud gebeuren. Is het mogelijk om het Informatie Systeem zodanig te ontwikkelen, dat het Informatie Systeem applicatie onafhankelijk is? Is het mogelijk om het onderhoud zodanig uit te voeren, dat de reguliere arbeidsprocessen hier niet onder lijden? Is hieruit een methode te ontwikkelen om het Informatie Systeem te ontwikkelen, zodanig dat het Informatie Systeem blijvend aansluit op de informatie behoefte van de organisatie? Is zo’n methode praktisch toepasbaar? 1.2 Opzet van het onderzoek Aan dit onderzoek is een gedegen literatuur studie voorafgegaan om tot een inzicht te komen in de problematiek die bij de organisaties speelt. In het kader van het onderzoek heb ik als uitgangspunt het boek ’Grondslagen van de informatica voor managers en eindgebruikers’ [Nijssen] en het artikel ’Evolution and time in Information Systems’ [FOP] gebruikt. Het eerste geeft een raamwerk voor Informatie Systeem ontwikkeling op de traditionele manier, terwijl het tweede inzicht geeft in de vereisten van een evoluerend Informatie Systeem. 7 2 Analyse van de problemen en behoeften 2.1 Inleiding In dit hoofdstuk worden ten eerste problemen aan de orde gesteld, waarbij het gaat om de problemen van het (des)functioneren van het Informatie Systeem in de organisatie. Verder worden er, mede aan de hand van de geanalyseerde problemen, eisen geformuleerd, waaraan het Informatie Systeem en de ontwikkelmethode minimaal moeten voldoen. 2.2 Slagen en/of falen van Informatie Systemen Veel systemen die ontwikkeld worden, lijden aan de Software Crisis. De oorzaak hiervan is hoofdzakelijk te wijten aan een overschrijding van de kosten, een overschrijding van de opleverdatum en het niet voorzien in de werkelijke behoefte van de gebruikers. In werkelijkheid bestaat de Software Crisis uit twee delen: De Systeem Software Crisis en de Information Software Crisis. Het eerste houdt in, dat de basis operationele software niet effectief geproduceerd en betrouwbaar gebruikt kan worden. Het tweede deel houdt in, dat de applicatie specifieke software niet effectief geproduceerd en betrouwbaar gebruikt kan worden. 2.2.1 Factoren van het slagen en/of falen De factoren die een rol spelen bij het slagen en/of falen van een project om het als mislukt, problematisch of geslaagd te kunnen beschouwen moeten tegen elkaar afgewogen worden. [Doorewaard] Als indicatie voor het aantal geslaagde systemen kan het volgende gegeven worden, naar een onderzoek uit ’88 door Riesewijk en Warmerdam: Geslaagd 51.1 % Problematisch 43.8 % Mislukt 4.7 % Allereerst zijn er de relationele factoren. Hiervan is sprake als er op het gebied van communicatie problemen ontstaan, doordat de betrokken partijen niet, of niet op de juiste manier, bij het communicatie netwerk van het project betrokken worden. Er bestaan verschillende semantieken, die voor de verschillende partijen een duidelijke betekenis hebben. Deze verschillende semantieken kunnen bij een gebrekkige communicatie voor problemen zorgen. Verder zijn er de conditionerende factoren. Deze hebben betrekking op de voorwaarden of condities waarin de betrokken organisaties moeten werken. Hieronder vallen de kenmerken van de organisatie cultuur en structuur, kenmerken van het project, kenmerken van het personeelsbestand etc. 8 Er kan een ordening in de kritische factoren gegeven worden. Als zeer problematische factoren gelden de doorlooptijd en de kosten, de project bewaking vanuit een extern bureau en de communicatie tussen automatiseerders en management. Een klasse factoren die als minder problematisch geldt is die van de organisatorische inpassing van het systeem, de afstemming van de verschillende belangen, het overleg tussen de betrokkenen en de acceptatie van het systeem door het personeel. Als minst problematisch geldt de gebruiksvriendelijkheid, de training en opleiding van het personeel en herplaatsing en omscholing. Een bijkomend probleem bij het slagen en/of falen van de ontwikkeling van Informatie Systemen is, dat er een periode van ± 10 jaar ligt tussen de ontwikkeling van een theorie en het toepassen hiervan in de praktijk. Hiervoor zijn een aantal oorzaken te noemen. Allereerst gaat de wetenschapper ervan uit, dat de manager altijd de beste oplossing zal kiezen. In de praktijk echter blijkt dat de manager echt slechte oplossingen vermijdt en het liefst kiest voor een bruikbaar alternatief, dat niet teveel risico inhoudt en wat snel te realiseren is. Vervolgens is het een gegeven, dat de manager altijd tijdgebrek heeft, dus een dag cursus is taboe, en mocht de manager al naar een cursus toegaan, dan blijkt dat daar de nieuwe theorieën uitgelegd worden in plaats van hoe het bedrijf ervan kan profiteren. De manager is dus eigenlijk op zoek naar recepten in plaats van theorieën. Nu rijst dus het probleem: Hoe draag je de wetenschap over op de manager? Als laatste is er de aard van het wetenschappelijk onderzoek. Een groot deel van het wetenschappelijk onderzoek betreft problemen, die de manager niet als het belangrijkste beschouwd. Als gevolg hiervan worden de ontwikkelingen in de theorie, niet (snel genoeg) in de praktijk gebracht. Een factor waar bij automatiserings-projecten geen rekening mee gehouden wordt is het bestaan van een informele organisatie structuur naast de bestaande formele structuur. Deze informele organisatie structuur is te beschouwen als een voortdurend veranderend sociaal systeem, dat uit wisselende relaties tussen personen bestaat. Het werkt over het algemeen als smeerolie waarop de organisatie loopt. Het gevaar bestaat, dat bij automatiseringsprojecten deze informele structuur verloren gaat. 2.3 Functionele vereisten Alle ontwikkel methoden bevatten een onderdeel, waar de functionele vereisten achterhaald worden. De functionele eisen zijn afhankelijk van de soort organisatie, het beslissingsniveau van het Informatie Systeem, de functie en de soort beslisser. De functionele eisen van Informatie Systemen zijn af te leiden uit de karakteristieken van het bestuurde systeem en het besturend orgaan. 9 2.3.1 Eisen aan ontwikkelmethoden Elke ontwikkelmethode moet aan bepaalde eisen voldoen, wil de methode kans van slagen hebben. Deze eisen liggen op het gebied van de effectiviteit en efficiency. Voor de eisen aan de effectiviteit geldt, dat de methode zodanig van opzet moet zijn, dat deze effectieve ondersteuning biedt bij het ontwerp- en constructieproces, met als uiteindelijk resultaat een functioneel goed Informatie Systeem. Voor de eisen aan de efficiency geldt, dat de methode voldoende aanknopingspunten dient te bieden voor efficiënt beheer van het ontwikkelproces als zodanig. 2.4 Vereisten aan het Informatie Systeem Aan het Informatie Systeem kunnen verschillende eisen worden gesteld ten aanzien van de informatie behoefte en de communicatie. De eisen ten aanzien van de communicatie kunnen worden afgeleid uit de architectuur van het bestaande Informatie Systeem en uit de eisen die ten aanzien van de (menselijke) communicatie moeten gelden. 2.4.1 Informatie en communicatie Het uitgangspunt is de aanname, dat een Informatie Systeem wordt ontworpen om de communicatie tussen mensen te ondersteunen. Dus we beginnen de ontwikkeling van de architectuur van een Informatie Systeem met een eenvoudig model van menselijke communicatie. Communicatie is de uitwisseling van informatie tussen meerdere (groepen) personen. Hieruit is het volgende basis axioma af te leiden: ’Een Informatie Systeem is een systeem, die de communicatie van taalkundige zinnen (feiten) tussen mensen ondersteunt.’ Hieruit ontwikkelen we een model van een Informatie Systeem, dat iedere relevante component van zo’n Informatie Systeem bevat en hun interacties beschrijft (grafische taal). Dit model bestaat uit twee componenten, te weten de Software Information Processor en de Human Information Processor. De Software Information Processor is een actieve component die informatie kan behandelen volgens van te voren vastgestelde regels. De Human Information Processor is een mens, die een proces uitvoert. 10 Het is niet genoeg dat twee communicatie partners dezelfde taal spreken, ze moeten ook de taal in dezelfde context plaatsen, zodanig dat er geen andere interpretatie mogelijk kan zijn. Met andere woorden: de twee communicatie partners moeten hetzelfde woord model gebruiken, zodat ze dezelfde betekenis aan dezelfde zinnen geven. [Nijssen] Voorbeelden: A: Reagan en Bush (communicatie partners) spreken dezelfde taal (Engels) en delen hetzelfde interpretatie model als het om politiek gaat. B: Bush en Dukakis (communicatie partners) spreken dezelfde taal (Engels), maar delen niet hetzelfde interpretatie model. Bijvoorbeeld: Bij de uitwisseling van kennis over sociale zekerheidspolitiek is een goed uitgangspunt voor een debat, maar geen effectieve uitwisseling van feiten. C: Een Chinees en een Cubaan delen hetzelfde interpretatie model (beide communist), maar ze spreken niet dezelfde taal. D: Fidel Castro en Ronald Reagan spreken noch dezelfde taal, noch delen zij hetzelfde interpretatie model. Alleen bij A is er sprake van effectieve communicatie, omdat dit het enige voorbeeld is waarbij sprake is van dezelfde taal en hetzelfde interpretatie model. Bij allen is er sprake van hetzelfde communicatie kanaal. Eisen die tot dusver voor een effectieve menselijke communicatie gesteld worden zijn het gemeenschappelijk communicatie kanaal, de gemeenschappelijke taal en het gemeenschappelijk interpretatie model. Eisen die gesteld worden aan de menselijke communicatie, worden ook aan de architectuur van het Informatie Systeem gesteld, omdat dit het communicatie middel met de mens is. Er moet dus sprake zijn van een gemeenschappelijk communicatie kanaal, gemeenschappelijke taal en een gemeenschappelijk interpretatie model. Indien het gemeenschappelijke communicatie kanaal ontbreekt, dan betekent dit, dat er geen communicatie mogelijk is tussen de gebruiker en het Informatie Systeem. Voor de gemeenschappelijke taal zijn er twee mogelijkheden. Ten eerste is er de natuurlijke taal. Het is echter niet mogelijk de computer direct in een menselijke taal te laten communiceren. Een tweede mogelijkheid is de computertaal. Een voorbeeld hiervan is SQL, wat wordt gebruikt om informatie over te brengen naar het relationeel database management systeem. In veel Informatie Systemen is de formele taal geïmplementeerd in het Informatie Systeem, zodat er geen fysieke Database is die de definitie van de formele taal bevat. Voor het gemeenschappelijk interpretatie model moet het Informatie Systeem een formeel model bevatten, wat exact definieert welke feiten zijn toegestaan. Elk bericht van de gebruiker moet worden gecontroleerd op zijn correctheid. 11 2.4.2 Organisaties veranderen Samen met de organisaties verandert de informatie behoefte van de organisaties. In de loop der jaren zijn er verschillende modellen van organisaties ontwikkeld. Bij al deze modellen doorloopt de organisatie een aantal fasen of stadia. [Bemelmans] 2.4.2.1 Greiner Organisaties doorlopen verschillende groeifasen. Elke fase is te beschouwen als een soort evolutie, die aan het eind afgesloten wordt met een crisis situatie (revolutie). Elke fase heeft een aantal kenmerken, die weer consequenties hebben voor de vorm en de opzet van het Informatie Systeem (soort informatie). 2.4.2.2 Quin en Cameron Uit een vergelijking van 9 verschillende modellen komen Quin en Cameron tot een model met vier stadia. Elk stadium heeft zijn eigen kenmerken, die terug te voeren zijn tot drie essentiële dimensies, namelijk de oriëntatie van de organisatie, de organisatie cultuur en structuur en het hoofdobject van beslissingen. De oriëntatie van de organisatie is ten eerste extern gericht. Dit houdt in, dat er afzetmarkten gecreëerd en produktiemiddelen verworven moeten worden. Ten tweede is deze dimensie intern gericht. Dit houdt het motiveren van het personeel en consolideren van resultaten in. De organisatie cultuur en structuur houdt de flexibiliteit van de organisatie de formalisering en bureaucratisering in. Het hoofdobject van beslissingen legt het zwaartepunt op het verwerven en efficiënt inzetten van noodzakelijke middelen en op het ontwikkelen ven nieuwe produkt/markt combinaties en het formuleren van nieuwe strategieën. Hierbij moet echter de kanttekening geplaatst worden, dat niet alle onderdelen van de organisatie zich noodzakelijkerwijs in dezelfde fase bevinden. Samenvattend betekent dit, dat de organisatie vaak en snel verandert en dus verandert de informatie behoefte van de organisatie ook. Dus er is behoefte aan een doelmatige strategie om het Informatie Systeem ook vaak en snel te kunnen laten veranderen, om bij de informatie behoefte aan te kunnen sluiten. 12 2.5 Vereisten aan het EIS De grootste eis die gesteld kan worden aan een Evolutionair Informatie Systeem, is dat het ’meegroeit’ met de organisatie, zonder dat er een onderbreking komt van de processen van de organisatie. Dit meegroeien houdt in, dat het Informatie Systeem de veranderingen van de organisatie volgt, op een zodanige wijze, dat het verschil tussen de afbeelding en de werkelijkheid klein blijft. Uit deze vereiste kunnen verschillende eisen gespecificeerd worden. Ten eerste staat het Informatie Systeem aanpassingen toe van alle informatie, die afhankelijk is van het Universe of Discourse van het Informatie Systeem. De specificatie van informatie die afhankelijk is van een specifiek organisatie domein is deel van de architectuur van het Evolutionair Informatie Systeem. Ten tweede staat het Informatie Systeem correctie toe van (eerder) opgeslagen informatie. Het kan blijken, dat de opgeslagen informatie niet (meer) blijkt te voldoen aan de vereisten. De noodzaak voor correctie wordt gegeven door validatie. Consistentie wordt gecontroleerd door het systeem. Ten derde vergeet het systeem geen informatie, tenzij het expliciet gevraagd wordt. Met andere woorden de complete geschiedenis van informatie binnen het Informatie Systeem blijft bewaard. Als laatste mogen aanpassingen van het Informatie Systeem de organisatie activiteiten niet onderbreken. De intentie van het Evolutionair Informatie Systeem is het verschil tussen behoefte en aanbod van informatie te minimaliseren. Als gevolg hiervan moet de factor tijd moet aan het Informatie Systeem worden toegevoegd, om verschillende soorten tijdstippen te kunnen opslaan. De eerste soort is het tijdstip van de gebeurtenis. Deze wordt gebruikt voor het opslaan van de geschiedenis van informatie. De tweede soort is het tijdstip van de opslag van gegevens. Deze wordt gebruikt om correcties uit te kunnen voeren is een roll back operator vereist. [FOP] 13 3 De globale structuur 3.1 Inleiding Uit het vorige hoofdstuk blijkt, dat de informatie behoefte binnen de organisaties verandert, doordat de organisaties veranderen. Aan de hand hiervan worden de eisen ten aanzien het Informatie Systeem geformuleerd. In dit hoofdstuk worden, voor de in het vorige hoofdstuk geformuleerde problemen en behoeften, alternatieven geformuleerd. 3.2 Het startpunt van het ontwikkel proces Bij het vastleggen van de vereisten bestaat de initiële invoer uit ruw materiaal bestaan. Dit is een niet precieze, niet bruikbaar gestructureerde, vage en incomplete specificatie van de vereisten. Dit ruwe materiaal kan niet worden uitgedrukt in goed gedefinieerde interpreteerbare computertaal. De eerste en meest essentiële taak bij Informatie Systeem ontwikkeling is de informele vereisten uitdrukken in een formele taal. Dit kan niet door software gerealiseerd worden. Met andere woorden betekent dit, dat er ruimte is tussen de informele en de formele representatie. Deze ruimte, de semantische leemte, ook wel ’semantic gap’ genaamd, moet overbrugd worden. Het doel van iedere Informatie Systeem ontwikkelmethode is het leveren van een effectieve overbrugging. De meeste ontwikkelmethoden missen zo’n effectieve overbrugging. Ze gaan er van uit dat de gebruiker deze leemte overbrugt, waarbij hij elke methodische ondersteuning mist. De vraag rijst nu, hoe de gebruiker de invoer betrouwbaar kan leveren en hoe de analist de geleverde invoer kan interpreteren in een formele representatie structuur. 3.3 Het conceptuele informatie model De verschillende partijen, die betrokken zijn bij de ontwikkeling van een Informatie Systeem moeten een grote mate van overeenstemming hebben over de relevant geachte conceptuele modellen. Wordt aan deze voorwaarde niet voldaan, dan is de kans op communicatie stoornissen groot. 14 3.3.1 De verschillende modellen van een IS Eén onderdeel bij het ontwikkelen van een Informatie Systeem is het opstellen van conceptuele informatie modellen van een besturing situatie. Hierin wordt aangegeven voor welk management en voor welke beslissing informatie nodig is, waarom en wanneer. We onderscheiden hier als eerste het systologisch model. Dit model beschrijft de pragmatische aspecten (het wat en waarom van de informatie). Daarnaast bestaat het infologisch model. Dit model beschrijft de semantische aspecten. Hier wordt ingegaan op de gegevensen verwerkingsprocessen die nodig zijn om die informatie te kunnen produceren. Verder is er het datalogische model. Dit model beschrijft de syntactische aspecten (op welke wijze en in welke vorm moet het systeem worden verwezenlijkt). Als laatste is er het technische model. Hierin wordt concreet aangegeven welke technische faciliteiten zullen worden gebruikt. Afbeelding 1: De verschillende modellen 15 3.4 Strategieën voor informatie behoefte bepaling De meest eenvoudige strategie voor het bepalen van de informatie behoefte is het simpelweg vragen naar de informatiebehoefte aan gebruikers. Dit levert veelal slechte resultaten. Als oorzaak hiervoor wordt gegeven, dat de informatiebehoefte divers en complex van aard is, de interactie tussen gebruikers en ontwerpers veelal lacunes vertoont, sommige gebruikers weigeren mee te werken aan het inventariseren en structureren van de informatiebehoefte en dat gebruikers beperkt zijn in hun mogelijkheden om de informatiebehoefte te specificeren. De capaciteit van de gebruikers blijkt in het algemeen ontoereikend te zijn om een volledig overzicht van de behoefte te specificeren. Verder blijkt dat de gebruikers een afwijking vertonen bij het specificeren. Ze refereren bij voorkeur aan bestaande systemen en maken zich zodoende onvoldoende los van het bestaande om de behoeften te specificeren, ze geven een zwaarder gewicht aan recent opgetreden behoeften en ze kunnen moeilijk oorzaakgevolg relaties onderkennen, en geven hierdoor de verkeerde informatie. 3.4.1 Ordening in de strategieën Olsen en Davis geven verschillende strategieën om de informatie behoefte te bepalen, gerangschikt van hoge naar lage mate van onzekerheid. De strategie met de hoogste mate van onzekerheid is de oberstrategie. Dit is het ondervragen van gebruikers. Hiervoor zijn diverse methoden, zoals het houden interviews en enquêtes, brainstorming en de Delphi-methode. Dit laatste is een gestructureerde ondervraging met het doel extreme visies met argumenten te onderbouwen. Deze strategie is te hanteren bij goed te structureren problemen, waarbij kennis- en ervaringsniveau bij gebruikers hoog is, er een beperkt aantal gebruikers en er goed getrainde informatie deskundigen bij het project betrokken zijn. De strategie die hierop volgt is de referentie strategie. Hierbij worden bestaande systemen als referentiekader genomen (bijv. standaard pakketten). De methode is gebaseerd op het vergelijken van besturing situaties met soortgelijke situaties en daarvoor ontwikkelde Informatie Systemen. De strategie is te hanteren bij goed te structureren problemen, die stabiel in de tijd zijn. Het referentie systeem moet een goede afspiegeling zijn van het gewenste Informatie Systeem. De hierop volgende strategie is de ontwikkel strategie. Hier wordt een zorgvuldige analyse en structurering van de besturingssituatie en het te ontwikkelen Informatie Systeem door informatie deskundigen en gebruikers gemaakt. Methoden hiervoor zijn de kritische succes-factor analyse, Socio-technische analyse, beslissings (operational research) georiënteerde aanpak en proces georiënteerde aanpak en methoden (bijv ISAC). De ontwikkel strategie is te hanteren als referentie systemen ontbreken, problemen minder goed te structureren zijn, het 16 kennis/ervarings niveau gebruikers middelmatig is, informatie deskundigen van hoog niveau zijn of het Informatie Systeem complex is met tal van interfaces. De strategie met de laagste mate van onzekerheid is de evolutionaire strategie (ook wel de iteratieve strategie): Het ontwerp en de constructie gebeurt in een aantal kleine incrementele stappen. De methoden hierbij is de prototype benadering of de data-georiënteerde methode. Deze strategie is te hanteren bij hoge onzekerheid met betrekking tot specificaties, sterk groeiende informatie behoeften of als gebruikers en informatie deskundigen de expertise missen om een Informatie Systeem in zijn totaliteit te ontwikkelen. [Bemelmans] 3.4.2 Ondersteuning van de verschillende processen De verschillende processen in een organisatie worden ondersteund, de verschillende onderdelen uit de onderstaande figuur. Deze ondersteuning is ook van belang voor de verschillende onderdelen van IS ontwikkeling. Zetten we deze ondersteuning af tegen de strategieën om de informatie behoefte te bepalen, dan volgt hieruit het volgende. Bij de oberstrategie staat de wijze van werken vast. Hierdoor wordt de wijze van ondersteuning en besturing bepaald. Aan de hand hiervan wordt de wijze van modellering ingevuld. Bij de referentie strategie staat de wijze van besturen vast. Zoals beschreven gaat het er bij deze strategie om een bestaand systeem als referentiekader te nemen, waar het besturingssysteem vergelijkbaar is. Als gevolg hiervan moet de manier van denken ook grote overeenkomsten vertonen met de ondersteuning van het bestaande systeem. De resterende onderdelen, de manier van werken, modelleren en ondersteunen, worden hierdoor in grote lijnen bepaalt door de twee vaststaande onderdelen. Bij de ontwikkel strategie wordt een zorgvuldige analyse en een structurering van de besturingssituatie gemaakt. Dit houdt in, dat de manier van besturen en modelleren hierdoor vaststaat. De wijze van werken en ondersteunen wordt aan de hand hiervan bepaald. Bij de evolutie strategie wordt het ontwerp en constructie in kleine incrementele stappen gemaakt. Hierdoor staat de wijze van werken en besturen vast. Aan hand hiervan worden de wijze van ondersteunen en modelleren bepaald. 17 Afbeelding 2: Proces ondersteuning Uit het bovenstaande blijkt, dat de gekozen strategie bepaalt hoe de wijze van denken, besturen, modelleren, werken en ondersteunen moet worden ingevuld. Hierbij staat er een gedeelte vast, terwijl de rest aan de hand hiervan worden bepaald. Zie voor een schematisch overzicht de onderstaande figuur. Wijze van .. Werken Modelleren Besturen Ondersteunen Denken B B V B B V V V B B B B I V I I Strategie Ober Referentie Ontwikkel Evolutie V B B V Legenda: V = Staat vast. B = Wordt bepaald aan de hand van het vaststaande. I = In te vullen aan de hand van B en V. 18 3.5 De rol van de formele representaties Formele representaties spelen een dubbele rol in het ontwikkel proces. Allereerst spelen zij de rol van een tussenliggende fase tussen de initiële, informele specificatie en de uiteindelijke, uitvoerbare implementatie. Een tweede rol die zij spelen is de rol van formeel referentie document, wat de systeem vereisten beschrijft. 3.5.1 Formele representatie als tussenliggende stap De initiële representatie moet worden uitgedrukt in een taal die zo dicht mogelijk bij de taal van de gebruiker ligt, zonder gebruik te maken van computer georiënteerde uitdrukkingen. De uiteindelijke representatie is een formeel Informatie Systeem, dat aan de gespecificeerde eisen voldoet. Het verschil tussen deze twee representaties is te groot om het in algemeenheid in één keer op te lossen. Zodra er een formele representatie is, moet deze gevalideerd worden. Een effectief validatie proces moet de inhoud van de formele specificatie vertalen naar de gebruiker, zodat het voor de gebruiker duidelijk is, wat er gespecificeerd is. Dus elk van de formele tussenfasen moet een duidelijke verband aangeven met de initiële representatie. Deze tussenliggende fasen moeten bij elkaar compleet zijn, zodat de programmeur geen arbitraire beslissingen meer hoeft te nemen. 19 3.5.2 Formele representatie als referentie document Formele representaties leveren een consistentie en visualiseerbaarheid gedurende het ontwerp proces. Het bevat de eisen van de gebruiker en een ontwerp dat hieraan voldoet. Aan iedere formele representatie in het ontwerp proces moet de volgende vraag worden gesteld. Hoe betrouwbaar kunnen de formele specificaties worden geïmplementeerd en gevalideerd. Ofwel: Kunnen de specificaties rechtstreeks worden geïmplementeerd, of moet de programmeur nog terug naar gebruiker? Begrijpt de gebruiker de inhoud van de specificaties werkelijk om te beslissen of ze voldoen aan zijn vereisten? 3.5.3 Soorten documentatie Er bestaan verschillende soorten documenten, die op verschillende wijzen worden gemaakt. Allereerst zijn er de essentiële ontwerp documenten. Deze worden direct gemaakt, als een resultaat van een ontwerp of analyse activiteit en die worden gebruikt als invoer verder in het proces. Verder zijn er de niet essentiële ontwerp documenten. Deze worden gemaakt als een op zichzelf staande ontwerp activiteit, meestal nadat de ontwikkeling is afgerond. De essentiële documentatie representeert een betrouwbare basis voor onderhoud en toekomstige wijzigingen. De tweede groep documentatie is lastig aan te passen en bevatten daardoor gemakkelijk redundantie of voortdurende onjuistheden. 3.5.4 Aanpassingen in Evolutionair Informatie Systeem. Het is de bedoeling, dat het Informatie Systeem de informatie behoefte van de organisatie vervult. Omdat de behoefte en de informatie zelf verandert moet het Informatie Systeem aangepast worden. 3.5.4.1 Aanpassingen in het traditionele IS Aanpassingen moeten resulteren in een toestandsverandering, zodanig dat de nieuwe toestand de huidige toestand van de organisatie weergeeft. Hierbij dient er gecontroleerd te worden of de informatie betrouwbaar en consistent is. Aanpassingen bestaan hier gewoonlijk uit toevoeging, verwijdering of verandering (van delen) van informatie. Het resultaat is een nieuwe toestand, waarbij de vorige toestand verloren gaat. Er is geen ondersteuning van het begrip tijd. Als gevolg hiervan kunnen vorige toestanden niet worden teruggehaald. Er is hier sprake van een snapshot systeem. 20 3.5.4.2 Aanpassingen in Evolutionair Informatie Systeem Een ideaal Informatie Systeem geeft op elk moment de correcte toestand van de organisatie weer. Elke gebeurtenis, ofwel elke toestandsverandering, in de organisatie heeft een aanpassing van het Informatie Systeem als gevolg. Dit soort aanpassingen heet opslag van een gebeurtenis. Een andere mogelijkheid tot aanpassing is, dat de informatie die afgeleid wordt van de opgeslagen gebeurtenissen niet, of niet meer, correct is. Hier is een aanpassing nodig, om de afbeelding van de organisatie op het Informatie Systeem te corrigeren. Zo’n soort aanpassing heet correctie. Het verandert de opslag van een gebeurtenis die al eerder heeft plaatsgevonden. De laatste soort aanpassing die kan plaatsvinden is het verwijderen van informatie. Het betreft hier een verzoek tot verwijderen van informatie, bijvoorbeeld door de wet gegeven. 3.5.4.2.1 Opslag Als er een gebeurtenis optreedt in de organisatie, dan moet er met het Informatie Systeem gecommuniceerd worden door middel van een aanpassingsverzoek. De gebeurtenis wordt afgebeeld door het uitvoeren van dit verzoek. De aanpassing wordt uitgevoerd door een aantal elementaire overgangen. Er worden drie soorten elementaire overgangen onderscheiden: geboorte, overlijden en verandering. Bij de eerste wordt een nieuw element aan het applicatie model toegevoegd, bij de tweede wordt een element uit het applicatie model verwijderd terwijl bij de laatste er een overgang plaatsvindt van het ene naar een ander element in het applicatie model. Aangezien er geen informatie verloren mag gaan, wordt de geschiedenis van de applicatie model elementen bewaard, door de veranderingen samen met de tijdstippen waarop dit gebeurt op te slaan. 3.5.4.2.2 Correctie Een Informatie Systeem geeft de organisatie correct weer dan en slechts dan, als er een isomorfisme bestaat tussen de toestanden in de organisatie en het Informatie Systeem. Het is een vereiste, dat de afbeelding van de organisatie op het Informatie Systeem elke gebeurtenis in de organisatie weergeeft als een gebeurtenis in het Informatie Systeem. Doordat het tijdstip waarop de gebeurtenis heeft plaatsgevonden wordt opgeslagen, is de volgorde van de gebeurtenis af te leiden. Heeft er een foute opslag plaatsgevonden dan kan er een correctie plaatsvinden. 21 De correctie kan bestaan uit het invoegen van een gebeurtenis, het verwijderen van een opslag of vervanging van een opslag. Om de correctie te verwezenlijken moet het mogelijk zijn, om een vorige toestand terug te halen. De operatie waar hier gebruik van wordt gemaakt is de roll back operator. 3.5.4.2.3 Vergeten In de meeste gevallen zou een ideaal Informatie Systeem geen informatie kwijtraken. Het kan echter gebeuren, dat er in sommige gevallen, bijvoorbeeld om privacy redenen, informatie moet worden vergeten. Dit mag echter niet leiden tot een situatie, waarin andere informatie niet meer teruggehaald kan worden of inconsistent wordt. 3.6 De rol van grafische representaties Grafische representaties kunnen verschillende voordelen hebben. Ze kunnen namelijk veel informatie in een compacte vorm bevatten (één plaatje zegt meer dan 1000 woorden). Verder zijn grafische representaties intuïtief eenvoudig te begrijpen voor gebruikers. 3.6.1 Uitdrukkingskracht en compleetheid Met de uitdrukkingskracht wordt aangegeven of elke formele categorie van de onderliggende specificatie uitgedrukt kan worden. Met de compleetheid wordt aangegeven of het diagram alle onderliggende specificaties weergeeft. Het blijkt echter, dat geen enkele overzichtelijke grafische representatie compleet is. Stel een representatie is compleet en overzichtelijk, dus elke beperking wordt hierin weergegeven, dan betekent dit dat het niet meer overzichtelijk en dus niet meer eenvoudig begrijpbaar is. 3.6.1.1 Soorten incompleetheid Er bestaan verschillende soorten van incompleetheid. Allereerst is er veilige incompleetheid. Elke bevolkbare constructor kan worden weergegeven in het diagram, maar niet elke beperking heeft een representatie. Het is dus compleet in de zin, dat het alle soorten informatie die opgeslagen moeten kunnen worden representeert, maar dat het niet elke beperking op de populatie representeert. Met andere woorden de grafische specificatie staat bepaalde implementaties toe die voldoen aan de gebruikers informatie vereisten, maar het staat ook implementaties toe die niet aan de gebruikers eisen voldoen. 22 Daarnaast bestaat er onveilige incompleetheid. Deze geeft noch elke bevolkbare constructor, noch elke beperking weer. Hierin kunnen dus ook niet-legale database toestanden voorkomen. 3.6.1.2 Relatie veilige en onveilige incompleetheid Bij de geïmplementeerde database toestanden, die toegestaan zijn door de gebruiker en door de specificaties, kan veilige en onveilige compleetheid bestaan. Hiertussen bestaat de volgende relatie. Elke database toestand die de gebruiker wenst, kan worden weergegeven door een veilige incomplete grafische taal. Bepaalde database toestanden die de gebruiker wenst uit te sluiten kunnen worden toegestaan in een veilige incomplete grafische taal. Bepaalde database toestanden die de gebruiker wenst, kunnen worden weergegeven in een onveilige incomplete grafische taal. Bepaalde database toestanden die de gebruiker wenst, kunnen niet worden weergegeven in een onveilige incomplete grafische taal. Bepaalde database toestanden die de gebruiker wenst uit te sluiten, kunnen niet worden weergegeven in een onveilige incomplete grafische taal. Afbeelding 3: Soorten DB toestanden 23 3.6.2 Begrijpbaarheid Met begrijpbaarheid wordt aangegeven of de gebruiker de bedoeling van het diagram begrijpt. Diagrammen kunnen een abstracte, formele specificatie weergeven aan de gebruiker. Als de gebruiker getraind is om deze diagrammen te begrijpen, dan zijn de diagrammen een effectieve manier om de specificaties weer te geven. Dit is slechts zelden het geval. Als gevolg hiervan kunnen de diagrammen alleen als toevoegingen worden bijgevoegd. 3.7 Beheersing van de ontwikkeling De ontwikkeling van een Informatie Systeem is een omvangrijke taak. Het is hierbij van belang, dat de ontwikkeling beheersbaar blijft. Deze beheersing kan op verschillende manieren worden verwezenlijkt. 3.7.1 Beheersen door faseren Doel van de faseringen van het ontwikkelen van informatie systemen is het aanbrengen van duidelijke mijlpalen. Elke fase dient daarbij te worden afgesloten met een goede documentatie, waarin de bereikte resultaten en de vervolgstappen worden vastgelegd. Dit levert een doelmatige besturing van het ontwikkel proces. 3.7.2 Beheersen door documenteren Om de ontwikkeling beheersbaar te houden wordt er tijdens de ontwikkeling en het onderhoud diverse soorten documentatie geproduceerd. Tussen de verschillende soorten documentatie bestaat verschil in gebruiksduur van de documentatie en verschil in de doelstelling van de documentatie. 3.7.2.1 Systeem documentatie Deze omvat de beschrijvingen die direct te maken hebben met het geautomatiseerde Informatie Systeem. Het doel van de systeem documentatie is het verschaffen van inzicht voor nietdirect betrokkenen en het verschaffen van een handleiding voor het gebruik en het beheer van het Informatie Systeem. Het gedeelte, voor de niet-direct betrokkenen, bestaat uit een globale beschrijving. Het handleiding gedeelte is veel uitgebreider en verschilt per categorie van betrokkenen. 24 3.7.2.2 Ontwerp documentatie Deze omvat alle inhoudelijke beschrijvingen van het Informatie Systeem, zoals dat tijdens de ontwikkeling tot stand is gekomen. Het is dus een ’databank’ van ontwerpalternatieven. 3.7.2.3 Project management documentatie Deze omvat alle gegevens met betrekking tot het beheersen van het project. Het doel van deze documentatie is het leveren van zinvolle informatie aan het management van het project (bijvoorbeeld projectleider of stuurgroep). 3.7.3 Beheersen door organiseren Het bouwen van een Informatie Systeem gebeurt op een projectmatige manier. Hierbij construeert men een project organisatie als een samenwerkingsverband tussen personen uit diverse afdelingen van de organisatie, eventueel aangevuld met externe personen. De project organisatie bestaat uit verschillende groepen. Afbeelding 4: De project organisatie 25 3.7.3.1 De beleidsgroep De beleidsgroep geeft algemene richtlijnen voor de ontwikkeling van alle informatie systemen en controleert de naleving ervan. De groep bestaat uit het top management, aangevuld met de voorzitters van de stuurgroepen. 3.7.3.2 De stuurgroep De stuurgroep concretiseert de algemene richtlijnen in specifieke doelen en taken voor een bepaald Informatie Systeem en verzorgt de coördinatie van de onder haar groep ressorterende projectgroepen. De stuurgroep bestaat uit de managers van de afdelingen waarvoor het Informatie Systeem bedoeld is, aangevuld met de projectleiders. 3.7.3.3 De projectgroep De projectgroep zorgt voor het ontwerp, de bouw, de invoering en de nazorg van het betreffende Informatie Systeem. De projectgroep groep bestaat uit een projectleider, medewerkers uit de organisatie, eventueel aangevuld met externe medewerkers (adviesbureaus, softwarehuizen e.d.). 3.7.3.4 Eisen aan de project organisatie Om de projectorganisatie een kans van slagen te geven, moet er aan verschillende voorwaarden worden voldaan. Als eerste moet er een goede organisatie structuur zijn. Dit houdt in, dat de organisatie moet beschikken over een goed opgezette organisatie met duidelijke afspraken over taken, verantwoordelijkheden en beslissingsbevoegdheden om de verschillende partijen op een gecoördineerde manier te laten samenwerken. Verder moeten er goede procedures geformuleerd zijn. Deze zijn nodig om aan te geven op welke wijze de tijdsbesteding van de diverse medewerkers vastgesteld en bewaakt wordt, hoe conflicten moeten worden opgelost en hoe er moet worden gerapporteerd. Vervolgens moet er over goed personeel worden beschikt. Er zijn mensen nodig, die op niveau de verschillende disciplines kunnen vertegenwoordigen. Als laatste moet het juiste veranderingsklimaat binnen de organisatie aanwezig zijn. De mensen binnen de organisatie moeten overtuigd zijn van de noodzaak van de verandering en ze moeten vertrouwen hebben in de mensen die de verandering doorvoeren. 26 3.8 Effectieve representatie voor IS ontwikkeling Aan de taal, waarin de initiële invoer moet worden uitgedrukt, kunnen de volgende sleutelvragen worden gesteld. * Kan de gebruiker een betrouwbare specificatie leveren van de vereisten in de gevraagde invoer taal? * Kan de Informatie Systeem ontwerper de initiële vereisten betrouwbaar interpreteren in termen van een formeel representatie schema, gegeven door de Informatie Systeem ontwikkelmethode? Aan de formele ontwerp representaties, die worden gebruikt tijdens het ontwerp proces, kunnen de volgende sleutelvragen worden gesteld. * Is de formele representatie precies genoeg om direct te worden geïmplementeerd? * Is de formele representatie begrijpbaar genoeg om effectief gevalideerd te worden door de gebruiker? Voor de representatie schema’s kunnen de volgende alternatieven gesteld worden. Deze alternatieven worden hierna besproken, waarna ze worden geverifieerd aan de hand van bovenstaande sleutelvragen. * Het relationele model. * Verhalende specificaties. * ER diagrammen. * DFD’s. * Toestandsovergang diagrammen. * Wiskundige grammatica’s. * Data structuur diagrammen. 3.8.1 Het relationele model Het relationele model, wat gebruikt wordt om de informatie vereisten te beschrijven in een op normalisatie gebaseerd ontwikkel aanpak. Normalisatie vereist dat de initiële invoer wordt uitgedrukt als een verzameling record typen (relatie en/of entiteit typen), die samengesteld zijn uit velden en een specificatie van wiskundige afhankelijkheden tussen de velden onderling. 3.8.1.1 Doel van normalisatie Het doel van normalisatie is, om het initiële tabel ontwerp om te zetten in een aantal kleinere goede tabel ontwerpen. De vraag die hierbij rijst is de volgende. Kan de gebruiker betrouwbare informatie verschaffen over het applicatie domein, als het in zo’n vorm uitgedrukt moet worden? Het blijkt, dat als de gebruiker geen (geschikte) uitvoer rapporten heeft, het lastig voor de gebruiker is om de vereisten uit te drukken. Omdat de normalisatie vereist dat de invoer uitgedrukt wordt in een computer georiënteerde taal, is er geen formele invoer definitie. Hierdoor moet de gebruiker dit doen zonder enige assistentie van de normalisatie ontwerp procedure. 27 Verder gaat de normalisatie er vanuit, dat de initiële ’slechte’ tabellen significant en compleet zijn. Het grote nadeel is, dat de initiële tabellen nergens worden gevalideerd. Normalisatie dient slechts als een ontwerp procedure in poging de initiële tabellen te verbeteren. De normalisatie verwacht, dat de afhankelijkheden tussen de tabellen worden gedefinieerd. Er blijkt echter dat geen van de partijen in staat zijn dit te doen. Het is namelijk zo dat de ontwerper de vereiste applicatie kennis mist, de gebruiker niet over de onderlinge verbanden beschikt in zijn natuurlijke taal. Verder is het ook niet in zijn algemeenheid te stellen, dat het afleidbaar is uit de door de gebruiker gegeven voorbeelden. 3.8.1.2 Eisen die aan de gebruiker worden gesteld De eigenschappen van normalisatie zorgen ervoor, dat de gebruiker de volgende afzonderlijke taken moet (kunnen) uitvoeren: Het definiëren en valideren van tabel definities. Dit houdt in, dat de gebruiker de vaardigheid bezit om de representatie van de belangrijke feiten in het toepassingsgebied als een verzameling relationele tabellen weer te geven. Dit betekent, dat de gebruiker in staat is te controleren dat deze verzameling tabellen de informatie vereisten definieert. Verder houdt het in dat de gebruiker de afhankelijkheden kan definiëren en valideren. Dit betekent weer, dat de gebruiker de volgende vaardigheden bezit. Het impliciet representeren van kennis van de semantiek van de informatie in het toepassingsgebied als een verzameling wiskundige afhankelijkheden tussen de kolommen van de relationele tabellen en controleren dat deze afhankelijkheden de informatie vereisten definieert. Verder is het zo dat dit alles moet plaatsvinden voordat er aan de normalisatie begonnen wordt. Tijdens de normalisatie is er geen enkele validatie meer mogelijk. Een fout aan het begin werkt dus het hele proces door. De kwaliteit van de normalisatie ligt dus in de kwaliteit van het proces dat aan de normalisatie voorafgaat. 3.8.1.3 Verificatie van de relationele strategie Zetten we de bovenstaande eisen, die aan de gebruiker worden gesteld af tegen de sleutel vragen, dan volgt hieruit het volgende. De gemiddelde gebruiker is niet goed genoeg getraind om een betrouwbare specificatie te leveren en om deze specificatie te valideren. Indien er een betrouwbare initiële formele bewering is, dan kan de ontwerper deze betrouwbaar interpreteren en dan is deze bewering precies genoeg om deze direct te implementeren. 28 Bij deze representatie wordt de gebruiker buiten schot gehouden, omdat hij er te weinig van begrijpt. Hierdoor wordt de gebruiker pas vrij laat (tijdens de acceptatie procedure) bij het project betrokken, waardoor hij weinig werkelijke medezeggenschap en inbreng heeft. 3.8.2 Verhalende specificaties Verhalende specificaties worden gebruikt om de informatie en de functionele vereisten in vele Informatie Systeem ontwikkel methoden te beschrijven. Het voordeel van deze representatie is, dat de gebruiker alles in zijn eigen taal kan weergeven, waardoor hij vanaf het begin bij het project betrokken wordt. De problemen die zich bij deze representatie manifesteren zijn, dat de verhalende beschrijving van de gebruiker van de informatie vereisten een niet concrete beschrijving is en dat de ontwerper de beschrijving moet interpreteren in een formele specificatie taal. 3.8.2.1 Verificatie van de verhalende strategie Zetten we dit af tegen de bovenstaande sleutel vragen, dan volgt hieruit het volgende. Het hangt van de vaardigheden van de gebruiker af, of de gebruiker een betrouwbare specificatie kan leveren in de gevraagde invoer taal. Het is voor de gemiddelde gebruiker lastig om expliciet op het type niveau te redeneren. De gemiddelde gebruiker beschikt niet over kennis om een correcte interpretatie van de verhalende beschrijving te geven. De initiële representatie is niet formeel en kan dus niet direct geïmplementeerd en gevalideerd worden. Deze representatie zal eerst vertaald moeten worden in een formele beschrijving. 3.8.3 Entiteit-Relatie diagrammen Entiteit-Relatie diagrammen worden in veel Informatie Systeem ontwikkelmethoden gebruikt om de informatie vereisten vast te leggen. Mogelijke uitgangspunten voor een ontwikkel strategie zijn, dat de gebruiker (zelf) het initiële ER diagram moet produceren, of dat de gebruiker een initiële specificatie van de inhoud van het diagram produceert, maar de ontwerper converteert dit tot een ER diagram. Het eerste uitgangspunt werkt zelden of nooit, want de gebruiker beschikt niet over de vereiste kennis. Het tweede uitgangspunt levert de volgende mogelijkheden op. Ten eerste kan de gebruiker de initiële specificatie in een verhalende specificatie maken. De nadelen hiervan zijn hiervoor al besproken. 29 Ten tweede kan de gebruiker de inhoud van het diagram specificeren, door de relevante entiteit types, attributen en relaties te specificeren. Dit is de meest gebruikelijke methode. In ieder geval is het initiële diagram compleet. Verdere communicatie geschiedt door middel van het ER diagram, dus de mogelijkheid van de gebruiker om het onderliggende ER model te begrijpen is cruciaal, of hij het initiële diagram nu gemaakt heeft of niet. Om de initiële invoer te geven moet de gebruiker een abstracte formele representatie geven van het toepassingsgebied, waarbij impliciet ook ontwerp beslissingen horen. Het is niet duidelijk welke feiten gemodelleerd moeten worden als relaties en welke als attributen. Verder kan dit tijdens het proces niet veranderen, wat instabiliteit met zich meebrengt. Het is nog erger, dat het niet beschreven is, wanneer de uiteindelijke classificatie bereikt is en het migratie proces kan stoppen. De gebruiker moet een gekunsteld onderscheid maken tussen entiteit typen, relaties en attributen. Het bestaat niet in het toepassingsgebied en niet in de dagelijkse taal van de gebruiker. 3.8.3.1 Verificatie van de ER strategie Zetten we deze representatie methode af tegen de sleutel vragen, dan volgt hieruit het volgende. De gemiddelde gebruiker kan de ER specificaties niet volledig begrijpen en kan dus geen betrouwbare specificatie leveren. Hierdoor kan hij de representatie ook niet effectief valideren. De formele representatie is niet precies genoeg om direct geïmplementeerd te worden, omdat de ER specificatie incompleet is. Indien er sprake is van een specificatie in het ER model, dan kunnen de vereisten betrouwbaar geïnterpreteerd worden. 3.8.4 Data Flow Diagrammen Data Flow diagrammen zijn bedoeld om op een betrouwbare manier de gegevens stromen van het systeem weer te geven. Ze worden gebruikt om de formele gebruikers vereisten van de processen weer te geven. Om dit overzichtelijk te laten gebeuren wordt het hele systeem in deelsystemen opgedeeld. De processen op alle niveaus, behalve het laagste niveau, zijn abstracte processen. De actuele processen die geïmplementeerd moeten worden, zijn die op het laagste niveau. 30 3.8.4.1 Werkwijze De gebruiker moet alle externe datastromen identificeren tezamen met de relevante externe entiteiten. De analist kan nu het initiële data-flow diagram tekenen, wat één proces bevat (het hele systeem) en een aantal data stromen. De gebruiker identificeert nu alle relevante subprocessen, wat resulteert in het tweede niveau. Dit proces blijft zich herhalen totdat het onderste niveau bereikt is. 3.8.4.2 Verificatie van de DFD strategie Zetten we deze representatie af tegen de sleutel vragen, dan volgt hieruit het volgende. Het is voor de gemiddelde gebruiker lastig om abstract te redeneren over de vereisten om ze vervolgens in een formele taal weer te geven. Indien de initiële vereisten gespecificeerd zijn, dan kan de ontwerper deze betrouwbaar interpreteren. De formele representatie is niet precies genoeg om direct geïmplementeerd te worden. Er moet hier eerst een tussenstap gemaakt worden. De processen zijn namelijk anoniem en moeten derhalve eerst geïdentificeerd worden, voordat ze geïmplementeerd kunnen worden. De DFD strategie is een grafische representatie van een abstracte specificatie. Het is voor de gebruiker lastig om abstracte specificaties te valideren. 3.8.5 Toestandsovergang diagrammen Toestandsovergang diagrammen worden gebruikt om tijd afhankelijk gedrag te specificeren. Het diagram geeft de grafische representatie van vier formele categorieën, namelijk toestanden, overgangen tussen toestanden, condities voorafgaande aan overgangen, en acties die nieuwe toestand tot gevolg hebben. Het gedeelte van de gebruikers eisen moeten in termen van deze categorieën gegeven worden. 3.8.5.1 Verificatie van de toestandsovergang strategie Zetten we deze representatie af tegen de sleutel vragen, dan volgt hieruit het volgende. De gemiddelde gebruiker kan geen betrouwbare specificatie leveren in de gevraagde taal. Hij moet hier namelijk alle mogelijke toestanden en hun onderlinge overgangen, tezamen met de condities en acties weergeven. Indien de vereisten formeel weergegeven zijn, dan is de interpretatie van de ontwerper triviaal. 31 De formele representatie is niet precies genoeg om gedefinieerd te worden. De definitie van toestand is namelijk niet implementeerbaar. Elke toestand van het systeem is te vertalen naar een database toestand, maar deze liggen niet vast. De formele representatie is niet begrijpbaar genoeg om effectief gevalideerd te worden. De gemiddelde gebruiker kan namelijk niet valideren of een abstractie op de juiste manier heeft plaatsgevonden. 3.8.6 Wiskundige grammatica’s Er zijn verschillende soorten formele specificatie voor Informatie Systeem ontwikkeling. Allereerst zijn er de specificaties, die gebaseerd zijn op formele computer datageheugen concepten. Voorbeelden hiervan zijn normalisatie en ER modellering. Als tweede zijn er de formele specificaties, die gebaseerd zijn op de wiskunde van de eindige toestandsmachines. Voorbeeld hiervan is het toestandsovergang netwerk. Als derde zijn er de formele specificaties, die afgeleid worden van taalkundige structuur representaties. Een voorbeeld hiervan is NIAM. Als laatste zijn er de formele specificaties, die afgeleid zijn van wiskundige logica of wiskundige grammatica’s. Dit is een belangrijke klasse van formele specificaties. De wiskundige grammatica’s zijn ongeschikt als taalkundige beschrijving van de complexe grammaticale structuur van natuurlijke talen. De grootste toepassing vindt dan ook plaats in de specificaties van datastructuren en in het ontwerp van parseer algoritmen voor compilers. Verder wordt het gebruikt om de Data-Dictionary te definiëren. De Data-Dictionary is een lijst van alle data elementen die het systeem gebruikt, tezamen met de toegestane groeperingen van deze elementen. De Data-Dictionary is bedoeld als basis voor een algeheel begrip van de data elementen tussen ontwerpers en gebruikers. 3.8.6.1 Verificatie van de wiskundige grammatica Zetten we het gebruik van de wiskundige grammatica’s af tegen de sleutelvragen, dan volgt hieruit het volgende. De gemiddelde gebruiker mist de training om de vereisten in een formele abstracte taal te specificeren en om de representatie effectief te valideren. Indien de formele eisen in het raamwerk zijn uitgedrukt, dan kan de ontwerper ze betrouwbaar interpreteren. Zelfs als de formele representatie precies genoeg is om als basis te dienen voor de database specificatie, dan is het voor de gemiddelde programmeur lastig om ze als zodanig te gebruiken. 32 3.8.7 Data structuur diagrammen (Bachman Diagrammen) Deze strategie is één van de oudste manieren om grafische representaties te maken. Deze methode wordt nog steeds veelvuldig gebruikt. Het blijkt echter zo te zijn, dat de data structuur diagrammen onveilig incompleet zijn. Elk record bestaat uit een aantal velden. Deze velden worden niet getoond in het diagram en moeten dus tekstueel worden vastgelegd. 3.8.7.1 Verificatie van de datastructuur diagrammen Zetten we het gebruik van de datastructuur diagrammen af tegen de sleutelvragen, dan volgt hieruit het volgende. De gemiddelde gebruiker kan zijn vereisten niet betrouwbaar vastleggen in een computer georiënteerd formalisme. Hij mist ook de capaciteiten om de representatie effectief te valideren. Indien de vereisten betrouwbaar zijn vastgelegd, dan is het voor de ontwerper triviaal om de specificaties op een juiste manier te interpreteren. De formele representatie is niet precies genoeg om direct te worden geïmplementeerd.De mogelijkheden van de specificatie is onveilig incompleet, dus er blijven teveel ’gaten’ over. 3.8.8 Voorbeelden uit het werk van de gebruiker De gebruiker doet zijn werk voorbeelden tegen. Hij kent en verder zijn ze voldoende een verzameling feiten, die 3.8.8.1 dagelijks, dus hij komt dagelijks de betekenis van deze voorbeelden aanwezig. De voorbeelden bevatten de gebruiker wenst op te slaan. Verificatie van de voorbeeld strategie Zetten we het gebruik van de voorbeeld strategie af tegen de sleutelvragen, dan volgt hieruit het volgende. De gebruiker kan een betrouwbare specificatie leveren. Hij hoeft er hier slechts voor te zorgen, dat een aantal representatieve voorbeelden in zinnen worden omgezet. De ontwerper kan de initiële vereisten betrouwbaar interpreteren in termen van een formeel representatie schema. De ontwerper kan namelijk, in samenwerking met de gebruiker, elk element classificeren als entiteit type, label type enz om tot een formele beschrijving te komen. 33 De formele representatie is precies genoeg om direct te worden geïmplementeerd. Het resulterende conceptuele schema is een exacte specificatie van alle typen die in het Informatie Systeem moeten worden opgenomen, tezamen met de constraints die bepalen wat voor acties er zijn toegestaan. Er is zelfs een formeel algoritme, dat zo’n conceptueel schema omzet in een relationeel database schema in de vijfde normaalvorm, zonder tussenkomst van de gebruiker. De formele representatie is begrijpbaar genoeg om effectief gevalideerd te worden door de gebruiker. De gestructureerde zinnen hebben een sterke overeenkomst met de alledaagse taal van de gebruiker. Hij kan deze formele beschrijving dus goed begrijpen. 3.8.9 Conclusie Uit de bovenstaande figuur blijkt hoe de externe representaties onderverdeeld zijn. De representaties in de natuurlijke taal kunnen concreet (bijv. ’Verbaliserende voorbeelden’) of abstract (bijv. ’Vertellende beschrijvingen’) zijn. Uit de verificatie blijkt, dat hiervan alleen de verbaliserende voorbeelden voldoen. 34 De formele representaties hebben een diepere hiërarchie, waarbij er geen voorbeelden zijn van de concrete. Ditzelfde geldt voor de complete grafische representaties. Uit de verificatie blijkt, dat geen van de abstracte formele representaties voldoet, omdat de gemiddelde gebruiker hiervoor niet genoeg getraind is. Een deel van de representaties is zelfs onveilig incompleet. Is er sprake van een project, waarbij gebruikers zijn betrokken, die deze formele representatie wel beheersen, dan voldoen de representaties, die niet onveilig incompleet zijn. 3.9 IS ontwikkeling in evoluerende organisaties De organisatie verandert vaak en snel, dus er is vraag naar een doelmatige strategie om de door het Informatie Systeem geleverde informatie te laten aansluiten op de informatie behoefte. Een oplossing hiervoor is het verkorten of veranderen van het levenscyclus proces. De levensverwachting van een Informatie Systeem kan worden vergroot door bij het ontwerp en ontwikkeling de produkten in de levenscyclus geschikt te maken voor hergebruik. Produkten die met een CASE-tools zijn ontwikkeld (bijvoorbeeld analyse en/of ontwerp) kunnen als basis dienen voor het te ontwikkelen Informatie Systeem. De traditionele Informatie Systeem ontwikkel strategie kan worden vervangen door een meer evolutionaire aanpak: De strategie van prototyping laten doorwerken tijdens onderhoud. Er is dan geen essentieel verschil meer tussen ontwikkeling en onderhoud. [FOP] 35 Afbeelding 6: De prototype benadering 3.9.1 Afbeelding 7: De evolutionaire aanpak Case tools en Informatie Systeem-ontwikkeling Case is de afkorting van Computer Aided Software Engineering. Het is een Software systeem, dat ontwikkeld is om de ontwerper te ondersteunen bij het ontwikkelen van software. Case tools voor Informatie Systeem ontwikkeling zijn nauw verbonden met de Informatie Systeem ontwikkel methoden. Het levert automatische ondersteuning voor het gebruik van een methode. De Case tool kan verschillende functies vervullen. Ten eerste kan de Case tool automatisch uitvoerbare code genereren. Deze code is van een formeel, hoog niveau. Vervolgens kan de Case tool de definitie, opslag en modificatie van verschillende formele grafische representaties (Data Flow, ER) ondersteunen. Ook het automatische genereren van de bijbehorende ontwerp documentatie van een opgeslagen formele specificatie hoort bij de functies die de Case tool kan vervullen. De volgende functie die de Case tool kan vervullen is de analyse van de opgeslagen formele specificaties voor de controle op syntactische fouten. Syntactische kruiscontrole van de verschillende opgeslagen formele specificaties (compatibiliteit) hoort hier ook bij. 36 Als laatste kan de Case tool ondersteuning geven bij het genereren en het maken van een prototype van alternatieve ontwerpen van een formele specificatie. Er zijn twee soorten Case tools: De upper-case en de lowercase. De eerste geeft ondersteuning voor de processen van de vereiste specificatie, validatie en ontwerp. Het tweede geeft ondersteuning voor de processen van software ontwikkeling, implementatie en verificatie, met betrekking tot de specificaties. 3.9.2 Architectuur voor een IS Uit de bestaande Informatie Systemen kunnen we de architectuur afleiden, wat een basismodel van een geautomatiseerd Informatie Systeem levert. Er is het conceptueel schema. Dit bevat de formele specificatie van de feiten die opgeslagen kunnen worden in Database. Daarnaast is er de informatie processor. Dit is een actieve processor die berichten accepteert van de omgeving (bijvoorbeeld van gebruikers en eventueel andere Informatie Systemen), deze berichten controleert volgens het conceptuele schema, goedgekeurde boodschappen doorvoert in de database en berichten teruggeeft aan de gebruiker. De database is de opslagplaats van alle feiten die in Informatie Systeem zijn opgeslagen. De huidige inhoud van database moet op elk tijdstip voldoen aan de eisen van het conceptuele schema. Als laatste is er de program base. Deze bevat programma’s (proces definities), die uitgevoerd kunnen worden door de informatie processor. De Program Base is onder te verdelen in de Event Base en de Proces Description Base. De Event Base bevat iedere gebeurtenis, die de oorzaak van het uitvoeren van een proces kan veroorzaken. De Proces Description Base bevat de beschrijving van alle processen die door een gebeurtenis getriggered kunnen worden. Basis operaties hierbij zijn add, modify, delete en retrieve. [Nijssen] 37 Afbeelding 8: Het traditionele IS 3.9.3 Architectuur van het EIS Zoals uit het voorafgaande blijkt, bestaat een organisatie systeem uit een verzameling onderling verbonden actoren, activiteiten, toestanden en tijdstippen. Actoren voeren acties uit, wat resulteert in een toestandsverandering op een bepaald tijdstip. Een informatie realisatie systeem kan gedefinieerd worden als een geformaliseerd subsysteem van een organisatie systeem. De Informatie Systemen die hier van belang zijn, zijn beperkt tot die Informatie Systemen, waar de actor die de informatie processen uitvoert is geautomatiseerd. Deze actor, de informatie processor, kan uit verschillende sub-processoren bestaan. 38 Afbeelding 9: Architectuur van het EIS De informatie processor accepteert invoer berichten (verzoeken), die toestandsveranderingen tot gevolg kunnen hebben in de Universe of Discourse, en de informatie processor aanzet tot het uitvoeren van activiteiten. Als resultaat van deze activiteiten kan de informatie processor uitvoer berichten produceren (antwoorden). De beschrijving van dat deel van het Informatie Systeem, dat geconsulteerd wordt door de informatie processor, heet het processing model. De verzoeken van de gebruiker worden hier niet bijgerekend. Het processing model wordt onderverdeeld in een applicatiemodel en een metamodel. Het applicatiemodel beschrijft een specifiek Universe of Discourse, terwijl het metamodel de taal (techniek) beschrijft, waarin het applicatiemodel is gespecificeerd en waarin het applicatiemodel gemanipuleerd kan worden. Het metamodel bevat de beschrijving van een classificatie van de domein elementen, algemene regels over deze elementen, hun gedrag en hoe ze kunnen worden behandeld. 39 Afbeelding 10: Structuur van het applicatie model Afbeelding 11: Model eigenschappen Het metamodel is applicatie onafhankelijk en tijd-invariant. Het applicatie model echter is applicatie afhankelijk en kan tijd-variant zijn. Als resultaat hiervan wordt het metamodel in een Informatie Systeem eenmalig geïmplementeerd, terwijl het applicatiemodel opgebouwd en onderhouden moet worden voor elke nieuwe applicatie. Het opbouwen en onderhouden van het applicatiemodel wordt door de informatie processor gedaan, die handelt of reageert op gebeurtenissen in de Universe of Discourse door middel van het raadplegen van het metamodel en van het applicatiemodel. Het applicatie model is dus, in tegenstelling tot het metamodel, niet alleen input, maar ook uitvoer van de activiteiten van de informatie processor. Buiten het bijwerken van het applicatiemodel kan ook informatie worden verkregen uit het applicatiemodel. De taal waarin berichten geformuleerd worden, worden afgeleid uit het metamodel. [FOP] 40 Het applicatiemodel kan worden onderverdeeld in een wereldmodel en een actiemodel. Het wereldmodel modelleert de interactie tussen het Informatie Systeem en de omgeving (Universe of Discourse). Het kan worden beschreven in modelleringstechnieken, zoals ER, NIAM of PSM. Het actiemodel specificeert de regels die de acties van de informatie processor bepaalt. Het actiemodel kan weer worden onderverdeeld in een activiteiten model en een gedragsmodel. Het activiteiten model specificeert de activiteiten en het gedragsmodel beschrijft de relaties tussen het activiteiten model en het wereldmodel. Met andere woorden: Het gedragsmodel beschrijft de ’wanneer’ activiteiten, onder welke condities, en welke activiteiten door de information processor moeten worden uitgevoerd, terwijl het activiteiten model specificeert ’hoe’ deze activiteiten moeten worden uitgevoerd. Modellerings technieken voor het activiteiten model zijn DFDdiagrammen, activiteiten schema’s in ISAC. Modellerings technieken voor het gedragsmodel zijn petrinetten en When-IfThen regels in Remora. 41 3.9.4 Verschil tussen IS en EIS Op basis van deze architectuur kan het verschil tussen het traditionele Informatie Systeem en het Evolutionair Informatie Systeem meer specifiek worden beschreven. In een traditioneel Informatie Systeem, waar het schema (type) versus instantie onderscheid is aangebracht in het applicatie model, kunnen alleen de instanties bijgewerkt worden. Dus noch de schema specificaties, noch de activiteiten en gedrag specificaties, die verborgen zijn in de programma procedures, kunnen bijgewerkt worden in het traditionele Informatie Systeem. De intentie van het Evolutionair Informatie Systeem daarentegen is dat het complete applicatie model aanpasbaar is. Gegeven het metamodel van een Evolutionair Informatie Systeem kan een software omgeving worden ontwikkeld, dat tijd-invariant en onafhankelijk van elk Universe of Discourse is. Zo’n omgeving heet een Evolutionair Informatie Systeem shell. Wanneer een Evolutionair Informatie Systeem moet worden ontwikkeld voor een specifiek Universe of Discourse wordt een applicatie model, dat dit domein beschrijft, ontwikkeld en onderhouden conform de taal die is gedefinieerd in het (metamodel van de) Evolutionair Informatie Systeem shell. De Evolutionair Informatie Systeem shell moet dus worden ontworpen zodanig dat het onafhankelijk is van elke software omgeving en dus onafhankelijk van elke Database management systeem en/of operating system. Afbeelding 12: 42 EIS-shell 4 Het proces 4.1 in detail Inleiding In dit hoofdstuk worden de verschillende onderdelen uit hoofdstuk 3 gemodelleerd, aan de hand van de beschrijvingen van het vorige hoofdstuk. Hierbij wordt het evolutionaire aspect en de case tools buiten beschouwing gelaten. Het evolutionaire aspect wordt buiten beschouwing gelaten, omdat het evolutionaire aspect onafhankelijk is van de te kiezen ontwikkelmethode. De case tools, die de diverse ontwikkelmethoden ondersteunen, worden buiten beschouwing gelaten, omdat eerst bepaald moet worden welke methoden voldoen. Daarna kan er gebruik gemaakt worden van een bepaalde case tool, als deze beschikbaar is. 4.2 Gemodelleerde beschrijving De verschillende onderdelen uit het vorige hoofdstuk zijn formeel uit te drukken aan de hand van NIAM schema’s. Het doel van de NIAM schema’s is het overzichtelijk weergeven van de onderlinge verbanden. De NIAM schema’s zijn vervolgens weer uit te drukken in zinnen, in plaats van de veelal gebruikte tabellen. Aan de hand van deze zinnen kan er een verband gelegd worden tussen de formele taal en de experttaal. Verder kunnen er uit deze zinnen eigenschappen worden afgeleid in de vorm van axioma’s, waar weer lemma’s en strategieën uit kunnen volgen. In dit hoofdstuk worden, bij de beschrijving in de formele taal en bij de bewijsvoering de volgende notaties gebruikt: Æ = «» ∩ φ § E ε ≡ ==> or and ¬ [Ai] [Li] Voor alle Is gelijk aan Is ongelijk aan Doorsnede Lege verzameling Paragraaf Er is een Is element van Per definitie = Implicatie Logische of Logische en Logische not Axioma i Lemma i De ’i’ bij de axioma’s en de lemma’s staan voor het nummer van het axioma resp. lemma in de paragraaf. 43 4.2.1 Strategieën en hun methoden 1. 2. 3. 4. 5. 6. 7. 8. heeft_grotere_mate_van_ onzekerheid_dan heeft_kleinere_mate_van_ onzekerheid_dan wordt_gebruikt_door maakt_gebruik_van is_oberstrategie is_referentie_strategie is_evolutionaire_ strategie is_ontwikkel_strategie Het bepalen van de informatie behoefte is ingewikkeld. Derhalve zijn er in de loop der jaren verschillende strategieën ontwikkeld om de informatie behoefte te bepalen, die onderling verschillen in de mate van onzekerheid. Aan de hand hiervan kan een rangschikking gemaakt worden tussen de verschillende strategieën. In de bovenstaande figuur wordt het verschil in onzekerheid tussen de verschillende strategieën weergegeven door de binaire relatie <1,2> (= heeft_grotere_ mate_van_onzekerheid, heeft_kleinere_mate_van_onzekerheid) over Strategie. Voor deze relatie kunnen diverse eigenschappen worden afgeleid, die in de volgende paragrafen worden besproken. De verschillende strategieën sluiten elkaar onderling uit. Deze eigenschap wordt weergegeven door het volgende axioma: [A1] Oberstrategie ∩ Referentie Strategie ∩ Ontwikkel Strategie ∩ Evolutie Strategie = φ. 44 4.2.1.1 De groter_dan relatie De verschillende strategieën zijn met elkaar te vergelijken op grond van de mate van onzekerheid van de desbetreffende strategieën. De eerste eigenschap van de groter_dan relatie is, dat een strategie niet idempotief is: Een strategie kan niet met zichzelf vergeleken worden op grond deze relatie. Deze eigenschap wordt tot uitdrukking gebracht in het volgende axioma: [A2] ¬ (Strategie X heeft_een_grotere_mate_van_onzekerheid_dan Strategie X). Vervolgens moet ook de transitieve eigenschap gelden: Als de groter_dan relatie tussen de strategieën X en Y en tussen de strategieën Y en Z geldt, dan geldt deze relatie ook tussen de strategieën X en Z. Deze eigenschap wordt tot uitdrukking gebracht in het volgende axioma: [A3] Strategie X heeft_een_grotere_mate_van_onzekerheid_dan Strategie Y and Strategie Y heeft_een_grotere_mate_van_ onzekerheid_dan Strategie Z ==> Strategie X heeft_een_grotere_mate_van_onzekerheid_dan Strategie Z. Verder kan er geen sprake zijn van de reflexieve eigenschap: Als de groter_dan relatie geldt tussen de strategieën X en Y, dan kan deze relatie niet gelden tussen de strategieën Y en X. Er is dus sprake van strikt groter. Deze eigenschap komt tot uitdrukking in het volgende axioma: [A4] ¬ (Strategie X heeft_een_grotere_mate_van_onzekerheid_dan Strategie Y and Strategie Y heeft_een_grotere_mate_van_ onzekerheid_dan Strategie X). Als laatste moet bij de groter-dan relatie gelden, dat alle van elkaar verschillende strategieën met elkaar vergeleken moeten kunnen worden op grond van deze relatie. Deze eigenschap wordt door het volgende axioma weergegeven: [A5] Æ X,Y : Strategie X «» Strategie Y ==> Strategie X heeft_een_grotere_mate_van_onzekerheid_dan Strategie Y or Strategie Y heeft_een_grotere_mate_van_ onzekerheid_dan Strategie X. 45 4.2.1.2 De kleiner_dan relatie Er bestaat een verband tussen de kleiner_dan en de groter_dan relatie: Ze zijn elkaars inverse. Deze eigenschap wordt door het volgende axioma weergegeven: [A6] Strategie X heeft_een_grotere_mate_van_onzekerheid_dan Strategie Y <==> Strategie Y heeft_een_kleinere_mate_van_ onzekerheid_dan Strategie X. Analoog aan de beschreven eigenschappen voor de groter_dan relatie kunnen eigenschappen beschreven worden voor de kleiner_dan relatie. Allereerst moet er gelden dat de kleiner_dan relatie niet idempotief is. Deze eigenschap wordt door het volgende lemma weergegeven: [L1] ¬ (Strategie X heeft_een_kleinere_mate_van_onzekerheid_ dan Strategie X) Bewijs: Stel Strategie X heeft_een_kleinere_mate_van_onzekerheid_ dan Strategie X, dan volgt uit axioma [A6]: Strategie X heeft_een_grotere_mate_van_onzekerheid_dan Strategie X. Dit is echter in tegenspraak met axioma [A2], dus er geldt: ¬ (Strategie X heeft_een_kleinere_mate_van_ onzekerheid_dan Strategie X). Vervolgens moet er gelden, dat de kleiner_dan relatie transitief is. Deze eigenschap wordt door het volgende lemma weergegeven: [L2] Strategie X heeft_een_kleinere_mate_van_onzekerheid_dan Strategie Y and Strategie Y heeft_een_kleinere_mate_van_ onzekerheid_dan Strategie Z ==> Strategie X heeft_een_kleinere_mate_van_onzekerheid_dan Strategie Z. Bewijs: Stel Strategie X heeft_een_kleinere_mate_van_onzekerheid_ dan Strategie Y and Strategie Y heeft_een_kleinere_mate_ van_onzekerheid_dan Strategie Z, dan volgt uit axioma [A6]: Strategie Z heeft_een_grotere_mate_van_onzekerheid_dan Strategie Y and Strategie Y heeft_een_grotere_mate_van_ onzekerheid_dan Strategie X, dan volgt uit axioma [A3]: Strategie Z heeft_een_grotere_mate_van_onzekerheid_dan Strategie X. Vervolgens volgt uit axioma [A6]: Strategie X heeft_een_kleinere_mate_van_onzekerheid_dan Strategie Z. 46 Vervolgens moet de eigenschap gelden, dat de kleiner_dan relatie niet reflexief is. Deze eigenschap wordt tot uitdrukking gebracht in het volgende lemma: [L3] ¬ (Strategie X heeft_een_kleinere_mate_van_onzekerheid_ dan Strategie Y and Strategie Y heeft_een_kleinere_ mate_van_onzekerheid_dan Strategie X). Bewijs: Stel Strategie X heeft_een_kleinere_mate_van_onzekerheid_ dan Strategie Y and Strategie Y heeft_een_kleinere_ mate_van_onzekerheid_dan Strategie X, dan volgt uit axioma [A6]: Strategie Y heeft_een_grotere_mate_van_onzekerheid_dan Strategie X and Strategie X heeft_een_grotere_mate_van_ onzekerheid_dan Strategie Y. Dit is echter in tegenspraak met axioma [A4], dus ¬ (Strategie X heeft_een_kleinere_mate_van_ onzekerheid_dan Strategie Y and Strategie Y heeft_een_kleinere_mate_van_onzekerheid_dan Strategie X). Als laatste moet er gelden, dat alle van elkaar verschillende strategieën met elkaar vergeleken moeten kunnen worden op grond van de kleiner_dan relatie. Deze eigenschap wordt door het volgende lemma weergegeven: [L4] Æ X,Y : Strategie X «» Strategie Y ==> Strategie X heeft_een_kleinere_mate_van_onzekerheid_dan Strategie Y or Strategie Y heeft_een_kleinere_mate_van_ onzekerheid_dan Strategie X. Bewijs: Stel Strategie X «» Strategie Y, dan volgt uit axioma [A5]: Strategie X heeft_een_grotere_mate_van_onzekerheid_dan Strategie Y or Strategie Y heeft_een_grotere_mate_van_ onzekerheid_dan Strategie X. Wordt axioma [A6] hierop toegepast, dan volgt hieruit: Strategie Y heeft_een_kleinere_mate_van_onzekerheid_dan Strategie X or Strategie X heeft_een_kleinere_mate_van_ onzekerheid_dan Strategie Y. 47 4.2.1.3 Ordening tussen de strategieën Iedere strategie maakt gebruik van bepaalde methoden om de informatie behoefte te bepalen. In de figuur aan het begin van deze paragraaf komt dit tot uiting in de relatie <3,4> (= wordt_gebruikt_door, maakt_gebruik_van) tussen Methode en Strategie. Aan de hand van de hiervoor beschreven eigenschappen kan er een ordening in de strategieën worden gegeven met betrekking tot de mate van onzekerheid. Al deze strategieën zijn onafhankelijk van de gekozen Informatie Systeem ontwikkelmethode. De keuze is echter wel afhankelijk van de organisatie waarvoor het Informatie Systeem bedoeld is. Zoals in hoofdstuk 3 al beschreven is, is de ordening in de mate van onzekerheid van de diverse strategieën afhankelijk van de structureerbaarheid van de problemen, van het kennis-en ervaringsniveau van de gebruiker en de ontwerper. Deze afhankelijkheid levert het volgende diagram. 48 Om te bepalen welke strategie gekozen dient te worden om de informatie behoefte te bepalen, moeten de strategieën worden doorlopen, totdat er een strategie wordt gevonden die voldoet, en wel door te beginnen met de strategie met kleinste mate van onzekerheid. Om te bepalen of een strategie voldoet dienen alle betrokken factoren te worden doorlopen. Met behulp van de axioma’s A2 t/m A6 is de strategie met de minimale mate van onzekerheid te bepalen. Laat b ≡ Probleem te structureren S ≡ Strategie met onzekerheid = min(onzekerheid van de strategieën) if Automatiseerders voldoende deskundig and Gebruikers voldoende deskundig and b then Hanteer S Een strategie om te bepalen of de gebruiker en de ontwerper voldoende deskundig zijn wordt in § 4.2.4 behandeld in samenhang met de te hanteren representatie technieken voor informatie systeem ontwikkeling. 49 4.2.2 De rol van formele representatie 1. 2. 3. 4. 5. 6. 7. 8. 9. is_referentie_document bevat is_bevat_in levert wordt_geleverd_door begrijpt wordt_begrepen_door verband_wordt_aangegeven _door geeft_verband_aan_met Formele representaties spelen een dubbele rol in het ontwikkelproces, namelijk die van referentie document en die van een tussenliggende representatie. Voor de formele representaties geldt dat het of een referentie document is of een tussenliggende representatie is, dus niet beide. Deze eigenschap wordt door de volgende axioma’s weergegeven: [A1] Referentie Document ∩ Tussenliggende Representatie = φ. [A2] Referentie Document or Tussenliggende Representatie = Formele Representatie. In beide gevallen bevat de formele representatie de eisen van de gebruiker. Dit komt in het bovenstaande schema tot uiting in de relatie <2,3> (= <bevat, is_bevat_in>) tussen Formele Representatie en Eisen. Hierbij worden de eisen worden gegeven door de gebruiker. Dit blijkt uit de relatie <4,5> (= <levert, wordt_geleverd_door>) tussen Gebruiker en Eisen. De gebruiker is in staat om elke formele representatie te valideren. Dit wordt gegeven door de relatie <6,7> (= <begrijpt, wordt_ begrepen_door>) tussen Gebruiker en Formele Representatie. Vervolgens wordt het verband aangegeven tussen de formele en de niet-formele representatie. Dit komt in het schema tot uiting in de relatie <8,9> (= <verband_wordt_aangegeven_door, geeft_verband_aan_met>) tussen Informele Probleem Specificatie en Formele Representatie. 50 De formele specificatie dient een voor de gebruiker duidelijk verband aan te geven met de informele probleem specificatie. Derhalve moet aan de volgende eigenschap worden voldaan: De formele representatie geeft een voor de gebruiker duidelijke specificatie. Deze eigenschap wordt door het volgende axioma weergegeven: [A3] Formele Representatie geeft_verband_aan_met Informele Probleem Specificatie. Als laatste bestaat er een relatie tussen de initiële nietformele representatie en de gebruiker. Dit komt in het schema tot uiting in de relatie <2,3> (= <bevat, is_bevat_in >) tussen Informele Probleem Specificatie en Eisen. Deze eigenschap wordt door het volgende axioma weergegeven: [A4] Informele Probleem Specificatie bevat Eisen. De formele representatie bevat natuurlijk ook de eisen van de gebruiker. Deze eigenschap wordt door het volgende lemma weergegeven: [L1] Formele Representatie bevat Eisen. Bewijs: Uit de axioma’s [A3] en [A4] volgt: Formele Representatie geeft_verband_aan_met Informele Probleem Specificatie bevat Eisen. Dus: Formele Representatie bevat Eisen. Definitie: Formele representatie ≡ Verzameling formele regels Er kan nu een strategie worden opgesteld aan de hand waarvan er kan worden bepaald of het validatie proces naar behoren kan worden uitgevoerd. Laat FR = Formele Representatie = {FR1, FR2, ..., FRn} waarbij FRi = formele regel. if Gebruiker begrijpt FR then Gebruiker kan FRi valideren else Probleem: De representatie techniek voldoet niet. Hierbij houdt het begrip ’Gebruiker begrijpt FR’ in, dat de gebruiker de formele representatie voldoende beheerst, waar FRi deel van uit maakt. Om het probleem op te lossen kan er gekozen worden om de gebruiker om of bij te scholen, of om een andere representatie techniek te kiezen. Voordat er besloten tot om- of bijscholing, dient er te worden bepaald of deze scholing haalbaar is. Een strategie om te bepalen of de gebruiker in staat geacht moet worden, om de formele representatie te begrijpen en te valideren wordt in § 4.2.4 behandeld in samenhang met de te hanteren representatie techniek voor informatie systeem ontwikkeling. 51 4.2.3 De rol van grafische representaties 1. 2. 3. 4. 5. 6. 7. 8. wordt_weergegeven_door geeft_weer wordt_uitgesloten_door sluit_uit is_gewenste_toestand is_tekstuele_ representatie is_complete_ representatie is_veilige_representatie Representaties kunnen onderverdeeld worden in grafische en tekstuele representaties. Voor de grafische representaties geldt, dat zij niet tekstueel zijn. Deze eigenschap wordt door de volgende axioma’s weergegeven: [A1] Grafisch ∩ Tekstueel = φ. [A2] Grafisch or Tekstueel = Representatie. De tekstuele representaties worden hier verder buiten beschouwing gelaten. De grafische representaties kunnen weer onderverdeeld worden in complete en incomplete representaties. Hier geldt, dat de grafische representaties niet zowel compleet als incompleet kunnen zijn. Deze eigenschap wordt door de volgende axioma’s weergegeven: [A3] Incompleet ∩ Compleet = φ. [A4] Incompleet or Compleet = Grafisch. 52 Het grote voordeel van grafische representaties is, dat deze veel informatie overzichtelijk kunnen weergeven. Er geldt hier, dat één plaatje meer zegt dan duizend woorden. Het blijkt echter zo te zijn, dat geen enkele overzichtelijke grafische representatie compleet is. De incomplete grafische representaties zijn weer onder te verdelen in veilige en onveilige representaties. Ook hier geldt, dat de incomplete representaties niet zowel veilig als onveilig kunnen zijn. Deze eigenschap wordt door de volgende axioma’s weergegeven: [A5] Veilig ∩ Onveilig = φ. [A6] Veilig or Onveilig = Incompleet. Beide soorten incomplete representaties geven alle gewenste toestanden weer, maar niet elke beperking op de populatie kan worden weergegeven. Deze eigenschap wordt in het bovenstaande schema weergegeven door de relatie <1,2> (= <wordt_ weergegeven_door, geeft_weer >) tussen Toestand en Incomplete Representatie. Deze eigenschap wordt door het volgende axioma weergegeven: [A7] Incomplete Representatie geeft_weer Toestand. De toestanden kunnen worden onderverdeeld in gewenste en ongewenste toestanden. Ook hier geldt, dat een toestand niet zowel gewenst als ongewenst kan zijn. Deze eigenschap wordt door de volgende axioma’s weergegeven: [A8] Gewenst ∩ Ongewenst = φ. [A9] Gewenst or Ongewenst = Toestand. De veilige representaties sluiten, in tegenstelling tot de onveilige representaties, alle ongewenste toestanden uit. Deze uitsluiting wordt in het bovenstaande schema weergegeven door de relatie <3,4> (= <wordt_uitgesloten_door, sluit_uit >) tussen Toestand en Incomplete Representatie. Deze eigenschap wordt door het volgende axioma weergegeven: [A10] X is_veilige_representatie and ¬ (T is_gewenste_ toestand) ==> X sluit_uit T. De onveilige representaties sluiten niet alle ongewenste toestanden uit. Als een incomplete representatie (veilig of onveilig) een toestand uitsluit, dan is dit een ongewenste toestand. Deze eigenschap wordt weergegeven door het volgende axioma: [A11] ¬ (X is_complete_representatie) and X sluit_uit T ==> ¬ (T is_gewenste_toestand). 53 Voor de toestanden geldt verder dat deze niet zowel uitgesloten als weergegeven kunnen worden. Deze eigenschap wordt door het volgende axioma weergegeven: [A12] ¬ (E Incomplete Representatie R [R sluit_uit Toestand T and R geeft_weer Toestand T] ). Laat OT = Verzameling ongewenste toestanden = {OT1, OT2, ..., OTn} R = Representatie Voor de verzameling ongewenste toestanden moet gelden, dat een representatie deze verzameling uitsluit dan en slechts dan als de representatie alle elementen van deze verzameling afzonderlijk uitsluit. Deze eigenschap wordt door het volgende axioma weergegeven: [A13] R sluit_uit OT <==> R sluit_uit OT1 and R sluit_uit OT2 and ... and R sluit_uit OTn. Er kan nu een strategie opgesteld worden om te bepalen of een representatie veilig of onveilig is: if R sluit_uit OT (1) then R is_veilige_representatie (2) else ¬ (R is_veilige_representatie) Bewijs: (1) Stel R sluit_uit OT T, dan volgt uit axioma [A10]: R is_veilige_representatie and ¬ (T is_gewenste_toestand) Dus: R is_veilige_representatie (2) Stel ¬ (R sluit_uit OT), dan volgt uit axioma [A13]: E T ε OT: ¬ (R sluit_uit T) Stel vervolgens R is_veilige_representatie, dan volgt uit axioma [A10]: R sluit_uit T. Dus er geldt: R sluit_uit T and ¬ (R sluit_uit T). Dit is in tegenspraak met elkaar, dus er geldt: ¬ (R is_veilige_representatie). 4.2.3.1 Conclusie Door de overzichtelijkheid van de grafische representaties is het aan te raden deze toch te gebruiken, ook al kunnen deze niet alles uitdrukken. Een minimale eis die hierbij gesteld moet worden is, dat alle ongewenste toestanden uitgesloten moeten kunnen worden. Dit heeft tot gevolg, dat de onveilige grafische representaties niet voldoen, dus dat alleen de veilige representaties voldoen. De incompleetheid van de grafische representaties kan worden opgevangen door het uitbreiden van de grafische representaties met tekstuele aanvullingen. 54 4.2.4 Representatie technieken voor IS ontwikkeling 1. ondersteunt_betrouwbaar 2. wordt_betrouwbaar_ ondersteund 3. is_specificatie_van_ gebruiker 4. is_implemeteerbare_ representatie 5. is_interpretatie_ ontwerper 6. is_wiskundige_grammatica _strategie 7. is_datastructuur_ strategie 8. is_voorbeeld_strategie 9. is_verhalende_strategie 10. is_toestandsovergang_ strategie 11. is_relationeel_model_ strategie 12. is_ER_strategie 13. is_valideerbare_ expressie 4.2.4.1 Eigenschappen Van de betrokkenen bij automatiseringsprojecten mag in alle redelijkheid worden verwacht, dat zij een bepaald basis niveau hebben om hun dagelijkse taak naar behoren uit kunnen voeren. Definitie: Specificatie van de gebruiker ≡ De gebruiker beheerst de techniek naar behoren om zijn eisen te kunnen specificeren. Implementeerbaarheid van de representatie ≡ De formele representatie is precies genoeg om direct geïmplementeerd te worden, zonder tussenkomst van de gebruiker. Valideerbaarheid van de representatie ≡ De representatie is begrijpbaar genoeg om door de gebruiker te kunnen worden gevalideerd. Interpretatie van de ontwerper ≡ De ontwerper kan de initiële vereisten van de gebruiker betrouwbaar interpreteren. 55 4.2.4.2 Verband eigenschappen - representatie Het verband tussen de verschillende eigenschappen en de representatie technieken wordt gegeven door de relatie <1,2> (= <ondersteunt_betrouwbaar, wordt_betrouwbaar_ondersteund >) tussen Representatie Techniek en Eigenschap, waarbij elke representatie techniek minstens één eigenschap ondersteunt. Deze eigenschap wordt door het volgende axioma weergegeven: [A1] E E [ Representatie Techniek RT ondersteunt_betrouwbaar Eigenschap E ]. Uit het vorige hoofdstuk valt af te leiden bij welke representatie techniek aan welke eigenschap en aan welke eigenschap niet wordt voldaan. Dit wordt in de volgende tabel weergegeven. Repres. Techniek Specif. Gebruiker Rel. model Verhalend ER DFD Toest. overg. Wisk. gramm. Data struct. Voorb. strat. Niet Niet Niet Niet Niet Niet Niet Wel Implement. Represent. Direct Indirect Niet Indirect Indirect Niet Niet Direct Valideerb. Represent. Niet Niet Niet Niet Niet Niet Niet Wel Interpr. Ontwerper Wel Niet Wel Wel Wel Wel Wel Wel Uit deze tabel kunnen verschillende eigenschappen worden afgeleid. Aan de eigenschap specificatie van de gebruiker wordt alleen voldaan bij de verbaliserende voorbeelden. Deze eigenschap wordt door het volgende axioma beschreven: [A2] Representatie Techniek RT ondersteunt_betrouwbaar E and E is_specificatie_gebruiker ==> RT = Verbaliserende Voorbeelden. Aan de eigenschap implementeerbaarheid van de representatie wordt voldaan bij de verbaliserende voorbeelden en het relationeel model. Deze eigenschap wordt door het volgende axioma weergegeven: [A3] Representatie Techniek RT ondersteunt_betrouwbaar E and E is_implementeerbare_representatie ==> RT = Verbaliserende Voorbeelden OR RT = Relationeel Model. 56 Aan de eigenschap valideerbaarheid van de representatie wordt alleen voldaan bij de verbaliserende voorbeelden. Deze eigenschap wordt door het volgende axioma weergegeven: [A4] Representatie Techniek RT ondersteunt_betrouwbaar E and E is_valideerbare_representatie ==> RT = Verbaliserende Voorbeelden. Aan de eigenschap interpretatie van de ontwerper wordt alleen niet voldaan bij de verhalende strategie. Deze eigenschap wordt door het volgende axioma weergegeven: [A5] Representatie Techniek RT ondersteunt_betrouwbaar E and E is_interpretatie_ontwerper ==> RT ε {Relationeel Model, DFD, ER, Toestandsovergangen, Wiskundige Grammatica’s, Datastructuren, Verbaliserende Voorbeelden}. Een representatie techniek voldoet dan en slechts dan als aan alle beschreven eigenschappen (axioma’s A2 t/m A5) wordt voldaan. Definitie: Representatie Techniek RT voldoet <==> A2 and A3 and A4 and A5. Uit de bovenstaande axioma’s kan geconcludeerd worden, dat bij het gestelde basisniveau van de betrokkenen slechts de representatie techniek ’Verbaliserende Voorbeelden’ voldoet. Deze eigenschap wordt door het volgende axioma weergegeven: [L1] RT voldoet ==> RT = Verbaliserende Voorbeelden. Bewijs: Stel RT voldoet, dus E bevat zeker de eigenschap is_specificatie_van_gebruiker, dus RT = Verbaliserende Voorbeelden (A2). Er is gebleken, dat het niveau van de gebruiker en de ontwerper een grote rol speelt, waarbij met name het niveau van de gebruiker een beperkende factor is voor het voldoen van een representatie techniek. Tot nu toe is de aanname gemaakt, dat de gebruiker en de ontwerper slechts een basisniveau hebben. Echter als hun niveau groter is dan het gestelde basisniveau, dan zal dit gevolgen hebben voor het voldoen van meerdere representatie technieken. Als de eis dat een representatie techniek direct implementeerbaar moet zijn wordt verruimd, waardoor de representaties ook indirect implementeerbaar mogen zijn, dan zal dit ook van invloed zijn op het aantal representatie technieken die voldoen. Aan de hand van deze wetenschap is de volgende strategie op te stellen om te bepalen welke representatie technieken voldoen. 57 Definitie: RT ≡ Representatie Techniek. RO ≡ RT door de ontwerper beheerst. RG ≡ RT door de gebruiker beheerst. Eigenschappen: [E1]: De gebruiker [E2]: De ontwerper [E3]: RT is direct [E4]: RT is direct is van basisniveau. is van basisniveau. implementeerbaar. of indirect implementeerbaar. Indien de gebruiker van een hoger niveau is, dan het gestelde basisniveau, dan zijn de te hanteren representatie technieken mede afhankelijk van de technieken die de gebruiker beheerst. Deze eigenschap komt tot uitdrukking in het volgende axioma: [A6] ¬ (De gebruiker is van basisniveau) ==> RG Ofwel: ¬ E1 ==> RG. Indien de ontwerper van een hoger niveau is dan het gestelde basisniveau, dan zijn de te hanteren representatie technieken mede afhankelijk van de technieken die de ontwerper beheerst. Deze eigenschap komt tot uitdrukking in het volgende axioma: [A7] ¬ (De ontwerper is van basisniveau) ==> RO Ofwel: ¬ E2 ==> RO. Indien de eis vervalt dat een representatie niet alleen direct implementeerbaar hoeft te zijn, maar indirect implementeerbaar kan zijn, dan zijn er meer representatie technieken die voldoen. Deze eigenschap wordt door het volgende axioma weergegeven: [A8] RT is direct of indirect implementeerbaar ==> RT ε { Relationeel Model, Verhalende Beschrijving, Toestandsovergangen, Verbaliserende Voorbeelden, DFD} Strategie: if Gebruiker is van basisniveau (1) then Verbaliserende Voorbeelden else if Ontwerper is van basisniveau and RT is direct implementeerbaar (2) then RG and (Relationeel Model or Verbaliserende Voorbeelden else if Ontwerper is van basisniveau and RT is implementeerbaar (3) then RG and (Relationeel Model or DFD Verbaliserende Voorbeelden or Toestandsovergangen) (4) else RG and RO and not (ER or Wiskundige Grammatica’s or Datastructuren) 58 Bewijs van de strategie: (1) Stel [E1], dan volgt uit axioma [A2]: RT = Verbaliserende Voorbeelden (2) Stel ¬[E1] and [E2] and [E3], dan volgt uit [A3], [A5] en [A6]: RG and (RT ε {Relationeel Model, DFD, ER, Toestandsovergangen, Wiskundige Grammatica’s, Datastructuren, Verbaliserende Voorbeelden}) and ( RT = Verbaliserende Voorbeelden OR RT = Relationeel Model) Vereenvoudiging van deze uitdrukking levert: RG and (RT = Verbaliserende Voorbeelden OR RT = Relationeel Model) (3) Stel ¬[E1] and [E2] and [E4], dan volgt uit [A6], [L3] en [A8]: RG and (RT ε {Relationeel Model, DFD, ER, Toestandsovergangen, Wiskundige Grammatica’s, Datastructuren, Verbaliserende Voorbeelden}) and ( RT ε {Relationeel Model, Verhalende Beschrijving, DFD, Toestandsovergangen, Verbaliserende Voorbeelden} Vereenvoudiging van deze uitdrukking levert: RG and RT ε {Relationeel Model, Verbaliserende Voorbeelden, Toestandsovergangen, DFD} (4) Stel ¬[E1] and ¬[E2] and [E4], dan volgt uit [A6], [A7] en [A8]: RG and RO and RT ε { Relationeel Model, Verhalende Beschrijving, Toestandsovergangen, Verbaliserende Voorbeelden, DFD} 59 4.2.5 De conceptuele informatie modellen 1. drukt_formeel_uit 2. wordt_formeel_ uitgedrukt_door 3. is_geschikt_voor 4. is_modelleerbaar_door 5. wordt_beschreven_door 6. beschrijft 7. is_systologisch 8. is_datalogisch 9. is_infologisch Definitie: CIM ≡ Conceptueel Informatie Model. De meest essentiële taak bij Informatie Systeem ontwikkeling is de informele vereisten uit te drukken in een formele taal. In de bovenstaande figuur komt dit uiting in de relatie <1,2> (= <drukt_formeel_uit, wordt_formeel_uitgedrukt_in>) tussen CIM en de Informele Probleem Specificatie. Als een model een Conceptueel Informatie Model is, dan is dit model of een Systologisch Model of een Datalogisch Model of een Infologisch Model of een Technisch Model, ofwel als een model een CIM is, dan is het precies één van deze modellen. Deze eigenschap wordt door de volgende twee axioma’s uitgedrukt: [A1] Systologisch Model ∩ Infologisch Model ∩ Datalogisch Model ∩ Technisch Model = φ. [A2] Systologisch Model OR Infologisch Model OR Datalogisch Model OR Technisch Model = CIM. 60 Uit de figuur blijkt vervolgens, dat de ontwikkelmethode het conceptuele informatie model opstelt. Dit wordt weergegeven door de relatie <3,4> (= <is_geschikt_voor, is_modelleerbaar_ door>) tussen ISDM en Informele Probleem Specificatie. De informele vereisten, gegeven door de informele probleem specificatie, worden formeel uitgedrukt door het conceptuele informatie model, indien de informele probleem specificatie modelleerbaar is door de ontwikkel methode. Deze eigenschappen worden door het volgende axioma weergegeven: [A3] Aspecten worden_beschreven_door CIM drukt_formeel_uit Informele Probleem Specificatie is_modelleerbaar_door ISDM. Een andere eigenschap die bij de laatste relatie moet gelden is dat elke informele probleem specificatie modelleerbaar is door een informatie systeem ontwikkelmethode. Deze eigenschap wordt door het volgende axioma weergegeven: [A4] E M [ Informele Probleem Specificatie S is_modelleerbaar_ door ISDM M ] Als laatste moet de eigenschap gelden, dat elke informele probleem specificatie uitgedrukt moet kunnen worden door een CIM. Deze eigenschap wordt door het volgende axioma weergegeven: [A5] E C [ Informele Probleem Specificatie S wordt_formeel_ uitgedrukt_door CIM C ] Bij de ontwikkeling van een Informatie Systeem moet een grote mate van overeenstemming bestaan omtrent de relevant geachte conceptuele modellen. Wordt aan deze voorwaarde niet voldaan, dan is de kans op communicatie stoornissen groot. Er zijn verschillende soorten conceptuele modellen te onderscheiden, die elk een aantal aspecten beschrijven. In de bovenstaande figuur wordt dit weergegeven door de relatie <5,6> (= <wordt_beschreven_door, beschrijft>) tussen Aspecten en Conceptueel Informatie Model. Uit de populatie valt af te leiden welke soorten CIM welke aspecten beschrijven. 61 Hieruit volgt dat alle aspecten van de UoD kunnen worden beschreven, ofwel de UoD kan gemodelleerd worden. Bij deze modelleerbaarheid kan een verband worden gelegd met de kosten. Dit is als volgt grafisch weer te geven: 1. kan_gemodelleerd_worden_ door 2. geeft_modellering_voor 3. heeft 4. zijn_voor Een UoD kan gemodelleerd worden door een ISDM. De systeem ontwikkeling met behulp van een zekere ISDM heeft bepaalde kosten. 62 Iedere UoD is te beschrijven als een aantal bij elkaar behorende kenmerken van de desbetreffende UoD. Dit resulteert in de volgende definitie: [D2] UoD ≡ Verzameling kenmerken. Dit is als volgt grafisch weer te geven: Uit het verband tussen de UoD en de kosten en uit de kenmerken van de UoD kan de volgende strategie voor de bepaling van de te kiezen methode geabstraheerd worden: Bepaal de kenmerken van de UoD -> instantie van UoDinschatting. if nieuwe instantie then Probleem: ontwikkel procedure is onbekend else selecteer ISDM met minimale ontwikkel kosten Dit betekent, dat indien de kenmerken niet voorkomen in de UoD inschatting, dat er dan een nieuwe ontwikkel procedure gecreëerd moet worden. Bevat de UoD inschatting de kenmerken wel, kies dan die methode waarbij deze kenmerken voorkomen en waar de kosten minimaal zijn. 63 4.2.6 Beheersmethoden voor IS ontwikkeling 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. beheerst wordt_beheerst_door wordt_afgesloten_door sluit_af wordt_geleverd_door levert concretiseert wordt_geconcretiseerd_door geeft wordt_gegeven_door volgt_op wordt_opgevolgd_door is_systeem_documentatie is_ontwerp_documentatie is_beleidsgroep is_stuurgroep is_fasering is_documentering is_project_organisering Zoals in het vorige hoofdstuk is beschreven kan de beheersing van de ontwikkelingsprojecten op verschillende manieren worden verwezenlijkt. Dit komt in de bovenstaande figuur tot uiting in de relatie <1,2> (= beheerst, wordt_beheerst_door>) tussen Beheersmethode en IS Ontwikkeling. Beheersmethode wordt onderverdeeld in Fasering, Documentering en Project Organisatie. Bij fasering wordt elke fase afgesloten door een document. Dit wordt weergegeven door de relatie <3,4> (= <wordt_afgesloten_door, sluit_af>) tussen Fasering en Document. De documenten worden geleverd door documentering. Dit wordt weergegeven door de relatie <5,6> (= <wordt_geleverd_door,levert>) tussen Document en Documentering. Document wordt onderverdeeld in Systeem, Ontwerp en Project. Deze eigenschap wordt door het volgende axioma weergegeven: [A1] Fasering wordt_afgesloten_door Document wordt_geleverd_ door Beheersmethode. 64 De project organisatie bestaat uit een beleidsgroep, een stuurgroep en diverse project groepen. De beleidsgroep stelt richtlijnen op. Dit wordt weergegeven door de relatie <9,10> (= <geeft, wordt_gegeven_door>) tussen Beleidsgroep en Richtlijnen. De stuurgroep werkt de richtlijnen verder uit. Dit wordt weergegeven door de relatie <7,8> (= <concretiseert, wordt_geconcretiseerd_door>) tussen Stuurgroep en Richtlijnen. De projectgroepen zorgen voor ontwerp, bouw, invoering en nazorg. Dit wordt weergegeven door de relatie <11,12> (= <volgt_op, wordt_opgevolgd_door>) tussen Projectgroep en Richtlijnen. Bij de drie relaties (<7,8>, <9,10> en <11,12>) moet de volgende eis omtrent de volgorde geformuleerd worden: De richtlijnen die door de beleidsgroep worden gegeven worden eerst door de stuurgroep geconcretiseerd, om vervolgens door de projectgroep te worden opgevolgd. Deze eigenschap wordt door de volgende axioma’s weergegeven: [A2] Beleidsgroep geeft Richtlijnen R1 wordt_geconcretiseerd_ door Stuurgroep. [A3] Projectgroep volgt_op Richtlijnen R1 wordt_ geconcretiseerd_door Stuurgroep. [A4] Beleidsgroep geeft Richtlijnen R1 wordt_geconcretiseerd_ door Stuurgroep ==> Projectgroep volgt_op Richtlijnen R1 wordt_ geconcretiseerd_door Stuurgroep. [A5] ¬(Beleidsgroep geeft Richtlijnen RL) ==> ¬(Richtlijnen RL worden_geconcretiseerd_door Stuurgroep). [A6] ¬(Stuurgroep concretiseert Richtlijnen RL) ==> ¬(Richtlijnen RL worden_opgevolgd_door Projectgroep). Een Document bestaat of uit Systeemdocumentatie of uit Ontwerpdocumentatie of uit Projectdocumentatie. Deze eigenschap wordt weergegeven in de volgende axioma’s: [A7] Systeem or Ontwerp or Project = Document [A8] Systeem ∩ Ontwerp ∩ Project = φ De project organisatie wordt gevormd door verschillende project- en stuurgroepen en door een beleidsgroep. Dit is als volgt te formuleren: [A9] Beleidsgroep or Stuurgroep or Projectgroep = Project Organisatie. [A10] Beleidsgroep ∩ Stuurgroep ∩ Projectgroep = φ 65 4.2.7 Aanpassingen in het Informatie Systeem 1 . is_snapshot_systeem 2 . vervult_informatie_ behoefte 2’. informatie_behoefte_wordt_ vervuld_door 3 . corrigeert 3’. wordt_gecorrigeerd_door 4 . vergeet 4’. wordt_vergeten_door 5 . geeft_weer 5’. wordt_weergegeven_door 6 . voegt_element_toe_aan 6’. element_wordt_toegevoegd_ door 7 . transformeert_element_in 7’. element_wordt_ getransformeerd_door 8 . element_wordt_verwijderd_ door 8’. verwijdert_element_uit 9 . wordt_aangepast_door 9’. past_aan 10 . zorgt_voor_aanpassing_van 11 . wordt_aangepast_o.i.v Het traditionele en het evoluerende Informatie Systeem wordt in de bovenstaande figuur weergegeven door respectievelijk Snapshot Systeem en EIS. Er geldt hierbij, dat een Informatie Systeem of een snapshot systeem of een Evoluerend Informatie Systeem is. Deze eigenschap wordt door de volgende axioma’s weergegeven: [A1] Snapshot Systeem OR EIS = IS. [A2] Snapshot Systeem ∩ EIS = φ Voor beide soorten Informatie Systeem geldt, dat de informatie behoefte vervuld dient te worden. In de bovenstaande figuur wordt dit weergegeven door de relatie <2,2’> (= <vervult_ informatie_behoefte, informatie_behoefte_wordt_vervuld_door>) tussen IS en Organisatie. Hierbij dient aan de volgende eigenschap te worden voldaan: Elke informatie behoefte van de organisatie wordt vervuld door het Informatie Systeem. Deze eigenschap wordt door het volgende axioma weergegeven: [A3] IS vervult_informatie_behoefte Organisatie. 66 Voor beide soorten Informatie Systemen geldt ook, dat de aanpassingen moeten resulteren in een toestandsverandering, zodanig dat de nieuwe toestand van het Informatie Systeem de nieuwe toestand van de organisatie weergeeft. Dit wordt in de bovenstaande figuur weergegeven door de relatie <5,5’> (= <geeft_weer, wordt_weergegeven_door>) tussen IS en Organisatie. Deze eigenschap wordt door het volgende axioma weergegeven: [A4] Organisatie wordt_weergegeven_door IS. Definitie: [D1] Opslag ≡ IS geeft_weer Organisatie. Bij de toevoeging van een nieuw element, ook wel geboorte genaamd, moet dit element worden toegevoegd aan het applicatie model. Dit wordt weergegeven door de relatie <6,6’> (= <voegt_element_ toe_aan, element_wordt_toegevoegd_aan>) tussen Opslag en Applicatie Model. Deze eigenschap wordt door het volgende axioma weergegeven: [A5] Opslag voegt_element_toe_aan Applicatie Model. Bij het Evoluerende Informatie Systeem bestaat de aanvullende eis, dat de eerder opgeslagen informatie gecorrigeerd moet kunnen worden. In de bovenstaande figuur wordt dit weergegeven door de relatie <3,3’> (= <corrigeert, wordt_gecorrigeerd_ door>) tussen EIS en Opslag. Deze correctie zal nu nog in het applicatie model moeten worden doorgevoerd. Dit wordt weergegeven door de relatie <7,7’> (= <transformeert_element_in, element_wordt_ getransformeerd_door>) tussen Opslag en Applicatie Model. De correctie wordt door het volgende axioma weergegeven: [A6] EIS corrigeert Opslag transformeert_element_in Applicatie Model. Een volgende aanvullende eis bij het Evoluerende Informatie Systeem is, dat eerder opgeslagen informatie vergeten moet kunnen worden. Dit wordt weergegeven door de relatie <4,4’> (= < vergeet, wordt_vergeten_door>) tussen EIS en Opslag. Deze verwijdering zal nu nog in het applicatie model moeten worden doorgevoerd. Dit wordt weergegeven door de relatie <8,8’> (= <verwijdert_element_uit, element_wordt_verwijderd_ door>) tussen Opslag en Applicatie Model. Deze verwijdering van een element, ook wel overlijden genoemd, wordt door het volgende axioma weergegeven: [A7] EIS vergeet Opslag verwijdert_element_uit Applicatie Model. 67 Bij de relaties betreffende de opslag, verwijdering en aanpassing van een element aan het applicatie model dienen nog aanvullende eisen betreffende de volgorde worden gedefinieerd. Ten eerste moet een element eerst worden toegevoegd aan het applicatie model voordat het veranderd kan worden. Deze eigenschap wordt door het volgende axioma weergegeven: [A8] Opslag voegt_element_toe_aan Applicatie Model element_wordt_ getransformeerd_door Opslag. Vervolgens moet een element eerst worden toegevoegd aan het applicatie model voordat het eruit verwijderd kan worden. Deze eigenschap wordt door het volgende axioma weergegeven: [A9] Opslag voegt_element_toe_aan Applicatie Model element_ wordt_verwijderd_door Opslag. De organisatie kan onder invloed van de omgeving veranderen, met als resultaat dat de informatie behoefte eventueel kan veranderen. De verandering die de organisatie ondergaat wordt weergegeven door de relatie <10,11> (= <zorgt_voor_aanpassing_ van, wordt_aangepast_o.i.v>) tussen Omgeving en Organisatie. Deze eigenschap wordt door het volgende axioma weergegeven: [A10] Organisatie wordt_aangepast_o.i.v Omgeving. Deze eigenschap kan als gevolg hebben, dat de informatie behoefte verandert. Als dit het geval is dan moet het Evoluerende Informatie Systeem ook aangepast worden. Dit wordt weergegeven door de relatie <9,9’> (= <wordt_aangepast_door, past_aan>). Deze eigenschap wordt door het volgende axioma weergegeven: [A11] EIS wordt_aangepast_door Verandering. Definitie: [D2] Uitvoer ≡ Levering van informatie. Om te bepalen of een informatie systeem nog in de informatie behoefte voorziet, wanneer een organisatie een verandering ondergaat is de volgende strategie te volgen: Organisatie ondergaat verandering: if informatie behoefte is deel van mogelijke uitvoer then Informatie systeem levert informatie else Probleem: IS moet aangepast worden. 68 Om te bepalen of de informatie behoefte deel is van de mogelijke uitvoer, kan de vraag gesteld worden, of de gewenste informatie geleverd kan worden. Het aanpassen van het informatie systeem dient zodanig te gebeuren, dat de gewenste informatie geleverd wordt door het informatie systeem. Deze aanpassingscyclus is als volgt grafisch weer te geven: 4.3 Verband tussen de talen In dit hoofdstuk zijn er bij de verschillende schema’s eisen en eigenschappen beschreven. Deze beschrijvingen zijn gegeven in een gemodelleerde taal "M". Bij deze beschrijvingen is een vertaling gegeven in de alledaagse taal. Dit is de zogenaamde experttaal "E". 4.3.1 Begrijpbaarheid Uit de beschreven eisen en eigenschappen in de gemodelleerde taal M, blijkt dat al deze beschrijvingen te vertalen zijn in de experttaal E. Beide beschrijvingen zijn begrijpbaar voor de gebruiker. Met andere woorden geldt, dat elke zin uit M ook te begrijpen is en te vertalen is naar een zin in E. De vraag die hier onmiddellijk bij rijst, is of elke zin uit E ook uit drukken is in M. Met andere woorden wat is de kracht en de beperking van M. 69 4.3.2 Omvang Uit de zinnen in de gemodelleerde taal M beschreven eigenschappen en eisen en de bijbehorende in de experttaal E beschreven vertaling blijkt, dat de zinnen in de experttaal over het algemeen langer zijn. De experttaal E blijkt niet voldoende te zijn om de eisen van de gebruiker vast te leggen, omdat deze taal dubbelzinnigheden kan bevatten. Dit komt, omdat de betekenis van de experttaal afhankelijk is van het wereldmodel van degene die een zin in E geeft. Deze dubbelzinnigheden komen in de gemodelleerde taal M niet voor. In de taal M zijn alleen zinnen te maken, die uit de bijbehorende schema’s afgeleid kunnen worden. Met andere woorden geldt er dat het wereldmodel beperkt wordt tot de gegeven schema’s. Er bestaat overeenstemming omtrent de geldigheid van deze schema’s, ofwel deze schema’s geven weer wat de gebruiker wenst en de ontwerper weet exact wat er mee bedoeld wordt. 4.3.3 Uitdrukkingskracht Om een zin uit de experttaal E uit te drukken in de gemodelleerde taal M moet er eerst overeenstemming bestaan omtrent het wereldmodel, ofwel er moet eerst een schema ontwikkeld worden waaruit deze zin in M af te leiden is. 4.3.4 Conclusie Er is gebleken, dat de kracht van de gemodelleerde taal M is, dat elke zin uit de experttaal E ondubbelzinnig is uit te drukken in M. Een beperking hierbij is echter, dat de zinnen in taal M aan strakkere regels zijn gebonden dan in taal E, om de ondubbelzinnigheid te garanderen. De oorzaak hiervan is, dat het wereldmodel vrij beperkt is. Een andere beperking is, dat er eerst een wereldmodel ontwikkeld moet worden, waarover overeenstemming moet bestaan tussen de betrokkenen, in dit geval de gebruiker en de ontwerper, voordat er iets beschreven kan worden in de gemodelleerde taal M. 70