• No results found

Functioneel ontwerp Data flow visualisatie tool voor ISMetadata

3. Beschrijving van functionaliteiten

In dit hoofdstuk zijn de use case beschrijvingen(scenario’s) opgenomen. Enkel de beschrijvingen van de use cases die worden uitgewerkt zijn hier te vinden. Deze zijn bepaalt door de prioriteiten die de opdrachtgever heeft gesteld aan de requirements. Voor deze prioritering en compleet overzicht van de use cases zie het Requirements Discipline document van de data flow visualisatie tool.

Verder wordt er in dit hoofdstuk de structuur van de ISMetadata visualisatie tool naar voren gebracht aan de hand van een UML klassendiagram.

3.1 Use case beschrijving

Naam Kiezen systeem

ID UC 1

Beschrijving Het kiezen van het gewenste systeem om te visualiseren uit een lijst die wordt gegenereerd uit ISMetadata database

Primaire actor(s) Ontwikkelaar of ontwerper (Actor) Secondaire actor(s) -

Pre-conditie(s) -

Scenario beschrijving 1. Actor start de visualisatie tool

2. Systeem haalt de lijst met beschikbare systemen op[1] 3. Systeem toont de lijst met beschikbare systemen 4. Actor selecteert het gewenste systeem

5. Systeem haalt de attributen met bijbehorende bewerkingen en bestemmingsattributen van het geselecteerde systeem op Postconditie(s) De actor heeft het gewenste systeem geselecteerd ter visualisatie Alternatieve flow [1] Geen beschikbare systemen

3.Systeem toont een lege lijst van systemen 4.Actor sluit de visualisatie tool af

Naam Bekijken data flow

ID UC 2

Beschrijving Het bekijken van de volledige data flow visualisatie Primaire actor(s) Ontwikkelaar of ontwerper

Secondaire actor(s) -

Pre-conditie(s) Er is een beschikbaar systeem geselecteerd

Scenario beschrijving 1. Systeem haalt de gegevens van het geselecteerde systeem op

2. Systeem toont de data flow van het systeem van de geselecteerde systeem. Waarbij de attributen uit de brontabellen, de attributen uit het

bestemmingsmodel, aggregatie bewerkingen en de flow van de data tussen bron en bestemming[1]

Postconditie(s) De actor kan de gewenste data flow visualisatie bekijken Alternatieve flow [1] Geselecteerde systeem heeft nog geen data flow

Naam Aanpassen data flow

ID UC 3

Beschrijving Het aanpassen van de flow van een attribuut in de visualisatie Primaire actor(s) Ontwikkelaar of ontwerper

Secondaire actor(s) -

Pre-conditie(s) Er is een systeem met een data flow geselecteerd

Scenario beschrijving 1. Actor selecteert de data flow pijl van het attribuut 2. Systeem geeft de versleeppunten van de pijl weer

3. Actor selecteert het pijluiteinde dat versleept dient te worden en versleept deze naar de nieuwe transformatie

4. Actor zet de pijl op de nieuwe transformatie[1][2] 5. Actor klikt op opslaan

6. Het systeem slaat de wijziging op

Postconditie(s) De actor heeft de data flow van een attribuut naar wens gewijzigd Alternatieve flow [1] geen transformatie geselecteerd

5. Systeem slaat wijziging niet op

[2] Actor selecteert een ander bronattribuut of bestemmingsattribuut 5. Systeem zet de pijl terug op de transformatie

3.2 Package diagram

De Data Flow Visualisatie Tool moet gebruik maken van een database. Deze database wordt gemaakt door ISMetadata. In de database wordt de data flow van de systemen op attribuut niveau beschreven. Om de

mogelijkheid te houden dat de database wordt aangepast, is ervoor gekozen de logica van de database en de applicatie gescheiden te houden. In het package diagram is daarom te zien dat de database in een aparte data source package is geplaatst.

De data uit de database wordt gebruikt om een data flow te kunnen visualiseren. Het data package is binnen de applicatie verantwoordelijk voor het maken van een connectie met de database, het ophalen van de data en het opslaan van aanpassingen. Dit wordt binnen de package gedaan door de Data Access klassen. In de Data Logic van dit package staat alle logica omtrent het ophalen en aanpassen van de data. Hierin worden dus de benodigde query’s beheerd om data aan te passen en op te halen. Deze worden dan door de database connectie uitgevoerd op de database. Het resultaat wordt teruggegeven aan de Data Logic. Bij het veranderen van de database dient deze package te woorden aangepast. De connectie zal moeten worden aangepast als deze gebruik gaat maken van een andere DBMS.

De Data package is verbonden aan het domein. Binnen het domein wordt de opgehaalde data uit de Data package geïnterpreteerd. Dit betekent dat de relationele data die wordt gegeven vanuit de Data Logic wordt omgezet naar objecten met behulp van de business logica. Verder worden de aanpassingen in de data flow geregistreerd. Hierbij worden de veranderingen voorbereid om met de data package te worden opgeslagen.

Om de business logica te begrijpen achter een data flow is er gesproken met een expert, in dit geval de

opdrachtgever. Er moet worden vastgesteld op welke manier een data flow dient te worden gevisualiseerd. Er is eerder vastgesteld dat er drie verschillende onderdelen zijn in een data flow, namelijk: bronattributen, bewerkingen en bestemmingsattributen. De wijze waarop deze drie onderdelen zich met elkaar verhouden is nog niet

vastgesteld. Dit is gedaan door een interview te houden met de opdrachtgever. Deze is opgesteld op dezelfde wijze als bij de requirements analyse. Er zijn hierbij een aantal regels naar voren gekomen. Een data flow voldoet altijd aan deze regels verzekerde de opdrachtgever. Hierbij zijn de volgende regels naar voren gekomen:

Regel Nr Regel

1 Een bestemmingsattribuut heeft altijd een bewerking, ook al is deze bewerking leeg 2

Een bestemmingsattribuut kan ontstaan uit meerdere bronattributen. Voor een bronattribuut moet de naam, tabel en database en bijbehorende bewerking overeenkomen om dit vast te stellen

3 Een bestemmingsattribuut kan ontstaan zonder bronattributen te hebben 4 Een bewerking kan meerdere bronattributen bewerken

5 Een bronattribuut kan meerdere bestemmingen hebben, deze worden als een nieuwe data flow gezien

6 Een bronattribuut kan geen data flow hebben naar een ander bronattribuut

7 Bij het aanpassen (van een data flow) kan een bronattribuut alleen worden gekoppeld aan een