# Aufgabenblatt 02 · Lastenheft ##### Übung zur Vorlesung Datenbanksysteme · Christian Grashei · Peter Huber ### Benutzer-Schnittstellen Die Anwendung stellt ein Webinterface mit folgenden Views bereit: - Sitzverteilung im Bundestag - Mitgleider des Bundestags (Name, Parteizugehörigkeit, etc.) - Erststimmenanteile - bundesweit - nach Bundesland - nach Wahlkreis - Zweitstimmenanteile - bundesweit - nach Bundesland - nach Wahlkreis - Vergleich mit BTW 2017 - Wahlbeteiligung - Gültigkeit der Stimmen - Informationen über Direktkandidaten/Direktmandate - Landeslisten - Anzahl der Überhangs-/Ausgleichsmandate - Stimmabgabe im Wahllokal (Keine Konten einzelner Bürger, sondern z.B. Vouchers, Freischaltung) - Batch-(Up-)Loading von Stimmen (z.B. CSV-Datei hochladen) ### Funktionale Anforderungen - **Datenbank**: Die Anwendung stellt eine Datenbank bereit in der die benötigten Daten zur Analyse vorhanden sind (BTW 2017 & BTW 2021). - **Web-API**: Es wird eine API als Web-Schnittstelle bereitgestellt über die das Frontend die benötigten Daten zur Analyse laden kann. Die API enthält auch eine Möglichkeit zur Stimmabgabe. - **Visualisierung**: Die Daten zur Wahl werden in Diagrammen und Tabellen in einer jeweils geeigneten Form visualisiert. - **Aggregation d. Daten**: Die Daten der Wahl werden redundant aggregiert gespeichert um eine kurze Wartezeit zu ermöglichen. Die Aggregate werden regelmäßig aktualisiert. - **Konformität**: Die angezeigten Daten sind nach den geltenden Rechtsgrundlagen berechnet. - **Zugriff**: Die Anwendung kann über einen Browser aufgerufen werden. ### Nicht-funktionale Anforderungen - **Skalierbarkeit/Zuverlässigkeit:** Das System soll Millionen von Anfragen gleichzeitig abarbeiten können. - **Einfache Bedienbarkeit:** Das System sollte zugägnlich für die ganze Bevölkerung gestaltet werden und intuitiv nutzbar sein. - **Performance**: Jede Seite soll nach dem Aufruf innerhalb von 2 Sekunden dargestellt werden - **Sicherheit**: Jede Schreiboperation erfordert Authentifikation über Wahllokal. - **Datenschutz**: Die DSGVO wird eingehalten und personenbezogene Daten nur in erforderlichem Umfang verarbeitet. Das Wahlgemeinmis wird gewahrt. - **Erweiterung**: Die Anwendung soll leicht um weitere Funktionen erweiterbar sein. - **Software**: Für die persistente Speicherung der Daten wird ein SQL-DBMS verwendet. ### Abnahmekriterien - Die Übergabe der Applikation findet rechtzeitig statt - Die definierten Benutzerschnittstellen und Ansichten sind vollumfänglich enthalten - Qualitätskriterien in den nicht-funktionalen Anforderungen werden eingehalten. - Ein Test hinsichtlich der Leistung, Performance Stabilität und des Funktionsumfangs ist erfoglreich. https://hackmd.io/jR7hBjiWQXyhhzZvWs-w2g