Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de...

60
Hoofdstuk 5 Implementatie van een beslissingsondersteunend systeem 5.1 Inleiding In hoofdstuk 1 zijn beslissen en planning binnen organisaties beschreven. Hierbij is planning gedefinieerd als een geëxpliciteerde en geformaliseerde vorm van beslissen. In beslissingsprocessen worden modellen gebruikt om problemen te beschrijven, alternatieven te genereren en keuzes te maken. De verschillende methoden om deze modellen te construeren zijn beschreven in hoofdstuk 2. In hoofdstuk 3 is vervolgens aangegeven op welke manier geautomatiseerde systemen kunnen worden gebruikt bij het nemen van beslissingen. Met name DSS en kennissystemen zijn gericht op het nemen van beslissingen. Het belangrijke onderscheid tussen beide systemen is dat een kennissysteem een advies kan geven en een DSS niet. In hoofdstuk 4 staat het probleemdomein centraal. Projectplanning en de daarbij gebruikte planningmethoden zijn beschreven. De voorgaande hoofdstukken leggen de basis voor het doel van dit onderzoek, nl. het ontwerp van een beslissingsondersteunend systeem. Het begrip beslissingsondersteunend systeem wordt hierbij in een iets bredere betekenis gebruikt dan decision support systemen zoals beschreven in hoofdstuk 3. Bij het gebruik van de term beslissingsondersteunend systeem staat het ondersteunen van het nemen van een beslissing centraal, ongeacht of dit met kennissystemen of decision support systemen gebeurt. Het beslissingsondersteunend systeem wordt in dit hoofdstuk besproken. Hierbij is gekozen voor een ontwerp dat aansluit bij de in paragraaf 3.7.2 beschreven integratie van kennissystemen en generieke DSS. Een generieke DSS is gericht op een klasse van problemen, waarbij conceptuele modellen van de probleemsituatie in het generieke DSS zijn ondergebracht. De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij ondergebracht in het kennissysteem (deze keuze zal nader worden uiteengezet in paragraaf 5.4). In paragraaf 5.2 worden enkele rollen van kennissystemen beschreven en wordt aangegeven welke van de genoemde mogelijkheden in het in dit hoofdstuk beschreven systeem zijn opgenomen. In paragraaf 5.3 komen de bestudeerde cases aan de orde. Deze cases beschrijven de projectplanning in een aantal verschillende

Transcript of Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de...

Page 1: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5Implementatie van een

beslissingsondersteunend systeem

5.1 Inleiding

In hoofdstuk 1 zijn beslissen en planning binnen organisaties beschreven. Hierbij isplanning gedefinieerd als een geëxpliciteerde en geformaliseerde vorm van beslissen.In beslissingsprocessen worden modellen gebruikt om problemen te beschrijven,alternatieven te genereren en keuzes te maken. De verschillende methoden om dezemodellen te construeren zijn beschreven in hoofdstuk 2. In hoofdstuk 3 is vervolgensaangegeven op welke manier geautomatiseerde systemen kunnen worden gebruikt bijhet nemen van beslissingen. Met name DSS en kennissystemen zijn gericht op hetnemen van beslissingen. Het belangrijke onderscheid tussen beide systemen is dateen kennissysteem een advies kan geven en een DSS niet. In hoofdstuk 4 staat hetprobleemdomein centraal. Projectplanning en de daarbij gebruikteplanningmethoden zijn beschreven. De voorgaande hoofdstukken leggen de basisvoor het doel van dit onderzoek, nl. het ontwerp van een beslissingsondersteunendsysteem. Het begrip beslissingsondersteunend systeem wordt hierbij in een ietsbredere betekenis gebruikt dan decision support systemen zoals beschreven inhoofdstuk 3. Bij het gebruik van de term beslissingsondersteunend systeem staat hetondersteunen van het nemen van een beslissing centraal, ongeacht of dit metkennissystemen of decision support systemen gebeurt. Het beslissingsondersteunendsysteem wordt in dit hoofdstuk besproken. Hierbij is gekozen voor een ontwerp dataansluit bij de in paragraaf 3.7.2 beschreven integratie van kennissystemen engenerieke DSS. Een generieke DSS is gericht op een klasse van problemen, waarbijconceptuele modellen van de probleemsituatie in het generieke DSS zijnondergebracht. De kennis, die nodig is om de juiste methode te selecteren en hetconceptuele model empirisch te maken, wordt hierbij ondergebracht in hetkennissysteem (deze keuze zal nader worden uiteengezet in paragraaf 5.4). Inparagraaf 5.2 worden enkele rollen van kennissystemen beschreven en wordtaangegeven welke van de genoemde mogelijkheden in het in dit hoofdstukbeschreven systeem zijn opgenomen. In paragraaf 5.3 komen de bestudeerde casesaan de orde. Deze cases beschrijven de projectplanning in een aantal verschillende

Page 2: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5138

organisaties. Het doel van deze cases is inzicht te krijgen in de mate waarinorganisaties een planningproces doorlopen en zo ja, welke methoden hierbij wordengebruikt en op welke manier deze methoden worden toegepast. Daarnaast zijn debehoeftes ten aanzien van de ondersteuning van de projectplanning in kaart gebracht.Vervolgens wordt in paragraaf 5.4 een globale beschrijving gegeven van de opbouwvan het systeem. Het ontwerp van de diverse modulen die in dit systeem wordenonderscheiden, worden in de daaropvolgende paragrafen nader toegelicht.

5.2 Mogelijke rollen van een kennissysteem

Een kennissysteem kan in verschillende fasen van het beslissingsproces wordeningezet. Daarnaast kan een kennissysteem verschillende rollen vervullen. De fasenzullen worden besproken in paragraaf 5.4. De verschillende rollen die eenkennissysteem kan vervullen zullen in deze paragraaf worden toegelicht. Dewhursten Gwinnet (1990) beschrijven twee rollen:

‘The first is as part of the user interface, making the system accessible to any typeof user, including those who have little or no modelling experience. The second isas one of the tools available for use on a particular problem. In the first case,where an expert system is used as a front-end to the model-building process, theexpert system element of the user interface will be fully defined, specificallygeared to the purpose of problem definition, and where possible the interpretationof results.’

Dewhurst en Gwinnet (1990) stellen dat beslissingssituaties onderling sterkverschillen en daarom elk hun eigen combinatie van methoden vergen. Hiertoeontwerpen zij het Artificial Decision-Analysis Support System (ADASS) als eenalgemeen systeem voor probleemoplossen waarbinnen de beslisser methoden kankiezen al naar gelang de probleemsituatie. Hierbij kan gebruik worden gemaakt vanexpert system shells, OR-methoden, statistische analyses en simulatie. Naar onzemening is het bijzonder moeilijk een dergelijk veelomvattend systeem teimplementeren. Daarnaast zijn er ook problemen met betrekking tot detoepasbaarheid van de methoden. Het gebruik van een expertsysteem in het ADASSimpliceert het specificeren van de kennis en dus het modelleren van hetprobleemdomein in een specifieke probleemsituatie. Het ontwikkelen van eenkennissysteem voor een eenmalige beslissingssituatie is echter weinig efficiënt (ziehoofdstuk 3).

Turban en Trippi (1989) onderscheiden eveneens twee mogelijke rollen vankennissystemen. Het gebruik van een kennissysteem als een ‘stand alone tool’ en eenkennissysteem geïntegreerd met andere computertoepassingen (bijvoorbeeld eenDSS) (zie Figuur 5-1). Een kennissysteem als afzonderlijk systeem kan de volgendedoelstellingen hebben:• Een kennissysteem als kennisbron. Kennis en informatie omtrent een bepaald

probleemgebied kan toegankelijk worden gemaakt. De presentatie van ennavigatie door de beschikbare informatie kan bijvoorbeeld in de vorm van eenhypertekstsysteem (pijl 1 in Figuur 5-1)

Page 3: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 139

• Daarnaast kan een kennissysteem als leermiddel worden ingezet. Gebruikerskunnen door gebruik te maken van het systeem de nodige ervaring opdoen methet systeem en de methoden. Door het werken met het systeem wordt inzichtverkregen in bepaalde strategieën voor het oplossen van problemen (pijl 1 enpijl 2 in Figuur 5-1). Oz et al. (1993) tonen aan in een experiment dat hetprobleemoplossend vermogen van gebruikers van een kennissysteem sterkertoeneemt dan van beslissers die het systeem niet gebruiken.

• Het kennissysteem kan echter ook meer inhoudelijk in het beslissingsprocesworden ingezet door de structuur van het beslissingsproces, oftewel de diversestappen die in het beslissingsproces moeten worden doorlopen, te beschrijven(zie paragraaf 5.4 voor een beschrijving van de verschillende fasen). Hetsysteem stelt de aard van het probleem vast, begeleidt het bouwen van eenmodel, draagt alternatieve oplossingsrichtingen aan, maakt een keuze tussen deverschillende oplossingsrichtingen en interpreteert tenslotte de resultaten (allepijlen in Figuur 5-1).

User

Planningtechniques(Per t , CPM,

Cocomo,FPA etc. )

Knowledge basedsystem

(select ion,appl icat ion,

interpretat ion)

3

1 2

Computer

Figuur 5-1: Interactie tussen de gebruiker, het kennissysteem en deplanningmethoden.

Aan de interactie tussen de drie componenten wordt op verschillende maniereninhoud gegeven. Voor zover het gaat om het gebruik van het kennissysteem alskennisbron, werkt de gebruiker afzonderlijk met het kennissysteem (pijl 1) en deplanningmethoden (pijl 2). De gebruiker past de planningmethode toe en bijeventuele problemen en onduidelijkheden raadpleegt de gebruiker hetkennissysteem. Dit kennissysteem adviseert de gebruiker en stelt achtergrondkennister beschikking. De kennis die de gebruiker uit het kennissysteem haalt past hijvervolgens toe bij het gebruik van de methode. Wanneer het kennissysteem alsmodelleringsondersteuning wordt gebruikt zal het kennissysteem een actievere rolvervullen. Het systeem geeft niet alleen adviezen en achtergrondkennis maar stuurthet beslissingsproces en het gebruik van de methoden. In deze laatste situatie is een

Page 4: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5140

directe koppeling tussen het kennissysteem en de planningmethoden wenselijk, zodatde adviezen direct op de planningmethode kunnen worden toegepast (pijl 3).

In het ontwerp van het systeem, dat in de volgende paragrafen zal wordenbeschreven, zal een combinatie van de hiervoor genoemdetoepassingsmogelijkheden worden bewerkstelligd. Het kennissysteem biedtachtergrondkennis over de toepasbaarheid en de manier van toepassen van deplanningmethoden. Deze kennis kan door de gebruiker worden toegepast bij hetgebruik van de planningmethoden. Daarnaast vervult het kennissysteem een actieverol in het doorlopen van het beslissingsproces. Het kennissysteem adviseert bij dekeuze van de planningmethode voorafgaand aan de projectplanning, bij detoepassing van deze methode en bij de interpretatie van de uitkomsten van hetgebruik. Deze drie fasen zullen in paragraaf 5.4 worden besproken. Voorafgaandhieraan zal aandacht worden besteed aan een aantal case-beschrijvingen teneindeinzicht te krijgen in de manier waarop de projectplanning in de praktijk wordtingevuld.

5.3 Projectplanning in de praktijk

Een systeem ter ondersteuning van de projectplanning moet kennis bevatten omtrentde fasen die in dit beslissingsproces worden doorlopen. Zowel kennis die betrekkingheeft op een enkele activiteit in dit proces (bijvoorbeeld de toepassing van eenmethode), als kennis die de structuur (samenhang fasen) van dit proces beschrijft,moeten worden gemodelleerd. Ter verkrijging van deze kennis zijn praktijk casesbestudeerd. Bij het bestuderen van deze cases moet kennis worden verzameld overde organisatie, de projectplanning, de invulling van deze planning en de wensen tenaanzien van de ondersteuning.

Voorafgaand aan het inwinnen van specifieke kennis, die betrekking heeft op deprojectplanning, is het zinvol eerst algemene informatie te verzamelen om een beeldte krijgen omtrent de organisatie, de softwareprojecten binnen die organisatie en demanier van projectplanning. Tevens is deze stap nuttig bij het verkrijgen van inzichtin het specifieke begrippenkader zoals dat in een organisatie wordt gehanteerd.Zaken die hierbij aan de orde komen zijn het type en de omvang van de organisatie.

Het beslissingsproces ten aanzien van de projecten zal plaatsvinden aan de handvan formele en/of informele regels. Het aanwezig zijn van formele richtlijnen voorhet doorlopen van het planningproces en voorschriften ten aanzien van het gebruikvan specifieke methoden binnen dit proces vormt het uitgangspunt voor hetstructureren van de kennis omtrent deze planning. Naast formele regels zullen op talvan plaatsen in het proces informele regels worden gehanteerd. Zoals in Hoofdstuk 2is beschreven zijn de informele regels niet expliciet in de organisatie vastgelegd engeautoriseerd. Een deel van de informele regels zal expliciet moeten wordengemaakt om een kennissysteem te ontwikkelen dat een ondersteunende rol bij deprojectplanning vervult.

Vervolgens is geïnventariseerd hoe de projectplanning wordt ingevuld. Welkemethoden worden gebruikt en welke beslissingsregels worden gehanteerd. Tevens

Page 5: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 141

wordt gekeken of het gebruik van bepaalde methoden een bewuste keuze is en welkeformele of informele beslissingsregels aan deze keuze ten grondslag liggen. Vooreen aantal veel gebruikte methoden is eveneens gekeken op welke wijze de methodewordt toegepast binnen het beslissingsproces en wat voor beslissingsregels hierbijworden toegepast.

Met het oog op de ontwikkeling van een beslissingsondersteunend systeem zijnde wensen ten aanzien van de mogelijke ondersteuning geïnventariseerd. Hierbij isgekeken welke wensen bestaan ten aanzien van de ondersteuning van hetbeslissingsproces als geheel en ten aanzien van afzonderlijke fasen en methoden.

In appendix A is een uitvoerige beschrijving van de cases opgenomen. In dezeparagraaf zullen we enkele algemene bevindingen naar aanleiding van deze casesbeschrijven. De bestudeerde organisaties zijn niet representatief voor alleorganisaties die zich met systeemontwikkeling inlaten. Softwarehuizen en bancaireinstelling zijn oververtegenwoordigd. Dit is echter geen bezwaar omdat eenrepresentatieve weergave niet de doelstelling van dit onderzoek is. Bij de beknoptebespreking van de cases wordt dezelfde indeling gevolgd als bij de bespreking vande cases in Appendix A.

OrganisatieDe organisaties die zijn bestudeerd hebben een uiteenlopende achtergrond. Bijenkele van de bestudeerde organisaties gaat het om het leveren van diensten aanandere afdelingen in de eigen organisaties. Het primaire proces (zie paragraaf 1.2)van de organisatie als geheel bestaat niet uit het leveren van software. De leverendeafdeling heeft een ondersteunende rol. Het betreft hier zowel bancaire instellingenals produktiebedrijven. De mate van concurrerend werken verschilt. Dit geldt zowelvoor de mate waarin de klanten in de eigen organisatie een externe organisatiekunnen inhuren als voor de mate waarin de afdeling diensten aan derden magaanbieden. Voor een ander deel bestaat de verzameling bestudeerde organisaties uitsoftwarehuizen die zijn gericht op de ontwikkeling van software ten behoeve vanderden. Het primaire proces van deze bedrijven is gericht op het leveren vansoftware en aanverwante diensten. Tenslotte is de werkwijze van een zelfstandigeinformatie- en organisatie-adviseur ten aanzien van de projectplanning bestudeerd.

InformatieplanningIn alle organisaties houdt men zich bezig met één of andere vorm vaninformatieplanning. Ten dele is deze informatieplanning gericht op de eigenorganisatie. In de andere gevallen ondersteunt of verzorgt men het formuleren vaneen informatieplan voor een klant. Bij de invulling van het informatieplanningproceswordt weinig gebruikgemaakt van de hiervoor beschikbareinformatieplanningmethoden (zie paragraaf 4.2). De methoden die wel wordengebruikt zijn INFORMATION ENGINEERING en NAVIGATOR75, daarnaastworden door de organisatie ontwikkelde methoden gehanteerd. De invulling van het 75 Information Engineering van James Martin & Co. en Navigator van Moret Ernst & Young

Page 6: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5142

informatieplanningproces vindt voor een groot deel op een informele wijze plaats.Groepsdiscussies van de betrokken partijen spelen een belangrijke rol.

Planning van softwareprojectenAlle organisaties stellen voorafgaand aan het uitvoeren van een project een plan op.Een uitzondering op deze regel wordt gevormd door projecten met een zeer kleineomvang. Indien een project klein is, wordt geen plan opgesteld. In één organisatiewordt het al dan niet opstellen van een plan volledig overgelaten aan de betrokkenprojectleider. Het plan wordt in alle gevallen opgesteld door de projectleider al danniet in samenspraak met de andere betrokken partijen. In enkele organisaties vervultde informatie-analist de rol van projectleider. Andere organisaties houdendaarentegen een strikte scheiding aan, tussen deze twee functies omdat deze tweefuncties een geheel ander profiel vergen.

PlanningmethodenOndanks dat in alle organisaties wordt beweerd dat men voorafgaand aan hetuitvoeren van een project een projectplan opstelt, staat de invulling van deprojectplanning in een aantal organisaties volledig open76. De manager van deautomatiseringsafdeling van een bank verwoordt dit met:

‘Van belang is dat ze aan het plannen zijn. De uitwerking hangt sterk af van depersoonlijke voorkeur. Het enige wat vastligt is dat er gepland moet worden.’ (ziecase bankbedrijf 1).

Het al dan niet gebruiken van de planningmethoden die zijn beschreven in paragraaf4.6 staat daarmee ook vrij. In één organisatie wordt het gebruik van methoden zelfsafgeraden.

‘Het gebruik van methoden wordt niet formeel voorgeschreven. Soms wordt welhet gebruik van bepaalde methoden afgeraden. ‘Keep it simple’ dan is het almoeilijk genoeg.’ (case produktiebedrijf).

De planningmethoden die worden gebruikt bestaan met name uit een simpele vormvan de netwerkplanningmethode (zie paragraaf 4.6.1) en - een variant van -functiepuntanalyse (zie paragraaf 4.6.6). De mate waarin het gebruik van dezemethoden is voorgeschreven varieert sterk. In bepaalde organisaties is het gebruikvan één of meerdere methoden voorgeschreven. In andere organisaties is het gebruikvolledig vrijgelaten. Voor de invulling van de projectplanning met behulp van degenoemde methoden bestaan over het algemeen weinig richtlijnen. De keuze van eenplanningmethode is ondermeer afhankelijk van de fase van het project. Naarmate hetproject concreter wordt zal de onzekerheid afnemen. Een medewerker verwoordt ditop de volgende wijze:

‘De eerste fasen zijn te vergelijken met peuren en de latere fasen met metselen.’(zie case bankbedrijf 2).

76 De door ons gehanteerde definitie van het planningproces stelt strenge eisen aan de invulling van ditproces. In de casebeschrijving in appendix A is de beschrijving afgestemd op de definitie van planningzoals die door de projectmanager wordt gehanteerd.

Page 7: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 143

Daarnaast is de keuze sterk afhankelijk van de voorkeur van de planner.Alle geïnterviewden stellen dat er sprake is van een planningproces. Gezien de

invulling van het planningproces en de door ons gehanteerde definitie van eenplanningproces (zie paragraaf 1.6) moet geconcludeerd worden dat er in veelgevallen sprake is van het op een informele wijze nemen van beslissingen tenaanzien van het project, zonder richtlijnen met betrekking tot de invulling van ditbeslissingsproces. In de door ons gehanteerde definitie is in dergelijke gevallen geensprake van het doorlopen van een planningproces.

De organisaties staan open voor nieuwe ontwikkelingen. Echter, het investerenvan tijd in het bestuderen van nieuwe methoden is met name een persoonlijke zaak.Men moet over tijd beschikken om nieuwe ontwikkelingen te volgen. Enkelebedrijven hebben een opleidingsinstituut dat de ontwikkelingen volgt en daarbij eenkeuze maakt welke methoden interessant genoeg zijn om nader te bekijken.

BegrotingsmodellenHet meest en - in de bestudeerde cases enige - gebruikte begrotingsmodel isfunctiepuntanalyse. Dit komt overeen met het onderzoek van Heemstra et al. (zieparagraaf 4.6.6) waaruit blijkt dat functiepuntanalyse het meest gebruiktebegrotingsmodel is. Ondanks adviezen van diverse zijden dat de gegevens moetenworden gekalibreerd naar de specifieke organisatie wordt de methode vooral in deoorspronkelijke vorm toegepast. Functiepuntanalyse wordt toegepast naast één ofmeer andere methoden. Functiepuntanalyse wordt door de projectleider of door eenspecialist toegepast. In de organisatie waarin men nog geen gebruikt maakt vanfunctiepuntanalyse wil men deze methode wel gaan toepassen in de toekomst. Dereden dat men functiepuntanalyse wil gaan toepassen is dat men een zekere mate vanobjectiviteit in de projectplanning wil brengen.

VuistregelsBij de projectplanning worden allerlei vuistregels gebruikt. Deze vuistregels zijn inveel gevallen zeer specifiek en afhankelijk van de situatie. Vuistregels worden opalle gebieden toegepast. Voorbeelden van deze beslissingen zijn:

• keuze voor het al dan niet opstellen van een plan• keuze welke methode te gebruiken• hoe een dergelijke methode toe te passen• op welk detailniveau een plan op te stellen• het inschatten van de omvang van een taak• het toewijzen van middelen aan activiteiten• het oplossen van conflicten

Met vuistregels wordt met name de duur van een activiteit geschat. Op ditdetailniveau is sprake van een persoon die een taak moet uitvoeren. Op een hogerniveau wordt uitgegaan van de mogelijkheden die een methode als functiepuntanalyse aanreikt. Voorbeelden van vuistregels die worden gebruikt zijn zeer

Page 8: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5144

specifiek en moeilijk te generaliseren. Een voorbeeld van een dergelijke zeerspecifieke regel is:

‘Het aantal kilo's kaas is van invloed op het aantal uit te voeren ritten. Het aantalritten is vervolgens van invloed op het aantal vrachtwagens dat nodig zal zijn. Hetaantal auto's is van invloed op de complexiteit van een rittenplanningsysteem. Dezaken die met vuistregels worden geschat zijn de projectduur en de projectkosten.De activiteitsduur kan worden vastgesteld door een specificatie van de uit tevoeren werkzaamheden en normen voor het uitvoeren van die werkzaamheden.’(zie case I&O adviseur)

Gegevens over de omgeving van het systeem worden hierbij van belang geacht voorde omvang van het systeem. De omgeving waarin het systeem moet gaanfunctioneren wordt hierbij indirect bepalend geacht voor de schatting van de duur enkosten van het project. Vuistregels worden ook toegepast op basis van algemenekenmerken van projecten. Een voorbeeld van een dergelijke vuistregel is:

‘Op basis van het aantal functiepunten kan vervolgens het aantal uren wordenvastgesteld dat het technisch detail ontwerp en de bouw zal gaan duren, b.v. 4000uur. Uitgaande van het verhoudingscijfer dat het technisch detailontwerp en debouw 40% van de totale duur vergt, kan worden vastgesteld dat het gehele project10.000 uur zal duren. Met verhoudingscijfers kan vervolgens de duur per faseworden berekend. Idee + plan 5%, definitiestudie 8%, basisontwerp 12%,functioneel detailontwerp 20%, tdo bouw 40% en invoering 15%.’ (zie casebankbedrijf 2)

Met behulp van deze categorie van vuistregels, die met name zijn gebaseerd opverhoudingscijfers, kan men bepaalde schattingen van activiteiten extrapoleren naarde andere fasen. Door enkele projectplanners wordt naar voren gebracht datfunctiepuntanalyse ook kan worden gerekend tot de vuistregels. Dit sluit aan bij de inparagraaf 4.6.6 beschreven constatering dat de in FPA gehanteerde omrekenfactorenniet zijn gebaseerd op statistische analyses maar op ‘discussion and trial’.

NetwerkplanningmethodenAlle organisaties maken gebruik van een vorm van netwerkplanningmethoden. Dewijze van gebruik loopt echter sterk uiteen. Het varieert van het opsommen enrangschikken van de uit te voeren activiteiten tot een volledige specificatie enanalyse van het activiteitennetwerk (zie paragraaf 4.6.1). Bij het specificeren van deactiviteiten in een activiteitennetwerk wordt gebruikgemaakt vancomputerprogrammatuur. Met name Project Manager Workbench wordt hierbijtoegepast. Daarnaast wordt gebruikgemaakt van Microsoft PROJECT en CASUPERPROJECT.

PERTPERT (zie paragraaf 4.6.2) wordt door geen enkele organisatie gebruikt. Ten delekomt dit door de onbekendheid met het bestaan van de methode. Voor een anderdeel heeft men geen vertrouwen in de methode. De methode zou eenschijnonzekerheid introduceren die nergens op is gebaseerd. Tevens voert men aandat de methode niet door gebruikte programmatuur wordt ondersteund. Het uitvoeren

Page 9: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 145

van een dergelijke analyse zou daardoor veel extra inspanning vergen. Dezeinspanning omvat het opnieuw invoeren van dezelfde gegevens in een anderprogramma dat de gevraagde analyses wel kan uitvoeren. Voor zover men wel op dehoogte is van de methode heeft men bezwaren tegen de complexiteit van demethode:

‘Plannen is een noodzakelijk kwaad, zo wordt het althans ervaren. PERT is nogcomplexer, daardoor zijn er weinig mogelijkheden dit van de grond te krijgen.’(zie case produktiebedrijf)

Men ziet weinig mogelijkheden om deze methode te gaan gebruiken. Op een multi-project-niveau wordt door een enkeling wel mogelijkheden gezien om met behulpvan PERT de consequenties van een onzekere projectduur op de realisatie vanandere projecten vast te stellen.

CapaciteitsallocatieNa het specificeren van de activiteiten en de middelenbehoefte vindt een vergelijkingplaats van de beschikbare en de gevraagde middelen. De middelen die hierbij aan deorde komen hebben in eerste instantie betrekking op het personeel. Daarnaast kan hetontbreken van de juiste computerapparatuur een probleem veroorzaken.

Eventuele conflicten worden hierbij opgelost. Dit oplossen gaat op eenbetrekkelijk ongestructureerde wijze. De in de literatuur beschreven schedulingalgoritmen worden nauwelijks toegepast (zie paragraaf 4.6.3). De speling van eenactiviteit wordt in enkele gevallen nog wel gebruikt. De reden waarom geen gebruikwordt gemaakt van dergelijke algoritmen is met name gebaseerd op het onvoldoendeinzicht hebben in de werking van dergelijke algoritmen. Het aanpassen van hetnetwerk vindt met name plaats door het handmatig verschuiven van activiteiten in detijd.

Mogelijke ondersteuningDe gewenste ondersteuning wordt ten dele bepaald door de huidige invulling van deprojectplanning. Met name het verstrekken van achtergrond informatie over detoepasbaarheid van de methode en de manier van toepassen van de methode wordtwenselijk geacht, indien de organisatie nog niet over een voorgeschreven invullingvan de projectplanning beschikt en indien het gebruik van methoden zich in een prilstadium bevindt. Het belang van het (her)gebruik van kennis wordt (h)erkend. Ditblijkt ondermeer uit het volgende citaat:

‘Ondanks het belang dat wordt gehecht aan hergebruik van ervaringen vindt geenoverleg plaats omtrent vuistregels die worden gebruikt bij het plannen vanprojecten. Er vindt geen afstemming plaats tussen de verschillende personen. Erzijn tot nu toe geen pogingen gedaan om de informele regels te formaliseren. Hetuitwisselen van ervaringen en vuistregels wordt echter wel als zinvol ervaren.’(zie case softwarehuis 1)

Page 10: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5146

Bij het ondersteunen van de projectplanning moeten niet alleen de bekende engebruikte methoden aan bod komen. Het gebruik van nieuwe methoden kan nieuwemogelijkheden bieden:

‘De neiging om te standaardiseren op een methode en een invalshoek leidt tot eenenorme verstarring. Dit geldt zowel voor de toepassing van planningmethoden alssysteemontwikkelingsmethoden. Het is belangrijk dat per situatie de keuze wordtgemaakt.’ (zie case bankbedrijf 1)

De gevraagde ondersteuning bestaat ten dele uit de traditionele ondersteuning in devorm van het vastleggen en verwerken van gegevens over het project en de daarbijbehorende activiteiten. Het voldoen aan deze behoeften vereist geen gebruik vankennistechnologie. Daarnaast wordt ondersteuning gevraagd bij de keuze vanmethoden en het gebruik van deze methoden. Aan deze beslissingen liggenbeslissingsregels ten grondslag.

Samenvatting en conclusiesUit de voorgaande paragrafen blijkt dat ondanks dat de projectplanners/managersstellen een planningproces te doorlopen (op een enkele uitzondering na) dit in velegevallen beperkt blijft tot het op basis van informele regels nemen van beslissingenten aanzien van de uitvoering van het project. Informele regels worden gehanteerdbij de meeste beslissingen die moeten worden genomen, zoals het al dan nietdoorlopen van het planningproces, de selectie van een methode, de invulling van demethode, de mate van detaillering en de interpretatie van de resultaten.

De ondersteuning kan worden gerealiseerd met behulp van kennistechnologie,omdat deze technologie de mogelijkheid biedt de in de projectplanning gebruiktebeslissingsregels te modelleren en in een kennisbank vast te leggen (zie paragraaf3.5.1). De hier beschreven wensen leiden tot een ontwerp dat kennistechnologie, inde vorm van kennissystemen, combineert met traditionele IT, waarin de diversealgoritmen voor de data-vastlegging, -verwerking en -analyse zijn opgenomen. Erkan derhalve worden gesproken van een generieke DSS in combinatie met eenkennissysteem (zie paragraaf 3.7.1).

5.4 Globaal ontwerp van het systeem

Zoals in hoofdstuk 3 is beschreven is het ontwikkelen van een kennissysteem vooreen eenmalige beslissing weinig efficient. Het in dit onderzoek beschouwdeprobleem van de projectplanning is echter geen eenmalig probleem, maar doet zichregelmatig voor. Het ondersteunen van beslissingen die herhaalde malen voorkomensluit aan het op het gebruik van een generieke DSS. Een dergelijke generieke DSS isgericht op een klasse van problemen. De methoden (zie hoofdstuk 4) die bij hetoplossen van deze problemen worden gebruikt, worden hierbij in de vorm van eenconceptueel model in het generieke DSS ondergebracht. De keuze van de meestgeschikte methode en het construeren van het empirische model op basis van hetbeschikbare conceptuele model vereist de beschikbaarheid van kennis.

Page 11: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 147

Domeinkennis kan worden gemodelleerd in een kennissysteem. Gegeven dezeredenering ontstaat een ontwerp van een beslissingsondersteunend systeem dataansluit bij de in paragraaf 3.7.2 beschreven integratie van een generieke DSS en eenkennissysteem. Het generieke DSS biedt de mogelijkheid tot het gebruik vanmethoden en het kennissysteem bevat een beschrijving van de formele en informelebeslissingsregels die bij de selectie en het gebruik van de methoden een rol spelen.

Zoals in paragraaf 5.2 is beschreven vervult een kennissysteem één of meerdererollen. Het systeem wordt ingezet in één of meerdere fasen van het beslissingsproces.In hoofdstuk 1 is beschreven dat het nemen van een beslissing of het maken van eenplan niet een gebeurtenis is op één moment in de tijd, maar dat hier een proces aanten grondslag ligt. De ondersteuning van de projectplanning met behulp van eenkennissysteem is dan ook gericht op één of meerdere van deze fasen. In dezeparagraaf worden de fasen nader toegelicht. Bij het ontwerp en de ontwikkeling vanhet beslissingsondersteunende systeem is uitgegaan van het globaal ontwerp zoalsweergegeven in Figuur 5-2.

Select ie meestgeschikteplanning- methode

Uitvoerenplanning met degeselecteerde

methode

Interpreteren vande ui tkomsten

Planning probleem

Plan

Figuur 5-2: Fasen toepassen kennissysteem

De ondersteuning van het beslissingsproces met behulp van een computersysteemwordt hierbij in drie fasen opgedeeld:1. advisering gedurende de selectie van de juiste methoden voorafgaand aan de

projectplanning,2. advisering bij het toepassen van de methoden,3. interpretatie van de uitkomsten

Page 12: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5148

ad. 1: Bij de projectplanning kan gebruik worden gemaakt van een groot aantalmethoden. Deze methoden hebben alle sterke en zwakke punten en zullendus in bepaalde situaties kunnen worden ingezet (zie bijvoorbeeldHeemstra, 1990; Haas en Wubbels, 1990). Het kennissysteem zal bij dezekeuze van de methoden adviseren. Op basis van bepaalde karakteristiekenvan het project en de omgeving, en met name de onzekerheid en dedoelstellingen van een planningsessie, zijn bepaalde methoden betertoepasbaar dan andere. Bij de selectie en keuze van geschikte methoden(deze keuze is een beslissingsproces op zich) worden beslissingsregelsgehanteerd. Door het modelleren van deze regels, wordt het systeemgebruikt bij de advisering omtrent de keuze van de methoden.

ad. 2 : Wanneer in de eerste stap een methode is geselecteerd, moet vervolgens deprojectplanning met deze methode worden uitgevoerd. Bij het uitvoeren isbepaalde kennis nodig omtrent projectplanning in het algemeen en de tegebruiken methoden in het bijzonder. Met andere woorden er is kennisnodig omtrent de planningstrategie.De planningstrategie77 wordt hierbij gedefinieerd als de formelebeschrijving van de beslissingen die moeten worden genomen en deactiviteiten die moeten worden uitgevoerd om het beslissingsproces tedoorlopen. In de kennisbank moet de planningstrategie worden beschreven.Dit wil nog niet zeggen dat deze strategie bij voorbaat vaststaat. In destrategie kunnen voorwaarden worden opgenomen, zodat gedurende deconsultatie wordt besloten welke takken van de boom worden doorlopen.In deze fase wordt de kennis aangeboden die nodig is om hetbeslissingsproces gegeven de geselecteerde methode te doorlopen. Vooreen deel vindt dit plaats in de vorm van produktieregels die debeslissingsregels van de expert beschrijven. Voor een ander deel in de vormvan achtergrondinformatie, bijvoorbeeld met behulp van eenhypertekstsysteem.

ad. 3 : Het ondersteunen van de uitvoering van het beslissingsproces met behulpvan de geselecteerde methoden omvat ook de interpretatie van deuitkomsten van de projectplanning. De uitkomsten kunnen aanleiding zijntot het uitvoeren van vervolg-planningactiviteiten. Zo kan bijvoorbeeld naopbouw van een activiteitennetwerk in sommige gevallen wordengeconcludeerd dat de vereiste middelen de beschikbare middelenovertreffen. Deze uitkomst kan dan aanleiding zijn tot het verschuiven vande activiteiten en het veranderen van de toewijzing van middelen aanactiviteiten zodat de gevraagde middelen de beschikbare middelen nietovertreffen.

77 Dit naar analogie van Hand (1986, pag. 356) die een statistical strategy definieert: ‘A statisticalstrategy has been defined as a formal description of the choices, actions, and decisions to be made whileusing statistical methods in the course of a study.’

Page 13: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 149

Fase 1 is ingevuld met behulp van een module die in elke consultatie wordt gestart.Deze module adviseert welke planningmethode toe te passen en bepaalt daarmeewelke modulen in fase 2 en fase 3 aan bod zullen komen. Voor fase 2 en fase 3 zijneen aantal alternatieve modulen ontwikkeld. Of een module in een specifiekeconsultatie aan bod komt is grotendeels afhankelijk van de keuzes in fase 1. Modulendie hierbij zijn te onderscheiden zijn: selectie planningmethode, functiepuntanalyse,analyse aantal functiepunten, netwerkplanning, specificatie en analyseactiviteitennetwerk, PERT-analyse en analyse van conflicten. Tussen deze modulenbestaat een logische samenhang. Enkele modulen bieden alternatieve methoden,andere modulen kunnen achtereenvolgens worden doorlopen. De samenhang tussende modulen is weergegeven in Figuur 5-3: Globaal ontwerp van het systeem.

