Hoofdstuk 4

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Wat is een vereiste voor het gebruik van compositie in een model?

  • De delen moeten onafhankelijk van het geheel bestaan.
  • De multipliciteit aan de zijde van het geheel kan meerdere waarden zijn.
  • Het geheel moet verantwoordelijk zijn voor de creatie en vernietiging van de delen. (correct)
  • Er moet geen fysieke relatie zijn tussen de conceptuele klassen.

Wanneer is het mogelijk om een associatieklasse te gebruiken?

  • Als er meerdere attributen nodig zijn die geen relatie hebben met de conceptuele klassen.
  • Als de associatie tussen twee conceptuele klassen een maximum multipliciteit van * heeft. (correct)
  • Als de levensduur van de associatieklasse onafhankelijk is van de associatie.
  • Als er geen aparte attributen aan de associatie verbonden zijn.

Wat wordt bedoeld met een 'fysiek' verband in het modelleren van conceptuele klassen?

  • Een relatie die noodzakelijkerwijs een bestaan van de delen binnen het geheel impliceert. (correct)
  • Een relatie waarbij de naam van het geheel en de delen niet relevant zijn.
  • Een relatie zonder expliciete attributen.
  • Een relatie die de creatie van nieuwe delen vereist.

Wat is een belangrijke eigenschap van een associatieklasse?

<p>Haar levensduur is afhankelijk van de associatie waartoe ze behoort. (B)</p> Signup and view all the answers

Welke functie heeft de multipliciteit bij compositie?

<p>Het moet exact 1 zijn aan de zijde van het geheel. (B)</p> Signup and view all the answers

Wat is het belangrijkste doel van een domeinmodel?

<p>Visueel communiceren over het probleemdomein met de klant. (A)</p> Signup and view all the answers

Welke van de volgende onderdelen behoort niet tot een domeinmodel?

<p>Systeemfunctionaliteit (D)</p> Signup and view all the answers

Wat is een kenmerk van een conceptuele klasse binnen een domeinmodel?

<p>De naam begint altijd met een hoofdletter. (C)</p> Signup and view all the answers

Waarom worden berekende attributen niet opgeslagen in een domeinmodel?

<p>Omdat ze pas later in de ontwerpfase kunnen worden toegevoegd. (C)</p> Signup and view all the answers

Wat is het belang van het beperken van klassen in een domeinmodel?

<p>Om het aantal entiteiten te minimaliseren dat niet nodig is in het systeem. (A)</p> Signup and view all the answers

Welke van de volgende beschrijvingen past bij het concept van specialisatie in een domeinmodel?

<p>Het creëren van een nieuwe klasse die afgeleid is van een bestaande klasse. (C)</p> Signup and view all the answers

Welke optie beschrijft het beste een associatieklasse?

<p>Een klasse die specifieke rollen binnen een associatie benoemt. (B)</p> Signup and view all the answers

Wat beschrijft het concept van aggregatie in een domeinmodel?

<p>Een relatie waarbij een klasse deel uitmaakt van een andere, maar onafhankelijk kan bestaan. (B)</p> Signup and view all the answers

Wat vertegenwoordigt de associatienaam tussen conceptuele klassen?

<p>Een werkwoord dat de relatie beschrijft (B)</p> Signup and view all the answers

Wat is een reflexieve associatie?

<p>Een associatie waarbij een klasse met zichzelf is verbonden (B)</p> Signup and view all the answers

Hoe wordt multipliciteit aangegeven in een associatie?

<p>Met de notatie 'min.#...max.#' (A)</p> Signup and view all the answers

Welke van de volgende uitspraken over associaties is juist?

<p>Meerdere associaties kunnen tussen dezelfde conceptuele klassen worden gelegd. (A)</p> Signup and view all the answers

Wat kan er worden gezegd over de maximale multipliciteit?

<p>Het kan een exacte waarde of oneindig zijn. (A)</p> Signup and view all the answers

Waarom is het belangrijk om associaties alleen te modelleren als ze zinvol zijn?

<p>Omdat onzin associaties de logica van het model niet ondersteunen. (A)</p> Signup and view all the answers

Welke symbolen worden gebruikt om aan te geven dat de multipliciteit 0 tot oneindig is?

<p>0...* (A)</p> Signup and view all the answers

Wat bedoelen we met de term 'conceptuele klassen' in deze context?

<p>Algemene categorieën die ideeën of objecten representeren (A)</p> Signup and view all the answers

Wat is een rolnaam in het context van een conceptuele klasse?

<p>Een verplicht gegeven dat de rol van een associatie verduidelijkt. (A)</p> Signup and view all the answers

Wat is het doel van de generalisatie/specialisatie in conceptuele modellering?

