# Information engineering

Information engineering is het automatiseren van informatiestromen en processen binnen een bepaalde organisatie. De stromen worden opnieuw in kaart gebracht en geoptimaliseerd om zo effectiever te kunnen zijn.

## Methode

Het is een methode met verschillende technieken en analyses om informatie te verzamelen, te verwerken tot bruikbare en zinvolle informatie en beschikbaar te stellen voor gebruikers. Er moet voor gezorgd worden dat de juiste doelgroep op het juiste moment toegang heeft tot de informatie. Het is dan ook belangrijk dat nieuwe informatie weer goed in het systeem wordt opgenomen. Het is bij information engineering de bedoeling dat de informatiestromen binnen een organisatie in kaart worden gebracht en verbeterd worden. Hier betreft het ook werkprocessen en communicatiekanalen. Information Engingeering zorgt voor een goede balans tussen de theorie, praktische kennis en hardware en software aspecten. De discipline laat zich niet direct categoriseren. Professioneel omgaan met de beschikbare informatie in een organisatie wordt steeds belangrijker voor de concurrentiepositie van een bedrijf. Het is een proces dat de gehele bedrijfsvoering omvat. De volledige bedrijfsstrategie wordt erop aangepast en wordt toegespitst op deze methode. IE is anders dan CS en CE primair gefocust op de netwerken en stromen binnen een bedrijf terwijl CS en CE meer gericht zijn op de hardware- en software-kanten van een bedrijf. IE dekt daarmee alle takken van een bedrijf zoals beveiliging, organisatie, personeel etc. omdat in al deze verschillende kanten informatiestromen lopen. Binnen IE kan gebruik worden gemaakt van verschillende technieken en deze technieken kunnen in verschillende fases van IE toegepast worden. Verderop worden verschillende technieken toegelicht.

## Varianten

Er zijn twee verschillende soorten aanpak van Information Engineering. Deze twee varianten bekijken de methode vanuit een andere invalshoek en vergen een andere aanpak voor de organisatie. De eerste variant wordt toegespitst op het gehele bedrijf en de andere variant wordt toegespitst op afdelingen van een organisatie.
* De afdelingsgerichte variant is ontworpen voor de ICT-afdeling binnen een bedrijf zodat informatiesystemen gerealiseerd konden worden die aan de behoefte van informatie voor op zichzelf staande afdelingen konden voldoen. Voorbeelden hiervan zijn de huidige CASE (Computer-Aided Software Engineering]) tools. Deze tools helpen bij het maken en onderhouden van applicaties. De afdelingsgerichte variant is het eerst ontwikkeld en is gebruikt in de begin jaren van IE.
* De bedrijfsgerichte variant is ontworpen voor de snelle veranderingen van de strategie binnen organisaties. Op deze manier kan mee worden gegaan met de markt om zo de concurrentiepositie te verbeteren. Deze variant wordt ondersteund door de zichtbare voordelen, een geïntegreerde CASE (I-CASE) tool en een duidelijke leidraad. IE is dus later door ontwikkeld naar een meer bedrijfsgerichte aanpak, om te voldoen aan de vraag van de bedrijven die te maken hadden met steeds snellere veranderingen in de object georiënteerde omgevingen.

## Geschiedenis

Information Engineering is ontstaan in Australië tussen 1976 en 1980 en ontwikkeld door het bedrijf van Clive Finkelstein: Information Engineering Services Pty Ltd. In eerste instantie bood het technieken voor het analyseren en ontwerpen van een database. Deze technieken kunnen gebruikt worden door databasebeheerders en systeemanalisten om databaseontwerpen te ontwerpen.
De eerste versie van information engineering heeft Finkelstein ontwikkeld met de ondersteuning van James Martin. De techniek was afdelingsgericht en daardoor wat beperkter en praktischer. In eerste instantie bood het technieken voor het analyseren en ontwerpen van een database. Deze technieken kunnen gebruikt worden door databasebeheerders en systeemanalisten om databaseontwerpen te ontwerpen. De technieken die hij toen ontwikkelde worden nu ook nog gebruikt. Het betreft het in kaart brengen van een database met verschillende entiteiten. In de jaren 80 veranderde IE verder in een bedrijfsgestuurde methode. Finkelstein wijzigde de methode door verschillende technieken te gebruiken. Het lukte het hem om een brug te zetten van een strategische bedrijfsplanning naar betrouwbare informatie systemen. Hierdoor werd de afstand tussen planning/organisatie en bouwen/realisatie kleiner. Deze dus doorontwikkelde versie van Information Engineering is ontworpen voor de tegenwoordig snel veranderende omgeving. Dit is Information Engineering zoals we het nu tegenkomen in projecten.

