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. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 18.06.2016 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

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

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

    Monschau - IT Consultant 21 5.Bausteinsicht 6.Laufzeitsicht 7.Verteilungsschicht
  20. 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
  21. 18.06.2016 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant 23 5.Bausteinsicht <<subsystem>> Validator <<modul>> i18nStuff Ebene 2
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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 …
  28. 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
  29. 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
  30. 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
  31. 18.06.2016 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

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

    Monschau - IT Consultant • [email protected] • Twitter: @andreasmonschau • www.haeger-consulting.de Vielen Dank!
  36. 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