Zum Inhalt springen

Informatik 8: Softwareentwicklung und Projektmanagement: Unterschied zwischen den Versionen

Aus Informatik.wiki
Migration aus statischer Informatik.wiki-Version in klassisches MediaWiki
 
Keine Bearbeitungszusammenfassung
 
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
← [[Informatik 8. Klasse|Informatik 8. Klasse]]
← [[Informatik 8. Klasse|Zurück zur 8. Klasse]]


Die kompakten Lernziele verbinden Planen, Entwickeln, Testen, Zusammenarbeiten und Reflektieren, damit Schülerinnen und Schüler Softwareentwicklung nicht nur als Programmieren verstehen, sondern als geordneten Prozess mit klaren Phasen, Rollen, Werkzeugen und Entscheidungen.
<div style="border:1px solid #a2a9b1; background:#f8f9fa; padding:1em; margin:0 0 1.5em 0;">
'''Worum geht es?''' 
Die Lerninhalte verbinden Entwicklungsphasen, agile und lineare Vorgehensweisen, Rollenverteilung, Teamorganisation und Qualitätssicherung, damit Softwareprojekte als strukturierte Arbeitsprozesse verständlich werden und nicht auf einzelne Code-Fragmente oder bloße Bedienhandlungen reduziert bleiben.
</div>


== 14.1 Lernziele ==
== Lernziele ==


* Ziele klären, Anforderungen sammeln
Nach diesem Kapitel kannst du:
* Aufgaben zerlegen, Schritte planen
* Algorithmen entwerfen, Abläufe darstellen
* Prototypen bauen, Funktionen testen
* Fehler finden, Korrekturen vornehmen
* Versionen vergleichen, Änderungen dokumentieren
* Rollen erklären, Zusammenarbeit beschreiben
* Scrum nennen, Kanban einordnen
* Zeit planen, Prioritäten setzen
* Projektwege reflektieren, Ergebnisse begründen


== 14.2 Lerninhalte ==
* Ziele klären, Anforderungen sammeln.
* Aufgaben zerlegen, Schritte planen.
* Algorithmen entwerfen, Abläufe darstellen.
* Prototypen bauen, Funktionen testen.
* Fehler finden, Korrekturen vornehmen.
* Versionen vergleichen, Änderungen dokumentieren.
* Rollen erklären, Zusammenarbeit beschreiben.
* Scrum nennen, Kanban einordnen.
* Zeit planen, Prioritäten setzen.
* Projektwege reflektieren, Ergebnisse begründen.


Die Lerninhalte verbinden Entwicklungsphasen, agile und lineare Vorgehensweisen, Rollenverteilung, Teamorganisation und Qualitätssicherung, damit Softwareprojekte als strukturierte Arbeitsprozesse verständlich werden und nicht auf einzelne Code-Fragmente oder bloße Bedienhandlungen reduziert bleiben.
=== Anschluss an die 7. Klasse ===
 
Programmierung und Modellierung wurden bereits vertieft. Jetzt kommt der vollständige Entwicklungsprozess hinzu: Anforderungen, Entwurf, Implementierung, Test, Rollen, agile Methoden, Versionierung und Projektauswertung.
 
== Lerninhalte ==
 
=== Kompaktüberblick ===
 
{| class="wikitable"
! Teilbereich
! Kerngedanke
|-
| Softwareentwicklung als Prozess
| Ein tragfähiges Verständnis entsteht dann, wenn Softwareentwicklung als Folge zusammenhängender Arbeitsschritte betrachtet wird, weil gute Programme nicht zufällig entstehen, sondern aus Problemklärung, Planung, Umsetzung, Überprüfung und wiederholter …
|-
| Anforderungen und Zieldefinition
| Gute Softwareprojekte gelingen leichter, wenn vor der Umsetzung klar ist, welches Problem gelöst werden soll, welche Funktionen wirklich nötig sind und für wen das Produkt gedacht ist.
|-
| Entwurf, Algorithmen und Darstellung
| Ein geordneter Entwurf verhindert viele spätere Probleme, weil Abläufe, Zustände und Zusammenhänge schon vor dem Codieren sichtbar werden und dadurch verständlicher, überprüfbarer und leichter veränderbar bleiben.
|-
| Implementieren, Testen und Debuggen
| Die Qualität von Software zeigt sich nicht nur am ersten Funktionieren, sondern daran, wie sorgfältig getestet, wie systematisch Fehler gesucht und wie bewusst Verbesserungen in mehreren Entwicklungsschritten vorgenommen werden.
|-
| Iterative und lineare Vorgehensweisen
| Methoden der Softwareentwicklung unterscheiden sich besonders deutlich darin, ob ein Produkt eher in festen aufeinanderfolgenden Phasen oder in wiederholten Schleifen mit frühen Zwischenständen entwickelt wird.
|-
| Rollen im Softwareprojekt
| Softwareprojekte werden übersichtlicher und erfolgreicher, wenn Aufgaben nicht ungeordnet verteilt, sondern Rollen und Verantwortlichkeiten bewusst benannt werden, damit Zusammenarbeit, Kommunikation und Kontrolle nachvollziehbar bleiben.
|-
| Scrum und Kanban im Überblick
| Agiles Projektmanagement wird verständlich, wenn Arbeitsprozesse sichtbar gemacht, Aufgaben priorisiert und Fortschritte regelmäßig überprüft werden, weil gerade dadurch Teamarbeit, Transparenz und flexible Anpassung unterstützt werden können.
|-
| Dokumentation, Versionen und Nachvollziehbarkeit
| Softwareentwicklung bleibt langfristig nur dann verständlich, wenn Entscheidungen, Änderungen und Zwischenschritte dokumentiert werden, weil spätere Verbesserungen sonst schwer prüfbar und Teamarbeit unnötig fehleranfällig wird.
|-
| Zusammenarbeit, Werkzeuge und Unterrichtspraxis
| Softwareprojektmanagement wird für Lernende besonders greifbar, wenn digitale Werkzeuge für Kommunikation, Aufgabenverteilung und gemeinsame Bearbeitung nicht nur genannt, sondern als praktische Unterstützung im Projekt verstanden werden.
|-
| Reflexion und Auswertung von Softwareprojekten
| Nachhaltiges Lernen entsteht besonders dann, wenn ein Softwareprojekt nicht mit dem letzten Klick endet, sondern der Entwicklungsprozess rückblickend betrachtet, bewertet und für spätere Projekte verbessert wird.
|}
 
<div style="border-left:4px solid #36c; background:#f8f9fa; padding:.8em 1em; margin:1em 0;">
'''Merke:''' Softwareentwicklung ist ein Prozess aus Anforderungen, Entwurf, Umsetzung, Test, Zusammenarbeit, Dokumentation und Verbesserung.
</div>


=== Softwareentwicklung als Prozess ===
=== Softwareentwicklung als Prozess ===


Ein tragfähiges Verständnis entsteht dann, wenn Softwareentwicklung als Folge zusammenhängender Arbeitsschritte betrachtet wird, weil gute Programme nicht zufällig entstehen, sondern aus Problemklärung, Planung, Umsetzung, Überprüfung und wiederholter Verbesserung hervorgehen. Softwareentwicklung beginnt mit einer Aufgabe oder einem Problem. Danach werden Ziele geklärt, Anforderungen gesammelt, erste Ideen skizziert und passende Funktionen festgelegt. Erst anschließend werden Algorithmen formuliert, Oberflächen entworfen, Programme umgesetzt, getestet und verbessert. Im didaktischen Skriptum wird deutlich betont, dass der Ausgangspunkt der Programmierung die Auseinandersetzung mit Algorithmen ist und dass entwerfen, darstellen, implementieren und testen zusammengehören.
Ein tragfähiges Verständnis entsteht dann, wenn Softwareentwicklung als Folge zusammenhängender Arbeitsschritte betrachtet wird, weil gute Programme nicht zufällig entstehen, sondern aus Problemklärung, Planung, Umsetzung, Überprüfung und wiederholter Verbesserung hervorgehen.
 
Softwareentwicklung beginnt mit einer Aufgabe oder einem Problem. Danach werden Ziele geklärt, Anforderungen gesammelt, erste Ideen skizziert und passende Funktionen festgelegt.
 
Erst anschließend werden Algorithmen formuliert, Oberflächen entworfen, Programme umgesetzt, getestet und verbessert.
 
'''Beispiele:'''


Beispiele:
Ein Fangspiel in Scratch wird nicht mit allen Funktionen auf einmal gebaut, sondern über Bühnenbild, Figuren, Steuerung und Punktelogik schrittweise entwickelt.


Ein Fangspiel in Scratch wird nicht mit allen Funktionen auf einmal gebaut, sondern über Bühnenbild, Figuren, Steuerung und Punktelogik schrittweise entwickelt. Ein Formularprojekt beginnt mit Fragen und Auswertungsziel, bevor Felder angelegt werden. Eine Website braucht zuerst Struktur und Inhalte, bevor Gestaltung und Feinschliff sinnvoll sind.
Ein Formularprojekt beginnt mit Fragen und Auswertungsziel, bevor Felder angelegt werden.


* Idee, Planung
Eine Website braucht zuerst Struktur und Inhalte, bevor Gestaltung und Feinschliff sinnvoll sind.
* Entwurf, Umsetzung
 
* Test, Verbesserung
Idee, Planung
* Ziel, Funktion
 
* Problem, Lösung
Entwurf, Umsetzung
* Prozess, Überblick
 
Test, Verbesserung
 
Ziel, Funktion
 
Problem, Lösung
 
Prozess, Überblick


=== Anforderungen und Zieldefinition ===
=== Anforderungen und Zieldefinition ===


Gute Softwareprojekte gelingen leichter, wenn vor der Umsetzung klar ist, welches Problem gelöst werden soll, welche Funktionen wirklich nötig sind und für wen das Produkt gedacht ist. Anforderungen beschreiben, was ein Programm können soll. Dazu gehören Grundfunktionen, gewünschte Erweiterungen, Bedienbarkeit, Zielgruppe, verfügbare Zeit und technische Rahmenbedingungen. Schon in kleinen Schulprojekten hilft diese Klärung, weil dadurch unnötige Ideen von wichtigen Funktionen getrennt werden können. Im Skriptum wird der Bezug zum Produktbacklog hergestellt, also zu einer geordneten Sammlung von Anforderungen und Aufgaben in einem Entwicklungsprozess.
Gute Softwareprojekte gelingen leichter, wenn vor der Umsetzung klar ist, welches Problem gelöst werden soll, welche Funktionen wirklich nötig sind und für wen das Produkt gedacht ist.
 
Anforderungen beschreiben, was ein Programm können soll. Dazu gehören Grundfunktionen, gewünschte Erweiterungen, Bedienbarkeit, Zielgruppe, verfügbare Zeit und technische Rahmenbedingungen. Schon in kleinen Schulprojekten hilft diese Klärung, weil dadurch unnötige Ideen von wichtigen Funktionen getrennt werden können.


Beispiele:
'''Beispiele:'''


Bei einem Klassenquiz muss klar sein, ob nur Fragen angezeigt oder auch Punkte gezählt werden sollen. Bei einer Terminabstimmung muss entschieden werden, ob Namen, Mehrfachauswahl oder automatische Auswertung nötig sind. Bei einem Spielprojekt kann das Grundziel lauten: Figur bewegen, Gegenstände sammeln, Punkte anzeigen. Erweiterungen kommen erst später hinzu.
Bei einem Klassenquiz muss klar sein, ob nur Fragen angezeigt oder auch Punkte gezählt werden sollen.


* Ziel, Bedarf
Bei einer Terminabstimmung muss entschieden werden, ob Namen, Mehrfachauswahl oder automatische Auswertung nötig sind.
* Nutzer, Funktion
 
* Umfang, Grenze
Bei einem Spielprojekt kann das Grundziel lauten: Figur bewegen, Gegenstände sammeln, Punkte anzeigen. Erweiterungen kommen erst später hinzu.
* Pflicht, Zusatz
 
* Anforderung, Sammlung
Ziel, Bedarf
* Priorität, Auswahl
 
Nutzer, Funktion
 
Umfang, Grenze
 
Pflicht, Zusatz
 
Anforderung, Sammlung
 
Priorität, Auswahl


=== Entwurf, Algorithmen und Darstellung ===
=== Entwurf, Algorithmen und Darstellung ===


