# Lastenheft

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

# User Stories

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