Kursthemen

  • Die Aufgabe im Fachmodul 1

    • Ziel des Moduls ist es, eine zusammenhängende Projektaufgabe zu lösen.

    • Was wollen wir vom möglichen Kunden noch wissen, bevor ein Pflichtenheft erstellt werden kann?

  • Vorgehensmodelle und -methoden, Entwicklungsumgebungen und -bibliotheken

    • Vorgehensmodelle der Softwareentwicklung strukturieren die Planung, Durchführung und Steuerung der Softwareentwicklung. Sie bieten eine systematische Methode zur Erstellung und Wartung von Software

    • Agile Vorgehensmodelle in der Softwareentwicklung zeichnen sich durch ihre Flexibilität, iterative Entwicklungszyklen und eine starke Betonung auf Zusammenarbeit und Kundeneinbindung aus.

      1. Scrum:
         - Ein iteratives und inkrementelles Framework, das in festen Zeitabschnitten (Sprints) arbeitet.
         - Rollen: Product Owner, Scrum Master, Entwicklungsteam.
         - Artefakte: Product Backlog, Sprint Backlog, Increment.
         - Zeremonien: Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective.

      2. Kanban:
         - Visualisierung des Workflows zur Verbesserung der Effizienz und Erkennung von Engpässen.
         - Prinzipien: Visualisiere die Arbeit, Begrenze die laufende Arbeit (WIP), Manage den Fluss, Mache Prozessregeln explizit, Implementiere Feedbackschleifen.
         - Nutzung von Kanban-Boards zur Verfolgung des Arbeitsfortschritts.

      3. Extreme Programming (XP):
         - Stark auf technische Exzellenz und Kundenzufriedenheit fokussiert.
         - Praktiken: Paarprogrammierung, kontinuierliche Integration, Testgetriebene Entwicklung (TDD), Refactoring, einfache Designs, fortlaufende Feedbackschleifen.
         - Werte: Kommunikation, Einfachheit, Feedback, Mut, Respekt.

      4. Lean Software Development:
         - Adaptiert Prinzipien der Lean Manufacturing.
         - Prinzipien: Wert definieren, Wertstrom identifizieren, Flow erzeugen, Pull-Prinzip etablieren, Perfektion anstreben.
         - Fokus auf die Minimierung von Verschwendung (Muda) und kontinuierliche Verbesserung.

      5. Crystal:
         - Eine Familie von agilen Methoden, die auf die spezifischen Bedürfnisse und Projekte zugeschnitten werden können.
         - Varianten: Crystal Clear, Crystal Yellow, Crystal Orange, etc.
         - Werte: Menschen, Interaktionen, Gemeinschaft, Fähigkeiten, Talente, Kommunikationsfluss.

      6. Feature-Driven Development (FDD):
         - Ein modellgetriebener, inkrementeller Ansatz, der sich auf die Bereitstellung von Funktionen konzentriert.
         - Schritte: Gesamtmodell entwickeln, Feature-Liste erstellen, Feature-Plan nach einzelnen Features, Design nach Feature, Build nach Feature.
         - Fokus auf die Entwicklung kleiner, funktionsfähiger Einheiten.

      Über Details des Projektmanagments erhalten Sie noch weiteren Unterricht:
      Agiles Projektmanagement
      Projektmanagement und Projektarbeit

    • Bibliotheken und Frameworks spielen eine entscheidende Rolle in der Softwareentwicklung, da sie Entwicklern helfen, effizienter und effektiver zu arbeiten.


    • Entwicklungsumgebungen, oft als Integrated Development Environments (IDEs) bezeichnet, bieten gegenüber der traditionellen Kombination aus Editor, Compiler und Linker mehrere Vorteile, die den Entwicklungsprozess erheblich vereinfachen und beschleunigen können.

  • Analyse- und Designverfahren

    In der Softwareentwicklung gibt es eine Vielzahl von Analyse- und Designverfahren, die eingesetzt werden können, um die Anforderungen zu verstehen, die Architektur zu entwerfen und die Implementierung zu planen.

    • 1. Anforderungsanalyse

      2. Analyse von Geschäftsprozessen

      3. Objektorientierte Analyse (OOA)

    • Die User Journey hilft, die Bedürfnisse und Interaktionen der Benutzer mit dem System zu verstehen und in die Struktur der Datenbank zu integrieren.

    • 1. Softwarearchitektur

      2. Entwurfsmuster (Design Patterns)

      3. Domain-Driven Design (DDD)

      4. Prototyping

  • Testen

  • Abschnitt 5