Erste Analyse#

Die Ausgangslage und Beschreibung der zu speichernden Daten. Darüberhinaus soll eine Anonyme erfassung an Hand einer User-/Organisations-ID möglich sein. Änderungsaktivitäten durch Wiederholung sollen als Historie gespeichert werden.

Was soll modelliert (gespeichert) werden?#

Fragen/Antworten#

Als Muster zwei Datensätze, die für die Darstellung in der Anwendung genutzt werden.

{
    "question": "Die Schlüssellänge ist eine wichtige Eigenschaft kryptographischer Verfahren. Welche Länge ist hier richtig?",
    "answers": ["130 Bit", "194 Bit", "256 Bit", "110 Bit","1022 Bit", "1033 Bit"],
    "id": "162",
    "correct": 2,
    "kategorie": "12",
    "feedback": "Leider fehlen bei allen Schlüssellängen zwei Bit, nur bei 256 Bit ist die genannte Zahl korrekt. Was bitte ist ein Bit? Siehe auch:
            https://de.wikipedia.org/wiki/Bit"},

},
{
    "question": "Teilen Sie bei  einem Anruf durch eine Autorit\u00e4t (Service, Helpdesk, Vorgesetzter etc.) ein notwendiges Passwort mit?",
    "answers": ["Ja.", "Nein."],
    "id": "163",
    "correct": 99,
    "kategorie": "6",
    "feedback": ""
}

Kategorien#

Die Kategorien sind über einen Schlüssel definiert.

const categories = [
  { id: 3, short: "he", long: "Home Office" },
  { id: 5, short: "me", long: "Malware" },
  { id: 6, short: "mn", long: "Forschungsfragen/Metafragen" },
  { id: 7, short: "el", long: "E-Mails" },
  { id: 8, short: "pe", long: "Passwörter" },
  { id: 9, short: "ng", long: "Social Engineering" },
  { id: 10, short: "se", long: "Software" },
  { id: 12, short: "co", long: "Kryptographie" },
  { id: 13, short: "wb", long: "Verhalten im Web" },
  { id: 14, short: "rt", long: "Recht" },
  { id: 15, short: "dp", long: "Entwickler/Admins" },
  { id: 99, short: "nf", long: "Neue Fragen" },
];

Ausgangslage#

Darstellung als Tabelle mit Mustereinträgen.

user

question

answers

id

correct

category

feedback

xxx

Die Schlüssellänge ist …

[„130 Bit“, „194 Bit“,‘…‘]

162

2

12

256 ist korrekt

yyy

Teilen Sie bei einem Anruf …

[„Ja.“, „Nein.“]

163

99

6

Entitäten#

Aus den gezeigten Beispieldaten ergeben sich vier wichtige Entitätstypen (Objekttypen).

  • Kategorien

  • Fragen

  • Antworten

  • History

  • Teilnehmer

    • userid

    • queryid

    • answer

    • timestarted

    • timefinished

  • Fragen

    • queryid

    • catid

    • correct

    • question

    • answers

    • feedback

  • Category

    • catid

    • short

    • long

  • History

    • userid

    • queryid

    • answer

    • timestarted

    • timefinished