Attribuut refactoring bij datamodellering
Refactoring hulpmiddel in de IDEA DLL

In de software ontwikkeling is een methode geintroduceerd, met name voor iteratieve trajecten, om op basis van allerlei patronen de opzet van programmatuur te optimaliseren. Denk bijvoorbeeld aaln een klasse met allerlei functies die je wilt uitsplitsen naar een gelaagde overervingsstructuur. In bijvoorbeeld Visual Studio zitten daar reeds allerlei hulpmiddelen in de tools. Iets dergelijks zou voor datamodelleurs ook heel handig zijn. Ik wil dat toelichten aan de hand van een heel eenvoudig scenario.

Refactoring in een datamodel

In dit voorbeeld beginnen we met een heel eenvoudig model, we willen medewerkers gaan modelleren en maken daarom het volgende klasse diagram

Met dit model kunnen we in eerste instantie goed uit de voeten maar in een tweede iteratie willen we het model gaan uitbreiden omdat we ook andere persoonsentiteiten willen gaan modelleren. Daarom is onze eerste opzet niet zo heel erg handig. Er is een overervingsstructuur nodig. Zie het tweede diagram, daarin is een persoon klasse toegevoegd en een medewerker overerft van deze persoon. Echter nu willen we graag dat de generieke attributen verplaatst worden naar de generieke persoonsentiteit. Helaas is dat nog niet zo eenvoudig met EA, je moet nu ieder attribuut wat je wil verplaatsen overzetten.
Feitelijk willen we toe naar deze situatie waarbij de persoonsgegevens bij de klasse persoon staan en de medewerkers bij de medewerker klasse blijven. Dit is niet eenvoudig te realiseren in de basisopzet van EA.

In het kader van het IDEA project zoeken we naar mogelijkheden om voor dit soort datamodelleer uitdagingen iets te verzinnen. Voor dit refactoring probleem hebben we daarom een dll gemaakt waarin dit scherm zit. Je kunt in dit scherm per klasse aangeven welke attributen verplaatst of gekopieerd kunnen worden naar een andere klasse. Hiermee hebben we een mooie basis voor datamodelleer refactoring. Wellicht zijn er ook andere patronen mogelijk denk aan het omzetten van een overervingstructuur naar een aggregatie of omgekeerd of het terugmergen van een overerving naar een klasse. Zeker in combinatie met fysieke modellering zijn er voor refactoring in datamodellering mooie patronen te bedenken.

Door: Bert geschreven op 17-02-2018

IDEA een prototype voor data modellering in EA
IDEA prototype voor geintegreerde data modellering

In Enterprise Architect is het mogelijk om verschillende (data) modelleervormen toe te passen. Denk hierbij bijvoorbeeld aan:

  • Fysieke data modellering met behulp van ER diagrammen
  • Logisch modellering op basis van o.a. UML klasse diagrammen
  • Conceptuele modellering op basis van ArchiMate diagrammen (passieve structuur)
  • Modellering van user interfaces.
  • Modellering van data catalagus associaties

 Dit zijn allen krachtige modelleervormen die tot een grote mate van detail ondersteuning hebben in EA. Echter er ontbreekt een integratie tussen de lagen. Denk hierbij aan:

  • Trace associaties tussen de entiteiten in de data lagen
  • Trace associaties tussen de attributen inde datalagen.
  • Ontbreken van genereer functionaliteit van de ene laag naar de andere
  • Modelvalidaties

Echter Enterprise Architect is eenvoudig aanpasbaar en uitbreidbaar en op basis hiervan is een prototype ontwikkeld wat een aantal van deze beperkingen in standaard EA ondervangt. Onderstaande scherm is een voorbeeld vanuit het prototype:

 

