%
% Chapter: Anforderungen
%

\chapter{Anforderungen}
\label{chap:anforderungen}
\section{Anforderungserfassung}
Obwohl bereits vor Beginn des Projektes einige Anforderungen bekannt sind,
müssen manche Details nachträglich in Erfahrung gebracht werden.
Hierfür wurde ein informelles Interview mit dem Stakeholder durchgeführt.
Im Rahmen dieses Interviews wurden vorbereitete Fragen gestellt, dem Stakeholder aber auch die Möglichkeit
gegeben frei heraus zu sprechen und Wünsche zu äußern.
Notizen zu diesem Interview befinden sich im Anhang unter
\fullref{app:stakeholder-interview}.

\section{Ergebnisse}
Das Ergebnis der Anforderungserfassung ist ein Lastenheft, das in constraints, funktionale und
nicht-funktioniale Anforderungen unterteilt ist. Im Zuge des Interviews und diversen anderen, informalen Gespräche,
hat sich der Autor ein tiefes Verständnis für das vorliegende Problem des Auftraggebers anggeignet.
Das untenstehende Lastenheft wurde mit dem Stakeholder besprochen und bestätigt.

\begin{table}[ht]
    \centering
    \renewcommand{\arraystretch}{1.5}
    \begin{tabular}{|p{14cm}|}
        \hline
        \textbf{Funktionale Anforderungen} \\ \hline
        Entwickler*innen erhalten verschiedene Zugänge zu verschiedenen \ac{1P}-Einträgen (Zugänge),
        definiert in einer YAML-Datei. \\ \hline
        Wildcard-Matching auf den \ac{1P}-Eintragstitel für zusammenhängende Einträge. \\ \hline
        \ac{1P}-Einträge sollen Entwicklern*innen einzeln zuweisbar sein. \\ \hline
        Nicht in der Konfiguration gelistete Zugänge sollen bei Anwendung entfernt werden. \\ \hline
        Ansible-Secrets müssen aus \ac{1P} dereferenziert werden können. \\ \hline
        Einträge sollen für Entwickler*innen einsehbar sein. \\ \hline
        \textbf{Nicht-funktionale Anforderungen} \\ \hline
        Das System muss Berechtigungen von Entwickler*innen verwalten. \\ \hline
        Das System muss benutzerfreundlich sein. \\ \hline
        Das System muss einfach zu pflegen sein. \\ \hline
        Die benötigte Zeit zur Ausführung der Anwendung soll angemessen lange sein. \\ \hline
        Das System muss robust gegenüber Misskonfigurationen sein, die zur Löschung
        der zugrunde liegenden \ac{1P}-Einträgen führen könnten.\\ \hline
        \textbf{Constraints} \\ \hline
        Nutzung von \ac{1P} ist zwingend erforderlich. \\ \hline
        Die Übermittlung der Secrets muss über das Internet erfolgen. \\ \hline
    \end{tabular}
    \caption{Lastenheft}
    \label{tbl:lastenheft}
\end{table}

