1 Nichtfunktionale Anforderungen

Erinnern sie sich zurück an den SWT-TV sender:

Der Fernsehsender SWT-TV möchte eine online Mediathek bereitstellen. Hier soll es möglich sein Live-TV zu sehen, aber auch Serien, Filme und Podcasts On-Demand zu konsumieren. SWT-TV bietet dabei einen Gratisbereich mit limitiertem Umfang des On-Demand Angebots. Eingeloggte Premium Kunden haben Zugriff auf das volle Angebot.

Auf die Frage: “Nenne mir 5 Nichtfunktionale Anforderungen die das beschriebene System haben könnte.” antwortet ChatGPT wie folgt:

Nichtfunktionale Anforderungen:

  • NF1 Leistung: Die Plattform muss schnell und responsiv sein, um eine optimale Benutzererfahrung zu gewährleisten, auch bei hoher Last und Bandbreitenauslastung.
  • NF2 Sicherheit: Es müssen strenge Sicherheitsmaßnahmen implementiert werden, um Benutzerdaten, Zahlungsinformationen und Inhalte vor unbefugtem Zugriff oder Diebstahl zu schützen.
  • NF3 Skalierbarkeit: Das System sollte skalierbar sein, um eine wachsende Anzahl von Benutzern und Inhalten ohne Beeinträchtigung der Leistung zu unterstützen.
  • NF4 Kompatibilität: Die Plattform muss auf verschiedenen Geräten und Betriebssystemen reibungslos funktionieren, einschließlich PCs, Smartphones, Tablets und Smart-TVs.
  • NF5 Benutzerfreundlichkeit: Die Benutzeroberfläche sollte intuitiv und benutzerfreundlich gestaltet sein, um eine einfache Navigation und Interaktion mit dem Inhalt zu ermöglichen, selbst für technisch weniger versierte Benutzer.

a) Kritisieren Sie die Liste von ChatGPT. Warum sind die Anforderungen nicht gut?

Die Anforderungen sind sehr vage gehalten. Ich habe unten meine Kritikpunkte ein wenig mehr ausgearbeitet

NF1: Geschwindigkeit

  • Was bedeutet “schnell” konkret?
    • Sind 500ms ausreichend?
    • Muss es schneller sein, oder reicht auch eine Sekunde?

NF2: Sicherheitsmaßnahmen

  • Was genau sind “strenge Sicherheitsmaßnahmen”?
    • Sollten Nutzer Regelungen beim Erstellen ihres Passworts erhalten?
    • Soll eine Zwei-Faktor-Authentifizierung (2FA) implementiert werden?
    • Welche Verschlüsselung sollte verwendet werden?

NF3: Skalierung

  • Was soll genau skaliert werden?
  • Ab wann soll skaliert werden?

NF4: Reibungsloses Funktionieren

  • Was bedeutet “reibungsloses Funktionieren”?
    • Beispiel: Beim Downgraden von Desktop- zu Mobilansicht müssen möglicherweise Informationen aus Platzgründen versteckt werden (z. B. Veröffentlichungsname bei Blogs oder Nachrichten).
  • Welche Geräte sollen abgedeckt werden?
    • Welche Aspect Ratios sollten spezifisch berücksichtigt werden?
    • Soll die Anwendung zum Beispiel auch auf SmartWatches, SmartFridges etc. aufrufbar sein?

NF5: Intuitive und benutzerfreundliche Bedienung

  • Was verstehen wir unter “intuitiv” und “benutzerfreundlich”?
    • Beispiel: Eine Hamburger-Navigation ist für internetaffine Nutzer intuitiver.
    • Eine NavBar mit beschrifteten Links könnte für weniger internetaffine Nutzer, wie Rentner, geeigneter sein.
  • Eine Spezifikation durch User-Stories könnte hilfreich sein.

b) Formulieren Sie die Anforderungen so um, dass sie den Qualitätskriterien aus dem Buch entsprechen.

Korrigierte Nichtfunktionale Anforderungen:

NF1 Leistung: Die Plattform muss innerhalb von 500ms den nötigen API-Request durchführen, um eine optimale Benutzererfahrung zu gewährleisten, auch bei hoher Last von mehr als 10.000 gleichzeitigen Nutzern und Bandbreitenauslastung von über 50MB/s pro Nutzer. Zusätzlich sollte die Systemverfügbarkeit mindestens 99,9% betragen, um eine kontinuierliche Verfügbarkeit des Dienstes sicherzustellen.

