💡 Hint: To show the presentation in Fullscreen press "F".

Architekturen

zähmen leicht gemacht

Vom Anforderungs-Chaos zu strukturiertem Code

ArchElch

Warum Architektur?

  • Unvermeidbare Basis jeder Software
  • Frühzeitige Fehlererkennung durch geplante Strukturen
  • Vermeidung von unkontrollierbarer Legacy-Software
  • kontinuierliche Anpassung

Warum Architektur?

Haus_der_Geschichte

Haus der Geschichte, Darmstadt

architektur_schlecht

Internetfund, toter Vogel

Methoden zur Architekturgestaltung

Wo fängt man an?

Wie startet man?

Was soll dokumentiert werden?

giphy_dog_what

Grundelemente

architektur_baustein_aarchitektur_baustein_abarchitektur_baustein_ab_client
  • Unabhängige Bausteine
  • Beziehungen/Relationen über definierte Schnittstellen
  • Konzepte und Prinzipien

Kontext

  • Anpassung an Geschäftsziele und -umfeld
  • rechtliche und technische Rahmenbedingungen
  • Balancierung konkurrierender Projektfaktoren
giphy_donald_no_money
giphy_dagobert_duck

1. Stakeholder-Prio-Matrix

arch_stakeholder_matrix

1. Stakeholder-Prio-Matrix

begleitend zur Matrix eine übersichtliche Tabelle

Beispiel:

RolleBeschreibungZiel/IntentionKontaktPrioInfobedarf
AuftraggeberDagobert DuckErtrag erzielen…@e.mailHochaktueller Stand
BetreiberRechenzentrumSaaS anbieter…@e.mailMediumBetriebshandbuch
BesucherKundeDienst nutzenMediumFAQ

2. Architectural Significant Requirements

  • Funktionelle Anforderungen
  • Randbedinungen
  • Nicht-Anforderungen
  • Qualitätsanforderungen

2. Architectural Significant Requirements

Hilfestellung ISO25010 und Qualitätsbaum

architektur_iso_25010

/>

arch_qualitaetsbaum

2. Architectural Significant Requirements

Beispiel

FunktionellRandbedingungNicht-AnforderungenQualitätsanforderungen
Profil Nutzer (F1)mehrere Nutzer (R1)Dezentrales System (N1)Skalierbar auf ca 300-3 Mio. Nutzer, R1 (Q1)
Registrierung/Login (F2)Personenbezogene Daten (R2)MFA/2FA (N2)Transportsicherheit, F1, F2, R2 (Q2)
Bilder Upload (F3)Nicht-technik-affine Nutzer (R3)iOS App (N3)Bearbeitung vollständig in GUI, R3 (Q3)

3. Kohäsionskriterien

Clustern der ASR nach Kriterium

  • Funktion
  • Eigenschaft
  • Inhalt
  • Services

keine Kriterien mischen!

3. Kohäsionskriterien

Beispiel

Kohäsionskriterien

4. Architecture Decision Record

  • in Architektur dreht sich alles um Entscheidungen
  • Entscheidungen diskutieren und mit Anforderungen abgleichen
  • Entscheidungen systematisch festhalten
  • Regel: Kill your Darlings

4. Architecture Decision Record

Grundlegender Aufbau:

ADR#Nr
Warum:(Um was geht es?)
Einflüsse:(Stakeholder)
Kriterien:(Anforderungen)
Alternativen:(Vergleichen)
Konsequenzen:(Positiv/Negativ)

4. Architecture Decision Record

Beispiel 1/3:

ADR#1
Warum:Basis Aufbau der Anwendung
Einflüsse:
  • Developer - bestehendes Wissen
  • 3rd Party APIs - DX, Kosten, Support, Doku
  • Hacker - Security
  • Nutzer - Performance, Usability

4. Architecture Decision Record

Beispiel 2/3:

Kriterien:
  1. Shared Codebase für App und Web
  2. Parallele Bearbeitung von X Profilen
  3. User Management
  4. DSGVO Konform
Alternativen:
Alternative1234
Client-Server0+++
Microservices+++-
Event Driven++-+

=> Wahl fällt auf Client-Server

4. Architecture Decision Record

Beispiel 3/3:

Konsequenzen:
  • (+) Monolith, nur einmal entwickelt
  • (-) ein gesamtes System, abhängige Skalierung
  • (+) Governance
  • (-) Last Verteilung

Agile Architektur

Architekturbreze

Dokumentation

  • Klarheit und Konsistenz
  • Anpassung an die Bedürfnisse verschiedener Stakeholder
  • Wartung der Dokumentation als Teil des Entwicklungsprozesses

Dokumentation

  • Angemessenheit
  • Korrektheit
  • Wartbarkeit
  • Verständlichkeit

Arc42

Arc42

Cards42

Blickrichtung ändern, neue Wege und Lösungen finden

Cards42

iSAQB

Viele Fachartikel, Podcast & Fortbildungen

iSAQB

Roadmap.sh

Guter Startpunkt, mehr technische Anforderungen & Verständnis

Roadmap.sh

Quellen & mehr

Zeit für eure Fragen
& Diskussionen

QR code for https://wieerwill.dev/vcard.vcf

WieErWill.dev/vcard.vcf