Ein geordneter Entwurf verhindert viele spätere Probleme, weil Abläufe, Zustände und Zusammenhänge schon vor dem Codieren sichtbar werden und dadurch verständlicher, überprüfbarer und leichter veränderbar bleiben. Zur Softwareentwicklung gehört der Entwurf von Algorithmen, Strukturen und Oberflächen. Das kann als Pseudocode, Ablaufdiagramm, Skizze, Storyboard, Blockfolge oder Funktionsliste
Ein geordneter Entwurf verhindert viele spätere Probleme, weil Abläufe, Zustände und Zusammenhänge schon vor dem Codieren sichtbar werden und dadurch verständlicher, überprüfbarer und leichter veränderbar bleiben.
 
Zur Softwareentwicklung gehört der Entwurf von Algorithmen, Strukturen und Oberflächen. Das kann als Pseudocode, Ablaufdiagramm, Skizze, Storyboard, Blockfolge oder Funktionsliste geschehen. Solche Darstellungen helfen, Ideen zu ordnen und Fehler früh zu erkennen.


geschehen. Solche Darstellungen helfen, Ideen zu ordnen und Fehler früh zu erkennen. Das Skriptum betont ausdrücklich, dass Algorithmen vor der konkreten Programmiersprache formuliert werden können und dass unterschiedliche Darstellungen möglich sind.
'''Beispiele:'''


Beispiele:
Ein Sortierverfahren wird zuerst mit Karten oder Pseudocode beschrieben.


Ein Sortierverfahren wird zuerst mit Karten oder Pseudocode beschrieben. Ein Spiel wird vorab in Startbild, Steuerung, Hindernisse und Punkte zerlegt. Eine App wird zunächst als Skizze mit Buttons, Menüs und Bildschirmfolgen entworfen.
Ein Spiel wird vorab in Startbild, Steuerung, Hindernisse und Punkte zerlegt.


* Entwurf, Skizze
Eine App wird zunächst als Skizze mit Buttons, Menüs und Bildschirmfolgen entworfen.
* Algorithmus, Pseudocode
 
* Ablauf, Struktur
Entwurf, Skizze
* Oberfläche, Storyboard
 
* Darstellung, Planung
Algorithmus, Pseudocode
* Modell, Übersicht
 
Ablauf, Struktur
 
Oberfläche, Storyboard
 
Darstellung, Planung
 
Modell, Übersicht


=== Implementieren, Testen und Debuggen ===
=== Implementieren, Testen und Debuggen ===


Die Qualität von Software zeigt sich nicht nur am ersten Funktionieren, sondern daran, wie sorgfältig getestet, wie systematisch Fehler gesucht und wie bewusst Verbesserungen in mehreren Entwicklungsschritten vorgenommen werden. Implementieren bedeutet, den Entwurf in eine Programmiersprache oder Entwicklungsumgebung zu übertragen. Testen prüft, ob die gewünschte Funktion wirklich erreicht wird. Debuggen bedeutet, Fehlerquellen zu suchen und zu beheben. Besonders im Unterricht ist wichtig, dass Programme iterativ entwickelt werden: erst eine kleine funktionierende Basis, dann Erweiterungen. So lassen sich Fehler besser eingrenzen und Fortschritte klarer erkennen.
Die Qualität von Software zeigt sich nicht nur am ersten Funktionieren, sondern daran, wie sorgfältig getestet, wie systematisch Fehler gesucht und wie bewusst Verbesserungen in mehreren Entwicklungsschritten vorgenommen werden.
 
Implementieren bedeutet, den Entwurf in eine Programmiersprache oder Entwicklungsumgebung zu übertragen. Testen prüft, ob die gewünschte Funktion wirklich erreicht wird. Debuggen bedeutet, Fehlerquellen zu suchen und zu beheben.
 
Besonders im Unterricht ist wichtig, dass Programme iterativ entwickelt werden: erst eine kleine funktionierende Basis, dann Erweiterungen. So lassen sich Fehler besser eingrenzen und Fortschritte klarer erkennen.


Beispiele:
'''Beispiele:'''


Ein Scratch-Spiel wird zuerst nur mit Bewegung programmiert, danach mit Kollision und Punktestand erweitert. Ein Formular wird erst mit wenigen Fragen getestet, bevor weitere Antworttypen ergänzt werden. Ein Python-Programm wird nach jedem kleinen Schritt ausgeführt, um Fehler früh zu bemerken.
Ein Scratch-Spiel wird zuerst nur mit Bewegung programmiert, danach mit Kollision und Punktestand erweitert.


* Code, Umsetzung
Ein Formular wird erst mit wenigen Fragen getestet, bevor weitere Antworttypen ergänzt werden.
* Test, Kontrolle
 
* Fehler, Debugging
Ein Python-Programm wird nach jedem kleinen Schritt ausgeführt, um Fehler früh zu bemerken.
* Basis, Erweiterung
 
* Schritt, Iteration
Code, Umsetzung
* Qualität, Prüfung
 
Test, Kontrolle
 
Fehler, Debugging
 
Basis, Erweiterung
 
Schritt, Iteration
 
Qualität, Prüfung
 
=== Orientierung auf einen Blick ===
 
{| class="wikitable"
! Als Nächstes
! Kurz erklärt
|-
| Iterative und lineare Vorgehensweisen
| Methoden der Softwareentwicklung unterscheiden sich besonders deutlich darin, ob ein Produkt eher in festen aufeinanderfolgenden Phasen oder in wiederholten Schleifen mit frühen Zwischenständen entwickelt wird.
|-
| Rollen im Softwareprojekt
| Softwareprojekte werden übersichtlicher und erfolgreicher, wenn Aufgaben nicht ungeordnet verteilt, sondern Rollen und Verantwortlichkeiten bewusst benannt werden, damit Zusammenarbeit, Kommunikation und Kontrolle nachvollziehbar bleiben.
|-
| Scrum und Kanban im Überblick
| Agiles Projektmanagement wird verständlich, wenn Arbeitsprozesse sichtbar gemacht, Aufgaben priorisiert und Fortschritte regelmäßig überprüft werden, weil gerade dadurch Teamarbeit, Transparenz und flexible Anpassung unterstützt werden können.
|}
 
<div style="border-left:4px solid #36c; background:#f8f9fa; padding:.8em 1em; margin:1em 0;">
'''Merke:''' Achte beim Weiterlesen darauf, wie die nächsten Teilaspekte mit den bereits behandelten Grundlagen zusammenhängen.
</div>


=== Iterative und lineare Vorgehensweisen ===
=== Iterative und lineare Vorgehensweisen ===
Zeile 86: Zeile 200:
Methoden der Softwareentwicklung unterscheiden sich besonders deutlich darin, ob ein Produkt eher in festen aufeinanderfolgenden Phasen oder in wiederholten Schleifen mit frühen Zwischenständen entwickelt wird.
Methoden der Softwareentwicklung unterscheiden sich besonders deutlich darin, ob ein Produkt eher in festen aufeinanderfolgenden Phasen oder in wiederholten Schleifen mit frühen Zwischenständen entwickelt wird.


Ein eher linearer Ansatz arbeitet stärker in klaren Abschnitten: planen, entwerfen, umsetzen, testen. Ein iterativer Ansatz entwickelt früher kleine Versionen, prüft sie und verbessert sie mehrfach. Im Skriptum wird auf Spannungen zwischen instruktionsgeleiteten Lernpfaden und konstruktivistischen Projektansätzen hingewiesen. Daraus wird sichtbar, dass Softwareentwicklung verschieden organisiert werden kann, je nach Zielgruppe, Zeit und Projektgröße.
Ein eher linearer Ansatz arbeitet stärker in klaren Abschnitten: planen, entwerfen, umsetzen, testen. Ein iterativer Ansatz entwickelt früher kleine Versionen, prüft sie und verbessert sie mehrfach. Daraus wird sichtbar, dass Softwareentwicklung verschieden organisiert werden kann, je nach Zielgruppe, Zeit und Projektgröße.


Beispiele:
'''Beispiele:'''


Ein einfaches Übungsprogramm kann linear aufgebaut werden. Ein Spielprojekt profitiert oft von iterativen Schleifen mit Test und Erweiterung. Ein Schulprojekt mit knapper Zeit arbeitet häufig zuerst mit einer Minimalversion und erweitert nur bei Erfolg.
Ein einfaches Übungsprogramm kann linear aufgebaut werden.


* Linear, Schrittfolge
Ein Spielprojekt profitiert oft von iterativen Schleifen mit Test und Erweiterung.
* Iterativ, Schleife
 
* Planung, Zwischenstand
Ein Schulprojekt mit knapper Zeit arbeitet häufig zuerst mit einer Minimalversion und erweitert nur bei Erfolg.
* Test, Anpassung
 
* Minimalversion, Ausbau
Linear, Schrittfolge
* Methode, Auswahl
 
Iterativ, Schleife
 
Planung, Zwischenstand
 
Test, Anpassung
 
Minimalversion, Ausbau
 
Methode, Auswahl


=== Rollen im Softwareprojekt ===
=== Rollen im Softwareprojekt ===


Softwareprojekte werden übersichtlicher und erfolgreicher, wenn Aufgaben nicht ungeordnet verteilt, sondern Rollen und Verantwortlichkeiten bewusst benannt werden, damit Zusammenarbeit, Kommunikation und Kontrolle nachvollziehbar bleiben. Im Unterricht können Rollen vereinfacht dargestellt werden, etwa Planung, Umsetzung, Test, Dokumentation oder Präsentation. In agilen Projekten tauchen zusätzlich Rollen wie Scrum Master oder Product Owner auf. Das Skriptum nennt in einem Unterrichtsentwurf ausdrücklich Scrum als agile Projektmanagement-Methode und beschreibt die Lehrperson in der Rolle des Scrum Masters, der den Ablauf steuert. Der offizielle Scrum Guide beschreibt Scrum als Rahmenwerk zur Entwicklung komplexer Produkte.
Softwareprojekte werden übersichtlicher und erfolgreicher, wenn Aufgaben nicht ungeordnet verteilt, sondern Rollen und Verantwortlichkeiten bewusst benannt werden, damit Zusammenarbeit, Kommunikation und Kontrolle nachvollziehbar bleiben.
 
Im Unterricht können Rollen vereinfacht dargestellt werden, etwa Planung, Umsetzung, Test, Dokumentation oder Präsentation. In agilen Projekten tauchen zusätzlich Rollen wie Scrum Master oder Product Owner auf. Der offizielle Scrum Guide beschreibt Scrum als Rahmenwerk zur Entwicklung komplexer Produkte.
 
'''Beispiele:'''


Beispiele:
Eine Person sammelt Anforderungen.


Eine Person sammelt Anforderungen. Eine andere erstellt das Grundgerüst des Programms. Eine weitere testet Funktionen und dokumentiert Fehler. In einer Präsentationsphase erklärt eine Gruppe den Entwicklungsweg.
Eine andere erstellt das Grundgerüst des Programms.


* Rolle, Planung
Eine weitere testet Funktionen und dokumentiert Fehler.
* Rolle, Umsetzung
 
* Rolle, Test
In einer Präsentationsphase erklärt eine Gruppe den Entwicklungsweg.
* Rolle, Dokumentation
 
* Rolle, Moderation
Rolle, Planung
* Verantwortung, Abstimmung
 
Rolle, Umsetzung
 
Rolle, Test
 
Rolle, Dokumentation
 
Rolle, Moderation
 
Verantwortung, Abstimmung


=== Scrum und Kanban im Überblick ===
=== Scrum und Kanban im Überblick ===


Agiles Projektmanagement wird verständlich, wenn Arbeitsprozesse sichtbar gemacht, Aufgaben priorisiert und Fortschritte regelmäßig überprüft werden, weil gerade dadurch Teamarbeit, Transparenz und flexible Anpassung unterstützt werden können. Scrum arbeitet mit kurzen Arbeitsphasen, klaren Rollen und regelmäßigen Besprechungen. Kanban macht Aufgaben auf einem Board sichtbar und zeigt, was offen, in Arbeit oder erledigt ist. Das Skriptum nennt ein Smartboard als Kanbanboard und beschreibt Standups sowie agile Gruppenarbeit im Zusammenhang mit einem Projekt. Der Scrum Guide erklärt zusätzlich die grundlegenden Elemente von Scrum als Rollen, Ereignisse und Artefakte.
Agiles Projektmanagement wird verständlich, wenn Arbeitsprozesse sichtbar gemacht, Aufgaben priorisiert und Fortschritte regelmäßig überprüft werden, weil gerade dadurch Teamarbeit, Transparenz und flexible Anpassung unterstützt werden können.
 
