Kenmerken van DLArchitect
Kenmerken van DLArchitect
Bert Dingemans, e-mail :
[email protected] www : http://www.dla-os.nl
1
DLA Ontwerp en Software, Culemborg
Kenmerken van DLArchitect
Inhoud KENMERKEN VAN DLARCHITECT .................................................................................. 1 INHOUD .................................................................................................................2 INLEIDING ...............................................................................................................3 ARCHITECTUUR .........................................................................................................3 Merode .............................................................................................................3 Methode en Tool .................................................................................................3 Drie Lagen Architectuur ........................................................................................4 METHODISCHE STAPPEN .................................................................................................5 SPECIFIEKE NOTATIEWIJZEN .............................................................................................6 ER Diagram en Existency Dependancy Diagram .............................................................6 Object Event Diagram ...........................................................................................7 Role Structure Diagram .........................................................................................7 Method Parameter Diagram ....................................................................................8 Service Diagram ..................................................................................................9 Proces of Flow Diagram .........................................................................................9 HULPMIDDELEN IN DE SOFTWARE ...................................................................................... 10 Modelleer assistent ............................................................................................ 10 Verkenner en diagram vensters ............................................................................. 11 Object Model Validatie ....................................................................................... 12 Genereren en propageren .................................................................................... 13 Code generator ................................................................................................. 15 Scripting omgeving............................................................................................. 16 MEER INFORMATIE ..................................................................................................... 16
2
DLA Ontwerp en Software, Culemborg
Kenmerken van DLArchitect
Inleiding DLArchitect is een architectuur methode en een Model Driven Development toepassing voor het opstellen van modellen voor informatiesystemen en/of organisatie(onderdelen). Enerzijds is het product uniek in zijn samenstelling (een methode en een tool). Vanzelfsprekend is de methode ook te gebruiken zonder geautomatiseerde ondersteuning. Echter de modellen zullen snel dusdanig omvangrijk zijn dat het ondoenlijk is dit zonder automatisering te onderhouden. Anderzijds is de methode uniek omdat het met behulp van een beperkt aantal eenvoudige notatiewijzen zowel statische als dynamische aspecten van het model gemodelleerd worden. Daarnaast wordt al tijdens de analysefase gewerkt met een gelaagde architectuur. Dit artikel geeft een beeld van de kenmerken van deze methode. Hierbij wordt uitgegaan van de combinatie van de methode en de tool. Zo zult u veel schermen uit deze toepassing zien als voorbeeld bij bijvoorbeeld de notatiewijzen en de beschrijving van de lagen. Het artikel heeft echter als doel een globaal overzicht te geven van de kenmerken. Er zijn andere documenten (en webcasts) beschikbaar op de website die een completer beeld geven.
Architectuur Merode DLArchitect is gebaseerd op de methode Merode ontwikkeld door de Universiteit van Leuven. Deze methode ontstaan in de negentiger jaren van de vorige eeuw heeft als uitgangspunt dat een objectmodel ontstaat waarbij zowel de levensloop als de statische aspecten van objecten wordt gemodelleerd. De methode heeft een eigen notatie ontwikkeld, welke voor het statische model sterk lijkt op de UML notatie, voor een deel van het dynamische model worden JSD’s of State Transition Diagrams gebruikt. De notatie waarmee de dynamische aspecten gekoppeld worden aan de statische aspecten is uniek maar zeer eenvoudig in gebruik. In het volgende hoofdstuk worden een aantal notaties toegelicht. Merode is gebaseerd op een wiskundig model. Dit biedt een aantal voordelen, allereerst heeft een wiskundig model een domein waarbinnen de wiskundige regels gelden. Ten tweede biedt dit de mogelijkheid om het objectmodel te valideren. Zeker in omvangrijke modellen is het opsporen van onvolkomenheden een krachtig hulpmiddel. Als laatste voordeel geldt dat de wiskundige regels gebruikt kunnen worden om objectregels te genereren en te propageren. Hierover in een latere paragraaf meer. Merode gaat hoofdzakelijk in op het modelleren van een domeinmodel. In de loop der tijd blijkt dat dit voor het modelleren van omvangrijke applicaties in een complex organisatiedomein een aantal uitbreidingen vereist. Daarom zijn een aantal uitbreidingen toegevoegd om services en werkprocessen te modelleren. Hierbij is een notatiewijze ontwikkeld die aansluit bij de opzet van de reeds aanwezige notaties. Waar mogelijk wordt aangesloten bij bestaande en algemeen geldende notatiewijzen zoals het activity diagram voor werkproces modelleren. Methode en Tool Zoals al genoemd is DLArchitect een combinatie van een methode en een MDD tool. Gezien de wiskundige basis van de methode leent deze zich uitstekend voor een geautomatiseerde ondersteuning. Daarnaast is door de beperkte en gestandaardiseerde keuze van notatiewijzen een diagram techniek mogelijk op basis van geautomatiseerd modelleren. Daarnaast heeft een tool een aantal voordelen voor het modelleren van een objectmodel. Met name bij grote modellen is het eenvoudig mogelijk om te zoeken en te filteren. Bij de invoer kunnen daarnaast belangrijke validaties uitgevoerd worden. Ook kunnen de gegevens getoond worden in diverse grafische presentaties en sorteringen. Als laatste is de mogelijkheid om allerlei formaten te genereren op basis van een tool. Denk hierbij bijvoorbeeld aan documentatie maar ook aan programmacode.
3
DLA Ontwerp en Software, Culemborg
Kenmerken van DLArchitect
Afbeelding 2 Objectmodel weergave in tool Drie Lagen Architectuur Zoals de naam al zegt is de DLA een architectuur die uit drie lagen bestaat. Wat is een laag? Een laag is een implementatie van inkapseling. In een laag bevinden zich bepaalde logica en entiteiten. Iedere laag communiceert alleen maar met de eerste laag die daaronder ligt. Hierdoor is het dan ook niet nodig dat een laag kennis heeft over structuren en gedrag zoals dit in onderliggende lagen voorkomt. Alleen de eerste laag is in deze relevant. De lagen in DLA zijn van onder naar boven: • Bedrijfsdomeinlaag • Gebruikerslaag • Presentatielaag Bedrijfsdomeinlaag In de bedrijfsdomeinlaag worden die entiteiten opgenomen die statisch van aard zijn. Deze worden dan ook beschreven in de bedrijfsdomeinlaag. Omdat DLA een OO methode, is zullen hier vooral de objecttypen beschreven worden. Objecttypen bestaan uit een beschrijving van eigenschappen of attributen en uit gedrag of methoden. Met methoden verandert men de toestand (eigenschappen) van een object. Gebruikerslaag Binnen organisaties wordt op verschillende manieren naar objecten gekeken. In de gebruikerslaag worden deze verschillende views op de objecten gemodelleerd. Dit vindt plaats door services en gebeurtenistypen. Presentatielaag De verschillende views zoals deze ontstaan in de gebruikerslaag moeten gepresenteerd worden. Bijvoorbeeld in schermen en rapporten van een computertoepassing. Dit wordt beschreven in interacties. Interacties zijn afhankelijk van een werkproces binnen de organisatie en kunnen door
4
DLA Ontwerp en Software, Culemborg
Kenmerken van DLArchitect
actoren bewerkt worden binnen een werkprocesfase. Dit wordt afgehandeld in de presentatielaag. Voor een case zijn er bijvoorbeeld meerdere invoer- en bewerkschermen voor data-entry. Maar ook rapportages behoren tot de presentatielaag.
Afbeelding 1: Gelaagde objecten
Methodische stappen Om tot een ontwerp van een softwareproduct te komen, kunnen een aantal stappen worden gevolgd. Met behulp van deze stappen is het mogelijk om tot een compleet OO ontwerp te komen van het te realiseren (deel)systeem. Deze stappen moeten veelal gezien worden als een richtlijn. Ook hierin geldt weer dat iedere professional een eigen werkwijze heeft. Het volgen van de stappen zal voor een onervaren DLA-gebruiker structuur bieden. Een ervaren ontwerper zal veelal een eigen werkwijze hebben waarmee hij/zij tot een ontwerp komt, echter altijd gebaseerd op onderstaande stappen. In onderstaande opsomming de methodische stappen • • • • • • • • • • •
Identificeer object- en gebeurtenistypen Samenstellen Object Gebeurtenis-tabel Vervaardigen van ER diagram of ED diagram Volgorde beperkingen in Rolstructuren Informatiebeperkingen Identificeren van services Creëren van een datamodel in een ADT Specificeren van methoden en gebeurtenissen Identificeer gegevensbewerkende en verstrekknde services Identificeer werkprocessen en actoren Identificeer interacties
Binnen de DLArchitect worden de methodische stappen ondersteunt met hulpmiddelen zoals de modelleer assistent
5
DLA Ontwerp en Software, Culemborg
Kenmerken van DLArchitect
Afbeelding 3 Modelleer assistent
Specifieke notatiewijzen ER Diagram en Existency Dependancy Diagram Een ER-diagram is er op gericht de objecttypen en de relaties tussen de verschillende objecttypen in beeld te brengen.
Afbeelding 4 ER Diagram Dit wordt gedaan door objecttypen als een rechthoekje weer te geven met daarin de naam van het objecttype. Een relatie wordt weergegeven als een lijn tussen twee objecten. Deze lijn heeft de naam van de relatie. Van een relatie worden verschillende cardinaliteiten gemodelleerd.
6
DLA Ontwerp en Software, Culemborg
Kenmerken van DLArchitect
Object Event Diagram In de Object Gebeurtenis-tabel wordt een matrix opgesteld waarbij op de verticale as alle gebeurtenissen worden getoond en op de horizontale as alle objecten. In de matrix wordt door middel van een drietal karakters aangegeven hoe een object bij een bepaalde gebeurtenis betrokken is. • • •
B (begin) betekent dat een object op basis van dit karakter betrokken is, hierdoor een nieuw object van dit type wordt gecreëerd. M (wijzig) houdt in dat een object door deze gebeurtenis wijzigt. E (einde) door deze gebeurtenis eindigt het leven van een object.
Afbeelding 5 Object Event Diagram Role Structure Diagram Met behulp van rolstructuren is de levensloop van objecttypen te beschrijven. Rolstructuren kunnen het beste gezien worden als een boom waarbij de naam van het objecttype als wortel fungeert. Vanuit deze wortel wordt de boom vervolgens van links naar rechts en van boven naar beneden gelezen. In de figuur is een voorbeeld opgenomen.
7
DLA Ontwerp en Software, Culemborg
Kenmerken van DLArchitect
Afbeelding 6 Role structure Method Parameter Diagram Op basis van de gebeurtenistypen die de status van één of meerdere objecttypen kunnen veranderen kunnen de methoden bepaald worden. In het Method Parameter Diagram kan gemodelleerd worden welke eigenschappen van een object type gewijzigd worden door dit gebeurtenistype cq deze methode. Door een kruisje te plaatsen in de matrix wordt aangegeven welke eigenschap gewijzigd wordt in de methode.
8
DLA Ontwerp en Software, Culemborg
Kenmerken van DLArchitect
Afbeelding 7 Method Parameter Diagram Service Diagram Met behulp van een service diagram wordt grafisch weergegeven op welke wijze de gegevens uit het domein model benaderd worden op basis van de gedefinieerde service. Hierbij is uitgegaan van de bestaande notatie van de ER diagrammen. In de rechthoeken worden alleen die gegevens van een entiteit getoond die daadwerkelijk gebruikt worden in een service.
Afbeelding 8 Service diagram Proces of Flow Diagram In het process of flow diagram kunnen de werkprocessen op een eenvoudige wijze gemodelleerd worden. Het is gebaseerd op een notatie zoals gebruikt binnen de activity diagrams in UML.
9
DLA Ontwerp en Software, Culemborg
Kenmerken van DLArchitect
Afbeelding 9 Process diagram
Hulpmiddelen in de software Modelleer assistent Het opstellen van een objectmodel of het aanpassen van delen hiervan bestaat uit een aantal stappen, waarbij de stappen veelal het beste in een bepaalde volgorde kunnen worden uitgevoerd. Daarom zijn in de DLArchitect assistent vensters opgenomen. Een assistentscherm kan beschouwd worden als een soort wizard, met de aanpassinguitzondering dat vanuit een assistentscherm andere vensters geopend worden. Wil men een bepaalde stap binnen het assistentscherm overslaan dan is dit eenvoudig mogelijk.
10
DLA Ontwerp en Software, Culemborg
Kenmerken van DLArchitect
Afbeelding 10 Assistentscherm Verkenner en diagram vensters In de DLArchitect worden twee typen schermen onderscheiden. De eerste zijn de diagramschermen. Dit zijn de schermen waarmee diagrammen getekend kunnen worden gebaseerd op de verschillende notatiewijzen. Deze schermen zijn gestandaardiseerd van opzet zodat het menu en de knoppenbalk altijd een zelfde werkwijze hebben. Naast de diagramschermen zijn er een aantal verkennerschermen. Hierbij wordt in een boomstructuur de inhoud van de repository getoond. Activeert men een element aan in de boom dan wordt in het formuliergedeelte van het verkennerscherm de detailinformatie van deze specifieke entiteit getoond. Het verkennerscherm heeft eveneens een gestandaardiseerde opzet. De boomstructuur biedt de mogelijkheid om door het gehele objectmodel van DLArchitect te navigeren.
11
DLA Ontwerp en Software, Culemborg
Kenmerken van DLArchitect
Afbeelding 11 Verkennerscherm Object Model Validatie DLArchitect is gebaseerd op de methode Merode. Deze modelleermethode is gebaseerd op een wiskundig model. Voordeel van dit model is dat het mogelijk is om te controleren of aan de modelleerregels is voldaan. Binnen DLArchitect is het valideren van modellen geautomatiseerd. Met name in omvangrijke objectmodellen is dit een krachtig hulpmiddel.
12
DLA Ontwerp en Software, Culemborg
Kenmerken van DLArchitect
Afbeelding 12 Object Model Validatie Genereren en propageren We kunnen enerzijds een validatie uitvoeren van ons opgestelde model. Anderzijds is het mogelijk om op in het objectmodel elementen te propageren. Zo hebben we gezien dat op basis van de Object Event Table bepaald wordt welke methoden behoren bij een gebeurtenis type en een object type. Deze matrix biedt dan ook de mogelijkheid om de methoden in de DLArchitect automatisch te genereren. Dit is slechts één voorbeeld van de vele mogelijkheden voor genereren en propageren. In onderstaande afbeelding het menu met deze genereer en propageer mogelijkheden.
13
DLA Ontwerp en Software, Culemborg
Kenmerken van DLArchitect
Afbeelding 13 Menu propageren Model simulator Bij het opstellen van een objectmodel zijn zeker in het begin van een modelleertraject veel aspecten onduidelijk. De ontwerper moet “een beeld” krijgen van het domein- en procesmodel. Hierbij is interactie met inhoudelijk deskundigen van het model essentieel. Probleem wat hierbij kan bestaan is dat de object modellen moeilijk interpreteerbaar zijn voor de inhoudelijk deskunidgen. Daarom is aan de DLArchitect een model simulator toegevoegd. Deze transformeert het object model direct naar voorbeeldschermen. Hierdoor wordt het mogelijk om gezamenlijk het objectmodel in de simulator te toetsen. De Afbeelding toont hoe deze simulator voorbeeldschermen samenstelt. Ook hierbij weer de opzet met aan de linkerzijde een boomstructuur en aan de rechterzijde een detailscherm.
14
DLA Ontwerp en Software, Culemborg
Kenmerken van DLArchitect
Afbeelding 14 Simulator Code generator Heeft u met DLArchitect een object model opgesteld dan kunt u dat enerzijds simuleren in de model simulator. Echter vaak wilt u dat er source code gegenereerd wordt op basis van het opgestelde objectmodel. Uw programmeertaal is veelal ook object georiënteerd van opzet en het genereren van source code levert u een enorme tijdsbesparing op. Binnen DLArchitect zijn voor een groot aantal talen scripts ontwikkeld waarmee u eenvoudig code kunt genereren van het objectmodel. In de figuur de verschillende genereeropties en een voorbeeldscript.
Afbeelding 15 Code generator
15
DLA Ontwerp en Software, Culemborg
Kenmerken van DLArchitect
Scripting omgeving Heeft u specifieke wensen omtrent het genereren van programma code of andersoortig materiaal zoals documentatie en volstaat de code generator van DLArchitect niet. Dit is geen probleem want DLArchitect heeft een scripting omgeving waarmee het mogelijk is om uw eigen code te genereren en weg te schrijven naar files. Hiertoe is een scripting omgeving toegevoegd waarbinnen met een eenvoudige scripting taal specifieke bewerkingen uitgevoerd kunnen worden. De scripting omgeving heeft een aantal eenvoudige hulpmiddelen zoals script templates. Daarnaast kunt u bij DLA Ontwerp & Software voorbeeld scripts aanvragen. Ook kunnen wij het ontwikkelen van scripts voor u uitvoeren.
Afbeelding 16 Scripting omgeving
Meer informatie Ik hoop dat u naar aanleiding van het lezen van dit document geïnteresseerd bent geraakt in de methode en tooling van DLArchitect. Mogelijk wilt u detailinformatie overde diverse producten. Op onze website www.dla-os.nl is veel informatie te vinden zoals: • • •
Artikelen en whitepapers over zowel de architectuur als de technologie Webcasts met voorbeeldpresentaties over de methodische stappen van de methode Freeware DLArchitect applicatie welke onbeperkt is in tijd maar een aantal functies minder heeft dan de shareware versie.
Wilt u een demonstratie van de DLArchitect waarbij u een beeld krijgt van de kracht en elegantie van onze werkwijze neem dan contact op met: DLA Ontwerp & Software Bert Dingemans M: 06-36431652 E:
[email protected]
16
DLA Ontwerp en Software, Culemborg