Merge branch 'Verantwortlichkeiten,-Kollaborationen-und-Beziehungen' into 'master'

Verantwortlichkeiten, kollaborationen und beziehungen

See merge request creyd/intelliphoto!2
This commit is contained in:
2019-11-17 18:31:20 +00:00
6 changed files with 543 additions and 0 deletions

30
C/übung2.md Normal file
View File

@@ -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

View File

@@ -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

View File

@@ -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

89
Paul/Aufgabe-02.txt Normal file
View File

@@ -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

72
Seb/Aufgabe2.txt Normal file
View File

@@ -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

View File

@@ -0,0 +1,4 @@
use:
https://prezi.com/p/tvcz2nax2rff/prezi1/
or:
https://prezi.com/view/SWWOdhqFxMVozU3qzOm6/