NF2 Sicherheit: Es müssen strenge Sicherheitsmaßnahmen implementiert werden, wie die Überprüfung von Passwort-Best-Practices bei der Erstellung von Passwörtern, um Benutzerdaten, Zahlungsinformationen und Inhalte vor unbefugtem Zugriff oder Diebstahl zu schützen. Es sollten verschlüsselte JSON Web Tokens (JWTs) verwendet werden, um sicherheitskritische Daten zu behandeln. Darüber hinaus sind regelmäßige Sicherheitsüberprüfungen und Penetrationstests durchzuführen, um potenzielle Schwachstellen frühzeitig zu erkennen und zu beheben.

NF3 Skalierbarkeit: Das System sollte skalierbar sein, um eine wachsende Anzahl von Benutzern und Inhalten ohne Beeinträchtigung der Leistung zu unterstützen. Dies kann erreicht werden durch die Nutzung skalierbarer Infrastrukturen und Architekturen, die eine flexible Anpassung der Rechenleistung ermöglichen. Zudem muss das System in der Lage sein, sowohl horizontal als auch vertikal zu skalieren, um flexibel auf unterschiedliche Lastanforderungen reagieren zu können.

NF4 Kompatibilität: Die Plattform muss auf verschiedenen Geräten und Betriebssystemen reibungslos funktionieren in allen gängigen Aspect Ratios (16:9, 16:10, 4:3), einschließlich PCs, Smartphones, Tablets und Smart-TVs. Dabei sollte die Anwendbarkeit ausgiebig auf verschiedenen Herstellern und Modellen getestet werden, um eine breite Kompatibilität sicherzustellen. Zusätzlich sollte die Kompatibilität mit den neuesten Versionen der gängigen Webbrowser (z.B. Chrome, Firefox, Safari, Edge) gewährleistet sein.

NF5 Benutzerfreundlichkeit: Die Benutzeroberfläche sollte intuitiv und benutzerfreundlich gestaltet sein, um eine einfache Navigation und Interaktion mit dem Inhalt zu ermöglichen, selbst für technisch weniger versierte Benutzer. Dies sollte erreicht werden durch eine konsistente und klare Gestaltung der Benutzeroberfläche, die sowohl Text als auch verständliche Icons in angemessener Weise verwendet. Zudem sollten Barrierefreiheitsstandards eingehalten werden, um Nutzern mit unterschiedlichen Fähigkeiten den Zugang zur Plattform zu erleichtern.


2 Anforderungserhebung

Damit eine Produktion in der Mediathek für die Zuschauer:innen sichtbar wird, muss sie von einer vorgesetzten Person freigegeben werden. Das SWT-TV Mediathek soll dafür um interne Prozesse erweitert werden. So soll es z. B. möglich sein, dass Mitarbeiter:innen des Schnitt-Teams Videos mit anderen Mitarbeiter:innen und Vorgesetzten teilen können. Dabei soll der Zugriff über interne Zugriffsrechte geregelt sein, genauer soll limitiert sein, welche Mitarbeiter:innen auf den rohen Schnitt einsehen können und welche Mitarbeiter:innen den finalen Schnitt bearbeiten können.

Sie sind als Requirements Engineer beauftragt die Anforderungen für dieses Feature zu erheben, jedoch sind sie kein Spezialist für die Filmindustrie.

