2 Anforderungen

Aus der vom Fachgebiet bereitgestellten Aufgabenstellung wurden unmittelbar die folgenden Anforderungen abgeleitet: Aufbauend auf einer Literaturrecherche soll ein Konzept zur Erstellung einer Web-Applikation entworfen werden. Die Umsetzung besteht aus der Programmierung der entworfenen Web-Applikation sowie dem Anlegen einer zugehörigen Datenbank auf dem Server des Fachgebiets. Die verwendeten Technologien sind dabei begründet frei zu wählen. Die konkreten Anforderungen an die Web-Applikation werden aus dem in der Aufgabenstellung beschriebenen Funktionstest abgeleitet:

  • Erstellen von Sensoren
  • Erstellen von Nutzern
  • Matching unterschiedlicher Sensortypen mit jeweils einem QR-Code
  • Ausleihe und Rückgabe von Sensoren
  • Konsistente Datenverwaltung in Form einer Datenbank

Diese Anforderungen stellen den minimalen Satz an Anforderungen dar. Während der Bearbeitung des Projektes zeigte sich, dass zusätzliche Anforderungen notwendig sind, um einen zweckmäßigen Einsatz am Fachgebiet sicherzustellen. Die Web-Applikation soll beispielsweise sowohl von Studenten, wissenschaftlichen Mitarbeitern und speziell geschultem Personal (üblicherweise wissenschaftliche Mitarbeiter) mit unterschiedlichen Verantwortlichkeiten genutzt werden. Daher müssen die Minimalanforderungen erweitert werden. Nutzer besitzen unterschiedliche Rechte und müssen sich gegenüber der Web-Applikation authentifizieren. Der finale Satz an Anforderungen kann den folgenden Abschnitten zu funktionalen und nicht-funktionalen Anforderungen entnommen werden.

2.1 Funktionale Anforderungen an die Web-Applikation

Funktionale Anforderungen spiegeln den Funktionsumfang der Web-Applikation wider [1]. Die Vielzahl funktionaler Anforderungen bedingt ein Aufgliedern in verschiedene Funktionsbereiche, die im Folgenden detailliert beschrieben werden.

2.1.1 Sensorverwaltung

Die Sensoren am Fachgebiet stehen untereinander in Beziehung: Ein Versuchsaufbau kann sich aus verschiedenen Sensoren zusammensetzen. Dabei ist weniger der Sensor als viel mehr seine Art von Interesse. So ist es zum Beispiel unerheblich von welchem Hersteller oder aus welcher Serie ein konkreter Sensor ist, solange die gleiche Funktionalität erbracht wird. Der konkrete Sensor wird als Untertyp bezeichnet. Die Funktionalität, die alle Untertypen verbindet, spiegelt sich im Typen wider. Ein Versuchsaufbau ist schließlich eine Gruppe, die verschiedene Typen beinhaltet. Zusammenfassend lässt sich festhalten:

Jeder Sensor hat einen Untertypen. Mehrere nur geringfügig unterschiedliche Untertypen werden in einem Typen zusammengefasst. Mehrere Typen können Teil einer Gruppe sein. Ein Typ kann Teil mehrerer Gruppen sein.

Ausgehend von diesen Definitionen sind die folgenden Anforderungen zu erfüllen:

  • Erstellen und Entfernen von Gruppen, Typen und Untertypen
  • Umbenennen von Gruppen, Typen und Untertypen
  • Bestandserfassung auf Ebene der Untertypen
  • Matching von QR-Codes auf Ebene der Typen
  • Verknüpfung von Gruppen mit Typen und von Typen mit Untertypen

2.1.2 Dateiverwaltung

Mithilfe der Dateiverwaltung können zusätzliche Informationen bereitgestellt werden. Die folgenden Anforderungen sind an die Dateiverwaltung gestellt:

  • Hochladen, Umbenennen und Löschen von Datenblättern im PDF-Format für Gruppen, Typen und Untertypen
  • Herunterladen von einzelnen Datenblättern als PDF-Datei oder mehreren Datenblättern komprimiert in einer zip-Datei

2.1.3 Nutzerverwaltung

