# Seite 16: Mock-up-Trainer

Dieser interaktive Trainer gehört zur Theorie-Seite:

```text
Mock-up / Benutzeroberflächen-Entwurf
```

Hier übst du, aus einer Aufgabenbeschreibung die wichtigsten Elemente einer Benutzeroberfläche abzuleiten.

Im Fokus stehen:

```text
Pflichtfelder
Fehlermeldungen
Validierung
Buttons
Hauptaktion
Nebenaktion
Benutzerführung
Mock-up ≠ UML-Diagramm
```

---

**Was wird trainiert?**

| Bereich | Bedeutung |
|---|---|
| **Pflichtfelder erkennen** | wichtige Felder mit `*` markieren |
| **Fehlermeldungen platzieren** | Fehler direkt am betroffenen Feld anzeigen |
| **Validierung verstehen** | Eingaben fachlich prüfen |
| **Hauptaktion erkennen** | wichtigste Aktion, z. B. Speichern oder Anmelden |
| **Nebenaktionen erkennen** | Abbrechen, Zurück, Zurück zur Liste |
| **Benutzerführung bewerten** | Oberfläche soll verständlich und logisch sein |
| **Mock-up einordnen** | Mock-up ist kein UML-Diagramm |

---

**Interaktiver Mock-up-Trainer**

<iframe
  src="https://trainer.ulrich-wiki.com/mockup-trainer.html?v=1"
  width="100%"
  height="1450"
  style="border:1px solid #444; border-radius:12px;">
</iframe>

<div style="margin:16px 0;">
  <a
    href="https://trainer.ulrich-wiki.com/mockup-trainer.html?v=1"
    target="_blank"
    rel="noopener"
    style="
      display:inline-block;
      padding:12px 18px;
      background:#2563eb;
      color:white;
      font-weight:bold;
      text-decoration:none;
      border-radius:10px;
      border:1px solid #1d4ed8;
    ">
    Mock-up-Trainer im Vollbild öffnen
  </a>
</div>

---

**Merksatz für den Trainer**

```text
Mock-up = geplanter Oberflächenentwurf
Mock-up ist kein UML-Diagramm
Pflichtfelder müssen erkennbar sein
Fehlermeldungen gehören nah an das betroffene Feld
Buttons müssen eindeutig beschriftet sein
Benutzerführung muss logisch und verständlich sein
```

---

**Beispiel: Produktformular**

Aufgabenstellung:

```text
Ein Produkt soll angelegt werden.
Produktname, Kategorie und Preis sind Pflichtfelder.
Der Preis muss größer als 0 sein.
Der Benutzer soll speichern, abbrechen oder zurück zur Liste gehen können.
```

Mögliche Lösung:

```text
Pflichtfelder:
Produktname
Kategorie
Preis

Fehlermeldung:
Direkt am Preisfeld

Hauptaktion:
Speichern

Sinnvolle Nebenaktionen:
Abbrechen
Zurück zur Liste

Validierung:
Preis muss größer als 0 sein

Einordnung:
Mock-up ist kein UML-Diagramm
```

---

**Warum ist das fachlich richtig?**

Ein Mock-up soll zeigen, wie eine Oberfläche aufgebaut ist und wie der Benutzer sie bedient.

Bei einem Produktformular muss der Benutzer erkennen:

```text
Welche Daten muss ich eingeben?
Welche Felder sind Pflicht?
Was ist falsch, wenn eine Eingabe ungültig ist?
Wie speichere ich?
Wie breche ich ab?
Wie komme ich zurück?
```

---

**Pflichtfelder**

Pflichtfelder sind Felder, die ausgefüllt werden müssen.

Typische Darstellung:

```text
Produktname *
Kategorie *
Preis *
```

Das Sternchen `*` zeigt:

```text
Dieses Feld ist erforderlich.
```

---

**Fehlermeldungen**

Fehlermeldungen sollten möglichst direkt beim betroffenen Feld stehen.

Gut:

```text
Preis *
[ 0,00 € ]
Preis muss größer als 0 sein.
```

Schlecht:

```text
Irgendwo oben steht nur:
Fehler.
```

Merksatz:

```text
Der Benutzer muss sofort erkennen, was falsch ist und wo er es korrigieren muss.
```

---

**Validierung**

Validierung bedeutet:

```text
Das System prüft, ob die Eingabe gültig ist.
```

Beispiele:

```text
Preis muss größer als 0 sein
E-Mail-Adresse muss gültig sein
Passwort darf nicht leer sein
Produktname muss ausgefüllt sein
Kategorie muss ausgewählt werden
```

