Sicherer Taschenrechner

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.