Year: 1997
Type: dissertation
Abstract: Information systems are being used for more and more applications, are becoming more complicated and expensive, while at the same time affecting large parts of our society.It is therefore important that information systems are developed in an effective and efficient way.To achieve this, numerous methods for information systems development have been described.Such a method typically consists of descriptions of the activities to be performed, the products to be delivered, and the tools to be used.Commercial methods, being released by large software houses and consultancy firms, are usually made up of several volumes, confiscating entire book shelves.Methods can be considered as a standardisation of the IS engineering process, in order to enable the efficient and effective performance of that process. SamenvattingInformatiesystemen worden voor steeds meer toepassingen gebruikt, worden steeds ingewikkelder en duurder, en krijgen steeds meer invloed op onze maatschappij.Het is daarom van belang dat de -projectmatige-ontwikkeling van informatiesystemen op een effectieve en efficiente wijze geschiedt.Teneinde dit te bereiken, is in het verleden een groot aantal methoden voor informatiesysteemontwikkeling beschreven.Zo'n methode bestaat gewoonlijk uit omschrijvingen van de uit te voeren aktiviteiten, de op te leveren produkten en eventueel de te gebruiken hulpmiddelen.Commerciële methoden, zoals uitgebracht en verkocht door grote softwarehuizen en adviesbureau's, beslaan vaak verscheidene delen, die niet zelden een hele boekenplank in beslag nemen.Methoden kunnen worden gezien als een standaardisatie van het informatiesysteemontwikkelingsproces, om dat proces efficiënter en effectiever te laten verlopen.Probleem met deze methoden is, dat zij weinig rekening houden met de specifieke situatie waarin een informatiesysteem wordt ontwikkeld.Elke situatie is in principe anders, en heeft invloed op de te gebruiken werkwijze en de op te leveren produkten.Enerzijds dient een methode dus standaardisatie te bewerkstelligen, anderzijds dient zij dusdanig flexibel te zijn dat zij nauw aansluit bij de onderhavige informatiesysteemontwikkelingssituatie.Deze eis wordt in het proefschrift beheerste flexibiliteit genoemd.Beheerste flexibiliteit wordt bereikt door methoden te construeren.Voor elke situatie, bijvoorbeeld een project of een organisatie, wordt een andere methode gebouwd, een methode die volledig rekening houdt met de omstandigheden (situatiefactoren) die in die situatie gelden.Een methode die op een dergelijke wijze wordt geconstrueerd hebben we een situationele methode genoemd.Dit proefschrift beschrijft de basisconcepten van Situational Method Engineering, de onderzoeksdiscipline die zich bezighoudt met de constructie van situationele methoden.Centraal hierin staat het Situational Method Engineering proces, waarin verschillende stappen worden onderkend.Een eerste stap is karakterisatie van de situatie: met behulp van situatiefactoren en eventueel prestatie-indicatoren wordt de projectsituatie beschreven.Deze beschrijving kan als invoer dienen voor de selectie-stap, waarin de voor het onderhavige project benodigde methodebouwstenen worden geselecteerd.Deze bouwstenen worden methodefragmenten genoemd, en zijn opgeslagen in een databank.Zo'n databank noemen we een Method Base.De geselecteerde methodefragmenten worden samengesteld in de assemblage-stap, welke resulteert in een al of niet complete situationele methode.Die methode wordt in het project toegepast; ervaringen met de methode kunnen vervolgens worden opgeslagen in de Method Base, om zo de selectie bij toekomstige projecten te verbeteren.Het proces hoeft niet noodzakelijkerwijs in zijn geheel vóór een project te worden uitgevoerd; delen kunnen ook nog tijdens een project plaats hebben, omdat vaak niet alle noodzakelijke informatie vooraf beschikbaar is.Methodefragmenten zijn onderverdeeld in twee hoofdcategorieën: conceptuele methodefragmenten en technische methodefragmenten.Een conceptueel fragment is ofwel een produktfragment, ofwel een procesfragment.Een produktfragment beschrijft een produkt van het informatiesysteemontwikkelingsproces.Een procesfragment beschrijft de aktiviteiten van het proces.Technische methodefragmenten beschrijven de geautomatiseerde hulpmiddelen (CASE tools) die het informatiesysteem-ontwikkelingsproces ondersteunen, en zijn onderverdeeld in drie categorieën: tool fragment, repository fragment en process manager fragment.Een tool fragment beschrijft een deel van de functionaliteit van een CASE tool.Een repository fragment beschrijft een deel van een database.Een process manager fragment voert de CASE tool gebruiker door een deel van de methode, waarbij het procesfragmenten, produktfragmenten en toolfragmenten met elkaar in verbinding brengt.Naast methodefragmenten bezit de Method Base nog een aantal andere concepten.Actor en actor rol worden gebruikt om de zogenaamde "menselijke structuur" van methoden te modelleren, d.w.z.de personen in methoden en hun rollen en functies daarin.Associatie wordt gebruikt om relaties tussen produktfragmenten te modelleren.Produktfragmenten spelen een bepaalde produkt rol in dergelijke relaties.Procesfragmenten spelen een proces rol bij het manipuleren van produktfragmenten.Verder bezit de Method Base nog het concept regel, waarmee beperkingen op methodefragmenten kunnen worden gespecificeerd.Tussen methodefragmenten en overige concepten is een aantal relaties en eigenschappen gedefinieerd, met behulp waarvan methodefragmenten kunnen worden gekarakteriseerd en geselecteerd.Eigenschappen kunnen een vast waardendomein bezitten, maar kunnen ook een waarde hebben die niet uit een vastomlijnde verzameling is gekozen.Van de leden van de eerste groep, de zogenaamde stabiele eigenschappen, zijn alle waardendomeinen gegeven.De definitie van de methodefragmenten en overige concepten, samen met hun relatietypen, hun eigenschaptypen en de waardendomeinen van eigenschappen, vormt het conceptuele ontwerp van de Method Base.De Method Base is het bovenste niveau van een hiërarchie bestaande uit drie abstractieniveau's: het Method Engineering niveau, het methodeniveau en het projectniveau.Het projectniveau gaat in op de processen, produkten en hulpmiddelen van individuele projecten, en is niet behandeld in dit proefschrift.Op het methodeniveau zijn twee systemen gedefinieerd waarin methodefragmenten zijn verankerd.Verankering wil zeggen dat een methodefragment is beschreven in termen van gedefinieerde basisconcepten en -idealiter-de relaties tussen die concepten.Op deze wijze kan semantiek worden toegekend aan methodefragmenten.In dit onderzoek zijn een ontologie voor produktfragmenten en een procesclassificatiesysteem voor methodefragmenten gedefinieerd om dit te bereiken.Een belangrijk uitgangspunt hierbij is, dat deze verankeringssystemen niet pretenderen de ultieme waarheid te belichamen.Ze zijn uitbreidbraar en kunnen, als dat nodig is, worden vervangen door andere systemen, die dan echter wel een andere betekenis aan de methodefragmenten toekennen.De door ons voorgestelde ontologie, het Methodology Data Model, bestaat uit 39 basisconcepten van informatiesysteemontwikkelingsprodukten die door een aantal associaties met elkaar gerelateerd zijn.Het procesclassificatiesysteem bestaat uit definities van een aantal basisstappen, een aantal produkttypen en een aantal toestandstypen, met behulp waarvan doelen kunnen worden gedefinieerd.Om methodefragmenten te kunnen representeren, is in het onderzoek een taal gedefinieerd.Deze taal, genaamd MEL (Method Engineering Language), is voortgekomen uit een aantal reeds bestaande grafische methodemodelleringstalen, uitgebreid met een tekstuele component die rekening houdt met de eigenschappen van methodefragmenten.Daarnaast bevat MEL een aantal operaties om methodefragmenten te administreren in de Method Base, te selecteren, en te combineren en assembleren.Teneinde methodefragmenten te kunnen combineren is een aantal heuristieken en geformaliseerde methode-assemblage regels opgesteld.De heuristieken zijn een hulpmiddel om, gegeven een situatie en het beoogde succes van een project, de juiste methodefragmenten te kiezen.De assemblageregels worden vervolgens gebruikt om de methodefragmenten op een zodanige wijze te combineren, dat een kwalitatief goede situationele methode ontstaat.Hierbij speelt, naast de geschiktheidseis, een aantal criteria een rol: compleetheid, consistentie, efficiency, juistheid en toepasbaarheid.In het proefschrift zijn de methode-assemblage regels op grond van deze criteria geordend.Omdat constructie van situationele methoden een complex en foutgevoelig proces is, is geautomatiseerde ondersteuning (CAME, Computer Aided Method Engineering) onvermijdelijk.In het in het proefschrift beschreven onderzoek is een prototype ontwikkeld dat deze ondersteuning biedt.Het prototype, Decamerone geheten, bestaat uit een Method Base, een aantal editors om methodefragmenten in -grafisch en tekstueel-MEL mee te specificeren en te manipuleren, en een CASE tool generator.Het hulpmiddel is ontwikkeld als uitbreiding van de aanpasbare CASE omgeving Maestro II.The work described in this thesis emphasizes that methods for developing information systems should take into account the situation in which they are applied.This is less trivial than it actually seems, given the rigidity many of those methods still display.Situation and context determine the success of an information systems development project.This is also true for doing research, and especially for writing a doctoral dissertation.I have experienced that one cannot operate on its own.The encouragement, inspiration, help, and advice provided by my particular situation have been key factors in the production of this book.That's why I would like to thank some people who largely make up my situation.First of all, I want to thank Peter Apers, for being my promotor.Being chairman of the Information Systems sub-department he has giv
Author: Anton Frank Harmsen
Language: English
Subfield: Information Systems
Field: Computer Science
Domain: Physical Sciences
Open Access status: green
OpenAlex ID: W1752606653