<p>Het definiëren van conceptuele klassen met gemeenschappelijke attributen. (B)</p> Signup and view all the answers

Wat betekent het als een aggregatie wordt gemodelleerd?

<p>Er is een 'deel/geheel' relatie tussen twee klassen. (B)</p> Signup and view all the answers

Welke voorwaarde geldt voor de minimummultipliciteit van een conceptuele klasse in een aggregatie?

<p>Het mag alleen waarde 0 of 1 hebben. (B)</p> Signup and view all the answers

Wat kan een specialisatieklasse nog hebben naast de attributen van de generalisatieklasse?

<p>Zelfstandige associaties die uniek zijn voor de specialisatie. (D)</p> Signup and view all the answers

Wat is de vereiste voor de rolnaam bij een reflexieve associatie?

<p>Minstens één rolnaam moet aanwezig zijn en in kleine letters. (B)</p> Signup and view all the answers

Wat impliceert het gebruik van generalisatie/specialisatie bij associaties?

<p>De associaties van de generalisatie gelden ook voor specialisatieklassen. (B)</p> Signup and view all the answers

Welke uitspraak over de rolnaam is juist?

<p>Een rolnaam moet worden opgenomen om duidelijkheid te scheppen. (D)</p> Signup and view all the answers

Wat is de functie van een associatieklasse in een veel-op-veel relatie?

<p>Het is altijd nodig om een associatie te modelleren. (B)</p> Signup and view all the answers

Welke stap wordt als laatste uitgevoerd in het stappenplan?

<p>Optimalisatie. (C)</p> Signup and view all the answers

Waarom is het belangrijk om kandidaten conceptuele klassen te identificeren?

<p>Om inzicht te krijgen in het probleemdomein. (C)</p> Signup and view all the answers

Welke van de volgende vragen is relevant bij het selecteren van conceptuele klassen?

<p>Speelt de klasse een zelfstandige rol in het probleemdomein? (A)</p> Signup and view all the answers

Wat gebeurt er met de kandidaatsklasse 'systeem'?

<p>Het kan nooit een conceptuele klasse zijn. (A)</p> Signup and view all the answers

Wat is een belangrijk onderdeel van de use case bij het identificeren van kandidaatklassen?

<p>Pre- en postcondities. (B)</p> Signup and view all the answers

Wat moet je doen na de identificeerfase van kandidaatklassen?

<p>De conceptuele klassen selecteren. (D)</p> Signup and view all the answers

Wat houdt optimalisatie in bij het stappenplan?

<p>Het verbeteren van het datamodel op basis van feedback. (C)</p> Signup and view all the answers

Wat is de reden dat kandidaatsklassen met een naam die synoniem is aan reeds opgenomen conceptuele klassen nooit worden weerhouden?

<p>Ze bestaan al. (D)</p> Signup and view all the answers

Wat moet je doen nadat je alle conceptuele klassen met elkaar verbonden hebt?

<p>Attributen identificeren. (D)</p> Signup and view all the answers

Bij het identificeren van attributen, welke vraag kan helpen om mogelijke attributen te ontdekken?

<p>Is...eigenschap van andere klasse? (D)</p> Signup and view all the answers

Wat moet je doen tijdens het proces van het optimaliseren van het DM?

<p>Alle use cases en contexten verwerken. (D)</p> Signup and view all the answers

Welke elementen moeten vooral in de gaten worden gehouden tijdens het identificeren van associaties?

<p>Werkwoorden en bezittelijke voornaamwoorden. (B)</p> Signup and view all the answers

Wat is een mogelijke uitkomst bij het ontdekken van associaties tussen conceptuele klassen?

<p>Het modelleren van associatieklassen. (D)</p> Signup and view all the answers

Welke stappen moeten worden genomen om een voorlopig afgewerkt DM te creëren?

<p>Verbind conceptuele klassen met associaties en zoek attributen. (B)</p> Signup and view all the answers

Wat kan leiden tot bijkomende associaties voor bestaande conceptuele klassen?

<p>Iteratief werken. (A)</p> Signup and view all the answers

Flashcards

Associatie

Een verband dat de relatie tussen twee conceptuele klassen beschrijft. Het representeert de interactie tussen verschillende entiteiten binnen het probleemdomein.

Associatienaam

Een naam die de interactie tussen twee conceptuele klassen beschrijft. De associatienaam wordt boven de verbindende lijn geplaatst.

Multiplicitiet

Een getal dat aangeeft hoeveel instanties van de ene conceptuele klasse verbonden zijn met één instantie van de andere conceptuele klasse.

Minimum multiplicitiet

Het minimum aantal instanties dat verbonden is via een associatie. Deze waarde kan 0, 1 of een exacte waarde zijn.

