SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
WPS - Workplace Solutions GmbH //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG
Dr. Carola Lilienthal
Carola.Lilienthal@wps.de
www.wps.de
Langlebige Softwarearchitekturen
16.10.2015 //// Seite 2WPS - Workplace Solutions GmbH
Architekturziele für Langlebige Softwarearchitekturen
Architekturziel 1: Wartbarkeit
• Analysierbarkeit und Verständlichkeit
• schnelle Fehleranalyse
• schnelle Changes
• Reduktion von Komplexität
Architekturziel 2: Fachliche Flexibilität
• Geschäftsprozesse verschiedener
Kunden unterstützen
• Anpassbarkeit an geänderte
Anforderungen
• Baukastenprinzip
16.10.2015 //// Seite 3WPS - Workplace Solutions GmbH
Technischen Schulden = Architektur-Erosion
Grad der
Wartbarkeit
Neue Funktionalität
pro Zeiteinheit
Korridor geringer
technischer Schulden
Refactorings
Regelmäßige Architektur-Erneuerung
Architektur-
Erosion
Wartung und Erweiterung
16.10.2015 //// Seite 4WPS - Workplace Solutions GmbH
Maßnahmen gegen technische Schulden
 Festlegen von verbindlichen Architekturzielen
 Durchgängige Architekturprinzipien und Architekturstile
 Automatisches Testen und Refactoring
 Weiterbildung der Architekturen und Entwickler
 Regelmäßige Architekturanalyse und -Erneuerung
16.10.2015 //// Seite 5WPS - Workplace Solutions GmbH
Architekturanalyse: Was ist das?
Findet sich die geplante Architektur (Soll-Architektur) in der
Strukturen der implementierten Software (Ist-Architektur) wieder?
Plan mit
Klassen =
Soll-Architektur Ist-Architektur
≠ Sourcecode
Directories
Packages
Namespaces
Subsysteme
Komponenten
Module
Schichten
16.10.2015 //// Seite 6WPS - Workplace Solutions GmbH
Erfahrungen und Erkenntnisse
 Typische Eigenschaften der Architektur nach Größen und Sprache
 Strukturelle Einfachheit und Einheitlichkeit ist der Schlüssel zum Erfolg
 Ohne Architektur-Erneuerung sammeln sich technische Schulden an
Erkenntnisse
16.10.2015 //// Seite 7WPS - Workplace Solutions GmbH
Strukturelle Einfachheit der Architektur = Zeitgewinn!
Einfach, einheitliche
Architektur
HierarchieModularität
Muster-
konsistenz
16.10.2015 //// Seite 8WPS - Workplace Solutions GmbH
Strukturelle Einfachheit der Architektur = Zeitgewinn!
Einfach, einheitliche
Architektur
HierarchieModularität
Muster-
konsistenz
16.10.2015 //// Seite 9WPS - Workplace Solutions GmbH
User Interface
Domain
Application
Muster in Architekturen: Schichten und Module
Fachliches
Modul B
Fachliches
Modul A
Fachliche Schichtung
TechnischeSchichtung Fachliches
Modul C
16.10.2015 //// Seite 10WPS - Workplace Solutions GmbH
Musterkonsistenz: Was finden wir?
 Ist die Abbildung der Architektur in der Struktur des Codes zu erkennen?
16.10.2015 //// Seite 11WPS - 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
16.10.2015 //// Seite 12WPS - Workplace Solutions GmbH
Fachliche Schichtung misslungen
Technische Schichtung Keine fachliche Schichtung
Wenige
Schichten-
verletzungen
Fast alle 90
fachlichen
Komponenten
brauchen sich
gegenseitig
16.10.2015 //// Seite 13WPS - Workplace Solutions GmbH
Uneven Modules
80% des Sourcecodes
9 Komponenten = 17 Subsysteme
16.10.2015 //// Seite 14WPS - Workplace Solutions GmbH
Muster in Architekturen: Entwurfsmuster und Mustersprachen
User Interface
Domain
Application
Fachliches Modul
Window
GUI
Model
View
C
o
n
t
r
o
l
ValueObject
Service
BusinessObject
SchichtungdurchMuster
16.10.2015 //// Seite 15WPS - Workplace Solutions GmbH
Mustersprache
 80% des Sourcecodes lässt sich den Mustern zuordnen
 0,1% Verletzungen in den Mustern
Eventer
Processes
Service
16.10.2015 //// Seite 16WPS - Workplace Solutions GmbH
Mustersprache
 80% des Sourcecodes lässt sich den 23 Mustern zuordnen
 4% Verletzungen in den Mustern
