Softwareentwicklungspraktikum Lehramt - Cheatsheet.pdf

Softwareentwicklungspraktikum Lehramt - Cheatsheet
Softwareentwicklungspraktikum Lehramt - Cheatsheet Scrum und Kanban Frameworks Definition: Scrum und Kanban sind agile Frameworks zur Prozessoptimierung und Projektmanagement, besonders in der Softwareentwicklung. Beide helfen bei der Verwaltung und Verbesserung von Arbeitsabläufen. Details: Scrum: iterativer Ansatz; beinhaltet Rollen (Product Owner, Scrum Master, Entwicklungsteam), Ereignisse (Sp...

© StudySmarter 2024, all rights reserved.

Softwareentwicklungspraktikum Lehramt - Cheatsheet

Scrum und Kanban Frameworks

Definition:

Scrum und Kanban sind agile Frameworks zur Prozessoptimierung und Projektmanagement, besonders in der Softwareentwicklung. Beide helfen bei der Verwaltung und Verbesserung von Arbeitsabläufen.

Details:

  • Scrum: iterativer Ansatz; beinhaltet Rollen (Product Owner, Scrum Master, Entwicklungsteam), Ereignisse (Sprints, Sprint Planning, Daily Standup, Sprint Review, Sprint Retrospective) und Artefakte (Product Backlog, Sprint Backlog, Increment)
  • Kanban: visualisiert Workflow auf einem Kanban Board; Prinzipien: Visualisierung der Arbeit, Begrenzung laufender Arbeiten, Management des Workflows, kontinuierliche Verbesserung
  • Vergleich: Scrum hat feste Rollen und Ereignisse, Kanban ist flexibler und mehr auf kontinuierliche Verbesserung fokussiert

Testgetriebene Entwicklung (TDD) Zyklus: Red, Green, Refactor

Definition:

Testgetriebene Entwicklung (TDD) Zyklus: Red, Green, Refactor, ist ein Entwicklungsansatz, der darauf abzielt, sauberen und fehlerfreien Code zu schreiben, indem Tests vor der Implementierung erstellt werden.

Details:

  • Red: Schreibe einen Test, der fehlschlägt, da die gewünschte Funktionalität noch nicht implementiert ist.
  • Green: Implementiere den minimalen Code, um den Test bestehen zu lassen.
  • Refactor: Überarbeite den Code, ohne die Funktionalität zu ändern, um ihn zu verbessern und zu optimieren. Stelle sicher, dass alle Tests weiterhin bestehen.

GoF (Gang of Four) Design Patterns: Singleton, Factory, und Observer Muster

Definition:

GoF Design Patterns - Muster zur Lösung wiederkehrender Softwareentwurfsprobleme.

Details:

  • Singleton: Stellt sicher, dass eine Klasse nur eine Instanz hat und globalen Zugriff auf diese Instanz bietet.
  • Factory: Erzeugt Objekte, ohne die Klasse der zu erstellenden Objekte explizit anzugeben. Ermöglicht Unterklassen die Entscheidung, welches Objekt instanziiert wird.
  • Observer: Definiert eine 1-zu-N-Abhängigkeit zwischen Objekten, sodass bei einer Änderung eines Objekts alle abhängigen Objekte benachrichtigt und automatisch aktualisiert werden.

Sprint Planning und Retrospektiven in der agilen Entwicklung

Definition:

Sprint Planning: Planung des nächsten Sprints, Festlegung der Sprint-Ziele und der umzusetzenden Aufgaben. Retrospektiven: Analyse des vergangenen Sprints, Identifikation von Verbesserungsmöglichkeiten.

Details:

  • Sprint Planning: Product Owner, Scrum Master und Team beteiligen sich
  • Definition of Done (DoD) festlegen
  • Tasks in kleinere, umsetzbare Einheiten aufteilen
  • Tools wie Burndown Charts nutzen
  • Retrospektiven: Team reflektiert über Zusammenarbeit und Prozesse
  • Was lief gut? Was nicht? Was kann verbessert werden?
  • Ergebnisse in Aktionspunkten festhalten
  • Förderung der kontinuierlichen Verbesserung

Unittesting und Testframeworks

Definition:

Unittests überprüfen einzelne Module oder Funktionen, um sicherzustellen, dass sie korrekt funktionieren. Testframeworks helfen dabei, Unittests zu schreiben und auszuführen.

Details:

  • Unittesting: Testen von kleinsten, isolierten Einheiten des Codes
  • Testframeworks: Frameworks wie JUnit (Java), PyTest (Python), unittest (Python)
  • Wichtig: Automatisierbarkeit und Wiederholbarkeit der Tests
  • Assertions: \texttt{assertEqual(a, b)}, \texttt{assertTrue(x)}, \texttt{assertFalse(x)}, etc.
  • Testabdeckung (\textit{Code Coverage}): Anteil des Codes, der durch Tests geprüft wird
  • Setup/Teardown: Methoden, um Vor- und Nachbereitungen für Tests durchzuführen

Projektlebenszyklus und Zeitplanmanagement

Definition:

Lebenszyklus eines Projekts von der Initiierung bis zum Abschluss inklusive Zeitplanung

Details:

  • Projektphasen: Initiierung, Planung, Ausführung, Überwachung, Abschluss
  • Gantt-Diagramm zur Visualisierung des Zeitplans
  • Mileposten (Meilensteine) zur Überwachung des Fortschritts
  • Task-Zuordnung und Kritischen Pfad berechnen
  • Zeitschätzung mit Methoden wie PERT (\text{Program Evaluation and Review Technique})

Integration von kontinuierlicher Integration (CI) in den Entwicklungsprozess

Definition:

Einbindung von kontinuierlicher Integration (CI) in den Softwareentwicklungsprozess, um automatisch Codeänderungen zu testen und zu integrieren.

Details:

  • Automatisierte Tests: Nach jedem Commit werden Tests automatisch ausgeführt, um Fehler frühzeitig zu identifizieren.
  • Build-Automatisierung: Der gesamte Build-Prozess wird automatisiert, um konsistente und zuverlässige Builds sicherzustellen.
  • Code-Integration: Änderungen von verschiedenen Entwicklern werden kontinuierlich in ein gemeinsames Repository integriert.
  • Qualitätssicherung: Reduziert Merge-Konflikte und verbessert die Softwarequalität durch regelmäßige Codeprüfungen.
  • Feedback-Schleifen: Schnelles Feedback an Entwickler durch automatisierte Benachrichtigungen über Build- und Testergebnisse.
  • Tools: Häufig verwendete CI-Tools sind Jenkins, Travis CI und GitLab CI.

Erstellen und Halten von Präsentationen in der Projektarbeit

Definition:

Erstellen und Halten von Präsentationen: essentielle Fähigkeiten für die Kommunikation der Projektergebnisse und den Austausch von Ideen.

Details:

  • Zielgruppenanalyse: Kenne Deine Zuhörer.
  • Struktur: Einleitung, Hauptteil, Schluss.
  • Visualisierung: Nutze Grafiken, Diagramme, und Folienlayouts.
  • Interaktion: Frage-Antwort-Runden einplanen.
  • Übung: Mehrmals durchgehen, um Sicherheit zu gewinnen.
  • Technikcheck: Vor Beginn alle technischen Hilfsmittel überprüfen.
  • Zeiteinteilung: Auf die vorgegebene Zeit achten.
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden