Background for the header
To the home page of the University of Antwerp

 

 

Domain Models

Doelstellingen

De studenten kunnen domein modellen opstellen door:

  • Op basis van use cases CRC Cards op te stellen om het design te creëren en te valideren
  • Feature diagrams op te stellen die een feature model weergeven dat de features en hun afhankelijkheden definieert

Opgave

Opgave 1

Vertrek van de use cases en de use case scenario's voor het ATM-systeem die jullie vorige les hebben uitgewerkt. Stel hiervoor CRC-cards op en valideer de use case scenario's op basis van een rollenspel.

Hieronder een stappenplan om deze oefening tot een goed einde te brengen.

  • Maak teams van ongeveer 5 personen
  • Voer scenario's uit door middel van een rollenspel:
    • Selecteer use cases
    • Tijdens het naspelen van het scenario:
      • Extraheer Responsibilities and Collaborations
      • Bouw Hierarchieën
    • Beoordeel de uitvoering van het rollenspel, herbekijk de CRC-cards
    • Herhaal het rollenspel tot wanneer alles vlot verloopt

Tijdens het beoordelen van de tijdens het rollenspel opgestelde CRC-cards kunnen volgende vragen richting geven:

  • Worden klassen vaak opgeroepen door dezelfde klasse?
    • Bevindt de verantwoordelijkheid zich op de juiste plaats?
    • Zijn het wel zeker verschillende klassen?
  • Beschikt elke klasse over de informatie noodzakelijk om haar verantwoordelijkheden uit te voeren?
  • Zijn er klassen met verantwoordelijkheden die nooit ten uitvoer worden gebracht?
  • Ontbreken er noodzakelijke klassen?

Opgave 2

Beschouw volgend feature model:
  • Interpreteer en identificeer de verschillende syntactische elementen.
  • Bedenk ook enkele verzamelingen van features die aan dit feature model voldoen.

Stel nu zelf een feature model op:

  • Ga naar de website van een (je favoriete) automerk en ga naar de configuratie voor een bepaald model (bijvoorbeeld de Mercedes E klasse).
  • Stel een feature model op voor de mogelijke configuraties van dit model.
  • Het hoeft niet compleet te zijn, maar probeer wel een voorbeeld van elk van deze elementen toe te voegen: Verplichte features, optionele features, alternatieve features, Conflicterende features, afhankelijke features.