Documentation update to current status

This commit is contained in:
Paul Norberger
2019-12-18 15:10:10 +01:00
parent a2a44cefaa
commit e5e64b984a
21 changed files with 1050 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
Req-ID:
0001
Req-Type:
Nicht-Funktional
Events/UCs:
-Speicherung eines Bildes
-Pixel wird mit einem Byte dargestellt
-Overhead für Metainformationen erlaubt
-Keine seperate Abhandlung von "RasterImage" und "ShapedImage"
Description:
-Ein Bild wird mit maximal einem Byte pro Pixel kodiert
-Codierungsmöglichkeit nach folgendem Schema:
-Alle binären Codierung werden einer Farbe zugeordnet -> 2^(8)-1 mögliche Farben + Transparenz
-Die Zuordnung der Farben erfolgt automatisch und wird ebenfalls in der exportierten Datei gespeichert
-Die Umsetzung erfolgt mit dem Standart PNG8
Originator:
Jonas Mucke
Fit Criterion:
-Darstellung von mindestens 250 paarweise verschiedenen Farbstufen
-Darstellung einen transparenten Bits (Alpha Kanal = 1)
-Verarbeitungsmöglichkeit für 2^10 Pixel in unter 0.1 Sekunde beim Einlesen und Speichern
Priority:
0
Support Material:
Ubungsblat_01.pdf
Conflicts:
History:
-Erstellt am 30.10.2019, von Jonas Mucke
-Aktualisiert am 17.12.2019, von Paul Norberger
-Vollständig umgesetzt, Stand: 17.12.2019

View File

@@ -0,0 +1,78 @@
Req-ID:
0002
Req-Type:
Funktional
Events/UCs:
-Bearbeitung des Bildes mit einer Betriebssystem unterstützen Eingabemöglichkeit, zum Beispiel Maus oder Stift
-Bearbeitung mittels verschiedener Zeichen-Tools
-Freiwählbare Farbe aus dem möglichen Farbbereich
Description:
-Ein Farbwert, auch Transparent, welcher durch die genutzte Codierung (siehe Req_0001) darstellbar sein. Dies soll mittels Tools
gesetzt werden können, wobei diese spezifizieren was "gesetzt" bedeutet.
-Tools:
Pinsel:
-Der Pinsel ist ein Tool, welches um seinen Mittelpunkt alles in einem gewissen Pixelradius einfärbt.
Der Pixelradius geht dabei von 1-Pixel bis zu 10-Pixel.
Forms:
-Kreis:
Das Tool Kreis, soll es ermöglichen einen Kreis in einer gewählten Farbe aufzuspannen.
Dabei wird am Mittelpunkt angesetzt und dann zu einem beliebigen Punkt auf dem Kreis gezogen, die restlichen Punkte werden dann
mit dem selben Radius gefunden.
Das Rechteck besitzt 2 Farbattribute, den Rand und die Füllung. Der Rand kann im Bezug auf Breite und Farbe eingestellt werden.
Die Füllung ist innerhalb der Fläche, welche vom Rand aufgespannt wird, und kann im Bezug auf die Farbe und die Transparenz
eingestellt werden.
-Linie:
Das Tool Formen (Linie), soll es einem ermöglichen eine Linie in der gewählten Farbe zwischen 2 Punkten zu
ziehen. Dabei wird am ersten Punkt angesetzt und zum Zielpunkt gezogen, dabei verändert sich die Linie live.
Sobald das Eingabegerät getogglet wird, so wird die aktuelle Stelle als Endpunkt angenommen. Zwischen
Start und Endpunkt wird die Linie gezeichnet.
Es existieren verschiedene Linien-Formen:
-durchgezogene Linie (eine Linie ohne Lücken)
-gestrichelte Linie (auf der Linie werden nur Striche in regelmäßigen Abständen gezeichnet)
-gepunktete Linie (auf der Linie wird punktweise zwischen Farbig und Transparent alterniert)
Die Linie kann mittels dem Breite-Attribut verändert werden (Breite zwischen 1 und 10 Pixel)
-Rechteck:
Das Tool Formen (Rechteck), soll es einem ermöglichen ein Rechteck in ein einer gewählten Farbe aufzuspannen.
Dabei wird am ersten Punkt angesetzt und zum Zielpunkt gezogen. Dabei verändert sich das Rechteck live.
Sobald das Eingabegerät getogglet wird, so wird die aktuelle Stelle als Endpunkt angenommen. Zwischen Start und Endpunkt
wird das Rechteck aufgespannt.
Das Rechteck besitzt 2 Farbattribute, den Rand und die Füllung. Der Rand ist um das Rechteck gesetzt und kann
im Bezug auf Breite und Farbe eingestellt werden. Die Füllung ist innerhalb der Fläche, welche vom Rand aufgespannt wird,
und kann im Bezug auf die Farbe und die Transparenz eingestellt werden.
FloodFill:
-Das Floodfill Tool, bei diesem wird ein Pixel ausgewählt. Alle Pixel die mit diesem Pixel in einer Äquivalenzklasse
im Bezug auf Farbe und Nachbarschafts-Relation stehen, werden in die gewählte Farbe eingefärbt.
Einfarbig:
-Das Einfarbig Tool färbt das gesamte Bild in die gewählte Farbe ein.
Korrektur:
-Die Korrektur Tool ermöglicht das Anpassen verschiedener Bildwerte
-Helligkeit:
Das Tool Korrektur (Helligkeit), soll es ermöglichen die Helligkeit des Bildes anzupassen
-Farbton:
Das Tool Korrektur (Farbton), soll es ermöglichen den Farbton des Bildes anzupassen
Gradiation:
-Das Gradiations Tool soll es ermöglichen Farbverläufe mit einer Anfangs- und Endfarbe zu erstellen, zwischen welchen linear interpoliert wird.
Selektion:
-Das Selektionstool soll es ermöglichen ein Rechteck an Pixeln auszuwählen welche für die Bearbeitung durch andere Tools
berücksichtigt werden sollen.
Dabei wird am ersten Punkt angesetzt und zum Zielpunkt gezogen. Dabei verändert sich das Rechteck live.
Sobald das Eingabegerät getogglet wird, so wird die aktuelle Stelle als Endpunkt angenommen. Zwischen Start und Endpunkt
wird das Rechteck aufgespannt.
Cut:
-Das Cut Tool ermöglicht das Ausschneiden der selektierten Pixel
Originator:
Jonas Mucke
Fit Criterion:
-Das Setzten eines Pixels, in einer beliebigen Farbe, funktioniert in 99,9% in unter 0.01 Sekundens auf Referenzsystem
-Der Vollständige Farbbreich ist frei wählbar
-Es müssen mindestens 3 Tools benutzbar sein, das bedeutet eine 99,9% richtiges Verhalten in unter 0.1 Sekunden auf Referenzsystem
-Tools besitzen in 100% der Fälle das gewünschte Verhalten
Priority:
100
Support Material:
Ubungsblat_01.pdf
Conflicts:
- Keine bekannten Konflikte, Stand: 17.12.2019
History:
- Erstellt am 30.10.2019 um 22:10, von Jonas Mucke
- Aktualisiert am 17.12.2019, von Paul Norberger

