Architecture Kata „Sicherer Taschenrechner“
Entwickle eine Taschenrechneranwendung, bei der einzelne Operationen nur bestimmten Benutzern zur Verfügung stehen.
Das grundsätzliche UI des Taschenrechners soll so aussehen:
Darüber hinaus soll der Taschenrechner aber auch eine Benutzerverwaltung enthalten. Sie kann z.B. über ein Menü erreichbar sein. Mit ihr soll man Benutzer registrieren können, Benutzer können sich an- und abmelden und ihr Passwort neu vergeben.
Beim Start der Anwendung müssen sich Benutzer zuerst anmelden. [1] Falls sie ihr Passwort vergessen haben, können sie sich ein neues per Email zusenden lassen.
Nach Installation der Anwendung gibt es einen Default-Benutzer „admin“ (Passwort: „admin“), der weitere Benutzer anlegen kann.
Jeder Benutzer ist einer Rolle zugeordnet. Sie bestimmt, welche Operationen er verwenden darf. Andere sind für ihn ausgegraut.
Daten
- Rechte: Addieren (A), Subtrahieren (S), Multiplizieren (M), Dividieren (D), Benutzer registrieren (R)
- Rollen: Schüler [A,S], Bachelor [A,S,M], Master [A,S,M,D] Admin [R]
- Benutzer: Email, Passwort (nur als Hash speichern), Rolle
[1] Als Benutzername wird der zuletzt benutzte vorgeschlagen.