Laden...

UML Klassendiagramm: .csv-Datei -> Datenbank importieren

Erstellt von Konux vor 6 Jahren Letzter Beitrag vor 6 Jahren 2.454 Views
K
Konux Themenstarter:in
5 Beiträge seit 2018
vor 6 Jahren
UML Klassendiagramm: .csv-Datei -> Datenbank importieren

Hallo zusammen,
ich beschäftige mich seit kurzem mit OOP und OOD.

Ich hab mal ein Klassendiagramm für ein Programm erstellt, welches eine .csv-Datei einließt, zerlegt und den Inhalt dann in Datenbanktabellen schreibt. (siehe Anhang)

Ich wollte von euch mal Feedback haben, ob das so in sich stimmig ist, da ich mich, obwohl es nur ein kleine Programm ist, doch schon recht schwer damit getan hab.

Was ich mich noch frage ist:*müsste ich nicht auch eine Assoziation zwischen Datei und Ordner erstellen? Im mom. wüsste ich nicht was ich später mit diese Assoziation machen sollte. *ist die Assoziation von DB zum Programm richtig? Ich wüsste nicht womit ich die DB sonst Verbinden sollte. Aber so frag ich mich, wie später der DateiInhalt zur Klasse DB kommt *sind die Multiplizitäten richtig angegeben?

Grüße

6.911 Beiträge seit 2009
vor 6 Jahren

Hallo Konux,

mal ein Klassendiagramm für ein Programm erstellt, welches eine .csv-Datei einließt, zerlegt und den Inhalt dann in Datenbanktabellen schreibt

Im angehängten Bild hast du eher den ganz groben Überblick dargestellt. Lt. Beschreibung sollten da jedoch Klassen wie CsvReader (od. CsvParser), Repository, etc. zu finden sein.

Modelliere das Ganze natürlich, so wie du es sagen würdest. Den Detaillierungsgrad kannst du auch selbst festlegen. Z.B. würde ich keinen FileSystemAdapter, o.ä. modellieren, denn das ist im CsvReader versteckt.

Schau dir UML Class Diagrams: Reference und die verlinkten Seiten an, da findest du ein paar Infos wie so etwas modelliert werden kann.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

K
Konux Themenstarter:in
5 Beiträge seit 2018
vor 6 Jahren

Okay, danke erstmal für den Link.

Das auslesen der .csv-Datei wollte ich in der Methode "Auslesen" in der Klasse "Datei" durchführen, warum soll ich das in eine eigene Klasse auslagern?

6.911 Beiträge seit 2009
vor 6 Jahren

Hallo Konux,

eine Klasse "Datei" soll sich nicht ums CSV Lesen kümmern müssen -> Single-Responsibility-Prinzip -> daher einen CsvReader dafür verwenden

Die Klasse "Datei" sollte nur das darstellen was es ist. Eine Datei 😉
Also mit den Attributen (Properties / Eigenschaften) Name, Größe, etc.

Der CsvReader soll auch nicht den Bytestrom aus der Datei lesen und aufbereiten, sondern dies erledigt ein StreamReader, der vom CsvReader verwendet wird.

Das sind "allgemeine" OOP-Design-Regeln. Schau dir diese bei Bedarf / Gelegenheit an, dann wird sich das modellieren auch einfacher und natürlicher / logischer gestalen.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

K
Konux Themenstarter:in
5 Beiträge seit 2018
vor 6 Jahren

Okay,
danke nochmal.