16.10.2015 //// Seite 17WPS - Workplace Solutions GmbH
Grundregeln struktureller Einfachheit für Architektur
Architekturkomplexität
HierarchieModularität
Muster-
konsistenz
 Architekturstil(e)
 Einheitlich und
durchgängige
 Zyklenfreiheit auf
allen Ebenen
 Zuständigkeit
 Kopplung
 Größenverhältnisse
 Schnittstellen
16.10.2015 //// Seite 18WPS - Workplace Solutions GmbH
Kostenfreie Werkzeuge
• SonarQube:
• Leitstand für Qualitätsmetriken
• Plattform für vielfältige Plugins
• JDepend:
• wenige Metriken
• einfache Abhängigkeitsanalyse
• JDepend + Google Architecture Rules:
• einfache Architekturbeschreibung
• Ndepend/CDepend:
• Metriken
• Abhängigkeitsanalyse
• XRadar:
• Analyse von Java-Projekten via maven
• Reports bezüglich Komplexität und Architekturverletzungen
• Moose
• Code City
16.10.2015 //// Seite 19WPS - Workplace Solutions GmbH
Kommerzielle Produkte
 Axivion Bauhaus: Java, .Net, C/C++, Ada, VB und Cobol
 Lattix: Java, .Net, C/C++, Ada, Delphi und DB-Systeme
 Structure101: Java, C++, Ada
 SotoArc und Sonargraph: Java, .Net, C/C++, ABAP, PHP
• TeamScale
• Software-
Diagnostics
16.10.2015 //// Seite 20WPS - Workplace Solutions GmbH
Phase 1: Aufräumen
Schrittweise Weiterentwicklung der Architektur
Phase 2: Verbessern Phase 3: Erhalten
Phase 1: Aufräumen
Abgleich Soll-/Ist-Architektur
fehlende Architektur-
konzepte ergänzen
Phase 2: Verbessern
Architektur diskutieren
und verbessern
Architekturregeln
festlegen
Phase 3: Erhalten
Im Architekturkorridor
bleiben
Langlebigkeit fördern
Initialer
Workshop
Verletzungen
beheben
Strukturen einziehen
Analyse-
Workshop
Anpassungen an
neue Architektur-
Regeln
Nach-
sorge
kleinere
Reparaturen
16.10.2015 //// Seite 21WPS - Workplace Solutions GmbH
Leitstand für Verbesserungen im laufenden Betrieb
 Die Architekturziele sind im ganzen Team präsent und werden verfolgt.
 Softwarewartung und –Änderung ist einfacher und kostengünstig.
 Die Software ist stabil, flexibel und langlebig.
 Neue Mitarbeiter können nach kurzer Zeit produktiv mitentwickeln.
Ergebnis
Tatsächliches
Problem?24%
34%
44%
54%
64%
74%
84%
94%
v1.0 v1.1_b1 v1.1_b2 v1.1_b3 v1.1 v1.2_b1 v1.2 v2.0_b1 v2.0_b2 v2.0
Architekturqualität
Feinentwurfsqualität
Implementierungsqualität
Testabdeckung
16.10.2015 //// Seite 22WPS - Workplace Solutions GmbH
Langlebige Software-Architekturen
Dr. Carola Lilienthal
Mitglied der Geschäftsleitung
cl@wps.de
www.wps.de
+49 170 184 77 11
Diplom-Informatikerin
@cairolali
16.10.2015 //// Seite 23WPS - Workplace Solutions GmbH
Vielen Dank für Ihre Aufmerksamkeit. Fragen?

Contenu connexe

Tendances

Automatisierung im DWH - Sich das Leben erleichern mit dem ODI
Automatisierung im DWH - Sich das Leben erleichern mit dem ODIAutomatisierung im DWH - Sich das Leben erleichern mit dem ODI
Automatisierung im DWH - Sich das Leben erleichern mit dem ODIOPITZ CONSULTING Deutschland
 
Wünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiert
Wünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiertWünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiert
Wünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiertWünsch AG
 
Rasterpunkt GmbH: Schulungskalender Output Management Solutions
Rasterpunkt GmbH: Schulungskalender Output Management Solutions Rasterpunkt GmbH: Schulungskalender Output Management Solutions
Rasterpunkt GmbH: Schulungskalender Output Management Solutions RasterpunktGmbH
 
Bedeutung von Integrationsarchitekturen im Zeitalter von Mobile, IoT und Cloud
Bedeutung von Integrationsarchitekturen im Zeitalter von Mobile, IoT und CloudBedeutung von Integrationsarchitekturen im Zeitalter von Mobile, IoT und Cloud
Bedeutung von Integrationsarchitekturen im Zeitalter von Mobile, IoT und CloudOPITZ CONSULTING Deutschland
 
