Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Anforderungen ermitteln und formulieren

Nach dieser Lektion: Ich kann aus einem Bedarf eine klare, prüfbare Anforderung formulieren.

Lektion, 55 Min.9 BefehlePostgreSQL-und-PostgREST-Lab: eine Datenbank und eine REST-API im Browser

Aus einem Wunsch wird eine Anforderung

Eine Anforderung ist ein Satz, der genau sagt, was ein System tun oder sein soll. Mit ihr können Sie später prüfen, ob das System fertig ist.

Die Bibliothek einer Hochschule sagt: Das Ausleihen von Notebooks soll einfach sein. Dieser Wunsch reicht nicht. Heute lernen Sie, ihn in Sätze zu übersetzen, die Sie prüfen können.

Am Ende dieser Lektion

Notiz

Ich kann aus einem Bedarf eine klare, prüfbare Anforderung formulieren.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Bedarfein Wunsch oder Problem, das jemand hat
Anforderungein Satz, der sagt, was das System leisten muss
Funktionale Anforderungsagt, was das System tutEin Gerät wird eingetragen
Nichtfunktionale Anforderungsagt, wie gut oder wie schnell es das tutAntwort in einer Sekunde
Prüfbarmit Ja oder Nein überprüfbar
Stakeholdereine Person oder Gruppe, die vom System betroffen ist

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein Bedarf ist noch keine Anforderung

Ein Bedarf kommt von Menschen und ist oft vage: "Das soll schnell gehen." Eine Anforderung ist genau und kann scheitern.

Sie fragen deshalb nach: Wer ist betroffen? Was soll geschehen? Woran sehen wir, dass es klappt? Die Antworten schreiben Sie als kurze Sätze auf.

Ein Beispiel: vom Bedarf zur Anforderung

BedarfAnforderung
Das Ausleihen soll einfach seinDas Personal trägt eine Ausleihe in höchstens drei Eingaben ein
Es soll keine Doppelten gebenDer Name eines Geräts kommt nur einmal vor
Das System soll schnell antwortenDie Liste der Geräte erscheint in unter einer Sekunde
Jedes Gerät braucht eine ArtEin Gerät ohne Art wird abgelehnt

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Funktional oder nichtfunktional

Eine funktionale Anforderung sagt, was das System tut: Es trägt ein Gerät ein. Eine nichtfunktionale sagt, wie gut es das tut: schnell, sicher, immer erreichbar.

Beide brauchen Zahlen oder klare Regeln. Das Wort schnell allein sagt nichts. Eine Sekunde sagt etwas.

Ein laufendes System zeigt seine Regeln

Manchmal gibt es das System schon. Dann ist es die beste Quelle: Sie probieren aus, was es annimmt und was es ablehnt.

Im Lab bauen Sie einen kleinen Geräteverleih. Er hat eine Tabelle geraete und eine Web-API davor. Starten Sie die Runs der Reihe nach.

psql das Passwort geben

Befehl
export PGPASSWORD=shop

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Von vorn beginnen

Befehl
psql -h db -U shop -c "drop table if exists geraete"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Tabelle geraete anlegen

Befehl
psql -h db -U shop -c "create table geraete (id serial primary key, name text not null unique, art text not null)"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Zwei Geräte eintragen

Befehl
psql -h db -U shop -c "insert into geraete (name, art) values ('Notebook 1', 'Notebook'), ('Beamer 1', 'Beamer')"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Der API sagen, dass sie neu schaut

Befehl
psql -h db -U shop -c "notify pgrst, 'reload schema'"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Geräte über die API lesen

Befehl
curl -s -w "\n" "http://api:3000/geraete?order=id"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Jede Ablehnung ist eine gefundene Anforderung

Schicken Sie jetzt Anfragen, die etwas falsch machen. Der Statuscode sagt, ob das System sie annimmt.

Ein 201 heißt: angelegt. Ein 400 heißt: Die Anfrage war falsch. Ein 409 heißt: Sie kollidiert mit einer Zeile, die es schon gibt.

Ein gültiges Gerät eintragen

Befehl
curl -s -o /dev/null -w "%{http_code}\n" -X POST -H "Content-Type: application/json" -d '{"name":"Notebook 2","art":"Notebook"}' "http://api:3000/geraete"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein Gerät ohne Art versuchen

Befehl
curl -s -o /dev/null -w "%{http_code}\n" -X POST -H "Content-Type: application/json" -d '{"name":"Beamer 2"}' "http://api:3000/geraete"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Einen Namen doppelt versuchen

Befehl
curl -s -o /dev/null -w "%{http_code}\n" -X POST -H "Content-Type: application/json" -d '{"name":"Notebook 1","art":"Notebook"}' "http://api:3000/geraete"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein Beispiel: was die Sonden zeigen

AnfrageCodeGefundene Anforderung
Gültiges Gerät201Ein Gerät mit Name und Art wird gespeichert
Gerät ohne Art400Ein Gerät ohne Art wird abgelehnt
Name doppelt409Der Name eines Geräts kommt nur einmal vor

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein häufiger Fehler

Warnung

Viele glauben, ein Wort wie schnell oder einfach sei eine Anforderung. Solche Wörter lassen jede Person etwas anderes verstehen. Ersetzen Sie sie durch eine Zahl oder eine Regel, die ein Test mit Ja oder Nein beantwortet.

Über dieses Lab und seinen Quellcode: PostgreSQL-und-PostgREST-Lab: eine Datenbank und eine REST-API im Browser

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.