Reclaim Your Architecture
-
Upload
daniel-rosowski -
Category
Software
-
view
113 -
download
2
Transcript of Reclaim Your Architecture
![Page 1: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/1.jpg)
RECLAIM YOURARCHITECTURE!
Tools und Techniken um deine Software Architektur zurückzu erobern!
![Page 2: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/2.jpg)
Begriffsde�nitionDie Feinde der ArchitekturUnsere Waffen (aka Tools und Techniken)Beispiele und Code
![Page 3: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/3.jpg)
Rational Uni�ed Process, 1999
“the highest level concept of a system in itsenvironment. The architecture of a software
system (at a given point in time) is itsorganization or structure of signi�cant
components interacting through interfaces,those components being composed ofsuccessively smaller components and
interfaces“
![Page 4: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/4.jpg)
Martin Fowler, 2003
“Stuff that's hard to change later“
![Page 5: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/5.jpg)
KNOW YOUR ENEMY!
![Page 6: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/6.jpg)
Technische Schuld
“doing things the quick and dirty way sets usup with a technical debt, which is similar to a
�nancial debt. Like a �nancial debt, thetechnical debt incurs interest payments,
which come in the form of the extra effort thatwe have to do in future development because
of the quick and dirty design choice.“
Bewußte Entscheidung!
![Page 7: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/7.jpg)
Entropie (phys.)
“Tendenz in der unbelebten Welt zu immergrößerer Unordnung.“
Unbewußte Entwicklung!
![Page 8: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/8.jpg)
SYMPTOME DER ENTROPIE
![Page 9: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/9.jpg)
SCHLECHT ZU WARTEN
![Page 10: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/10.jpg)
SCHWER ZU ERWEITERN
![Page 11: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/11.jpg)
MANGELNDE WIEDERVERWENDBARKEIT
![Page 12: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/12.jpg)
SCHWER ZU TESTEN
![Page 13: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/13.jpg)
ZUNEHMENDE UNVERSTÄNDLICHKEIT
![Page 14: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/14.jpg)
URSACHEN
![Page 15: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/15.jpg)
ZIRKULÄRE ABHÄNGIGKEITENZwischen Klasse, Packages, Modulen etc.
![Page 16: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/16.jpg)
FEHLENDE ABSTRAKTIONKlassen, Packages, Module haben sehr viele Abhängigkeiten
![Page 17: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/17.jpg)
KEINE ODER MANGELHAFTE UMSETZUNG VONARCHITEKTURREGELNUnerlaubte Abhängigkeiten
![Page 18: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/18.jpg)
NIEDRIGE KOHÄSION, HOHE KOPPLUNGKohäsion bezeichnet den Zusammenhalt innerhalb einer
Komponente, Kopplung die äußere Bindung
![Page 19: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/19.jpg)
CODE SMELLSZyklomatische Komplexität, Duplizierter Code, Große
Klassen / Methoden, ...
![Page 20: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/20.jpg)
FIGHT BACK!
![Page 21: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/21.jpg)
SCHRITT 1: BESTANDSAUFNAHME“If you can't measure it, you can't manage it.“
![Page 22: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/22.jpg)
Bestehende Architektur ermittelnDependency Structure Matrix (DSM) AnalyseZirkuläre Abhängigkeiten aufdeckenMetriken sammeln
![Page 23: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/23.jpg)
![Page 24: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/24.jpg)
SCHRITT 2: DEFINITION DER ZIELPARAMETER
![Page 25: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/25.jpg)
Zielarchitektur bestimmenZiel-Code-Coverage de�nierenRealistische Boundaries für Metriken de�nieren
![Page 26: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/26.jpg)
SCHRITT 3: ZIELPARAMETER KONTINUIERLICHÜBERPRÜFEN
![Page 27: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/27.jpg)
Degraph (oder JDepend)Jenkins + SonarQubeStructure101
![Page 28: Reclaim Your Architecture](https://reader030.fdocuments.us/reader030/viewer/2022020314/58a3ecfc1a28ab272e8b5ab5/html5/thumbnails/28.jpg)
LINKS UND WEITERFÜHRENDE INFORMATIONENhttp://schauder.github.io/degraph/http://docs.sonarqube.org/display/HOME/Spaghetti+Designhttp://erik.doernenburg.com/2010/04/dependency-structure-matrix/http://www.ndepend.com/docs/dependency-structure-matrix-dsmhttp://structure101.com/resources/http://www.martinfowler.com/ieeeSoftware/coupling.pdfJava Application Architecture, Kirk Knoernschild