Dit prototype wordt ontwikkeld als open source versie in samenwerking met een aantal geinteresseerde organisaties. Wil je deelnemen aan dit initiatief of meer informatie kijk dan naar de eerste ideeen rond dit prototype zie hiervoor de PDF met een introductie. Wil je meer informatie kijk dan eens op http://idea.eaxpertise.nl waar een webapplicatie te vinden is op basis van dit prototype. Wil je contact met ons opnemen ga dan naar onze contactpagina.

 

Door: Bert geschreven op 24-01-2018

Dynamic Documents een handige feature in EA 13
Dynamische documenten een nieuwe feature in EA

Sinds een van de laatste versies van EA is het mogelijk om dynamic documents te definieren. Dit is een venster waarin je kunt aangeven welk document getoond moet worden (op basis van een RTF template). Dit biedt de gebruiker de mogelijkheid om de relevante inhoud van een bepaald entiteitstype of -stereotype in een aantrekkelijke opmaak te bekijken.

Echter voor de ontwikkelaar biedt het de mogelijkheid om verschillende rapporten te definieren voor de gebruiker en daarmee alleen relevante gegevens te tonen in een rapport afhankelijk van het entiteittype. Met name als je EA Lite als reader gebruikt kan dit een aantrekkelijke weergave zijn voor gebruikers. Bijkomend voordeel is dat je een huisstijl kun introduceren in de gegenereerde documenten maar ook in de schermen.

Onderstaande voorbeelden komen uit de IDEA repository en laten twee verschillende weergaven zien op basis van het entiteittype

Het definieren van deze dynamische documenten gaat op basis van een script met een relatief eenvoudige opzet namelijk voor ieder relevant type/stereotype kun je op basis van de volgende opbouw:

type:stereotype:template naam een template koppelen aan een type en of een stereotype. Ook is er een default optie. Zie het voorbeeldscherm hieronder.

Kijk eens of dit toegevoegde waarde heeft in jouw context, wil je ondersteuning bij de inrichting neem dan gerust even contact met me op.

 

Door: Bert geschreven op 16-01-2018

EA Usergroup event in Nederland
Aankondiging van het EA Usergroup event in september 2018

In juni 2016 hebben wij op Schiphol het EA Usergroup event georganiseerd. Dat was een dag vol met Sparx Enterprise Architect kennisdeling. In de afgelopen periode hebben we daarom in samenwerking met ability engineering gezocht naar een nieuwe datum waarop we in Nederland een EA Usergroup event kunnen organiseren. Het is nog vroeg om aan te kondigen maar de datum voor het event wordt:

28 september 2018

De 28ste september wordt wederom een congres met meerdere tracks waarin zowel technische onderwerpen als modelleerervaringen worden uitgewisseld. We zijn nog aan het onderzoeken of het mogelijk is om voorafgaand aan het congres een trainingdag te organiseren. 

Wil je geinformeerd blijven worden over dit event schrijf je dan in voor onze email nieuwsbrief of kijk op http://eausergroup.com.

Door: Bert geschreven op 09-12-2017

Het begin van een community
Extensie voor EA ten behoeve van het dedupliceren van repositories. Beschreven vanuit een community perspectief

In de afgelopen periode ben ik door een tweetal klanten benaderd om met hen mee te denken over het dupliceer probleem. Dat probleem ontstaat eenvoudig op het moment dat je met een groot team werkt in een centrale architectuur repository. Allereerst hebben we gezocht naar een manier om duplicaten in een repository inzichtelijk te maken. Daartoe zijn een aantal eenvoudige report templates ontwikkeld. 

Vervolgens is gezocht naar een werkwijze waarbij de repository daadwerkelijk gededupliceerd kan worden. Dedupliceren betekent dat elementen met dezelfde naam, stereotype en versienummer samengevoegd worden. Samenvoegen betekent dat de kunt elementen zoals attributen, links, tagged values, associaties etc worden samengevoegd waarna een van de entiteiten naar een duplicaten map wordt verplaatst voor verwijderen en eventueel archivering.