05 Mehrschichtenarchitekturen und Enterprise Java Beans
05 Mehrschichtenarchitekturen und Enterprise Java Beans05 Mehrschichtenarchitekturen und Enterprise Java Beans
05 Mehrschichtenarchitekturen und Enterprise Java Beansklickandbau
 
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15die.agilen GmbH
 
BootsFaces and AngularFaces - Modern HTML5 for JSF developers
BootsFaces and AngularFaces - Modern HTML5 for JSF developers BootsFaces and AngularFaces - Modern HTML5 for JSF developers
BootsFaces and AngularFaces - Modern HTML5 for JSF developers OPITZ CONSULTING Deutschland
 
MDM Best Practices - Konzeption. Entstehung. Betrieb und typische Probleme
MDM Best Practices - Konzeption. Entstehung. Betrieb und typische Probleme MDM Best Practices - Konzeption. Entstehung. Betrieb und typische Probleme
MDM Best Practices - Konzeption. Entstehung. Betrieb und typische Probleme OPITZ CONSULTING Deutschland
 
Abayoo Netzwerkpartner AdaPro
Abayoo Netzwerkpartner AdaProAbayoo Netzwerkpartner AdaPro
Abayoo Netzwerkpartner AdaProAdaPro GmbH
 

Tendances (14)

The joy of multiple models
The joy of multiple modelsThe joy of multiple models
The joy of multiple models
 
Automatisierung im DWH - Sich das Leben erleichern mit dem ODI
Automatisierung im DWH - Sich das Leben erleichern mit dem ODIAutomatisierung im DWH - Sich das Leben erleichern mit dem ODI
Automatisierung im DWH - Sich das Leben erleichern mit dem ODI
 
Wünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiert
Wünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiertWünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiert
Wünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiert
 
Rasterpunkt GmbH: Schulungskalender Output Management Solutions
Rasterpunkt GmbH: Schulungskalender Output Management Solutions Rasterpunkt GmbH: Schulungskalender Output Management Solutions
Rasterpunkt GmbH: Schulungskalender Output Management Solutions
 
Bedeutung von Integrationsarchitekturen im Zeitalter von Mobile, IoT und Cloud
Bedeutung von Integrationsarchitekturen im Zeitalter von Mobile, IoT und CloudBedeutung von Integrationsarchitekturen im Zeitalter von Mobile, IoT und Cloud
Bedeutung von Integrationsarchitekturen im Zeitalter von Mobile, IoT und Cloud
 
05 Mehrschichtenarchitekturen und Enterprise Java Beans
05 Mehrschichtenarchitekturen und Enterprise Java Beans05 Mehrschichtenarchitekturen und Enterprise Java Beans
05 Mehrschichtenarchitekturen und Enterprise Java Beans
 
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
 
Forms 12c und der Oracle SB
Forms 12c und der Oracle SBForms 12c und der Oracle SB
Forms 12c und der Oracle SB
 
BootsFaces and AngularFaces - Modern HTML5 for JSF developers
BootsFaces and AngularFaces - Modern HTML5 for JSF developers BootsFaces and AngularFaces - Modern HTML5 for JSF developers
BootsFaces and AngularFaces - Modern HTML5 for JSF developers
 
IBM Connectday_ULC-Vortrag_Formularmanagement
IBM Connectday_ULC-Vortrag_FormularmanagementIBM Connectday_ULC-Vortrag_Formularmanagement
IBM Connectday_ULC-Vortrag_Formularmanagement
 
MDM Best Practices - Konzeption. Entstehung. Betrieb und typische Probleme
MDM Best Practices - Konzeption. Entstehung. Betrieb und typische Probleme MDM Best Practices - Konzeption. Entstehung. Betrieb und typische Probleme
MDM Best Practices - Konzeption. Entstehung. Betrieb und typische Probleme
 
Abayoo Netzwerkpartner AdaPro
Abayoo Netzwerkpartner AdaProAbayoo Netzwerkpartner AdaPro
Abayoo Netzwerkpartner AdaPro
 
[DE] Staffware Process Suite – Delivering the Process of Business | Dr. Ulric...
[DE] Staffware Process Suite – Delivering the Process of Business | Dr. Ulric...[DE] Staffware Process Suite – Delivering the Process of Business | Dr. Ulric...
[DE] Staffware Process Suite – Delivering the Process of Business | Dr. Ulric...
 
Webinar - Maschine kaputt - finde den Fehler!
Webinar - Maschine kaputt - finde den Fehler!Webinar - Maschine kaputt - finde den Fehler!
Webinar - Maschine kaputt - finde den Fehler!
 

En vedette

