81
Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de [email protected] Version: Lebendige Architektur- Dokumentation - kontinuierlich und effizient 1.0

Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Orientation in Objects GmbH

Weinheimer Str. 68

68309 Mannheim

www.oio.de

[email protected]:

Lebendige Architektur-

Dokumentation -

kontinuierlich und effizient

1.0

Page 2: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Ihr Sprecher

Architektur

Agile Softwareentwicklung

Codequalität

Trainer, Berater, Entwickler

Falk Sippach (@sippsack)

2

Co-Organisator

Feedback gern an: @sippsack, [email protected]

Page 3: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Java, XML und Open Source seit 1998

) Competence Center)) Object Rangers )

• Schulungen, Coaching,

Weiterbildungsberatung,

Train & Solve-Programme

• Methoden, Standards und

Tools für die Entwicklung

von offenen, unternehmens-

weiten Systemen

• Unterstützung laufender

Java Projekte

• Perfect Match

• Rent-a-team

• Coaching on the project

• Inhouse Outsourcing

• Schlüsselfertige Realisierung

von Java Software

• Individualsoftware

• Pilot- und Migrationsprojekte

• Sanierung von Software

• Software Wartung

) Software Factory )

3

Page 4: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Abstract

4

Man kann zwar an vielen Stellen nachlesen, wie man

Architekturdokumentation strukturiert. Aber auf der

Suche nach einer praktikablen Handhabung zur

Erstellung und Pflege enden die meisten Versuche in

der WYSIWYG-Hölle einer Textverarbeitung oder im

tiefen Schlund eines Wikis. In diesem Vortrag wollen wir

uns anschauen, wie aufbauend auf bestehenden Tools

und Textformaten eine möglichst redundanzfreie

Dokumentation erstellt und für verschiedene

Zielgruppen in ansprechenden Formaten ausgeliefert

werden kann. Es wird dabei um Begriffe wie Continuous

Documentation und Documentation as Code gehen.

Page 5: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 5

Warum? Agil? Was? Wie?

Kontinuierliche Architekturdokumentation

Page 6: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 6

Warum?

Kontinuierliche Architekturdokumentation

Agil? Was? Wie?

Page 7: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 7

Anforderungenklären

Architekturentwerfen

Architekturbewerten

aus: Effektive

Softwarearchitekturen

Architektur kommunizieren

Waru

m d

okum

entier

en?

Page 8: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 8

"In software, there is always architecture.

You can’t have no architecture."

"But with it’s documentation, there are

two options: you can have one or not."

"If you have one, there are two options:

the documentation matches with the real

architecture or not."

Waru

m d

okum

entier

en?

http://techblog.kontext-e.de/keeping-architecture-and-doc-in-sync/

Page 9: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 9

Waru

m d

okum

entier

en?

"Die Architektur zu dokumentieren,

ist der kritische, krönende Schritt

zur Erschaffung."

"… dass auch eine perfekte

Architektur nutzlos bleibt,

wenn sie nicht verstanden wird …"

Aus: Software Architecture Documentation in Practice von Bachmann, Bass

Page 10: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 10

Page 11: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Gründe für eine Architektur-Dokumentation

11

Neue Mitarbeiter

Entwurfsunterstützung

Frage nach Warum

Bewertbarkeit

Kommunikation

Page 12: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 12

Warum?

Kontinuierliche Architekturdokumentation

Agil? Was? Wie?

Page 13: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 13

Agi

l dok

um

entier

en?

Scrum ist "murcS"

rückwärts!

"Wenn ein Projekt

den Bach runter geht,

dann nennt man das wohl

Wasserfall."

Page 14: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 14

Agile Teams brauchen nicht dokumentieren!

Häh?

Endlich ...

Page 15: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 15http://agilemanifesto.org/background.jpg

Laufende Software

wichtiger als

ausführliche Dokumentation

Wer ist schuld?

Page 16: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Worauf das agile Manifest eigentlich abzielte …

16

Documentation through the

Software Development Lifecycle

http://www.agilemodeling.com/essays/agileDocumentationBestPractices.htm

Page 17: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 17

Agile Methoden

kennen keinen

Architekten!

"Who needs

an Architect?"

Page 18: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 18

Architekt als

Ratgeber/Mentor

und Moderator

Page 19: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 19

Dokumentation braucht einen

Kümmerer

Vorbereiten

Planen

Erinnern

Delegieren

Integrieren

Prüfen

Page 20: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 20

Agile Projekte

iterativ

kontinuierlich

Page 21: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 21

Continuous

Documentation

Automatisiert erstellen

Regelmässig ergänzen

Reviewen

Nachbessern

Page 22: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 22

Redundanzen

vermeiden

Quellcode verlinken

Platzhalter einbetten

Single Source of Truth

Page 23: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 23

Inhalte

generieren

WSDL, Swagger

DB-Schema

Annotationen

JavaDoc

Page 24: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 24

Schnittstellenbeschreibung generieren

