Softwareentwurf mit Flow-Design

Ralf Westphal

Kurzinformationen

Auf Anfrage
Auf Anfrage

Detailinformationen

Langfristig hohe Produktivität kann nur erreicht werden, wenn die Softwareentwicklung sich nicht selbst ein Bein stellt. Das tut sie jedoch allzu oft durch vorzeitige Codierung.

Vorzeitige Codierung ist eine Form der von Donald Knuth als fundamentales Übel identifizierten vorzeitigen Optimierung.

Der Antrieb hinter der vorzeitigen Codierung ist natürlich so verständlich wie ehrenhaft: Es soll die Zeit von der Idee zum laufenden Coce verkürzt werden.
Doch auch wenn damit womöglich grundsätzlich funktionaler Code schnell produziert wird, ist das Gesamtergebnis suboptimal. Die Optimierung hat nur kurzzeitig wert - und erzeugt mittel- bis langfristig einen überproportionalen Mehraufwand. Der Grund sind Codestrukturen, die nicht oder nur schlecht automatisiert testbar sind, geringe Verständlichkeit aufweisen und vor allem durch ad hoc Abhängigkeiten glänzen, die weiteren Veränderungen im Wege stehen.

Code, der die funktionalen und nicht-funktionalen Anforderungen des Kunden erfüllt, ist das Produkt der Softwareentwicklung. Um dem Kunden allerdings auch bei unklaren Anforderungen heute und großer Unsicherheit im Hinblick auf zukünftige Wünsche morgen dauerhaft hochqualitative Software liefern zu können, braucht es eine Planung der Codestrukturen; Wandelbarkeit "ergibt sich nicht".

Diese Planung ist natürlich kein Selbstzweck, vielmehr dient sie einer nachfolgenden zügigen Codierung, die sich dann allerdings auf das Wesentliche konzentrieren kann: die Übersetzung der geplanten Strukturen mit programmiersprachlichen Mitteln und deren Füllung mit fehlerfreier Logik.

Das Training Softwareentwurf mit Flow-Design vermittelt einen pragmatischen, alltagstauglichen Ansatz, um solche Planung für jeden Entwickler zugänglich zu machen.
Flow-Design ist ein zweiphasiges Vorgehen, mit dem Anforderungen in eine codierbare Lösung transformiert werden. Das Ergebnis ist eine konzeptionelle Lösung in Form eines visuellen Modells als Vorlage für die Codierung.

Sich mit der Codierung zurückzuhalten und zunächst "nur" eine Lösungshypothese zu entwickeln, ist für viele Entwickler ungewohnt. Mit ein wenig Übung wird jedoch bald klar: Die Eingewöhnung bringt nicht nur für den Einzelnen Klarheit in die Softwareentwicklung, sondern ist extrem nützlich für die Erarbeitung von Lösungen im Team und unverzichtbar als Grundlage für eine produktivitätssteigernde Arbeitsteilung.

Der Seminarinhalt:

  • Die Kernphasen einer systematischen Softwareentwicklung im Überblick: Analyse, Entwurf, Codierung
  • Die Phasen des Entwurfs
    • Lösungsansatz finden
    • Lösungsansatz modellieren
  • Prinzipien für wandelbare Codestrukturen abgeleitet aus der ursprünglichen Objektorientierung
    • Verantwortlichkeiten im Code zusammenarbeiten lassen ohne funktionale Abhängigkeiten
  • Modellierung mit Datenflüssen
  • Datenflüsse modularisieren
    • Die Modulhierarchie von der Klasse bis zum Service
  • IODA Architektur: Ein Architekturmuster ohne funktionale Abhängigkeiten

Flow-Design bietet eine leichtgewichtige visuelle Notation als Ausgangspunkt für die eigenen Entwürfe. Sie ist nicht standardisiert, aber praxiserprobt. Mit ihr bekommen Softwareteams eine einheitliche, minimale Sprache, um Lösungen deklarativ zu formulieren. Und wo diese Notation nicht ausdrucksfähig sein sollte, sind Entwickler eingeladen, sie pragmatisch für ihre Zwecke in ihrem Kontext zu erweitern.

Das Remote Training besteht aus 1+8 Terminen. Der erste ist ein Kick-off zum Kennenlernen, die weiteren behandeln den Lernstoff. Der Teilnehmer erhält mit diesem Remote Training 32 Stunden Weiterbildung zum Thema Softwareentwurf mit Flow-Design.

Termine: 08.04., 15.04., 22.04., 29.04., 06.05., 20.05., 27.05., 03.06., 10.06.2021 - jeweils um 15:00.

Westphal, Ralf

