Leloux.eu

Theo's crib

  • Vergroot lettergrootte
  • Standaard lettergrootte
  • Verklein lettergrootte
Home

Structured activities in een Activity Diagram

E-mail Afdrukken PDF

Een activity diagram leent zich om de flow van een use case in beeld te brengen. Hierin vind je de happy flow en de alternatieve paden terug. De kunst van een goed activity diagram is dat hij niet te gedetailleerd is, maar wel net genoeg informatie bevat voor de ontwikkelaars en testers om de use case te kunnen bouwen en testen. In dit artikel wil ik ingaan op het gebruik van een specifiek soort activity, de structured activity.

Het kan voorkomen dat er in een activity diagram een selectie gedaan wordt van objecten uit het systeem, waarop bewerkingen worden uitgevoerd. Het probleem is dat het lastig is om dit in een diagram te modelleren door alleen gebruik te maken van de standaard activity.

Ter verduidelijking het volgende voorbeeld. Een salaris systeem moet een salarisverhoging doorvoeren voor alle medewerkers die een goede tot zeer goede beoordeling hebben gekregen tijdens de laatste ronde van functioneringsgespreken. Hierbij krijgen de medewerkers die een goede beoordeling kregen een verhoging van 3% en de medewerkers die een zeer goede beoordeling hebben gekregen krijgen er 5% bij. De medewerkers die een mindere beoordeling scoorden, krijgen volgens de bedrijfsregels van de klant nooit een verhoging. Dit is om de medewerkers te stimuleren om goed hun best te doen. Deze bedrijfsregel is één van de basisregels in de filosofie van het bedrijf, waarvoor het systeem gebouwd wordt

Een voorbeeld zonder structured activities

In het bovenstaande voorbeeld is het gebruik van een standaard activity nog goed te doen. Het doorvoeren van de salarisverhoging is een atomaire activiteit. Elke geselcteerde medewerker krijg op basis van zijn beoordeling een opgegeven verhoging. Maar wat als het systeem daarnaast ook een brief moet genereren voor elke medewerker die een verhoging heeft gehad. Wat als de inhoud van de brief afhankelijk is van de beoordeling. In dit geval is het doorvoeren van de salarisverhoging geen atomaire activiteit meer en kun je dit beter moduleren met een structured activity. Maar wat is nu eigenlijk een structured activiy?

Een structured activity is een activity, waarin een aantal activiteiten gegroepeerd worden in een aparte activity diagram. Hiermee houdt je enerzijds je activity diagram overzichtelijk en anderzijds kun je gemakkelijk een flow doorlopen voor een geselecteerd object in een activity diagram. Er zijn een aantal soorten structured activities:

  • De simple composite: Dit is niets anders dan een activiteit waarin een aantal activiteiten onafhankelijk van elkaar worden uitgevoerd. Volgens pragmatisch modelleren zou dit een kandidaat secondary use case kunnen zijn, maar soms wil je alleen maar een aantal activiteiten groeperen om het diagram overzichtelijk te houden, zonder hiervoor een secondary use case te introduceren. Een secondary Use Case is een extra use case die apart getest moet worden. Als er geen noodzaak is om een secondary use case te benoemen, anders dan het overzichtelijk houden van je activity diagrammen, dan kun je beter een simple composite gebruiken.
  • De Structured activity: Een groepering van activiteiten die een onderlinge samenhang hebben
  • De Conditional node: Een groep van activiteiten waarvoor de conditie bepaald welke er worden uitgevoerd.
  • De Loop node: Een opeenvolging van activiteiten die eventueel herhaald worden uitgevoerd op het zelfde object. Deze kun je gebruiken bij het linlezen van een bestand.
  • De sequential node: Een sequentiële opeenvolging van activiteiten

De toevoegen dat er ook een brief gegeneerd moet worden, wordt uitgewerkt naar een structured activity. Persoonlijk gebruik ik alleen deze activity type naast de standaard activity. Het activiy diagram ziet er nu als volgt uit.

 

Voorbeeld van een diagram met structured activity

 

Het activity diagram voor het doorvoeren van salarisverhogingen ziet er als volgt uit.

 

Een uitgewerkte structured activity

 

Door gebruik te maken van structured activities, kun je enerzijds je diagrammen klein en compact houden en kun je complexe bewerkingen op enkele objecten eenvoudig modelleren.

 

Laatst geupdate op zondag 15 november 2009 11:05