Regels select iemethode

Globale vuistregels FPA regelsRegels opbouw

netwerk

Analyse Netwerk

Analyse Confl ict

Schedul ing regels

Interpretatie uitkomst

Pert Analyse

Fase 1

Fase 2

Fase 3

Figuur 5-3: Globaal ontwerp van het systeem

De kenniscomponenten in de vorm van produktieregels die beslissingsregelsbeschrijven, worden aangevuld met hypertekst-achtige toepassingen. De in dehypertekst opgenomen achtergrondinformatie kan een achterliggende theoriebeschrijven of een verwijzing naar de bron van specifieke kennis bevatten.

In Figuur 5-3: Globaal ontwerp van het systeem, zijn zowel componentenopgenomen die kenniscomponenten weergeven als componenten die bestaan uitanalytische algoritmen. Hoewel de meeste problemen met behulp van

Page 14: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5150

produktieregels kunnen worden gemodelleerd is het niet zinvol problemen waarvooralgoritmen bestaan op een dergelijke wijze op te lossen. Het berekenen van despeling van een activiteit kan bijvoorbeeld uitstekend met een algoritme wordengedaan. Veel van dergelijke procedures voor de projectplanning zijn in algoritmenvastgelegd. Het kennissysteem fungeert als overkoepelend systeem. Dekenniscomponenten zijn met behulp van de expert system shell Level5 Object voorWindows geïmplementeerd. Vanuit deze shell worden andere programma'saangeroepen. Deze expert system shell zal in de volgende paragraaf nader wordentoegelicht.

5.5 Selectie Expert System Shell

De keuze van een expert system shell kan worden gedefinieerd als eenbeslissingsprobleem. Dat betekent dat voorafgaand aan de keuze van een expertsystem shell een aantal alternatieven zijn bekeken78. Uiteindelijk is de keuzegevallen op Level5 Object voor Windows (Information Builders, 1993). Deze keuzekwam met name tot stand op basis van de goede integratiemogelijkheden, deeenvoudige syntax en een redelijke prijs. De eerste twee aspecten komen hierondernader aan de orde. Level5 Object voor Windows is een door Information Builders opde markt gebrachte expert system shell79. Voor een uitgebreide beschrijving vanLevel5 zie Mockler en Dologite (1992), Vrolijk (1992) en Zahedi (1993). Level5Object biedt een ontwikkelomgeving die een hybride representatie van kennistoestaat. Naast de produktieregels wordt een soort frame gebruikt. Diverse aspectenvan kennissystemen (zoals het definiëren van produktieregels en het redeneren metdeze regels) worden gecombineerd met kenmerken van frames (in de vorm van hetdefiniëren van klassen en het overerven van attributen binnen dergelijke klassen).Level5 Object is één van de beschikbare expert system shells die in de grafischewerkomgeving van Windows werkt. Level5 Object bestaat, vanuit het gezichtspuntvan de ontwikkelaar, uit een verzameling van editors voor het ontwikkelen van eenkennissysteem. Met de editors worden de verschillende aspecten van eenkennissysteem ontwikkeld. Level5 Object onderscheidt de volgende editors:1. Agenda editor In de agenda editor kan de zogenaamde agenda van een toepassing worden

ontwikkeld. De agenda bepaalt in welke volgorde het inferentiemechanismewaarden voor attributen probeert vast te stellen.

2. Object editor In hoofdstuk 3 is de frame representatie beschreven. Level5 Object spreekt

echter over objecten. Het definiëren van objectklassen en de bijbehorende

78 Alternatieven die zijn bekeken, zijn onder andere NExpert Object van Neuron Data, Kappa-PC vanIntellicorp (Helton, 1991), Goldworks II van Goldhill, Aion Development System van Trinzic en Guruvan Micro Data Base Systems (Tello, 1986).79 Zie hoofdstuk 3 voor een algemene beschrijving van expert systems shells.

Page 15: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 151

attributen vindt plaats in de object editor. Binnen deze editor worden ook deoverervingsrelaties gedefinieerd.

3. Regel editor Level5 Object onderscheidt regels voor achterwaarts en voorwaarts redeneren80.

De regels voor achterwaarts redeneren worden rules genoemd en die voorvoorwaarts redeneren demons. Met de regel editor kunnen beide categorieën vanregels worden gedefinieerd en aangepast. Bij het definiëren van een nieuweregel levert Level5 Object een sjabloon voor een nieuwe regel. Dit verkleint dekans op fouten. In de regel editor worden eveneens de ‘methods’ gedefinieerd.'When changed methods' beschrijven procedures die worden geëvalueerd als dewaarde van het bijbehorende attribuut verandert. Een dergelijke procedure kanbijvoorbeeld worden gebruikt om de redelijkheid van de door de gebruikeringevoerde gegevens te toetsen81. 'When needed methods' beschrijvenprocedures die worden uitgevoerd wanneer het inferentiemechanisme eenwaarde voor het bijbehorende attribuut moet vaststellen.

4. Display editor. De display editor vormt een grafische omgeving waarbinnen dialoog- en

weergaveschermen kunnen worden ontworpen. Deze schermen worden gebruiktvoor het weergeven van conclusies of voor het stellen van een vraag aan degebruiker. De velden die in een dialoogvenster worden gedefinieerd zijngekoppeld aan bepaalde attributen. Met de display editor wordt inhoud gegevenaan de gebruikersinterface zoals die te zien zal zijn tijdens de consultatie van hetsysteem.

In het gebruik van een kennissysteem probeert het inferentiemechanisme feiten af teleiden (zie paragraaf 3.5.1). De mogelijkheden hiertoe zijn niet beperkt totvoorwaarts en achterwaarts redeneren. In Level5 Object zijn er diverse manierenwaarop de waarde van een attribuut kan worden vastgesteld.

(1) Context: de waarde van het attribuut is al eerder in dezelfdeconsultatie vastgesteld. De waarde is dus al bekend en hoeftgeen tweede keer te worden vastgesteld.

(2) When Needed: Er kan ook een procedure zijn gedefinieerd omeen waarde vast te stellen, een dergelijke procedure wordtbeschreven in een 'when needed method'.

(3) Rules: In de kennisbank kunnen regels zijn gedefinieerd die hetattribuut in hun conclusie hebben.

(4) Querie: Wanneer het systeem geen waarde vast kan stellen, kande gebruiker worden gevraagd een waarde in te voeren. Bij dezevragen wordt in eerste instantie uitgegaan van

80 Dit onderscheid leidt tot de beperking dat dezelfde regel niet in zowel voorwaarts alsachterwaartsredeneren kan worden gebruikt.81 Indien nodig kan vervolgens een foutmelding worden gegeven of om een bevestiging wordengevraagd.

Page 16: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5152

voorgedefinieerde standaard formuleringen, deze formuleringenen de bijbehorende vensters kunnen later naar eigen wensworden aangepast.

(5) Default: Tenslotte kan er een default-waarde zijn gedefinieerd.Indien het inferentiemechanisme geen waarde kan vaststellenvia één van de andere manieren, dan wordt de default-waardegebruikt.

Het inferentiemechanisme probeert deze mogelijkheden in de genoemde volgorde.Deze volgorde kan worden veranderd indien men bijvoorbeeld wil dat eerst degebruiker wordt gevraagd. Als de gebruiker het ‘niet weet’ kunnen alsnog regels enmethoden worden geëvalueerd.

Een belangrijke functionaliteit van een expert system shell is de interface naarandere bestanden teneinde gegevens uit die bestanden te benaderen en te gebruiken.Level5 biedt de mogelijkheid database- en tekstbestanden te gebruiken. Daarnaastkunnen de ODBC drivers82 worden gebruikt om diverse databases te benaderen. Metdeze drivers kan middels een SQL-opdracht worden gezocht naar records in dedatabase die aan bepaalde zoekcriteria voldoen (SQL staat voor Standard QueryLanguage, zie bijvoorbeeld De Rooy, 1987; Vasta,1985).

Naast het uitlezen van gegevens uit (data-)bestanden kan een extern programmaworden aangeroepen. Tevens kunnen gegevens worden uitgewisseld tussen Level5Object en in Microsoft C ontwikkelde programmatuur. Vanuit de actieve kennisbankkan een andere kennisbank worden opgestart. Dit commando maakt het mogelijk dekennisbank op te delen in subsystemen (zie paragraaf 3.5). Een subsysteem handelteen deelprobleem af en vervolgens wordt het volgende subsysteem opgestart, waarbijfeiten worden overgedragen.

Naast het bestandsformaat (*.KNB) waarin Level5 Object de kennisbankenautomatisch opslaat, is het ook mogelijk de inhoud weg te schrijven naar een ASCII-bestand. De inhoud van de kennisbank wordt dan in het PRL-formaat (ProductionRule Language) weggeschreven. Dit ASCII-bestand kan worden veranderd met eenandere editor en vervolgens weer worden ingelezen in Level5 Object. Dit heeft alsvoordeel dat veranderingen kunnen worden aangebracht zonder dat op elk momentde interne consistentie van de kennisbank wordt getoetst. Het bestand dat later weerwordt geïmporteerd moet uiteraard wel consistent zijn. De PRL-syntax biedt een zeerheldere structuur.

De bovenstaande voordelen hebben geleid tot de keuze van Level5 Object voorWindows. Level5 biedt een goede omgeving voor het ontwikkelen vanexpertsystemen. Level5 Object integreert de mogelijkheden van object georiënteerdontwikkelen en expertsystemen. De regels en methoden kunnen op een prettigemanier in een heldere syntax worden ingevoerd in de regel editor. Level5 Objectbiedt de voordelen van het werken onder Windows zoals een consistente interface,het schakelen tussen meerdere toepassingen en het uitwisselen van gegevens. In de

82 Een ODBC driver is een dynamic link library (DLL) die door een windows programma gebruikt kanworden om toegang te krijgen tot bepaalde gegevens. Elk database management systeem vereist eeneigen ODBC driver.

Page 17: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 153

volgende paragrafen wordt het ontwerp van de verschillende modulen beschreven enwordt aangegeven hoe deze in het prototype zijn gerealiseerd.

5.6 Module ter selectie van de planningmethode

Bij de projectplanning kan gebruik worden gemaakt van verschillende methoden (ziehoofdstuk 4 en de beschrijving van de cases). Deze methoden hebben alle bepaaldesterke en zwakke punten. Hiermee zijn de methoden in bepaalde situaties betertoepasbaar dan in andere (Heemstra, 1990; Haas en Wubbels, 1990). Hetkennissysteem adviseert bij de evaluatie van de geschiktheid en de keuze van demethode. Op basis van bepaalde karakteristieken van het project en de omgeving, enmet name de onzekerheid en de doelstellingen van een planningsessie, is de enemethode beter toepasbaar dan de andere. De module ter selectie van de meestgeschikte planningmethode is een overkoepelende module die aan het begin van eenconsultatie vaststelt welke planningmethode in die specifieke situatie dient te wordentoegepast. De module is overkoepelend in de zin dat de overige modulen vanuit dezemodule worden geactiveerd. De module bevat regels ter selectie van de meestgeschikte planningmethode voorafgaand aan het uitvoeren van het planningproces.Het doel van deze module is dan ook het geven van adviezen aan de gebruiker welkeplanningmethode moet worden gehanteerd.

Bij de keuze van de planningmethode kan het terminologieprobleem een rol gaanspelen. Verschillende gebruikers kunnen een ander idee hebben bij één en dezelfdeterm. Als er onduidelijkheden bestaan over de gehanteerde termen moeten meergedetailleerde vragen worden gesteld die intern worden 'gemapped' op meeromvattende termen. Intern wordt dan met deze omvattende termen geredeneerdterwijl extern, oftewel naar de gebruiker toe, met de waarneembare c.q. vraagbaretermen wordt gewerkt. Het redeneren door het inferentiemechanisme staat niet onderinvloed van deze problematiek. Het probleem wordt pas duidelijk als hetinferentiemechanisme vragen gaat stellen aan de gebruiker teneinde feiten vast testellen. Een voorbeeld hiervan is de situatie waarin de gebruiker wordt gevraagd inwelke fase het project zich bevindt. Bij een dergelijke vraag speelt de terminologievan de specifieke systeemontwikkelingsmethode een rol.

Kader 5-1: Vergelijken van termen.

Als voorbeeld is in Kader 5-1 de vergelijking tussen termen van SDM 1 en SDM 2weergegeven. De termen van deze twee methoden worden hierbij op elkaar herleid.De fase technisch ontwerp van de oude SDM specificaties wordt bijvoorbeeldherleid tot de fase van detailontwerp van SDM 2.

RULE termvergelijkingIF NOT SDM 2AND altprojectfase IS technisch ontwerpTHEN projectfase IS detailontwerp

Page 18: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5154

Kader 5-2: Alternatieve termen.

Hierbij wordt de gebruiker twee alternatieve benamingen aangeboden (zie Kader 5-2) waarbij die set wordt gekozen die het dichtst bij het dagelijks taalgebruik ligt.

Bij de selectie van de meest geschikte methode spelen een aantal factoren een rol.Deze factoren hebben onder andere betrekking op:

• de omvang van het project,• de fase van het project,• het doel van de planning,• het al dan niet beschikbaar zijn van een systeemontwikkelingsmethode,• het type project,• de onzekerheid die met het project gepaard gaat.

De onzekerheid wordt op haar beurt weer bepaald door een aantal factoren. Dehiervoor genoemde factoren worden achtereenvolgens behandeld.

• De omvang van het project.Indien het project een geringe omvang heeft, wordt in de praktijk geen gedetailleerdplan opgesteld (in het systeem wordt een grens van enkele mensmaandengehanteerd). In een dergelijke situatie wordt een grove schatting gemaakt, zonder dein het vorig hoofdstuk beschreven planningmethoden toe te passen (zie Kader 5-3).

ATTRIBUTE altprojectfase COMPOUND analyse, functioneel ontwerp, technisch ontwerp, ontwikkelen en testen, invoering TEXT “In welke van de hier genoemde fasen bevindt het project zich?” SEARCH ORDER CONTEXT QUERYATTRIBUTE projectfase COMPOUND definitiestudie, basisontwerp, detailontwerp, realisatie, invoering TEXT “In welke van de hier genoemde fasen bevindt het project zich?” SEARCH ORDER CONTEXT RULES QUERY

Page 19: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 155

Kader 5-3: Omvang project

• De fase waarin het project zich bevindt.Bij de uitvoering van een project worden een aantal projectfasen onderscheiden. Bijhet toepassen van SDM worden achtereenvolgens de volgende fasen doorlopen:definitiestudie, basisontwerp, detailontwerp, realisatie en invoering. De fase waarinhet project zich bevindt is op een aantal manieren van invloed op de projectplanning.Ten eerste geldt dat de reeds doorlopen fasen niet meer in de projectplanningopgenomen hoeven te worden. Indien het project zich reeds in de realisatiefasebevindt dienen alleen de bouw, het testen en de implementatie in de planningopgenomen te worden. Daarnaast is de fase van invloed op de detaillering van deplanning. Indien het project zich in de offertefase bevindt zal een globale schattingworden gemaakt van de diverse fasen (zie Kader 5-4). Daarentegen wordt in derealisatiefase een gedetailleerd plan opgesteld. Tenslotte kan de fase van het projectvan invloed zijn op de toepasbaarheid van de methode. Zo kan een gedetailleerdeFPA-begroting bijvoorbeeld niet worden opgesteld voordat er een functioneelontwerp is gemaakt.

Kader 5-4: Projectfase

• Doel van de projectplanningIndien het doel van de projectplanning is het opstellen van een gedetailleerd plan enschedule dan worden andere methoden gebruikt dan wanneer een globale schattingvan de kosten en doorlooptijd wordt gevraagd. Voor een globale begroting wordtgebruikgemaakt van een begrotingsmethode. Voor een gedetailleerd plan wordtgebruikgemaakt van netwerkplanningmethoden. De netwerkplanningmethodenkunnen hierbij ook in meer of mindere mate gedetailleerd worden ingevuld (zieparagraaf 5.9 voor een verdere invulling hiervan).

• Het al dan niet beschikbaar zijn van een systeemontwikkelingsmethodiek.Een systeemontwikkelingsmethodiek beschrijft de fasen en activiteiten die binnenhet systeemontwikkelingstraject moeten worden doorlopen (zie paragraaf 4.5). Dezebeschrijving dient als uitgangspunt bij de specificatie van een activiteitennetwerk bijhet toepassen van een netwerkplanningmethode (zie paragraaf 5.9 voor een verdereinvulling hiervan).

RULE kleine projectenIF omvang IS kleinTHEN NOT planningprobleemELSE planningprobleem

RULE offertefaseregelIF fase IS offerteTHEN doel IS globaalAND planningmethode is globale regels

Page 20: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5156

• Het type project.Bij een opdracht waar al enigszins duidelijk is wat voor soort systeem moet wordengerealiseerd, kan een systeemontwikkelingsmethode worden toegepast waarbij defasen en activiteiten van tevoren redelijk goed zijn te specificeren. Indien deopdracht meer onderzoeksachtige kenmerken omvat dan is van tevoren niet goed aante geven welke fasen en activiteiten moeten worden doorlopen. In een dergelijkesituatie wordt het voortraject als een afzonderlijk project gedefinieerd (Keen, 1987).Dit betekent dat de latere fasen van een systeemontwikkelingsmethode nog nietworden gepland (zie paragraaf 5.9).

Kader 5-5: Type project

• OnzekerheidDe onzekerheid is van invloed op de toepasbaarheid van de methoden. Met namePERT is gerelateerd aan de onzekerheid van activiteiten. Heemstra (1990)onderscheidt drie categorieën van onzekerheid: de proces-, de produkt- en demiddelenonzekerheid. De produktonzekerheid is afhankelijk van de mate waarin erduidelijke en volledige informatiebehoeften bestaan en de mate waarin deze stabielzijn. De procesonzekerheid is afhankelijk van de mate waarin het mogelijk is hetproces bij te sturen en de mate waarin men inzicht heeft in het proces. Demiddelenonzekerheid wordt bepaald door de waarde en de beschikbaarheid van debenodigde middelen. Op basis van deze criteria stelt het inferentiemechanisme demeest geëigende planningmethode vast. Hierbij wordt de gebruiker om feitengevraagd die relevant zijn voor de classificatie van het probleem (zie Figuur 5-4).