Ralf Westphal (ralfw.de, @ralfw) ist Trainer, Berater und Mitgründer der Clean Code Developer Initiative (clean-code-developer.de). Seine Schwerpunkte sind dauerhaft hohe Produktivität für die Softwareentwicklung und zukunftsfähige Teamorganisation. Seit 1997 ist Ralf vielschreibender Autor in Blogs, Zeitschriften und Büchern sowie Referent auf Entwicklerkonferenzen im In- und Ausland.

 

Seminarziel

  • Probleme ohne Einsatz von Code konzeptionell lösen können.
  • Lösungsansätze abstrahiert von einer Codierungsplattform deklarativ und visuell beschreiben können.
  • Struktur, Verhalten und Daten in Lösungen sauber trennen.
  • Lösungen in unterschiedlicher Granularität formulieren können.
  • Reflexion der mainstream Objektorientierung.

Voraussetzungen

Technische Voraussetzungen

  • Als online Plattform findet Microsoft Teams Einsatz.
  • Jeder Teilnehmende sollte während der Sitzungen in ungestörter Umgebung allein mit Headset und funktionstüchtiger Webcam am Computer sitzen.
  • Ein iPad oder anderer Tablet Computer mit Stift ist für die Anfertigung visueller Entwürfe auf einem digitalen Whiteboard sehr von Vorteil! Im Training kommt miro.com zum Einsatz.

Methode

Das Training findet in 9 online Sitzungen von 60-90 Minuten in einem inverted classroom statt:

  • Die erste Sitzung dient der Orientierung und dem gegenseitigen Kennenlernen.
  • Die weiteren Sitzungen dienen dem Feedback, dem Q&A und der spontanen Vertiefung.

Zwischen den Sitzungen eignen sich die Trainingsteilnehmer den Lernstoff im Selbststudium an. Das bedeutet, Lernmaterialien zu lesen und Übungsaufgaben zu lösen. Die Ergebnisse werden in der folgenden online Sitzung präsentiert und besprochen. Für das Selbststudium sind pro Lektion 3 bis 5 Stunden zu veranschlagen; der Aufwand ist von der Lektion und den persönlichen Erfahrungen und der gewählten Entwicklungsplattform abhängig.
Für die Lösung der Übungsaufgaben hat sich klar im voraus terminierte Gruppenarbeit als sehr hilfreich erwiesen. Diese Termine sollten tendenziell zeitlich nah an der Sitzung liegen, in der Feedback gegeben wird.

Das Remote Training besteht aus 1+8 Terminen. Der erste ist ein Kick-off zum Kennenlernen, die weiteren behandeln den Lernstoff. Der Teilnehmer erhält mit diesem Remote Training 32 Stunden Weiterbildung zum Thema Softwareentwurf mit Flow-Design.

Termine: 08.04., 15.04., 22.04., 29.04., 06.05., 20.05., 27.05., 03.06., 10.06. - jeweils um 15:00.

Informationen

Unsere Leistungen beim Onlineseminar - Sie erhalten:

    • der Seminarvortrag und begleitende Seminarunterlagen
    • Ihre persönliche Teilnahmebescheinigung

    Teilnehmer-Vorteile:

    • Frühbucher: 50 € Rabatt (gültig, bei einer Anmeldung bis 4 Wochen vor Seminarbeginn)

    Gruppenrabatt:

    Bei einer gleichzeitigen Anmeldung von 3-4 Mitarbeitern erhalten Sie 5% Gruppenrabatt, ab 5 Mitarbeitern erhöht sich der Gruppen-Rabatt auf 10%!

    Inhouse-Seminare

    Dieses Seminar ist auch als Inhouse-Schulung durchführbar. Schon ab einer Teilnehmerzahl von 5 Mitarbeitern kalkulieren wir Ihnen gerne ein kostengünstiges Inhouse-Trainings-Angebot.

    NRW-Bildungsscheck

    SIGS-DATACOM ist zugelassener Bildungspartner des Landes NRW. Ihren NRW-Bildungsscheck für unsere Seminare einzulösen ist möglich! Weitere Informationen erhalten Sie unter: NRW Bildungsscheck!!

    Disclaimer

    Wir sind für die eigenen Inhalte, die wir zur Nutzung bereithalten, nach den allgemeinen Gesetzen verantwortlich. Von diesen eigenen Inhalten sind Querverweise (externe Links) auf die von anderen Anbietern bereit gehaltenen Inhalte zu unterscheiden. Diese fremden Inhalte stammen nicht von uns und spiegeln auch nicht unsere Meinung wider, sondern dienen lediglich der Information. Wir machen uns diese Inhalte nicht zu eigen und übernehmen trotz sorgfältiger inhaltlicher Kontrolle keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seite sind ausschließlich deren Betreiber verantwortlich.