Signup and view all the flashcards

Maximum multiplicitiet

Het maximum aantal instanties dat verbonden is via een associatie. De waarde is minstens even hoog als de minimum-multipliciteit en kan groter zijn, of * (oneindig veel) zijn.

Signup and view all the flashcards

Reflexieve associatie

Een associatie waarbij een conceptuele klasse met zichzelf verbonden is. Dit wordt aangegeven met een pijl die de correcte leesrichting van de associatie aangeeft.

Signup and view all the flashcards

Domeinmodel (DM)

Een visuele representatie van concepten uit de realiteit en hun onderlinge relaties. Wordt opgesteld aan de hand van een contextuele beschrijving en use cases.

Signup and view all the flashcards

Conceptuele klasse

Een bouwsteen van het domeinmodel die een object uit de realiteit voorstelt.

Signup and view all the flashcards

Attribuut

Een eigenschap van een conceptuele klasse, die relevant is voor het probleemdomein.

Signup and view all the flashcards

Rolnaam

Een type associatie met een speciale naam die de rol specifieert die een conceptuele klasse speelt in de relatie.

Signup and view all the flashcards

Generalisatie/Specialisatie

Geeft aan dat een conceptuele klasse gespecialiseerd is in een andere conceptuele klasse.

Signup and view all the flashcards

Aggregatie

Een type associatie die aangeeft dat een conceptuele klasse een ander object bevat.

Signup and view all the flashcards

Compositie

Een type associatie die aangeeft dat een conceptuele klasse een ander object volledig beheert en dat het bestaan van het ene afhankelijk is van het andere.

Signup and view all the flashcards

Rolnaam bij reflexieve associatie

In een reflexieve associatie, waar een conceptuele klasse met zichzelf in verband staat, is een rolnaam verplicht om de rol van de klasse te identificeren.

Signup and view all the flashcards

Eigenschappen Specialisatie

Specialisatieklassen kunnen hun eigen, unieke attributen hebben, los van de generalisatieklasse.

Signup and view all the flashcards

Minimummultipliciteit aggregatie

De minimummultipliciteit aan de kant van het 'geheel' in een aggregatie mag enkel 0 of 1 zijn.

Signup and view all the flashcards

Zelfstandig bestaan 'deel'

De conceptuele klasse die het 'deel' vormt in een aggregatie kan zelfstandig bestaan, los van het 'geheel'.

Signup and view all the flashcards

Associatieklasse

Een klasse die extra attributen heeft die specifiek behoren bij een bepaalde associatie tussen twee andere klassen.

Signup and view all the flashcards

Multiplicteit

De eigenschap van een associatie die aangeeft hoeveel elementen van de ene klasse gekoppeld mogen zijn aan één element van de andere klasse.

Signup and view all the flashcards

Compositie vs Aggregatie

Een strengere vorm van aggregatie waarbij het 'geheel' volledige controle heeft over de 'delen' en deze niet los kunnen bestaan.

Signup and view all the flashcards

Associatie: 'Geheel' en 'Deel'

De relatie tussen twee conceptuele klassen in een databasemodel, waarbij een klasse het 'geheel' is en de andere klasse het 'deel' voorstelt.

Signup and view all the flashcards

Associaties met associatieklasse

Een associatie tussen twee conceptuele klassen met een associatieklasse kan altijd omgezet worden in twee aparte associaties tussen drie conceptuele klassen.

Signup and view all the flashcards

Iteratief DM opbouwen

De DM wordt iteratief opgebouwd, beginnend bij de context of use cases. Elk onderdeel wordt stap voor stap geanalyseerd.

Signup and view all the flashcards

Kandidaatsklassen identificeren

De eerste stap in het opbouwen van een DM is het identificeren van alle mogelijke conceptuele klassen.

Signup and view all the flashcards

Conceptuele klassen selecteren

Selecteer uit alle potentiële klassen die je in de vorige stap hebt geïdentificeerd, de conceptuele klassen die echt belangrijk zijn.

Signup and view all the flashcards

Associaties verbinden

Tussen de conceptuele klassen worden associaties gelegd om de relaties tussen hen te beschrijven.

Signup and view all the flashcards

Attributen toevoegen

Attributen worden toegevoegd aan conceptuele klassen om hun eigenschappen te beschrijven.

Signup and view all the flashcards

DM optimaliseren

Na het toevoegen van attributen, kan je de DM optimaliseren door redundant informatie te verwijderen en de structuur te vereenvoudigen

Signup and view all the flashcards

Conceptuele klassen met synoniemen

Kandidaten van conceptuele klassen die een synoniem hebben van een reeds bestaand concept, worden niet in de DM opgenomen.