a) Wägen Sie die Vor- und Nachteile der folgenden Erhebungsmethoden in diesem Szenario ab:

  • i) Interviews
    • Vorteile:
      • Direkte Kommunikation mit den Mitarbeitern
      • Detaillierter Einblick in die individuellen Perspektiven und Anforderungen
      • Mitarbeiter können beim Gespräch bei der Entwicklung einer Lösung direkte Vorschläge und Wünsche einbringen.
    • Nachteile:
      • Zeitintensiv, da man mit Mitarbeitern einzeln reden sollte und im Vorhinein sich Fragen ausdenken muss und im Nachhinein die Ausarbeitung der Antworten und Auswertung aller Interviews
      • Mitarbeiter können bei einem direkten Gespräch eventuell nicht ihre komplette subjektive Wahrnehmung Preis geben, da sie sich eventuell nicht wohl fühlen zu sagen was sie zur Zeit stört um nicht inkompetent zu wirken oder weil sie einfach nicht die richtigen Worte finden.
      • Man hat keine direkte Beobachtung wie der Mitarbeiter mit seiner Umgebung arbeitet, wie sein Workflow ist und muss dementsprechend seiner Antworten vertrauen, die Lückenhaft sein können und eventuell wo manche Schritte die Routinehaft aber wichtig sind vergessen werden zu erwähnen
  • ii) Ethnographische Analyse
    • Vorteile:
      • Man beobachtet den Mitarbeiter in seiner Arbeitsumgebung und kann genau sehen, welche Arbeitsabläufe er hat ohne aktiv ihn am arbeiten zu hindern wie bei den Interviews.
      • Beobachtet auch unbewusste Verhaltensmuster von Mitarbeitern, wie unbewusste Routinen etc. die bei Interviews eventuell vergessen werden könnten zu erwähnen
    • Nachteile:
      • Sehr zeitaufwändig, da man eine lange Beobachtung einer Arbeitsphase bei idealerweise mehreren Mitarbeitern durchführen muss.
      • Beobachter muss selbst sehr gebildet in dem Beobachtungsgebiet sein, um zu erkennen was verbessert werden kann und Schlüsse zu ziehen im Gegensatz zu dem einfachen Fragenkatalog bei Interviews
      • Kein Dialog mit Mitarbeiter, welcher als Anwender eventuell spezifische Wünsche oder Anforderungen an das Feature haben könnte

b) Welche Stakeholder würden Sie in diesem Szenario befragen, bzw. beobachten?

Zu beobachtende Stakeholder:

  • Mitarbeiter im Schnitt-Team
  • Vorgesetzte des Schnitt Teams
  • IT-Abteilung (Für Zugriffsrechte)

c) Schreiben Sie eine User Story die das System aus der Sicht einer Mitarbeiter:in des Schnitt-Teams beschreibt. In der Story sollen Sie schildern, wie die Mitarbeiter:in das System nutzt um einen Schnitt freigeben zu lassen.

  • ”Nachdem ich Zugriff auf einen Rohnschnitt erhalten habe und das Video geschnitten habe, kann ich meine Version durch Drag n Drop oder per aussuchen in meiner Ordnerstruktur auf der internen Seite hochladen. Ich gebe hierbei den Schnittnamen, und weitere nötigen Informationen wie meinen Namen und meinen Vorgesetzten an. Ich werde nach Upload bestätigt, dass meine Anfrage zur Bestätigung an meinen Vorgestzten weitergeleitet wurde und sehe den Status dieser Anfrage auf der Seite unter dem Reiter ‘aktive Anfragen’. Falls es Probleme mit dem Absenden gab, bekomme ich eine Fehlermeldung, woran es lag.”

K Anwendungsfalldiagramm

Im Folgenden ist eine Systembeschreibung sowie ein unvollständiges Anwendungsfalldiagramm für eine “Paketstation” angegeben.

Es gibt zwei Arten von Benutzern: Kunden und Kuriere. Bei der Benutzung kann sich jeder die Hilfe anzeigen lassen. Kunden können Pakete abholen, welche direkt an die Paketstation adressiert wurden und dort von einem Kurier hinterlegt wurden. Zudem können Kunden auch Pakete einstellen, welche dann von einem Kurier abgeholt werden. Damit eine Abholung, egal ob von Kurier oder Kunde, oder ein Einstellen eines Pakets gelingt, muss man sich an der Paketstation authentifizieren. Dies geschieht entweder durch Einscannen der passenden Bescheinigung oder mittels Magnetstreifenkarte mit zugehörigem Passwort. Nach der Einstellung eines Paketes kann man sich dafür an der Paketstation einen Einlieferungsbeleg ausdrucken lassen. Ein Kurier kann sowohl Pakete vom Lieferfahrzeug in die Paketstation umladen als auch von Benutzern eingestellte Pakete abholen, um diese ins Lieferfahrzeug zu laden.

a) Identifizieren Sie die Aktoren in diesem Szenario.

Primäre Aktoren: Kunde, Kurier • Sekundärer Akteur: Paketstation (optional)

b) Fügen Sie fehlende Beziehungen und Anwendungsfälle in das Anwendungsfalldiagramm ein.