---

**Hauptaktion**

Die Hauptaktion ist die wichtigste Aktion im Formular.

Beispiele:

```text
Speichern
Anmelden
Bestellung abschließen
Absenden
```

Im Produktformular ist die Hauptaktion:

```text
Speichern
```

---

**Nebenaktionen**

Nebenaktionen helfen dem Benutzer, den Vorgang zu verlassen oder zurückzugehen.

Beispiele:

```text
Abbrechen
Zurück zur Liste
Zurück zum Warenkorb
Schließen
```

Wichtig:

```text
Der Benutzer soll nicht in der Oberfläche feststecken.
```

---

**Mock-up ist kein UML-Diagramm**

Ein Mock-up zeigt eine Benutzeroberfläche.

Es zeigt nicht:

```text
Klassen
Methoden
Kardinalitäten
Sequenzen
Kontrollflüsse
Datenbankbeziehungen
```

Dafür gibt es andere Diagramme.

Merksatz:

```text
Mock-up = Oberfläche
UML = Modellierung
```

---

**Typische Fehler im Mock-up**

| Fehler | Warum problematisch? |
|---|---|
| Pflichtfelder fehlen | Benutzer weiß nicht, was zwingend ist |
| Fehlermeldung fehlt | Benutzer versteht den Fehler nicht |
| Fehlermeldung steht zu weit weg | Fehler ist schwer zuzuordnen |
| Button heißt nur „OK“ | Aktion ist nicht eindeutig |
| Kein Abbrechen-Button | Benutzer kann Vorgang schlecht verlassen |
| Kein Rückweg | Benutzerführung ist unvollständig |
| Zu viele Elemente | Oberfläche wird unübersichtlich |
| Technische Begriffe | Benutzer versteht die Oberfläche schlechter |

---

**Mini-Testfragen**

<details>
<summary><strong>1. Was trainiert dieser Mock-up-Trainer?</strong></summary>

Er trainiert das Erkennen wichtiger UI-Elemente:

```text
Pflichtfelder
Fehlermeldungen
Validierung
Buttons
Benutzerführung
```

</details>

<details>
<summary><strong>2. Was bedeutet ein Sternchen `*` an einem Feld?</strong></summary>

Das Sternchen bedeutet:

```text
Pflichtfeld
```

Das Feld muss ausgefüllt werden.

</details>

<details>
<summary><strong>3. Wo sollte eine Fehlermeldung stehen?</strong></summary>

Möglichst direkt am betroffenen Feld.

Beispiel:

```text
Preis muss größer als 0 sein.
```

direkt beim Preisfeld.

</details>

<details>
<summary><strong>4. Was ist die Hauptaktion im Produktformular?</strong></summary>

Die Hauptaktion ist:

```text
Speichern
```

</details>

<details>
<summary><strong>5. Welche Nebenaktionen sind sinnvoll?</strong></summary>

Zum Beispiel:

```text
Abbrechen
Zurück zur Liste
```

</details>

<details>
<summary><strong>6. Was bedeutet Validierung?</strong></summary>

Validierung bedeutet:

```text
Das System prüft, ob eine Eingabe gültig ist.
```

Beispiel:

```text
Preis muss größer als 0 sein.
```

</details>

<details>
<summary><strong>7. Ist ein Mock-up ein UML-Diagramm?</strong></summary>

Nein.

Ein Mock-up ist ein Oberflächenentwurf und kein UML-Diagramm.

</details>

<details>
<summary><strong>8. Was zeigt ein Mock-up nicht?</strong></summary>

Ein Mock-up zeigt nicht:

```text
Programmcode
Datenbankbeziehungen
Klassendiagramme
Sequenzdiagramme
Kontrollflüsse
```

</details>

<details>
<summary><strong>9. Warum sind eindeutige Buttons wichtig?</strong></summary>

Weil der Benutzer erkennen muss, welche Aktion passiert.

Besser:

```text
Speichern
Abbrechen
Zurück zur Liste
```

statt:

```text
OK
Weiter
Button 1
```

</details>

<details>
<summary><strong>10. Was ist Benutzerführung?</strong></summary>

Benutzerführung bedeutet:

```text
Die Oberfläche zeigt dem Benutzer klar, was er tun soll.
```

Dazu gehören:

```text
verständliche Feldnamen
sichtbare Pflichtfelder
klare Buttons
Fehlermeldungen
Rückwege
```

</details>

---

**Nächste Seite**

Danach geht es weiter mit:

```text
UML-Zustandsdiagramm
```