Dankwoord - martes
Dankwoord - martes
Dankwoord - martes
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Hoofdstuk 5<br />
Case study - Royal and Loyal<br />
In dit hoofdstuk willen we nagaan hoe de transformatie van OCL expressies naar JAVA die we<br />
met behulp van het HAT tool geimplementeerd hebben in werkelijkheid kunnen toepassen. Om<br />
dat te realiseren hebben we als gevalstudie het voorbeeld van [1] overgenomen. Dit voorbeeld<br />
gaat over een software systeem van een imaginaire bedrijf die Royal and Loyal (R&L) noemt.<br />
5.1 Beschrijving van de case study<br />
R&L behandelt loyaliteitsprogrammas voor bedrijven die aan hun klanten verschillende soorten<br />
van bonussen bieden. Deze toeslagen hebben meestal de vorm van extra punten of air<br />
miles maar zijn er ook andere soorten van bonussen mogelijk. Met andere woorden eender<br />
welke dienst een bedrijf wenst te bieden dan is deze in een loyaliteitsprogramma overgebracht.<br />
figuur 5.1. toont het UML klassemodel dat R&L voor het meest van zijn klanten gebruikt.<br />
De centrale klasse in het model is LoyalyProgram. Een bedrijf dat aan zijn klanten lidmaatschap<br />
in een loyaliteitsprogramma biedt noemen we ProgramPartner. Meer dan een bedrijf<br />
mag gebruik maken van hetzelfde programma. Bijgevolg kunnen klanten van alle diensten<br />
genieten die door de participerende bedrijven aangeboden zijn indien ze in een loyaliteitsprogramma<br />
participeren.<br />
Elke klant van een ProgramPartner kan in een loyaliteitsprogramma toetreden door het invullen<br />
van een formulier en het verkrijgen van een lidmaatschapskaart. De klasse Customer<br />
representeert de klanten die in het programma participeren. De lidmaatschapskaart is door<br />
de klasse CustomerCard voorgesteld. Een CustomerCard is maximaal aan een persoon geassocieerd,<br />
maar kan gebruikt worden door de ganse familie of zaak. De meeste programmas<br />
laten klanten toe om punten te sparen. Elke individuele programmapartner beslist de toekenning<br />
van punten aan zijn klanten voor een bepaalde aankoop. Elke klant kan met zijn/haar<br />
bespaarde punten specieke diensten van een van de programmapartners aankopen. Beheren<br />
van spaarpunten is in klasse LoyaltyAccount opgenomen.<br />
Op een LoyaltyAccount zijn verschillende transacties mogelijk: transacties waarbij een klant<br />
punten verkrijgt en andere waarbij een klant punten besteedt. De eerste soort is in ons systeem<br />
als de klasse Earning modelleert en de tweede als Burning. Deze twee soorten van transacties<br />
zijn als subklassen van de klasse Transaction gemodelleerd.<br />
54