Lastenheft
TextureSync
Version
Datum	22.03.19
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.

Ziel
Wir möchten ein Produkt liefern, das die Texturen zentral speichert und diese für jeden Mitarbeiter gut durchsuchbar macht.

Funktionale Anforderungen
Nummer	Titel	Erklärung
A#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. Zum Hinzufügen wählt der Nutzer eine Texturdatei aus, die auf dem Computer des Nutzers abgespeichert ist.
A#2	Tags verwalten	Jeder Nutzer kann Tags zu allen Texturen der Sammlung hinzufügen oder löschen.
A#3	Metadaten speichern	Jede Textur in der Sammlung hat einen eindeutigen Namen, ein Einpflegedatum, eine Auflösung und kein, ein oder mehrere Tags.
A#4	Filter	Die Sammlung aller Texturen lässt sich zur besseren Übersicht nach Tags filtern. Mögliche Filterkriterien sind: Das Vorhandensein von Tags Das nicht-Vorhandensein von Tags Mindestauflösung Maximalauflösung Namen
A#5	Synchronisation	Alle in die Sammlung aufgenommenen Texturen sowie deren Tags sind für alle anderen Nutzer sichtbar.
A#6	Texturen extrahieren	Jeder Nutzer kann beliebige Texturen aus der Sammlung extrahieren und in seinem lokalen Dateisystem abspeichern.
A#7	Detailansicht	Jeder Nutzer kann von beliebigen Texturen eine 3D-Vorschau anzeigen lassen und die gesetzten Tags 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 spätestens nach einer Minute 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.
Q#5	Konfiguration, Server	Die Server Software kann durch einfaches Entpacken eines Archives ausführbar gemacht werden auf einem Ubuntu 18.04 (x64).
Q#6	Sicherung von Daten	Alle Daten im System können gesichert werden durch das kopieren eines einzeln Ordners im Dateisystem des Servers. So gesicherte Daten können wieder gestellt werden, indem sie zurück kopiert werden und danach die Server-Software neu gestartet wird.

User Stories
Nummer	Story
U#1	Als Anwender möchte ich eine Holz-Textur finden. Ich gebe den Tag „Wood“ 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	Meine Mitbarteiter sollen die hinzufügten Texturen auch verwenden können.
U#6	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-)Netzwerks 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.
TextureSync Lastenheft ⸬ Version Seite 3/5