UML

Introductie

Door: Karin Zwiggelaar
Door: Karin Zwiggelaar

Unified Modeling Language (UML)3 wordt meestal beschouwd in de context van softwareontwikkeling. UML wordt vaak gebruikt om bijvoorbeeld procesmodellen en gegevensmodellen ten behoeve van applicaties of informatiesystemen op te leveren. Er is echter een trend om UML ook in een bredere context toe te passen, waaronder enterprise-architectuur. Daarom wordt in deze paragraaf ingegaan op zowel de UML-standaard als de toepassing ervan bij enterprise-architectuur.

Geschiedenis

Modellen spelen hebben altijd al een belangrijke rol gespeeld in IT-ontwikkeling. Door het toenemende IT-gebruik en het steeds complexer worden van IT-systemen is het gebruik van modellen alleen maar belangrijker geworden. In eerste instantie heeft dit – ruwweg sinds midden jaren zeventig – geleid tot een wirwar aan modelleeraanpakken. Er werden diverse ‘smaken’ van entity relationship models (ERD), object role modeling (ORM), petri-netten, flowcharts enzovoorts, ontwikkeld. Hoewel al deze aanpakken hun sterke en minder sterke punten hadden, bleek er ook een flinke uitdaging te bestaan op het gebied van communicatie, uitwisseling van modellen et cetera. Dit was de ideale voedingsbodem voor het ontstaan van UML.

Aan de basis van UML staan Grady Booch, James Rumbaugh en Ivar Jacobson, later bekend geworden als de drie amigos. Alle drie hadden ze een eigen methode ontwikkeld: Booch had Booch 95, Rumbaugh had Object Modelling Technique (OMT) en Jacobson had Object Oriented Software Engineering (OOSE). Hun doel was door samenwerking een methode te formuleren die zo breed mogelijk gedragen kon worden. Deze samenwerking is een mooi voorbeeld van de totstandkoming van een open standaard en heeft uiteindelijk geleid tot het ontstaan van RUP en UML

Beschrijving

Door: Karin Zwiggelaar
Door: Karin Zwiggelaar

Unified Modeling Language (UML)3 wordt meestal beschouwd in de context van softwareontwikkeling. UML wordt vaak gebruikt om bijvoorbeeld procesmodellen en gegevensmodellen ten behoeve van applicaties of informatiesystemen op te leveren. Er is echter een trend om UML ook in een bredere context toe te passen, waaronder enterprise-architectuur. Daarom wordt in deze paragraaf ingegaan op zowel de UML-standaard als de toepassing ervan bij enterprise-architectuur.

Geschiedenis

Modellen spelen hebben altijd al een belangrijke rol gespeeld in IT-ontwikkeling. Door het toenemende IT-gebruik en het steeds complexer worden van IT-systemen is het gebruik van modellen alleen maar belangrijker geworden. In eerste instantie heeft dit – ruwweg sinds midden jaren zeventig – geleid tot een wirwar aan modelleeraanpakken. Er werden diverse ‘smaken’ van entity relationship models (ERD), object role modeling (ORM), petri-netten, flowcharts enzovoorts, ontwikkeld. Hoewel al deze aanpakken hun sterke en minder sterke punten hadden, bleek er ook een flinke uitdaging te bestaan op het gebied van communicatie, uitwisseling van modellen et cetera. Dit was de ideale voedingsbodem voor het ontstaan van UML.

Aan de basis van UML staan Grady Booch, James Rumbaugh en Ivar Jacobson, later bekend geworden als de drie amigos. Alle drie hadden ze een eigen methode ontwikkeld: Booch had Booch 95, Rumbaugh had Object Modelling Technique (OMT) en Jacobson had Object Oriented Software Engineering (OOSE). Hun doel was door samenwerking een methode te formuleren die zo breed mogelijk gedragen kon worden. Deze samenwerking is een mooi voorbeeld van de totstandkoming van een open standaard en heeft uiteindelijk geleid tot het ontstaan van RUP en UML

UML in een EA-context

Door: Karin Zwiggelaar
Door: Karin Zwiggelaar

Enterprise-architectuurmodellen worden voor verschillende zaken gebruikt, van ontwerp tot (high-level) communicatie met verschillende soorten belanghebbenden. Communicatie met business-stakeholders vereist een ander soort visualisatie dan een abstract ontwerp of een gedetailleerde blauwdruk voor implementatie. Met andere woorden, er zijn verschillende viewpoints nodig, afhankelijk van wat de architect wil communiceren. Enerzijds is dit ingebouwd in de taal middels viewpoints, anderzijds wordt dit ondersteund met toolsupport.

Een viewpoint schrijft voor hoe een view moet worden geconstrueerd in termen van toegestane concepten en relaties. Essentieel voor het gebruik van UML in een EA- context is het hergebruik van concepten tussen verschillende views: in een managementview zal een element zonder al te veel details worden gerepresenteerd, terwijl een constructieview een nadere uitwerking zal laten zien. Toolsupport is hierbij essentieel omdat consistentie tussen views bewaakt en afgedwongen kan worden. Veel tools gaan echter een stap verder en maken het mogelijk om aan de ene kant verschillende visualisaties van modelelementen te maken en aan de andere kant bepaalde aspecten van modelelementen (zoals de attributen van een klasse) weg te laten in een view. Zodoende kunnen complexe diagrammen toch begrijpelijk gerepresenteerd worden.

