Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
WPS - Workplace Solutions GmbH //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG
Technische Schulden tun weh!
Wie man sie er...
10.04.2017 //// Seite 4WPS - Workplace Solutions GmbH
Software-
Architektur
Anforderungs-
ermittlung
Leitstand und
Interak...
10.04.2017 //// Seite 6WPS - Workplace Solutions GmbH
Dr. Carola Lilienthal
Geschäftsführerin
cl@wps.de
www.wps.de
+49 40 ...
10.04.2017 //// Seite 7WPS - Workplace Solutions GmbH
Expertise zu Architekturanalyse
10.04.2017 //// Seite 8WPS - Workplace Solutions GmbH
10.04.2017 //// Seite 10WPS - Workplace Solutions GmbH
Architekturziele für Langlebigkeit
Architekturziel 1: Wartbarkeit
•...
10.04.2017 //// Seite 11WPS - Workplace Solutions GmbH
70%
20%
10%
Code verstehen
Problem lösen
Code schreiben
Womit verbr...
10.04.2017 //// Seite 12WPS - Workplace Solutions GmbH
Architekturanalyse: Was ist das?
Findet sich die geplante Architekt...
10.04.2017 //// Seite 13WPS - Workplace Solutions GmbH
Mob Architecting – Architekturanalyse im Team
10.04.2017 //// Seite 18WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
B...
10.04.2017 //// Seite 19WPS - Workplace Solutions GmbH
10.04.2017 //// Seite 23WPS - Workplace Solutions GmbH
class XYManager
{
function register_service($service) {…}
function ...
10.04.2017 //// Seite 24WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
B...
10.04.2017 //// Seite 26WPS - Workplace Solutions GmbH
Modularität
Hohe Kohäsion und
lose Kopplung
Separation of Concern...
10.04.2017 //// Seite 27WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
B...
10.04.2017 //// Seite 28WPS - Workplace Solutions GmbH
Hierarchien
 
10.04.2017 //// Seite 30WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
B...
10.04.2017 //// Seite 35WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
B...
10.04.2017 //// Seite 36WPS - Workplace Solutions GmbH
User Interface
Domain
Application
Hierarchien in Architekturebene: ...
10.04.2017 //// Seite 37WPS - Workplace Solutions GmbH
Typische bei jungen Systemen
Gute technische Schichtung Unfertige f...
10.04.2017 //// Seite 38WPS - Workplace Solutions GmbH
Zwei Dimensionen einer Architektur
Technische Schichtung Fachliche ...
10.04.2017 //// Seite 40WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
B...
10.04.2017 //// Seite 41WPS - Workplace Solutions GmbH
Uneven Modules
9 Komponenten = 17 Subsysteme
10.04.2017 //// Seite 42WPS - Workplace Solutions GmbH
Uneven Modules
Ein großer Monolith mit vielen kleinen Satelliten
95...
10.04.2017 //// Seite 43WPS - Workplace Solutions GmbH
128 Build Units mit Anzahl Klassen
 3 Mio von
9 Mio LOC
 1/3 des
...
10.04.2017 //// Seite 44WPS - Workplace Solutions GmbH
5.270 Klassen in einem Zyklus
in einer BuildUnit
10.04.2017 //// Seite 47WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
B...
10.04.2017 //// Seite 48WPS - Workplace Solutions GmbH
Muster auf Architekturebene: Vier Module
Modul
Grün
Modul
Lila
Modu...
10.04.2017 //// Seite 49WPS - Workplace Solutions GmbH
Musterkonsistenz: Was finden wir?
 Ist die Abbildung der Architekt...
10.04.2017 //// Seite 50WPS - Workplace Solutions GmbH
Muster sinnvoll eingesetzt
10.04.2017 //// Seite 51WPS - Workplace Solutions GmbH
Muster auf Klassenebene: Entwurfsmuster und Mustersprachen
User
Int...
10.04.2017 //// Seite 52WPS - Workplace Solutions GmbH
Kaputte Muster führen zu Zyklen
10.04.2017 //// Seite 53WPS - Workplace Solutions GmbH
119 Klassen aus 4 Komponenten
+ 28 weitere Klassen
10.04.2017 //// Seite 54WPS - Workplace Solutions GmbH
Große Zyklen sichtbar machen
327 Klassen aus 8 Komponenten
brauchen...
10.04.2017 //// Seite 55WPS - Workplace Solutions GmbH
10.04.2017 //// Seite 56WPS - Workplace Solutions GmbH
Gute umgesetzte Mustersprache
 90% des Sourcecodes lässt sich den ...
10.04.2017 //// Seite 60WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
B...
10.04.2017 //// Seite 64WPS - Workplace Solutions GmbH
Qualität von Softwarearchitekturen
- Java, C#, C++, ABAP, PHP -
10.04.2017 //// Seite 65WPS - Workplace Solutions GmbH
Vielen Dank für Ihre Aufmerksamkeit!
Schulungen zu
Architektur und Domain-Driven Design
wps.de/schulung
10.04.2017 //// Seite 67WPS - Workplace Solutions GmbH
Dr. Carola Lilienthal
Geschäftsführerin
cl@wps.de
www.wps.de
+49 40...
Technische Schulden tun weh! Wie man sie erkennt und beseitigt
Technische Schulden tun weh! Wie man sie erkennt und beseitigt
Nächste SlideShare
Wird geladen in …5
×

Technische Schulden tun weh! Wie man sie erkennt und beseitigt

727 Aufrufe

Veröffentlicht am

Fast jedes Softwaresystem wird mit guten Vorsätzen aber unter schwierigen Bedingungen entwickelt. Deadlines, unterschiedliche Qualifikationen und Missverständnisse im Entwicklungsteam führen dazu, dass die Architektur des Systems erodiert und Schritt für Schritt technische Schulden aufgebaut werden. Bis das ganze System zu einem unordentlichen großen Knäul verwoben ist und jede Anpassung zu einer unkalkulierbaren Kostenschraube wird. Weder den Entwicklungsteam, noch dem Management macht ein System in einem solchen Zustand Freude.
In diesem Vortrag zeige ich Ihnen, wie Sie Ihren Sourcecode organisieren und weiterentwickeln können, um das Entstehen und Ansteigen von technischen Schulden zu verhindern. Dabei werden Sie sehen, welche Prinzipien helfen, technische Schulden zu vermeiden und wie sie durch geeignete Refactoring aus der Welt geschaffen werden können. Basis aller Empfehlungen werden Beispiele aus den nunmehr über 100 Analysen sein, die ich an unterschiedlichsten Softwaresystemen durchführen durfte.

Veröffentlicht in: Daten & Analysen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Technische Schulden tun weh! Wie man sie erkennt und beseitigt

