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.

F4752a6b61058697907feeb64051836c?s=128

Andreas Monschau

July 16, 2016
Tweet

Transcript

  1. © 2016 Haeger Consulting - Andreas Monschau Architekturdokumentation
 mit arc42

    18.07.2016 - Andreas Monschau Webmontag Bonn 1
  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
  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
  4. 04.03.2015 ‹Nr.› Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg

    <Autor> <Dateiname>.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
  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
  6. 18.06.2016 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant 6 ao2K16 Pflichtenheft
  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
  8. 18.06.2016 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant 8 1.Einführung und Ziele Aufgabenstellung Qualitätsziele Stakeholder
  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. (…)
  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 • (…)
  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 • (…)
  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
  13. 18.06.2016 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant 13 13 2.Randbedingungen Technisch Organisatorisch
  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 • (…)
  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 • (…)
  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
  17. 18.06.2016 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant 17 3.Kontextabgrenzung Fachlicher Kontext / technischer Kontext <<system>> ao2K16 REST-
 Service <XML Print
 Queue <File
  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
  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 …. …
  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
  21. 18.06.2016 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

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

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

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

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

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

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

    Monschau - IT Consultant 27 7.Verteilungsschicht <<device>> local device maven
 pom.xml <<directory>>
 /target <<executable artifact>> aok2k16.jar
  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
  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
  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
  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 …
  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
  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
  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
  35. 18.06.2016 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant 35 11.Risiken Performanzprobleme Anwendung technisch zu Komplex
  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
  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 … …
  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
  39. 18.06.2016 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant • andreas@diemonschaus.de • Twitter: @andreasmonschau • www.haeger-consulting.de Vielen Dank!
  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