Page 25: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 25

Validierung

SanityChecks

Broken Links

PDFUnit

Page 26: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 26

Ausführbare Dokumentation

Ausführbare Tests

Einbettung in Dokument

Reportgenerierung

Page 27: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 27

Page 28: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 28

Page 29: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 29

Page 30: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 30

Page 31: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 31

Warum?

Kontinuierliche Architekturdokumentation

Agil? Was? Wie?

Page 32: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 32

Was

dok

um

entier

en?

Inhalt

Page 33: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Was ist nochmal Architektur?

33

fundamentale

Strukturen,

Konzepte,

Entscheidungen

und Lösungsansätze

... die wesentlich sind, damit Systeme

ihren Anforderungen genügen!

... die man nicht mehr leicht losbekommt!

Page 34: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Was gehört in die Architektur-Dokumentation?

34

Bausteine und Schnittstellen

Zusammenarbeit zur Laufzeit

Integration in techn. Infrastruktur

Technische Konzepte

Wichtige Entscheidungen

Page 35: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 35

Pragmatik/Effektivität

nur so viel wie nötig

geringe Änderungsrate

Zielgruppenbedürfnisse

Feedback einpflegen

Page 36: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 36

Warum?

Kontinuierliche Architekturdokumentation

Agil? Was? Wie?

Page 37: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 37

Wie

dok

um

entier

en?

Prozess Werkzeugkette

Page 38: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 38

Wie

dok

um

entier

en?

Struktur?Werkzeuge?

Medien?

Doku-Format?Grafiken?

Ziel-gruppen?

Page 39: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 39

Wie

dok

um

entier

en?

Struktur?Werkzeuge?

Medien?

Doku-Format?Grafiken?

Ziel-gruppen?

Page 40: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 40

Page 41: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

arc42 Templates

41

Page 42: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 42

Wie

dok

um

entier

en?

Struktur?Werkzeuge?

Medien?

Doku-Format?Grafiken?

Ziel-gruppen?

Page 43: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Video, Podcast

Präsentation

Blog/Wiki

Dokument

PDFHTML

E-ReaderPapier

Single Sourceof Truth

Page 44: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 44

Wie

dok

um

entier

en?

Struktur?Werkzeuge?

Medien?

Doku-Format?Grafiken?

Ziel-gruppen?

Page 45: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Zielgruppen identifizieren

45

Projektleiter

Produkt-

manager

TesterBetrieb

Fach-

experten

Entwickler

Architekt

Page 46: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Braucht jeder alles?

• Inhalte pro Zielgruppe festlegen

• möglichst ein zentrales Dokument (Single Source of Truth)

• (automatisiert) verschiedene Ausgabedokumente generieren

46

Page 47: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 47

Wie

dok

um

entier

en?

Struktur?Werkzeuge?

Medien?

Doku-Format?Grafiken?

Ziel-gruppen?

Page 48: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 48

Hauptsache, du machst es

nicht mit Word!

Page 49: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 49

• Plain-Text

• Entwicklungsumgebung

• Kommandozeilen-

werkzeuge

• Versionsverwaltung

Unser täglich Entwickler-Brot:

Page 50: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 50

Documentation as Code

Code-Nähe

Ablage im Repo

Versionier-/diffbar

Synchrone Auslieferung

Offlinefähig

Teil des Build-Prozess

Generierung

Automatisierung

Flexible Ausgabeformate

Page 51: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 51

HTML

PDF

Leser

EntwicklerWorkflow

Page 52: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Alternative Datenformate zu Textverarbeitung

52

Wikis

Mindmaps

Plain-Text

LaTex/DocBook

Richtext

Plain-Text, leicht lesbar, einfach

editierbar, automatisiert verarbeitbar

eingeschränkte Lesbarkeitkollaborativ

visuell,

kurz & knappAustauschformat

Page 53: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Markdown

Normaler Text wird so dargestellt wie eingegeben.

*Kursiv*, **Fett** und ***Fett kursiv*** bzw. _Kursiv_, __Fett__ und ___Fett kursiv___

Markiert Text als `Inline-Quelltext`

Ein Code-Block

durch Einrückung

mit vier Leerzeichen

* Ein Punkt in einer ungeordneten Liste

* Ein Unterpunkt, um vier Leerzeichen eingerückt

1. Ein Punkt in einer geordneten Liste

2. Ein weiterer Punkt

1. Noch ein Punkt bei mehrfacher Angabe derselben Ziffer

# Überschrift in Ebene 1

#### Überschrift in Ebene 4

53

Page 54: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

AsciiDoc

54

Page 55: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Welcher Markup-Typ bin ich?

55

Page 56: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Tools für Markup-Sprachen

56

… und Sublime, Atom, IntelliJ IDEA, Eclipse, …

Page 57: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Markup generieren

• aus JavaDoc/Annotations

• aus Enumwerten (Zustandsübergänge)

• Schnittstellenbeschreibung (WSDL, Swagger, WADL)