Große ziele kleine schritte
Große ziele kleine schritteGroße ziele kleine schritte
Große ziele kleine schritteCarola Lilienthal
 
Architekturstammbaum der WPS
Architekturstammbaum der WPSArchitekturstammbaum der WPS
Architekturstammbaum der WPSJohannes Rost
 
Große agile Teams - Zu viele Entwickler verderben den Brei?
Große agile Teams - Zu viele Entwickler verderben den Brei?Große agile Teams - Zu viele Entwickler verderben den Brei?
Große agile Teams - Zu viele Entwickler verderben den Brei?Julia Stoff
 
Distributed Product Owner Team @ syngo - presented at ScanDev SDC 2013
Distributed Product Owner Team @ syngo - presented at ScanDev SDC 2013Distributed Product Owner Team @ syngo - presented at ScanDev SDC 2013
Distributed Product Owner Team @ syngo - presented at ScanDev SDC 2013Andrea Heck
 
Reducing technical debt in php
Reducing technical debt in phpReducing technical debt in php
Reducing technical debt in phpCarola Lilienthal
 
Story Maps - Liefern was wirklich zählt
Story Maps - Liefern was wirklich zähltStory Maps - Liefern was wirklich zählt
Story Maps - Liefern was wirklich zähltChristian Hassa
 
Why Java Sucks and C# Rocks (Final)
Why Java Sucks and C# Rocks (Final)Why Java Sucks and C# Rocks (Final)
Why Java Sucks and C# Rocks (Final)jeffz
 
Virus informaticos cristian monroy 1002
Virus informaticos  cristian monroy 1002Virus informaticos  cristian monroy 1002
Virus informaticos cristian monroy 1002cristianmonroyh
 
La paradoja dubraska nunez
La paradoja dubraska nunezLa paradoja dubraska nunez
La paradoja dubraska nunezdubraska1985
 
Disco móvil
Disco móvilDisco móvil
Disco móvilMadanga
 
Studie Xununu14: Jobs bei XING und LinkedIn - Stellenanzeigen in Deutschen Un...
Studie Xununu14: Jobs bei XING und LinkedIn - Stellenanzeigen in Deutschen Un...Studie Xununu14: Jobs bei XING und LinkedIn - Stellenanzeigen in Deutschen Un...
Studie Xununu14: Jobs bei XING und LinkedIn - Stellenanzeigen in Deutschen Un...Michael Rajiv Shah
 
Aufgabe der performanz yiğit cem pehlivan
Aufgabe der performanz  yiğit cem pehlivanAufgabe der performanz  yiğit cem pehlivan
Aufgabe der performanz yiğit cem pehlivanYiğit Pehlivan
 
2010 01 Þjóðfundur kynning fyrir 20/20 Sóknarhóp Ríkisstjórnar
2010 01 Þjóðfundur kynning fyrir 20/20 Sóknarhóp Ríkisstjórnar2010 01 Þjóðfundur kynning fyrir 20/20 Sóknarhóp Ríkisstjórnar
2010 01 Þjóðfundur kynning fyrir 20/20 Sóknarhóp RíkisstjórnarGudjon Mar Gudjonsson
 
Greenpeace, contaminación de la Cuenca Matanza Riachuelo, participación de ar...
Greenpeace, contaminación de la Cuenca Matanza Riachuelo, participación de ar...Greenpeace, contaminación de la Cuenca Matanza Riachuelo, participación de ar...
Greenpeace, contaminación de la Cuenca Matanza Riachuelo, participación de ar...Martin Alberto Belaustegui
 
Urgencias estrategias terapeuticas en medicina de urgencia
Urgencias   estrategias terapeuticas en medicina de urgenciaUrgencias   estrategias terapeuticas en medicina de urgencia
Urgencias estrategias terapeuticas en medicina de urgenciaedubruno2015
 

En vedette (20)

Große ziele kleine schritte
Große ziele kleine schritteGroße ziele kleine schritte
Große ziele kleine schritte
 
Architekturstammbaum der WPS
Architekturstammbaum der WPSArchitekturstammbaum der WPS
Architekturstammbaum der WPS
 
Große agile Teams - Zu viele Entwickler verderben den Brei?
Große agile Teams - Zu viele Entwickler verderben den Brei?Große agile Teams - Zu viele Entwickler verderben den Brei?
Große agile Teams - Zu viele Entwickler verderben den Brei?
 
Distributed Product Owner Team @ syngo - presented at ScanDev SDC 2013
Distributed Product Owner Team @ syngo - presented at ScanDev SDC 2013Distributed Product Owner Team @ syngo - presented at ScanDev SDC 2013
Distributed Product Owner Team @ syngo - presented at ScanDev SDC 2013
 
