Header Clean Software Engineering Deep Dive

Clean Software Engineering Deep Dive

Ein roter Faden durch die Tiefen der Softwareentwicklung


Trainer Dr. Jan Linxweiler

Trainer

Dr. Jan Linxweiler

Profil
Trainer Sören Peters

Trainer

Sören Peters

Profil
Trainer Sven Marcus

Trainer

Sven Marcus

Profil
Durchgeführt von
Formate Inhouse Schulung
Durchführung Online Präsenz
Zielgruppen Developers

Dauer 2 Tage

Im Zeitalter verteilter Systeme werden Softwareprojekte zunehmend komplexer. Gleichzeitig müssen sie in der Lage sein, sich häufigen Anforderungsänderungen anzupassen. Auf organisatorischer Ebene begegnet man diesen Änderungen mit agilen Vorgehensmodellen. Jedoch muss auch die Software selbst die nötige Flexibilität aufweisen, um die Änderungen umzusetzen.

Infolgedessen hat die Softwareentwicklungs-Community erfolgreiche Ansätze entwickelt, um die Komplexität von Software besser beherrschen zu können und gleichzeitig die notwendige Flexibilität zu gewährleisten. Dieser Workshop zeigt auf, welche Herausforderungen bei der Entwicklung komplexer Softwaresysteme auftreten und wie wartbare, flexible und nachhaltige Software inkrementell entstehen kann. Die dabei zum Einsatz kommenden Ansätze sind sprachagnostisch. Das erworbene Wissen kann dementsprechend unabhängig von speziellen Technologien und Programmiersprachen in nahezu jedem Entwicklungskontext angewendet werden kann. Jedoch handelt es sich keinesfalls um einen allgemeingültigen Lösungsansatz, sondern vielmehr um einen Werkzeugkasten aus Prinzipien, Praktiken und Mustern, der geschulten Entwickler:innen wertvolle Hilfestellungen bei Entwurfsentscheidungen an die Hand gibt.

Die vorgestellten Lösungsansätze werden dabei im Verlauf der Schulung Schritt für Schritt hergeleitet, sodass nicht nur die Frage nach dem "wie?", sondern auch nach dem "warum?" beantwortet wird. Daraus ergibt sich ein roter Faden, der den Teilnehmer:innen auch nach Ende der Schulung eine Orientierung durch die Tiefen der Softwareentwicklung ermöglicht.

Als Sprache für die Anwendungsbeispiele kann zwischen Java, Python oder C++ gewählt werden. Die Teilnehmer:innen müssen nicht zwangsläufig über tiefergehende Kenntnisse der Sprache verfügen. Sie sollten jedoch in der Lage sein, rudimentären, in der Sprache geschriebenen Quelltext nachvollziehen zu können.

Dabei werden unter anderem die folgenden Fragen beantwortet:

  • Mit welchen Herausforderungen werden wir im Rahmen der Softwareentwicklung konfrontiert?
  • Wie kann ich die Qualität meines Softwareentwurfs bewerten?
  • Was ist technische Schuld und warum sinkt ihretwegen die Entwicklungsgeschwindigkeit?
  • Was ist eigentlich Software-Architektur?
  • Warum sollten Komponenten innerhalb eines Softwaresystems möglichst wenig übereinander wissen?
  • Wie komme ich bei der Fülle von Möglichkeiten zu einer Entwurfsentscheidung?
  • Was zeichnet einen flexiblen Softwareentwurf aus?
  • Was sind die SOLID Prinzipien?
  • Was sind die Vor- und Nachteile einzelner Entwurfsmuster und welche Prinzipien verbergen sich dahinter?


Voraussetzungen

  • Sicherer Umgang mit einer Programmiersprache

Schulungsinhalt

Tag 1

  • Nachhaltige Softwareentwicklung
  • Motivation für einen nachhaltigen Softwareentwurf
  • Qualitätskriterien
  • Traditonell vs. Agil
  • Arten der Komplexität
  • Kohäsion und Kopplung
  • Basis Konzepte zum Organisieren von Komplexität
  • Refresher: Objektorientierung
  • Entwurfsprinzipien: SOLID & Co. mit Anwendungsbeispielen

Tag 2

  • Von Prinzipien zu Design Patterns
  • Kollaborative Implementierung einer Beispielanwendung
  • Vertiefung der erlernten Inhalte des Vortages durch praktische Anwendung
  • Diskussion von Entwurfsentscheidungen
  • Erkennen und Herleiten von Entwurfsmustern

Zubuchbare Module

Zusätzlicher Trainertag

Wir beantworten Ihre individuellen Fragen und vertiefen oder erweitern Inhalte, z.B. zum Einstieg in TDD oder zu praxisnahen Praktiken für leicht verständlichen Code.


Sie haben Fragen?

Dann werfen Sie gerne einen Blick in unsere FAQ oder kontaktieren Sie uns direkt.

FAQ lesen

Ihre Ansprechpartnerin:
Frauke Kirchhof

Telefon +49. 531. 2 35 28 900
E-Mail training@cloudogu.com


Schulungstermine

Unternehmensinterne Schulungen

Ort Datum Dauer Preis
Inhouse Präsenz Individuell auf Anfrage
Inhouse Online Individuell auf Anfrage
Klicken Sie hier für Informationen zu Onlineschulungen

Schulung anfragen

Schulungsinformationen

Ich möchte Informationen zu folgenden optionalen Schulungserweiterungen erhalten

Zusätzlicher Trainertag

Kontaktdaten

Anrede

Datenschutz und AGB

Ich bin damit einverstanden, dass Cloudogu die übermittelten personenbezogenen Daten entsprechend der Datenschutzerklärung speichert, um mich im Rahmen des Marketings über Produkte, Dienstleistungen und andere produkt- oder dienstleistungsrelevante Aktivitäten anhand der von mir zur Verfügung gestellten Kontaktdaten zu informieren.

Diese Einwilligung kann ich jederzeit widerrufen, indem ich über datenschutz@cloudogu.com Kontakt aufnehme.*
Ich habe die Cloudogu AGB gelesen und stimme diesen zu.*
* Pflichtangaben