• DB-Schema (SchemaCrawler)

57

Page 58: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 58

Wie

dok

um

entier

en?

Struktur?Werkzeuge?

Medien?

Doku-Format?Grafiken?

Ziel-gruppen?

Page 59: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 59

Page 60: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Quelle für Bilder/Grafiken

• Export aus UML-Modellen

• Manuelle Erstellung (Bildverarbeitung/Visualisierungsprogramme)

• Einbetten/Verlinken in Markup:

60

![Alternativtext](bild.png "Bildtitel hier")

image::bild.png[Alternativtext]

Page 61: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 61

Tools

… und Visio, Enterprise Architect, Magic Draw, …

yEd ist ein kostenloses

Visualisierungsprogramm

Page 62: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Diagramme als textuelle Beschreibung

• viele Formate (PlantUML, ditaa, …)

• Einbetten in Markup-Dokumente:

62

Page 63: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 63

"AsciiArt"

Page 64: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 64

Online-

Tools

Page 65: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 65

Generation Plain-Text Diagramme

Nie mehr aktuell halten müssen!

Quellen:

Sourcecode

DB-Schema

XML-Modell

Page 66: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 66

Wie

dok

um

entier

en?

Struktur?Werkzeuge?

Medien?

Doku-Format?Grafiken?

Ziel-gruppen?

Page 67: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 67

Verschiedene Szenarien

Page 68: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Szenario 1: Markdown, Pandoc, PlantUML, yEd

• Schreiben in Markdown in IDE (IntelliJ IDEA) inkl. Preview

• PDF-Erzeugung mit PanDoc über LaTex-Zwischenschritt inkl.

Corporate Design

• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE

• andere Diagramme mit yEd, Export als *.png

• Stash/Bitbucket Server als Repo

– rendert Markdown direkt in Weboberfläche

– readme.md Verlinkungen auf wichtige Dokumente

68

Page 69: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Szenario 1: User-Feedback

69

"Entwickler finden es

klasse, Leser innerhalb

der Firma: finden das

generierte PDF sehr gut

und hübsch."

"… fast alles ist

leicht versionier-

und diffbar"

"… jeder Entwickler

kann ändern…""Nie wieder anders!

Ich bin voll überzeugt."

"Generiertes PDF

stellt alles bisherige

in den Schatten."

Page 70: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Szenario 2: AsciiDoctor, Maven, PlantUML

• Erstellen AsciiDoc und PlantUML in IDE mit Preview

• Maven-Plugin zum Erzeugen des HTML/PDF

70

Demo

Page 71: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Szenario 3: Generierung aus Quellcode

• Quellcode parsen

– Reflection

– Spring Kontext

– …

• in Unit-Test aus Klassen-Strukturen Diagramm-Markup erzeugen

– z. B. PlantUML

– als Text-Datei ablegen und in Markup-Dokumentation verlinken

• im Build-Prozess als Input für Markup-Konvertierung einlesen

71

Page 72: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Szenario 4: Schnittstellenbeschreibung

• Generierung aus WSDL, WADL, Swagger

• Einbindung in Build-Prozess

• Swagger2Markup

• JAX-RS Analyzer

• Spring REST Docs

72

Demo

Page 73: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH

Szenario 5: Ausführbare Dokumentation

• Quellcode-Struktur in Graph-Datenbank importieren

• Architektur-Regeln als Graph-Abfragen in AsciiDoc einbetten

73

Demo

Page 74: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 74

Wie

dok

um

entier

en?

Struktur?Werkzeuge?

Medien?

Doku-Format?Grafiken?

Ziel-gruppen?

Page 75: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 75

Wiki

Page 76: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 76

Zusammenarbeit

Verlinkung

Review-/Redaktions-Prozess

Prozess-Unterstützung

Abbildung Workflow

Erweiterung über Plugins

Alles in einer Box!

Page 77: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 77

Schlund des Wiki

Strukturiert?

Plain-Text?

Offlinefähigkeit?

Versionierung?

Code-Nähe?

Automatisierung?

Druckausgabe?

Zielgruppen?

Kontextwechsel

Page 78: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 78

TasksMentions

Kommentare Jira

Page 79: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Lebendige Architektur-Dokumentation - kontinuierlich und effizient© Orientation in Objects GmbH 79

Balsamiq Mockups

Gliffy (Diagramme, UML)

Page 80: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Orientation in Objects GmbH

Weinheimer Str. 68

68309 Mannheim

www.oio.de

[email protected]

? ?

??

?Fragen ?

80

Page 81: Lebendige Architektur- Dokumentation - kontinuierlich und ......• UML-Diagramme mit PlantUML, Live-Ansicht/Export aus IDE • andere Diagramme mit yEd, Export als *.png • Stash/Bitbucket

Orientation in Objects GmbH

Weinheimer Str. 68

68309 Mannheim

www.oio.de

[email protected]

Vielen Dank für Ihre

Aufmerksamkeit !