% % 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 erhalten verschiedene 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 einzeln zuweisbar sein. \\ \hline Nicht im YAML gelistete Zugänge sollen bei Anwendung entfernt werden. \\ \hline Ansible Secrets müssen aus 1Password dereferenziert werden können. \\ \hline \textbf{Nicht-funktionale Anforderungen} \\ \hline Das System muss Berechtigungen von Entwicklern 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 1Password ist zwingend erforderlich. \\ \hline \end{tabular} \caption{Anforderungen} \end{table}