Scrum arbeitet mit kurzen Arbeitsphasen, klaren Rollen und regelmäßigen Besprechungen.
 
Kanban macht Aufgaben auf einem Board sichtbar und zeigt, was offen, in Arbeit oder erledigt ist. Der Scrum Guide erklärt zusätzlich die grundlegenden Elemente von Scrum als Rollen, Ereignisse und Artefakte.
 
'''Beispiele:'''
 
Ein Klassenprojekt nutzt Spalten wie „Ideen“, „in Arbeit“, „testen“, „fertig“.
 
Kurze Standups helfen, Hindernisse sichtbar zu machen.
 
Ein Produktbacklog sammelt gewünschte Funktionen für ein Spiel oder eine App.
 
Ein Sprint kann in der Schule als kurze Arbeitsphase mit klarem Ziel verstanden werden.
 
Scrum, Rahmenwerk
 
Kanban, Aufgabenboard
 
Backlog, Priorität


Beispiele:
Standup, Austausch


Ein Klassenprojekt nutzt Spalten wie „Ideen“, „in Arbeit“, „testen“, „fertig“. Kurze Standups helfen, Hindernisse sichtbar zu machen. Ein Produktbacklog sammelt gewünschte Funktionen für ein Spiel oder eine App. Ein Sprint kann in der Schule als kurze Arbeitsphase mit klarem Ziel verstanden werden.
Sprint, Arbeitsphase


* Scrum, Rahmenwerk
Fortschritt, Transparenz
* Kanban, Aufgabenboard
 
* Backlog, Priorität
=== Zweiter Zwischenüberblick ===
* Standup, Austausch
 
* Sprint, Arbeitsphase
{| class="wikitable"
* Fortschritt, Transparenz
! Vertiefung
! Wichtig dabei
|-
| Dokumentation, Versionen und Nachvollziehbarkeit
| Softwareentwicklung bleibt langfristig nur dann verständlich, wenn Entscheidungen, Änderungen und Zwischenschritte dokumentiert werden, weil spätere Verbesserungen sonst schwer prüfbar und Teamarbeit unnötig fehleranfällig wird.
|-
| Zusammenarbeit, Werkzeuge und Unterrichtspraxis
| Softwareprojektmanagement wird für Lernende besonders greifbar, wenn digitale Werkzeuge für Kommunikation, Aufgabenverteilung und gemeinsame Bearbeitung nicht nur genannt, sondern als praktische Unterstützung im Projekt verstanden werden.
|-
| Reflexion und Auswertung von Softwareprojekten
| Nachhaltiges Lernen entsteht besonders dann, wenn ein Softwareprojekt nicht mit dem letzten Klick endet, sondern der Entwicklungsprozess rückblickend betrachtet, bewertet und für spätere Projekte verbessert wird.
|}
 
<div style="border-left:4px solid #36c; background:#f8f9fa; padding:.8em 1em; margin:1em 0;">
'''Merke:''' Die Teilaspekte gehören zusammen: Fachwissen wird besonders tragfähig, wenn du Zusammenhänge an konkreten Beispielen erklären kannst.
</div>


=== Dokumentation, Versionen und Nachvollziehbarkeit ===
=== Dokumentation, Versionen und Nachvollziehbarkeit ===


Softwareentwicklung bleibt langfristig nur dann verständlich, wenn Entscheidungen, Änderungen und Zwischenschritte dokumentiert werden, weil spätere Verbesserungen sonst schwer prüfbar und Teamarbeit unnötig fehleranfällig wird. Dokumentation kann einfach oder umfangreich sein: Funktionslisten, Kommentare im Code, Änderungsnotizen, Screenshots, Testprotokolle oder kurze Projektberichte. Auch Versionen sind wichtig, damit alte Stände bei Bedarf wiederhergestellt oder verglichen werden können. Die GitHub-Education-Seite nennt Grundlagen wie Repositories, Commits, Branches und Projektmanagement als Einstiegskompetenzen. Das lässt sich im Unterricht auf einfache Formen der Versionspflege übertragen.
Softwareentwicklung bleibt langfristig nur dann verständlich, wenn Entscheidungen, Änderungen und Zwischenschritte dokumentiert werden, weil spätere Verbesserungen sonst schwer prüfbar und Teamarbeit unnötig fehleranfällig wird.
 
Dokumentation kann einfach oder umfangreich sein: Funktionslisten, Kommentare im Code, Änderungsnotizen, Screenshots, Testprotokolle oder kurze Projektberichte. Auch Versionen sind wichtig, damit alte Stände bei Bedarf wiederhergestellt oder verglichen werden können.
 
Die GitHub-Education-Seite nennt Grundlagen wie Repositories, Commits, Branches und Projektmanagement als Einstiegskompetenzen. Das lässt sich im Unterricht auf einfache Formen der Versionspflege übertragen.
 
'''Beispiele:'''
 
Ein Team speichert Arbeitsstände mit Datum.
 
Eine Liste hält fest, welche Fehler schon behoben wurden.
 
Code-Kommentare erklären schwierige Stellen.


Beispiele:
Ein Kurzprotokoll dokumentiert, was im letzten Arbeitsschritt verändert wurde.


Ein Team speichert Arbeitsstände mit Datum. Eine Liste hält fest, welche Fehler schon behoben wurden. Code-Kommentare erklären schwierige Stellen. Ein Kurzprotokoll dokumentiert, was im letzten Arbeitsschritt verändert wurde.
Dokumentation, Überblick


* Dokumentation, Überblick
Kommentar, Erklärung
* Kommentar, Erklärung
 
* Version, Stand
Version, Stand
* Änderung, Verlauf
 
* Testprotokoll, Notiz
Änderung, Verlauf
* Nachvollziehbarkeit, Ordnung
 
Testprotokoll, Notiz
 
Nachvollziehbarkeit, Ordnung


=== Zusammenarbeit, Werkzeuge und Unterrichtspraxis ===
=== Zusammenarbeit, Werkzeuge und Unterrichtspraxis ===


Softwareprojektmanagement wird für Lernende besonders greifbar, wenn digitale Werkzeuge für Kommunikation, Aufgabenverteilung und gemeinsame Bearbeitung nicht nur genannt, sondern als praktische Unterstützung im Projekt verstanden werden. Die Informatik-Unterlagen nennen für schulische Projektarbeit Werkzeuge wie Trello, Slack, Microsoft Teams, Google Workspace, Moodle oder GitHub. Solche Tools unterstützen Aufgabenlisten, Kommunikation, Dateiablage, kollaborative Bearbeitung und Projektübersicht. Für fortgeschrittenere Klassen wird GitHub ausdrücklich im Zusammenhang mit Softwareentwicklung erwähnt. Dadurch wird deutlich, dass Projektmanagement nicht nur aus Planungsgesprächen besteht, sondern auch passende Werkzeuge braucht.
Softwareprojektmanagement wird für Lernende besonders greifbar, wenn digitale Werkzeuge für Kommunikation, Aufgabenverteilung und gemeinsame Bearbeitung nicht nur genannt, sondern als praktische Unterstützung im Projekt verstanden werden.


Beispiele:
Solche Tools unterstützen Aufgabenlisten, Kommunikation, Dateiablage, kollaborative Bearbeitung und Projektübersicht.


Ein Board organisiert Aufgaben nach Gruppen. Ein geteiltes Dokument sammelt Ideen und Testnotizen. Ein Chat oder Videoraum erleichtert kurze Abstimmungen. Ein Repository kann Quellcode und Projektstände bündeln.
Für fortgeschrittenere Klassen wird GitHub ausdrücklich im Zusammenhang mit Softwareentwicklung erwähnt. Dadurch wird deutlich, dass Projektmanagement nicht nur aus Planungsgesprächen besteht, sondern auch passende Werkzeuge braucht.


* Trello, Teams
'''Beispiele:'''
* GitHub, Workspace
 
* Moodle, Chat
Ein Board organisiert Aufgaben nach Gruppen.
* Board, Aufgaben
 
* Datei, Austausch
Ein geteiltes Dokument sammelt Ideen und Testnotizen.
* Werkzeug, Unterstützung
 
Ein Chat oder Videoraum erleichtert kurze Abstimmungen.
 
Ein Repository kann Quellcode und Projektstände bündeln.
 
Trello, Teams
 
GitHub, Workspace
 
Moodle, Chat
 
Board, Aufgaben
 
Datei, Austausch
 
Werkzeug, Unterstützung


=== Reflexion und Auswertung von Softwareprojekten ===
=== Reflexion und Auswertung von Softwareprojekten ===


Nachhaltiges Lernen entsteht besonders dann, wenn ein Softwareprojekt nicht mit dem letzten Klick endet, sondern der Entwicklungsprozess rückblickend betrachtet, bewertet und für spätere Projekte verbessert wird. Zur Reflexion gehören Fragen wie: Was hat gut funktioniert, wo gab es Verzögerungen, welche Rolle war klar oder unklar, welche Methode hat geholfen, und was würde man beim nächsten Projekt anders planen? Das didaktische Skriptum betont mehrfach die Auswertung, Kontrolle und Reflexion des Lern- und Arbeitsprozesses. So wird sichtbar, dass Projektmanagement nicht nur Organisation, sondern auch bewusste Weiterentwicklung bedeutet.
Nachhaltiges Lernen entsteht besonders dann, wenn ein Softwareprojekt nicht mit dem letzten Klick endet, sondern der Entwicklungsprozess rückblickend betrachtet, bewertet und für spätere Projekte verbessert wird.
 
Zur Reflexion gehören Fragen wie: Was hat gut funktioniert, wo gab es Verzögerungen, welche Rolle war klar oder unklar, welche Methode hat geholfen, und was würde man beim nächsten Projekt anders planen? So wird sichtbar, dass Projektmanagement nicht nur Organisation, sondern auch bewusste Weiterentwicklung bedeutet.
 
'''Beispiele:'''


Beispiele:
Eine Gruppe erkennt, dass zu viele Aufgaben gleichzeitig begonnen wurden.


Eine Gruppe erkennt, dass zu viele Aufgaben gleichzeitig begonnen wurden. Ein Team bemerkt, dass Tests zu spät eingeplant waren. Ein Projekt verlief besser, weil Aufgaben sichtbar am Board standen. Eine Klasse stellt fest, dass kurze Zwischenbesprechungen Missverständnisse reduziert haben.
Ein Team bemerkt, dass Tests zu spät eingeplant waren.


* Reflexion, Rückblick
Ein Projekt verlief besser, weil Aufgaben sichtbar am Board standen.
* Auswertung, Verbesserung
* Prozess, Erfahrung
* Fehler, Lernen
* Planung, Anpassung
* Projektende, Erkenntnis


== 14.3 Weiterführende Links ==
Eine Klasse stellt fest, dass kurze Zwischenbesprechungen Missverständnisse reduziert haben.


* BMBWF, Lehrpläne
Reflexion, Rückblick
* Scrum, Guide
* GitHub, Education
* Scratch, Educators


== 14.4 Aufgaben für den Unterricht ==
Auswertung, Verbesserung


=== 14.4.1 Vom Wunsch zur Anforderungsliste ===
Prozess, Erfahrung


Diese Aufgabe fördert projektorientiertes Denken besonders wirksam, weil die Lernenden eine diffuse Idee in klare Anforderungen übersetzen und dadurch erkennen, dass gute Softwareentwicklung nicht mit dem Programmieren beginnt, sondern mit einer präzisen Klärung von Ziel, Zweck und Nutzern. Die Lehrkraft gibt eine offene Projektidee vor, etwa ein Klassenquiz, eine To-do-App, ein Lernspiel oder ein digitales Abstimmungstool. Die Schülerinnen und Schüler sammeln zunächst Wünsche und Funktionen. Danach trennen sie zwischen notwendigen Grundfunktionen und späteren Zusatzideen. Anschließend formulieren sie eine kurze Anforderungsliste mit Zielgruppe, Zweck, Pflichtfunktionen und möglichen Erweiterungen. In der Besprechung wird verglichen, welche Gruppen eher zu viele oder eher zu wenige Anforderungen formuliert haben und wie sich das auf ein Projekt auswirken würde. Der hohe Lerneffekt entsteht, weil der Übergang von einer Idee zu einer planbaren Projektbasis sichtbar wird.
Fehler, Lernen
 
Planung, Anpassung
 
Projektende, Erkenntnis
 
=== Begriffe und Zusammenhänge auf einen Blick ===
 
