% % 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 angeignet. 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}