Software und ihre EntwicklungIn diesem KapitelGrafische BenutzeroberflächenEinblicke: Software-EntwicklungAgile Software-Entwicklung mit ScrumEin Softwareprojekt mit ScrumVerteilte Versionsverwaltung – GitqStartseite9. Software und ihre Entwicklung1. 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 Adventskalender2. 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 - Systemmodellierung3. Agile Software-Entwicklung mit Scrum+1. Das PapierfliegerspielStartVorbereitungPlanungDurchführungReviewRetroSprintRecap+2. Exkurs in die ProduktentwicklungStartEine andere ZeitHandyentwicklungEinige FragenFeatures in der ZukunftDas WasserfallmodellDarum 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 Schokoriegelspiel4. 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 StudierenSpielen geht über StudierenVorbereitungDurchführungRecap+3. VereinfachungVereinfachungWas brauchen wir wirklich?Das SpielfeldDie SpielfigurenProbieren 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 EngineeringRequirements EngineeringZielgruppenidentifikationDie Anforderungen unserer ZielgruppeUser StoriesPriorisierung+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 PokerPlanning PokerVorbereitungDurchführungRecap+2. Durchführung des Sprint+1. Modellierung StartModellierung StartStarten ja! – Aber wo?Was euch jetzt erwartetBackend und FrontendWelche Klassen?+2. Modellierung Backend (einfach)Modellierung des BackendPositionen auf dem SpielfeldWie speichern wir das Schachbrett?ZügeGültigkeitsprüfung von ZügenFigurenSonderfälle für BauernInformationen für ZügeDie Seite für den Scrum Master (Figur)Wichtige VariablenWas das Backend sonst noch so brauchtDie Seite für den Scrum Master (Backend)+3. Modellierung Backend (umfangreich)Modellierung des BackendPositionen auf dem SpielfeldWie speichern wir das Schachbrett?ZügeGültigkeitsprüfung von ZügenFiguren und VererbungSonderfälle für BauernInformationen für ZügeDie Seite für den Scrum Master (Figur)Wichtige VariablenWas das Backend sonst noch so brauchtDie Seite für den Scrum Master (Backend)+4. Modellierung Frontend + MainModellierung des Frontend + MainBenutzereingabeEingabe konvertierenFalsche EingabenHinweisausgabeAusgabe des SchachbrettDie Seite für den Scrum Master (Frontend)Die HauptklasseDie 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