Managed hosting door True

Met soepele componenten de concurrentie te lijf

Schatten aan kennis

 

Het ontwikkelen van flexibele en beheersbare systemen eist niet alleen het toepassen van component based development en hergebruik. Ook kennismanagement is van groot belang. De tweede versie van het System Development Framework (SDF II) biedt plaats aan beide elementen, zo lichten twee consultants toe.

Expliciete aandacht voor toegepaste kennis bij systeemontwikkeling heeft alles te maken met kennismanagement: het geheel van maatregelen om tot een lerende organisatie te komen, die snel en flexibel kan inspelen op interne of externe veranderingen. Goed kennismanagement geeft antwoord op de vragen welke kennis in welke vorm en op welke tijd en plaats benodigd is, en maakt gebruik van diverse instrumenten om deze kennis te borgen, te distribueren, te combineren, en te ontwikkelen. Een juist gebruik van IT is daarbij onontbeerlijk, niet alleen door toepassing van bijvoorbeeld intranetten en groupware, maar ook door de ontwikkeling van systemen waarin de toegepaste kennis flexibel aan te passen is. Bedrijven die veel tijd nodig hebben om zich aan te passen aan veranderingen, bijvoorbeeld door logge, inflexibele IT-systemen, lopen daarmee een reëel risico om concurrentieslagen te verliezen.
Neem bijvoorbeeld een systeem voor het afhandelen van aanvragen voor levensverzekeringen. In een dergelijk systeem komen vele beslispunten voor waarin gebruik wordt gemaakt van een grote hoeveelheid kennis: juridische en medische kennis, en natuurlijk de specifieke bedrijfsregels zelf. Expliciet beheren en valideren van de in een dergelijk belangrijk systeem aanwezige kennis is van cruciaal belang. Niet alleen om een juist functioneren te kunnen garanderen, maar ook en vooral om het systeem bij toekomstige veranderingen in de toegepaste kennis eenvoudiger te kunnen aanpassen. Deze flexibiliteit ontbreekt als de toegepaste kennis impliciet is verspreid over talloze routines in het systeem: het onderhouden van deze 'verstopte' kennis wordt in dat geval een tijdrovend en risicovol karwei. Veel beter is het om de gebruikte kennis te expliciteren (met controle op kwaliteit en consistentie als gunstig 'bij-effect') en onder te brengen in aparte onderdelen van het systeem.

Kennis en CBD

De roep om flexibele en beheersbare systemen impliceert niet alleen een expliciete aandacht voor kennis, maar bij voorkeur ook een juiste toepassing van component based development (CBD). Hoewel CBD vanwege het hergebruik van aanwezige componenten vaak onder het mom van tijd- en kostenbesparingen wordt aangeprezen, zit de kracht ervan vooral in de toegenomen flexibiliteit van de met componenten samengestelde systemen. Deze flexibiliteit kan alleen bestaan als toegepaste componenten binnen een duidelijk afgebakend functioneel gebied zo veel mogelijk onafhankelijk kunnen functioneren. Kernbegrip daarbij is het uit de object-oriëntatie afkomstige begrip encapsulatie: gebruikers (bijvoorbeeld andere componenten) van een component hebben alleen te maken met de interface van dat component, de interne werking is afgeschermd van de buitenwereld en doet voor de gebruiker verder niet ter zake. Bij wijzigingen in het systeem (bijvoorbeeld door veranderingen in de toegepaste kennis) wordt idealiter alleen de interne werking van relevante componenten aangepast, en kunnen gebruikers onveranderd gebruik blijven maken van gewijzigde componenten.

SDF-II als praktisch hulpmiddel