Reducing technical debt in php
Reducing technical debt in phpReducing technical debt in php
Reducing technical debt in php
 
Mehr Softwarequalität: Technische Schulden
Mehr Softwarequalität: Technische SchuldenMehr Softwarequalität: Technische Schulden
Mehr Softwarequalität: Technische Schulden
 
Story Maps - Liefern was wirklich zählt
Story Maps - Liefern was wirklich zähltStory Maps - Liefern was wirklich zählt
Story Maps - Liefern was wirklich zählt
 
Why Java Sucks and C# Rocks (Final)
Why Java Sucks and C# Rocks (Final)Why Java Sucks and C# Rocks (Final)
Why Java Sucks and C# Rocks (Final)
 
Virus informaticos cristian monroy 1002
Virus informaticos  cristian monroy 1002Virus informaticos  cristian monroy 1002
Virus informaticos cristian monroy 1002
 
Hipervinculo 1 k_jose
Hipervinculo 1 k_joseHipervinculo 1 k_jose
Hipervinculo 1 k_jose
 
La paradoja dubraska nunez
La paradoja dubraska nunezLa paradoja dubraska nunez
La paradoja dubraska nunez
 
Disco móvil
Disco móvilDisco móvil
Disco móvil
 
022
022022
022
 
Studie Xununu14: Jobs bei XING und LinkedIn - Stellenanzeigen in Deutschen Un...
Studie Xununu14: Jobs bei XING und LinkedIn - Stellenanzeigen in Deutschen Un...Studie Xununu14: Jobs bei XING und LinkedIn - Stellenanzeigen in Deutschen Un...
Studie Xununu14: Jobs bei XING und LinkedIn - Stellenanzeigen in Deutschen Un...
 
Aufgabe der performanz yiğit cem pehlivan
Aufgabe der performanz  yiğit cem pehlivanAufgabe der performanz  yiğit cem pehlivan
Aufgabe der performanz yiğit cem pehlivan
 
2010 01 Þjóðfundur kynning fyrir 20/20 Sóknarhóp Ríkisstjórnar
2010 01 Þjóðfundur kynning fyrir 20/20 Sóknarhóp Ríkisstjórnar2010 01 Þjóðfundur kynning fyrir 20/20 Sóknarhóp Ríkisstjórnar
2010 01 Þjóðfundur kynning fyrir 20/20 Sóknarhóp Ríkisstjórnar
 
Greenpeace, contaminación de la Cuenca Matanza Riachuelo, participación de ar...
Greenpeace, contaminación de la Cuenca Matanza Riachuelo, participación de ar...Greenpeace, contaminación de la Cuenca Matanza Riachuelo, participación de ar...
Greenpeace, contaminación de la Cuenca Matanza Riachuelo, participación de ar...
 
Urgencias estrategias terapeuticas en medicina de urgencia
Urgencias   estrategias terapeuticas en medicina de urgenciaUrgencias   estrategias terapeuticas en medicina de urgencia
Urgencias estrategias terapeuticas en medicina de urgencia
 
Técnicas de estudio
Técnicas de estudioTécnicas de estudio
Técnicas de estudio
 
Proyectodelsena2.doc
Proyectodelsena2.docProyectodelsena2.doc
Proyectodelsena2.doc
 

Similaire à Langlebige Softwarearchitekturen - Der Umgang mit technischen Schulden

Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - AnwendungsmodernisierungDev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - AnwendungsmodernisierungDevDay Dresden
 
BPMN und Workflows in .NET
BPMN und Workflows in .NETBPMN und Workflows in .NET
BPMN und Workflows in .NETBernd Ruecker
 
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...BATbern
 
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...JRibbeck
 
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...DNUG e.V.
 
DNUG 2014 Herbstkonferenz: Moderne Architektur - Hochskalierbare Anwendungsar...
DNUG 2014 Herbstkonferenz: Moderne Architektur - Hochskalierbare Anwendungsar...DNUG 2014 Herbstkonferenz: Moderne Architektur - Hochskalierbare Anwendungsar...
DNUG 2014 Herbstkonferenz: Moderne Architektur - Hochskalierbare Anwendungsar...JRibbeck
 
Webcast: Vorlagenmanagement - Best Practices 2015
Webcast: Vorlagenmanagement - Best Practices 2015Webcast: Vorlagenmanagement - Best Practices 2015
Webcast: Vorlagenmanagement - Best Practices 2015COC AG
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core ApplicationsRobin Sedlaczek
 
Architekturen für .NET Core-Anwendungen
Architekturen für .NET Core-AnwendungenArchitekturen für .NET Core-Anwendungen
Architekturen für .NET Core-AnwendungenRobin Sedlaczek
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Andreas Wissel
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightChristinaLerch1
 