Figuur 5-4: Een voorbeeldvraag

RULE onderzoeksprojectIF projectfase IS definitiestudieAND type_opdracht IS onderzoeksopdrachtTHEN deelplanning := TRUEELSE deelplanning := FALSE

Page 21: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 157

De in Figuur 5-4 gehanteerde schermopbouw is zoveel mogelijk toegepast binnen dekennissysteemcomponenten om zodoende een uniforme gebruikersinterface tebewerkstelligen. Het bovenste deel biedt de mogelijkheid een schermtitel weer tegeven. Het middelste representeert de informatie voor, of de vraag aan de gebruiker.Het onderste deel bevat drukknoppen voor het stoppen of herstarten van een sessie,het bevestigen van de invoer en het opvragen van extra informatie.

Bij de keuze van de methode wordt aandacht besteed aan de samenhang tussende methoden. Een planningstrategie behelst het gebruik van één of meerderemethoden in een bepaalde samenhang. Als men een gedetailleerd schedule wilopstellen zal bijvoorbeeld eerst een beschrijving van het probleem in de vorm vaneen netwerk moeten worden gemaakt. Deze samenhang van de methoden beperkt hetaantal combinaties van toepasbare methoden.

Op basis van de selectie van de methode wordt een andere kennisbank ingelezen.Deze kennisbank geeft een verdere invulling aan fase 2 van het in Figuur 5-3beschreven globaal ontwerp. Een dergelijke kennisbank heeft betrekking op eenspecifieke planningmethode, waarbij de toepassing van die methode wordtondersteund en achtergrondkennis ter beschikking wordt gesteld.

5.7 Module ondersteuning van functiepuntanalyse

Deze module begeleidt en adviseert bij de toepassing van functiepuntanalyse (ziehoofdstuk 4). Het openingsscherm toont een afbeelding van de stappen die bij hetgebruik van functiepuntanalyse moeten worden doorlopen (zie Figuur 5-5). Metbehulp van de ‘Help’-drukknop krijgt de gebruiker een beschrijving van detoepasbaarheid en het functioneren van functiepuntanalyse.

Figuur 5-5: Openingsscherm functiepuntanalyse

Page 22: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5158

Het ontwerp van deze module is mede gebaseerd op het ontwerp van Matson enMellichamp (1993). Zij beschrijven de ontwikkeling van een systeem dat de analistmoet ondersteunen bij het uitvoeren van de functiepuntanalyse. Het systeem moet hetmogelijk maken dat een persoon zonder uitgebreide training in, en ervaringen metFPA een schatting van het aantal functiepunten kan maken. Als voordelen van FPAgeven zij dat FPA onafhankelijk is van de programmeertaal en dat functiepuntengeschat kunnen worden aan de hand van het functioneel ontwerp. Het systeem dat zijhebben ontwikkeld is een kennissysteem met een hybride kennisrepresentatie, datgebruik maakt van zowel regels als objecten. De kennisbank bevat regels voor (1)het invoeren van de gegevens, (2) het analyseren van de gegevens en (3) hetsamenvatten van de resultaten. Voor het verzamelen van de noodzakelijke gegevenswordt gebruikgemaakt van backward chaining. Het analyseren van de gegevens isdata-driven. Het analyseren veronderstelt dat de gegevens beschikbaar zijn. Op basisvan de beschikbare gegevens worden conclusies getrokken. In deze fase wordt danook gebruikgemaakt van forward chaining (zie Figuur 5-6).

Knowledge base

Rules to createobjects

Rules to analyze dataand summarize

results

Rules to formatresults

Inference engine

Backward chaining

strategy

Forward chainingstrategy

User interface

Input

Output

DataCollection

Analysisandsummary

Presentationof results

Figuur 5-6: FPA model schematisch diagram.

Met behulp van een backward chaining redeneermechanisme worden de functiesgedefinieerd. Voor elke functie wordt een object gegenereerd met een naam, eentype-indicatie (invoer, uitvoer etc.), en het aantal functiepunten. Het definiëren vande functies is een probleem op zich. Er is geen directe vertaling mogelijk van deeisen- en ontwerpspecificaties naar de functies. Het opsommen van de functiesvereist nog een zekere interpretatie. Deze interpretatie is moeilijk in produktieregelste modelleren. In het hypertekstsysteem is additionele informatie omtrent hetonderkennen van functies opgenomen. Het betreft hier bijvoorbeeld de informatiedat een invoerfunctie afzonderlijk vermeld moet worden als deze een afzonderlijkschermindeling vereist of een bewerking vereist die afwijkt van de andereinvoerfuncties83. Op deze manier zijn voor elk type functie richtlijnen opgenomendie aangeven wanneer een bepaalde functionaliteit als een afzonderlijke functie moet

83 De beschrijving van deze achtergrondinformatie is gebaseerd op (Heemstra en Gerlof, 1992)

Page 23: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 159

worden geteld of wanneer juist niet. Nadat een functie is gedefinieerd moet hetaantal functiepunten van deze functie worden vastgesteld. Zoals in het voorgaandehoofdstuk is beschreven, levert de kwalificatie van een functie problemen op.Hiertoe zijn vuistregels ontwikkeld die bepalen of een functie eenvoudig, gemiddeldof complex is. In Kader 5-6 is een dergelijke regel voor de classificatie van eeninvoerfunctie weergegeven. Indien het aantal velden waarop een invoerfunctiebetrekking heeft groter of gelijk is aan 5 en het aantal bestanden groter is dan 2 is deinvoerfunctie complex.

Kader 5-6: Vuistregels voor de classificatie van regels.

Voor alle type functies zijn er dergelijke vuistregels gemodelleerd. Op basis vandeze regels kan voor elke functie die wordt onderscheiden de complexiteit wordenvastgesteld. Het vaststellen van de complexiteit van een functie is echter nietvoldoende. Vervolgens moet het aantal functiepunten van een functie wordenvastgesteld. Ook voor het vaststellen van het aantal functiepunten zijn vuistregelsgemodelleerd. Per functietype is voor de diverse complexiteitscategorieënaangegeven hoeveel functiepunten een dergelijke functie representeert.

Kader 5-7: Vuistregels voor het vaststellen van het aantal functiepunten

Nadat alle functies zijn gedefinieerd en voor elke functie is vastgesteld hoeveelfunctiepunten een dergelijk functie representeert, dient een waarde voor decorrectiefactor te worden vastgesteld (de correctiefactor wordt gebruikt voor hetberekenen van het netto aantal functiepunten op basis van het bruto aantalfunctiepunten). Hiertoe worden vragen aan de gebruiker gesteld om vast te stellen inwelke mate een factor van invloed is. In een hulpfile is extra informatie beschikbaarom de classificatie van een beïnvloedingsfactor te ondersteunen. Een voorbeeld vanextra informatie voor de classificatie van een beïnvloedingsfactor is de informatiemet betrekking tot mate waarin de applicatie op verschillende plaatsen of inverschillende organisaties wordt gebruikt (Heemstra en Gerlof, 1992). Decomplexiteit is 0 indien de applicatie ten behoeve van één locatie wordt ontwikkeld,3 indien het ontwerp rekening houdt met gebruikersbehoeften op verschillende

RULE classificatie invoerIF type IS invoerAND aantal velden >= 5AND aantal bestanden > 2THEN complexiteit IS complex

RULE vaststellen functiepunten invoerIF type IS invoerAND complexiteit IS complexTHEN aantal_fp := 6

Page 24: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5160

locaties en 5 indien de applicatie gericht is op verschillende locaties waar debehoeften niet volledig identiek zijn. Met behulp van een ‘when changed’ method(een vorm van voorwaarts redeneren) wordt de redelijkheid van de gebruikersinvoergecontroleerd (zie Kader 5-8). Zo moet de waarde van een beïnvloedingsfactortussen 0 en 5 liggen. Wanneer de ingevoerde waarde buiten dit bereikt ligt, krijgt degebruiker een foutmelding en de mogelijkheid een correcte waarde in te voeren.Indien de waarde van een beïnvloedingsvariabele verandert dan wordt debijbehorende methode uitgevoerd. Binnen deze methode kan de opgegeven waardeworden vergeleken met van tevoren vastgestelde onder- en bovengrenzen.

Kader 5-8: Controle op de invoer

Wanneer het aantal bruto functiepunten en de correctiefactor zijn vastgesteld, zijnalle feiten bekend om het aantal netto functiepunten te berekenen (zie Kader 5-9:Netto functiepunten.). De eerste voorwaarde van deze produktieregel bewerkstelligtdat het inferentiemechanisme een waarde voor de beïnvloedingsfactoren zalvaststellen en de tweede voorwaarde leidt tot het vaststellen van het aantal brutofunctiepunten. Indien aan beide voorwaarden is voldaan wordt het aantal nettofunctiepunten vastgesteld aan de hand van de in het kader genoemde formule.

Kader 5-9: Netto functiepunten.

Nadat het aantal netto functiepunten is vastgesteld wordt de volgende moduleopgestart. Het kennen van het aantal functiepunten is niet voldoende. Het aantalfunctiepunten dient omgezet te worden naar het aantal uren dat nodig is voor derealisatie van deze functiepunten. Deze vertaalslag vindt plaats aan de hand van eenaantal vuistregels. Deze vuistregels en de implementatie daarvan worden in devolgende paragraaf beschreven.

ATTRIBUTE intensief gebruik systeem NUMERIC WHEN CHANGED BEGIN IF intensief gebruik systeem < 0 OR intensief gebruik systeem > 5 THEN BEGIN ASK message bereik /*foutmelding*/ ASK intensief gebruik systeem /*opnieuw vragen van een waarde*/ END END

RULE nettofunctiepuntenIF correctie >= 0AND bruto functiepunten >= 0THEN netto functiepunten := bruto functiepunten * (0.65 + correctie / 100)

Page 25: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 161

5.8 Module voor de analyse van het aantal functie-punten

De in de vorige paragraaf beschreven module functiepuntanalyse resulteert in eenschatting van het aantal netto functiepunten. Deze functiepunten moeten vervolgensworden omgerekend naar de omvang van het project. De omvang van een projectkan hierbij worden uitgedrukt in het aantal mensmaanden of in de doorlooptijd. FPAschrijft zelf geen omrekenfactoren voor. Het ontwikkelen van cijfers voor FPAbinnen de eigen organisatie is het meest wenselijk. Dit vergt echter zowel tijd om degegevens te verzamelen en vast te leggen als een inwerkperiode om de methodesuccesvol toe te passen. In de literatuur zijn regels gespecificeerd die met de nodigevoorzichtigheid kunnen worden toegepast indien de organisatie zelf geen gegevensbeschikbaar heeft (Schimmel, 1989). Met behulp van een aantal classificatieregelsworden de juiste omrekenfactoren geselecteerd en vervolgens toegepast. Deproduktiecijfers zijn gebaseerd op de programmeertaal (3-GL-procedureel, 3-GL-niet-procedureel en 4-GL), het gebruik van hulpmiddelen, de hardware (micro, mini,mainframe), de complexiteit van het systeem en de omvang van het systeemuitgedrukt in het aantal functiepunten. Deze karakteristieken resulteren in eeninterval voor de produktiviteitscijfers (zie Kader 5-10) (Schimmel,1989).

Kader 5-10: Vuistregels voor het vaststellen van de produktiviteit.

In de module functiepuntanalyse wordt aan de hand van een aantal vragen de situatiegekarakteriseerd en worden de meest geschikte omrekengetallen geselecteerd. Deomrekenfactoren zijn in een database-bestand vastgelegd. Dit bestand wordt doormiddel van een SQL- zoekopdracht geconsulteerd teneinde de te gebruikenomrekenfactor te selecteren (zie Kader 5-11). De zoekopdracht omvat het zoeken inde database naar records die voldoen aan de door het kennissysteem afgeleide feiten.

Kader 5-11: SQL-zoekopdracht.

Regel vaststellen intervalALS de programmeertaal is 4GLEN er worden ontwikkelingshulpmiddelen gebruiktEN de hardware bestaat uit microsystemenEN de complexiteit is grootEN het aantal functiepunten is kleiner dan 500DAN ligt het produktiviteitscijfer tussen 2,1 en 3,6 uur per functiepunt

SQL select prod_onder, prod_boven from fpa.dbfwhere taal :typering.taal and hulpmiddel = :typering.hulpmiddel and hardware =:typering. hardware and compl_sys = :typering.compl_sys and fp_onder <:typering.aantalfp and fp_boven > :typering.aantalfpEND SQL

Page 26: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5162

De hiervoor beschreven redenering van het inferentiemechanisme leidt tot eenuitspraak over de produktietijd. De produktietijd wordt hierbij uitgedrukt in hetaantal uren dat nodig is om de functionaliteit, die één functiepunt met zich meebrengt, te realiseren. De cijfers worden uitgedrukt in termen van een interval. Alsdeze produktiviteitscijfers bekend zijn, kan in samenhang met het in de vorigemodule vastgestelde feit met betrekking tot het aantal netto functiepunten, een adviesworden gegeven ten aanzien van het aantal uren dat nodig zal zijn voor het realiserenvan het project.

5.9 Module ter ondersteuning van de netwerk-planning

Een andere besproken methode die door het kennissysteem wordt ondersteund is denetwerkplanning. De module netwerk structureert en begeleidt het opstellen en hetanalyseren van een activiteitennetwerk (zie Figuur 5-7). Zoals in het globaal ontwerpis besproken wordt een strikte scheiding aangebracht tussen probleemcomponentendie met behulp van kennistechnologie moeten worden gemodelleerd en componentendie met een analytisch algoritme worden opgelost.

Figuur 5-7: Openingsscherm netwerkplanning

Deze scheiding vereist echter wel een interaktie tussen de kenniscomponenten en deprocedurele componenten. De procedurele componenten worden door hetkennissysteem aangeroepen en de noodzakelijke feiten c.q. parameters wordenhierbij overgedragen van het kennissysteem naar het procedurele programma.

Bij het opstarten van de kennissysteemmodule krijgt de planner de mogelijkheideen hulpsysteem te raadplegen. Dit hulpsysteem is geïmplementeerd in de vorm vaneen hypertekstsysteem.

Page 27: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 163

5.9.1 Hypertekst

Hypertekst maakt het mogelijk op een flexibele wijze door een verzameling tekstenen afbeeldingen te manoeuvreren zonder gebonden te zijn aan een vaste lineairevolgorde, zoals het geval is bij bijvoorbeeld het lezen van een boek (zie Figuur 5-884). Bogaschewsky (1992) definieert het principe van een hypertekstsysteem als:

‘Die Grundidee von Hypertext besteht darin, durch die Verknüpfung vonInformationseinheiten (Knoten) über Verweise (Links) beliebigeInformationsstrukturen, insbesondere nicht-lineare, darzustellen. DieInformationen in den Knoten können dabei prinzipiell beliebigen Typs(unformatierte Texte, Grafiken) sein.’

Figuur 5-8: Hypertekstsysteem

Bij het weergeven van informatie in een lineaire vorm gaan de associaties tussen deverschillende delen verloren. In een hypertekstsysteem daarentegen worden dezeassociaties wel vastgelegd en benut. Bij de weergave van informatie worden derelaties met andere informatiecomponenten weergegeven. Door een woord ofafbeelding aan te klikken wordt informatie getoond over het geselecteerde element.

84 Hoewel Level5 Object hypertekstfaciliteiten biedt in de vorm van ‘hyper regions’, is gebruikgemaaktvan het Windows helpsysteem omdat deze meer mogelijkheden biedt voor het integreren van teksten enafbeeldingen. Tevens biedt dit systeem faciliteiten voor het zoeken naar termen in het helpsysteem.Daarnaast biedt dit het voordeel dat zowel de kennissysteemcomponenten als de in Microsoft Contwikkelde componenten gebruik kunnen maken van dezelfde hypertekst-bestanden.

Page 28: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5164

Een hypertekstsysteem bestaat hiertoe uit ‘nodes’ en ‘links’ (Bogaschewsky, 1992).De nodes geven de informatie weer. Deze weergave kan verschillende vormenaannemen, bijvoorbeeld teksten en afbeeldingen (hypertekst) maar ookgeluidseffecten of filmpjes (hypermedia). De links tussen de nodes geven demogelijkheid van de ene informatie node naar de andere te springen. Vanuit eentekstgedeelte kan bijvoorbeeld worden gesprongen naar andere stukken tekst of naarafbeeldingen.

In Figuur 5-8 is een voorbeeld van een hypertekstscherm weergegeven zoals datin het systeem is geïmplementeerd. In de schermafdruk zijn de verschillende stappenin de constructie en analyse van het activiteitennetwerk weergegeven. De gebruikerkan meer gedetailleerde informatie over een van deze fasen verkrijgen door een vande termen te selecteren. Daarnaast bestaat de mogelijkheid met een zoekmechanismete zoeken naar bepaalde termen.

De ontwikkelingen op het gebied van hypertekstsystemen zijn het afgelopendecennium bijzonder snel gegaan. Wat enkele jaren geleden nog eenonderzoeksgebied was, wordt nu reeds op grote schaal toegepast. Hypertekst-achtigeaspecten komt men tegen in toepassingen als: multimedia encyclopedieën, dewereldomvattende informatiedienst World Wide Web (WWW) en hulpsystemen bijdiverse applicaties. Bij het gebruik van WWW bestaan de links niet alleen uitverbindingen tussen verschillende delen van een document, maar ook uitverbindingen tussen informatiebronnen op verschillend fysieke lokaties.

5.9.2 Vaststellen van kenmerken van het netwerk

