Programme planen, bauen und testen
Schreibe Anforderungen, die du prüfen kannst
„Das Programm soll gut funktionieren“ ist ein sinnvolles Ziel, sagt dir aber nicht, woran du Erfolg erkennst.
Eine prüfbare Anforderung verbindet eine Situation mit einem beobachtbaren Ergebnis.
Vergleiche beim Quizprogramm:
Das Programm soll Antworten fair bewerten.
mit:
Ignoriere beim Vergleichen von Antworten umgebende Leerzeichen und die Groß- und Kleinschreibung. Ansonsten muss die vollständige Antwort übereinstimmen.
Die zweite Version liefert dir Beispiele, die du testen kannst. " Pacific " stimmt mit "pacific" überein, "Pacific Ocean" dagegen nicht.
Bestimme vier Bestandteile
Schreibe für ein kleines Programm Folgendes auf:
Eingaben: Werte, die das Programm erhält.
Ausgaben: Werte, die es zurückgibt, oder Text, den es anzeigt.
Gespeicherte Daten: Werte, die es während seiner Arbeit behalten muss.
Regeln: Entscheidungen und Berechnungen, die Eingaben mit Ausgaben verbinden.
Für das Quizprogramm:
| Bestandteil | Beschreibung |
|---|---|
| Eingaben | die Antworten einer lernenden Person |
| Ausgaben | Rückmeldungen und eine endgültige Punktzahl |
| Gespeicherte Daten | der Titel, die Fragedatensätze und die aktuelle Punktzahl |
| Regeln | Antworten vor dem Vergleichen bereinigen, leere Antworten ablehnen und für jede Übereinstimmung einen Punkt hinzufügen |
Das ist noch kein Code. Betrachte es als Übersicht der Informationen und Verhaltensweisen, die der Code darstellen muss.
Berücksichtige ungeeignete und leere Fälle
Anforderungen beschreiben oft den Normalfall und vergessen alles andere.
Für dieses Projekt sind unter anderem diese Fragen hilfreich:
Ist ein Plan mit genau drei Fragen bereit, oder braucht er mehr als drei?
Darf ein Titel, eine Frage oder eine erwartete Antwort nur aus Leerzeichen bestehen?
Was passiert, wenn sich zwei Fragen nur in der Groß- und Kleinschreibung oder in umgebenden Leerzeichen unterscheiden?
Darf die endgültige Punktzahl null sein? Darf sie der Anzahl der Fragen entsprechen?
Was soll passieren, wenn die lernende Person eine leere Antwort abgibt?
Nicht jedes Programm muss jede mögliche Eingabe unterstützen. Es braucht aber einen bewusst festgelegten Vertrag.
Zum Beispiel:
Ein Quizplan erfüllt seine Anforderung an die Fragenanzahl, wenn er mindestens drei Fragen enthält.
Das Wort „mindestens“ legt die Grenze fest: Genau drei sind genug. Ein anderes Projekt könnte fünf wählen. Entscheidend ist, das Verhalten festzulegen und zu benennen, bevor der Code stillschweigend für dich entscheidet.
Vermeide Wörter mit unklarer Bedeutung
Wörter wie „schnell“, „freundlich“, „richtig“ und „angemessen“ brauchen eine Erläuterung. Sie klingen genau, bis zwei Personen sie unterschiedlich auslegen.
Statt:
Bereinige die Antwort richtig.
schreibe:
Ignoriere beim Vergleichen der Antwort umgebende Leerraumzeichen und die Groß- und Kleinschreibung.
Statt:
Behandle leere Antworten hilfreich.
schreibe:
Wenn die bereinigte Antwort leer ist, zeige
"Please enter an answer."an und stelle dieselbe Frage erneut.
Jetzt kann eine andere Person das Programm bauen, und ihr könnt euch darüber einig sein, ob es die Anforderung erfüllt.
Erstelle eine Abnahmecheckliste
Mache vor dem Programmieren aus der Projektbeschreibung des Quiz eine kleine Checkliste:
Versionen derselben Antwort mit zusätzlichen Leerzeichen und anderer Groß- und Kleinschreibung stimmen überein;
eine andere vollständige Antwort stimmt nicht überein;
genau drei Fragen erfüllen die Anforderung an die Fragenanzahl;
für leere Titel, Fragen, erwartete Antworten und eingegebene Antworten sind die Ergebnisse festgelegt;
der abschließende Bericht enthält die zugesagte Punktzahl.
Diese Checkliste wird in den nächsten Lektionen zu konkreten Beispielen und automatischen Prüfungen. Damit geben wir deinem zukünftigen Ich weniger Rätsel auf.
Welche Anforderung an den Antwortvergleich lässt sich am leichtesten objektiv prüfen?
Eine Anforderung lautet:
> Ein Quizplan erfüllt seine Anforderung an die Fragenanzahl, wenn er mindestens drei Fragen enthält.
Was sollte die Prüfung der Fragenanzahl melden, wenn der Plan genau drei Fragen enthält?