Filmdatenbank
(Diese Aufgabe ist aus dem Kurs zur Datenmodellierung)
Mach dich daran, die fünf User-Stories in ein objektorientiertes Datenmodell zu übersetzen.
Identifiziere alle Klassen und Objekte, die in den Texten vorkommen.
Für diese Aufgabe benötigst Du folgendes Grundwissen: objektorientierte Datenmodellierung
Die vorkommenden Objekte sind die Filme und die Personen selbst.
Personen hantieren in dieser Situation mit Filmen, sie sind also die wesentlichen Akteure, die etwas machen.
Die Klassen benennen wir auch einfach genau so:
Film und Person.
Du hast mehr Klassen als diese beiden?
Schau dir Teilaufgabe b) an, vielleicht erledigen sich dann die Fragen.
Du hast noch eine extra Klasse Genre? Wow! Diese Klasse kann sich im Hinblick auf die spätere Benutzung lohnen. Zur Vereinfachung lassen wir sie hier aber weg.
Hast du eine Frage oder Feedback?
Schaue dir vor allem die Substantive und Subjekte in den Sätzen an. Sie verraten dir oft, welche Objekte und Klassen es gibt.
Objekte haben bestimmte Eigenschaften. Überlege dir also, was ein Objekt ist und was nur ein Attribut dieses Objekts (die Attribute brauchen wir im nächsten Schritt)
Ergänze nichts, was nicht in der Angabe steht!
Finde die Attribute der Klassen.
Für diese Aufgabe benötigst Du folgendes Grundwissen: objektorientiertes Datenmodell
Jetzt werden alle Informationen ergänzt, die man zu einem Film oder zu einer Person speichern möchte. Diese werden die Attribute der Klassen.
Attribute der Klasse Film
Auf den Karten oben links und oben rechts sind alle nötigen Attribute für die Klasse Film:
Titel
Genre
Länge
Oscar-Nominierungen
Auszeichnungen
Attribute der Klasse Person
Hier geht es um die Freunde selbst. Die Infos sind auf der gelben Karte in der Mitte oben:
Name
Lieblingsgenre
"Horror" ist übrigens ein Attributwert vom Attribut Lieblingsgenre ;)
Klassendiagramm
Und die Karten unten? Schau dir die Teilaufgabe c) an!
Hast du eine Frage oder Feedback?
Schau dir jetzt die Substantive an, die noch übrig sind
Überlege wie in der Grundschule "wie ist etwas?"
Ergänze nichts, was nicht in der Angabe steht!
Finde die Beziehungen zwischen den Klassen!
Für diese Aufgabe benötigst Du folgendes Grundwissen: objektorientiertes Datenmodell
In diesem ersten Beispiel gibt es nur zwei Beziehungen:
Personen schauen Filme an.
Personen haben Filme .
Ergänze gleich die Kardinalitäten dieser Beziehungen:
Eine Person kann beliebig viele Filme anschauen und ein Film kann von vielen Personen angeschaut werden.
Aus der User Story wissen wir, dass ein Film nur von maximal einer Person besessen werden kann. Eine Person kann aber beliebig viele Filme besitzen.
Im Klassendiagramm sieht das so aus:
n und m stehen jeweils für eine beliebige, natürliche Zahl oder 0.
0..1 heißt, dass es 0 oder 1 Person sein können.
Du kannst eine Beziehung kontrollieren, indem du sie von beiden Seiten liest beginnend mit "Ein...":
Ein Film wird von keiner oder einer Person besessen.
Eine Person kann n (also beliebig viele) Filme besitzen.
Jetzt hast du ein erstes Datenmodell!
Komplizierter geht es immer und vielleicht hast du aus den User Stories auch noch mehr rausgelesen. Aber diese Modellierung ist möglichst einfach und erfüllt für's Erste alle Anforderungen.
Hast du eine Frage oder Feedback?
Überlege dir, wie die Personen mit den Filmen arbeiten. Erfinde aber nichts dazu, was nicht auf den Karten steht