Lastenheft
TextureSync
Version
Datum	29.03.2019
Autor	Lukas Fürderer, Jannik Seiler
Projektmitglieder	Hendrik Schutter, Lukas Fürderer, Robin Willmann, Jannik Seiler

Einleitung
Viele 3D-Designer arbeiten im Team an großen Projekten mit einer riesigen Zahl an Texturen. Die Texturen sind oft verteilt auf den Rechnern der Projektmitglieder und schwer durchsuchbar. Dies führt zu größerem Zeitaufwand der Koordination.

Ziel
Wir möchten ein Produkt liefern, das die Texturen zentral speichert und diese für jeden Mitarbeiter gut durchsuchbar macht. Diese können dann anhand von Previews direkt sehen, welche Texturen infrage kommen. Durch die zentrale Verwaltung auf dem Server können auch Backups der Texturdaten ermöglicht werden.

Anforderungen

Funktionale Anforderungen
Nummer	Titel	Erklärung
F#1	Texturen hinzufügen	Jeder Nutzer ist in der Lage, neue Texturen in die Sammlung aufzunehmen und auf den Server zu laden. Bei doppelten Namen schlägt das Hinzufügen fehl und informiert den Nutzer. Zum Hinzufügen wählt der Nutzer eine Texturdatei aus, die auf dem Computer des Nutzers abgespeichert ist.
F#2	Tags verwalten	Jeder Nutzer kann Tags zu beliebigen Texturen der Sammlung hinzufügen oder löschen.
F#3	Metadaten speichern	Jede Textur in der Sammlung hat einen eindeutigen Namen, ein Einpflegedatum, eine Auflösung und kein, ein oder mehrere Tags.
F#4	Filter	Die Sammlung aller Texturen lässt sich zur besseren Übersicht nach Metadaten filtern. Mögliche Filterkriterien sind: Das Vorhandensein von Tags Das Nichtvorhandensein von Tags Mindestauflösung Maximalauflösung Namen
F#5	Synchronisation	Alle in die Sammlung aufgenommenen Texturen sowie deren Metadaten sind für alle anderen Nutzer sichtbar.
F#6	Texturen extrahieren	Jeder Nutzer kann beliebige Texturen aus der Sammlung extrahieren und in seinem lokalen Dateisystem abspeichern.
F#7	Detailansicht	Jeder Nutzer kann von beliebigen Texturen eine 3D-Vorschau anzeigen lassen und die gesetzten Metadaten einsehen.

Nicht-Funktionale Anforderungen
Nummer	Titel	Erklärung
Q#1	Darstellung	Bei der Nutzung des Filters werden alle passenden Texturen mit einer Vorschau angezeigt.
Q#2	Anzahl von Clients	Es können mindestens 10 Clients gleichzeitig aktiv sein.
Q#3	Anzeigen von Änderungen	Neue Texturen oder geänderte Tags werden nach dem Hochhladen bei einer neuen Suchanfrage anzeigt.
Q#4	Defekte Daten	Wenn es beim Übertragen von Texturen auf den Server zu einem Fehler kommt wird die Textur nicht in das System übernommen, und der Benutzer wird gewarnt.
Q#5	Konfiguration, Server	Die Server-Software kann auf einem Ubuntu 18.04 (x64) ausführbar gemacht werden.
Q#6	Konfiguration, Client	Die Client-Software kann auf einem Ubuntu 18.04 (x64) ausführbar gemacht werden.
Q#7	Sicherung von Daten	Alle Daten im System können gesichert werden durch das Kopieren eines einzelnen Ordners im Dateisystem des Servers. So gesicherte Daten können wiederhergestellt werden, indem sie zurückkopiert werden und danach die Server-Software neu gestartet wird. Hierbei wird vorausgesetzt, dass die Struktur beibehalten wird.

User Stories
Nummer	Story
U#1	Als Anwender möchte ich eine Holz-Textur finden. Ich gebe den Tag „Holz“ ein und es werden mir sofort entsprechende Texturen angezeigt.
U#2	Ich will einfach neue Texturen von einem Rechner in das System einfügen. Ich kennzeichne diese mit Tags, um sie für meine Kollegen auffindbar zu machen.
U#3	Wenn ich eine passende Textur gefunden habe will ich diese auf meinem Rechner im Projekt abspeichern.
U#4	Ich will beim Hinzufügen neuer Texturen nicht viele Eigenschaften, wie z.B. Auflösung, von Hand eintippen, das soll das System zum größten Teil tun.
U#5	Ich möchte nur Texturen mit einer Mindestauflösung von 1024 x 1024 Pixel angezeigt bekommen.

Lieferumfang
Nummer	Objekt
P#1	Client-Software
P#2	Server-Software
P#3	Kurzanleitung zur Client-Software
P#4	Kurzanleitung zur Server-Software

Erläuterungen
Begriff	Erläuterung
Nutzer	Anwender der Software, der sich mit seinem Endgerät im selben (Firmen-)Netzwerk wie ein TextureSync Server befindet.
Tag	Nicht-eindeutige Zeichenkette aus Buchstaben, Zahlen, Bindestrichen und Unterstrichen, die Inhalten zugeordnet wird, um diese besser auffindbar zu machen. Die Groß- und Kleinschreibung wird hierbei nicht berücksichtigt.
System	Verbund aus Software des Nutzers und Software des Servers, innerhalb eines (Firmen-)Netzwerks.
Server	Zentraler Computer, auf dem die TextureSync Software läuft. Dieser hat Aufgaben der Datenverwaltung und -erhaltung.

Changelog
Version	Änderung
1.1.5	Formulierung
1.1.6	Formulierungen präzisiert, U#5 entfernt (Redundanz), U#6 → U#5 (keine Abhänigkeiten)
TextureSync Lastenheft ⸬ Version Seite 7/7