Deze functie voorzag bij meerdere klanten in een behoefte. Echter een klant gaf aan de voorkeur te hebben voor een meer preventieve aanpak en reeds bij het creeren van elementen gesignaleerd te worden op mogelijke duplicaten. Daartoe is een nieuw scherm geintroduceerd het ArchiMAID scherm.

Een mooi voorbeeld van hoe op eenvoudige wijze een community ontstaat waarin gezamenlijk extra functionaliteit wordt ontwikkeld voor Enterprise Architect. Voordeel is dat dit voor de deelnemende organisatie goedkoop is (je deelt in de kosten). Daarnaast kun je als organisatie bijdragen aan en meedenken over nieuwe functionaliteitein. Echter het grootste voordeel is dat er een gezamenlijk inzicht ontstaat en kennis uitgewisseld wordt over werkwijzen in het werken met EA.

Kijk voor meer informatie op:

Wil je deelnemen in deze community en een bijdrage leveren aan de doorontwikkeling van deze extensie neem dan gerust contact met ons op via de contactpagina

 

Door: Bert geschreven op 03-12-2017

Images voor niet ICT archimate stakeholders
Image library inzetten voor visualisaties in EA

ArchiMate is een modelleertaal voor architectuur die een relatief formele definitie heeft. Ieder concept en associatie heeft een eigen definitie en betekenis. Daarnaast is er een relatief groot aantal concepten en associaties. Daarnaast zijn er diverse constraints op het vlak van associaties en gebruik van concepten zoals bij viewpoints.

Toch heeft ArchiMate voor de communicatie binnen deze formele grenzen een aantal voordelen. Met name als vocabulaire voor de interactie binnen een groep van architecten. 

Voor interactie met behulp van ArchiMate diagrammen met niet architecten is de modelleertaal niet altijd gschikt. Stakeholders uit de business kennen de notatie niet en diagrammen worden al snel als complex gezien. Daarnaast is een diagram niet altijd visueel aantrekkelijk. Onderstaand diagram toont een standaard ArchiMate diagram

Een diagram met een beperkt aantal element typen maar relatief veel elementen. Toch wordt dit diagram door een groot aantal stakeholders als complex gezien. Daarom hebben we gekozen om het model iets te vereenvoudigen door de niet relevante elementen te verwijderen. Daarnaast is ervoor gekozen om de elementen te vervangen door een grafische weergave op basis van een door Sparx ontwikkelde image library. De afbeelding woordt daardoor aantrekkelijker.

Het grafische diagram toont dezelfde informatie echter met een visuele representatie. Een diagram wordt als aantrekkelijker beschouwd. Vormgeving is dus relevant. Wil je aan de slag met deze image library ga dan naar de link waar deze image library te downloaden is: https://www.sparxsystems.com.au/resources/image_library.html

 

Door: Bert geschreven op 25-09-2017

Puretext bij plakken van notes
Puretext als hulpmiddel bij kopieren en plakken

Bij het modelleren  van architecturen die gebruikt worden in een repository kopieer ik vaak via het klembord stukken tekst uit bijvoorbeeld word documenten via het klembord naar het notes veld van de verschillende entiteiten in Enterprise Architect.

Knelpunt daarbij is dat via het klembord de opmaak vanuit het word document wordt meegekopieerd. Binnen Enterprise Architect is dat nog tot daaraantoe maar ga ik vervolgens documenten genereren dan gaat het mis, er komen namelijk html codes in de tekst te staan.

Een handlig hulpmiddel hierbij is een open source tooltje pure text hiermee kun je op eenvoudige wijze met een andere toetscombinatie dan Ctrl-V een onopgemaakte tekst kopieren in een tekstvak. Is trouwens niet alleen in EA handig maar ook bij allerlei websites met invoervelden e.d. die hetzelfde gedrag hebben.

 