In geval van de specificatie en de analyse van een activiteitennetwerk begint heteigenlijke inferentieproces met het vaststellen van kenmerken waaraan deprobleemspecificatie zal moeten voldoen. De probleemspecificatie wordt hierbij inde vorm van een netwerk weergegeven. Deze kenmerken hebben ondermeerbetrekking op de aggregatiegraad van de activiteiten, de aggregatiegraad van demiddelen en het aggregatieniveau van de tijdseenheden. De mate van aggregatie vandeze verschillende aspecten hangt onderling nauw samen. Zo hangt een hoge matevan aggregatie van de activiteiten samen met een hoog niveau van aggregatie van demiddelen. Ook de tijdspecificatie zal dan in grotere eenheden plaatsvinden. De matevan aggregatie en de samenhang worden vervolgens behandeld.

• De aggregatiegraad van de activiteitenDe aggregatiegraad van de activiteiten bepaalt op welk detailniveau het projectwordt gespecificeerd (zie Kader 5-12). Het niveau van aggregatie moet insamenhang met de probleembeschrijving worden beschouwd. Een hoger niveauvan aggregatie vergemakkelijkt de specificatie van de activiteiten. Daarentegenis het specificeren van de benodigde middelen en de schatting van de tijdsduurop een hoger niveau van aggregatie moeilijker.

Page 29: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 165

Kader 5-12: Aggregatieniveau activiteiten

• De aggregatiegraad van de tijdsduurDe aggregatie van de tijdsduur bepaalt met wat voor tijdseenheid in denetwerkspecificatie wordt gerekend. Er moet een beslissing worden genomenomtrent de exactheid van de tijdspecificatie (zie Kader 5-13). Specificatie ismogelijk op uur-, dag- of weekbasis. Een factor die bij deze keuze een rol speeltis de totale duur van het project. Indien een project een grote omvang heeft, ishet onpraktisch en weinig zinvol het gehele project op uurbasis te specificeren.Zoals reeds is aangegeven zal het aggregatieniveau van de activiteiten en demiddelen invloed hebben op de gewenste tijdseenheid. Een lager niveau vanaggregatie van activiteiten vergt een meer gedetailleerde tijdspecificatie.

Kader 5-13: Aggregatieniveau tijdseenheden

• De aggregatiegraad van de middelenDe aggregatiegraad van de middelen bepaalt hoe de middelen in hetprojectnetwerk worden gespecificeerd (zie Kader 5-14). Mogelijke specificatieszijn: specificatie per type produktiemiddel (bijvoorbeeld informatieanalisten,programmeurs etc.) of een specificatie op individueel niveau (medewerker A, Betc.). De eerste vorm wordt de categorale specificatie85 genoemd en de tweedede individuele specificatie.

Kader 5-14: Aggregatieniveau middelen

85 Dit naar anologie van de individuele en categorale modellen voor personeelsplanning van Van Nunenen Wijngaard (1983).

RULE analysefase 1AND fase IS analyseAND project duidelijkAND doel IS detailplanning en schedulingTHEN activiteitenniveau IS detail

RULE tijdaggregatie 2IF activiteitenniveau IS detailAND NOT omvang grootTHEN tijdniveau IS uur basis

RULE middelen_aggregatie2IF doel IS detailplanning en schedulingAND duidelijk wie het doetTHEN middelenniveau IS persoonsgebondenELSE middelenniveau IS categoraal

Page 30: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5166

• Een template voor een activiteitennetwerkEen activiteiten-template bevat een beschrijving van de activiteiten die in eenspecifiek type project moeten worden uitgevoerd. Het belang van een dergelijketemplate wordt aangegeven door Chandrashekar et al. (1993):

‘When managers try to plan a project without being able to reference an internalcorporate project history file, a methodology checklist, or even a book, they maysimply draw a blank and be stymied about where to start. (....) Templates bringwith them valuable information (experience and expertise) that is needed to givethe user a head start.’

Het selecteren van een template belemmert tot op zekere hoogte de creativiteit.Dit wordt verminderd door meerdere templates, waaruit een keuze kan wordengemaakt, te specificeren. Voorbeelden van alternatieve specificaties zijn eennetwerk op fase- of activiteitenniveau. Daarnaast wordt een soort van rollendeplanning aangeboden. De eerdere fasen worden hierbij gedetailleerd gepland ende latere fasen worden op een globaal niveau gespecificeerd. Gezien hetintensieve gebruik van de System Development Methodology (of een varianthiervan) is deze als eerst geïmplementeerd. Andere methoden kunnen zondernoemenswaardige aanpassingen worden ingebracht. Het activiteitennetwerk isgespecificeerd als aan twee voorwaarden is voldaan (zie Kader 5-15). De eerstevoorwaarde omvat het selecteren van een framework en de tweede omvat hetaanbrengen van veranderingen in dit framework. De eerste voorwaarde leidt tothet toepassen van regels die een template selecteren. Afhankelijk van de fase vanhet project en de doelstelling van de planning worden fasen al dan nietgedetailleerd in het projectplan opgenomen. De volgende fase die wordtuitgevoerd kan daarbij gedetailleerder worden beschouwd. Keen (1987) maakteen onderscheid naar een ‘firm’ en ‘provisional’ planning. Aan het begin van eenfase wordt deze fase gedetailleerd beschouwd, de overige fasen worden meerglobaal bekeken (zie Figuur 5-9).

Provis ional

End of projectProvis ional

Provis ional

Provis ional

F i rm

Fi rm

Fi rm

a p lanning occurence

phase

f i rm planning

provis ional p lanning

Fi rm

Figuur 5-9: Gedetailleerde en globale projectplanning.

Page 31: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 167

Kader 5-15: Selectie en verandering van het activiteitennetwerk

De tweede voorwaarde leidt tot het uitvoeren van een ‘when needed method’waarmee een extern programma wordt opgestart waarmee veranderingen in degeselecteerde template kunnen worden aangebracht.

Bij het vaststellen van de hiervoor genoemde kenmerken worden vragen aan degebruiker gesteld om feiten vast te stellen. De kenmerken c.q. feiten die in hetkennissysteem worden afgeleid zijn direct van invloed op de specificatie van hetactiviteitennetwerk. De specificatie van een activiteiten netwerk wordt traditioneel ineen aantal stappen onderverdeeld, namelijk: (1) de specificatie van de activiteiten,(2) de specificatie van de opeenvolgingsrelaties tussen de activiteiten, (3) despecificatie van de middelen en tenslotte (4) de specificatie van de tijdsduur van eenactiviteit.

TemplateAggregatiegraad

activiteitenSpecif icerenactiviteiten

Specif icerenrelatiesAggregatiegraad

middelen entijdsduren

Specif icerentijdsduren en

middelen

Template

Analyse

Controle

Analyse

Kosten

Confl ictconstatering

Confl ictanalyse Schedul ing

Planningmethoden

KBS

Gebruiker / PlannerBeantwoorden vragen ter vaststell ing van feiten.Uitwerken netwerkOpvragen helpinformatie

Figuur 5-10: Samenhang tussen gebruiker, kennissysteem en planningmethoden.

Deze specificatie van de probleemsituatie vindt plaats in een interactie tussen hetkennissysteem en een ander programma (zie Figuur 5-10, een nadere uitwerking vanFiguur 5-1). Hiertoe wordt het programma opgestart. Hierbij worden de belangrijkekenmerken overgedragen van het kennissysteem naar dit programma. Het

RULE specificatie activiteiten netwerkIF activiteiten framework geselecteerdAND aanpassingen aangebrachtTHEN activiteiten gespecificeerd

Page 32: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5168

geselecteerde standaard-framework wordt ingelezen. De gebruiker heeft vervolgensde vrijheid veranderingen in het netwerk aan te brengen. Dit heeft echter wel alsconsequentie dat verandering doordacht moeten worden aangebracht (zie debeschrijving van het programma in Paragraaf 5.9.3 voor de mogelijkheden tot hetaanbrengen van veranderingen).

De toepassing van het ‘activiteiten definitie en analyse programma’ wordt in eenaantal fasen ingedeeld, waarbij een nieuwe fase wordt gestart als er een signaal vanLevel5 Object wordt gekregen. Aan het einde van de fase moet een signaal terugworden gezonden, zodat het kennissysteem weet dat het redeneerproces moet wordenhervat. Ditzelfde gebeurt voor de overige elementen die met behulp van hetprocedurele programma worden ingevuld.

Het aanroepen van een extern programma is weergegeven in Kader 5-16. Bij eennormale inferentieprocedure met behulp van ‘backward chaining’ zal hetinferentiemechanisme regels selecteren die in de conclusie een uitspraak doen overhet kenmerk. Een andere mogelijkheid is het uitvoeren van een ‘when neededmethod’ die bij dat specifieke kenmerk hoort. Een dergelijke methode wordtuitgevoerd indien het inferentiemechanisme een waarde voor dat kenmerk probeertvast te stellen. In het voorbeeld wordt de methode uitgevoerd wanneer hetinferentiemechanisme een waarde voor het kenmerk ‘activiteiten gedefinieerd’probeert vast te stellen. Het uitvoeren van de methode omvat in dit voorbeeld hetstarten van het externe programma ‘netwerk.exe’ en het vervolgens overzenden vanenkele parameters en het terugontvangen van het resultaat. Dit resultaat geeft aan ofeen procedure al dan niet zonder fouten is afgerond.

Kader 5-16: Aanroepen van een extern programma

De specificatie van de tijdsduur kan wellicht worden verbeterd door het explicietbetrekken van de benodigde middelen in de schatting. Hiertoe moet de specificatievan de tijdsduur tegelijkertijd of na de specificatie van de middelen plaatsvinden enniet voorafgaand aan de specificatie van de benodigde middelen. Dit wordtgerealiseerd door de middelen en de tijdsduur in één dialoogvenster te specificeren,waarbij een direct verband tussen de te gebruiken middelen en de tijdsduur van eenactiviteit tot stand wordt gebracht.

Door de deze manier van werken zal elke stap in het beslissingsprocesweloverwogen plaatsvinden. De bestaande planningpakketten ondersteunen deverschillende stappen, maar zorgen niet voor een koppeling tussen deze stappen. Ineen enkel geval is er sprake van een vaste volgorde waarin de stappen worden

WHEN NEEDED activiteiten gedefinieerdBEGIN ESTABLISH “IPU,SERVER,activity.exe” SEND type activiteit SEND activiteiten framework RECEIVE resultaatEND

Page 33: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 169

doorlopen (waarbij geen keuze bestaat welke stappen worden uitgevoerd). In demeeste gevallen dient de planner de verschillende stappen te koppelen tot eengeïntegreerd proces. Het beschreven systeem geeft een intelligente ondersteuningvan de projectplanning door zowel adviezen te geven die betrekking hebben op destappen die moeten worden doorlopen, als adviezen met betrekking tot de invullingvan de afzonderlijke stappen.

5.9.3 Functionaliteit van het netwerk programma

Na het opstarten van het programma wordt er een code vanuit het kennissysteemingelezen die aangeeft welke procedure moet worden uitgevoerd. Vervolgens kunnengegevens worden overgezonden die meer specifieke informatie voor die bewerkingbevatten. Bij de eerste keer aanroepen van het programma heeft dit betrekking op hetstandaard-raamwerk van het netwerk dat moet worden ingelezen. Aan het eind vande bewerking, wanneer de controle weer aan het inferentiemechanisme wordtteruggegeven, wordt een signaal teruggezonden dat aangeeft of de procedure metsucces is voltooid.

Op deze manier zijn drie procedures voor het definiëren van het netwerk in hetprocedurele programma opgenomen:

• Het definiëren van activiteiten (zie Figuur 5-12).• Het definiëren van opeenvolgingsrelaties. In Figuur 5-11 zijn de

opeenvolgingsrelaties grafisch weergegeven. Het betreft hier eenactiviteitenprecedentieschema, waarin alle voorgangers en opvolgers van éénactiviteit (de activiteit in het midden) zijn weergegeven.

• Het definiëren van de benodigde middelen en de tijdsduur van een activiteit.

Figuur 5-11: Activiteitenprecedentieschema

Page 34: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5170

Tevens zijn vijf procedures in het programma opgenomen die van belang zijn bij deanalyse van het activiteitennetwerk. Deze procedures worden opgestart door hetinferentiemechanisme86. De geïmplementeerde procedures zijn:• Project In de procedure ‘project’ kunnen gegevens worden ingevoerd die voor het

gehele project gelden, zoals: de naam van het project, de naam van deprojectleider, de begin- en einddatum van het project, en eventueel het voorafgedefinieerde budget van een project. Tevens worden de totale kosten van hetproject afgebeeld voor zoverre deze reeds zijn vastgesteld.

• PERT De procedure ‘PERT’ voert de procedure ter realisatie van de Program

Evaluation and Review Technique uit. Voor het uitvoeren van deze proceduregeldt wel als eis dat het kennissysteem heeft geconcludeerd dat er sprake is vaneen situatie met grote onzekerheden omtrent de tijdsduur van activiteiten,waardoor PERT goed toepasbaar is.

• Analyse De procedure ‘analyse’ berekent de speling van de activiteiten in een tweetal

stappen. In de eerste stap worden de vroegst mogelijke begin en eindmomentenberekend en in de tweede stap worden de laatst mogelijke begin eneindmomenten berekend. Op basis van deze berekeningen wordt de vrije- entotale speling van elke activiteit vastgesteld (zie ook paragraaf 4.6).Voorafgaand aan het uitvoeren van deze procedure wordt de specificatie van hetnetwerk gecontroleerd (zie het eind van deze paragraaf voor een beschrijvingvan enkele van deze controles).

• Kosten De procedure ‘kosten’ stelt de totale kosten van het project vast. Voor een groot

deel kunnen de kosten worden berekend aan de hand van het netwerk. In hetnetwerk zijn de activiteiten, de tijdsduur en de benodigde middelengespecificeerd. De kosten van deze middelen zijn te bepalen door de tijd dat eenmiddel nodig is te vermenigvuldigen met het tarief per tijdseenheid van ditmiddel, opgeteld over alle middelen. Op deze manier worden echter niet allekosten meegenomen. Naast de kosten voor de binnen de activiteiten ingezettemiddelen (personeel) zijn er diverse indirecte en overhead-kosten. Voorbeeldenvan kosten die binnen deze procedure kunnen worden ingevoerd, zijn (Keen,1987):

1. Salarissen: systeemanalisten, programmeurs, technische specialisten,informatie-analisten, secretariaat, projectmanagers en externemedewerkers.

2. Bijkomende kosten voor personeel: wervingskosten, training, reis- enverblijfkosten, bonussen etc.

3. Apparatuur: aanschaf of huur van apparatuur, communicatie faciliteiten,uren machine gebruik voor projectmanagement en ontwikkeling.

86 Daarnaast kunnen de procedures ook handmatig worden opgestart door de procedure te selecteren inhet menu.

Page 35: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 171

4. Software: aanschaf of huur van systeemsoftware, applicatiesoftware ofontwikkelgereedschappen.

5. Bijkomende kosten: uitbestedingskosten, installatie en pilot test of paralleldraaien (gebruikers), kosten voor PR en marketing.

Om met deze kosten rekening te houden, wordt bij de berekening van de totale

kosten een dialoogvenster getoond, waarin bovenstaande kosten kunnen wordengespecificeerd.

• Scheduling Per produktiemiddel wordt voor alle tijdvakken gekeken of de gevraagde

hoeveelheid de aangeboden hoeveelheid overschrijdt. Hiertoe wordt gekekennaar de vraag naar dat middel en het aanbod van dat middel voor alle middelenen voor alle tijdvakken. De vraag naar een middel is opgebouwd uit alleactiviteiten die dat middel gebruiken in dat specifieke tijdvak.

Indien de capaciteitsrestricties een gelijktijdige uitvoering van meerdereactiviteiten onmogelijk maken, dient een beslissing omtrent de allocatie vanmiddelen te worden genomen. Hierbij wordt stap voor stap gekeken welkeactiviteiten er kunnen worden verplaatst. Als meerdere activiteiten kunnenworden verplaatst (gegeven de logische en technische opeenvolgingsrelaties),wordt gekeken welke activiteit de hoogste prioriteit heeft. Bij deze prioriteringkunnen verschillende beslissingsregels c.q. prioriteitsregels een rol spelen.Vervolgens worden de benodigde middelen toegewezen aan de activiteit met dedaaropvolgende hoogste prioriteit. Vervolgens wordt het proces herhaald, doorde activiteit met de dan hoogste prioriteit te schedulen, totdat alle activiteitenzijn geplaatst. De aard van de gehanteerde prioriteitsregels bepaalt aan welkefactoren al dan niet aandacht wordt besteed. Eenvoudige voorbeelden vanfactoren waaraan aandacht kan worden besteed, zijn de totale en vrije spelingvan de activiteiten. Door factoren zoals de totale werklast van activiteitenvolgend op een activiteit te betrekken, kan een prioriteitsregel wordengehanteerd die toekomstige factoren erbij betrekt.

In Figuur 5-12 is een schermafdruk weergegeven van een mogelijke uitvoer van hetprogramma. De activiteiten worden hier in een spreadsheet-achtig formaatweergegeven. Door een activiteit met de muis aan te klikken krijgt de gebruiker extrainformatie over die activiteit en hij kan dan eventueel veranderingen aanbrengen.Met de menu-optie L5 wordt de controle teruggegeven aan hetinferentiemechanisme. Onder de menu-optie ‘definitie’ zijn de hierboven genoemdeprocedures voor de definitie van het activiteitennetwerk opgenomen.

Page 36: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5172

Figuur 5-12: Programma voor de definitie en analyse van het projectnetwerk

In Figuur 5-12 is het dialoogvenster voor het definiëren van een activiteit te zien.Daarbovenop is het dialoogvenster te zien waarbinnen de benodigde middelenkunnen worden geselecteerd. Welke middelen hier worden afgebeeld is afhankelijkvan de conclusies die in het kennissysteem zijn bereikt. Als van categorieën vanmiddelen wordt uitgegaan, worden dergelijke categorieën weergegeven. Uitgaandevan individuele middelen worden afzonderlijke medewerkers weergegeven. Naasthet selecteren van vooraf gedefinieerde middelen is het eveneens mogelijk nieuwemiddelen toe te voegen aan de lijst van beschikbare middelen.

De analyse van het activiteitennetwerk (Analyse-Analyse of Analyse-PERT) wordtvoorafgegaan door een controle van het gespecificeerde netwerk. De Wit enHerroelen (1990) wijzen op het belang van een goede controle van de door degebruiker ingevoerde activiteiten en opeenvolgingsrelaties:

‘It is almost inevitable that errors are made during the data entry phase. Thecreation of activity loops and dangles (activities without ingoing or outgoingrelationships, also referred to as open ends) are typical examples. It is mandatorythat the package gives diagnostic messages about the type of error that occurredas well as its location in the network and the activity involved in it.’

De controle van de activiteitenspecificatie heeft ondermeer betrekking op devolgende delen van het activiteitennetwerk:

Page 37: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 173

• Controle opeenvolgingsrelatiesDe controle of alle opeenvolgingsrelaties zijn gespecificeerd kan wordenuitgevoerd door gebruik te maken van een artificieel begin- en eindpunt envervolgens de eis te stellen dat elke activiteit minstens één voorganger enéén opvolger heeft. Losstaande activiteiten worden op deze manier ondekt.Het blijft echter nog steeds mogelijk dat niet alle opeenvolgingsrelatiesvoor een activiteit zijn gespecificeerd. Tevens wordt binnen deze controlegewaarschuwd voor cyclische verwijzingen.

• Controle tijdsduurVoor het controleren van de juistheid van de specificatie van de tijdsduurwordt in eerste instantie nagegaan of voor elke activiteit een tijdsduur isgespecificeerd. Deze controle kan nog worden uitgebreid met eenredelijkheidscontrole ten aanzien van de tijdsduur van de diverse fasen tenopzichte van beschikbare verhoudingscijfers.

• Controle middelen:In de template kunnen voor bepaalde fasen standaard-middelen wordengespecificeerd. Voor de realisatiefase zijn bijvoorbeeld systeem-programmeurs nodig en in de eerste fasen van een project zal de nadrukliggen op informatieanalisten. De middelen en de daarmee samenhangendekosten die niet specifiek aan een activiteit zijn gerelateerd, maar die welvoor het gehele project gelden, behoeven niet in het netwerk te wordengespecificeerd. Bij de berekening van de totale kosten bestaat demogelijkheid dergelijke categorieën van kosten te definiëren.

Ten behoeve van de module ‘analyse van conflicten’ (zie paragraaf 5.11) wordt eenvergelijking gemaakt van de beschikbare en benodigde middelen. Voor elkproduktiemiddel wordt voor alle tijdvakken gekeken of de gevraagde hoeveelheid deaangeboden hoeveelheid overtreft. De vraag naar een produktiemiddel is opgebouwduit alle activiteiten die dat middel gebruiken. Hiertoe worden alle toewijzingsrecordsbekeken om vast te stellen of dat specifieke middel een rol speelt en of de toewijzingbetrekking heeft op het juiste tijdvak. Als aan deze voorwaarden is voldaan, wordthet verbruik in die periode verhoogd met het verbruik door die activiteit. Bij hetvaststellen van de beschikbaarheid van een produktiemiddel kan rekening wordengehouden met vakanties van medewerkers. In principe is er geen verschil in hetuitsluitend rekenen met werkdagen of het direct meenemen van weekeinden, mitsalle middelen gebaseerd zijn op dezelfde kalender. Het rekenen met werkdagen isechter een stuk eenvoudiger. In een later stadium wordt dan een omrekening gemaaktvan werkdagen naar kalenderdagen. Een datum wordt uitgedrukt in een getal (hetaantal verstreken dagen sinds een referentiedatum). Dit maakt het rekenen met dataeen stuk eenvoudiger omdat er dan een aantal dagen bij een datum kan wordenopgeteld. Dit totaal kan weer worden omgezet naar een datum in het bekendeformaat. In het uitdrukken van de duur van een activiteit wordt met weekeindenrekening gehouden door te kijken hoeveel weken een activiteit duurt en hetdaarbijbehorende aantal weekeinden er bij op te tellen.

Page 38: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5174

5.10 Module PERT analyse

De module PERT analyse is gericht op het toepassen van PERT. Gezien het feit datuit de interviews blijkt dat bij een deel van de planners enige terughoudendheidbestaat ten aanzien van het gebruik van PERT, wordt bij het vaststellen van detoepasbaarheid van deze methode uitdrukkelijk gevraagd of de planner akkoord gaatmet toepassen van deze methode. Dit sluit ook aan bij de door planners geuite wensinvloed te behouden op het verloop van het beslissingsproces. Deze module vertoonteen grote overeenkomst met de netwerkmodule, omdat beide uitgaan van eenspecificatie van een activiteitennetwerk. Bij het gebruik van PERT moet voor elkeactiviteit echter een drietal schattingen worden gemaakt. In dit systeem is PERTgeoperationaliseerd door de consequenties van de schattingen door te laten rekenenmet behulp van een simulatiemodel. Het gebruik van een simulatiemodel houdtverband met het feit dat op deze wijze rekening wordt gehouden met sub-kritiekepaden (zie paragraaf 4.6.2). Dit model is ontwikkeld in DESIMP. Het gebruik vanDESIMP is met name gebaseerd op de faciliteiten voor het genereren van random-waarden en het bijhouden van de statistieken (Stokking, 1991). De uitvoer heeftbetrekking op de tijdsduur van het gehele project en de mate van kritiek zijn van deactiviteiten.

Het simulatiemodel bestaat uit een aantal processen. Een proces bestaat uitactiviteiten die door dat object moeten worden uitgevoerd of doorlopen. HetMainproces genereert de eerste activiteit en vervolgens een monitor voor iedereactiviteit. Deze monitor houdt bij wanneer zijn bijbehorende activiteit uitgevoerdkan worden. Een activiteit wordt uitgevoerd indien alle voorgangers zijngerealiseerd. Een voorganger geeft hiertoe een signaal (een token) aan al zijnopvolgers. De monitor wacht totdat het aantal ontvangen tokens van voorgangersgelijk is aan het aantal voorgangers van de bijbehorende activiteit. Indien het aantalontvangen tokens gelijk is aan het aantal voorgangers betekent dit dat allevoorgaande activiteiten zijn afgerond en dat er een nieuw object van het process‘Activiteit’ kan worden gegenereerd. De monitor kan dan worden beëindigd.

Figuur 5-13: Opeenvolgingsrelaties

Het proces Activiteit beschrijft de acties die door een bijbehorend object moetenworden uitgevoerd. De activiteit trekt een tijdsduur uit een kansverdeling en wachtgedurende deze periode. Deze tijdsperiode weerspiegelt de tijd die nodig is voor hetuitvoeren van de activiteit. Vervolgens geeft het een signaal aan de monitoren van devolgende activiteiten, dit zijn de opvolgers van de uitgevoerde activiteit. Daarna kanhet proces van de uitgevoerde activiteit worden beëindigd.

Page 39: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 175

Na afloop van een replicatie moet de projectduur en de kritieke activiteiten wordenvastgesteld. Het kritieke pad van een netwerk kan worden bepaald door vast teleggen welke activiteit een bepaalde activiteit initieert. Door vanaf de eindactiviteitterug te redeneren kunnen de activiteiten op het kritieke pad worden bepaald.Pritsker en Sigal (1990) stellen :

‘The procedure for tracing back through the network requires the storing ofinformation as to which activity caused each node to be released’.

De laatste voorganger is kritisch in de realisatie van het project en ligt dus op hetlangste pad. Een langere tijdsduur van de activiteit, die de laatste voorganger is,heeft directe gevolgen voor de projectduur.

Door na elke replicatie vast te leggen welke activiteiten op het kritieke pad liggenkan aan het eind van het experiment worden berekend in welk percentage van dereplicaties een activiteit op het kritieke pad ligt. Dit percentage geeft een indicatievan de waarschijnlijkheid van het kritiek zijn van een activiteit. Door Pritsker enSigal (1990) wordt dit percentage de ‘criticality index’ genoemd. In Tabel 5-1 is eenvoorbeeld van deze criticality index opgenomen.

Tabel 5-1: Mate van kritiek zijn van de activiteiten.

Activiteitnummer Aantal kritieke replicaties Percentage1 100 100%2 51 51%3 49 49%4 100 100%5 100 100%6 100 100%7 0 0%8 100 100%

Uit de gegevens uit Tabel 5-1 blijkt dat de activiteiten 1, 4, 5, 6 en 8 op 100 van de100 replicaties op het kritieke pad liggen. Activiteit 7 ligt nooit op het kritieke paden de activiteiten 2 en 3 liggen op ongeveer 50 % van de replicaties op het kritiekepad. Activiteiten die vaker kritisch zijn, verdienen meer aandacht van hetprojectmanagement. Immers, het uitlopen van een kritieke activiteit heeft directgevolgen voor de doorlooptijd van het gehele project.

5.11 Module ter analyse van mogelijke conflicten

De derde fase van de projectplanning bestaat uit de interpretatie van de resultatenvan het toepassen van de planningmethoden. De module voor de opbouw en analysevan het netwerk wordt gevolgd door de module voor de analyse van mogelijkeconflicten. Deze module stelt vast of het gespecificeerde activiteitennetwerk zonderproblemen kan worden uitgevoerd of dat conflicten zullen optreden. Op basis van

Page 40: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5176

informatie omtrent deze conflicten komt het systeem in samenspraak met degebruiker tot bepaalde adviezen omtrent de oplossing van deze conflicten. Dezemodule maakt een onderscheid naar een aantal categorieën van mogelijke conflictenen combinaties van deze conflicten. De typen conflicten die worden onderscheidenzijn:

1. budgetconflicten,2. tijdconflicten,3. capaciteitsconflicten,4. combinatie van twee of drie van de voorgaande conflicten.

Tijdconflicten hebben betrekking op een situatie waarin de opleverdatum volgens denetwerkanalyse later valt dan de contractueel overeengekomen opleverdatum.Budgetconflicten treden op indien de totale kosten van het project (inclusief dehiervoor beschreven indirecte en overhead-kosten) groter zijn dat het beschikbaretoegestane budget. Capaciteitsconflicten treden op indien in één of meerdereperioden de vraag naar een produktiemiddel groter is dan de beschikbaarheid van datmiddel. Budgetrestricties worden vaak veroorzaakt door een fors gebruik vanmiddelen. Deze budgetrestricties zijn van invloed op het project als geheel87. Detotale kosten van een project kunnen het budget overschrijden. Decapaciteitsrestricties kunnen zowel op een globaal als een detailniveau wordentoegepast. Detail betekent dat op elk moment in de tijd de beschikbare middelen degevraagde middelen moeten overtreffen. Op globaal niveau wordt gekeken of degevraagde middelen de beschikbare middelen niet overtreffen in een bepaalde fase ofvoor het project als geheel.

Teneinde deze derde fase op een juiste manier in te vullen moeten de benodigdefeiten worden vastgesteld. In de volgende kaders worden regels gegeven voor deconstatering van een conflict.

Kader 5-17: Budgetconflicten

Kader 5-18: Tijdconflicten

87 Bij zeer omvangrijke projecten kan de besteding van de financiële middelen in de loop van de tijd eenrol spelen. Indien per periode (bijvoorbeeld per jaar) een budget is gespecificeerd kan dit aanleiding zijntot het uitstellen van bepaalde uitgaven tot de volgende periode. In het huidige ontwerp wordt metdergelijke additionele restricties geen rekening gehouden.

RULE budgetconflictenIF beschikbare geld gelimiteerdAND beschikbaar geld < benodigd geldTHEN budgetconflict

RULE datumconflictIF opleverdatum <> NOWAND contractdatum < opleverdatumTHEN tijdconflict := TRUE

Page 41: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 177

Kader 5-19: Capaciteitsconflicten

Een deel van de feiten die nodig zijn voor het vaststellen van de drie hiervoorgenoemde categorieën van conflicten wordt aangeleverd vanuit het procedureleprogramma. De samenhang tussen de verschillende componenten is in Figuur 5-14weergegeven.

Knowledge base

Rules todetermineconflicts

Rules to evaluatesolutions

Inference engine

Backwardchaining

Methods

Networkspecification and

analysisprogram

User interfaceInput

Output

Facts

Data

Analysis

Figuur 5-14: Constateren en evalueren van conflicten

Voor bijvoorbeeld het opsporen van een eventueel budgetconflict wordt de gebruikereerst gevraagd of er reeds een budget voor het project is gedefinieerd. Indien er geenbudget is, kan uiteraard niet worden gesproken van een overschrijding. Vervolgenswordt de voorwaarde ‘beschikbaar geld < benodigd geld’ geëvalueerd. Hetinferentiemechanisme heeft de mogelijkheid regels te evalueren, ‘when neededmethods’ uit te voeren of de gebruiker een vraag te stellen. Voor de analyse van debudgetconflicten worden de totale kosten van het project berekend (zie procedureAnalyse-Kosten). Hiertoe wordt een ‘when needed method’ aangeroepen. Voor hetvaststellen van de momenten in de tijd geldt iets soortgelijks. De vroegst mogelijkopleverdatum volgt uit een analyse van het activiteitennetwerk. De contractueelovereengekomen opleverdatum is reeds in het activiteitenprogramma ingevoerd ofwordt aan de gebruiker gevraagd. Op deze manier wordt vastgesteld welke van demogelijke conflicten zich zullen voordoen.

Op basis van de hiervoor genoemde regels wordt vastgesteld of er sprake is vaneen conflict. Het optreden van één of meerdere conflicten betekent dat het netwerk,zoals gespecificeerd, niet kan worden uitgevoerd. Er zullen maatregelen moetenworden genomen om te bewerkstelligen dat het activiteitennetwerk of de

RULE capaciteitsconflictenIF beschikbare middelen < benodigde middelenTHEN capaciteitsconflict

Page 42: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5178

randvoorwaarden zodanig worden aangepast dat het wel realiseerbaar is(randvoorwaarden kunnen bijvoorbeeld betrekking hebben op het beschikbarebudget of de contractueel vastgelegde opleverdatum). Het kennissysteem doorlooptde mogelijke oplossingen en geeft in samenspraak met de gebruiker adviezen tenaanzien van mogelijke oplossingen, die ondermeer afhankelijk zijn van het typeconflict dat is geconstateerd. Een oplossing is bijvoorbeeld de herspecificatie van hetnetwerk. Deze herspecificatie kan bijvoorbeeld gericht zijn op het opsplitsen van eentaak in deeltaken of het weglaten van taken die bij nader inzien toch niet zoonmisbaar zijn. Een andere oplossing is het anders specificeren van deopeenvolgingsrelaties tussen de activiteiten. Een systeem kan bijvoorbeeld nietworden getest voordat het is gerealiseerd. Het is echter wel mogelijk afzonderlijkmodulen van het systeem te testen voordat het hele systeem is gerealiseerd.Daarnaast is het mogelijk bepaalde activiteiten met minder menskracht uit te voeren,zodat nog een andere activiteit parallel kan worden uitgevoerd. Een anderemogelijkheid is het verminderen van de functionaliteit van het systeem. ‘Goldplating’-achtige aspecten van het systeem kunnen dan achterwege worden gelaten.Natuurlijk is het ook mogelijk de onderhandelingen te openen om een latereopleverdatum te bewerkstelligen of extra middelen voor het project aan te wenden.Onderhandelingen over de opleverdatum moeten met de opdrachtgever wordengevoerd, terwijl onderhandelingen over de middelen binnen de eigen organisatiezullen worden gevoerd.

Het kennissysteem adviseert bij de vraag welke strategie in welke situatie moetworden toegepast. Onderhandelingen met de opdrachtgever hebben niet de hoogsteprioriteit. Problemen zullen eerst binnenshuis worden opgelost. De beste oplossing isafhankelijk van de vraag of de functionaliteit zonder nadelige consequenties kanworden beperkt, of dat middelen van andere projecten kunnen worden ingezet, etc.Door het evalueren van de alternatieve mogelijkheden om het conflict op te lossenwordt de planner geadviseerd welke oplossingswijze moet worden gevolgd. Dekeuze voor een oplossing moet weloverwogen gebeuren.

Afhankelijk van de conclusie die wordt getrokken, wordt de projectplanningafgerond of wordt een volgende planningstap uitgevoerd. In geval van de keuze vooreen capaciteitsaanpassing kan het programma weer worden geactiveerd. Hierinkunnen veranderingen worden aangebracht ten aanzien van de middelentoewijzing,de opeenvolgingsrelaties tussen activiteiten, de tijdsduur van activiteiten etc. Tevenskunnen bepaalde schedulingsregels worden toegepast.

5.12 Twee voorbeelden van het gebruik van hetsysteem

In deze paragraaf zal aan de hand van een tweetal voorbeelden worden uiteengezethoe het prototype van het in de vorige paragrafen beschreven systeem wordttoegepast. Het eerste voorbeeld heeft betrekking op de toepassing vanfunctiepuntanalyse. Het tweede voorbeeld behandelt de constructie en analyse vaneen activiteitennetwerk. Na het opstarten van het systeem wordt het in Figuur 5-15

Page 43: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 179

getoonde openingsscherm weergegeven. Het aanklikken van de OK-knop resulteertin het starten van de sessie.

Figuur 5-15: Openingsscherm beslissingsondersteunend kennissysteem.

Voorbeeld 1Het eerste voorbeeld heeft betrekking op een project waarin een bibliotheeksysteemwordt ontwikkeld88. Hierbij veronderstellen wij dat er reeds een functioneel ontwerpbeschikbaar is. Dit voorbeeld89 betreft de ontwikkeling van een informatiesysteemwaarmee de administratie van een bibliotheek kan worden bijgehouden. Deadministratie is gericht op het beheren van de gegevens over de boeken, de leden ende uitleningen. Het beheer van gegevens valt uiteen in het invoeren van gegevens,het bijwerken van gegevens en het verwijderen van gegevens. De gegevens over deboeken kunnen worden ingevoerd, verwijderd en gewijzigd. De bewerkingen op hetboekenbestand worden met behulp van één scherm uitgevoerd. Naast het beheer vande gegevens omtrent de boeken, moeten de gegevens met betrekking tot de ledenworden bijgehouden. De gebruiker kan nieuwe leden invoeren en gegevens vanbestaande leden wijzigen. Voor het beheer van de leden is eveneens één schermgedefinieerd. Ten behoeve van het beheer van de uitleningen zijn meerdere schermengedefinieerd. Het programma dient afzonderlijke schermen te bevatten voor hetlenen van het boek, het verlengen van de uitleenperiode, het terugbezorgen van eenboek en het reserveren van een boek.

