Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Architekturdokumentation mit arc42

Architekturdokumentation mit arc42

arc42 ist ein aus der Praxis kommendes, kostenfrei verwendbares Template für die pragmatische Dokumentation von Softwarearchitekturen. Der Vortrag zeigt an technologieunabhängigen Beispielen die konkrete Anwendung.

Andreas Monschau

July 16, 2016
Tweet

More Decks by Andreas Monschau

Other Decks in Programming

Transcript

  1. © 2016 Haeger Consulting - Andreas Monschau
    Architekturdokumentation

    mit arc42
    18.07.2016 - Andreas Monschau
    Webmontag Bonn
    1

    View Slide

  2. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    Berater bei Haeger Consulting
    Aktuelle Schwerpunkte:
    Softwareentwicklung
    Testautomatisierung, Testmanagement (ISTQB)
    Agile Softwareentwicklung (Scrum, Kanban)
    2

    View Slide

  3. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    Dokumentation in der
    Softwareentwicklung
    3
    Macht
    keinen
    Spaß
    Agiles Manifest:
    „Funktionierende Software ist
    wichtiger als umfassende
    Dokumentation“
    Vorgaben der
    Kunden
    (z.B. V-Modell
    XT)
    Doku für
    neue
    Kollegen
    Javadoc
    IEEE829
    IEEE830

    Oftmals: Ziellos und
    unstrukturiert

    View Slide

  4. 04.03.2015
    ‹Nr.›
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg

    .ppt
    arc42
    Ein Template, das Architekten das Leben erleichtern soll
    Kommt aus der Praxis
    Erfordert keine sklavische Standardeinhaltung -
    Anpassungen sind erwünscht.
    Kreativitäts- und Arbeitshilfsmittel
    Diskussionsgrundlage
    Erleichtert Projektneulingen den Start
    Ideal: Kein Word-Dokument, besser: ein
    lebendes Wiki.
    4

    View Slide

  5. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    Aufbau von arc42
    5
    1.Einführung und Ziele
    2.Randbedingungen
    3.Kontextabgrenzung
    4.Lösungsstrategie
    5.Bausteinsicht
    6.Laufzeitsicht
    7.Verteilungsschicht
    8.Konzepte und Muster
    9.Entwurfsentscheidungen
    10.Qualitätsszenarien
    11.Risiken
    12.Glossar

    View Slide

  6. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    6
    ao2K16
    Pflichtenheft

    View Slide

  7. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    Aufbau von arc42
    7
    1.Einführung und Ziele
    2.Randbedingungen
    3.Kontextabgrenzung
    4.Lösungsstrategie
    5.Bausteinsicht
    6.Laufzeitsicht
    7.Verteilungsschicht
    8.Konzepte und Muster
    9.Entwurfsentscheidungen
    10.Qualitätsszenarien
    11.Risiken
    12.Glossar

    View Slide

  8. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    8
    1.Einführung und Ziele
    Aufgabenstellung Qualitätsziele
    Stakeholder

    View Slide

  9. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    9
    1.Einführung und Ziele
    Aufgabenstellung Qualitätsziele
    Stakeholder
    aok2K16 soll die EWS
    unter den Addressver-
    waltungen werden. (…)

    View Slide

  10. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    10
    1.Einführung und Ziele
    Aufgabenstellung Qualitätsziele
    Stakeholder
    • Korrektheit
    • Performanz
    • (…)

    View Slide

  11. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    11
    1.Einführung und Ziele
    Aufgabenstellung Qualitätsziele
    Stakeholder
    • Management
    • Nutzer
    • (…)

    View Slide

  12. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    Aufbau von arc42
    12
    1.Einführung und Ziele
    2.Randbedingungen
    3.Kontextabgrenzung
    4.Lösungsstrategie
    5.Bausteinsicht
    6.Laufzeitsicht
    7.Verteilungsschicht
    8.Konzepte und Muster
    9.Entwurfsentscheidungen
    10.Qualitätsszenarien
    11.Risiken
    12.Glossar

    View Slide

  13. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    13
    13
    2.Randbedingungen
    Technisch Organisatorisch

    View Slide

  14. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    14
    14
    2.Randbedingungen
    Technisch Organisatorisch
    • Implementierung in Java
    • Persistierung via NoSQL
    • Analyse- und Entwufsmethode:

    Objektorientiertes Vorgehen
    • (…)

    View Slide

  15. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    15
    15
    2.Randbedingungen
    Technisch Organisatorisch
    • Agile Softwareentwicklung
    • Testteam von externem

    Dienstleister ->
    • Dokumentation IEE829
    • (…)

    View Slide

  16. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    Aufbau von arc42
    16
    1.Einführung und Ziele
    2.Randbedingungen
    3.Kontextabgrenzung
    4.Lösungsstrategie
    5.Bausteinsicht
    6.Laufzeitsicht
    7.Verteilungsschicht
    8.Konzepte und Muster
    9.Entwurfsentscheidungen
    10.Qualitätsszenarien
    11.Risiken
    12.Glossar

    View Slide

  17. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    17
    3.Kontextabgrenzung
    Fachlicher Kontext / technischer Kontext
    <>
    ao2K16
    REST-

    Service
    Print

    Queue

    View Slide

  18. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    Aufbau von arc42
    18
    1.Einführung und Ziele
    2.Randbedingungen
    3.Kontextabgrenzung
    4.Lösungsstrategie
    5.Bausteinsicht
    6.Laufzeitsicht
    7.Verteilungsschicht
    8.Konzepte und Muster
    9.Entwurfsentscheidungen
    10.Qualitätsszenarien
    11.Risiken
    12.Glossar

    View Slide

  19. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    19
    4.Lösungsstrategie(n)
    Verwendung bekannter
    Bibliotheken
    Einarbeitungsaufwand gering halten
    Maven als Build-Werkzeug
    verwenden
    Erlaubt direktes Deployment und einfache
    Einbindung in CI
    Einbindung der Tester in
    die Scrum-Teams
    Schnelles Feedback, erhöhte
    Produktqualität
    …. …

    View Slide

  20. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    Aufbau von arc42
    20
    1.Einführung und Ziele
    2.Randbedingungen
    3.Kontextabgrenzung
    4.Lösungsstrategie
    5.Bausteinsicht
    6.Laufzeitsicht
    7.Verteilungsschicht
    8.Konzepte und Muster
    9.Entwurfsentscheidungen
    10.Qualitätsszenarien
    11.Risiken
    12.Glossar

    View Slide

  21. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    21
    5.Bausteinsicht
    6.Laufzeitsicht
    7.Verteilungsschicht

    View Slide

  22. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    22
    5.Bausteinsicht
    <>
    ao2K16
    I/O
    <>
    Validator
    <>
    DatabaseService
    Ebene 1
    Whitebox System, Blackboxes Subsysteme

    View Slide

  23. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    23
    5.Bausteinsicht
    <>
    Validator
    <>
    i18nStuff
    Ebene 2

    View Slide

  24. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    24
    6.Laufzeitsicht

    View Slide

  25. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    25
    6.Laufzeitsicht
    <> <> <service>>
    new address
    validate address
    store address
    response

    View Slide

  26. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    26
    7.Verteilungsschicht

    View Slide

  27. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    27
    7.Verteilungsschicht
    <>
    local device
    maven

    pom.xml
    <>

    /target
    <>
    aok2k16.jar

    View Slide

  28. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    Aufbau von arc42
    28
    1.Einführung und Ziele
    2.Randbedingungen
    3.Kontextabgrenzung
    4.Lösungsstrategie
    5.Bausteinsicht
    6.Laufzeitsicht
    7.Verteilungsschicht
    8.Konzepte und Muster
    9.Entwurfsentscheidungen
    10.Qualitätsszenarien
    11.Risiken
    12.Glossar

    View Slide

  29. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    29
    8.Konzepte und Muster
    Plausibilisierung/
    Validierung
    Ausnahme- und
    Fehlerbehandlung
    Abhängigkeiten der
    Komponenten
    Testbarkeit

    Sicherheit Skalierung/Clustering

    View Slide

  30. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    Aufbau von arc42
    30
    1.Einführung und Ziele
    2.Randbedingungen
    3.Kontextabgrenzung
    4.Lösungsstrategie
    5.Bausteinsicht
    6.Laufzeitsicht
    7.Verteilungsschicht
    8.Konzepte und Muster
    9.Entwurfsentscheidungen
    10.Qualitätsszenarien
    11.Risiken
    12.Glossar

    View Slide

  31. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    31
    9.Entwurfsentscheidungen
    Verwendung MVP-
    Pattern statt MVC-
    Pattern
    Passives View, verbesserte Möglichkeiten für
    Unit-Testing
    Verwendung von
    Apache POI für Excel-
    Importe
    Verbessertes Handling gegenüber Verwendung
    von Excel-Dateien als CSV-File

    View Slide

  32. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    Aufbau von arc42
    32
    1.Einführung und Ziele
    2.Randbedingungen
    3.Kontextabgrenzung
    4.Lösungsstrategie
    5.Bausteinsicht
    6.Laufzeitsicht
    7.Verteilungsschicht
    8.Konzepte und Muster
    9.Entwurfsentscheidungen
    10.Qualitätsszenarien
    11.Risiken
    12.Glossar

    View Slide

  33. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    33
    10.Qualitätsszenarien Qualität
    Korrektheit Performanz
    10.1 Fehlerhafte Postleitzzahleingaben werden vom
    Validator zurückgewiesen
    10.2 Die Korrektheit des Validators wird durch
    Positiv- und Negativtests autom. getestet
    10.3 Das persistieren einer Adresse soll nicht länger
    als 8 Sekunden dauern
    10.1 10.2 10.3

    View Slide

  34. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    Aufbau von arc42
    34
    1.Einführung und Ziele
    2.Randbedingungen
    3.Kontextabgrenzung
    4.Lösungsstrategie
    5.Bausteinsicht
    6.Laufzeitsicht
    7.Verteilungsschicht
    8.Konzepte und Muster
    9.Entwurfsentscheidungen
    10.Qualitätsszenarien
    11.Risiken
    12.Glossar

    View Slide

  35. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    35
    11.Risiken
    Performanzprobleme
    Anwendung technisch zu
    Komplex

    View Slide

  36. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    Aufbau von arc42
    36
    1.Einführung und Ziele
    2.Randbedingungen
    3.Kontextabgrenzung
    4.Lösungsstrategie
    5.Bausteinsicht
    6.Laufzeitsicht
    7.Verteilungsschicht
    8.Konzepte und Muster
    9.Entwurfsentscheidungen
    10.Qualitätsszenarien
    11.Risiken
    12.Glossar

    View Slide

  37. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    37
    12.Glossar
    MVP Dies ist ein beschreibender Text
    Unit-Test siehe Komponententest
    … …

    View Slide

  38. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    38
    1.Einführung und Ziele
    2.Randbedingungen
    3.Kontextabgrenzung
    4.Lösungsstrategie
    5.Bausteinsicht
    6.Laufzeitsicht
    7.Verteilungsschicht
    8.Konzepte und Muster
    9.Entwurfsentscheidungen
    10.Qualitätsszenarien
    11.Risiken
    12.Glossar

    View Slide

  39. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    [email protected]
    • Twitter: @andreasmonschau
    • www.haeger-consulting.de
    Vielen Dank!

    View Slide

  40. 18.06.2016
    Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg
    Andreas Monschau - IT Consultant
    Backup: Quellen
    arc42-Logo:
    http://arc42.org/index_files/arc42-logo.png
    I acknowledge that this presentation uses material from the arc42 architecture template, http://
    www.arc42.de. Created by Dr. Peter Hruschka & Dr. Gernot Starke. For additional contributors see
    arc42.de/about/contributors.html.
    40

    View Slide