Hero image

Clean Software Engineering Deep Dive

Ein roter Faden durch die Tiefen der Softwareentwicklung

  • In-house

  • Online, Präsenz

  • Developers (DevOps)

  • 2 Tage

  • Deutsch

  • Preis auf Anfrage

Über diese Schulung

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?
Code wird auf einem Computerbildschirm angezeigt, der auf einem Schreibtisch steht

Voraussetzungen

Vorausgesetztes Wissen

Sie sollten sichere im Umgang mit einer Programmiersprache sein.

Technische Voraussetzung

Für unsere Onlineschulungen benötigen alle Teilnehmer:innen ...

  • einen internetfähigen Rechner
  • einen stabilen Internetzugang.
  • einen aktualisierten Browser, vorzugsweise Chrome.

Ablauf der Schulungstage

Tag1

  • 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

Tag2

  • 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

Wir unterstützen Sie bei jedem Schritt – von der Beratung bis zur Einführung:

Zusätzlicher Trainertag

Wir beantworten Ihre individuellen Fragen und vertiefen oder erweitern Inhalte.

1599

Trainer

Trainer Jan Linxweiler

Jan Linxweiler

Trainerprofil

Trainer Sören Peters

Sören Peters

Trainerprofil

Trainer Sven Marcus

Sven Marcus

Trainerprofil

Wir behalten uns vor den Trainer zu wechseln

Durchgeführt von

iTUBS Logo

Sie haben Fragen?

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

Zu den FAQs
Jule

Ihre Ansprechpartnerin

Julia Scherzberg

;