  1. 1. WPS - Workplace Solutions GmbH //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG Technische Schulden tun weh! Wie man sie erkennt und beseitigt. Dr. Carola Lilienthal, cl@wps.de, @cairolali www.wps.de
  2. 2. 10.04.2017 //// Seite 4WPS - Workplace Solutions GmbH Software- Architektur Anforderungs- ermittlung Leitstand und Interaktion Individual- software Business-Software, die Spaß macht! WPS – Workplace Solutions GmbH
  3. 3. 10.04.2017 //// Seite 6WPS - Workplace Solutions GmbH Dr. Carola Lilienthal Geschäftsführerin cl@wps.de www.wps.de +49 40 229 499-0 +49 40 229 499-299 +49 170 184 77 11 Diplom-Informatikerin @cairolali a @cairolali cl@wps.de www.llsa.de
  4. 4. 10.04.2017 //// Seite 7WPS - Workplace Solutions GmbH Expertise zu Architekturanalyse
  5. 5. 10.04.2017 //// Seite 8WPS - Workplace Solutions GmbH
  6. 6. 10.04.2017 //// Seite 10WPS - Workplace Solutions GmbH Architekturziele für Langlebigkeit Architekturziel 1: Wartbarkeit • schnelle Fehleranalyse • schnelle Anpassungen • Handlungssicherheit • Stabilität Architekturziel 2: Flexibilität • Varianten von Geschäftsprozessen • Geänderte Anforderungen • Serviceorientierung und Skalierbarkeit • Baukastenprinzip
  7. 7. 10.04.2017 //// Seite 11WPS - Workplace Solutions GmbH 70% 20% 10% Code verstehen Problem lösen Code schreiben Womit verbringen wir unsere Zeit?
  8. 8. 10.04.2017 //// Seite 12WPS - Workplace Solutions GmbH Architekturanalyse: Was ist das? Findet sich die geplante Architektur (Soll-Architektur) in der Strukturen der implementierten Software (Ist-Architektur) wieder? Soll-Architektur Ist-Architektur ≠ Sourcecode Plan mit Klassen = Directories Packages Namespaces Subsysteme Komponenten Module Schichten
  9. 9. 10.04.2017 //// Seite 13WPS - Workplace Solutions GmbH Mob Architecting – Architekturanalyse im Team
  10. 10. 10.04.2017 //// Seite 18WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata
  11. 11. 10.04.2017 //// Seite 19WPS - Workplace Solutions GmbH
  12. 12. 10.04.2017 //// Seite 23WPS - Workplace Solutions GmbH class XYManager { function register_service($service) {…} function get_service : Service {…} function initialize_service_registry() {…} function send_event($event) {…} function initialize_printer_queue() {…} function print_document($doc) {…} }
  13. 13. 10.04.2017 //// Seite 24WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata Einfache, einheitliche Architektur Modularität
  14. 14. 10.04.2017 //// Seite 26WPS - Workplace Solutions GmbH Modularität Hohe Kohäsion und lose Kopplung Separation of Concerns Single Responsibility Principle
  15. 15. 10.04.2017 //// Seite 27WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata Einfache, einheitliche Architektur Modularität
  16. 16. 10.04.2017 //// Seite 28WPS - Workplace Solutions GmbH Hierarchien  
  17. 17. 10.04.2017 //// Seite 30WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata Einfache, einheitliche Architektur HierarchisierungModularität
  18. 18. 10.04.2017 //// Seite 35WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata Einfache, einheitliche Architektur HierarchisierungModularität Musterkonsistenz
  19. 19. 10.04.2017 //// Seite 36WPS - Workplace Solutions GmbH User Interface Domain Application Hierarchien in Architekturebene: Schichten und Module Fachliches Modul B Fachliches Modul A Fachliche Schichtung TechnischeSchichtung Fachliches Modul C
  20. 20. 10.04.2017 //// Seite 37WPS - Workplace Solutions GmbH Typische bei jungen Systemen Gute technische Schichtung Unfertige fachliche Struktur  Technische Struktur  Fachliche Struktur ist unklar
  21. 21. 10.04.2017 //// Seite 38WPS - Workplace Solutions GmbH Zwei Dimensionen einer Architektur Technische Schichtung Fachliche Schichtung Leicht zu behebende Verletzungen Schwer zu behebende Verletzungen Eine Komponente verursacht die Probleme Eine Komponente verursacht die Probleme
  22. 22. 10.04.2017 //// Seite 40WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata Einfache, einheitliche Architektur HierarchisierungModularität Musterkonsistenz
  23. 23. 10.04.2017 //// Seite 41WPS - Workplace Solutions GmbH Uneven Modules 9 Komponenten = 17 Subsysteme
  24. 24. 10.04.2017 //// Seite 42WPS - Workplace Solutions GmbH Uneven Modules Ein großer Monolith mit vielen kleinen Satelliten 950.860 LOC 84.808 LOC Häufige Ursache: Build-System, das Zyklen verbietet
  25. 25. 10.04.2017 //// Seite 43WPS - Workplace Solutions GmbH 128 Build Units mit Anzahl Klassen  3 Mio von 9 Mio LOC  1/3 des Systems
  26. 26. 10.04.2017 //// Seite 44WPS - Workplace Solutions GmbH 5.270 Klassen in einem Zyklus in einer BuildUnit
  27. 27. 10.04.2017 //// Seite 47WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata Einfache, einheitliche Architektur HierarchisierungModularität Musterkonsistenz
  28. 28. 10.04.2017 //// Seite 48WPS - Workplace Solutions GmbH Muster auf Architekturebene: Vier Module Modul Grün Modul Lila Modul Orange Modul Blau
  29. 29. 10.04.2017 //// Seite 49WPS - Workplace Solutions GmbH Musterkonsistenz: Was finden wir?  Ist die Abbildung der Architektur in der Struktur des Codes zu erkennen?
  30. 30. 10.04.2017 //// Seite 50WPS - Workplace Solutions GmbH Muster sinnvoll eingesetzt
  31. 31. 10.04.2017 //// Seite 51WPS - Workplace Solutions GmbH Muster auf Klassenebene: Entwurfsmuster und Mustersprachen User Interface Domain Application Fachliches Modul A Fachliche Schichtung Fachliches Modul C Fachliches Modul B Window GUI Model View C o n t r o l ValueObject Service BusinessObject SchichtungdurchMuster
  32. 32. 10.04.2017 //// Seite 52WPS - Workplace Solutions GmbH Kaputte Muster führen zu Zyklen
  33. 33. 10.04.2017 //// Seite 53WPS - Workplace Solutions GmbH 119 Klassen aus 4 Komponenten + 28 weitere Klassen
  34. 34. 10.04.2017 //// Seite 54WPS - Workplace Solutions GmbH Große Zyklen sichtbar machen 327 Klassen aus 8 Komponenten brauchen sich gegenseitig
  35. 35. 10.04.2017 //// Seite 55WPS - Workplace Solutions GmbH
  36. 36. 10.04.2017 //// Seite 56WPS - Workplace Solutions GmbH Gute umgesetzte Mustersprache  90% des Sourcecodes lässt sich den Mustern zuordnen  0,1% Verletzungen in den Mustern Eventer Processes Service
  37. 37. 10.04.2017 //// Seite 60WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata HierarchisierungModularität Musterkonsistenz  Einheitliche und durchgängige Muster  Zyklenfreiheit auf allen Ebenen  Zuständigkeit  Kopplung  Größenverhältnisse  Schnittstellen
  38. 38. 10.04.2017 //// Seite 64WPS - Workplace Solutions GmbH Qualität von Softwarearchitekturen - Java, C#, C++, ABAP, PHP -
  39. 39. 10.04.2017 //// Seite 65WPS - Workplace Solutions GmbH Vielen Dank für Ihre Aufmerksamkeit!
  40. 40. Schulungen zu Architektur und Domain-Driven Design wps.de/schulung
  41. 41. 10.04.2017 //// Seite 67WPS - Workplace Solutions GmbH Dr. Carola Lilienthal Geschäftsführerin cl@wps.de www.wps.de +49 40 229 499-0 +49 40 229 499-299 +49 170 184 77 11 Diplom-Informatikerin @cairolali a @cairolali cl@wps.de www.llsa.de Vielen Dank für Ihre Aufmerksamkeit!

×