De voordelen van component based development, gecombineerd met expliciete aandacht voor kennis, staan voor veel organisaties als een paal boven water. System Development Framework II is primair bedoeld als praktisch hulpmiddel om deze voordelen ook daadwerkelijk te realiseren. Daartoe combineert SDF-II de sterkste punten van CommonKADS (al sinds jaren de standaard methode voor de ontwikkeling voor kennissystemen) met de algemene toegepaste modelleringstaal UML (Unified Modeling Language) voor object-oriëntatie en CBD.
Net als bij CBD staat de notie van hergebruik in het door de Universiteit van Amsterdam ontwikkelde CommonKADS hoog in het vaandel: veel voorkomende kennisintensieve taken zijn in generieke vorm opgenomen in een bibliotheek. Kennisintensieve taken zijn door een mens of systeem uitgevoerde activiteiten waarbij het gebruik van kennis onontbeerlijk is. Een voorbeeld van een kennisintensieve taak is de beoordeling van een verzekeringsaanvraag in het eerder genoemde systeem voor het afhandelen van aanvragen voor levensverzekeringen. Dergelijke taken zijn in veel gevallen op een algemene - domein-onafhankelijke - wijze te beschrijven.
Zo is de kennisintensieve taak 'beoordelen' op te delen in de taken 'abstraheren' en 'beslissen'. In de taak 'abstraheren' worden de specifieke termen van de aanvraag die beoordeeld wordt, omgezet in algemenere termen, en wordt 'abstractiekennis' toegepast om specifieke kenmerken van de aanvraag om te zetten in 'abstracte' kenmerken. Een voorbeeld van 'abstraheren' is het omzetten van een specifieke leeftijd in een algemene leeftijdscategorie: jonger dan 18 jaar valt in de groep 'minderjarig'; van 18 tot 23 jaar ben je 'jong'; de groep van 23 tot 60 jaar is 'volwassen' en boven de 60 bent u 'oud'.
De andere deeltaak van 'beoordelen', de taak 'beslissen' is weer verder te splitsen in de taken: specificeren, selecteren, evalueren en toepassen. De tabel 'Van beoordelen tot toepassen' geeft een verduidelijking van de werking van deze taken - strikt van boven naar beneden. Kennis kan dus worden opgedeeld in behapbare - en daarmee beter onderhoudbare - deelverzamelingen: een essentiële voorwaarde voor systemen waarin een grote hoeveelheid complexe kennis wordt toegepast.

Domeinspecifieke situatie

De op algemene wijze gemodelleerde taak 'beoordelen' kan op relatief eenvoudige wijze worden 'vertaald' naar een domeinspecifieke situatie: bijvoorbeeld naar de taak voor het beoordelen van aanvragen voor levensverzekeringen. Het gebruik van dergelijke generieke en in de praktijk toegepaste modellen (ook wel bekend als analysis patterns) voorkomt dus dat voor elke - vaak complexe - kennisintensieve taak het wiel opnieuw moet worden uitgevonden.
In SDF-II is een - op de bibliotheek van CommonKADS gebaseerde - verzameling van dergelijke herbruikbare modellen van kennisintensieve taken opgenomen (naast 'beoordelen' bijvoorbeeld ook 'diagnosticeren' of 'configureren'), geheel in UML-notatie. Dat laatste maakt het mogelijk om deze modellen en bijbehorende implementatie naadloos op te nemen in een OO/CBD systeem. Daarbij kan gebruik worden gemaakt van de in SDF-II opgenomen richtlijnen en aanwijzingen voor het gebruik van kennisintensieve objecten en componenten, zowel voor ontwerp als implementatie.
In essentie is SDF-II dus een gestructureerde verzameling van theoretisch onderbouwde richtlijnen, pragmatische aanwijzingen en herbruikbare elementen voor de OO/CBD-ontwikkelaar die het belang onderkent van flexibele en onderhoudbare toepassing van kennis in systemen. Of algemener: voor de IT-afdeling waar flexibele systemen met herbruikbare componenten ter ondersteuning van kennismanagement worden gebouwd.

Projectmanagement

Veel organisaties gebruiken een eigen methode voor projectmanagement, al dan niet gebaseerd op standaard applicatie-ontwikkelingen als IAD of RAD, waterval en bijvoorbeeld risico-gedreven projectmanagement, en methoden als DSDM (dynamic systems development methodology), Prince-2 en bijvoorbeeld Perform. Het gebruik van een andere projectmanagement-methode is voor de meeste organisaties onpraktisch en ongewenst. SDF-II hanteert daarom niet een specifieke methode voor projectmanagement, maar biedt een 'handleiding' waarmee de diverse ontwerp- en implementatieproducten gekoppeld kunnen worden aan de in een organisatie gehanteerde projectfaseringen en de uiteindelijk af te leveren producten. SDF-II is daarmee relatief eenvoudig toepasbaar binnen de meest gangbare projectmanagement-methoden.
SDF-II is een pragmatisch raamwerk waarin niet het wiel opnieuw is uitgevonden, maar waarin de sterkste punten van onder andere CommonKADS en UML zijn geïntegreerd. Het biedt daarmee de mogelijkheid om de belangrijke voordelen van expliciete aandacht voor kennis en kennismanagement te combineren met de kracht van object-oriëntatie en component based development.
De toepassing van het SDF-II raamwerk past uitstekend binnen een strategie om IT van 'starre bottleneck' om te vormen tot 'flexibele enabler'. Een aantal grote organisaties heeft dan ook al aangekondigd om op korte termijn gebruik te gaan maken van SDF-II.
 