Wie eingangs beschrieben, ist eine rechtebasierte Nutzerverwaltung notwendig. Dazu werden drei Rollen angelegt. Der Benutzer kann Sensoren ausleihen und zurückgeben. Er kann seinen Benutzernamen und sein Passwort ändern. Der Moderator kann zusätzlich Benutzer anlegen. Der Administrator kann zusätzlich auf die Sensorverwaltung zugreifen und Nutzer mit einer beliebigen Rolle anlegen. Um ein hohes Maß an Übersichtlichkeit für den Leser zu gewährleisten, wurde sich ferner dazu entschieden, Operationen, die ausschließlich mit erweiterten Rechten durchführbar sind, mit einem der Rolle entsprechenden Kürzel zu markieren. So sind Operationen, die insbesondere für Administatoren bzw. Moderatoren von Relevanz sind, mit A bzw. M gekennzeichnet. Eine genaue Aufschlüsselung der Rechte der drei Rollen - und somit der Anforderungen an die Nutzerverwaltung - kann Tabelle 2.1 entnommen werden.

Tabelle 2.1: Übersicht über die Nutzerrollen
Operation Administrator Moderator Benutzer
Ausleihen & Zurückgeben x x x
Erweiterte Bestandsinformation x x
Nutzer hinzufügen / löschen x x
Moderator hinzufügen / löschen x
Erweiterte Nutzerverwaltung x
QR-Code generieren x
Sensoren verwalten x
Dateien verwalten x
Als anderer Nutzer operieren x

2.1.4 Ausleihverwaltung

An die Ausleihverwaltung werden die folgenden Anforderungen gestellt:

  • Ausleihe und Rückgabe von Untertypen beliebiger Menge innerhalb eines verfügbaren Rahmens durch Nutzer oder für einen beliebigen Nutzer durch Administrator
  • Abschreiben von Untertypen durch Administrator
  • Anzeige von Datenblättern für Gruppen, Typen und Untertypen

2.1.5 Bestandsinformation

Um ohne Betreten des Lagerortes ermitteln zu können, wie viele Elemente eines Typen oder Untertypen verfügbar sind oder um festzustellen, welcher Nutzer einen benötigten Typen ausgeliehen hat, ist eine Übersicht über den Bestand und die Ausleihhistorie zu implementieren.

2.2 Nicht-funktionale Anforderungen an die Web-Applikation

Für einen nachhaltigen Einsatz der Web-Applikation sind die folgenden nicht-funktionalen Anforderungen zu erfüllen:

  • Intuitive Nutzerführung
  • Konsistenz durch wiedererkennbares Layout und Design
  • Performance

Aufgrund ihres nicht-funktionalen Charakters ist die Erfüllung nicht an konkrete Bedingungen geknüpft. Alle unternommenen Bestrebungen zur Erfüllung der funktionalen Anforderungen sind stets hinsichtlich der hier aufgeführten nicht-funktionalen Anforderungen zu bewerten.

2.3 Zusätzliche Anforderungen

Zusätzlich soll eine Datenbank für die konsistente Verwaltung der anzulegenden Daten genutzt werden. Die Web-Applikation und die Datenbank sollen auf einer virtuellen Maschine (VM), die auf einem Server des Fachgebiets abgelegt wird, betrieben werden.

2.3.1 Datenbank

Die Datenbank soll die konsistente Datenverwaltung bewerkstelligen. Sie enthält Tabellen, welche entsprechend der funktionalen Anforderungen der Web-Applikation zu gestalten und miteinander zu verknüpfen sind. Hierzu müssen sowohl ein geeignetes Datenbankmodell als auch ein konkretes Datenbankmanagementsystem ausgewählt werden.

2.3.2 Deployment

Als Deployment wird die Integration der Web-Applikation und der Datenbank in die bestehende Infrastruktur bezeichnet [2]. Dazu sind folgende Schritte notwendig:

  • Auswahl einer Virtualisierungssoftware
  • Einrichten einer VM
  • Installation von Servern, Wartungssoftware und Programmiersprache
  • Transfer von Datenbank und Web-Applikation auf VM