Puretext kan gedownload worden van https://stevemiller.net/puretext/ en hoeft niet geinstalleerd te worden via een setup maar is een eenvoudige gezipte executable die op een willekeurige plaats op een schijf geinstalleerd kan worden

Door: Bert geschreven op 19-07-2017

Een hub en spoke model op basis van reusable asset services
Het gebruik van reusable asset services voor de introductie van een hub en spoke model voor architectuur repositories

Bij het inzetten van Enterprise Architect als architectuur repository zal op een bepaald moment een tweedeling ontstaan. Ten eerste van architectonderdelen die min of meer stabiel zijn en onderdeel uitmaken van de referentie architectuur. Denk hierbij aan:

  • Principes
  • Bouwblokken
  • Architectuur patronen
  • Generieke (herbruikbare) elementen

Ten tweede zullen, zeker bij een projectmatige werkwijze delen ontstaan van specifieke zaken zoals:

  • Requirements
  • Architectuurschetsen van de oplossing
  • Projectspecifieke (data) modellen

Bij het gebruik van een centrale architectuur repository kan dit een aantal problemen opleveren, omdat er een vermenging plaatsvindt van generieke- en projectspecifieke zaken. Enkele knelpunten die ik regelmatig terug zie bij klanten zijn:

  • Complexe en omvangrijke boomstructuur in de projectbrowser
  • Beperkingen in de zoekfunctionaliteit met name dubbelingen
  • Complexiteit in de inrichting van het modelmanagement.

Organisaties gaan daarom op zoek naar alternatieven om deze knelpunten te reduceren. Bijvoorbeeld door de introductie van een centraal register (de hub) voor de referentie architectuur en specifieke repositories voor de verschillende projecten (spokes). Echter een knelpunt is dat in de project specifieke repositories (spokes) gebruik gemaakt moet worden van elementen die al zijn uitgewerkt in de referentie architectuur (hub).

Hiervoor zijn een aantal voorzieningen beschikbaar waarbij met bijvoorbeeld import en export routines. Daarnaast is er een voorziening beschikbaar die dit model op krachtige wijze kan ondersteunen namelijk de Reusable Asset Services (RAS).

De RAS is een verbijzondering van de cloudserver en biedt de mogelijkheid om op een gecontroleerde wijze delen van de centrale repository beschikbaar te stellen in andere repositories. Vervolgens gaat deze inhoud deel uitmaken van de repository en wordt het ontsloten in de diagrammen en de projectbrowser.

In een aantal projecten heb ik deze werkwijze toegepast voor het introduceren van een dergelijk hub en spoke model. Ervaringen zijn over het algemeen positief, al is een grondige voorbereiding van de inrichting essentieel voor succes. Momenteel werk ik aan een eenvoudige checklist die ik zal delen zodra gereed op deze site

 

Door: Bert geschreven op 19-07-2017

EAxpertise een nieuw samenwerkingsverband
Introductie tot onze dienstverlening

In de afgelopen periode hebben Bert Dingemans en Han van Roosmalen regelmatig samengewerkt op het vlak van de modelleertool Enterprise Architect. Bij deze gezamenlijke opdrachten bleek dat onze expertise een mooie combinatie is van een totaalaanbod op het vlak van informatie architectuur, software ontwerp en ontwikkeling en de inzet van architectuurmethoden. Reden voor ons om de handen ineen te slaan en een gezamenlijk platform te introduceren te weten EAxpertise.

Han en Bert kennen elkaar van de demand group een groep van onafhankelijke informatie architecten binnen The Future Group. Door onze nauwe relatie met dit maatschap kunnen wij u eenvoudig in contact brengen met experts op de aanpalende vakgebieden. Hiermee denken wij een mooi aanbod te kunnen doen aan iedereen die op effectieve wijze met Sparx Enterprise Architect aan de slag wil.

Door: Bert geschreven op 12-05-2017



Copyright (c) 2017 Van Roosmalen en Interactory. Ontwerp door FCT.