diff --git a/C/übung2.md b/C/übung2.md new file mode 100644 index 0000000..3ebdbc3 --- /dev/null +++ b/C/übung2.md @@ -0,0 +1,30 @@ +# Softwareengineering - Übung 2 + +## Klassen +- Bild + - Nutzt die Klasse "Farbe" zum übersetzen der Bytes in Farben +- RasterImage (Bild) +- ShapedImage (RasterImage) +- Tool + - Wird auf Bild angewandt und verändert Pixel + - Nutzen teilweise die Klasse "Farbe" zum verändern von Pixeln +- Drehen (Tool) +- Vergrößern/ Verkleinern (Tool) +- Setzen von Farbwerten (Tool) +- Zusammenfügen von Bildern (Tool) +- Tool History + - Liste aus Tool Instanzen +- Farbe + - Custom Model zur Speicherung der Farben + - Konvertierung anderer Farbmodelle in den des Editors + +## Verantwortlichkeiten +- Bild + - Speichern + - Laden + - Anzeigen von Farben +- Tool + - Verändern von Pixeln im Bild + - Verändern von Farbwerten im Bild +- Farbe + - Anzeigen auf dem Bildschirm diff --git a/Jan/Verantwortlichkeiten.txt b/Jan/Verantwortlichkeiten.txt new file mode 100644 index 0000000..43f32eb --- /dev/null +++ b/Jan/Verantwortlichkeiten.txt @@ -0,0 +1,177 @@ +Klasse: Tool (abstrakt) + Vererbung: + - + Verantowrtlichkeiten: + - Wissen über das Bild + - Veränderung der Pixeldaten des Bildes + Kollaborationen: + - Der Anwender will ein Bild sehen und bearbeiten können + +Klasse: Bild (abstrakt) + Vererbung: + - + Verantwortlichkeiten: + - Speicherung der Daten in einem 2d-Array + - Speicherung der Farbdaten jedes einzelnen Pixels + + - Abfrage der Dimensionen + Kollaborationen: + - Der Anwender will ein Bild öffenen und speichern können, ohne sich darüber Gedanken machen zu müssen + +Klasse: RasterImage + Vererbung: + - Bild + Verantwortlichkeiten: + - Speicherung der Daten in einem 2d-Array + - Speicherung der Farbdaten jedes einzelnen Pixels + + - Abfrage der Dimensionen + Kollaborationen: + - Der Anwender will ein Bild öffenen 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 + + - Abfrage der Dimensionen + Kollaborationen: + - Der Anwender will ein Bild öffenen und speichern können, ohne sich darüber Gedanken machen zu müssen + +Klasse: Farbdaten + Vererbung: + - + Verantwortlickeit: + - Verwalten der Farbcodierung und deren Darstellung + - Speicherung der Farbwerte + Kollaboration: + - Der Anwender möchte die Farbwerte der einzelnen Pixel bekommen + +Klasse: Dreh-Tool + Vererbung: + Tool + Verantwortlichkeiten: + - Rotation des angezeigten Bildes + - Ändern der Farbwerte, so dass sie mit dem rotierten Bild übereinstimmen + Kollaborationen: + -Der Anwender möchte Bilder drehen können + -Der Anwender möchte das Bild gedreht speichern + +Klasse: Resize-Tool + Vererbung: + Tool + Verantwortlichkeiten: + -Vergößerung des Bildes (Ansicht und Werte) + -Verkleinerung des Bildes (Ansicht und Werte) + Kollaborationen: + -Der Anwender möchte in ein Bild zoomen + -Der Anwender möchte aus dem Bild herraus zoomen + -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 angezeigter Bilder + -Die 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 Anzeigen + -Der Anwender möchte ein Bild neben einem anderen Bild speichern + -Der Anwender möchte ein Bild über einem anderen Anzeigen lassen + -Der Anwender möchte ein Bild über einem anderen speichern + +Klasse: Set-Color-Tool (abstrakt) + Vererbung: + Tool + Verantwortlichkeiten: + -Bearbeiten des Bildes durch Verändern von Farbcodes an bestimmten Pixeln + Kollaborationen: + -Der Anwender möchte das Bild farblich geziehlt Verändern + +Klasse: Pen-Tool + Vererbung: + Set-Color-Tool + Verantwortlichkeiten: + -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: Un-/Redo + Vererbung: + Set-Color-Tool + Verantwortlichkeiten: + -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: 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 in eine Farbe ändern + Kollaborationen: + -Der Anwender möchte das Bild einfarbig einfärben + +Klasse: Formen-Tool (abstrakt) + Vererbung: + Set-Color-Tool + Verantowrtlichkeiten: + -Zeichnen eines geometrischen Primitives + Kollaborationen: + -Der Anwender möchte ein/e Rechteck/Linie oder eine konvexe Form zeichnen + +Klasse: Linien-Tool + Vererbung: + Formen-Tool + Verantowrtlichkeiten: + -Zeichnen einer Linie in einer wählbaren dicke und Farbe + -die Linie kann durchgängig, gestrichelt oder gepunktet speichern + Kollaborationen: + -Der Anwender möchte eine durchgezogene Linie zeichnen + -Der Anwender möchte eiene gestrichelte Linie zeichnen + -Der Anwender möchte eine gepunktete Linie zeichnen + +Klasse: Rechteck-Tool + Vererbung: + Formen-Tool + Verantowrtlichkeiten: + -Aufspannen eines Rechtecks zwischen zwei Punkten, der Rand und die Fläche sind in der Farbe frei wählbar, + diese Wählbarkeit ist seperat 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 + Verantowrtlichkeiten: + -Aufspannen einer Konvexen Form mittels Punkten (max 100) + -Die Konvexe Form hat einen Rand und eine interne Fläche deren Farbe kann seperat gewählt werden + -Der Rand kann im Bezug auf seine Dicke eingestellt werden + Kollaborationen: + -Der Anwender möchte ein n-Eck zeichnen, dazu berüht er auf dem Bildschirm n Punkt und am Schluss den Anfangspunkt (10pxl Radius?) + -In der Berührten Reihenfolge werden Linien gezogen die die Form aufspannenen und je nach Einstellungen wird der Rand und die interne Fläche dargestellt + +Klasse: Kreis-Tool + Vererbung: + - Set-Color-Tool + Verantwortlichkeit: + - 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 Ellypse zeichnen können \ No newline at end of file diff --git a/Mucke/Verantwortlichkeiten.txt b/Mucke/Verantwortlichkeiten.txt new file mode 100644 index 0000000..11c4160 --- /dev/null +++ b/Mucke/Verantwortlichkeiten.txt @@ -0,0 +1,171 @@ +Klasse: Tool (abstrakt) + Vererbung: + - + Verantwortlichkeiten: + -Wissen über das Bild + + -Bearbeiten von Bildern + -Anzeigen von Bildern + Kollaborationen: + -Der Anwender will ein Bild sehen + -Der Anwender will ein Bild Bearbeiten + +Klasse: Bild (abstrakt) + Vererbung: + - + Verantwortlichkeiten: + -Speicherung der Bildinformationen + -Speicherung eines 2d Arrays bestehend aus Farbcodes + -Ausgabe des Bildes + Kollaborationen: + -Der Anwender will ein Bild öffnen + -Der Anwender möchte ein Bild ausgeben + +Klasse: FarbCode + Vererbung: + - + Verantowrtlichkeiten: + -Interpretation des Byte Codes in einen Farbwert + -Speicherung der Bits + Kollaborationen: + -Der Anwender möchte die Farbe des Pixels bekommen + +Klasse: RasterImage + Vererbung: + Bild + Verantwortlichkeiten: + -Speicherung der Bildinformationen + -Speicherung eines 2d Arrays bestehend aus Farbcodes + -Ausgabe des Bildes ohne Transparenz + Kollaborationen: + -Der Anwender will ein Bild öffnen + -Der Anwender möchte ein Bild ausgeben + +Klasse: ShapedImage + Vererbung: + Bild + Verantwortlichkeiten: + -Speicherung der Bildinformationen + -Speicherung eines 2d Arrays bestehend aus Farbcodes + -Ausgabe des Bildes mit Transparenz + Kollaborationen: + -Der Anwender will ein Bild öffnen + -Der Anwender möchte ein Bild ausgeben + +Klasse: Dreh-Tool + Vererbung: + Tool + Verantwortlichkeiten: + -Dreheung der Anzeigen + -Drehung der Internen Werte + Kollaborationen: + -Der Anwender möchte die Sicht des Bildes Dreheung + -Der Anwender möchte das Bild gedreht speichern + +Klasse: Resize-Tool + Vererbung: + Tool + Verantwortlichkeiten: + -Vergößerung des Bildes (Ansicht und Werte) + -Verkleinerung des Bildes (Ansicht und Werte) + Kollaborationen: + -Der Anwender möchte in ein Bild zoomen + -Der Anwender möchte aus dem Bild herraus zoomen + -Der Anwender möchte die Auflösung des Bildes Vergößerung + -Der Anwender möchte die Auflösung des Bildes Verkleinern + +Klasse: Merge-Tool + Vererbung: + Tool + Verantwortlichkeiten: + -Das zusammenfügen zweier Bilder in der Ansicht + -Die zusammenfügen zweier Bilder in eine Datei + -Das zusammenfügen überinander oder Nebeneinander (wenn alpha kanal vorhanden) + Kollaborationen: + -Der Anwender möchte ein Bild neben einem Anderen Bild Anzeigen + -Der Anwender möchte ein Bild neben einem Anderen Bild speichern + -Der Anwender möchte ein Bild über einem Anderen Anzeigen lassen + -Der Anwender möchte ein Bild über einem Anderen speichern + +Klasse: Set-Color-Tool (abstrakt) + Vererbung: + Tool + Verantwortlichkeiten: + -Bearbeiten des Bildes durch Verändern von Farbcodes in Pixeln + Kollaborationen: + -Der Anwender möchte das Bild farblich Verändern + +Klasse: Pen-Tool + Vererbung: + Set-Color-Tool + Verantwortlichkeiten: + -Setzen von Pixelwerten um die Cursor Stelle in einen setzbaren Radius in einer setzbaren Farbe + Kollaborationen: + -Der Anwender möchte Freihandhand in einer freiwählbaren Farbe in einem freiwählbaren Raius zeichnen ohne beschränkung innerhalb des Bildes + +Klasse: Un-/Redo + Vererbung: + Set-Color-Tool + Verantwortlichkeiten: + -die letzten (bis zu 10) Änderungen Rückgängig machen + -die letzten (bis zu 10) Undo Aufforderungen Rückgänig 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: 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 in eine Farbe Änderung + Kollaborationen: + -Der Anwender möchte das Bild einfarbig einfärben + +Klasse: Formen-Tool (abstrakt) + Vererbung: + Set-Color-Tool + Verantowrtlichkeiten: + -Zeichnen eines geometrischen Primitives + Kollaborationen: + -Der Anwender möchte ein Rechteck/Liniene oder konvexe Form zeichnen + +Klasse: Linien-Tool + Vererbung: + Formen-Tool + Verantowrtlichkeiten: + -Zeichnen einer Linie in einer wählbaren dicke und Farbe + -die Linie kann durchgängig, gestrichelt oder gepunktet speichern + Kollaborationen: + -Der Anwender möchte eine durchgezogene Linie zeichnen + -Der Anwender möchte eiene gestrichelte Linie zeichnen + -Der Anwender möchte eine gepunktete Linie zeichnen + +Klasse: Rechteck-Tool + Vererbung: + Formen-Tool + Verantowrtlichkeiten: + -Aufspannen eines Rechtecks zwischen zwei Punkten, der Rand und die Fläche sind ind Farbe frei wählbar, + diese wählbarkeit ist seperat vom anderen möglich. Der Rand kann in der dicke eingestellt werden. + Kollaborationen: + -Der Anwender möchte ein Rechteck zeichnen, die innere Fläche soll Transparent speichern + -Der Anwender möchte ein Rechteck zeichnen, die inner Fläche soll eine Farbe haben der Rand soll eine gewisse Breite und Farbe haben + +Klasse: Konvexe-Form-Tool + Vererbung: + Formen-Tool + Verantowrtlichkeiten: + -Aufspannen einer Konvexen Form mittels Punkten (max 100) + -Die Konvexe Form hat einen Rand und eine interne Fläche deren Farbe kann seperat gewählt werden + -Der Rand kann im bezug auf seine dicke eingestellt werden + Kollaborationen: + -Der Anwender möchte ein n-Eck zeichnen, dazu berüht wer auf dem Bildschirm n Punkt und am Schluss den Anfangspunkt + -In der Berührten Reihenfolge werden Linien gezogen die die Form aufspannenen und je nach einstellungen wird der Rand und die interne Fläche dargestellt \ No newline at end of file diff --git a/Paul/Aufgabe-02.txt b/Paul/Aufgabe-02.txt new file mode 100644 index 0000000..b1b06be --- /dev/null +++ b/Paul/Aufgabe-02.txt @@ -0,0 +1,89 @@ +(Tool) +> Verantwortlich für... < +- Name, Beschreibung, Tooltip und Icon des Tools speichern +- Utilities und gemeinsamer Code, den alle Tools verwenden + + +ColorPicker +> Verantwortlich für... < +-Speicherung der Farbwerte +- Darstellung der Farbpallette +- Handling der Farbänderung + +HistoryTool +> erbt von < +Tool +> Verantwortlich für... < +- 20 Operationen speichern +- In den 10 Operationen nach vorn (Redo) oder hinten (Undo) springen +- Änderungen rückgängig machen oder wiederholen + +ResizeTool +> erbt von < +Tool +> Verantwortlich für... < +- Änderung der Bilddimension +- Änderung des Zooms + +RotationTool +> erbt von < +Tool +> Verantwortlich für... < +- Rotation des Bildes +- Änderung der Darstellungsrotation + +PenTool +> erbt von < +Tool +> Verantwortlich für... < +- Speicherung des eingestellten Radius +- Änderung von Pixeln um einen geklickten Punkt in gewissem Radius + +FloodFillTool +> erbt von < +Tool +> Verantwortlich für... < +- Änderung der Pixelfarbe von Pixeln der selben Farbe eines geklickten Pixels, die direkt an ihn angrenzen + +PlainTool +> erbt von < +Tool +> Verantwortlich für... < +- Einfärbung des gesamten Canvas in der gewählten Farbe + +(FormsTool) +> erbt von < +Tool +> Verantwortlich für... < +- vereinheitlichte Darstellung der Formauswahl und Ränder +- Styling der Canvaselemente + +RectangleFormsTool +> erbt von < +FormsTool +> Verantwortlich für... < +- Zeichnen von Rechteckformen + +CircleFormsTool +> erbt von < +FormsTool +> Verantwortlich für... < +- Zeichnen von Kreisformen + +PolygonFormsTool +> erbt von < +FormsTool +> Verantwortlich für... < +- Zeichnen von Polygonen + +RasterImage +> Verantwortlich für... < +- Darstellung des gezeichneten Bildes +- Speicherung der Pixeldaten + +ShapedImage +> erbt von < +RasterImage +> Verantwortlich für... < +- Speicherung der Polygondaten +- Darstellung der Transparenz außerhalb des Polygons \ No newline at end of file diff --git a/Seb/Aufgabe2.txt b/Seb/Aufgabe2.txt new file mode 100644 index 0000000..1989733 --- /dev/null +++ b/Seb/Aufgabe2.txt @@ -0,0 +1,72 @@ +Klasse: Bilder + Vererbung: + - + Verantowrtlichkeiten: + - Bilddaten + Kollaborationen: + - + +Klasse: Bilddimensionen + Vererbung: + - Bilder + Verantowrtlichkeiten: + - Wissen über die Größe des Bildes + Kollaborationen: + - Nutzer kann die Anzahl der Pixel in x und y Richtung abfragen + +Klasse: Rasterimage + Vererbung: + - Bilder + Verantowrtlichkeiten: + - 2-dimensionales array mit Farbwerten + - je ein Bit pro Pixel + Kollaborationen: + - Nutzer kann Bild speichern, zeichnen lassen + +Klasse: Shapeimage + Vererbung: + - Rasterimage + Verantowrtlichkeiten: + - Transparenz + Kollaborationen: + - Spezalisierung des Rasterimage mit Transparenz + +Klasse: Tools + Vererbung: + - + Verantowrtlichkeiten: + - Veränderung des Bildes + Kollaborationen: + - Der Benutzer möchte das Bild ohne Probleme veränderen können + +Klasse: Drehtool + Vererbung: + - Tools + Verantowrtlichkeiten: + - Veränderung der Position der Farbwerte im Array + Kollaborationen: + - Möglichkeit für den Nutzer das Bild zu drehen + +Klasse: Size-tool + Vererbung: + - Tools + Verantowrtlichkeiten: + - ändern der Größe des Bildes + Kollaborationen: + - Nutzer möchte die Bilddimensionen anpassen + +Klasse: Colour-Tool + Vererbung: + - Tools + Verantowrtlichkeiten: + - änderung der Frabwerte im array + Kollaborationen: + - Nutzer möchte die Farben ändern + +Klasse: Mergetool + Vererbung: + - Tools + Verantowrtlichkeiten: + - Erschaffen eines neuen Bildes aus 2 anderen + Kollaborationen: + - Nutzer möchte 2 Bilder zusammenfügen \ No newline at end of file diff --git a/Zusammenfassung/presentation unter.txt b/Zusammenfassung/presentation unter.txt new file mode 100644 index 0000000..0da464a --- /dev/null +++ b/Zusammenfassung/presentation unter.txt @@ -0,0 +1,4 @@ +use: + https://prezi.com/p/tvcz2nax2rff/prezi1/ +or: + https://prezi.com/view/SWWOdhqFxMVozU3qzOm6/ \ No newline at end of file