Learn about framework-based software product line engineering

Kurs: Framework-basiertes Software Product Line Engineering («SPLE»)

Ziel des Kurses ist es nicht, einen Überblick über Softwarearchitektur zu geben, sondern einige wichtige Prinzipien praktisch auszuprobieren, wie man einen ganzen Zoo gleichartiger Lösungen robust und beherrschbar entwickeln kann.
Dauer1 Tag
Preis950.–
KursdokumenteDigicomp Kursmaterial

Inhalt

Ziel des Kurses ist nicht, einen Überblick über Softwarearchitektur in größtmöglicher Breite zu geben, sondern nach einer Orientierung über die Belange von gleichartigen Lösungen (Produktlinien) einige wichtige Prinzipien praktisch auszuprobieren, wie man einen ganzen Zoo gleichartiger Lösungen robust und beherrschbar entwickeln kann. Hierbei werden wir uns von SOLID-Prinzpien wie leiten lassen. Einfachheit und Inversion of Control werden praktisch erfahrbar gemacht, so dass das Erlernte nutzbringend in der eigenen beruflichen Praxis eingesetzt werden kann. Dabei kommen über die Zeit und in verschiedenen Branchen erprobte Techniken zu Einsatz, die sogar paradigmenübergreifend nicht nur in der objektorientierten Welt, sondern auch in der funktionalen Welt (z.B. Erlang/OTP) eine wichtige Rolle spielen.

In diesem Kurs lernen Sie ganz praktisch über die Zeit bewährte Architekturprinzipien kennen.
Sie sehen, wie diese Ihnen die Arbeit erleichtern, wie sie ganz selbstverständlich einheitliches Verhalten für eine ganze Palette von ähnlichen Lösungen erreichen

  • Was sind Produktlinien?
  • Ansätze zur Erzeugung von Produktlinien: generativ, frameworkbasiert
  • Konzentration auf den Frameworkansatz
  • Schichtenarchitektur
  • Wiederverwendung von Funktionalität (Bibliotheken)
  • Wiederverwendung von Logik, Inversion of Control
  • Patterns: Chaining, Factory, Template Method
  • Von der Anwendung zum Framework für die Produktlinie: Refactoring
  • Hands-On: Umbau einer vorhandenen Lösung, Extraktion von Funktionalität und Logik

um ein weiteres, ähnliches Produkt zu realisieren. Als Fallstudie für praxisnahem Übungen dient in diesem Kurs ein Newsfeed. Wir haben eine vorhandene Lösung, die das Format einer Quelle versteht und in unsere Datenbank integriert und wollen darauf basierend eine ganze Reihe von Newsfeeds realisieren, die gemeinsame Funktionalität (Datenbankschicht, Transaktionssteuerung, Resilienz) in einem Framework realisieren und lediglich die Spezialitäten der individuellen Formate neu implementieren. Die Spezialisierung liegt so lediglich im Verständnis der unterschiedlichen Formate der verschiedenen Datenquellen.
 

Key Learnings

  • Wissen, wie man in einer Produktlinie erwartbares und konsistentes Verhalten realisiert ("Principle of least Surprise")
  • Wissen, wie man hierfür Bibliotheken und Anwendungsframeworks entwirft
  • Wissen und Hands-On-Erfahrung, wie man Anwendungsframeworks entwirft, um gemeinsame Ablauflogik zu realisieren und wiederzuverwenden ("Hollywood Principle")

Zielpublikum

Softwareentwickler und angehende Softwarearchitekten, die Ihre Kenntnisse über Software-Design weiter vertiefen möchten.

Anforderungen

Kenntnisse zu objektorientierter Software-Entwicklung im Umfang des Kurses «OO-Analyse und -Design mit UML» (OOU).
Empfohlen: Konkrete Erfahrungen mit objektorientierter Software- Entwicklung. Kenntnisse im Umfang des Kurses «Objektorientiertes Design mit Patterns» (ODP) sind für das Verständnis hilfreich, aber nicht zwingend erforderlich, da die in den Übungen verwendeten Patterns im Kurs kurz erklärt werden.

Trainer kennenlernen
Bernhard Scheffold
Weiterführende Kurse