Software und ihre Entwicklung In diesem Kapitel Grafische Benutzeroberflächen Einblicke: Software-Entwicklung Agile Software-Entwicklung mit Scrum Ein Softwareprojekt mit Scrum Verteilte Versionsverwaltung – Git q Startseite 9. Software und ihre Entwicklung 1. Grafische Benutzeroberflächen + 1. Benutzerfreundlichkeit + 1. Erkundung - Programme zum Zahlenraten + 2. Fachkonzept - Software-Ergonomie + 3. Übungen + 2. Aufbau und Verhalten + 1. Erkundung - Analyse einer grafischen Benutzeroberfläche + 2. Fachkonzept - Grafische Benutzeroberfläche + 3. Fachkonzept - GUI-Objekt + 4. Fachkonzept - Ereignisgesteuerter Programmablauf + 5. Exkurs - Fehlerbehandlung + 6. Übungen + 3. Miniprojekt - chuck-a-luck + 1. Das Spiel chuck-a-luck + 2. Konzeption einer grafischen Benutzeroberfläche + 3. Implementierung einer GUI + 1. Erzeugung eines Fensters + 2. Anzeige von Text und Daten + 3. Anklicken von Schaltflächen + 4. Eingabe von Daten + 5. Gestaltung des Layouts + 6. Auswahlmöglichkeit mit Radiobutton + 7. Einbindung von Bildern + 8. (De)Aktivierung von Komponenten + 9. Eine Leinwand für Grafiken + 10. Verarbeitung von Ereignissen + 11. Animation mit einem Timer + 4. Exkurs - Glücksspiele + 4. GUI-Entwicklung mit tkinter + 1. Erzeugung eines Fensters + 2. Anzeige von Text und Daten + 3. Anklicken von Schaltflächen + 4. Eingabe von Daten + 5. Gestaltung des Layouts + 1. Der place-Manager + 2. Der pack-Manager + 3. Der grid-Manager + 6. Einbindung von Bildern + 7. Eine Leinwand für Grafiken + 8. Animation mit einem Timer + 9. Verarbeitung von Ereignissen + 1. Das Grundschema der Ereignisverarbeitung + 2. Beschreibung von Ereignissen + 3. Behandlung von Ereignissen + 10. Datenverwaltung mit Kontrollvariablen + 11. Auswahlmöglichkeiten + 1. Auswahl mit Radiobutton + 2. Auswahl mit Checkbutton + 3. Auswahl aus einer Listbox + 12. Ein Textfeld + 13. Fenster und Dialoge + 1. Fenster öffnen und schließen + 2. Messagebox-Fenster + 3. Dialogfenster + 5. GUI-Entwicklung mit wxPython + 1. Erzeugung eines Fensters + 2. Anzeige von Text und Daten + 3. Anklicken von Schaltflächen + 4. Eingabe von Daten + 5. Gestaltung des Layouts + 6. Verarbeitung von Ereignissen + 7. Auswahlmöglichkeit mit Radiobutton + 8. Einbindung von Bildern + 9. Eine Leinwand für Grafiken + 10. Exkurs - GUI-Entwicklung mit PythonCard + 1. Eine mit PythonCard erzeugte GUI + 2. Eine GUI aus GUI-Objekten + 3. Eine Klasse zur Verwaltung der GUI-Objekte + 4. Noch eine Klasse zur Aufteilung der Zuständigkeiten + 6. GUI und Datenmodell + 1. Datenverwaltung mit GUI-Objekten + 2. Datenverwaltung mit globalen Variablen + 3. Datenverwaltung mit Datenmodellobjekten + 7. Miniprojekte + 1. Einstieg - Hinweise zur Vorgehensweise + 2. Miniprojekt - Ein Merktest + 3. Miniprojekt - Das Ziegenproblem + 4. Miniprojekt - Ein einfacher Taschenrechner + 5. Miniprojekt - Ein Geschicklichkeitsspiel + 6. Miniprojekt - Ein Adventskalender 2. Einblicke: Software-Entwicklung + 1. Projekt Lernkartei + 1. Projekt - Auftrag + 2. Projekt - Anforderungsanalyse + 3. Exkurs - Anforderungsanalyse + 4. Projekt - Planung der Vorgehensweise + 5. Exkurs - Planung der Vorgehensweise + 6. Projekt - Kernsystem + 1. Projekt - Modellierung der Miniwelt + 2. Exkurs - Modellierung der Miniwelt + 3. Projekt - Modellierung der GUI + 4. Exkurs - Modellierung der GUI + 5. Projekt - Implementierung + 6. Exkurs - Implementierung + 7. Projekt - Testen + 8. Exkurs - Testen + 7. Projekt - Erweiterungen + 1. Projekt - Modellierung + 2. Exkurs - Modellierung + 3. Projekt - Implementierung + 4. + 5. Projekt - Testen + 6. + 8. Projekt - Abnahme + 9. Projekt - Mögliche Weiterentwicklungen + 2. Software-Entwicklung als Prozess + 1. Fachkonzept - Entwicklungsphasen + 2. Fachkonzept - Dokumentation + 3. Fachkonzept - Vorgehensmodelle + 3. Software als Produkt + 1. Einstieg - Fehler in der Software + 2. Einstieg - Kosten für Software + 3. Exkurs - Softwarefehler + 4. Exkurs - Gütekriterien für Software + 5. Exkurs - Verantwortlichkeit für Software + 6. Exkurs - Softwarelizenzen + 4. Projektvorschläge + 1. Projekt - Galton-Brett + 2. Projekt - Bruchrechen-Trainer + 5. Projektbeispiele + 1. Projekt - Autocell + 1. Projekt - Anforderungsanalyse + 2. Projekt - Systemmodellierung 3. Agile Software-Entwicklung mit Scrum + 1. Das Papierfliegerspiel Start Vorbereitung Planung Durchführung Review Retro Sprint Recap + 2. Exkurs in die Produktentwicklung Start Eine andere Zeit Handyentwicklung Einige Fragen Features in der Zukunft Das Wasserfallmodell Darum Scrum + 3. Kommunikation + 1. Stakeholder + 2. Alltag einer Softwareentwicklerin + 3. Stakeholder in Scrum + 4. Meetings + 5. Das Bauklotzspiel + 4. Planung und Requirements + 1. Komplexität der Planung + 2. Voraussetzungen + 3. User Stories + 4. Das Scrum Board + 5. Das Schokoriegelspiel 4. Ein Softwareprojekt mit Scrum + 1. Bevor es losgeht + 1. Rahmenbedingungen + 2. Voraussetzungen + 3. Teamfindung + 2. Das Spiel + 1. Einstieg – Was ist Schach? + 2. Spielen geht über Studieren Spielen geht über Studieren Vorbereitung Durchführung Recap + 3. Vereinfachung Vereinfachung Was brauchen wir wirklich? Das Spielfeld Die Spielfiguren Probieren wir's mal aus + 3. Das Projekt + 1. Vorbereitung durch die Lehrkraft + 1. Versionsverwaltung + 2. Entwicklungsumgebungen + 3. Vorbereitung auf die Modellierung + 4. Verwendete Sprache + 2. Requirements Engineering Requirements Engineering Zielgruppenidentifikation Die Anforderungen unserer Zielgruppe User Stories Priorisierung + 3. Euer Werkzeug + 1. Euer Scrum Board + 2. Euer Product Owner + 3. Euer Scrum Master + 4. Der erste Sprint + 1. Sprintspezifische Vorbereitung + 1. Eure Arbeitszeiten + 2. Definition of Done + 3. Planning Poker Planning Poker Vorbereitung Durchführung Recap + 2. Durchführung des Sprint + 1. Modellierung Start Modellierung Start Starten ja! – Aber wo? Was euch jetzt erwartet Backend und Frontend Welche Klassen? + 2. Modellierung Backend (einfach) Modellierung des Backend Positionen auf dem Spielfeld Wie speichern wir das Schachbrett? Züge Gültigkeitsprüfung von Zügen Figuren Sonderfälle für Bauern Informationen für Züge Die Seite für den Scrum Master (Figur) Wichtige Variablen Was das Backend sonst noch so braucht Die Seite für den Scrum Master (Backend) + 3. Modellierung Backend (umfangreich) Modellierung des Backend Positionen auf dem Spielfeld Wie speichern wir das Schachbrett? Züge Gültigkeitsprüfung von Zügen Figuren und Vererbung Sonderfälle für Bauern Informationen für Züge Die Seite für den Scrum Master (Figur) Wichtige Variablen Was das Backend sonst noch so braucht Die Seite für den Scrum Master (Backend) + 4. Modellierung Frontend + Main Modellierung des Frontend + Main Benutzereingabe Eingabe konvertieren Falsche Eingaben Hinweisausgabe Ausgabe des Schachbrett Die Seite für den Scrum Master (Frontend) Die Hauptklasse Die Seite für den Scrum Master (Main) + 5. Implementierung und Arbeitsweise + 1. Los geht's + 2. Pair Programming + 3. Eure Daily Standups + 4. Wartbarkeit eures Code + 5. Tests + 6. Gütekriterien für Software + 3. Das Sprintende + 1. Seid ihr fertig? + 2. Die Abnahme + 3. Die Retroperspektive + 5. Weitere Sprints + 1. Was lernen wir aus dem letzten Sprint? + 2. Anregungen für neue User Stories + 3. GUI + 4. Schach kann noch mehr! 5. Verteilte Versionsverwaltung – Git + 1. Einführung + 2. Arten von Versionierungsprogrammen + 3. Repository Struktur + 4. Lokale Repositories + 1. Initialisieren eines git-Projektes + 2. Einchecken mit add und commit + 3. Auschecken mit reset und checkout + 4. Versionsverwaltung + 5. GUIs + 6. Branches + 7. Merge + 5. Remote Repositories + 1. Server + 2. Klonen eines Repositories mit git clone + 3. Upload vom lokalen ins remote Repository mit git push + 4. Download vom remote ins lokale Repository mit git pull + 5. Forks