# Konzeptueller Entwurf UML-Diagramm



## stefan.h (17. Okt 2017)

Hallo Leute ich hab als Hausübung für Datenmodellierung einen konzeptuellen Entwurf zu erstellen, is grundsätzlich denk ich nicht so schwer, doch bei einer Aufgabe komme ich auch nach ewigem recherchieren nicht auf einen hilfreichen Tipp!
Vielleicht kann mir jemand helfen bitte?

Also:

*Aufgabe 9:*

*Ein Verleiher verleiht einen bestimmten Film an mehrere Kinos. Es kann auch vorkommen, dass ein Verleiher einen bestimmten Film an ein bestimmtes Kino verleiht, aber an ein anderes Kino nicht. Ein Film wird an ein Kino aber von höchstens einem Verleiher verliehen. Es kann aber 
vorkommen, dass ein Film für unterschiedliche Kinos unterschiedliche Verleiher hat. Ein Verleiher kann außerdemmehrere Filme an dasselbe Kino verleihen. *

Danke Leute!


----------



## AndiE (18. Okt 2017)

Wieso tauchen keine Kollektionen in dem Diagramm auf? 

Das Problem, das du stellst, würde ich im Normalfall über Kopien lösen. Ein Film kann mehrere Kopien haben, aber eine Kopie kann nur einen Film enthalten. Ein Verleiher kann mehrere Filme anbieten und ein Film wird von mehreren Verleihern angeboten. Eine Kopie eines Films wird an mehrere Kinos verliehen aber jedes Kino erhält nur eine Kopie des Film. 

Kannst du mal die vollständige Aufgabe posten. Ich sehe da noch einige Dinge, die mir unklar sind. Ein Film einer Serie hat immer maximal nur einen Vorgänger und einen Nachfolger.


----------



## mrBrown (18. Okt 2017)

AndiE hat gesagt.:


> Wieso tauchen keine Kollektionen in dem Diagramm auf?


Was für Kollektionen sollten da auftauchen?


----------



## AndiE (18. Okt 2017)

Vielleicht liege ich da auch falsch. Aber ich finde, dass ich in einem relationalen Entwurf auch immer einen Fremdschlüssel in der Tabelle anlege, der eine Beziehung zu einer anderen Tabelle herstellt. Ich finde, das fehlt mir in dem Schema. Alternativ würde ich doch schreiben, dass z.B. eine Schulklasse als Bezeichnung und Klassenlehrer besteht aber zusätzlich noch aus der Sammlung "Teilnehmer", die wiederum mit der Klasse "Schüler" assoziert ist.


----------



## mrBrown (18. Okt 2017)

Ist doch implizit durch jeden Verbindung gegeben. Explizit würde man doch auch kein eigenes Objekt "Teilnehmer" darstellen.


----------



## AndiE (19. Okt 2017)

Das ist jetzt eine Frage, worüber man streiten könnte. Würde ich eher eine Instanz der Klasse List anlegen, oder eine Klasse Teilnehmer, die von List erbt. Die zweite Variante hat für mich den Vorteil, dass ich die Funktionen kapseln kann und so die berühmten Vierzeiler erhalte. Bei der ersten Variante habe ich den Vorteil, dass ich die schon vorgegeben Methoden nutzen kann. Soweit die eine Sicht. Andererseits könnte ich nun davon ausgehen, dass die Relationen in dem Schema Assoziationen zwischen Datenobjekten darstellen.  Dabei gehe ich mal davon aus, dass diese Relationen selbst keine Datenobjekte sind, sondern nur die Beziehungen( Kardinalitäten usw.) zwischen ihnen anzeigen.


----------



## mrBrown (19. Okt 2017)

AndiE hat gesagt.:


> Das ist jetzt eine Frage, worüber man streiten könnte


Kann man das? Ich bin immer davon ausgegangen, das UML ziemlich klar ist und sowas einfach als Assoziation bzw Komposition dargestellt wird...



AndiE hat gesagt.:


> Würde ich eher eine Instanz der Klasse List anlegen, oder eine Klasse Teilnehmer, die von List erbt. Die zweite Variante hat für mich den Vorteil, dass ich die Funktionen kapseln kann und so die berühmten Vierzeiler erhalte.


Zweite Variante wird zurecht kritisiert - Composition over Inheritance ^^



AndiE hat gesagt.:


> Andererseits könnte ich nun davon ausgehen, dass die Relationen in dem Schema Assoziationen zwischen Datenobjekten darstellen. Dabei gehe ich mal davon aus, dass diese Relationen selbst keine Datenobjekte sind, sondern nur die Beziehungen( Kardinalitäten usw.) zwischen ihnen anzeigen.


Das ist die übliche Sichtweise bei UML, in Code kann das durchaus eine einfache Liste sein, hat aber im Entwurf nichts zu suchen...


----------