20040921 Serviceorientierte Architektur für WebSphere und WebSphere Portal
20040921 Serviceorientierte Architektur für WebSphere und WebSphere Portal20040921 Serviceorientierte Architektur für WebSphere und WebSphere Portal
20040921 Serviceorientierte Architektur für WebSphere und WebSphere PortalFrank Rahn
 
.NET Core Architecture (UI)
.NET Core Architecture (UI).NET Core Architecture (UI)
.NET Core Architecture (UI)Robin Sedlaczek
 
Rapid Application Development mit Openobject
Rapid Application Development mit OpenobjectRapid Application Development mit Openobject
Rapid Application Development mit Openobjectopenbig
 
Developer Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-AnwendungenDeveloper Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-AnwendungenRobin Sedlaczek
 
Domain-Driven Design in der Praxis
Domain-Driven Design in der PraxisDomain-Driven Design in der Praxis
Domain-Driven Design in der PraxisMichael Mirold
 
Architektur = Kommunikation
Architektur = KommunikationArchitektur = Kommunikation
Architektur = KommunikationMatthias Bohlen
 
Process Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, RaiffeisenProcess Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, Raiffeisencamunda services GmbH
 

Similaire à Langlebige Softwarearchitekturen - Der Umgang mit technischen Schulden (20)

Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - AnwendungsmodernisierungDev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
 
BPMN und Workflows in .NET
BPMN und Workflows in .NETBPMN und Workflows in .NET
BPMN und Workflows in .NET
 
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
 
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
 
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
 
DNUG 2014 Herbstkonferenz: Moderne Architektur - Hochskalierbare Anwendungsar...
DNUG 2014 Herbstkonferenz: Moderne Architektur - Hochskalierbare Anwendungsar...DNUG 2014 Herbstkonferenz: Moderne Architektur - Hochskalierbare Anwendungsar...
DNUG 2014 Herbstkonferenz: Moderne Architektur - Hochskalierbare Anwendungsar...
 
Webcast: Vorlagenmanagement - Best Practices 2015
Webcast: Vorlagenmanagement - Best Practices 2015Webcast: Vorlagenmanagement - Best Practices 2015
Webcast: Vorlagenmanagement - Best Practices 2015
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core Applications
 
Architekturen für .NET Core-Anwendungen
Architekturen für .NET Core-AnwendungenArchitekturen für .NET Core-Anwendungen
Architekturen für .NET Core-Anwendungen
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
 
20040921 Serviceorientierte Architektur für WebSphere und WebSphere Portal
20040921 Serviceorientierte Architektur für WebSphere und WebSphere Portal20040921 Serviceorientierte Architektur für WebSphere und WebSphere Portal
20040921 Serviceorientierte Architektur für WebSphere und WebSphere Portal
 
.NET Core Architecture (UI)
.NET Core Architecture (UI).NET Core Architecture (UI)
.NET Core Architecture (UI)
 
Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014
 
Rapid Application Development mit Openobject
Rapid Application Development mit OpenobjectRapid Application Development mit Openobject
Rapid Application Development mit Openobject
 
Developer Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-AnwendungenDeveloper Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-Anwendungen
 
Kevin Hofer
Kevin HoferKevin Hofer
Kevin Hofer
 
Domain-Driven Design in der Praxis
Domain-Driven Design in der PraxisDomain-Driven Design in der Praxis
Domain-Driven Design in der Praxis
 
Architektur = Kommunikation
Architektur = KommunikationArchitektur = Kommunikation
Architektur = Kommunikation
 
Process Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, RaiffeisenProcess Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, Raiffeisen
 

Plus de Carola Lilienthal

its all about the domain honey! Experiences from 15 years of Domain-Driven De...
its all about the domain honey! Experiences from 15 years of Domain-Driven De...its all about the domain honey! Experiences from 15 years of Domain-Driven De...
its all about the domain honey! Experiences from 15 years of Domain-Driven De...Carola Lilienthal
 
its all about the domain, honey! Experiences from 15 years of Domain-Driven D...
its all about the domain, honey! Experiences from 15 years of Domain-Driven D...its all about the domain, honey! Experiences from 15 years of Domain-Driven D...
its all about the domain, honey! Experiences from 15 years of Domain-Driven D...Carola Lilienthal
 
Resolving technical debt in software architecture
Resolving technical debt in software architectureResolving technical debt in software architecture
Resolving technical debt in software architectureCarola Lilienthal
 
DDD Foundation: Improving legacy
DDD Foundation: Improving legacyDDD Foundation: Improving legacy
DDD Foundation: Improving legacyCarola Lilienthal
 
