Klassendiagramm und Co.



  • Guten Abend zusammen,

    ich habe ein paar allgemeine Fragen in Sachen Klassendiagramme/ER-Diagramme und hoffe ihr könnt mir da weiter helfen.

    1. Kann ich wenn ich für eine Datenbankanwendung einen Entwurf für die Datenbank, (in Form von einem ER-Diagramm) habe, dieses einfach zum Klassendiagramm umwandeln und es für die implementierung der Anwendung benutzen? Mal davon abgesehn das ich das ganze noch mit Methoden aufpeppen müsste.

    2. Wenn ich wieder aus Datenbanksicht komme und eine Tabelle Person (mit den Attributen Name, Vorname...) hätte, würde ich ja eine Klasse Person erstellen. In der Anwendung würd ich dann aber gern eine Liste aller Personen ausgeben, um dort eine Person auszuwählen. Muß ich nun um diese Liste auszugeben auch eine Klasse Person-Liste erstellen?

    Ich bedanke mich im vorraus für eure Meinungen 🙂



  • Mr.Noname schrieb:

    Guten Abend zusammen,

    ich habe ein paar allgemeine Fragen in Sachen Klassendiagramme/ER-Diagramme und hoffe ihr könnt mir da weiter helfen.

    1. Kann ich wenn ich für eine Datenbankanwendung einen Entwurf für die Datenbank, (in Form von einem ER-Diagramm) habe, dieses einfach zum Klassendiagramm umwandeln und es für die implementierung der Anwendung benutzen? Mal davon abgesehn das ich das ganze noch mit Methoden aufpeppen müsste.

    Visual Paradigm kann das, z.B.

    Mr.Noname schrieb:

    2. Wenn ich wieder aus Datenbanksicht komme und eine Tabelle Person (mit den Attributen Name, Vorname...) hätte, würde ich ja eine Klasse Person erstellen. In der Anwendung würd ich dann aber gern eine Liste aller Personen ausgeben, um dort eine Person auszuwählen. Muß ich nun um diese Liste auszugeben auch eine Klasse Person-Liste erstellen?

    Ich bedanke mich im v****** für eure Meinungen 🙂

    Generell, Ja.



  • Vielen Dank ersteinmal für deine Antwort.

    Die erste Frage war eher Allgemein gemeint, ob ein brauchbares Klassendiagramm (auf welches aufbauend ich die Anwendung schreibe) aus einem ER-Diagramm (worauf ja die Datenebene basiert) ableiten kann, ohne groß Unterschiede zu beachten die ja die verschiedenen Diagramme mit sich bringen.

    Ich würde nun also mein ER-Diagramm hernehmen, dort die Getter- und Setter-Methoden einfügen und je nach Tabelle noch die Methoden wo ich für nötig halte?

    Durch die Antwort auf die zweite Frage ergibt sich ja das ich zu fast jeder Klasse eine "Listen"-Klasse benötige um in einer Anwendung eine Gesamtauswahl zu ermöglichen, da man ja bei so gut wie allen Anwendungen die Möglichkeit hat mithilfe einer Combobox oder sonstigem Elementen ein bestimmtes Objekt auszuwählen. 😮



  • Mr.Noname schrieb:

    Vielen Dank ersteinmal für deine Antwort.

    Die erste Frage war eher Allgemein gemeint, ob ein brauchbares Klassendiagramm (auf welches aufbauend ich die Anwendung schreibe) aus einem ER-Diagramm (worauf ja die Datenebene basiert) ableiten kann, ohne groß Unterschiede zu beachten die ja die verschiedenen Diagramme mit sich bringen.

    Ich würde nun also mein ER-Diagramm hernehmen, dort die Getter- und Setter-Methoden einfügen und je nach Tabelle noch die Methoden wo ich für nötig halte?

    Durch die Antwort auf die zweite Frage ergibt sich ja das ich zu fast jeder Klasse eine "Listen"-Klasse benötige um in einer Anwendung eine Gesamtauswahl zu ermöglichen, da man ja bei so gut wie allen Anwendungen die Möglichkeit hat mithilfe einer Combobox oder sonstigem Elementen ein bestimmtes Objekt auszuwählen. 😮

    Wie willst du den sonst die geladenen Tabellen abspeichern? Oder du lädst sie einzeln aus der Datenbank heraus und speicherst sie nach jeder Änderung wieder in die Datenbank, was aber ziemlich langsam sein sollte.



  • Noch einmal danke für deine Antwort.
    Habe nun auch eine Listenklasse zu der jeweiligen Klasse dazu gepackt, um alle Elemente der Klasse aus der Datenbank zu lesen.

    Nun habe ich das nächste Problem ^^
    Ich schaffe es immer wieder Rekursionen in meine Klassen zu bauen, so das ich die anwenung zum abstürzen bekomme.
    Also KlasseA_1 besitzt eine Collection aus KlasseA_n Instanzen (In der Datenbank eine Referenz von einer Tabelle auf sich selbst), wenn ich nun KlasseA_1 aus der Datenbank befülle, dann will ich auch diese Collection befüllen, dabei kann es vorkommen das in der Collection die KlasseA_1 enthalten ist und der ganze Spaß fängt von vorne an, wie Umgehe ich das? oO



  • Na ob die Fragestellung jemand versteht, ich mache das mal lieber anhand eines Beispiels.
    Ich komme mal wieder aus der Datenbanksicht... ich habe also 1 Tabelle Person (Vorname, Name, Geburtsdatum...), diese Tabelle referenziert mit der Relation "Mutter" auf sich selbst, das wäre dann eine 1:n Beziehung. Zudem referenzier ich mit der Relation "Kind" auch noch auf die Tabelle selbst, das wäre eine m:n Beziehung.

    Ich habe eine Klasse Person mit einer Methode befülleAusDatenbank(ID) die mir die Klasse mit den korrekten Daten aus der Datenbank befüllt. In der Personenklasse gibt es auch ein Attribut Mutter (Typ Person) und eine Collection Kind (Elementtypen Person). Diese Attribute werden auch in oben genannter Methode befüllt. Um der Collection ein Personobjekt hinbzuzufügen muß ich ja eine neue Instanz einer Person erstellen, diese befülle ich dann wieder mit der Methode befülleAusDatenbank() und hier ist mein Problem. Wenn ich es nun hinkriege das eine Person die schon einmal befüllt wurde wieder befüllt wird lande ich in einer Rekursion ^^

    Habe mir das Entwurfsmuster zur Abstrakten Fabrik mal angeschaut, das könnte vielleicht passen, aber bin mir nicht sicher.

    Ich hoffe die Frage ist nun verständlicher formuliert und ich bekomme rege Antworten, vielen Dank schon einmal 🙂


Anmelden zum Antworten