![Page 1: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/1.jpg)
the essence for your business.
SOFTWARE-ARCHITEKTUREN IN DER PRAXIS
Benjamin Schmid Stefan Becker
Koblenz, 27.06.2017
![Page 2: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/2.jpg)
2
Einleitung
Architektur-Beschreibung
Architekturmuster
Architektur in der Praxis
Wege zu einer guten Architektur
![Page 3: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/3.jpg)
3
eXXcellent solutions
Die Referenten
Stefan Becker Software Engineer [email protected]
Benjamin Schmid Technology Advisor & Head of Division Darmstadt @bentolor
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 4: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/4.jpg)
4
eXXcellent solutions
Wer sind wir?
4 Standorte
130 Mitarbeiter
16,0 Mio € Umsatz p.a.
DIN EN ISO 9001:2015 / 14001:2015
Darmstadt
Stuttgart
Ulm München
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 5: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/5.jpg)
Individuelle Software-Lösungen
Agil / Festpreis / Time & Material
„Kernprozesse von Unternehmen“
Java, Web & .NET, SAP HANA & Salesforce
5
Beratung & Consulting rund um IT-Lösungen
Business & Projekt Management
Technologie & Methodik
eXXcellent solutions
Was machen wir?
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 6: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/6.jpg)
Eine Softwarearchitektur ist eine Zerlegung eines
Systems in Bausteine und deren Beziehungen
zueinander und zur Umgebung sowie den
Richtlinien, die den Entwurf und die Evolution des
Systems bestimmen.
Grundlagen der Softwaretechnik 2016 Universität Koblenz, Prof. Jan Jürjens
6
![Page 7: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/7.jpg)
The highest-level breakdown of a system into its
parts; the decisions that are hard to change; there
are multiple architectures in a system; what is
architecturally significant can change over a
system's lifetime; and, in the end, architecture
boils down to whatever the important stuff is.
Martin Fowler
7
![Page 8: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/8.jpg)
Warum ist Software-Architektur wichtig?
8
Zur Kommunikation zwischen Stakeholdern
Viele Akteure sind an der Entstehung von Software beteiligt
Jeder bringt einen anderen Hintergrund mit
Architektur schafft eine gemeinsame Sprache
Vermittelt einen Überblick zur Aufteilung
Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen
Software Architecture in Practice (2013) Bass, Len., Clements, Paul. und Kazman, Rick
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 9: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/9.jpg)
Warum ist Software-Architektur wichtig?
9
Als eine übertragbare Abstraktion eines Systems
Software-Architektur definiert ein Modell …
das beschreibt wie das System strukturiert ist
und wie die Komponenten zusammenarbeiten
Das Model kann auf andere Systeme mit ähnlichen funktionalen und nicht funktionalen Anforderungen übertragen werden
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
Software Architecture in Practice (2013) Bass, Len., Clements, Paul. und Kazman, Rick
![Page 10: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/10.jpg)
Warum ist Software-Architektur wichtig?
10
Um Anforderungen zu adressieren
Software muss Anforderungen genügen
Architektur plant Lösungsmuster für Probleme
Erlaubt so eine Verifizierung ob Anforderungen erfüllt sind
Software-Architektur alleine reicht nicht aus um alle Anforderungen zu erfüllen
Es muss aber mindestens sichergestellt sein, dass sie den Anforderungen nicht entgegen steht
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
Software Architecture in Practice (2013) Bass, Len., Clements, Paul. und Kazman, Rick
![Page 11: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/11.jpg)
11
Einleitung
Architektur-Beschreibung
Architekturmuster
Architektur in der Praxis
Wege zu einer guten Architektur
![Page 12: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/12.jpg)
Ist die Zielsetzung/Problemstellung präzise definiert?
Sind die zentraleren Lösungsansätze skizziert?
Gibt es einen abstrakten Gesamtüberblick?
Ist die Dokumentation für alle Beteiligten verständlich?
12
Was zeichnet eine gute Architektur-Dokumentation aus?
Für gute Dokumentation zählen die Inhalte …
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 13: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/13.jpg)
13
Wichtige Inhalte einer Architektur-Dokumentation
Zielsetzung
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
Die Zielsetzung muss klar verständlich in wenigen Sätzen oder Stichpunkten zusammengefasst sein.
Build a platform and service patterns that provide highly available services without requiring the application services, platform services or infrastructure to be highly available. Zielsetzung für die Netflix Cloud Architecture von Adrian Cockcroft
![Page 14: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/14.jpg)
14
Wichtige Inhalte einer Architektur-Dokumentation
Beschreibung der Architekturziele, deren Motivation und Lösungsansätze
Architekturziel Motivation Lösungsansatz
Hohe Verfügbarkeit Weltweites Angebot, Erwartung der Kunden
Betrieb in der Cloud (AWS), Circut Break Pattern
Skalierbarkeit Mehr als 98 Millionen Nutzer, Lastspitzen
Microservice
Unterstützung verschiedener Endgeräten
Kunden sollen Fernseher, Laptop, Tablets usw. nutzen können
Netflix Client API
… … …
Die wichtigsten Architekturziele sollten zusammen mit Lösungsansätzen dokumentiert werden.
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 15: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/15.jpg)
15
Wichtige Inhalte einer Architektur-Dokumentation
Big Picture das Bestandteile und Zusammenhänge darstellt
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
http://media.amazonwebservices.com/architecturecenter/AWS_ac_ra_media_02.pdf
![Page 16: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/16.jpg)
kann ganz unterschiedlich beschrieben sein:
Dokument
Foliensatz
Wiki/Portal
Architektur-Flyer
Projekt-Wand
…
16
Was zeichnet eine gute Architektur-Dokumentation aus?
Eine gute Dokumentation …
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 17: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/17.jpg)
17
Einleitung
Architektur-Beschreibung
Architekturmuster
Architektur in der Praxis
Wege zu einer guten Architektur
![Page 18: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/18.jpg)
18
Architekturmuster
Was ist eine Schichten-Architektur?
Die Schichten-Architektur ist ein verbreitetes Strukturierungsprinzip für Software-Systeme
Es gelten folgende Regeln:
Schichten erfüllen eine spezifische Art von Funktion
Zwischen den Schichten gibt es eine definierte Reinfolge
Schichten greifen nur auf direkt darunterliegende Schichten zu
Layer n+2
Layer n+1
Layer n
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 19: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/19.jpg)
19
Architekturmuster
Was sind die Vorteile und Nachteile von Schichten-Architektur?
– Code-Abhängigkeiten werden reduziert
– Grundfunktionalität ist sauber strukturiert
– Schichten-Architektur bietet wenig Führung
– Saubere Trennung erfordert Planung und Disziplin
– Daten über mehrere Schichten hinweg auszutauschen kann sich negativ auf die Performance auswirken
– Vorteile – Nachteile
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 20: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/20.jpg)
20
Architekturmuster
Was sind die Vorteile und Nachteile von Schichten-Architektur?
– Informationsfluss entgegen Schichtung erfordert Benachrichtigungsmechanismen, um Abhängigkeiten zu vermeiden
– Nach Möglichkeit sollte der korrekte Zugriff technisch sichergestellt werden
– Praktische Anwendung
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 21: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/21.jpg)
21
Architekturmuster
Mein System™
Microservices sind eine Ausprägung einer verteilten Architektur bei der ein System in viele sehr kleine Services unterteilt wird.
Charakteristik von Microservices:
Ein Service kapselt genau eine fachliche Funktion
Die Services laufen jeweils in einem eigenen Prozess
Kommunikation über leichtgewichtige Mechanismen
Service
Service
Service
Service
Microservices
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 22: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/22.jpg)
22
![Page 23: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/23.jpg)
23
Architekturmuster
Was sind die Vorteile und Nachteile von Microservices?
– Services können einzeln
l entwickelt
l und deployed werden
– Hoher Freiheitsgrad bei Technologieauswahl
– Gezielte Skalierung von Fachlichkeit
– Immenser Kommunikations-Overhead
– Verteilte Systeme führen zu zusätzlicher Komplexität
l Entwicklung
l Testing
l Betrieb
– Teilweise redundante Datenspeicherung
– Vorteile – Nachteile
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 24: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/24.jpg)
24
Architekturmuster
Was sind die Vorteile und Nachteile von Microservices?
- Unglaublich Hipp und in aller Munde
- Unabhängiges Deployment ist nur dann möglich wenn sich die Fachlichkeit nur innerhalb eines Services ändert, Schnittstellen und auszutauschende Daten müssen gleich bleiben
- Der technische und organisatorische Overhead rentiert sich nur für (sehr) große Organisationen und Softwaresysteme
– Praktische Anwendung
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 25: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/25.jpg)
25
Architekturmuster
Was ist ein Monolith?
Mein System™
Eine monolithische Architektur ist ein Architekturstil bei dem das gebaute System aus einer deploybaren Einheit besteht.
Das bedeutet allerdings nicht, dass das System intern nicht sinnvoll unterteilt ist!
Monolith
Service
Service Service
Service
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 26: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/26.jpg)
26
Architekturmuster
Was sind die Vorteile und Nachteile von Monolithen?
– Gemeinsame, konsistente Datenbasis
– Refactoring ist einfacher, da keine Nachbarsysteme betroffen sind
– Aufrufe innerhalb eines Prozess sind sehr günstig
– Änderungen innerhalb des System erfordern ein vollständiges Deployment
– Wenig technologische Freiräume innerhalb des Systems
– Vorteile – Nachteile
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 27: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/27.jpg)
Architekturmuster
Wie skalieren Microservices und Monolithen?
Server 1
Service
Service
Service
Service
Service
Service Service
Service
Server 2
Service
Server 3
Service
Service
Service
Service
Server 4
Service
Service
Service
Service
Server 1
Monolith
Service
Service Service
Service
Server 2
Monolith
Service
Service Service
Service
Server 3
Monolith
Service
Service Service
Service
Server 4
Monolith
Service
Service Service
Service
![Page 28: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/28.jpg)
28
Einleitung
Architektur-Beschreibung
Architekturmuster
Architektur in der Praxis
Wege zu einer guten Architektur
![Page 29: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/29.jpg)
29
Architektur in der Praxis
Lösungsmuster / Patterns – Beispiel: Schichtenarchitektur
Layer n+2
Layer n+1
Layer n
…
…
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 30: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/30.jpg)
UI Layer
Service Layer
Persistence Layer
30
Architektur in der Praxis
Lösungsmuster / Patterns – Beispiel: Schichtenarchitektur
Mein System™
![Page 31: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/31.jpg)
UI Layer
Service Layer
Persistence Layer
Der „Archetyp“ der IT-Architektur Prevalenz:
gefühlt >90% der Projekte
In der Theorie:
sehr grobe Leitlinien
gibt nur wenig Antworten
In der Praxis:
…
31
Architektur in der Praxis
Lösungsmuster / Patterns – Beispiel: Schichtenarchitektur
Mein System™
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 32: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/32.jpg)
Service Layer
UI Layer
32
Architektur in der Praxis
Schichtenarchitektur – Die Praxis
Mein System™
Persistence Layer
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 33: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/33.jpg)
… ist ein wesentlicher Erfolgsfaktor für:
ein gemeinsames Verständnis
die Reduktion der Komplexität
Ein guter Architektur-Schnitt ermöglicht:
gute Projektorganisation
leistungsfähige Lösungen
Wiederverwendung
gute Anpassbarkeit & Evolution
33
Architektur in der Praxis
Eine gute Software-Architektur …
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 34: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/34.jpg)
Architekturmuster
Schichtenarchitektur / 3-Schicht
Pipes & Filter Peer-to-Peer (P2P)
Command Query Responsibility Segregation (CRQS)
Entwurfsmuster
GoF: Proxy, Observer, Singleton
MapReduce
Inversion of Control
34
Architektur in der Praxis
Lösungsmuster / Patterns
grob Granularität fein
…bewährte Lösungen für wiederkehrende Entwurfsprobleme
…beschreiben Kontext und Anwendbarkeit der Lösung
Pattern-Oriented Software Architecture: A System of Patterns by Buschmann F.; Meunier R.; Rohnert H.; Sommerlad P.; Stal M. (1996). Design Patterns: Elements of Reusable Object-Oriented Software by: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (1994)
Model-View-Viewmodel (MVVM)
MapReduce
Data Transfer Objects (DTO)
Inversion of Control
![Page 35: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/35.jpg)
35
Architektur in der Praxis
Module & Softwareevolution
Benutzerverwaltung
Bestellungen
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 36: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/36.jpg)
36
Architektur in der Praxis
Module & Softwareevolution
Benutzerverwaltung
Bestellungen
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 37: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/37.jpg)
37
Architektur in der Praxis
Module & Softwareevolution
Benutzerverwaltung
Bestellungen
Session
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 38: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/38.jpg)
38
Architektur in der Praxis
Module & Softwareevolution
Benutzerverwaltung
Authentifizierung Bestellungen
Session
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 39: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/39.jpg)
39
Architektur in der Praxis
Module & Softwareevolution
Benutzerverwaltung
Authentifizierung Bestellungen
Session
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 40: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/40.jpg)
40
Architektur in der Praxis
Module & Softwareevolution
Benutzerverwaltung Textfield
Authentifizierung Bestellungen
Session
Manager
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 41: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/41.jpg)
41
Architektur in der Praxis
Module & Softwareevolution
„GUI“
Hans „Stammdaten“
Franziska
Benutzerverwaltung Textfield
Authentifizierung Bestellungen
Session
Manager
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
Stefan
![Page 42: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/42.jpg)
… ist ein wesentlicher Erfolgsfaktor für:
ein gemeinsames Verständnis
die Reduktion der Komplexität
Ein guter Architektur-Schnitt ermöglicht:
gute Projektorganisation
leistungsfähige Lösungen
Wiederverwendung
gute Anpassbarkeit & Evolution
… denn sie zeichnet sich dadurch aus, dass:
1. kleine Änderungen auch nur kleine, lokale Systemänderungen erfordern
2. konzeptionell schlüssig ist & bleibt:
Klarheit
Einfachheit, Eleganz
Praktikabilität
Anforderungserfüllung
42
Architektur in der Praxis
Eine gute Software-Architektur …
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 43: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/43.jpg)
WORAN ERKENNE ICH EINEN GUTEN ENTWURF?
Preisfrage
43
![Page 44: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/44.jpg)
A good modular, componentized design
means minimizing the knowledge and
dependency one part of the system has to
have about another.
Rolf Howarth
44
![Page 45: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/45.jpg)
45
Architektur in der Praxis
Module & Softwareevolution
Modul
Modul
Modul
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 46: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/46.jpg)
46
Architektur in der Praxis
Woran erkenne ich einen guten Entwurf?
Daumennagelproben
Kennt jedes Team-Mitglied die Ziel-Architektur?
Kann jeder intuitiv und sofort beantworten „wo“ ein bestimmter Teil zu suchen ist?
Versteht jeder sofort, „wie“ eine bestimmte Funktionalität realisiert/zerlegt wird?
Gibt es wenige & unidirektionale Abhängigkeiten?
Beantwortet meine Architektur sowohl grundsätzliche als auch täglichen Detailfragen?
Kommunik.
Klarheit
Zerlegung
Abtraktions- Ebenen
![Page 47: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/47.jpg)
47
Microservices to the rescue!
![Page 48: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/48.jpg)
Martin‘s Life Pro-Tipp
I've noticed a common pattern:
1. Almost all the successful microservice stories have started
with a monolith that got too big and was broken up
2. Almost all the cases where I've heard of a system that was
built as a microservice system from scratch, it has ended
up in serious trouble.
This pattern has led many of my colleagues to argue that …
48
![Page 49: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/49.jpg)
Martin‘s Life Pro-Tipp
[…] you shouldn't start a new project
with microservices, even if you're
sure your application will be big
enough to make it worthwhile.
Martin Fowler
https://martinfowler.com/bliki/MonolithFirst.html
49
![Page 50: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/50.jpg)
50
Einleitung
Architektur-Beschreibung
Architekturmuster
Architektur in der Praxis
Wege zu einer guten Architektur
![Page 51: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/51.jpg)
51
Wege zu einer guten Architektur
Der Weg (Plan)
Problemstellung identifizieren
Lösungsstrategie entwickeln
Software-Design Lösungs-
architektur
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 52: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/52.jpg)
52
Wege zu einer guten Architektur
Der Weg (Realität)
Problemstellung identifizieren
Lösungsstrategie entwickeln
Evolution des Software-Design
Lösungs- architektur
Neue Probleme/ Details/Anforderungen
Design-Refactoring
(Entwickler-Alltag!)
Große, neue Probleme/ Details/Anforderungen
Architektur-Refactoring
(ouch!)
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
Software-Design
![Page 53: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/53.jpg)
Produktfunktionen
Funktionen die das System erfüllen können muss/soll, z.B. beschrieben über Use Cases
Technische Randbedingungen
Verfügbare Hard-/Software
Organisatorische Randbedingungen
Termine, Budgets, Schnitt der Abteilungen, Team, Kompetenz
Ziele & Risiken
Produktattribute (~illities)
Eigenschaften die das System besitzen muss
z.B. Scalability, Reliability, Flexibility, Usability, …
Funktionale Anforderungen Nicht-funktionale Anforderungen Randbedingungen
Wege zu einer guten Architektur
Rückschau: Wichtige Einflussfaktoren für eine Architektur
Grady Booch: Objektorientierte Analyse und Design. 1994, ISBN 978-3-89319-673-9, S. 291 f.
53
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 54: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/54.jpg)
Wege zu einer guten Architektur
54
Das passenden Werkzeug!
ATAM (Architecture Trade-Off Analysis Method)
Eine Evaluationsmethode entwickelt in den ’90er an der Carnegie Mellon University
Zweck: Konsequenzen von Architektur- entscheidungen anhand von Qualitäts- eigenschaften bewerten
Hilft bei der Abschätzung wie eine Architekturentscheidung zentrale Eigenschaften beeinflusst
Qualitätsattribute werden über Szenarien der Stakeholder erarbeitet
Validierung des Architekturentwurf (Muster & Stil) über diese Szenarien & Qualitätsattribute
"ATAM: Method for Architecture Evaluation“ by Rick Kazman; Mark Klein; Paul Clements, 2000 https://www.sei.cmu.edu/reports/00tr004.pdf
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 55: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/55.jpg)
55
Risiken
Kritische Punkte, die zentrale Produktattribute/ -funktionen in Frage stellen
Nicht-Risiken
Helfen bei Qualität & Zielerreichungsgrad
Schmerzpunkte
Neuralgische Bereiche die zentrale Qualitäten bedrohen
Tradeoffs
Abwägungen bei Ziel-Konflikten
Lenkt den Prozess um die richtigen Fragen an die Stakeholder zu stellen und regt den gegenseitigen Austausch an
Strukturierte, präzise und für die Stakeholder transparente Entscheidungsbasis mittels abgestimmten Qualitätsbaum und Szenarien
Tradeoffs werden identifiziert, benannt, mit den Stakeholdern abgestimmt und dokumentiert
Dokumentiert die Architekturentscheidungen & verworfene Architekturansätze
Konzepte Vorteile
Wege zu einer guten Architektur
ATAM - Übersicht
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 56: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/56.jpg)
Wege zu einer guten Architektur
ATAM - Überblick
Geschäftsziele
Software-Architektur
Architektur- Ansätze
Qualitäts- Attribute
Szenarien
Architektur- Entscheidungen
Analyse
Tradeoffs
Sensitive Points
Nicht-Risiken
Risiken Risiko-
Kategorien
56
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 57: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/57.jpg)
57
Wege zu einer guten Architektur
Mit ATAM zum Ziel
9 SCHRITTE
2 PHASEN
![Page 58: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/58.jpg)
Wege zu einer guten Architektur
1. Vorstellung ATAM-Prozess
2. Vorstellung Geschäftsziele
3. Vorstellung Architekturentwurf
4. Architekturansätze
5. Erstellung Qualitätsbaum
6. Analyse der Architekturansätze
7. Szenarien: Analyse & Priorisierung
8. Analyse des Architekturentwurfs
9. Präsentation der Ergebnisse
ATAM – Vorstellung ATAM-Prozess V
ors
tell
un
g
An
aly
se
Te
st
Ko
mm
.
58
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 59: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/59.jpg)
59
Wege zu einer guten Architektur
ATAM – Vorstellung ATAM-Prozess
1. Vorstellung ATAM-Prozess
2. Vorstellung Geschäftsziele
3. Vorstellung Architekturentwurf
4. Architekturansätze
5. Erstellung Qualitätsbaum
6. Analyse der Architekturansätze
7. Szenarien: Analyse & Priorisierung
8. Analyse des Architekturentwurfs
9. Präsentation der Ergebnisse
Vo
rste
llu
ng
A
na
lyse
T
est
K
om
m.
Der ATAM-Prozess wird allen Beteiligten vorgestellt.
Ziel: Alle Beteiligte verstehen seinen Ablauf & Funktionsweise.
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 60: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/60.jpg)
60
Wege zu einer guten Architektur
ATAM – Vorstellung ATAM-Prozess
1. Vorstellung ATAM-Prozess
2. Vorstellung Geschäftsziele
3. Vorstellung Architekturentwurf
4. Architekturansätze
5. Erstellung Qualitätsbaum
6. Analyse der Architekturansätze
7. Szenarien: Analyse & Priorisierung
8. Analyse des Architekturentwurfs
9. Präsentation der Ergebnisse
Vo
rste
llu
ng
A
na
lyse
T
est
K
om
m.
Die Stakeholder (Fachabteilungen) präsentieren Motivation und Geschäftsziele.
Damit werden auch die zentralen Treiber für die Systementwicklung benannt.
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 61: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/61.jpg)
61
Wege zu einer guten Architektur
ATAM – Vorstellung ATAM-Prozess
1. Vorstellung ATAM-Prozess
2. Vorstellung Geschäftsziele
3. Vorstellung Architekturentwurf
4. Architekturansätze
5. Erstellung Qualitätsbaum
6. Analyse der Architekturansätze
7. Szenarien: Analyse & Priorisierung
8. Analyse des Architekturentwurfs
9. Präsentation der Ergebnisse
Vo
rste
llu
ng
A
na
lyse
T
est
K
om
m.
Allen Beteiligten (Manager, Fachabteilung, …) wird im angemessenem Detailgrad der Architekturentwurf präsentiert.
Schwerpunkt liegt dabei darauf, wie dieser Entwurf die zentralen Anforderungen und Geschäftsziele erfüllt bzw. nicht erfüllt.
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 62: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/62.jpg)
62
Wege zu einer guten Architektur
ATAM – Vorstellung ATAM-Prozess
1. Vorstellung ATAM-Prozess
2. Vorstellung Geschäftsziele
3. Vorstellung Architekturentwurf
4. Architekturansätze
5. Erstellung Qualitätsbaum
6. Analyse der Architekturansätze
7. Szenarien: Analyse & Priorisierung
8. Analyse des Architekturentwurfs
9. Präsentation der Ergebnisse
Vo
rste
llu
ng
A
na
lyse
T
est
K
om
m.
Die verschiedene verschiedenen Architektur-Ansätze werden im Architekten-Team diskutiert, ohne sie aber im Detail zu analysieren.
Hier geht es um ein gemeinsames Bild der wesentlichen Eckpunkte der Ansätze zu erhalten.
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 63: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/63.jpg)
63
Wege zu einer guten Architektur
ATAM – Vorstellung ATAM-Prozess
1. Vorstellung ATAM-Prozess
2. Vorstellung Geschäftsziele
3. Vorstellung Architekturentwurf
4. Architekturansätze
5. Erstellung Qualitätsbaum
6. Analyse der Architekturansätze
7. Szenarien: Analyse & Priorisierung
8. Analyse des Architekturentwurfs
9. Präsentation der Ergebnisse
Vo
rste
llu
ng
A
na
lyse
T
est
K
om
m.
In kleiner Runde werden mit den Stakeholdern die zentrale Qualitätsattribute erarbeitet und in einen Qualitätsbaum einsortiert
Dabei konkretisieren die Stakeholder über ausformulierte Szenarien ihre Anforderungen (Beschreibung: Stimulus und Reaktion).
Die identifizierten Qualitätsattribute werden der Ziel-Architektur gegenübergestellt.
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 64: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/64.jpg)
Wege zu einer guten Architektur
Beispiel für ATAM-Szenarien
Ein vollständiger Datenimport darf max. 4h dauern.
Login über Twitter in 2 Tagen implementierbar.
Jederzeit möglich, Bestellungen aufzugeben.
Bei Stromausfall dürfen keine Daten verloren gehen.
64
![Page 65: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/65.jpg)
Wege zu einer guten Architektur
Beispiel für ATAM-Szenarien
Ein vollständiger Datenimport darf max. 4h dauern.
Login über Twitter in 2 Tagen implementierbar.
Jederzeit möglich, Bestellungen aufzugeben.
Bei Stromausfall dürfen keine Daten verloren gehen.
65
Performance > Durchsatz
Erweiterbarkeit
Verfügbarkeit
Unerwartete Ereignisse
![Page 66: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/66.jpg)
Wege zu einer guten Architektur
66
ATAM Qualitätsbaum („utility tree“)
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 67: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/67.jpg)
Wege zu einer guten Architektur
67
ATAM Qualitätsbaum („utility tree“)
Kritikalität Priorität
High / Middle /Low
1) Qualität
3) Szenario Kontext und Umgebung Stimulus & Reaktion
2) Qualitätsattribut
![Page 68: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/68.jpg)
68
Wege zu einer guten Architektur
ATAM – Vorstellung ATAM-Prozess
1. Vorstellung ATAM-Prozess
2. Vorstellung Geschäftsziele
3. Vorstellung Architekturentwurf
4. Architekturansätze
5. Erstellung Qualitätsbaum
6. Analyse der Architekturansätze
7. Szenarien: Analyse & Priorisierung
8. Analyse des Architekturentwurfs
9. Präsentation der Ergebnisse
Vo
rste
llu
ng
A
na
lyse
T
est
K
om
m.
Die Architekten suchen nun einen Architektur- entwurf, welcher den Qualitätskriterien gerecht wird.
Dabei wird für jede einzelne Szenario/Qualitätsattribut dokumentiert:
Umgebung, Auslöser & Reaktion
resultierende Architekturentscheidung mit Risiko, Sensitivität, Tradeoff
Begründung
Diese kann von theoretischen Überlegungen bis zu evaluatorischen Prototypen reichen.
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 69: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/69.jpg)
69
Wege zu einer guten Architektur
ATAM – Vorstellung ATAM-Prozess
1. Vorstellung ATAM-Prozess
2. Vorstellung Geschäftsziele
3. Vorstellung Architekturentwurf
4. Architekturansätze
5. Erstellung Qualitätsbaum
6. Analyse der Architekturansätze
7. Szenarien: Analyse & Priorisierung
8. Analyse des Architekturentwurfs
9. Präsentation der Ergebnisse
Vo
rste
llu
ng
A
na
lyse
T
est
K
om
m.
In größerer Runde wird jedes Szenario erneut einzeln betrachtet.
Diese werden ggf. angepasst / ergänzt, so dass sie möglichst gut den Erwartungen der Stakeholder entsprechen:
Anwendungs-Szenarien (Use Cases)
Änderungs-Szenarien (Wachstum, Störung)
Über z.B. eine Wahl werden alle Szenarien/Attribute abschließend priorisiert.
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 70: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/70.jpg)
70
Wege zu einer guten Architektur
ATAM – Vorstellung ATAM-Prozess
1. Vorstellung ATAM-Prozess
2. Vorstellung Geschäftsziele
3. Vorstellung Architekturentwurf
4. Architekturansätze
5. Erstellung Qualitätsbaum
6. Analyse der Architekturansätze
7. Szenarien: Analyse & Priorisierung
8. Analyse des Architekturentwurfs
9. Präsentation der Ergebnisse
Vo
rste
llu
ng
A
na
lyse
T
est
K
om
m.
Wiederholt im Kern Schritt #6, ergänzt um das neue Detailwissen & Prioritäten alle Stakeholdern.
Idealerweise wird hier nur der Entwurf aus #6 umfangreicher belegt & bestätigt. Im Bedarfsfall nachgebessert.
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 71: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/71.jpg)
71
Wege zu einer guten Architektur
ATAM – Vorstellung ATAM-Prozess
1. Vorstellung ATAM-Prozess
2. Vorstellung Geschäftsziele
3. Vorstellung Architekturentwurf
4. Architekturansätze
5. Erstellung Qualitätsbaum
6. Analyse der Architekturansätze
7. Szenarien: Analyse & Priorisierung
8. Analyse des Architekturentwurfs
9. Präsentation der Ergebnisse
Vo
rste
llu
ng
A
na
lyse
T
est
K
om
m.
Es werden alle Ergebnisse und erarbeiteten Dokumente allen Stakeholdern präsentiert:
Architekturentwurf & verworfene Ansätze
Qualitätsbaum
Szenarien
spezifische Fragen & Antworten zu einzelnen Qualitätskriterien/Szenarien
Risiken
Schmerzpunkte
getroffene Tradeoffs & Begründungen
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 72: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/72.jpg)
1. Übergang zwischen „Software-Architektur“ und „Software-Design“ ist fließend
2. Verständlichkeit / Kommunizierbarkeit einer Architektur ist entscheidend
3. Ein weiterer Schlüsselaspekt ist die praktische Tauglichkeit der Architektur
4. Strukturierte Planung (ATAM) zahlt sich aus
Architektur in der Praxis
Fazit: Details matter!
72
Einleitung Architektur-Beschreibung Architekturmuster Architektur in der Praxis Wege zu einer guten Architektur
![Page 73: SOFTWARE-ARCHITEKTUREN IN DER PRAXIS - exxcellent.de · Architektur bildet die Grundlage für gemeinsame Diskussionen, Abstimmungen und Entscheidungen Software Architecture in Practice](https://reader034.vdocuments.net/reader034/viewer/2022050718/5e1857e583b8284b9f45a279/html5/thumbnails/73.jpg)
the essence for your business.
eXXcellent solutions
We are hiring!
Softwareentwickler / Business Analysten / Abschlussarbeiten / Praktikanten https://www.exxcellent.de/karriere/
https://www.kununu.com/de/exxcellentsolutions
Darmstadt
Stuttgart
Ulm München