# 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