## Voordelen en nadelen

De voordelen van IE boven andere systeemontwikkelings methoden, zoals JSD en DSM zijn onder andere:
* Information Engineering kan gebruikt worden op een gehele collectie van software en hiermee een bedrijf in het geheel ondersteunen, terwijl andere methoden de focus leggen op een enkel systeem;
* De focus van Information Engineering ligt op het begin van de ‘development life cycle’, terwijl andere methoden juist concentreren op de laatste fasen van deze life cycle. Het voordeel van IE hiermee is dat de gebouwde systemen de juiste oplossingen zijn voor de bedrijven;
* Information Engineering focussed op de eisen van het gehele projectteam, ze ondersteunt management, maar spreekt ook het echte werk binnen het project aan. Andere gestructureerde methoden focussen voornamelijk op de projectmanager en de producten die moeten worden opgeleverd.
Het nadeel van IE is echter dat het belangrijke omschrijvingen mist van attributen en unieke ‘identifiers’. De beschreven aanpak is hierin heel compact, maar anderzijds weer heel goed leesbaar en snel te leren.

## Principes

Het is een methode waarbij informatiestromen en dergelijke worden vernieuwd, verbeterd of in kaart gebracht. In dit gehele proces bestaan verschillende onderdelen. Je hebt de taken, deelproducten, technieken afhankelijkheden en dergelijke. De rol tegenover een van deze onderdelen is belangrijk, want deze bepaalt de houding tegenover het toepassen van Information Engineering. De houding bestaat uit de volgende soorten:
* Toegespitst op bedrijfsvoering – Bij ICT projecten komt het vaak voor dat een project wordt gestart en in de loop van de tijd een eigen leven gaat leiden en de originele doelen verloren raken. Bij Information Engineering zal dit niet voorkomen, aangezien de alineëring met de bedrijfsvoering uitgebreid wordt geanalyseerd en bewaakt. Hierdoor zal het makkelijker worden om tijdens en na afloop van het project op veranderingen te kunnen inspelen. Ook kan er na een deel van het project een analyse gemaakt worden waarbij fouten en andere zaken verbeterd en voortaan voorkomen kunnen worden.;
* Grafische communicatie – Binnen Information Engineering worden diagrammen gebruikt als een tool voor effectieve communicatie tussen de bedrijfsvoering en de programmeurs. Een voorbeeld van zon diagram is een dataflow diagram. Hierin worden verschillende informatiestromen van een bedrijf weergegeven. De communicatie tussen programmeurs, leidinggevenden wordt hierdoor duidelijker. Hierdoor wordt de kans op een ineffectieve afstemming tussen business en ICT verkleind;
* Kleine projecten – Grote ICT projecten kennen een grote kans van mislukking door een overschrijding van het budget of een slechte waarmaking van de verwachtingen. Aan de andere kant hebben kleinere projecten hier minder last van en zijn worden vaker succesvol afgerond. Dit komt doordat een projectteam binnen een klein project een beter overzicht en beeld op de eindresultaten heeft. In Information Engineering wordt binnen elk stadium het project een kleinere deelprojecten opgedeeld en kan aan elk component een apart team worden toegekend. De voordelen van kleinere projecten zijn dan ook dat ze overzichtelijker zijn, makkelijker te plannen en dat de communicatie veel beter zal verlopen. Wel belangrijk is dan dat de communicatie tussen de kleinere projecten onderling wel goed verloopt zodat er een goede aansluiting is op het verloop van het project.
* Gebaseerd op architectuur – Zoals hiervoor gezegd worden binnen Information Engineering projecten opgedeeld in kleinere componenten. Deze componenten moeten echter wel weer samen worden gevoegd tot een zinnig geheel, wanneer ze individueel zijn afgerond. In Information Engineering is dit de verantwoordelijkheid van de architecturen. Deze zorgen voor een kader voor het begrijpen van de componenten, hun bereik en interfaces.
* Voortdurende verfijning – Eerder werden planningen binnen een project in een zeer vroeg stadium gemaakt, wat zorgde voor een onnauwkeurige planning en een niet toepasbaar bereik. Verder kunnen er situaties ontstaan waarbij je in het begin van het project geen rekening mee hebt gehouden. In Information Engineering zorgt de verdeling in de componenten voor een voortdurende bijstelling van bereik en planning gedurende het gehele project. Er bestaat dus niet zoiets als een vaste planning bij Information Engineering.
* Automatiseerbaar – Information Engineering was de eerste methode welke was ontwikkeld voor automatisering. Deze ontwikkeling duurt nog steeds voort en blijft dus aangepast op de huidige technologie en technieken. In bijna elk principe van IE komt het onderdeel componenten en verschaling plaats. Deel het project op in kleinere maar toch groot genoeg componenten en zorg daar dat de componenten goed op elkaar aansluiten. Ook detaillering is een onderdeel van deze principes. In het begin is een project nog globaal met uiteindelijke doelen. De manier hoe en wanneer en op welke manier is dan nog niet bekend. Dit wordt door deze principes duidelijker.

