Studiewijzer module 03
Van usecases naar een domeinmodel
Nu je weet wat je applicatie allemaal ongeveer moet doen door het bepalen van de use cases of user stories (de functionele vereisten), en hoe je dat moet doen (de non-functionele vereisten), ga je een model maken van hoe je applicatie zich moet structureren.
Hiertoe maak je een domeinmodel waarin de essentiële domeinbegrippen en -concepten uitgewerkt worden en tot elkaar in relatie gezet worden.
Lezen
Lees de onderstaande hoofdstukken uit [LAR] over domain models:
-
Hoofdstuk 10
Na dit hoofdstuk kan je al beginnen met de onderstaande opdrachten over het vinden van de domeinbegrippen.
Deze hoofdstukken horen bij elkaar voor het tekenen van de domeinmodellen:
-
Hoofdstuk 11
-
Hoofdstuk 12
Je kan dan de opdrachten afmaken.
-
[LAR] Craig Larman, Applying UML and Design Patterns, 2nd Edition, ISBN 13: 9780130925695, https://www.utdallas.edu/~chung/SP/applying-uml-and-patterns.pdf
Opdrachten
Hieronder vind je een aantal casussen die je moet uitwerken in een domeinmodel.
Casus 1: Cursusomgevingen beheren
|
Note
|
Deze casus bouwt voort op casus 1 "Cursusomgevingen beheren" uit de vorige module. Lees die casus tekst ook weer aandachtig. |
Een cursus wordt gegeven voor een product van Topicus (Onderwijs), zoals ParnasSys of SOMtoday. De cursus heeft een code en een naam. Wanneer door de cursusleider de omgeving wordt aangevraagd wordt er vastgelegd voor welke cursus en product de omgeving wordt gebruikt.
Bij de aanvraag worden de startdatum en de eigenaar ingevuld. Wanneer de omgeving klaar is wordt de einddatum gezet en de URL waarop de omgeving beschikbaar is wordt vastgelegd en verzonden in de email naar de aanvrager. De einddatum wordt op 2 weken na de startdatum gezet. Voor de omgeving wordt een afspraak in de agenda van de eigenaar verzonden met daarin een unieke code (UUID) om de afspraak te kunnen identificeren.
Om een omgeving aan te maken moet er een URL aangeroepen worden op een server bij Justin. Deze URL is verschillend per product, bijv. https://foreman.edu.codes/create/parnassys.
Van de eigenaar wordt de naam en het emailadres vastgelegd zodat we de eigenaar via email kunnen bereiken voor notificaties en de afspraken.
Een omgeving kan als status "aangevraagd", "in gebruik", "wordt verwijderd" of "verwijderd" hebben. Wanneer de servers van de omgeving verwijderd zijn krijgt de omgeving in de applicatie de status "verwijderd". De omgevingsaanvragen blijven bewaard om zo later het gebruik in te kunnen zien.
-
Identificeer de mogelijke domein concepten en domein attributen door middel van Noun Phrase Identification. Doorloop alle stappen en probeer zo tot de uiteindelijke lijst van domein concepten en attributen te komen. Laat de tussenliggende stappen zien.
Nouns
-
Teken een domein class model. Ken de attributen aan de juiste concepten toe, en teken de juiste associaties. Let erop dat je de juiste multipliciteiten aangeeft tussen de verschillende concepten.
Domeinmodel diagram:
Casus 2: Kaaswinkel
|
Note
|
Deze casus bouwt voort op casus 2 "Kaaswinkel" uit de vorige module. Lees die casus tekst ook weer aandachtig. |
De kaaswinkel slaat het assortiment aan kazen op met de naam, een omschrijving en de prijs per 100gr. Wanneer een klant de bestelling afrondt worden de winkelwagen regels opgeslagen als orderregels. Deze bestaan uit de kaas die aangeschaft is, de hoeveelheid en het totaalbedrag van de regel. Een order bestaat uit minimaal één orderregel. Van de order wordt het totaalbedrag, de verzendkosten, eventuele betalingskosten, en wie het besteld heeft. De betaalwijze wordt ook geregistreerd zodat de winkel kan besluiten te stoppen met de betaalmethode als er te weinig gebruik van gemaakt wordt. Bij de koper wordt het verzendadres opgeslagen zodat de winkel de bestelling kan verzenden.
-
Identificeer de mogelijke domein concepten en domein attributen door middel van Noun Phrase Identification. Doorloop alle stappen en probeer zo tot de uiteindelijke lijst van domein concepten en attributen te komen. Laat de tussenliggende stappen zien.
Nouns
-
Teken een domein class model. Ken de attributen aan de juiste concepten toe, en teken de juiste associaties. Let erop dat je de juiste multipliciteiten aangeeft tussen de verschillende concepten.
Domeinmodel diagram:
Casus 3: Pakketbedrijf
|
Note
|
Deze casus bouwt voort op casus 3 "Pakketbedrijf" uit de vorige module. Lees die casus tekst ook weer aandachtig. |
Een pakje wordt bij "Van Hot naar Her" geregistreerd door het gewicht vast te leggen, het ophaaladres en het afleveradres. Een adres is een straatnaam, huisnummer, postcode en plaats. Een pakketje krijgt ook een track and trace code (UUID).
"Van Hot naar Her" heeft verschillende distributiecentra. Een distributiecentrum heeft naam en een adres. Als een pakketje bij een distributiecentrum wordt afgeleverd wordt dit geregistreerd met het aflevermoment. Wanneer het pakketje weer onderweg is wordt dit ook met een tijdstip geregistreerd. Je kan dus altijd vragen waar een pakketje zich bevindt op een willekeurig tijdstip.
Een pakket begint met "klaar voor ophalen". Als de bezorger het pakketje opgehaald heeft, verandert de status naar "Onderweg", en wordt het pakketje toegevoegd aan de lading van de bestelbus of -vrachtwagen. Wanneer het pakketje afgeleverd is in het distributiecentrum dan is de status "In distributiecentrum", en is het pakketje verwijderd uit de lading van de vrachtwagen. Wanneer het pakketje onderweg is naar het afleveradres verandert de status weer naar "Onderweg" en wordt het weer aan de lading van de vrachtwagen toegevoegd. Als het pakketje bezorgd is dan is de status "Bezorgd", en is het pakketje weer verwijderd uit de lading.
Een bezorger identificeert zich met een code en een naam. De bestelbus of vrachtwagen van de bezorger heeft een maximale belasting qua gewicht, en een maximale snelheid. Een vrachtwagen heeft een maximale snelheid van 90km/u, en een maximaal gewicht van 10.000kg; een bestelbus heeft een maximale snelheid van 130km/u en een maximaal gewicht van 2.000kg, daarnaast mag een pakketje voor een bestelbus maximaal 100kg wegen. Dit geldt niet voor een vrachtwagen.
Omdat "Van Hot naar Her" altijd de dienstverlening wil kunnen verbeteren is het noodzakelijk om alle stappen te kunnen zien dat een pakketje doorlopen heeft: van aanmelding tot aflevering. Hierdoor kunnen ze zien hoe lang het duurt voordat een pakketje afgeleverd wordt en hoe vaak bijvoorbeeld iemand niet thuis is.
-
Identificeer de mogelijke domein concepten en domein attributen door middel van Noun Phrase Identification. Doorloop alle stappen en probeer zo tot de uiteindelijke lijst van domein concepten en attributen te komen. Laat de tussenliggende stappen zien.
Nouns
-
Teken een domein class model. Ken de attributen aan de juiste concepten toe, en teken de juiste associaties. Let erop dat je de juiste multipliciteiten aangeeft tussen de verschillende concepten.
Domeinmodel diagram:
« Vorige module Volgende module »