De projectplanning start met het vaststellen van de noodzaak van het doorlopenvan een geformaliseerd beslissingsproces en het gebruik van planningmethoden. Bijkleine projecten wordt er op een informele manier gepland. Er wordt daartoe eenvraag gesteld naar de omvang van het project (Figuur 5-16). Dit lijkt wellicht eenwat vreemde vraag omdat een van de doelstellingen van het systeem is te komen tot 88 Dit voorbeeld is gebaseerd op een case beschrijving van Schimmel (1989).89 Ter verduidelijking is hier uitgegaan van een eenvoudig voorbeeld. Het betreft hier een systeem meteen zeer beperkte functionaliteit.

Page 44: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5180

een betrouwbare schatting van deze grootheid. Het gebruik van het systeem vereistechter wel dat de gebruiker inzicht heeft in het project. Omdat de omvang vaninvloed is op het al dan niet opstellen van een plan en op de keuze van deplanningmethoden is deze vraagstelling toch gerechtvaardigd.

Figuur 5-16: Vraag naar een ruwe inschatting van de omvang van het project.

Vervolgens wordt in enkele vragen de status van het project geïnventariseerd: is hetproject reeds gestart of niet? En zo ja, in welke projectfase bevindt het project zich(Figuur 5-17)? Voorafgaand aan de vraag in welke fase het project zich bevindt,toont het systeem de vraag of de organisatie gebruikmaakt van eensysteemontwikkelingsmethodologie. Deze vraag houdt verband met de te hanterenomschrijvingen van de projectfasen. In dit voorbeeld gaan we ervan uit dat degebruiker aangeeft dat het project reeds is gestart en dat het project zich in de fasevan het detailontwerp bevindt.

Figuur 5-17: Vraag naar de fase waarin het project zich bevindt.

Page 45: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 181

Vervolgens moet de gebruiker antwoord geven op de vraag of de doelstelling van deplanningsessie is te komen tot globale uitspraken omtrent de kosten en doorlooptijdof tot een gedetailleerde scheduling. In dit voorbeeld veronderstellen wij dat degebruiker tevreden is met een globale schatting van de kosten en doorlooptijd.

Vervolgens worden enkele vragen gesteld omtrent de onzekerheid. Devraagstelling naar de onzekerheid bestaat uit deelvragen die betrekking hebben opde onzekerheid omtrent de middelen, het proces en het produkt (zie paragraaf 5.6).Veronderstel dat de gebruiker aangeeft dat de onzekerheid ten aanzien van dehiervoor genoemde factoren niet bijzonder groot is. Het inferentiemechanismeconcludeert dan vervolgens dat op basis van de ingevoerde feiten functiepuntanalysekan worden uitgevoerd. In paragraaf 5.3 is de eis beschreven dat de gebruikerinvloed wil hebben op het beslissingsproces. Daarom wordt expliciet gevraagd of degebruiker het advies van het systeem wil opvolgen. Indien de gebruiker deze vraagbevestigend beantwoordt, wordt de volgende module opgestart. Die module geeftadviezen bij het toepassen van de geselecteerde methode, in dit voorbeeld dusfunctiepuntanalyse.

Vervolgens wordt de module functiepuntanalyse opgestart (zie Figuur 5.5 vooreen weergave van het openingsscherm). In dit scherm kan de gebruiker extrainformatie omtrent de toepasbaarheid en de manier van toepassen vanfunctiepuntanalyse opvragen. Indien de gebruiker geen additionele informatie wenst,wordt de daadwerkelijke analyse gestart. Met behulp van een backward chainingredenering90 worden de afzonderlijke functies gedefinieerd. Hiertoe definieert degebruiker de namen van de afzonderlijke onderkende functies van het systeem (zieFiguur 5-18).

Figuur 5-18: Definiëren functies.

90 Het definieren van de functies vereist het bekend zijn (of bekend worden) van feiten over eendergelijke functie. Een naam, type-aanduiding en complexiteitsmaatstaf zijn voorbeelden van deze feiten.Het inferentiemechanisme probeert deze feiten af te leiden. Naam en type worden vastgesteld door dezete vragen aan de gebruiker. De complexiteit wordt vastgesteld door enkele vuistregels toe te passen (zieparagraaf 5.7).

Page 46: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5182

Op basis van de gegeven (bondige) beschrijving van de functionaliteit van het teontwikkelen systeem, dienen de afzonderlijke functies te worden gedefinieerd. Menbegint bijvoorbeeld bij de acties die nodig zijn voor het onderhoud van hetledenbestand (6 velden: bijvoorbeeld lidmaatschapsnummer, begindatumlidmaatschap, naam, adres, postcode, plaats) (zie Figuur 5-19: Schermontwerponderhoud ledenbestand.).

Figuur 5-19: Schermontwerp onderhoud ledenbestand.

Dit onderhoud valt uiteen in twee activiteiten: het invoeren en het wijzigen van degegevens van een lid. Zoals in paragraaf 5.7 is gesteld is het moeilijk de kennis metbetrekking tot het onderkennen van de functies op basis van het functionele ontwerpin een kennisbank vast te leggen. Dit wil niet zeggen dat er absoluut geen kennisbeschikbaar is met betrekking tot deze onderkenning. Beschikbare richtlijnen (zieparagraaf 4.6.6) zijn daarom in een andere vorm in het kennissysteem terbeschikking gesteld, en wel in de vorm van een hypertekstsysteem. Als het nietduidelijk is wat voor functie het betreft kan de gebruiker het hypertekstsysteemraadplegen om een definitie van een specifieke functie en richtlijnen voor hetonderkennen van deze functie te bekijken. Bij het onderkennen van een functie isaangegeven wanneer iets als een afzonderlijke functie moet worden gedefinieerd(zie Figuur 5-20).

Bij het raadplegen van dit systeem zal blijken dat het een invoerfunctie is, omdathet in beide gevallen een functie betreft waarbij wijzigingen worden aangebracht in deinterne gegevensverzamelingen van de applicatie. Ondanks dat beide bewerkingenbinnen hetzelfde scherm worden ingevoerd, moeten ‘invoeren’ en ‘wijzigen’ alsafzonderlijke functies worden geteld, omdat de verwerking van de ingevoerde gegevensverschillend is. De gebruiker voert (al dan niet na raadpleging van het systeem) hetinvoeren en wijzigen van de lidmaatschapsgegevens in als invoerfuncties.

Page 47: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 183

Figuur 5-20: Hypertekst informatie voor het definiëren van invoerfuncties.

Vervolgens moet het aantal functiepunten van een dergelijke functie wordenvastgesteld. Zoals in paragraaf 4.6 is beschreven liggen aan deze beslissing regelsmet betrekking tot de complexiteit van de functie en regels met betrekking tot hetvaststellen van het aantal functiepunten gegeven de complexiteit ten grondslag. Hetinferentiemechanisme stelt daarom de complexiteit van de ingevoerde functies vast. Hetinferentiemechanisme vraagt aan de gebruiker op hoeveel bestanden de invoerfunctiebetrekking heeft en uit hoeveel velden het scherm bestaat. De invoerfunctie ‘invoeren’heeft betrekking op 1 bestand (het ledenbestand) en bevat 6 schermvelden (1schermveld voor elk veld in het ledenbestand). Op basis van deze feiten wordtgeconcludeerd dat de complexiteit van deze functie gering is. Het feit dat decomplexiteit gering is en het feit dat de functie behoort tot de klasse van deinvoerfuncties leidt tot de conclusie dat het aantal functiepunten van het invoeren vannieuwe leden 3 is. Een soortgelijke redenering gaat op voor de invoerfunctie ‘wijzigen’.Deze functie heeft betrekking op 1 bestand (het ledenbestand) en bevat dezelfde 6schermvelden (1 schermveld voor elk veld in het ledenbestand). Op basis van dezefeiten wordt wederom geconcludeerd dat de complexiteit van deze functie gering is.Het feit dat de complexiteit gering is in combinatie met het feit dat de functie behoorttot de klasse van de invoerfuncties leidt tot de conclusie dat het wijzigen van ledenwederom 3 functiepunten met zich meebrengt.

Als laatste voorbeeld zullen we de opvragingsfunctie behandelen. Het tonen vangegevens voorafgaand aan het wijzigen van en het verwijderen van gegevens, moetniet als een afzonderlijke opvragingsfunctie worden beschreven. Eenopvragingsfunctie bestaat uit het zoeken en presenteren van gegevens op basis vaneen bepaalde zoekopdracht naar een ingevoerde term. Zo kan in dit voorbeeldgezocht worden naar de specifieke gegevens van een boek op basis van het ISBNnummer en de persoon die dit boek in zijn bezit heeft. Ondanks het feit dat hierbijdus gegevens worden ingevoerd in het computersysteem, wordt dit niet alsinvoerfunctie aangemerkt omdat de ingevoerde gegevens niet in het systeem wordenopgeslagen, maar uitsluitend zijn bedoeld om de zoekopdracht aan te sturen. Deopvraging heeft betrekking op twee gegevensverzamelingen (leden en boeken) envijf velden. Op basis van deze feiten concludeert het inferentiemechanisme dat de

Page 48: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5184

complexiteit van deze functie eenvoudig is. Vervolgens concludeert hetinferentiemechanisme, op basis van de feiten dat het een opvragingsfunctie betreft endat de complexiteit eenvoudig is, dat de functie 3 functiepunten representeert.

Nadat op deze manier de functies ten aanzien van het onderhoud van hetledenbestand zijn gespecificeerd wordt overgegaan naar een volgende groepfuncties. Op een soortgelijke wijze kunnen alle functies worden onderkend. Ditproces resulteert in het onderkennen van de in Tabel 5-2 genoemde functies.

Tabel 5-2: Functies van het bibliotheeksysteem.

Type91 Functie

Gegevensverzamelingen Boek, Lening, Lid, Reservering.Uitvoer Tape t.b.v. ponsplaatjes, Boetebrief, Menustructuur,

Geleende en gereserveerde boeken, NAW gegevens,Aanmaken etiket.

Invoer Invoeren leningen, Onderhoud boek, Verwijderen boek,Wijzigen boek, Invoeren lid, Wijzigen lid, OpschonenLening, Invoeren Reservering, Invoeren terugbezorging,Verlenging Reservering.

Opvragingen Boekgegevens

Stel dat na het onderkennen en waarderen van alle functies blijkt dat het totale aantalbruto functiepunten 80 bedraagt.Vervolgens wordt bepaald in hoeverre de cost-drivers van toepassing zijn in de specifieke situatie. Van alle factoren moet wordenaangegeven of ze van toepassing zijn (Figuur 5-21). Het inferentiemechanismeprobeert een waarde voor de totale invloed vast te stellen door de factoren één vooréén te evalueren. De gebruiker wordt hierbij gevraagd aan te geven in hoeverre eenfactor van invloed is op het project. Een van de factoren die moet wordenbeoordeeld is de vraag of de applicatie voor één plaats, of voor meerdere plaatsenwordt ontwikkeld. Stel dat het te ontwikkelen systeem voor slechts één locatie wordtontwikkeld. Dan betekent dit dat deze factor een waarde nul krijgt. Op dezelfdemanier worden de andere factoren beoordeeld. Na de invoer vindt er een controle opdeze invoer plaats. Als de score buiten het mogelijke bereik van de score valt, wordteen dialoogvenster getoond met een foutmelding en wordt de gebruiker opnieuw demogelijkheid geboden een waarde in te voeren. Stel dat de sommatie van allebeïnvloedingsfactoren een totale beïnvloedingsfactor van 15 oplevert. Op basis vande feiten dat het aantal bruto functiepunten 80 bedraagt en de beïnvloedingsfactor 15is, wordt dan geconcludeerd dat het aantal netto functiepunten 64 bedraagt.

91 Door de eenvoud van het systeem komen in dit voorbeeld geen koppelingsfuncties voor. Het systeemfunctioneert als losstaand systeem zonder koppelingen naar andere systemen.

Page 49: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 185

Figuur 5-21: Beoordelen cost drivers

Figuur 5-22: Hypertekst voor het beoordelen van de cost-drivers.

Na het vaststellen van het aantal functiepunten van het te ontwikkelen systeem moeteen omrekening plaatsvinden van het aantal functiepunten naar de benodigdeinspanning om deze functionaliteit op te leveren. Deze omrekening is gebaseerd openkele vuistregels die gebruikmaken van een karakterisering van het project aan dehand van een beperkt aantal omstandigheden. Op basis van deze karakteristiekenworden de juiste omrekeningscijfers geselecteerd en toegepast.

Ten eerste wordt de gebruiker gevraagd naar de taal waarin het systeem wordtontwikkeld. Vervolgens stelt het systeem de vraag of er al dan niet gebruik wordtgemaakt van ontwikkel-tools. Tevens wordt een vraag gesteld omtrent hetcomputerplatform waarvoor het systeem wordt ontwikkeld. Stel dat de gebruikeraangeeft dat het systeem wordt ontwikkeld voor een microcomputer, dat er gebruikwordt gemaakt van een 4-GL-programmeertaal en dat er ontwikkelhulpmiddelenworden gebruikt, dan concludeert het inferentiemechanisme dat de gemiddeldeproduktietijd tussen de 1.9 en 3.2 uur per functiepunt zal bedragen.

Page 50: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5186

Figuur 5-23: Karakteristieken van het project.

Nadat het aantal netto functiepunten is bepaald en op basis van een aantalvuistregels een selectie van de produktiviteitscijfers is gemaakt, maakt hetinferentiemechanisme op basis van deze feiten een schatting van de inspanning dienodig is voor het ontwikkelen van het systeem. Het systeem komt tenslotte met eenadvies ten aanzien van de tijd die gereserveerd moet worden om het beschrevensysteem te realiseren. In het beschreven voorbeeld zal het totaal aantal uren tussen121.6 en 204.8 liggen. Nadat dit advies is gegeven wordt de functiepuntanalyseafgesloten92. De functiepuntanalyse kan worden gevolgd door een specificatie enanalyse van een activiteitennetwerk om de activiteiten en produktiemiddelen in detijd in te delen. Deze activiteiten en netwerkanalyse zal in het volgende voorbeeldnader worden uitgewerkt.

Voorbeeld 2Het tweede voorbeeld heeft betrekking op een situatie waarin eenactiviteitennetwerk wordt opgesteld voor een uit te voeren project. Deze stap kan alsvervolg op een functiepuntanalyse worden uitgevoerd. Daarnaast is het mogelijkdeze methode afzonderlijk toe te passen. Een al dan niet gedetailleerdactiviteitennetwerk kan in een vroeg stadium van het project worden opgesteld.Indien in een dergelijk stadium nog geen functioneel ontwerp beschikbaar is(waarop een functiepuntanalyse kan worden gebaseerd), is het moeilijkfunctiepuntanalyse toe te passen.

92 Eventueel kan met behulp van de drukknop ‘herstart’ de FPA-analyse nogmaals worden doorlopenindien men achteraf niet tevreden is met bepaalde gegeven antwoorden.

Page 51: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 187

Figuur 5-24: Openingsscherm netwerkplanning

Nadat de module ter ondersteuning van de netwerkplanning is gestart wordtbegonnen met het vaststellen van enkele kenmerken waaraan deprobleembeschrijving (de netwerkspecificatie) moet voldoen.

Hierbij worden enkele karakteristieken, die in de vorige modulen zijn vastgesteld,overgedragen. Deze karakteristieken hebben onder andere betrekking op de vraag ofhet project al dan niet van start is gegaan en in welke projectfase het project zichbevindt. Het plan wordt uitsluitend opgesteld voor die fasen van het project die nogniet zijn uitgevoerd93. Indien het project zich bijvoorbeeld in de fase van hetdetailontwerp bevindt (SDM-fasering), wordt er uitsluitend een plan opgesteld voorde fasen detailontwerp, realisatie en invoering.

Vervolgens besteedt het systeem aandacht aan de mate van aggregatie van hetnetwerk. De mate van aggregatie heeft, zoals in paragraaf 5.9 beschreven,betrekking op de aggregatie van de activiteiten, de middelen en de tijdsduur. Bij hetvaststellen van de meest geschikte mate van aggregatie speelt onder andere het doelvan de projectplanning en de omvang van de activiteiten een rol. Indien het projectbestaat uit een groot aantal activiteiten die lang duren, worden activiteiten opdagbasis gespecificeerd. Op basis van de cases is in het systeem de grens van 80 uurgenomen (zie Figuur 5-25). In de andere gevallen worden de activiteiten op uurbasisgespecificeerd.

93 Aan de controle van de voorgaande projectfasen wordt geen aandacht besteed. Dit valt buiten descope van dit onderzoek.

Page 52: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5188

Figuur 5-25: Mate van detaillering van activiteiten.

Tevens wordt gevraagd of het reeds bekend is welke personen bij het projectbetrokken zullen zijn (zie Figuur 5-26). Als dit bekend is kan een specificatie vanpersoneel op individuele basis plaatsvinden. Als dit niet bekend is zal men hetproject naar categorieën van personeelsleden moeten specificeren. Daarnaast is dezekeuze afhankelijke van de gewenste mate van detaillering. Indien men streeft naareen globaal activiteitennetwerk wordt geadviseerd de middelen per categorie tespecificeren.

Figuur 5-26: Personele bezetting.

Stel dat de gebruiker aangeeft dat het project zich in de fase van het ‘basisontwerp’bevindt; dat er niet veel activiteiten zijn die langer dan 80 uur duren en dat het reedsduidelijk is welke produktiemiddelen bij de uitvoering van het project betrokkenzullen zijn. Op basis van deze feiten geeft het inferentiemechanisme adviezen tenaanzien van de mate van aggregatie van de probleemspecificatie. De activiteitenworden op uurbasis gespecificeerd en de middelen worden op individueel niveaugespecificeerd. Tevens wordt op basis van de beschikbare feiten eenactiviteitennetwerk geconstrueerd op basis van de beschikbare templates.

Page 53: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 189

