Seminar DESIGN (3 Tage)

Nachhaltiges Software Design in der Praxis: Prinzipien, Pattern und Metriken.

Pragmatisches Design unterstützt die Flexibilität und Produktivität Ihrer Systeme. Nachhaltige Lösungen basieren auf gut strukturiertem und wartbarem Code. Erhalten Sie in 9 praxisnahen Hands-On Lektionen das nötige Rüstzeug und vertiefen Sie Ihre Kenntnisse in Java und C#. Anhand weiterführender Beispiele können Sie im Anschluss an das Training die Inhalte weiter festigen und direkt anwenden. Nützliche Tools und Metriken unterstützen Sie zudem effizient bei der Messung des Umsetzungserfolgs.

  • Kontrakte und API Design
  • Progammstrukturen und Komplexität
  • Vererbung: Composition over Inheritance, Liskovsches Substitutionsprinzip, Decorator und Delegate Pattern
  • Kapselung in Java und C#, Law of Demeter, Fassaden Pattern, Leaking References
  • Formen der Kopplung, Datenformatkopplung und Adapter Pattern, Metriken von John Lakos
  • Kohäsion, Relational Cohesion und LCOM4 als mögliche Kennzahlen
  • Dependency Inversion, Observer Pattern, Software Package Metriken und Clean Architecture
  • Open Closed, Zusammenhang Vererbung, Factory Pattern Vielfalt und funktionale Programmierung, Serviceloader
  • Modularisierung: Zusammenfassung der Inhalte, Vermeidung Gottklasse Antipattern, Mikro- vs. Makroarchitektur und hierarchischer Aufbau von Modulen, Separation of Concerns und Single Responsibility, Vertikale Strukturierung, Peer Code Reviews, Legacy Code Dilemma/Testpyramide und Migration

 


Zu jeder der 9 Lektionen gibt es ein Set an Folien, sowie 1 bis 3 Hands-On Beispiele im Code. Dieses besteht meist aus einem Beispiel (sample-challenge) mit einer vorgegebenen Lösung (sample-solution), als auch aus einer Übung (excercise-challenge), an welcher der Teilnehmer das Gelernte selbst ausprobiert (excercise-solution-your) um seine Lösung im Anschluss mit einer vorgegebenen (excercise-solution-trainer) zu vergleichen.


 
Etwa 3 Lektionen pro Tag und 9 Lektionen in Summe. Die zusätzlichen Lektionen (lab02) transportieren jeweils einen etwas anderen Inhalt und wiederholen sich nicht in einem weiteren Beispiel.
Theorieteil pro Lektion: etwa 1-1,5 Stunden / Praxisteil: Ebenfalls etwa 1-1,5 Stunden
Der Zahn der Zeit nagt leider nur allzu oft an Softwaresystemen. Meist leidet die Produktivität unter der strukturellen Erosion. Irgendwann hat der Auftraggeber kein Verständnis mehr für die Aufwände, die bei Änderungswünschen entstehen. Spätestens da steht dann eine teure Neuentwicklung im Raum. Dabei ist all das gar nicht notwendig. Mit bewährten Prinzipien, Pattern, Metriken und Werkzeuge lässt sich dem entgegenwirken. In diesem sehr praxisorientierten Seminar lernen die Teilnehmer das Rüstzeug kennen, mit dem sie durch pragmatisches Design nachhaltige Flexibilität und Produktivität sicherstellen können. Das Gelernte lässt sich in Greenfield Projekten ebenso anwenden wie bei einer schrittweisen Verbesserung eines Legacy Systems.
Dieses Seminar richtet sich vorrangig an Junior- und Seniordeveloper mit Kenntnissen in C# oder Java.
Zielgruppe sind Tech-Leads, Softwaredesigner bzw. Architekten, welche ihre Kenntnisse hierzu vertiefen möchten bzw. Unternehmen, mit größerer Inhouse Entwicklungsabteilung, die Java oder C# im Einsatz haben. Branchen wie Transport, Telekommunikation und Finanzwesen.

Seminarunterlagen
Fotoprotokoll der Flipcharts bzw. der im Seminar erarbeiteten Unterlagen.
Zugang zu den Beispiel Sourcen auf GitHub in Java und C#
Folien und Codebeispiele sind Englisch, das Buch ist auf Deutsch.
Das Seminar kann auf Deutsch oder Englisch durchgeführt werden.

Unser Extra für Sie – im Seminarpreis enthalten


Basis für das Seminar ist das Buch „Grundlagen des modularen Softwareentwurfs. Über den Bau langlebiger Mikro- und Makroarchitekturen, wie Microservices und SOA 2.0.“ (Hanser Verlag, 2018) Ihres Trainers Herbert Dowalil. Das Buch ist für jeden Teilnehmer im Seminarpreis enthalten (Gebundene Ausgabe und eBook).

Interesse geweckt?

Öffentliche Termine folgen in Kürze!

Zudem bieten wir dieses Seminar als Veranstaltung in Ihrem Hause bereits ab vier Teilnehmern an.

Sprechen Sie uns an
Ihr Trainer

Herbert Dowalil coacht Teams bei der Etablierung guter Softwarearchitekturpraktiken in Unternehmen. Dabei blickt er auf langjährige Erfahrungen aus seinen Tätigkeiten als Softwareentwickler, -architekt, Trainer und Autor zurück und bringt diese ein – ob bei der Erstellung von konkreten Designs oder beim Refactoring zur Verbesserung bestehender Systeme.
Teilnehmerstimmen:
„Wieder eine gelungene Veranstaltungsreihe mit einem echten Mehrwert für die Kollegen.“

(Stefan Heldt, Holisticon zu Seminaren mit embarc)

 
Nach den Seminaren lassen wir Sie nicht allein. Gerne begleiten wir Sie im Rahmen eines Folgecoachings beim weiteren Transfer,  geben Rückmeldungen zu Ihren Ergebnissen, und erarbeiten gemeinsam mit Ihnen Lösungen. Sie haben Interesse an einem Workshop mit einem Berater unseres Teams?