View File

@@ -0,0 +1,26 @@
Req-ID:
0003
Req-Type:
Nicht-Funktional
Events/UCs:
- Selbsterklärendes & geordnetes User Interface
Description:
- Verständliches & gewohntes Design der Benutzeroberfläche
- Ähnlichkeit zu bewährten UIs, wie die beliebter Software (Gimp, Photoshop...)
- Toolleiste, die Icons für die einzelnen Tools beinhaltet und logisch in seperate Abschnitte eingeteilt ist
- Toolleiste als Block, der sich je nach Tool ändert auf einer linken Seite des Canvas
- Ein Layer"stack", der kleine Previewbilder der einzelnen Ebenen beinhaltet und das Verändern der Reihenfolge, sowie das Löschen & Erstellen von Layern erlaubt.
- Ein großer, zentraler Canvas, der die Bearbeitung ermöglicht
Originator:
Paul Norberger
Fit Criterion:
-Testgruppe von 3 Personen, die das Programm zuvor noch nie benutzt haben, stellen keine Fragen über die Benutzerobefläche nach einigen Minuten Ausprobieren.
-Kunde, der das neue Interface noch nie benutzt hat, hat keine größeren Schwierigkeiten damit zurecht zu kommen.
Priority:
20
Support Material:
Ubungsblat_01.pdf
Conflicts:
-Keine bekannten Konflikte, Stand: 17.12.2019
History:
-Erstellt am 17.12.2019

View File

@@ -0,0 +1,34 @@
Req-ID:
0004
Req-Type:
Funktional
Events/UCs:
-Rückgängigmachen eines vorherigen Fehlers
-Rückgängigmachen einer versehntlichen Korrektur
-Einen rückgängig gemachten Schritt wiederholen
Description:
-Es werden insgesamt 20 Bearbeitungschritte gespeichert
-Die gesamten Pixeldaten der Ebenen werden für jeden Schritt gespeichert
-Wird der Undo aktiviert, wird zunächst bestimmt ob sich die Daten für den Schritt direkt
davor im Speicher befinden. Ist dies der Fall, werden die Daten geladen und der intern
gespeicherte Index des geladenen Statuses verschiebt sich nach vorn, so kann mehrfach
geundoed und redoed werden. Ist dies nicht der Fall, gibt es ein audiovisuelles Feedback,
dass der Schritt nicht geladen werden kann.
-Wird der Undo aktiviert, wird zunächst bestimmt ob sich die Daten für den Schritt direkt
davor im Speicher befinden Ist dies der Fall, werden die Daten geladen und der intern
gespeicherte Index des geladenen Statuses verschiebt sich nach hinten, so kann mehrfach
geundoed und redoed werden. Ist dies nicht der Fall, gibt es ein audiovisuelles Feedback,
dass der Schritt nicht geladen werden kann.
Originator:
Paul Norberger
Fit Criterion:
-Bis zu 20 Schritte können geundoed und redoed werden
-Das Laden der einzelnen Schritte dauert für ein 512x512px Bild nicht länger als 0.2 Sekunden auf Referenzsystem
Priority:
50
Support Material:
Ubungsblat_01.pdf
Conflicts:
- Keine bekannten Konflikte, Stand: 18.12.2019
History:
- Erstellt am 18.12.2019, von Paul Norberger