{| class="wikitable"
! Thema
! Das solltest du verbinden können
|-
| Softwareentwicklung als Prozess
| Ein tragfähiges Verständnis entsteht dann, wenn Softwareentwicklung als Folge zusammenhängender Arbeitsschritte betrachtet wird, weil gute Programme nicht zufällig entstehen, sondern aus Problemklärung, Planung, Umsetzung, Überprüfung und wiederholter …
|-
| Entwurf, Algorithmen und Darstellung
| Ein geordneter Entwurf verhindert viele spätere Probleme, weil Abläufe, Zustände und Zusammenhänge schon vor dem Codieren sichtbar werden und dadurch verständlicher, überprüfbarer und leichter veränderbar bleiben.
|-
| Iterative und lineare Vorgehensweisen
| Methoden der Softwareentwicklung unterscheiden sich besonders deutlich darin, ob ein Produkt eher in festen aufeinanderfolgenden Phasen oder in wiederholten Schleifen mit frühen Zwischenständen entwickelt wird.
|-
| Scrum und Kanban im Überblick
| Agiles Projektmanagement wird verständlich, wenn Arbeitsprozesse sichtbar gemacht, Aufgaben priorisiert und Fortschritte regelmäßig überprüft werden, weil gerade dadurch Teamarbeit, Transparenz und flexible Anpassung unterstützt werden können.
|-
| Zusammenarbeit, Werkzeuge und Unterrichtspraxis
| Softwareprojektmanagement wird für Lernende besonders greifbar, wenn digitale Werkzeuge für Kommunikation, Aufgabenverteilung und gemeinsame Bearbeitung nicht nur genannt, sondern als praktische Unterstützung im Projekt verstanden werden.
|}
 
<div style="border-left:4px solid #36c; background:#f8f9fa; padding:.8em 1em; margin:1em 0;">
'''Merke:''' Nutze die Tabellen nicht nur zum Nachlesen: Versuche, jede Zeile mit einem eigenen Beispiel oder einer eigenen Begründung zu ergänzen.
</div>
 
=== Kurz zusammengefasst ===
 
{| class="wikitable"
! Kernkompetenz
! Das bedeutet konkret
|-
| Ziele klären, Anforderungen sammeln
| Vor Beginn festlegen, welches Problem gelöst werden soll und woran ein gutes Ergebnis erkennbar ist. Geeignete Anforderungen systematisch zusammentragen, ordnen und auf Relevanz bzw. Vollständigkeit prüfen.
|-
| Aufgaben zerlegen, Schritte planen
| Eine größere Aufgabe in klar abgegrenzte Teilaufgaben aufteilen und sinnvolle Abhängigkeiten zwischen ihnen festlegen. Für „Schritte“ Ziel, notwendige Schritte, Reihenfolge und wichtige Rahmenbedingungen festlegen.
|-
| Algorithmen entwerfen, Abläufe darstellen
| Aus dem Problem eine eindeutige und endliche Schrittfolge entwickeln, die das gewünschte Ergebnis erzeugt. Schritte, Entscheidungen und Wiederholungen in einer geeigneten Form wie Ablaufplan oder Pseudocode sichtbar machen.
|-
| Prototypen bauen, Funktionen testen
| Eine vereinfachte, funktionsfähige erste Version erstellen, um zentrale Ideen früh praktisch zu testen. Funktionen mit passenden Normal-, Rand- und Fehlerfällen prüfen und Abweichungen dokumentieren.
|-
| Fehler finden, Korrekturen vornehmen
| Abweichungen zwischen erwartetem und tatsächlichem Verhalten systematisch lokalisieren, statt zufällig Änderungen vorzunehmen. Eine vermutete Fehlerursache gezielt beheben und anschließend prüfen, ob die Änderung das Problem löst.
|-
| Versionen vergleichen, Änderungen dokumentieren
| Varianten von „Versionen“ anhand sinnvoller Kriterien gegenüberstellen und relevante Gemeinsamkeiten sowie Unterschiede herausarbeiten. Änderungen so festhalten, dass Vorgehen, Änderungen und Ergebnis für andere nachvollziehbar bleiben.
|-
| Rollen erklären, Zusammenarbeit beschreiben
| Den Zusammenhang „Rollen“ in eigenen Worten erläutern und an einem passenden Beispiel zeigen. „Zusammenarbeit“ mit den wesentlichen Merkmalen bzw. Schritten geordnet und verständlich darstellen.
|-
| Scrum nennen, Kanban einordnen
| Zum Thema „Scrum“ wesentliche Punkte nennen und mindestens ein passendes Beispiel anführen. „Kanban“ in den fachlichen Zusammenhang einordnen und dies mit Merkmalen oder Beispielen begründen.
|-
| Zeit planen, Prioritäten setzen
| Für „Zeit“ Ziel, notwendige Schritte, Reihenfolge und wichtige Rahmenbedingungen festlegen. Prioritäten anhand des Ziels priorisieren bzw. festlegen und die Entscheidung nachvollziehbar machen.
|-
| Projektwege reflektieren, Ergebnisse begründen
| „Projektwege“ rückblickend anhand von Kriterien beurteilen und daraus Verbesserungen oder Konsequenzen ableiten. „Ergebnisse“ mit nachvollziehbaren Kriterien, Fakten oder Beispielen begründen.
|}
 
<div style="border-left:4px solid #fc3; background:#fff9e6; padding:.8em 1em; margin:1em 0;">
'''Merke:''' Die wichtigsten Inhalte solltest du nicht nur wiedergeben, sondern auf neue Situationen übertragen, begründet anwenden und kritisch beurteilen können.
</div>
 
== Weiterführende Links ==
* [https://docs.github.com/ GitHub Docs]
* [https://scrumguides.org/ Scrum Guide]
* [https://www.atlassian.com/agile/kanban Atlassian Kanban]
 
'''Passende LearningSnacks'''
* [https://www.learningsnacks.de/share/519908 Algorithmus]
* [https://www.learningsnacks.de/share/25477 Python 3 - Grundlagen]
 
== Übungen ==
 
Die Aufgaben setzen die Inhalte praktisch um. Der konkrete Auftrag steht bei jeder Aufgabe ausdrücklich unter '''Arbeitsauftrag:'''.
 
=== Vom Wunsch zur Anforderungsliste ===
 
'''Arbeitsauftrag:'''
 
Bearbeite die Aufgabe „Vom Wunsch zur Anforderungsliste“ anhand der folgenden Vorgaben:
 
Die Lehrkraft gibt eine offene Projektidee vor, etwa ein Klassenquiz, eine To-do-App, ein Lernspiel oder ein digitales Abstimmungstool. Die Schülerinnen und Schüler sammeln zunächst Wünsche und Funktionen. Danach trennen sie zwischen notwendigen Grundfunktionen und späteren Zusatzideen. Anschließend formulieren sie eine kurze Anforderungsliste mit Zielgruppe, Zweck, Pflichtfunktionen und möglichen Erweiterungen. In der Besprechung wird verglichen, welche Gruppen eher zu viele oder eher zu wenige Anforderungen formuliert haben und wie sich das auf ein Projekt auswirken würde.
 
'''Hinweise aus der Aufgabe'''


* Idee, Ziel
* Idee, Ziel
Zeile 194: Zeile 485:
* Wirkung, Klarheit
* Wirkung, Klarheit


=== 14.4.2 Projektphasen ordnen ===
=== Projektphasen ordnen ===


Diese Aufgabe macht Softwareentwicklung als Prozess besonders verständlich, weil die Lernenden typische Projektschritte in eine sinnvolle Reihenfolge bringen und dadurch erkennen, dass Planen, Entwerfen, Umsetzen, Testen und Verbessern zusammengehören und sich gegenseitig beeinflussen. Die Lehrkraft bereitet Karten mit Projektphasen vor, etwa Idee, Anforderungen, Entwurf, Umsetzung, Test, Fehlerkorrektur, Dokumentation und Präsentation. Die Schülerinnen und Schüler ordnen diese Phasen zu einem sinnvollen Ablauf und begründen ihre Reihenfolge. Danach diskutieren sie, an welchen Stellen Rücksprünge nötig sein können, etwa wenn beim Test neue Probleme sichtbar werden. In einer zweiten Runde ergänzen sie zu jeder Phase typische Tätigkeiten und Produkte. Die Aufgabe ist besonders lernwirksam, weil aus einzelnen Fachbegriffen ein verständlicher Entwicklungsprozess aufgebaut wird.
'''Arbeitsauftrag:'''
 
Bearbeite die Aufgabe „Projektphasen ordnen“ anhand der folgenden Vorgaben:
 
Die Lehrkraft bereitet Karten mit Projektphasen vor, etwa Idee, Anforderungen, Entwurf, Umsetzung, Test, Fehlerkorrektur, Dokumentation und Präsentation. Die Schülerinnen und Schüler ordnen diese Phasen zu einem sinnvollen Ablauf und begründen ihre Reihenfolge. Danach diskutieren sie, an welchen Stellen Rücksprünge nötig sein können, etwa wenn beim Test neue Probleme sichtbar werden. In einer zweiten Runde ergänzen sie zu jeder Phase typische Tätigkeiten und Produkte.
 
'''Hinweise aus der Aufgabe'''


* Phasen, Idee
* Phasen, Idee
Zeile 205: Zeile 502:
* Wirkung, Prozessverständnis
* Wirkung, Prozessverständnis


=== 14.4.3 User Story statt vager Idee ===
=== User Story statt vager Idee ===
 
'''Arbeitsauftrag:'''
 
Bearbeite die Aufgabe „User Story statt vager Idee“ anhand der folgenden Vorgaben:
 
Die Schülerinnen und Schüler erhalten eine Projektidee, etwa ein Lernquiz oder eine Erinnerungs-App. Danach formulieren sie einfache User Stories nach dem Muster: „Als … möchte ich …, damit …“. Anschließend vergleichen sie ihre Formulierungen und prüfen, ob daraus konkrete Anforderungen ableitbar sind. In der Auswertung wird besprochen, warum manche Wünsche zu ungenau bleiben und wie sie präziser gemacht werden können.


Diese Aufgabe stärkt das Verständnis für Nutzerorientierung besonders nachhaltig, weil die Lernenden Funktionen aus Sicht einer späteren Nutzerin oder eines späteren Nutzers formulieren und dadurch lernen, Softwareziele klarer, konkreter und praxisnäher zu beschreiben. Die Schülerinnen und Schüler erhalten eine Projektidee, etwa ein Lernquiz oder eine Erinnerungs-App. Danach formulieren sie einfache User Stories nach dem Muster: „Als … möchte ich …, damit …“. Anschließend vergleichen sie ihre Formulierungen und prüfen, ob daraus konkrete Anforderungen ableitbar sind. In der Auswertung wird besprochen, warum manche Wünsche zu ungenau bleiben und wie sie präziser gemacht werden können. Der hohe Lerneffekt entsteht, weil die Perspektive der Anwender bewusst einbezogen wird und Anforderungen dadurch verständlicher werden.
'''Hinweise aus der Aufgabe'''


* Nutzer, Wunsch
* Nutzer, Wunsch
Zeile 216: Zeile 519:
* Wirkung, Nutzerblick
* Wirkung, Nutzerblick


=== 14.4.4 Kanbanboard im Klassenprojekt ===
=== Kanbanboard im Klassenprojekt ===
 
'''Arbeitsauftrag:'''
 
Bearbeite die Aufgabe „Kanbanboard im Klassenprojekt“ anhand der folgenden Vorgaben:


Diese Aufgabe fördert Projektmanagement besonders wirksam, weil die Lernenden Aufgaben
Die Lehrkraft gibt ein kleines Softwareprojekt vor, etwa die Planung eines Quiz, einer einfachen Website oder eines Scratch-Spiels. Die Schülerinnen und Schüler erstellen ein Kanbanboard mit Spalten wie „offen“, „in Arbeit“, „testen“ und „fertig“. Danach formulieren sie Aufgaben auf Karten, ordnen sie den Spalten zu und aktualisieren das Board im Verlauf der Arbeit. In kurzen Zwischenstopps erklären die Gruppen, warum Aufgaben verschoben wurden und wo Engpässe entstanden sind.


sichtbar machen, priorisieren und ihren Arbeitsfortschritt laufend verfolgen und dadurch erleben, wie Struktur und Transparenz Zusammenarbeit deutlich erleichtern. Die Lehrkraft gibt ein kleines Softwareprojekt vor, etwa die Planung eines Quiz, einer einfachen Website oder eines Scratch-Spiels. Die Schülerinnen und Schüler erstellen ein Kanbanboard mit Spalten wie „offen“, „in Arbeit“, „testen“ und „fertig“. Danach formulieren sie Aufgaben auf Karten, ordnen sie den Spalten zu und aktualisieren das Board im Verlauf der Arbeit. In kurzen Zwischenstopps erklären die Gruppen, warum Aufgaben verschoben wurden und wo Engpässe entstanden sind. Diese Aufgabe ist besonders lernstark, weil Projektsteuerung sichtbar und direkt erfahrbar wird.
'''Hinweise aus der Aufgabe'''


* Board, Spalten
* Board, Spalten
Zeile 229: Zeile 536:
* Wirkung, Transparenz
* Wirkung, Transparenz


=== 14.4.5 Rollen im Entwicklerteam ===
=== Rollen im Entwicklerteam ===
 
'''Arbeitsauftrag:'''
 
Bearbeite die Aufgabe „Rollen im Entwicklerteam“ anhand der folgenden Vorgaben:


Diese Aufgabe macht Zusammenarbeit im Softwareprojekt besonders greifbar, weil die Lernenden unterschiedliche Rollen übernehmen und dadurch erkennen, dass Entwicklung nicht nur aus Schreiben von Code besteht, sondern auch Planung, Test, Abstimmung und Dokumentation umfasst. Die Klasse bearbeitet ein kleines Teamprojekt. Jede Gruppe verteilt Rollen, etwa Planung, Entwurf, Umsetzung, Test und Dokumentation. Danach arbeiten die Gruppen an derselben Aufgabe, zum Beispiel an einem Lernspiel oder einer kleinen App-Idee. Während der Arbeit halten sie fest, welche Rolle welche Entscheidungen getroffen hat und wo Abstimmung nötig war. In der Auswertung reflektieren sie, welche Rollen klar, unklar oder doppelt besetzt waren und welche Folgen das für den Projektverlauf hatte. Der hohe Lerneffekt entsteht, weil Projektorganisation nicht abstrakt bleibt, sondern im Arbeitsprozess erlebt wird.
Die Klasse bearbeitet ein kleines Teamprojekt. Jede Gruppe verteilt Rollen, etwa Planung, Entwurf, Umsetzung, Test und Dokumentation. Danach arbeiten die Gruppen an derselben Aufgabe, zum Beispiel an einem Lernspiel oder einer kleinen App-Idee. Während der Arbeit halten sie fest, welche Rolle welche Entscheidungen getroffen hat und wo Abstimmung nötig war. In der Auswertung reflektieren sie, welche Rollen klar, unklar oder doppelt besetzt waren und welche Folgen das für den Projektverlauf hatte.
 
'''Hinweise aus der Aufgabe'''


* Rollen, Planung
* Rollen, Planung
Zeile 240: Zeile 553:
* Wirkung, Teamverständnis
* Wirkung, Teamverständnis


=== 14.4.6 Vom Ablaufdiagramm zum Prototyp ===
=== Vom Ablaufdiagramm zum Prototyp ===


Diese Aufgabe verbindet Entwicklungslogik und Umsetzung besonders erfolgreich, weil die Lernenden einen Entwurf zuerst als Ablaufdiagramm planen und danach schrittweise in einen einfachen Prototyp überführen, wodurch der Zusammenhang zwischen Modell und Produkt deutlich wird. Die Lehrkraft gibt eine kleine Softwarefunktion vor, etwa ein Login mit Rückmeldung, ein Quiz
'''Arbeitsauftrag:'''


mit Punktestand oder eine Auswahl mit mehreren Antwortwegen. Die Schülerinnen und Schüler erstellen zunächst ein Ablaufdiagramm mit Start, Eingabe, Entscheidung und Ausgabe. Erst danach setzen sie das Modell in einer geeigneten Umgebung um, etwa in Scratch oder in einer einfachen Blockprogrammierung. Anschließend vergleichen sie Entwurf und Prototyp und markieren Stellen, die verändert werden mussten. Die Aufgabe ist besonders lernwirksam, weil Planung und Umsetzung direkt aufeinander bezogen werden.
Bearbeite die Aufgabe „Vom Ablaufdiagramm zum Prototyp“ anhand der folgenden Vorgaben:
 
Die Lehrkraft gibt eine kleine Softwarefunktion vor, etwa ein Login mit Rückmeldung, ein Quiz mit Punktestand oder eine Auswahl mit mehreren Antwortwegen. Die Schülerinnen und Schüler erstellen zunächst ein Ablaufdiagramm mit Start, Eingabe, Entscheidung und Ausgabe. Erst danach setzen sie das Modell in einer geeigneten Umgebung um, etwa in Scratch oder in einer einfachen Blockprogrammierung. Anschließend vergleichen sie Entwurf und Prototyp und markieren Stellen, die verändert werden mussten.
 
'''Hinweise aus der Aufgabe'''


* Entwurf, Diagramm
* Entwurf, Diagramm
Zeile 253: Zeile 570:
* Wirkung, Zusammenhang
* Wirkung, Zusammenhang


=== 14.4.7 Testen mit Testfällen ===
=== Testen mit Testfällen ===


Diese Aufgabe stärkt Qualitätsbewusstsein besonders nachhaltig, weil die Lernenden nicht nur ausprobieren, ob „es irgendwie geht“, sondern gezielt Testfälle entwickeln und dadurch erkennen, dass gute Softwareentwicklung systematisches Prüfen und nicht bloß zufälliges Klicken verlangt. Die Schülerinnen und Schüler erhalten einen kleinen Prototyp oder ein einfaches Programm, etwa ein Quiz, ein Formular oder eine Rechenfunktion. Zunächst formulieren sie Testfälle, also konkrete Eingaben und erwartete Ergebnisse. Danach führen sie die Tests durch und protokollieren, was funktioniert und wo Fehler auftreten. In der Besprechung wird verglichen, welche Testfälle besonders hilfreich waren und welche Lücken übersehen wurden. Diese Aufgabe ist besonders lernstark, weil Qualitätssicherung als eigenständiger Teil des Entwicklungsprozesses sichtbar wird.
'''Arbeitsauftrag:'''
 
Bearbeite die Aufgabe „Testen mit Testfällen“ anhand der folgenden Vorgaben:
 
Die Schülerinnen und Schüler erhalten einen kleinen Prototyp oder ein einfaches Programm, etwa ein Quiz, ein Formular oder eine Rechenfunktion. Zunächst formulieren sie Testfälle, also konkrete Eingaben und erwartete Ergebnisse. Danach führen sie die Tests durch und protokollieren, was funktioniert und wo Fehler auftreten. In der Besprechung wird verglichen, welche Testfälle besonders hilfreich waren und welche Lücken übersehen wurden.
 
'''Hinweise aus der Aufgabe'''


* Testfall, Eingabe
* Testfall, Eingabe
Zeile 264: Zeile 587:
* Wirkung, Qualität
* Wirkung, Qualität


=== 14.4.8 Debugging-Werkstatt ===
=== Debugging-Werkstatt ===
 
'''Arbeitsauftrag:'''


Diese Aufgabe macht die Bedeutung von Fehleranalyse besonders deutlich, weil die Lernenden typische Probleme in einem Programm oder Prototyp systematisch untersuchen und dadurch erleben, dass Fehlersuche eine zentrale und produktive Tätigkeit der Softwareentwicklung ist. Die Lehrkraft bereitet einen kleinen fehlerhaften Code, einen unvollständigen Ablauf oder einen fehlerhaften Prototyp vor. Die Schülerinnen und Schüler arbeiten in Teams und versuchen, den Fehler einzugrenzen, Vermutungen zu formulieren und Änderungen schrittweise zu testen. Wichtig ist, dass jede Gruppe ihren Suchweg dokumentiert und erklärt, warum sie bestimmte Stellen zuerst überprüft hat. In der gemeinsamen Auswertung werden erfolgreiche Strategien
Bearbeite die Aufgabe „Debugging-Werkstatt“ anhand der folgenden Vorgaben:


gesammelt. Der hohe Lerneffekt entsteht, weil aus Fehlern nachvollziehbare Lerngelegenheiten werden.
Die Lehrkraft bereitet einen kleinen fehlerhaften Code, einen unvollständigen Ablauf oder einen fehlerhaften Prototyp vor. Die Schülerinnen und Schüler arbeiten in Teams und versuchen, den Fehler einzugrenzen, Vermutungen zu formulieren und Änderungen schrittweise zu testen. Wichtig ist, dass jede Gruppe ihren Suchweg dokumentiert und erklärt, warum sie bestimmte Stellen zuerst überprüft hat. In der gemeinsamen Auswertung werden erfolgreiche Strategien gesammelt.
 
'''Hinweise aus der Aufgabe'''


* Fehler, Suche
* Fehler, Suche
Zeile 277: Zeile 604:
* Wirkung, Fehlersicherheit
* Wirkung, Fehlersicherheit


=== 14.4.9 Sprint-Rückblick im Mini-Projekt ===
=== Sprint-Rückblick im Mini-Projekt ===


Diese Aufgabe fördert Reflexion im Projektmanagement besonders wirksam, weil die Lernenden nach einer kurzen Arbeitsphase nicht nur auf ihr Ergebnis schauen, sondern den Ablauf, die Zusammenarbeit und die Zielerreichung bewusst auswerten. Die Lehrkraft legt eine kurze Arbeitsphase mit klarer Zielvorgabe fest, etwa zwanzig bis dreißig Minuten für einen kleinen Entwicklungsschritt. Danach führen die Gruppen einen Rückblick durch: Was war das Ziel, was wurde erreicht, was hat uns gebremst, was lief gut und was würden wir im nächsten Sprint anders machen? Die Ergebnisse werden knapp auf Karten oder in einem Protokoll festgehalten. Diese Aufgabe ist besonders lernwirksam, weil sie zeigt, dass Projektmanagement auch aus regelmäßigem Lernen über den eigenen Arbeitsprozess besteht.
'''Arbeitsauftrag:'''
 
Bearbeite die Aufgabe „Sprint-Rückblick im Mini-Projekt“ anhand der folgenden Vorgaben:
 
Die Lehrkraft legt eine kurze Arbeitsphase mit klarer Zielvorgabe fest, etwa zwanzig bis dreißig Minuten für einen kleinen Entwicklungsschritt. Danach führen die Gruppen einen Rückblick durch: Was war das Ziel, was wurde erreicht, was hat uns gebremst, was lief gut und was würden wir im nächsten Sprint anders machen? Die Ergebnisse werden knapp auf Karten oder in einem Protokoll festgehalten.
 
'''Hinweise aus der Aufgabe'''


* Sprint, Ziel
* Sprint, Ziel
Zeile 288: Zeile 621:
* Wirkung, Prozesslernen
* Wirkung, Prozesslernen


=== 14.4.10 Projektpräsentation mit Entwicklungsweg ===
=== Projektpräsentation mit Entwicklungsweg ===
 
'''Arbeitsauftrag:'''
 
Bearbeite die Aufgabe „Projektpräsentation mit Entwicklungsweg“ anhand der folgenden Vorgaben:
 
Am Ende eines kleinen Projekts präsentieren die Gruppen nicht nur das Ergebnis, sondern auch die wichtigsten Stationen ihres Entwicklungsprozesses. Dazu gehören Ausgangsidee, Anforderungsliste, Rollenverteilung, Board oder Plan, Prototyp, Testfälle und Verbesserungen. Die Zuhörenden stellen Rückfragen, etwa warum bestimmte Funktionen priorisiert wurden oder wie ein Fehler gelöst wurde. Die präsentierende Gruppe begründet ihren Weg und reflektiert, welche Methode besonders hilfreich war.


Diese Aufgabe vertieft das Verständnis für Softwareentwicklung besonders stark, weil die Lernenden nicht nur ihr fertiges Produkt zeigen, sondern den Weg dorthin mit Anforderungen, Planung, Tests und Überarbeitungen nachvollziehbar erklären müssen. Am Ende eines kleinen Projekts präsentieren die Gruppen nicht nur das Ergebnis, sondern auch die wichtigsten Stationen ihres Entwicklungsprozesses. Dazu gehören Ausgangsidee, Anforderungsliste, Rollenverteilung, Board oder Plan, Prototyp, Testfälle und Verbesserungen. Die Zuhörenden stellen Rückfragen, etwa warum bestimmte Funktionen priorisiert wurden oder wie ein Fehler gelöst wurde. Die präsentierende Gruppe begründet ihren Weg und reflektiert, welche Methode besonders hilfreich war. Diese Aufgabe ist besonders lernstark, weil Produkt, Prozess und Reflexion miteinander verbunden werden.
'''Hinweise aus der Aufgabe'''


* Idee, Anforderung
* Idee, Anforderung
Zeile 299: Zeile 638:
* Wirkung, Gesamtverständnis
* Wirkung, Gesamtverständnis


Grundlage: Informatik – Lehrband 8. Klasse, Final V1.2 (2026).
== Kompetenzcheck ==
 
Überprüfe am Ende selbst, ob du die zentralen Kompetenzen dieses Kapitels sicher anwenden kannst:
 
{| class="wikitable"
! Ich kann …
! Ja
! Noch üben
|-
| Softwareentwicklung als Prozess von der Anforderung bis zur Auswertung des fertigen Produkts erklären.
| ☐
| ☐
|-
| Anforderungen und Projektziele so formulieren, dass daraus überprüfbare Aufgaben entstehen.
| ☐
| ☐
|-
| Entwurf, Algorithmen, Implementierung, Testen und Debuggen als zusammenhängende Entwicklungsschritte einordnen.
| ☐
| ☐
|-
| lineare und iterative Vorgehensweisen vergleichen und deren Einsatz grob beurteilen.
| ☐
| ☐
|-
| Rollen, Scrum und Kanban als Möglichkeiten zur Organisation von Softwareprojekten erklären.
| ☐
| ☐
|-
| die Bedeutung von Dokumentation, Versionsständen, Zusammenarbeit und Reflexion für nachvollziehbare Softwareentwicklung begründen.
| ☐
| ☐
|}


[[Kategorie:Informatik 8. Klasse]]
[[Kategorie:Informatik]]

Aktuelle Version vom 15. September 2026, 10:48 Uhr

← Zurück zur 8. Klasse

Worum geht es? Die Lerninhalte verbinden Entwicklungsphasen, agile und lineare Vorgehensweisen, Rollenverteilung, Teamorganisation und Qualitätssicherung, damit Softwareprojekte als strukturierte Arbeitsprozesse verständlich werden und nicht auf einzelne Code-Fragmente oder bloße Bedienhandlungen reduziert bleiben.

Lernziele

[Bearbeiten]

Nach diesem Kapitel kannst du:

  • Ziele klären, Anforderungen sammeln.
  • Aufgaben zerlegen, Schritte planen.
  • Algorithmen entwerfen, Abläufe darstellen.
  • Prototypen bauen, Funktionen testen.
  • Fehler finden, Korrekturen vornehmen.
  • Versionen vergleichen, Änderungen dokumentieren.
  • Rollen erklären, Zusammenarbeit beschreiben.
  • Scrum nennen, Kanban einordnen.
  • Zeit planen, Prioritäten setzen.
  • Projektwege reflektieren, Ergebnisse begründen.

Anschluss an die 7. Klasse

[Bearbeiten]

Programmierung und Modellierung wurden bereits vertieft. Jetzt kommt der vollständige Entwicklungsprozess hinzu: Anforderungen, Entwurf, Implementierung, Test, Rollen, agile Methoden, Versionierung und Projektauswertung.

Lerninhalte

[Bearbeiten]

Kompaktüberblick

[Bearbeiten]
Teilbereich Kerngedanke
Softwareentwicklung als Prozess Ein tragfähiges Verständnis entsteht dann, wenn Softwareentwicklung als Folge zusammenhängender Arbeitsschritte betrachtet wird, weil gute Programme nicht zufällig entstehen, sondern aus Problemklärung, Planung, Umsetzung, Überprüfung und wiederholter …
Anforderungen und Zieldefinition Gute Softwareprojekte gelingen leichter, wenn vor der Umsetzung klar ist, welches Problem gelöst werden soll, welche Funktionen wirklich nötig sind und für wen das Produkt gedacht ist.
Entwurf, Algorithmen und Darstellung Ein geordneter Entwurf verhindert viele spätere Probleme, weil Abläufe, Zustände und Zusammenhänge schon vor dem Codieren sichtbar werden und dadurch verständlicher, überprüfbarer und leichter veränderbar bleiben.
Implementieren, Testen und Debuggen Die Qualität von Software zeigt sich nicht nur am ersten Funktionieren, sondern daran, wie sorgfältig getestet, wie systematisch Fehler gesucht und wie bewusst Verbesserungen in mehreren Entwicklungsschritten vorgenommen werden.
Iterative und lineare Vorgehensweisen Methoden der Softwareentwicklung unterscheiden sich besonders deutlich darin, ob ein Produkt eher in festen aufeinanderfolgenden Phasen oder in wiederholten Schleifen mit frühen Zwischenständen entwickelt wird.
Rollen im Softwareprojekt Softwareprojekte werden übersichtlicher und erfolgreicher, wenn Aufgaben nicht ungeordnet verteilt, sondern Rollen und Verantwortlichkeiten bewusst benannt werden, damit Zusammenarbeit, Kommunikation und Kontrolle nachvollziehbar bleiben.
Scrum und Kanban im Überblick Agiles Projektmanagement wird verständlich, wenn Arbeitsprozesse sichtbar gemacht, Aufgaben priorisiert und Fortschritte regelmäßig überprüft werden, weil gerade dadurch Teamarbeit, Transparenz und flexible Anpassung unterstützt werden können.
Dokumentation, Versionen und Nachvollziehbarkeit Softwareentwicklung bleibt langfristig nur dann verständlich, wenn Entscheidungen, Änderungen und Zwischenschritte dokumentiert werden, weil spätere Verbesserungen sonst schwer prüfbar und Teamarbeit unnötig fehleranfällig wird.
Zusammenarbeit, Werkzeuge und Unterrichtspraxis Softwareprojektmanagement wird für Lernende besonders greifbar, wenn digitale Werkzeuge für Kommunikation, Aufgabenverteilung und gemeinsame Bearbeitung nicht nur genannt, sondern als praktische Unterstützung im Projekt verstanden werden.
Reflexion und Auswertung von Softwareprojekten Nachhaltiges Lernen entsteht besonders dann, wenn ein Softwareprojekt nicht mit dem letzten Klick endet, sondern der Entwicklungsprozess rückblickend betrachtet, bewertet und für spätere Projekte verbessert wird.

Merke: Softwareentwicklung ist ein Prozess aus Anforderungen, Entwurf, Umsetzung, Test, Zusammenarbeit, Dokumentation und Verbesserung.

Softwareentwicklung als Prozess

[Bearbeiten]

Ein tragfähiges Verständnis entsteht dann, wenn Softwareentwicklung als Folge zusammenhängender Arbeitsschritte betrachtet wird, weil gute Programme nicht zufällig entstehen, sondern aus Problemklärung, Planung, Umsetzung, Überprüfung und wiederholter Verbesserung hervorgehen.

Softwareentwicklung beginnt mit einer Aufgabe oder einem Problem. Danach werden Ziele geklärt, Anforderungen gesammelt, erste Ideen skizziert und passende Funktionen festgelegt.

Erst anschließend werden Algorithmen formuliert, Oberflächen entworfen, Programme umgesetzt, getestet und verbessert.

Beispiele:

Ein Fangspiel in Scratch wird nicht mit allen Funktionen auf einmal gebaut, sondern über Bühnenbild, Figuren, Steuerung und Punktelogik schrittweise entwickelt.

Ein Formularprojekt beginnt mit Fragen und Auswertungsziel, bevor Felder angelegt werden.

Eine Website braucht zuerst Struktur und Inhalte, bevor Gestaltung und Feinschliff sinnvoll sind.

Idee, Planung

Entwurf, Umsetzung

Test, Verbesserung

Ziel, Funktion

Problem, Lösung

Prozess, Überblick

Anforderungen und Zieldefinition

[Bearbeiten]

Gute Softwareprojekte gelingen leichter, wenn vor der Umsetzung klar ist, welches Problem gelöst werden soll, welche Funktionen wirklich nötig sind und für wen das Produkt gedacht ist.

Anforderungen beschreiben, was ein Programm können soll. Dazu gehören Grundfunktionen, gewünschte Erweiterungen, Bedienbarkeit, Zielgruppe, verfügbare Zeit und technische Rahmenbedingungen. Schon in kleinen Schulprojekten hilft diese Klärung, weil dadurch unnötige Ideen von wichtigen Funktionen getrennt werden können.

Beispiele:

Bei einem Klassenquiz muss klar sein, ob nur Fragen angezeigt oder auch Punkte gezählt werden sollen.

Bei einer Terminabstimmung muss entschieden werden, ob Namen, Mehrfachauswahl oder automatische Auswertung nötig sind.

Bei einem Spielprojekt kann das Grundziel lauten: Figur bewegen, Gegenstände sammeln, Punkte anzeigen. Erweiterungen kommen erst später hinzu.

Ziel, Bedarf

Nutzer, Funktion

Umfang, Grenze

Pflicht, Zusatz

Anforderung, Sammlung

Priorität, Auswahl

Entwurf, Algorithmen und Darstellung

[Bearbeiten]

Ein geordneter Entwurf verhindert viele spätere Probleme, weil Abläufe, Zustände und Zusammenhänge schon vor dem Codieren sichtbar werden und dadurch verständlicher, überprüfbarer und leichter veränderbar bleiben.

Zur Softwareentwicklung gehört der Entwurf von Algorithmen, Strukturen und Oberflächen. Das kann als Pseudocode, Ablaufdiagramm, Skizze, Storyboard, Blockfolge oder Funktionsliste geschehen. Solche Darstellungen helfen, Ideen zu ordnen und Fehler früh zu erkennen.

Beispiele:

Ein Sortierverfahren wird zuerst mit Karten oder Pseudocode beschrieben.

Ein Spiel wird vorab in Startbild, Steuerung, Hindernisse und Punkte zerlegt.

Eine App wird zunächst als Skizze mit Buttons, Menüs und Bildschirmfolgen entworfen.

Entwurf, Skizze

Algorithmus, Pseudocode

Ablauf, Struktur

Oberfläche, Storyboard

Darstellung, Planung

Modell, Übersicht

Implementieren, Testen und Debuggen

[Bearbeiten]

Die Qualität von Software zeigt sich nicht nur am ersten Funktionieren, sondern daran, wie sorgfältig getestet, wie systematisch Fehler gesucht und wie bewusst Verbesserungen in mehreren Entwicklungsschritten vorgenommen werden.

Implementieren bedeutet, den Entwurf in eine Programmiersprache oder Entwicklungsumgebung zu übertragen. Testen prüft, ob die gewünschte Funktion wirklich erreicht wird. Debuggen bedeutet, Fehlerquellen zu suchen und zu beheben.

Besonders im Unterricht ist wichtig, dass Programme iterativ entwickelt werden: erst eine kleine funktionierende Basis, dann Erweiterungen. So lassen sich Fehler besser eingrenzen und Fortschritte klarer erkennen.

Beispiele:

Ein Scratch-Spiel wird zuerst nur mit Bewegung programmiert, danach mit Kollision und Punktestand erweitert.

Ein Formular wird erst mit wenigen Fragen getestet, bevor weitere Antworttypen ergänzt werden.

Ein Python-Programm wird nach jedem kleinen Schritt ausgeführt, um Fehler früh zu bemerken.

Code, Umsetzung

Test, Kontrolle

Fehler, Debugging

Basis, Erweiterung

Schritt, Iteration

Qualität, Prüfung

Orientierung auf einen Blick

[Bearbeiten]
Als Nächstes Kurz erklärt
Iterative und lineare Vorgehensweisen Methoden der Softwareentwicklung unterscheiden sich besonders deutlich darin, ob ein Produkt eher in festen aufeinanderfolgenden Phasen oder in wiederholten Schleifen mit frühen Zwischenständen entwickelt wird.
Rollen im Softwareprojekt Softwareprojekte werden übersichtlicher und erfolgreicher, wenn Aufgaben nicht ungeordnet verteilt, sondern Rollen und Verantwortlichkeiten bewusst benannt werden, damit Zusammenarbeit, Kommunikation und Kontrolle nachvollziehbar bleiben.
Scrum und Kanban im Überblick Agiles Projektmanagement wird verständlich, wenn Arbeitsprozesse sichtbar gemacht, Aufgaben priorisiert und Fortschritte regelmäßig überprüft werden, weil gerade dadurch Teamarbeit, Transparenz und flexible Anpassung unterstützt werden können.

Merke: Achte beim Weiterlesen darauf, wie die nächsten Teilaspekte mit den bereits behandelten Grundlagen zusammenhängen.

Iterative und lineare Vorgehensweisen

[Bearbeiten]

Methoden der Softwareentwicklung unterscheiden sich besonders deutlich darin, ob ein Produkt eher in festen aufeinanderfolgenden Phasen oder in wiederholten Schleifen mit frühen Zwischenständen entwickelt wird.

Ein eher linearer Ansatz arbeitet stärker in klaren Abschnitten: planen, entwerfen, umsetzen, testen. Ein iterativer Ansatz entwickelt früher kleine Versionen, prüft sie und verbessert sie mehrfach. Daraus wird sichtbar, dass Softwareentwicklung verschieden organisiert werden kann, je nach Zielgruppe, Zeit und Projektgröße.

Beispiele:

Ein einfaches Übungsprogramm kann linear aufgebaut werden.

Ein Spielprojekt profitiert oft von iterativen Schleifen mit Test und Erweiterung.

Ein Schulprojekt mit knapper Zeit arbeitet häufig zuerst mit einer Minimalversion und erweitert nur bei Erfolg.

Linear, Schrittfolge

Iterativ, Schleife

Planung, Zwischenstand

Test, Anpassung

Minimalversion, Ausbau

Methode, Auswahl

Rollen im Softwareprojekt

[Bearbeiten]

Softwareprojekte werden übersichtlicher und erfolgreicher, wenn Aufgaben nicht ungeordnet verteilt, sondern Rollen und Verantwortlichkeiten bewusst benannt werden, damit Zusammenarbeit, Kommunikation und Kontrolle nachvollziehbar bleiben.

Im Unterricht können Rollen vereinfacht dargestellt werden, etwa Planung, Umsetzung, Test, Dokumentation oder Präsentation. In agilen Projekten tauchen zusätzlich Rollen wie Scrum Master oder Product Owner auf. Der offizielle Scrum Guide beschreibt Scrum als Rahmenwerk zur Entwicklung komplexer Produkte.

Beispiele:

Eine Person sammelt Anforderungen.

Eine andere erstellt das Grundgerüst des Programms.

Eine weitere testet Funktionen und dokumentiert Fehler.

In einer Präsentationsphase erklärt eine Gruppe den Entwicklungsweg.

Rolle, Planung

Rolle, Umsetzung

Rolle, Test

Rolle, Dokumentation

Rolle, Moderation

Verantwortung, Abstimmung

Scrum und Kanban im Überblick

[Bearbeiten]

Agiles Projektmanagement wird verständlich, wenn Arbeitsprozesse sichtbar gemacht, Aufgaben priorisiert und Fortschritte regelmäßig überprüft werden, weil gerade dadurch Teamarbeit, Transparenz und flexible Anpassung unterstützt werden können.

Scrum arbeitet mit kurzen Arbeitsphasen, klaren Rollen und regelmäßigen Besprechungen.

Kanban macht Aufgaben auf einem Board sichtbar und zeigt, was offen, in Arbeit oder erledigt ist. Der Scrum Guide erklärt zusätzlich die grundlegenden Elemente von Scrum als Rollen, Ereignisse und Artefakte.

Beispiele:

Ein Klassenprojekt nutzt Spalten wie „Ideen“, „in Arbeit“, „testen“, „fertig“.

Kurze Standups helfen, Hindernisse sichtbar zu machen.

Ein Produktbacklog sammelt gewünschte Funktionen für ein Spiel oder eine App.

Ein Sprint kann in der Schule als kurze Arbeitsphase mit klarem Ziel verstanden werden.

Scrum, Rahmenwerk

Kanban, Aufgabenboard

Backlog, Priorität

Standup, Austausch

Sprint, Arbeitsphase

Fortschritt, Transparenz

Zweiter Zwischenüberblick

[Bearbeiten]
Vertiefung Wichtig dabei
Dokumentation, Versionen und Nachvollziehbarkeit Softwareentwicklung bleibt langfristig nur dann verständlich, wenn Entscheidungen, Änderungen und Zwischenschritte dokumentiert werden, weil spätere Verbesserungen sonst schwer prüfbar und Teamarbeit unnötig fehleranfällig wird.
Zusammenarbeit, Werkzeuge und Unterrichtspraxis Softwareprojektmanagement wird für Lernende besonders greifbar, wenn digitale Werkzeuge für Kommunikation, Aufgabenverteilung und gemeinsame Bearbeitung nicht nur genannt, sondern als praktische Unterstützung im Projekt verstanden werden.
Reflexion und Auswertung von Softwareprojekten Nachhaltiges Lernen entsteht besonders dann, wenn ein Softwareprojekt nicht mit dem letzten Klick endet, sondern der Entwicklungsprozess rückblickend betrachtet, bewertet und für spätere Projekte verbessert wird.

Merke: Die Teilaspekte gehören zusammen: Fachwissen wird besonders tragfähig, wenn du Zusammenhänge an konkreten Beispielen erklären kannst.

Dokumentation, Versionen und Nachvollziehbarkeit

[Bearbeiten]

Softwareentwicklung bleibt langfristig nur dann verständlich, wenn Entscheidungen, Änderungen und Zwischenschritte dokumentiert werden, weil spätere Verbesserungen sonst schwer prüfbar und Teamarbeit unnötig fehleranfällig wird.

Dokumentation kann einfach oder umfangreich sein: Funktionslisten, Kommentare im Code, Änderungsnotizen, Screenshots, Testprotokolle oder kurze Projektberichte. Auch Versionen sind wichtig, damit alte Stände bei Bedarf wiederhergestellt oder verglichen werden können.

Die GitHub-Education-Seite nennt Grundlagen wie Repositories, Commits, Branches und Projektmanagement als Einstiegskompetenzen. Das lässt sich im Unterricht auf einfache Formen der Versionspflege übertragen.

Beispiele:

Ein Team speichert Arbeitsstände mit Datum.

Eine Liste hält fest, welche Fehler schon behoben wurden.

Code-Kommentare erklären schwierige Stellen.

Ein Kurzprotokoll dokumentiert, was im letzten Arbeitsschritt verändert wurde.

Dokumentation, Überblick

Kommentar, Erklärung

Version, Stand

Änderung, Verlauf

Testprotokoll, Notiz

Nachvollziehbarkeit, Ordnung

Zusammenarbeit, Werkzeuge und Unterrichtspraxis

[Bearbeiten]

Softwareprojektmanagement wird für Lernende besonders greifbar, wenn digitale Werkzeuge für Kommunikation, Aufgabenverteilung und gemeinsame Bearbeitung nicht nur genannt, sondern als praktische Unterstützung im Projekt verstanden werden.

Solche Tools unterstützen Aufgabenlisten, Kommunikation, Dateiablage, kollaborative Bearbeitung und Projektübersicht.

Für fortgeschrittenere Klassen wird GitHub ausdrücklich im Zusammenhang mit Softwareentwicklung erwähnt. Dadurch wird deutlich, dass Projektmanagement nicht nur aus Planungsgesprächen besteht, sondern auch passende Werkzeuge braucht.

Beispiele:

Ein Board organisiert Aufgaben nach Gruppen.

Ein geteiltes Dokument sammelt Ideen und Testnotizen.

Ein Chat oder Videoraum erleichtert kurze Abstimmungen.

Ein Repository kann Quellcode und Projektstände bündeln.

Trello, Teams

GitHub, Workspace

Moodle, Chat

Board, Aufgaben

Datei, Austausch

Werkzeug, Unterstützung

Reflexion und Auswertung von Softwareprojekten

[Bearbeiten]

Nachhaltiges Lernen entsteht besonders dann, wenn ein Softwareprojekt nicht mit dem letzten Klick endet, sondern der Entwicklungsprozess rückblickend betrachtet, bewertet und für spätere Projekte verbessert wird.

Zur Reflexion gehören Fragen wie: Was hat gut funktioniert, wo gab es Verzögerungen, welche Rolle war klar oder unklar, welche Methode hat geholfen, und was würde man beim nächsten Projekt anders planen? So wird sichtbar, dass Projektmanagement nicht nur Organisation, sondern auch bewusste Weiterentwicklung bedeutet.

Beispiele:

Eine Gruppe erkennt, dass zu viele Aufgaben gleichzeitig begonnen wurden.

Ein Team bemerkt, dass Tests zu spät eingeplant waren.

Ein Projekt verlief besser, weil Aufgaben sichtbar am Board standen.

Eine Klasse stellt fest, dass kurze Zwischenbesprechungen Missverständnisse reduziert haben.

Reflexion, Rückblick

Auswertung, Verbesserung

Prozess, Erfahrung

Fehler, Lernen

Planung, Anpassung

Projektende, Erkenntnis

Begriffe und Zusammenhänge auf einen Blick

[Bearbeiten]
Thema Das solltest du verbinden können
Softwareentwicklung als Prozess Ein tragfähiges Verständnis entsteht dann, wenn Softwareentwicklung als Folge zusammenhängender Arbeitsschritte betrachtet wird, weil gute Programme nicht zufällig entstehen, sondern aus Problemklärung, Planung, Umsetzung, Überprüfung und wiederholter …
Entwurf, Algorithmen und Darstellung Ein geordneter Entwurf verhindert viele spätere Probleme, weil Abläufe, Zustände und Zusammenhänge schon vor dem Codieren sichtbar werden und dadurch verständlicher, überprüfbarer und leichter veränderbar bleiben.
Iterative und lineare Vorgehensweisen Methoden der Softwareentwicklung unterscheiden sich besonders deutlich darin, ob ein Produkt eher in festen aufeinanderfolgenden Phasen oder in wiederholten Schleifen mit frühen Zwischenständen entwickelt wird.
Scrum und Kanban im Überblick Agiles Projektmanagement wird verständlich, wenn Arbeitsprozesse sichtbar gemacht, Aufgaben priorisiert und Fortschritte regelmäßig überprüft werden, weil gerade dadurch Teamarbeit, Transparenz und flexible Anpassung unterstützt werden können.
Zusammenarbeit, Werkzeuge und Unterrichtspraxis Softwareprojektmanagement wird für Lernende besonders greifbar, wenn digitale Werkzeuge für Kommunikation, Aufgabenverteilung und gemeinsame Bearbeitung nicht nur genannt, sondern als praktische Unterstützung im Projekt verstanden werden.

Merke: Nutze die Tabellen nicht nur zum Nachlesen: Versuche, jede Zeile mit einem eigenen Beispiel oder einer eigenen Begründung zu ergänzen.

Kurz zusammengefasst

[Bearbeiten]
Kernkompetenz Das bedeutet konkret
Ziele klären, Anforderungen sammeln Vor Beginn festlegen, welches Problem gelöst werden soll und woran ein gutes Ergebnis erkennbar ist. Geeignete Anforderungen systematisch zusammentragen, ordnen und auf Relevanz bzw. Vollständigkeit prüfen.
Aufgaben zerlegen, Schritte planen Eine größere Aufgabe in klar abgegrenzte Teilaufgaben aufteilen und sinnvolle Abhängigkeiten zwischen ihnen festlegen. Für „Schritte“ Ziel, notwendige Schritte, Reihenfolge und wichtige Rahmenbedingungen festlegen.
Algorithmen entwerfen, Abläufe darstellen Aus dem Problem eine eindeutige und endliche Schrittfolge entwickeln, die das gewünschte Ergebnis erzeugt. Schritte, Entscheidungen und Wiederholungen in einer geeigneten Form wie Ablaufplan oder Pseudocode sichtbar machen.
Prototypen bauen, Funktionen testen Eine vereinfachte, funktionsfähige erste Version erstellen, um zentrale Ideen früh praktisch zu testen. Funktionen mit passenden Normal-, Rand- und Fehlerfällen prüfen und Abweichungen dokumentieren.
Fehler finden, Korrekturen vornehmen Abweichungen zwischen erwartetem und tatsächlichem Verhalten systematisch lokalisieren, statt zufällig Änderungen vorzunehmen. Eine vermutete Fehlerursache gezielt beheben und anschließend prüfen, ob die Änderung das Problem löst.
Versionen vergleichen, Änderungen dokumentieren Varianten von „Versionen“ anhand sinnvoller Kriterien gegenüberstellen und relevante Gemeinsamkeiten sowie Unterschiede herausarbeiten. Änderungen so festhalten, dass Vorgehen, Änderungen und Ergebnis für andere nachvollziehbar bleiben.
Rollen erklären, Zusammenarbeit beschreiben Den Zusammenhang „Rollen“ in eigenen Worten erläutern und an einem passenden Beispiel zeigen. „Zusammenarbeit“ mit den wesentlichen Merkmalen bzw. Schritten geordnet und verständlich darstellen.
Scrum nennen, Kanban einordnen Zum Thema „Scrum“ wesentliche Punkte nennen und mindestens ein passendes Beispiel anführen. „Kanban“ in den fachlichen Zusammenhang einordnen und dies mit Merkmalen oder Beispielen begründen.
Zeit planen, Prioritäten setzen Für „Zeit“ Ziel, notwendige Schritte, Reihenfolge und wichtige Rahmenbedingungen festlegen. Prioritäten anhand des Ziels priorisieren bzw. festlegen und die Entscheidung nachvollziehbar machen.
Projektwege reflektieren, Ergebnisse begründen „Projektwege“ rückblickend anhand von Kriterien beurteilen und daraus Verbesserungen oder Konsequenzen ableiten. „Ergebnisse“ mit nachvollziehbaren Kriterien, Fakten oder Beispielen begründen.

Merke: Die wichtigsten Inhalte solltest du nicht nur wiedergeben, sondern auf neue Situationen übertragen, begründet anwenden und kritisch beurteilen können.

[Bearbeiten]

Passende LearningSnacks

Übungen

[Bearbeiten]

Die Aufgaben setzen die Inhalte praktisch um. Der konkrete Auftrag steht bei jeder Aufgabe ausdrücklich unter Arbeitsauftrag:.

Vom Wunsch zur Anforderungsliste

[Bearbeiten]

Arbeitsauftrag:

Bearbeite die Aufgabe „Vom Wunsch zur Anforderungsliste“ anhand der folgenden Vorgaben:

Die Lehrkraft gibt eine offene Projektidee vor, etwa ein Klassenquiz, eine To-do-App, ein Lernspiel oder ein digitales Abstimmungstool. Die Schülerinnen und Schüler sammeln zunächst Wünsche und Funktionen. Danach trennen sie zwischen notwendigen Grundfunktionen und späteren Zusatzideen. Anschließend formulieren sie eine kurze Anforderungsliste mit Zielgruppe, Zweck, Pflichtfunktionen und möglichen Erweiterungen. In der Besprechung wird verglichen, welche Gruppen eher zu viele oder eher zu wenige Anforderungen formuliert haben und wie sich das auf ein Projekt auswirken würde.

Hinweise aus der Aufgabe

  • Idee, Ziel
  • Nutzer, Zweck
  • Pflicht, Zusatz
  • Liste, Priorität
  • Vergleich, Auswahl
  • Wirkung, Klarheit

Projektphasen ordnen

[Bearbeiten]

Arbeitsauftrag:

Bearbeite die Aufgabe „Projektphasen ordnen“ anhand der folgenden Vorgaben:

Die Lehrkraft bereitet Karten mit Projektphasen vor, etwa Idee, Anforderungen, Entwurf, Umsetzung, Test, Fehlerkorrektur, Dokumentation und Präsentation. Die Schülerinnen und Schüler ordnen diese Phasen zu einem sinnvollen Ablauf und begründen ihre Reihenfolge. Danach diskutieren sie, an welchen Stellen Rücksprünge nötig sein können, etwa wenn beim Test neue Probleme sichtbar werden. In einer zweiten Runde ergänzen sie zu jeder Phase typische Tätigkeiten und Produkte.

Hinweise aus der Aufgabe

  • Phasen, Idee
  • Phasen, Entwurf
  • Phasen, Test
  • Phasen, Dokumentation
  • Produkte, Ablauf
  • Wirkung, Prozessverständnis

User Story statt vager Idee

[Bearbeiten]

Arbeitsauftrag:

Bearbeite die Aufgabe „User Story statt vager Idee“ anhand der folgenden Vorgaben:

Die Schülerinnen und Schüler erhalten eine Projektidee, etwa ein Lernquiz oder eine Erinnerungs-App. Danach formulieren sie einfache User Stories nach dem Muster: „Als … möchte ich …, damit …“. Anschließend vergleichen sie ihre Formulierungen und prüfen, ob daraus konkrete Anforderungen ableitbar sind. In der Auswertung wird besprochen, warum manche Wünsche zu ungenau bleiben und wie sie präziser gemacht werden können.

Hinweise aus der Aufgabe

  • Nutzer, Wunsch
  • Ziel, Nutzen
  • Story, Formulierung
  • Vergleich, Präzision
  • Produkte, Sammlung
  • Wirkung, Nutzerblick

Kanbanboard im Klassenprojekt

[Bearbeiten]

Arbeitsauftrag:

Bearbeite die Aufgabe „Kanbanboard im Klassenprojekt“ anhand der folgenden Vorgaben:

Die Lehrkraft gibt ein kleines Softwareprojekt vor, etwa die Planung eines Quiz, einer einfachen Website oder eines Scratch-Spiels. Die Schülerinnen und Schüler erstellen ein Kanbanboard mit Spalten wie „offen“, „in Arbeit“, „testen“ und „fertig“. Danach formulieren sie Aufgaben auf Karten, ordnen sie den Spalten zu und aktualisieren das Board im Verlauf der Arbeit. In kurzen Zwischenstopps erklären die Gruppen, warum Aufgaben verschoben wurden und wo Engpässe entstanden sind.

Hinweise aus der Aufgabe

  • Board, Spalten
  • Offen, Arbeit
  • Testen, Fertig
  • Karte, Aufgabe
  • Fortschritt, Engpass
  • Wirkung, Transparenz

Rollen im Entwicklerteam

[Bearbeiten]

Arbeitsauftrag:

Bearbeite die Aufgabe „Rollen im Entwicklerteam“ anhand der folgenden Vorgaben:

Die Klasse bearbeitet ein kleines Teamprojekt. Jede Gruppe verteilt Rollen, etwa Planung, Entwurf, Umsetzung, Test und Dokumentation. Danach arbeiten die Gruppen an derselben Aufgabe, zum Beispiel an einem Lernspiel oder einer kleinen App-Idee. Während der Arbeit halten sie fest, welche Rolle welche Entscheidungen getroffen hat und wo Abstimmung nötig war. In der Auswertung reflektieren sie, welche Rollen klar, unklar oder doppelt besetzt waren und welche Folgen das für den Projektverlauf hatte.

Hinweise aus der Aufgabe

  • Rollen, Planung
  • Rollen, Test
  • Rollen, Dokumentation
  • Rollen, Umsetzung
  • Abstimmung, Verantwortung
  • Wirkung, Teamverständnis

Vom Ablaufdiagramm zum Prototyp

[Bearbeiten]

Arbeitsauftrag:

Bearbeite die Aufgabe „Vom Ablaufdiagramm zum Prototyp“ anhand der folgenden Vorgaben:

Die Lehrkraft gibt eine kleine Softwarefunktion vor, etwa ein Login mit Rückmeldung, ein Quiz mit Punktestand oder eine Auswahl mit mehreren Antwortwegen. Die Schülerinnen und Schüler erstellen zunächst ein Ablaufdiagramm mit Start, Eingabe, Entscheidung und Ausgabe. Erst danach setzen sie das Modell in einer geeigneten Umgebung um, etwa in Scratch oder in einer einfachen Blockprogrammierung. Anschließend vergleichen sie Entwurf und Prototyp und markieren Stellen, die verändert werden mussten.

Hinweise aus der Aufgabe

  • Entwurf, Diagramm
  • Schritte, Eingabe
  • Schritte, Ausgabe
  • Umsetzung, Prototyp
  • Vergleich, Änderung
  • Wirkung, Zusammenhang

Testen mit Testfällen

[Bearbeiten]

Arbeitsauftrag:

Bearbeite die Aufgabe „Testen mit Testfällen“ anhand der folgenden Vorgaben:

Die Schülerinnen und Schüler erhalten einen kleinen Prototyp oder ein einfaches Programm, etwa ein Quiz, ein Formular oder eine Rechenfunktion. Zunächst formulieren sie Testfälle, also konkrete Eingaben und erwartete Ergebnisse. Danach führen sie die Tests durch und protokollieren, was funktioniert und wo Fehler auftreten. In der Besprechung wird verglichen, welche Testfälle besonders hilfreich waren und welche Lücken übersehen wurden.

Hinweise aus der Aufgabe

  • Testfall, Eingabe
  • Erwartung, Ergebnis
  • Prüfung, Abweichung
  • Fehler, Protokoll
  • Vergleich, Lücke
  • Wirkung, Qualität

Debugging-Werkstatt

[Bearbeiten]

Arbeitsauftrag:

Bearbeite die Aufgabe „Debugging-Werkstatt“ anhand der folgenden Vorgaben:

Die Lehrkraft bereitet einen kleinen fehlerhaften Code, einen unvollständigen Ablauf oder einen fehlerhaften Prototyp vor. Die Schülerinnen und Schüler arbeiten in Teams und versuchen, den Fehler einzugrenzen, Vermutungen zu formulieren und Änderungen schrittweise zu testen. Wichtig ist, dass jede Gruppe ihren Suchweg dokumentiert und erklärt, warum sie bestimmte Stellen zuerst überprüft hat. In der gemeinsamen Auswertung werden erfolgreiche Strategien gesammelt.

Hinweise aus der Aufgabe

  • Fehler, Suche
  • Ursache, Vermutung
  • Schritt, Test
  • Änderung, Kontrolle
  • Protokoll, Strategie
  • Wirkung, Fehlersicherheit

Sprint-Rückblick im Mini-Projekt

[Bearbeiten]

Arbeitsauftrag:

Bearbeite die Aufgabe „Sprint-Rückblick im Mini-Projekt“ anhand der folgenden Vorgaben:

Die Lehrkraft legt eine kurze Arbeitsphase mit klarer Zielvorgabe fest, etwa zwanzig bis dreißig Minuten für einen kleinen Entwicklungsschritt. Danach führen die Gruppen einen Rückblick durch: Was war das Ziel, was wurde erreicht, was hat uns gebremst, was lief gut und was würden wir im nächsten Sprint anders machen? Die Ergebnisse werden knapp auf Karten oder in einem Protokoll festgehalten.

Hinweise aus der Aufgabe

  • Sprint, Ziel
  • Rückblick, Ergebnis
  • Hindernis, Erfolg
  • Änderung, Verbesserung
  • Protokoll, Karte
  • Wirkung, Prozesslernen

Projektpräsentation mit Entwicklungsweg

[Bearbeiten]

Arbeitsauftrag:

Bearbeite die Aufgabe „Projektpräsentation mit Entwicklungsweg“ anhand der folgenden Vorgaben:

Am Ende eines kleinen Projekts präsentieren die Gruppen nicht nur das Ergebnis, sondern auch die wichtigsten Stationen ihres Entwicklungsprozesses. Dazu gehören Ausgangsidee, Anforderungsliste, Rollenverteilung, Board oder Plan, Prototyp, Testfälle und Verbesserungen. Die Zuhörenden stellen Rückfragen, etwa warum bestimmte Funktionen priorisiert wurden oder wie ein Fehler gelöst wurde. Die präsentierende Gruppe begründet ihren Weg und reflektiert, welche Methode besonders hilfreich war.

Hinweise aus der Aufgabe

  • Idee, Anforderung
  • Plan, Rolle
  • Prototyp, Test
  • Fehler, Lösung
  • Präsentation, Rückfrage
  • Wirkung, Gesamtverständnis

Kompetenzcheck

[Bearbeiten]

Überprüfe am Ende selbst, ob du die zentralen Kompetenzen dieses Kapitels sicher anwenden kannst:

Ich kann … Ja Noch üben
Softwareentwicklung als Prozess von der Anforderung bis zur Auswertung des fertigen Produkts erklären. ☐ ☐
Anforderungen und Projektziele so formulieren, dass daraus überprüfbare Aufgaben entstehen. ☐ ☐
Entwurf, Algorithmen, Implementierung, Testen und Debuggen als zusammenhängende Entwicklungsschritte einordnen. ☐ ☐
lineare und iterative Vorgehensweisen vergleichen und deren Einsatz grob beurteilen. ☐ ☐
Rollen, Scrum und Kanban als Möglichkeiten zur Organisation von Softwareprojekten erklären. ☐ ☐
die Bedeutung von Dokumentation, Versionsständen, Zusammenarbeit und Reflexion für nachvollziehbare Softwareentwicklung begründen. ☐ ☐