diff --git a/Zusammenfassung/Klassen_Verantwortlichkeiten_und_Kollaborationen.txt b/Zusammenfassung/Klassen_Verantwortlichkeiten_und_Kollaborationen.txt new file mode 100644 index 0000000..91d2a7a --- /dev/null +++ b/Zusammenfassung/Klassen_Verantwortlichkeiten_und_Kollaborationen.txt @@ -0,0 +1,301 @@ +Klasse: Bild (abstrakt) + Vererbung: + - + Verantwortlichkeiten: + - Speicherung der Daten in einem 2d-Array + - Speicherung der Farbdaten jedes einzelnen Pixels + Kollaborationen: + - Der Anwender will ein Bild öffnen und speichern können, ohne sich darüber Gedanken machen zu müssen + +Klasse: Bilddimensionen + Vererbung: + - Bild + Verantwortlichkeiten: + - Wissen über die Größe des Bildes + Kollaborationen: + - Nutzer kann die Anzahl der Pixel in x und y Richtung abfragen + +Klasse: RasterImage + Vererbung: + - Bild + Verantwortlichkeiten: + - Darstellung des gezeichneten Bildes + - Speicherung der Daten in einem 2d-Array + - Speicherung der Farbdaten jedes einzelnen Pixels (je ein Bit pro Pixel) + Kollaborationen: + - Der Anwender will ein Bild öffnen, bearbeiten und speichern können, ohne sich darüber Gedanken machen zu müssen + +Klasse: ShapedImage + Vererbung: + - RasterImage + Verantwortlichkeiten: + - Speicherung der Daten in einem 2d-Array + - Speicherung der Farbdaten jedes einzelnen Pixels -> Transparenz + - Speicherung der Polygondaten + - Darstellung der Transparenz außerhalb des Polygons und des Bildes innerhalb des Polygons + Kollaborationen: + - Der Anwender will ein Bild öffnen, bearbeiten und speichern können, ohne sich darüber Gedanken machen zu müssen + +Klasse: Tool (abstrakt) + Vererbung: + - + Verantwortlichkeiten: + - Name, Beschreibung, Tooltip und Icon des Tools speichern + - Veränderung der Pixeldaten des Bildes + Kollaborationen: + - Der Anwender will ein Bild bearbeiten können + +Klasse: Set-Color-Tool (abstrakt) + Vererbung: + - Tool + Verantwortlichkeiten: + - Verwalten der Farbcodierung und deren Darstellung + - Bearbeiten des Bildes durch Verändern von Farbcodes an bestimmten Pixeln + - Darstellung der Farbpallette + Kollaborationen: + - Der Anwender möchte das Bild farblich gezielt verändern + - Der Anwender möchte die Farbwerte der einzelnen Pixel abfragen + +Klasse: Un-/Redo-Tool + Vererbung: + - Set-Color-Tool + Verantwortlichkeiten: + - 20 Operationen speichern + - die letzten (bis zu 10) Änderungen rückgängig machen + - die letzten (bis zu 10) Undo-Aufforderungen rückgängig machen + - sobald gezeichnet wird, werden alle Redo-Einträge gelöscht + Kollaborationen: + - Der Anwender möchte eine Tool Änderung rückgängig machen + - Der Anwender möchte eine Undo Aktivität rückgängig machen + +Klasse: Dreh-Tool + Vererbung: + - Tool + Verantwortlichkeiten: + - Rotation des angezeigten Bildes + - Ändern der Farbwerte, so dass sie mit dem rotierten Bild übereinstimmen + Kollaborationen: + - Möglichkeit für den Nutzer das Bild zu drehen + - Der Anwender möchte das Bild gedreht speichern + +Klasse: Size-Tool + Vererbung: + - Tool + Verantwortlichkeiten: + - Vergrößerung des Bildes (Werte) + - Verkleinerung des Bildes (Werte) + - Skalieren + Kollaborationen: + - Der Anwender möchte die Auflösung des Bildes vergrößern + - Der Anwender möchte die Auflösung des Bildes verkleinern + + +Klasse: Merge-Tool + Vererbung: + - Tool + Verantwortlichkeiten: + - Das Zusammenfügen zweier Bilder in eine neue Datei (Abspeichern der neuen Farbwerte) + - Das Zusammenfügen übereinander oder nebeneinander (wenn Alpha-Kanal vorhanden) + Kollaborationen: + - Der Anwender möchte ein Bild neben einem anderen Bild speichern + - Der Anwender möchte ein Bild über einem anderen speichern + +Klass: View-Tool(abstrakt) + Vererbung: + -Tool + Verantwortlichkeiten: + -Verändern der Ansicht des Bilder + Kollaborationen: + -Der User möchte das Bild anders Anzeigen lassen + +Klasse: Zoom-Tool + Vererbung: + - View-Tool + Verantwortlichkeiten: + - Vergrößerung des Bildes (Ansicht) + - Verkleinerung des Bildes (Ansicht) + - Zoomen + Kollaborationen: + - Der Anwender möchte in ein Bild zoomen + - Der Anwender möchte aus dem Bild heraus zoomen + +Klasse: Merge-View-Tool + Vererbung: + - View-Tool + Verantwortlichkeiten: + - Das anzeigen zweier Bilder in der Datei + Kollaborationen: + - Der Anwender möchte ein Bild neben einem anderen Bild anzeigen + - Der Anwender möchte ein Bild über einem anderen anzeigen lassen + +Klasse: Pen-Tool + Vererbung: + - Set-Color-Tool + Verantwortlichkeiten: + - Speicherung des eingestellten Radius + - Setzen von Pixelwerten um die Cursor-Stelle in einen auswählbaren Radius in einer auswählbaren Farbe + Kollaborationen: + - Der Anwender möchte Freihand in einer freiwählbaren Farbe in einem freiwählbaren Radius zeichnen, ohne Beschränkung innerhalb des Bildes + +Klasse: FloodFill-Tool + Vererbung: + - Set-Color-Tool + Verantwortlichkeiten: + - alle Pixel in einer Äquivalenzklasse zum aktuellen Pixel in eine freiwählbare Farbe einfärben + Kollaborationen: + - Der Anwender möchte eine Fläche einer Farbe komplett umfärben + +Klasse: Plain-Tool + Vererbung: + - Set-Color-Tool + Verantwortlichkeiten: + - alle Pixel des Bildes in eine Farbe ändern + Kollaborationen: + - Der Anwender möchte das Bild einfarbig einfärben + +Klasse: Formen-Tool (abstrakt) + Vererbung: + - Set-Color-Tool + Verantwortlichkeiten: + - Zeichnen eines geometrischen Primitives + - vereinheitlichte Darstellung der Formauswahl und Ränder + Kollaborationen: + - Der Anwender möchte ein/e Rechteck/Linie oder eine konvexe Form zeichnen + +Klasse: Linien-Tool + Vererbung: + - Formen-Tool + Verantwortlichkeiten: + - Zeichnen einer Linie in einer wählbaren Dicke und Farbe + - Die Linie kann durchgängig, gestrichelt oder gepunktet gezeichnet werden + Kollaborationen: + - Der Anwender möchte eine durchgezogene Linie zeichnen + - Der Anwender möchte eine gestrichelte Linie zeichnen + - Der Anwender möchte eine gepunktete Linie zeichnen + +Klasse: Rechteck-Tool + Vererbung: + - Formen-Tool + Verantwortlichkeiten: + - Aufspannen eines Rechtecks zwischen zwei Punkten, der Rand und die Fläche sind in der Farbe frei wählbar, + diese Wählbarkeit ist separat vom anderen Zustand möglich + - Der Rand kann in der Dicke eingestellt werden + Kollaborationen: + - Der Anwender möchte ein Rechteck zeichnen, die innere Fläche soll Transparenz speichern + - Der Anwender möchte ein Rechteck zeichnen, die innere Fläche soll eine Farbe haben, der Rand soll eine gewisse Breite und Farbe haben + +Klasse: Konvexe-Form-Tool + Vererbung: + - Formen-Tool + Verantwortlichkeiten: + - Aufspannen einer konvexen Form mittels Punkten (max 100) + - Die konvexe Form hat einen Rand und eine interne Fläche, deren Farbe separat gewählt werden kann + - Der Rand kann im Bezug auf seine Dicke eingestellt werden + Kollaborationen: + - Der Anwender möchte ein n-Eck zeichnen, dazu berührt er auf dem Bildschirm n-Punkte und am Schluss den Anfangspunkt (10pxl Radius?) + - In der berührten Reihenfolge werden Linien gezogen, die die Form aufspannen und je nach Einstellungen wird der Rand und die interne Fläche dargestellt + +Klasse: Polygon-Form-Tool + Vererbung: + - Formen-Tool + Verantwortlichkeiten: + - Aufspannen eines Polygons über das Bild + - Das Polygon hat einen Rand und eine interne Fläche, deren Farbe separat gewählt werden kann + - Der Rand kann im Bezug auf seine Dicke eingestellt werden + Kollaborationen: + - Der Anwender möchte ein Polygon zeichnen + +Klasse: Kreis-Tool + Vererbung: + - Set-Color-Tool + Verantwortlichkeiten: + - Erstellen einer Kreisform in dem man den Mittelpunkt bestimmt und zwei Radien festlegen kann (NS und WO Radius) + - Die Dicke des Randes des Kreises ist freiwählbar, sowie die Art des Randes (Gepunktet, etc.), genauso wie die Farbe des Kreises und des Randes + Kollaborationen: + - Der Anwender möchte einen beliebigen Kreis und eine beliebige Ellipse zeichnen können + +Klasse: Selection-Tool + Vererbung: + -Tool + Verantwortlichkeiten: + -Auswählen von Bildern + Kollaborationen: + - Der Anwender möchte ein Object Auswählen (quadratisch) + +Klasse: Cut-Tool + Vererbung: + -Selection-Tool + Verantwortlichkeiten: + -Auswählen von Bildern und das ausschneiden dieser + Kollaborationen + - Der Anwender möchte ein Bild auswählen und bewegen oder löschen + +Klasse: Korrektur-Tool + Vererbung: + -Tool + Verantwortlichkeiten: + -Verändern von Bild Daten (Korrektur) + Kollaborationen: + -Der Anwender möchte ein Bild verändern und dies mit Korrektur + +Klasse: Helligkeits-Tool + Vererbung: + Korrektur-Tool + Verantwortlichkeiten + Verändert den Helligkeits Werte + Kollaboration: + Der Anwender möchte das Bild dunkeln oder aufhellen + +Klasse: Farbton-Tool + Vererbung: + Korrektur-Tool + Verantwortlichkeiten: + Verändert die Sättigung von Farbdaten + Kollaborationen: + Der User möchte ein Bild SÄttigen oder verblassen + +Klasse: Gradations-Tool + Vererbung: + Korrektur-Tool: + Verantwortlichkeiten: + Setzen einer Gradationskurve + Kollaboration: + Der User möchte eine Gradationskurve eines Farbschemas Erstellen + +Klasse: 3D-Objekt + Vererbung: + - + Verantwortlichkeiten: + -Wissen über die Vertices und das Managed dieser + Kollaborationen: + -Der User möchte ein 3d Object laden + +Klassen: 3D-Inspector + Vererbung: + - + Verantwortlichkeiten: + -Darstellen eines §D objects und des projezierung (RailTracer) + Kollaborationen: + -Der User möchte ein 3d object auf das layer projezieren + +Klasse: layer + Vererbung: + - + Verantwortlichkeiten: + -Darstellung eines Bildes und S>ichtbarkeit auf sich selbst + Kollaborationen: + -Der User möchte ein Bild auf einem Layer darstellen + +Klasse: layer-manager + Vererbung: + - + Verantwortlichkeiten: + -Sichtbarkeit und Darstellung der Bilder auf verschiedenen layern + Kollaborationen: + -Der User möchte ein layer über das andere schieben + -Der User möchte die layer löschen + + + + + \ No newline at end of file