## Het procesverloop

* Information Strategy Planning: het schrijven van een plan voor het implementeren van bedrijfssystemen voor het ondersteunen van het bedrijfsproces.
* Outline Business Area Analysis: deze analyse geeft antwoord op vragen gerelateerd tot de implementatie van een bepaald bedrijfsgebied. De analyse geeft ondersteuning aan het management voor het nemen van beslissingen.
* Detailed Business Area Analysis: het doel van deze fase is om gedetailleerde modellen beschikbaar te maken als basis voor het systeemontwerp.
* Business System Design: in deze fase worden alle aspecten van een systeem die relevant zijn voor de gebruikers gespecificeerd. Dit document wordt gebruikt ter voorbereiding op het technische ontwerp en de bouw- en installatiefase.
* Technical Design: een technisch ontwerp bereid de bouw en implementatiefase voor. Een technisch ontwerp is ingericht zodat het systeem voldoet aan de eisen van de gebruiker.
* Construction: in deze fase wordt het systeem ontwikkeld aan de hand van de technische specificatie op tijd en binnen het budget. Het systeem moet alle belangrijke functies en gebruikersprocedures bevatten. Deze fase is afgerond wanneer de overeengekomen eisen aan het bedrijfssysteem zijn gehaald.
* Transition: een periode die bedoeld is om nieuwe procedures geleidelijk in te voeren. Het succes van dit stadium is afhankelijk van de goede kennis over de oude en de nieuwe informatiesystemen.

## Technieken

* Entity analysis: geeft een beschrijving van alle informatie die binnen het systeem zal worden opgeslagen. Verder worden de relaties tussen de verschillende clusters data aangegeven en uitgewerkt binnen deze analyse. Met een “entity model” wordt een overzicht gegeven van de data en de relaties daartussen.
* Function analysis en process dependency: hierbij worden de functies (belangrijkste bedrijfsactiviteiten) van de onderneming opgesplitst in elementaire bedrijfsprocessen. Hierbij kunnen twee verschillende diagrammen worden gebruikt. Het “process decomposition diagram” toont de uitsplitsing van de bedrijfsfuncties en het “process dependency diagram” toont de onderlinge afhankelijkheid van de bedrijfsprocessen van een onderneming.
* Process logic analysis: beschrijft de volgorde van de verschillende handelingen die tijdens een bedrijfsproces worden uitgevoerd en de data die bij elke handeling nodig is.
* Entity type lifecycle analysis: beschrijft de veranderingen die binnen de organisatie zullen plaatsvinden. Verder bevestigt het dat de opgestelde processen helpen om deze veranderingen te realiseren omdat met deze techniek goed het verschil tussen de oude en de nieuwe situatie kan worden weergegeven.
* Matrix cross-checking: creëert relaties(cross-references) tussen data objecten en processen om te controleren of ze duidelijk en compleet zijn beschreven. Er wordt hier dus gekeken naar de realiteit van de bedrijfsvoering en hoe de data objecten daarmee in verband staan.
* Normalisation: bevat de middelen voor het bevestigen van de juistheid van het “entity model” met alle daarin vermelde gegevens en relaties. De gehele uitsplitsing en clusteren van gegevens wordt met deze techniek gerealiseerd.
* Cluster analysis: helpt bij het bepalen van de omvang van het onderdelen(delen) van het te realiseren informatiesysteem. Hierbij wordt dus vooral naar de scope gekeken.
* Data flow en data analysis: maken een vergelijking mogelijk tussen de modellen van de bedrijfsonderdelen voor de gewenste situatie en de systemen die in de huidige situatie gebruikt worden om deze bedrijfsonderdelen te ondersteunen.