Signup and view all the flashcards

Alle bouwstenen voorlopige DM

Aan het einde van deze stap heb je alle componenten voor de voorlopige DM en voeg je ze als lege conceptuele klassen toe.

Signup and view all the flashcards

Associatie-identificatie

Na het identificeren van conceptuele klassen, wordt gezocht naar verbanden tussen deze klassen.

Signup and view all the flashcards

Iteratief zoeken naar associaties

Deze stap kan leiden tot extra associaties voor bestaande conceptuele klassen, vooral als je iteratief werkt.

Signup and view all the flashcards

Contextanalyse voor associaties

De context of use cases worden geanalyseerd om structurele verbanden te vinden die relevant zijn.

Signup and view all the flashcards

Taalgebruik voor associaties

Werkwoorden en bezittelijke voornaamwoorden geven vaak hints over relaties tussen conceptuele klassen.

Signup and view all the flashcards

Attribuut-identificatie

Na het vaststellen van associaties is de volgende stap om attributen van conceptuele klassen te identificeren.

Signup and view all the flashcards

Attribuut-identificatie-hints

Simpele waarden, eigenschappen van andere klassen en bijvoeglijke naamwoorden kunnen hints zijn voor attributen.

Signup and view all the flashcards

Study Notes

Domeinmodel (DM)

  • Visuele representatie van concepten uit de werkelijkheid en hun onderlinge relaties
  • Wordt opgesteld aan de hand van contextuele beschrijvingen en uitgewerkte use cases
  • Schema om het probleemdomein duidelijk aan de klant uit te leggen
  • Schema dient als uitgangspunt/inspiratiebron voor verdere ontwerp van de applicatie
  • Bevat enkel essentiële terminologie zoals gebruikt door de klant
  • Bevat niet alle details uit de werkelijkheid, enkel wat noodzakelijk is voor het probleemdomein

Onderdelen van een DM

  • Conceptuele klassen: vertegenwoordigen objecten uit de werkelijkheid
    • Beginnen met een hoofdletter
    • Bevatten relevante attributen voor het domein
  • Associaties en multipliciteiten: tonen de relaties tussen conceptuele klassen
    • Associatienaam (woord met hoofdletter)
    • Multipliciteiten geven het aantal instanties van een klasse aan die met een andere verbonden zijn (bv. min. 1 ... max. 3)
  • Rolnamen: indien nodig voor duidelijkheid, een beschrijving
  • Generalisatie/specialisatie: hiërarchische relaties tussen klassen (bv. "dier" is een generalisatie van "hond")
  • Aggregatie: een "geheel" klasse samengesteld uit meerdere "delen" die op zichzelf kunnen bestaan
  • Compositie: een speciaal type aggregatie waar de "delen" niet kunnen bestaan zonder het "geheel"
  • Associatieklasse: extra klasse om extra attributen toe te voegen aan de associatie

Conceptuele klassen

  • Bouwstenen van het DM

  • Vertegenwoordigen objecten uit de werkelijkheid

  • Attributen zijn essentiële eigenschappen van het object

  • Attributen staan in camelCasing (eerste letter klein, daarop volgend hoofdletter)

  • Datatypes worden later toegevoegd, hier enkel essentiële attributen

Associaties en multipliciteiten

  • Verbonden conceptuele klassen
  • Associaties dienen enkel zinvol in het domein te zijn
  • Uitgedrukt in volle lijnen
  • Multipliciteiten geven het aantal instanties van een klasse aan die met een andere verbonden zijn

Generalisatie/specialisatie

  • Hiërarchische relaties tussen klassen
  • Basisklasse (generalisatie) bevat gemeenschappelijke attributen
  • Afgeleide klassen (specialisatie) erven de attributen van de basisklasse en hebben eventueel extra attributen

Aggregatie

  • "geheel" klasse samengesteld uit meerdere "delen"
  • De "delen" kunnen op zichzelf bestaan

Compositie

  • Special type aggregatie
  • De "delen" kunnen niet bestaan zonder het "geheel"

Rolnamen

  • Indien nodig voor duidelijkheid, een beschrijving van de rol (associatie)

Stappenplan voor DM

  • Stap 1: Identificeer kandidaatsklassen
  • Stap 2: Selecteer de conceptuele klassen
  • Stap 3: Identificeer associaties
  • Stap 4: Identificeer attributen
  • Stap 5: Optimalisatie (verbeteren na het creëren van use cases en contexten)

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Domeinmodel (DM) - Documentatie

More Like This

Domain Modeling in System Analysis
45 questions
Domain Modeling with UML Class Diagrams
30 questions
Use Quizgecko on...
Browser
Browser