Its all about the domain honey engl
Its all about the domain honey englIts all about the domain honey engl
Its all about the domain honey englCarola Lilienthal
 

Plus de Carola Lilienthal (6)

its all about the domain honey! Experiences from 15 years of Domain-Driven De...
its all about the domain honey! Experiences from 15 years of Domain-Driven De...its all about the domain honey! Experiences from 15 years of Domain-Driven De...
its all about the domain honey! Experiences from 15 years of Domain-Driven De...
 
its all about the domain, honey! Experiences from 15 years of Domain-Driven D...
its all about the domain, honey! Experiences from 15 years of Domain-Driven D...its all about the domain, honey! Experiences from 15 years of Domain-Driven D...
its all about the domain, honey! Experiences from 15 years of Domain-Driven D...
 
Improving legacy
Improving legacyImproving legacy
Improving legacy
 
Resolving technical debt in software architecture
Resolving technical debt in software architectureResolving technical debt in software architecture
Resolving technical debt in software architecture
 
DDD Foundation: Improving legacy
DDD Foundation: Improving legacyDDD Foundation: Improving legacy
DDD Foundation: Improving legacy
 
Its all about the domain honey engl
Its all about the domain honey englIts all about the domain honey engl
Its all about the domain honey engl
 

Langlebige Softwarearchitekturen - Der Umgang mit technischen Schulden

  • 1. WPS - Workplace Solutions GmbH //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG Dr. Carola Lilienthal Carola.Lilienthal@wps.de www.wps.de Langlebige Softwarearchitekturen
  • 2. 16.10.2015 //// Seite 2WPS - Workplace Solutions GmbH Architekturziele für Langlebige Softwarearchitekturen Architekturziel 1: Wartbarkeit • Analysierbarkeit und Verständlichkeit • schnelle Fehleranalyse • schnelle Changes • Reduktion von Komplexität Architekturziel 2: Fachliche Flexibilität • Geschäftsprozesse verschiedener Kunden unterstützen • Anpassbarkeit an geänderte Anforderungen • Baukastenprinzip
  • 3. 16.10.2015 //// Seite 3WPS - Workplace Solutions GmbH Technischen Schulden = Architektur-Erosion Grad der Wartbarkeit Neue Funktionalität pro Zeiteinheit Korridor geringer technischer Schulden Refactorings Regelmäßige Architektur-Erneuerung Architektur- Erosion Wartung und Erweiterung
  • 4. 16.10.2015 //// Seite 4WPS - Workplace Solutions GmbH Maßnahmen gegen technische Schulden  Festlegen von verbindlichen Architekturzielen  Durchgängige Architekturprinzipien und Architekturstile  Automatisches Testen und Refactoring  Weiterbildung der Architekturen und Entwickler  Regelmäßige Architekturanalyse und -Erneuerung
  • 5. 16.10.2015 //// Seite 5WPS - Workplace Solutions GmbH Architekturanalyse: Was ist das? Findet sich die geplante Architektur (Soll-Architektur) in der Strukturen der implementierten Software (Ist-Architektur) wieder? Plan mit Klassen = Soll-Architektur Ist-Architektur ≠ Sourcecode Directories Packages Namespaces Subsysteme Komponenten Module Schichten
  • 6. 16.10.2015 //// Seite 6WPS - Workplace Solutions GmbH Erfahrungen und Erkenntnisse  Typische Eigenschaften der Architektur nach Größen und Sprache  Strukturelle Einfachheit und Einheitlichkeit ist der Schlüssel zum Erfolg  Ohne Architektur-Erneuerung sammeln sich technische Schulden an Erkenntnisse
  • 7. 16.10.2015 //// Seite 7WPS - Workplace Solutions GmbH Strukturelle Einfachheit der Architektur = Zeitgewinn! Einfach, einheitliche Architektur HierarchieModularität Muster- konsistenz
  • 8. 16.10.2015 //// Seite 8WPS - Workplace Solutions GmbH Strukturelle Einfachheit der Architektur = Zeitgewinn! Einfach, einheitliche Architektur HierarchieModularität Muster- konsistenz
  • 9. 16.10.2015 //// Seite 9WPS - Workplace Solutions GmbH User Interface Domain Application Muster in Architekturen: Schichten und Module Fachliches Modul B Fachliches Modul A Fachliche Schichtung TechnischeSchichtung Fachliches Modul C
  • 10. 16.10.2015 //// Seite 10WPS - Workplace Solutions GmbH Musterkonsistenz: Was finden wir?  Ist die Abbildung der Architektur in der Struktur des Codes zu erkennen?
  • 11. 16.10.2015 //// Seite 11WPS - 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
  • 12. 16.10.2015 //// Seite 12WPS - Workplace Solutions GmbH Fachliche Schichtung misslungen Technische Schichtung Keine fachliche Schichtung Wenige Schichten- verletzungen Fast alle 90 fachlichen Komponenten brauchen sich gegenseitig
  • 13. 16.10.2015 //// Seite 13WPS - Workplace Solutions GmbH Uneven Modules 80% des Sourcecodes 9 Komponenten = 17 Subsysteme
  • 14. 16.10.2015 //// Seite 14WPS - Workplace Solutions GmbH Muster in Architekturen: Entwurfsmuster und Mustersprachen User Interface Domain Application Fachliches Modul Window GUI Model View C o n t r o l ValueObject Service BusinessObject SchichtungdurchMuster
  • 15. 16.10.2015 //// Seite 15WPS - Workplace Solutions GmbH Mustersprache  80% des Sourcecodes lässt sich den Mustern zuordnen  0,1% Verletzungen in den Mustern Eventer Processes Service
  • 16. 16.10.2015 //// Seite 16WPS - Workplace Solutions GmbH Mustersprache  80% des Sourcecodes lässt sich den 23 Mustern zuordnen  4% Verletzungen in den Mustern
  • 17. 16.10.2015 //// Seite 17WPS - Workplace Solutions GmbH Grundregeln struktureller Einfachheit für Architektur Architekturkomplexität HierarchieModularität Muster- konsistenz  Architekturstil(e)  Einheitlich und durchgängige  Zyklenfreiheit auf allen Ebenen  Zuständigkeit  Kopplung  Größenverhältnisse  Schnittstellen
  • 18. 16.10.2015 //// Seite 18WPS - Workplace Solutions GmbH Kostenfreie Werkzeuge • SonarQube: • Leitstand für Qualitätsmetriken • Plattform für vielfältige Plugins • JDepend: • wenige Metriken • einfache Abhängigkeitsanalyse • JDepend + Google Architecture Rules: • einfache Architekturbeschreibung • Ndepend/CDepend: • Metriken • Abhängigkeitsanalyse • XRadar: • Analyse von Java-Projekten via maven • Reports bezüglich Komplexität und Architekturverletzungen • Moose • Code City
  • 19. 16.10.2015 //// Seite 19WPS - Workplace Solutions GmbH Kommerzielle Produkte  Axivion Bauhaus: Java, .Net, C/C++, Ada, VB und Cobol  Lattix: Java, .Net, C/C++, Ada, Delphi und DB-Systeme  Structure101: Java, C++, Ada  SotoArc und Sonargraph: Java, .Net, C/C++, ABAP, PHP • TeamScale • Software- Diagnostics
  • 20. 16.10.2015 //// Seite 20WPS - Workplace Solutions GmbH Phase 1: Aufräumen Schrittweise Weiterentwicklung der Architektur Phase 2: Verbessern Phase 3: Erhalten Phase 1: Aufräumen Abgleich Soll-/Ist-Architektur fehlende Architektur- konzepte ergänzen Phase 2: Verbessern Architektur diskutieren und verbessern Architekturregeln festlegen Phase 3: Erhalten Im Architekturkorridor bleiben Langlebigkeit fördern Initialer Workshop Verletzungen beheben Strukturen einziehen Analyse- Workshop Anpassungen an neue Architektur- Regeln Nach- sorge kleinere Reparaturen
  • 21. 16.10.2015 //// Seite 21WPS - Workplace Solutions GmbH Leitstand für Verbesserungen im laufenden Betrieb  Die Architekturziele sind im ganzen Team präsent und werden verfolgt.  Softwarewartung und –Änderung ist einfacher und kostengünstig.  Die Software ist stabil, flexibel und langlebig.  Neue Mitarbeiter können nach kurzer Zeit produktiv mitentwickeln. Ergebnis Tatsächliches Problem?24% 34% 44% 54% 64% 74% 84% 94% v1.0 v1.1_b1 v1.1_b2 v1.1_b3 v1.1 v1.2_b1 v1.2 v2.0_b1 v2.0_b2 v2.0 Architekturqualität Feinentwurfsqualität Implementierungsqualität Testabdeckung
  • 22. 16.10.2015 //// Seite 22WPS - Workplace Solutions GmbH Langlebige Software-Architekturen Dr. Carola Lilienthal Mitglied der Geschäftsleitung cl@wps.de www.wps.de +49 170 184 77 11 Diplom-Informatikerin @cairolali
  • 23. 16.10.2015 //// Seite 23WPS - Workplace Solutions GmbH Vielen Dank für Ihre Aufmerksamkeit. Fragen?