Software entwickeln und debuggen
Software entwickeln ist wie das Erschaffen von digitalen Welten. Durch geschicktes Programmieren entstehen Anwendungen, die unsere Computer und Geräte mit zahlreichen Funktionen ausstatten. Jedoch können während dieses Vorgangs auch Fehler auftreten, die durch gründliches Debuggen behoben werden müssen.
Info für Lehrende
Mehr zu SchuBu+
Vom Algorithmus zur Software
Beispielsweise wissen wir dank dem Algorithmus der rechten Hand-Regel (vorherige Seite), wie die virtuelle Maus aus vielen Labyrinthen herausfinden kann.
Doch wie bringen wir die Maus dazu, diesem Algorithmus zu folgen?
Hier kommt die Software ins Spiel:
Software löst das Problem, indem sie den Algorithmus ausführt.
Software ist eine Sammlung von Code-Anweisungen, die einen Computer so steuern, dass er Aufgaben erledigen kann.
Grundlegende Schritte der Softwareentwicklung
Bringe den Ablauf in die richtige Reihenfolge!
Softwarekomponenten
Softwarekomponenten sind eigene Programme oder Teilbereiche der Applikation mit einer ganz bestimmten Aufgabe. Sie werden benötigt, um verschiedene Teile einer Software miteinander arbeiten zu lassen. Nur so kann man sicherstellen, dass eine Applikation
Beispiele für Applikationen: Textverarbeitungsprogramme, Spiele, Webbrowser etc.
Ordne die Softwarekomponenten den richtigen Bereichen unten zu! Die Bereiche unten beschreiben Aufgaben, die ein Videospiel oder eine Generative KI können müssen.
Info für LehrendeAuf den Spuren von Bugs
Programmieren ist wie ein schwieriges Rätselspiel, bei dem man ständig nach neuen und cleveren Möglichkeiten sucht, um Probleme zu lösen. Ein bekanntes Problem, das jede Programmiererin und jeder Programmierer kennt, sind sogenannte Bugs.
Lies im SchuBuch, woher der Begriff Bug kommt und mache die dazugehörigen Übungen!
Bugs können während des Entwicklungsprozesses oder nach der Veröffentlichung auftreten und beeinträchtigen die Funktionalität der Anwendung. Insgesamt sind Bugs unvermeidlich, aber Fehlerprotokolle ermöglichen es Entwicklerinnen und Entwicklern, systematisch mit ihnen umzugehen.
Fehlerprotokoll
Oft finden Software-Benutzerinnen und Benutzer Fehler. Zum Beispiel kann jemand in einem
Wie können nun die Programmiererinnen und Programmierer den Fehler ausbessern?
Es reicht jedenfalls nicht, wenn sie auf ihrem Computer die Seite aufmachen, den Bestellbutton sehen und zurückschreiben: „Alles gut, der Button ist wieder da.“
Damit Programmiererinnen und Programmierer einen Fehler ausbessern können, müssen sie folgende Informationen haben:
- Was ist der Fehler? Eine Fehlerbeschreibung, zum Beispiel:
„Ich wollte bestellen, aber konnte nirgends einen Button dafür finden.“ - Wo ist der Fehler aufgetreten? Zum Beispiel:
„iPhone 12, Safari-Browser, Internet-Adresse des Webshops“ - Wie lässt sich der Fehler verursachen? Das ist ein sehr wichtiger Punkt. Zum Beispiel:
„Zuerst klicke ich auf das Bild der Ware, dann auf das Einkaufswagensymbol. Dort kann ich dann einstellen, wie ich bezahlen möchte usw, das funktioniert alles aber darunter ist dann kein Button, um die Bestellung abzuschicken.“
Mit diesem Fehlerprotokoll können Programmiererinnen und Programmierer nun den Fehler nachvollziehen und ausbessern. Am Schluss versuchen sie, ihn genau nach der Anleitung noch einmal zu verursachen und wenn dann alles funktioniert, haben sie den Fehler erfolgreich debuggt.
Bugs finden und beseitigen
Da das Finden und Debuggen von Fehlern sehr viel Spaß machen kann, haben wir in den
- In Spielen kann man links unten Gravitation einschalten.
- Dazu passend gibt es ein neues Element, damit man nach einem Sprung gut landen kann:-Element: Wenn eine Spielfigur dieses Element berührt, wird sie gestoppt.
Syntaxfehler
Ein Syntaxfehler tritt auf, wenn der geschriebene Code nicht den Regeln und Strukturen der verwendeten Programmiersprache entspricht. Der Computer kann diesen Code nicht richtig verstehen und zeigt eine Fehlermeldung an, sobald man versucht, das Programm auszuführen.
Auffrischung von ein paar GamBu-Skript-Regeln
- Alle Befehle werden klein geschrieben.
- Um einer Variablen einen Wert zu geben, schreibt man zum Beispiel: merkwert = 1.5
- Eine Programmschleife beginnt immer mit dem Befehlswort: wiederhole
Syntaxfehler finden
Im Bot-Script haben sich Fehler eingeschlichen. Klicke auf die Sprechblase „Debugge mich!" und debugge die 3 Syntaxfehler! Wenn das Script fehlerfrei ist, wird der Affe erfolgreich die Bananen fressen.
Info für LehrendeLogikfehler
Hierbei handelt es sich um Fehler im Programmablauf, bei dem die Logik des Codes nicht korrekt ist. Das bedeutet, dass der Code ausgeführt wird, aber das Ergebnis ist nicht das, was man ursprünglich erzielen wollte. Solche Fehler können schwer zu finden sein, weil das Programm ohne Fehlermeldung durchläuft. Das ist auch in folgendem Spiel so. Es ist schwer, den Logikfehler zu finden und es ist noch viel schwerer, ihn auszubessern.
Logikfehler finden
Achtung, das ist eine besonders schwierige Aufgabe. Im folgendem GamBu-Spiel gibt es einen Logikfehler: Manchmal wird eine Spielfigur unsichtbar und damit wird das Spiel dann unspielbar. Finde diesen Fehler und debugge ihn! Gehe folgendermaßen vor:
- Gewinne das Spiel, indem du die zwei grünen Ziele berührst!
- Finde heraus, wie man den Fehler hervorrufen kann!
- Schreibe alle notwendigen Schritte, die eine Spielerin oder ein Spieler machen muss, bis der Fehler auftritt, in ein Fehlerprotokoll!
- Debugge den Logikfehler im Gambu-Script!
Fehlerprotokoll
UI-Fehler
Diese Fehler beziehen sich auf Probleme in der Benutzeroberfläche, die das Aussehen oder die Funktionalität beeinträchtigen können. Dazu gehören beispielsweise falsch platzierte Schaltflächen oder schlecht lesbare Texte.
UI-Fehler finden
Ist im User Interface dieses GamBu-Spiels etwas nicht so, wie man es erwarten würde?
Bestimmt als Klasse, welche Lösung ihr am besten findet!
In eine Entwicklungsumgebung blicken
Eine Entwicklungsumgebung, oft auch als Integrated Development Environment (IDE) bezeichnet, ist eine Applikation. Sie hilft Entwicklerinnen und Entwicklern dabei, Software-Anwendungen zu erstellen, zu bearbeiten, zu testen und zu debuggen. Eine IDE bietet in der Regel eine integrierte Suite von Werkzeugen und Funktionen, die den gesamten Softwareentwicklungsprozess unterstützen.
Eine kostenlose, weit verbreitete und für fast alle Programmiersprachen konfigurierbare IDE ist zum Beispiel Visual Studio Code:
Game- oder KI-Code?
Nimm die Bilder unter die Lupe und bestimme von welcher Applikation der Code ist!
Hacks & Tricks
Log-Befehl
Zum Debuggen in GamBu-Script hilft der Log-Befehl.
Auch in anderen Programmiersprachen wie JavaScript funktioniert der Log-Befehl sehr ähnlich.
Konsole im Browser
Dein Browser hat eine eingebaute Konsole. Die Konsole kann durch Rechtsklick auf eine beliebige Webseite im letzten Eintrag im Kontext-Menü „Untersuchen“ angezeigt werden. Wähle den Tab „Konsole“, um die Konsole zu öffnen.
Wenn eine Webseite nicht richtig funktioniert, wird oft ein Fehler in der Konsole angezeigt. Der Fehlertext hilft der Programmiererin oder dem Programmierer, das Problem zu beheben.
Eine Webseite „hacken“
Kopiere folgenden Befehl in die Eingabezeile der Konsole und drücke auf Enter:
Der Text der Webseite kann jetzt bearbeitet werden. Man bearbeitet allerdings nur die Darstellung der Seite. Beim Neuladen der Seite ist wieder alles wie vorher.