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 durchforstbar.

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

Funktionale Anforderungen

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
Name

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

A#8 Darstellung
Bei der Nutzung des Filters werden alle passenden Texturen mit einer 2D-Vorschau angezeigt.

A#9 Mindest-Anzahl von Clients
Es können mindestens 10 Clients gleichzeitig aktiv sein.

User Stories

Als Anwender möchte ich mit dem Tag „Wood“ filtern und es werden mir sofort die „Wood-Textures“ angezeigt.

Ich will einfach neue Texturen von einem Rechner in das System einfügen.

Wenn ich eine passende Textur gefunden habe will ich diese auf meinem Rechner im Projekt abspeichern.

Ich will beim Hinzufügen neuer Texturen nicht viele Eigenschaften eintippen, das soll das System zum größten Teil tun.

Meine Mitbarteiter sollen die hinzufügten Texturen auch verwenden können.

Glossar
Nutzer: Anwender der Software, der sich im selben Netzwerk wie der Server befindet.
Tag: Zeichenkette aus Buchstaben, Zahlen, Bindestrichen und Unterstrichen. Umlaute sind zugelassen. Die Groß- und Kleinschreibung wird nicht berücksichtigt.
System: Software auf dem Server und ein oder mehrere Clients mit Anwenderprogram.
TextureSync Lastenheft ⸬ Version Seite 5/5