%
% 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 semistrukturiertes 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 Ergenis der Anforderungserfassung ist ein Lastenheft, das in constraints, funktionale und
nicht-funktioniale Anforderungen zu unterteilen ist.

\begin{table}[ht]
    \centering
    \renewcommand{\arraystretch}{1.5}
    \begin{tabular}{|p{14cm}|}
        \hline
        \textbf{Funktionale Anforderungen} \\ \hline
        Entwickler*innen erhalten verschiedene Zugang 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 Entwickler*innen einzeln zuweisbar sein. \\ \hline
        Nicht in der Konfugration 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 darf nicht aufwändig zu pflegen sein. \\ \hline
        Die benötigte Zeit zur Ausführung der Anwendung soll nicht sehr 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{Anforderungen}
\end{table}