Een tweede aspect van het gebruik van UML in een EA-context betreft het toevoegen van semantiek aan de taal. Ten opzichte van modellen in de context van softwareontwikkeling valt op dat UML-modellen in een enterprise-context vaak minder details bevatten, maar dat er aan modelelementen wel vaak extra betekenis wordt gegeven. Een voorbeeld hiervan is een class diagram waarbij geen attributen of methoden zijn weergegeven, maar waarbij wel onderscheid wordt gemaakt tussen verschillende typen objecten zoals informatieobjecten, actoren, en systemen. Hierbij wordt gebruikgemaakt van de uitbreidingsmogelijkheden van UML middels profielen en stereotypen. Met moderne tooling is het vaak mogelijk om ook visueel onderscheid te maken tussen de verschillende typen modelelementen. In het genoemde voorbeeld zouden alle informatieobjecten geel gekleurd kunnen worden, terwijl systemen bijvoorbeeld in blauw worden afgebeeld.

Positionering

Door: Karin Zwiggelaar
Door: Karin Zwiggelaar

Figuur 1 brengt het scoringsresultaat van UML in beeld op basis van het vergelijkingsmodel.

Figuur 1: UML gepositioneerd op het vergelijkingsmodel.

Denkwijze

De kracht van UML zit ‘m in de pure focus op een universeel toepasbare modelleertaal. Er is geen voorgeschreven werkwijze. Ongeacht de aanpak kan UML gebruikt worden om visualisaties te maken afgestemd op de wensen van de modelleur en de stakeholders van modellen.

Beheer- en exploitatiewijze eigenaar

De eigenaar van de UML-standaard is de Object Management Group (OMG), waarin de meeste grote softwarehuizen zijn vertegenwoordigd. De consequentie hiervan is dat verschillende partijen uit de praktijk hun invloed uit kunnen oefenen op de ontwikkeling van de taal.

UML kan beschouwd worden als de facto standaard voor modellering in de software-industrie. UML is inmiddels aangekomen bij versie 2.4.1 en wordt wereldwijd gebruikt. Er is een actieve community die door leveranciers volop wordt bediend met tools (commerciële en communityversies) en een breed scala aan opleidingen.

Beheer- en exploitatiewijze gebruiker

Er bestaat geen voorgeschreven beheer- en exploitatiewijze voor de gebruikers van UML.

Werkwijze

UML is bovenal een modelleertaal, ofwel een verzameling diagramtechnieken. In die zin is er geen sprake van een voorgeschreven werkwijze. In de wereld van de software- engineering wordt UML vaak gebruikt in combinatie met RUP, vergelijkbaar met de

combinatie van ArchiMate en TOGAF die veel wordt toegepast. Ook in de context van enterprise-architectuur is er niet één voorschreven werkwijze die gevolgd wordt.

Representatie en modelleerwijze

UML kent verschillende diagramtypen. In paragraaf 5.10.2 zijn deze beschreven. Elk diagramtype heeft een standaardnotatie die aangepast kan worden al naar gelang de specifieke wensen van de gebruiker.

Ondersteuningswijze

UML is een open standaard in de zin dat de volledige specificatie online beschikbaar is en leden van de OMG dragen bij aan de ontwikkeling van deze standaard. Er zijn diverse tools in omloop die (delen van) UML implementeren. Er is een grote inspanning gedaan om de modellen in al die hulpmiddelen onderling uitwisselbaar te maken. Zo kan een UML-model via XMI in een ander hulpmiddel worden ingeladen en kunnen diagrammen naar elkaar worden omgezet en geëxporteerd naar diverse andere talen, zoals XML en ArchiMate.

Bruikbaarheid

UML is bruikbaar in een brede context. De taal wordt in Nederland erg veel toegepast en onderwezen (zowel binnen vakopleidingen als academische opleidingen).

Conclusie

Door: Karin Zwiggelaar
Door: Karin Zwiggelaar

Eén van de belangrijkste drijfveren achter UML is de ontwikkeling van een modelleertaal die universeel toepasbaar is. Uit de positionering (figuur 1) valt af te lezen dat het inderdaad gaat om een taal, het aspect ‘werkwijze’ krijgt een nulscore. Hoewel in eerste instantie ontwikkeld in de context van softwareontwikkeling, blijkt UML ook uitermate bruikbaar als architectuurmodelleertaal in een enterprise-context.

Het feit dat de taal wereldwijd wordt gebruikt is één van de meest aansprekende punten van UML. Het vergroot de communiceerbaarheid en uitwisselbaarheid van modellen tussen professionals. De veelheid aan beschikbare diagramtypen en de mogelijkheden om de taal aan te passen middels profielen en stereotypen dragen bij aan de flexibiliteit van de taal. Wel moeten we opmerken dat door de uitbreidingen van de taal het voor buitenstaanders lastiger wordt om de diagrammen correct te interpreteren.

Tot slot moet er een kritische noot geplaatst worden bij het detailniveau van de UML- diagramtypen. Hoewel professionals (vooral in de community van de software-engineering) gewend zijn aan formele diagrammen met veel detail, zijn veel business- stakeholders dat juist niet. Juist hiervoor kan tooling belangrijke ondersteuning bieden om een model effectief te communiceren met de doelgroep.

 

Wegwijzer voor methoden bij enterprise-architectuur – 2de herziene druk