Vervolgens zorgt het kennissysteem ervoor dat de diverse stappen met betrekking totde specificatie en analyse van het activiteitennetwerk in de juiste volgorde wordendoorlopen. Het inferentiemechanisme probeert daarom een waarde vast te stellenvoor het attribuut in de agenda ‘netwerk gespecificeerd’. Feiten die in de voorwaardevan de hierbij behorende regel horen, hebben betrekking op het specificeren van deactiviteiten, de opeenvolgingsrelaties tussen deze activiteiten en de specificatie vande benodigde middelen en tijdsduur. Teneinde een dergelijke feit af te leidenprobeert het inferentiemechanisme een conclusie te trekken over één van dezeattributen. In tegenstelling tot het voorgaande voorbeeld wordt in dit geval geengebruikgemaakt van regels, maar van ‘when needed methods’ (zie paragraaf 5.5).Deze methode zorgt voor het activeren van het procedurele programma. Door eencode over te dragen van het kennissysteem naar het procedurele programma wordtduidelijk gemaakt welke activiteit moet worden uitgevoerd. De procedure die bij diecode hoort, wordt hierna opgestart, doordat automatische een menu-optie (in ditgeval ‘specificeren activiteiten’) wordt geselecteerd. De gebruiker krijgt hierbijenkele richtlijnen hoe de volgende activiteit moet worden uitgevoerd. Dezerichtlijnen betreffen zowel het gebruik van de software als het doel van de uit tevoeren activiteit.

Figuur 5-27: Dialoogvenster voor het definiëren van activiteiten

Op deze manier draagt het inferentiemechanisme zorg voor het achtereenvolgensdoorlopen van de in Figuur 4-8 gespecificeerde activiteiten. Deze activiteiten zijn:het specificeren van de activiteiten, het specificeren van de opeenvolgingsrelatiestussen de activiteiten, het specificeren van de benodigde middelen en de tijdsduurvan de activiteiten. De basis van deze activiteiten wordt gevormd door deactiviteiten-template zoals die is bepaald door het kennissysteem. Het kennissysteemselecteert een activiteiten-template die vervolgens nader wordt uitgewerkt indien degebruiker veranderingen aan wil brengen. De selectie vindt plaats op basis van de

Page 54: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5190

onzekerheid van het project, de nog uit te voeren fasen en activiteiten en de gewenstedetaillering. Vervolgens wordt de gebruiker de mogelijkheid geboden denetwerkspecificatie naar eigen inzichten aan te passen. Deze manier van werkenheeft als voordeel dat kennis met betrekking tot de netwerkspecificatie wordthergebruikt, terwijl het netwerk flexibel blijft doordat de gebruiker de activiteiten ende feiten omtrent deze activiteiten kan wijzigen. De gebruiker heeft hierbij de keuzeuit het rechtstreeks invoeren van de benodigde gegevens in de spreadsheet94 of hetinvoeren van de gegevens via dialoogvensters (zie Figuur 5-28). De dialoogvensterskunnen worden geactiveerd door deze in het menu te selecteren of door een specifiekveld met de rechtermuisknop aan te klikken.

Figuur 5-28: Definiëren van opeenvolgingsrelaties

Nadat de activiteiten zijn gedefinieerd, zal de controle worden teruggegeven aan hetinferentiemechanisme (door het selecteren van de menu optie L5-Terug naarLEVEL5). Het inferentiemechanisme bepaalt vervolgens de volgende stap die in deplanningsessie moet worden uitgevoerd en verduidelijkt deze stap voor de gebruiker.Vervolgens wordt het activiteitenprogramma weer geactiveerd95. Als deprobleembeschrijving in de vorm van het activiteitennetwerk is afgerond adviseerthet inferentiemechanisme het activiteitennetwerk te analyseren. Deze analyse begintmet de controle van het netwerk. De in paragraaf 5.9 beschreven controles wordenhierbij uitgevoerd. Indien een dergelijke controle een tekortkoming in deprobleembeschrijving constateert, wordt de gebruiker gewaarschuwd (zie Figuur 5-29).

94 Een rij in dit spreadsheet representeert de gegevens van een enkele activiteit. Een kolom in despreadsheet representeert soortgelijke gegevens (bijvoorbeeld de naam, of de benodigde middelen).95 Hier wordt gesproken over activeren omdat opstarten niet de juiste term is. De beide programma’sbevinden zich gelijktijdig in het geheugen van de computer. Het draaien van meerdere programma’swordt mogelijk gemaakt door de multi-tasking faciliteiten van Microsoft Windows.

Page 55: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 191

Figuur 5-29: Waarschuwing fout in probleemspecificatie

De gebruiker krijgt daarbij additionele informatie omtrent de plaats in het netwerkwaar de fout is geconstateerd. Een dergelijke fout dient eerst ongedaan te wordengemaakt voordat de analyse kan worden hervat. Vervolgens kan de daadwerkelijkeanalyse plaatsvinden in de zin van het berekenen van de vroegst mogelijke begin- eneindtijdstippen en de laatst mogelijke begin- en eindtijdstippen. Op basis van dezegegevens wordt de speling van de diverse activiteiten berekend.

Deze analyse biedt reeds aanknopingspunten voor de herkenning van mogelijkeconflicten door het kennissysteem. De vroegst mogelijke einddatum en decontractueel overeengekomen opleverdatum zijn de feiten die hetinferentiemechanisme nodig heeft om een tijdconflict te constateren. Indien devroegst mogelijke einddatum valt na de contractueel overeengekomen opleverdatumdan betekent dit dat het project in de huidige vorm niet op tijd kan wordengerealiseerd. De vroegst mogelijke einddatum wordt vastgesteld door hetprocedurele programma. Indien het feit met betrekking tot de contractueelovereengekomen datum nog niet bekend is, zal deze worden gevraagd aan degebruiker van het systeem.

Indien een dergelijk tijdconflict optreedt, zal het inferentiemechanismeachtereenvolgens de toepasbaarheid van enkele oplossingen evalueren insamenspraak met de gebruiker. Hierbij wordt de gebruiker gevraagd in hoeverre hetmogelijk is het activiteitennetwerk anders te specificeren door bijvoorbeeld bepaaldeactiviteiten weg te laten, de opeenvolgingsrelaties anders te specificeren ofactiviteiten in een kortere periode uit te voeren (zie Figuur 5-30 tot Figuur 5-32).

Figuur 5-30: Analyse conflicten

Page 56: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5192

Figuur 5-31: Analyse conflicten

Figuur 5-32: Analyse conflicten

Indien dergelijke alternatieven, die binnen de grenzen van het project kunnenworden uitgevoerd, geen oplossing bieden, zal het inferentiemechanisme komen metvoorstellen die gevolgen zullen hebben tot buiten het eigenlijke project. In eersteinstantie worden alternatieven geëvalueerd die binnen de organisatie kunnen wordengerealiseerd. Indien gelijktijdig meerdere projecten worden uitgevoerd bestaat demogelijkheid middelen (tijdelijk) aan een ander project toe te wijzen. In laatsteinstantie wordt gezocht naar oplossingen die buiten de eigen organisatie liggen.Hierbij kan bijvoorbeeld gedacht worden aan het onderhandelen met deopdrachtgever over een latere opleverdatum. Op deze manier wordt de gebruikergeleid langs een aantal alternatieve mogelijkheden om het conflict op te lossen,waarbij eerst de nadruk wordt gelegd op oplossingen die binnen het project kunnenworden gerealiseerd, vervolgens wordt gezocht naar oplossingen die binnen deorganisatie kunnen worden toegepast, en tenslotte, als beide benaderingen geenoplossing hebben geboden, wordt gezocht naar oplossingen buiten de eigenorganisatie.

Page 57: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 193

Indien de projectplanning tevens gericht is op het gedetailleerd toewijzen vanmiddelen (zie Figuur 5-33) dan kan deze middelentoewijzing eveneens aanleidingzijn tot bepaalde conflicten. De beschikbare middelen worden in een dialoogvensteringevoerd. In datzelfde venster kan een tarief voor dit middel worden ingevoerd. Dittarief zal in een later stadium worden gebruikt om de kosten van het project tebereken en mede op basis van dit feit zal het inferentiemechanisme constateren of eral dan niet sprake is van een budgetconflict. Een middelenconflict treedt op indien degevraagde produktiemiddelen (in geval van softwareprojecten met name personeel)de beschikbare middelen overtreffen. Een dergelijk conflict wordt geconstateerddoor op elk moment in de tijd de beschikbaarheid van produktiemiddelen tevergelijken met de vraag naar dat middel. Indien de behoefte groter is dan hetaanbod dan zal het inferentiemechanisme aangeven dat er sprake is van een conflict.

Figuur 5-33: Specificatie van middelen

Bij een dergelijk conflict toont een dialoogvenster welk(e) middel(en) in welketijdperioden overvraagd is of zijn. Dit wordt gerepresenteerd in de vorm van ‘middelX is overvraagd in periode Y tot en met periode Z’. Indien dergelijke conflictenoptreden zal het inferentiemechanisme wederom proberen een advies te genererenten aanzien van het oplossen van het conflict. Hierbij zijn oplossingen mogelijk diede vraag naar het produktiemiddel verkleinen (verminderen van de functionaliteit,het weglaten van activiteiten etc.), of oplossingen gericht op de reductie van de vraagnaar dat middel (het herspecificeren van het netwerk, of het verplaatsen vanactiviteiten), en oplossingen die het aanbod van het overvraagde middel vergroten(middelen van andere projecten toewijzen, of middelen van buiten de organisatieinhuren). De alternatieven worden in samenspraak met de gebruiker geëvalueerd en

Page 58: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5194

het inferentiemechanisme zal uiteindelijk een advies geven ten aanzien van deuitvoerbaarheid van een alternatief. Stel bijvoorbeeld dat persoon A in periode 20 totperiode 3096 aan twee parallel uit te voeren activiteiten is toegewezen.Mogelijkheden om dit probleem op te lossen zijn dan: iemand anders een van beideactiviteiten uit te laten voeren (het toewijzen van extra middelen), denetwerkspecificatie aan te passen door activiteiten niet parallel maarachtereenvolgens uit te voeren of door één van beide activiteiten te schrappen.

De derde mogelijke categorie van conflicten treedt op indien de totale kosten hetbeschikbare budget overtreffen. Het procedurele programma berekent de totalekosten. De totale kosten worden berekend door het middelengebruik tevermenigvuldigen met een tarief voor dit gebruik. Daarnaast wordt eendialoogvenster getoond waarin andere categorieën van kosten kunnen wordengespecificeerd. De feiten met betrekking tot het beschikbare geld en het benodigdegeld zijn vervolgens aanleiding voor het inferentiemechanisme om een uitspraak tedoen over het al dan niet optreden van een budgetconflict. Bij het constateren vaneen dergelijk conflict wordt de gebruiker wederom geadviseerd welke stappen teondernemen teneinde het conflict op te lossen.

Stel bijvoorbeeld dat het kostenbedrag dat voortkomt uit een aggregatie over deactiviteiten plus de ingevoerde overhead-kosten een bedrag oplevert van 11.000gulden en dat het budget voor het project is vastgesteld op 10.000 gulden. Dit bedragkan zijn ingevoerd in het activiteitenprogramma of indien dit feit nog niet bekend is,wordt het door het inferentiemechanisme gevraagd aan de gebruiker. Uit deze feitentrekt het inferentiemechanisme de conclusie dat het benodigde geld het beschikbarebudget overtreft. Vervolgens zal het inferentiemechanisme enkele mogelijkeadviezen evalueren op hun toepasbaarheid. Hierbij wordt weer dezelfde volgordevan evaluatie van alternatieven toegepast als hierboven beschreven. Eerst wordt naaroplossingen gezocht binnen het project, vervolgens naar oplossingen binnen deorganisatie en tenslotte naar oplossingen buiten de organisatie. Naast de hierbovengenoemde oplossingen zoals het met minder middelen uitvoeren van bepaaldeactiviteiten, het weglaten van activiteiten door het weglaten van delen van defunctionaliteit, bestaat eveneens de mogelijkheid te onderhandelen over een groterbudget.

Indien er meerdere conflicten tegelijkertijd optreden zullen er enkele interactie-effecten optreden. Indien bijvoorbeeld zowel het budget wordt overschreden als devraag naar middelen het aanbod overtreft, dan is het uit het oogpunt van het budgetnatuurlijk niet mogelijk de inzet van middelen (vanaf andere projecten, of van buitende organisatie) te vergroten, omdat in dat geval het budgetconflict alleen maar groterwordt, omdat extra middelen moeten worden ingezet.

96 Periode betreft hier een tijdvak van een uur, omdat uit de eerdere analyses is gebleken dat de planningop uurbasis zal plaatsvinden.

Page 59: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Beslissingsondersteunend systeem 195

5.13 Kengetallen omtrent het ontwikkelde systeem

Het in dit hoofdstuk beschreven systeem is opgebouwd uit een groot aantalvershillende bestanden97 (zie Figuur 5-34). Deze opsplitsing in bestanden sluit aanbij een modulair ontwerp (zie dit hoofdstuk 3 en paragraaf 5.4).

Programma code filesFile ACTIVITY.C: 2411 linesFile PERT.C: 59 linesFile DATUM.C: 55 linesFile GLOBALS.C: 75 linesFile JULIAN.C: 433 linesFile SCHEMA.C: 134 linesFile CONFLICT.C: 129 linesFile ANALYSE.C: 391 linesFile SCHED.C: 191 linesFile INLEES.C: 94 lines

Header filesFile NETTEMP.H: 12 linesFile ACTIVITY.H: 233 linesFile PRJDEF.H: 12 linesFile DEFACT.H: 10 linesFile PRED.H: 6 linesFile DEFRES.H: 8 linesFile MIDDEL.H: 10 linesFile JULDEF.H: 66 linesFile RESOURCE.H: 50 linesFile HEADER.H: 20 lines

Project filesFile ACTIVITY.MAK: 272 lines

Resource filesFile ACTIVITY.RC: 326 lines

Project definitie fileFile ACTIVITY.DEF: 18 lines

Production rule languageFile CONFLICT.PRL: 452 linesFile PLANNIN.PRL: 832 linesFile FPA.PRL: 1139 linesFile REGELS.PRL: 592 linesFile FPA_ANAL.PRL: 432 linesFile NETWERK.PRL: 899 lines

Database filesFile FACTOREN.DBFFile FPA.DBF

Bitmap filesFile BACK3.BMPFile BACK.BMP

Simulatie modelFile pertl5.pas: 499 lines

Help bestandenFile NETWERK.HLPFile FPA.HLPFile SELECTIE.HLPFile PLANNIN.HLP

Figuur 5-34: Bestanden die deel uitmaken van het ontwikkelde systeem

De eerste categorie van bestanden wordt gevormd door de C-bestanden (bestandenmet de extensie .C in Figuur 5-34) en diverse bestanden die met deze C-bestandensamenhangen zoals de ‘header files’, ‘resource files’ en project bestanden (bestandenmet de extensie .def, .mak en .h). Daarnaast zijn er bestanden die worden gebruiktdoor het inferentiemechanisme (bestanden met de extensie .prl). Deze bestandenbeschrijven de inhoud van de kennisbank in de vorm van de zogenaamde ‘productionrule language’ (zie Information Builders (1993). Vervolgens maakt het systeemgebruik van dBase-bestanden waarin onder andere omrekenfactoren zijn

97 In deze paragraaf worden uitsluitend de bestanden met de daadwerkelijke code genoemd en niet debestanden die resulteren na compileren en linken etc. Het daadwerkelijke aantal bestanden ligt dan ookaanzienlijk hoger.

Page 60: Hoofdstuk 5 Implementatie van een beslissingsondersteunend ... · De kennis, die nodig is om de juiste methode te selecteren en het conceptuele model empirisch te maken, wordt hierbij

Hoofdstuk 5196

opgeslagen98 (bestanden met de extensie .dbf, zie Paragraaf 5.7 en Paragraaf 5.8).De bitmap files (bestanden met de .bmp extensie) bevatten een afbeelding en wordenals achtergrond gebruikt bij de representatie van de vragen aan de gebruikers.Hiermee wordt de in Paragraaf 5.5 uniforme indeling van de schermenbewerkstelligd. Het volgende in Figuur 5-34 genoemde bestand heeft betrekking opde implementatie van het simulatiemodel. Dit model is geïmplementeerd in DESIMP(bestand met de .pas extensie, zie Paragraaf 5.10). Tenslotte zijn er helpbestandengedefinieerd (bestanden met de extensie .hlp) die zowel vanuit het kennissysteem alsvanuit de overige programma’s kunnen worden aangeroepen. Deze helpbestandenbevatten de hypertekstinformatie die achtergrondinformatie geeft over detoepasbaarheid van de methoden en over de manier van toepassen van de methoden.

Een belangrijke maatstaf voor het gebruik van programmatuur is de tijd die nodigis voor de uitvoering van het programma. Hierover kunnen echter weinig zinvolleuitspraken worden gedaan. Het systeem legt het accent op de interactie tussen decomputer en de gebruiker. De tijd die nodig is voor het doorlopen van eenplanningsessie zal daarmee sterk afhangen van de gebruiker en de wensen van dezegebruiker. Wat echter wel kan worden opgemerkt is dat het systeem geen bottle-neckvormt in het functioneren. De wachttijden bedragen ten hoogste enkele seconden.

5.14 Conclusies

In dit hoofdstuk is beschreven hoe een beslissingsondersteunend systeem van eeninhoud kan worden voorzien. Het kennissysteem levert een overkoepelend systeemwaarbij het systeem voorschrijft welke stappen moeten worden doorlopen. Naast dekoppeling van de verschillende fasen kan er eveneens ondersteuning wordengeboden bij de invulling van een specifieke stap binnen het beslissingsproces. Destappen die doorlopen moeten worden, zijn afhankelijk van de planningmethode diewordt toegepast. Wel kan er een zekere standaard-structuur worden aangegeven diebij elke methode toepasbaar is. In de eerste fase vindt de keuze van de juistemethoden plaats, in de tweede fase wordt de projectplanning ingevuld met degeselecteerde methoden en in de derde fase worden de resultaten van de voorgaandefase geïnterpreteerd. Na deze laatste fase kan afhankelijk van de uitkomsten eenterugkoppeling plaatsvinden naar de voorgaande fase.

98 Voor de dBase-, Bitmap en Help-bestanden is het aantal regels code niet weergegeven omdat dit geenzinvolle maatstaf is.