Moderne Softwarearchitekturdokumentation
24. September 2021, 9–16 Uhr
Architekturdokumentation wird oft stiefmütterlich behandelt. Dabei unterstützt sie bei der Entwurfsarbeit, schafft Transparenz bzw. Leitplanken für die Umsetzung und Wartung der Architektur. Einerseits ist es nicht einfach, die wichtigen Informationen aus dem Entwurf strukturiert und leicht verständlich festzuhalten. Andererseits enden die meisten Versuche auf der Suche nach einer praktikablen Handhabung in der WYSIWYG-Hölle einer Textverarbeitung oder im tiefen Schlund eines Wikis.
Dieses Tutorial zeigt aufbauend auf leichtgewichtigen Tools und Textformaten die Erstellung einer möglichst redundanzfreien Dokumentation, die für verschiedene Zielgruppen optimiert ausgeliefert werden kann.
Anhand vieler praktischer Übungen geht es um Begriffe wie Continuous Documentation und Documentation as Code. Das Ziel ist die moderne, effektive und pragmatische Dokumentation der Softwarearchitektur. Wir bauen auf bewährte Methoden, Formate und Tools wie AsciiDoc/Markdown, PlantUML, docToolchain, Maven/Gradle und viele weitere. Im Detail kümmern wir uns um die Automatisierung des Dokumentations-Build-Prozesses, das Generieren von Inhalten aus dem Modell, Datenbankschema oder Sourcecode, die strukturierte Ablage inklusive Versionier- und Historisierbarkeit und die Verwendung bzw. Erstellung von aussagekräftigen und einfach wartbaren Grafiken.
Agile Entwicklungsteams können so die Dokumentationsarbeit in ihre täglichen Aufgaben integrieren und jederzeit aktuelle, umfassende und gut strukturierte Ergebnisse ausliefern. Zudem lässt sich die Erstellung der Dokumentation in den Reviewprozess integrieren und so stetig verbessern und weiterentwickeln
Vorkenntnisse
- Interesse an Softwarearchitekturdokumentation
- Bereit für alternative Wege bei der Dokumentation zu sein
Lernziele
- Leichtgewichtige Dokumentation anwenden
- Dokumentationsinhalte kennenlernen
- Erzeugung der Dokumentation automatisiert in den Entwicklungsprozess einbinden
- Strukturierung nach arc42 umsetzen
- Leichtgewichtige Tools/Formate wie AsciiDoc und PlantUML einsetzen
- Microsites als Einstieg für den Architekturüberblick einsetzen