Pieter den Hamer en Arjen Uittenbogaard,
senior consultants Kenniscentrum CIBIT.

 
SDF-II Kenmerken
De tweede versie van SDF is in het afgelopen jaar ontwikkeld door Kenniscentrum CIBIT, in samenwerking met de Universiteit van Amsterdam, Bolesian, Everest, Unilever Research, Platinum/Computer Associates en diverse andere (internationale) partijen. SDF-II is een open standaard: gebruikers kunnen (kostenloos) lid worden van de SDF Corporate User Group. In SDF-II speelt het hergebruik van modellen een zeer belangrijke rol: gebruikers van SDF-II hebben de mogelijkheid om eigen modellen voor opname in de framework library aan te bieden.
Standaard methoden voor systeemontwikkeling bieden geen kant en klare oplossing voor het omgaan met kennis in systemen. De eerste versie van SDF loste dit probleem op door de toenmalig breed toegepaste Yourdon Systems Method te integreren met elementen voor kennismodellering uit KADS. De tijden zijn echter veranderd, en tegenwoordig worden steeds meer systemen op objectgeöriënteerde en/of op componenten gebaseerde (OO/CBD) wijze ontwikkeld. SDF-II combineert dan ook OO/CBD met het moderne CommonKADS. Gebruikers van SDF-II zijn daardoor in staat een systeem integraal met OO/CBD te ontwikkelen, uitgebreid met CommonKADS voor het modelleren van kennisintensieve componenten en geheel in de tegenwoordig als standaard beschouwde modelleringstaal UML (Unified Modeling Language). De ontwikkeling van SDF-II is bovendien in belangrijke mate geïnspireerd door elementen uit Catalysis: een sterk in opkomst zijnde methode voor het modelleren van objectgeoriënteerde en op componenten gebaseerde systemen.
De voordelen van CBD ten aanzien van hergebruik en flexibiliteit gelden zowel voor implementatie als voor de in een ontwerp gebruikte modellen. Dit laatste komt onder meer tot uitdrukking met het gebruik van design patterns voor objectgeoriënteerde modellering en template knowledge models voor kennismodellering in CommonKADS. De framework library van SDF-II bevat generieke modellen (momenteel UML 'vertalingen' van template knowledge models uit CommonKADS) voor hergebruik in diverse domeinen.
Binnen het SDF-II raamwerk wordt een aantal modellen gedefinieerd die nodig zijn om tot ontwerp en implementatie van een systeem te komen. Deze modellen zijn: business models, knowledge models, communication models en design models.

 
VAN BEOORDELEN TOT TOEPASSEN
Pre- en Post-condities van de verschillende fasen in het takenpakket van een 'beoordelaar'.
 
Abstraheren
Post: De aanvraag is in geabstraheerde staat. Geabstraheerde kenmerken zijn met behulp van abstractie-kennis toegevoegd.
 
Specificeren
Pre: De aanvraag is in geabstraheerde staat.
Post: Een verzameling van voor de beslissing relevante normen is gegenereerd, op basis van kenmerken van de aanvraag en specificatie-kennis.
 
Selecteren
Pre: Normen zijn beschikbaar.
Post: Eén norm is geselecteerd voor evaluatie, op basis van de selectie-kennis.
 
Evalueren
Pre: Eén norm is geselecteerd.
Post: De norm is geëvalueerd, op basis van de evaluatie-kennis.
 
Toepassen
Pre: Tenminste één norm is geëvalueerd.
 
Post: Een gegenereerde beslissing, als de evaluatie van een norm tot een beslissing leidt, op basis van de toepassingskennis.

Dit artikel is afkomstig van Computable.nl (https://www.computable.nl/artikel/1377374). © Jaarbeurs IT Media.

?


Lees meer over


 
Vacatures

Stuur door

Stuur dit artikel door

Je naam ontbreekt
Je e-mailadres ontbreekt
De naam van de ontvanger ontbreekt
Het e-mailadres van de ontvanger ontbreekt

×
×