Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Wir sind ein Dresdner IT-Beratungsunternehmen,
gegründet im Jahre 2008. Unsere Schwerpunkte
liegen in den Bereichen Softwa...
 Eine Medaille – Zwei Seiten
◼ Hohe Komplexität, aufwendig zu pflegen
◼ Bewährtes Rückgrat betrieblicher Abläufe
 Geschäftliche Rahmenbedingungen ändern sich kontinuierlich
◼ Mitbewerber, Geschäftsmodelle, …
 Kann das System folgen?
 Grundlegende qualitative Eigenschaften
◼ Skalierbarkeit, Performanz, Sicherheit, Wartbarkeit, ...
 Manifestierung in Co...
 Notwendigkeit der (kontinuierlichen) Anpassung
 Begrenztes und unsicheres Wissen
◼ Risiko für Planung, Implementierung ...
Dokumentierte Architektur
<>
Gefühlte Architektur
<>
Reale Architektur
Neu-Implementierung
Zerlegung in Microservices
Restruktukrierung des Mononlithen
 Open-Source e-Commerce System „shopizer“
◼ Warenkorb
◼ Katalog
◼ Suche
◼ Bestellung
◼ Shop-Administration
 Fork: https:...
 Szenario: Katalog sorgt für hohe Systemlast zu Spitzenzeiten
◼ Gesamtes System muss skaliert werden
Allokation theoreti...
 Lösung
◼ Herauslösen des Katalogs
 Problem(e)
◼ Wieviel (und welcher) Code ist betroffen?
◼ Welche Schnittstellen exist...
https://spongebob.fandom.com/wiki/List_of_time_cards
https://imgflip.com/memegenerator/Skeptical-Baby
https://builder.cheezburger.com/Builder/RenderPreview/65f84df1-bae0-4cb8-9602-5205a7caf98d
 Data Analytics für Software Systeme
◼ Extraktion und Zusammenführung von Informationen aus
Source Code
Statischen und ...
 Dokumentation von Erkenntnissen
◼ Unterstützung von Planung und Refaktorisierung
◼ Referenz für (neue) Entwickler
◼ Komm...
https://www.kino.de/serie/hoer-mal-wer-da-haemmert-1999/news/hoer-mal-wer-da-haemmert-tim-allen-bringt-neue-folgen-ins-ges...
 Tooling
◼ jQAssistant
Scan der Applikation und Abbildung in Graphdatenbank
◼ Neo4j
Persistierung und Abfrage von Infor...
service
:Package
Product
Service
:CONTAINS
:Type:Java
Match (:Package{name: ‘‘service“})-[:CONTAINS]->(type:Type:Java) RET...
 Schier unendliche Menge an
möglichen Fragestellungen
◼ Abhängig von Ziel und Qualität
sowie Quantität der
vorliegenden D...
 Wie ist die Anwendung technisch strukturiert?
 Wie ist die Anwendung fachlich strukturiert?
 Wie hängen die einzelnen ...
Vorbereitung der Anwendung
<plugin>
<groupId>com.buschmais.jqassistant</groupId>
<artifactId>jqassistant-maven-plugin</artifactId>
<version>1.6.0</ve...
mvn clean install jqassistant:server
→ localhost:7474
https://www.memecreator.org/meme/lets-get-to-work81
Wie ist die Anwendung technisch strukturiert?
 Technischen Architekturelemente (z.B. Layer)
 Abhängigkeiten zwischen technischen Architekturelementen
 Umsetzung der ...
 Live-Demo
◼ Abhängigkeit zwischen maven-
Modulen
◼ Zuordnung von Artefakten zu
Layern (Presentation, Domain,
Data Layer)...
 Learning Outcomes
◼ die Anwendung folgt einer klassischen 3-Schichten-Architektur
◼ die Richtungen der Abhängigkeiten wu...
Wie ist die Anwendung fachlich strukturiert?
 Implementierte Subdomänen
 Fachliche Architekturelemente (z.B. Module)
 Umsetzung der fachlichen Architektur im Code
...
 Wo ist eine gute fachliche Strukturierung am ehesten zu
erwarten?
◼ Spring-Services
◼ Paketnamen (service, konkrete Fach...
 Live-Demo
◼ Fachliche Packages
(Subdomänen)
◼ Zuordnung von Klassen zu
Subdomänen anhand Package-
Namen
Classes
catalog ...
 Learning Outcomes
◼ die Geschäftslogik teilt sich in 13 fachlich motivierte Subdomänen
◼ es konnten 69% aller Klassen zu...
Wie hängen die Fachlichkeiten zusammen?
 Existierende Abhängigkeiten zwischen Subdomänen
◼ Erlaubte und Unerwartete/Verbotene Abhängigkeiten
◼ Anzahl an Abhängig...
 Live-Demo
◼ Visualisierung von
Abhängigkeiten
◼ Analyse von
Ein- und Ausgehenden
Abhängigkeiten
Kopplungsgrad
Hot-Spo...
 Learning Outcomes
◼ die Suche gehört exklusiv zum Katalog
◼ die Kommunikation zwischen Katalog und Kern ist schwach durc...
 Learning Outcomes
◼ der Katalog definiert 169 Abhängigkeiten zum Kern auf Klassenebene,
27 davon gegen Interfaces
Hot S...
 Learning Outcomes
◼ der Kern definiert 162 Abhängigkeiten zum Katalog auf Klassenebene,
5 davon gegen Interfaces
Hot Sp...
War‘s das?
 Software Analytics bietet nahezu unbegrenzte Möglichkeiten
 Analyse abhängig von
◼ betrachtetem Softwaresystem
◼ vorhan...
 Weitere Analysen
◼ Ownership von Subdomänen, Fix-Commits
◼ Testcoverage, Teststruktur
◼ Defektdichten
◼ Toter Code
◼ Ana...
 Bewertung der Ergebnisse notwendig
◼ Tiefergehende Analysen für kritische Stellen
◼ Relevanz und Priorisierung
◼ Planung...
 2-Tages Workshop
 Strukturiert vom Monolithen zum
Modulithen und Microservices
 Interaktiv am Beispiel eines e-
Commer...
Fragen bitte an: Stephan Pirnbaum
buschmais GbR
Inhaber
Torsten Busch, Frank Schwarz,
Dirk Mahler und Tobias Israel
stepha...
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics
Upcoming SlideShare
Loading in …5
×

of

Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 1 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 2 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 3 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 4 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 5 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 6 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 7 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 8 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 9 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 10 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 11 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 12 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 13 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 14 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 15 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 16 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 17 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 18 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 19 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 20 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 21 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 22 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 23 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 24 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 25 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 26 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 27 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 28 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 29 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 30 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 31 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 32 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 33 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 34 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 35 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 36 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 37 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 38 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 39 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 40 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 41 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 42 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 43 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 44 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 45 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 46 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 47 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 48 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 49 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 50 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 51 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 52 Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics Slide 53
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

0 Likes

Share

Download to read offline

Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics

Download to read offline

Unser über Jahre gewachsenes monolithisches System soll modernisiert werden und wir ziehen dafür eine Restrukturierung bzw. Zerlegung in Betracht. Wie gut kennen wir aber eigentlich unser Legacy-System? Die Dokumentation ist veraltet und die verantwortlichen Entwickler haben das Unternehmen vor langer Zeit verlassen. Wie finden wir nun heraus, wie sich fachliche und technische Aspekte in der Code-Struktur abbilden, welche Zusammenhänge zwischen diesen bestehen und wo Risiken schlummern?

Der Vortrag nähert sich dieser Frage via Software Analytics. Am Beispiel eines Open-Source eCommerce-Systems wird gezeigt, wie die werkzeugunterstützte Analyse von Code-Strukturen und Metriken Licht ins Dunkel bringen kann. Mit den gewonnenen Informationen und geeigneten Visualisierungen kann anschließend der Prozess von der Aufwandsabschätzung bis hin zur Umstrukturierung wirkungsvoll unterstützt werden.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Software Analytics

  1. 1. Wir sind ein Dresdner IT-Beratungsunternehmen, gegründet im Jahre 2008. Unsere Schwerpunkte liegen in den Bereichen Softwareentwicklung, Architektur-beratung und Training. Gemeinsam mit unseren Kunden entwerfen und implementieren wir fachlich passgenaue Lösungen auf Basis der Java-Technologien. buschmais GbR Inhaber Torsten Busch, Frank Schwarz, Dirk Mahler und Tobias Israel Adresse Leipziger Str. 93 01127 Dresden info@buschmais.com www.buschmais.de
  2. 2.  Eine Medaille – Zwei Seiten ◼ Hohe Komplexität, aufwendig zu pflegen ◼ Bewährtes Rückgrat betrieblicher Abläufe
  3. 3.  Geschäftliche Rahmenbedingungen ändern sich kontinuierlich ◼ Mitbewerber, Geschäftsmodelle, …  Kann das System folgen?
  4. 4.  Grundlegende qualitative Eigenschaften ◼ Skalierbarkeit, Performanz, Sicherheit, Wartbarkeit, ...  Manifestierung in Code und Prozessen ◼ Technologien, Strukturen, Muster, Test-Strategie, ...  Änderungen? Aufwändig und riskant!
  5. 5.  Notwendigkeit der (kontinuierlichen) Anpassung  Begrenztes und unsicheres Wissen ◼ Risiko für Planung, Implementierung und Refaktorisierung ◼ Kann zu Angst vor Änderungen führen  Kontinuierliche Verschlechterung der Situation als Resultat
  6. 6. Dokumentierte Architektur <> Gefühlte Architektur <> Reale Architektur
  7. 7. Neu-Implementierung Zerlegung in Microservices Restruktukrierung des Mononlithen
  8. 8.  Open-Source e-Commerce System „shopizer“ ◼ Warenkorb ◼ Katalog ◼ Suche ◼ Bestellung ◼ Shop-Administration  Fork: https://github.com/buschmais/shopizer
  9. 9.  Szenario: Katalog sorgt für hohe Systemlast zu Spitzenzeiten ◼ Gesamtes System muss skaliert werden Allokation theoretisch unnötiger Ressourcen ◼ Wettkampf um verfügbare Ressourcen Behinderung anderer Funktionalitäten ◼ Lastbedingte Ausfälle betreffen gesamtes System
  10. 10.  Lösung ◼ Herauslösen des Katalogs  Problem(e) ◼ Wieviel (und welcher) Code ist betroffen? ◼ Welche Schnittstellen existieren bzw. müssen geschaffen werden? ◼ Welche Daten müssen repliziert werden? ◼ Welches Vorgehen ist das richtige? ◼ …
  11. 11. https://spongebob.fandom.com/wiki/List_of_time_cards
  12. 12. https://imgflip.com/memegenerator/Skeptical-Baby
  13. 13. https://builder.cheezburger.com/Builder/RenderPreview/65f84df1-bae0-4cb8-9602-5205a7caf98d
  14. 14.  Data Analytics für Software Systeme ◼ Extraktion und Zusammenführung von Informationen aus Source Code Statischen und dynamischen Eigenschaften Entwicklungshistorien ◼ Schlussfolgern von neuen Informationen zum Aufbau von Wissen
  15. 15.  Dokumentation von Erkenntnissen ◼ Unterstützung von Planung und Refaktorisierung ◼ Referenz für (neue) Entwickler ◼ Kommunikationsgrundlage für Entwickler und Entscheider
  16. 16. https://www.kino.de/serie/hoer-mal-wer-da-haemmert-1999/news/hoer-mal-wer-da-haemmert-tim-allen-bringt-neue-folgen-ins-gespraech/
  17. 17.  Tooling ◼ jQAssistant Scan der Applikation und Abbildung in Graphdatenbank ◼ Neo4j Persistierung und Abfrage von Informationen ◼ Jupyter Notebook Dokumentation der Analyseschritte und Ergebnisse
  18. 18. service :Package Product Service :CONTAINS :Type:Java Match (:Package{name: ‘‘service“})-[:CONTAINS]->(type:Type:Java) RETURN type Node NodeRelationship LABEL PROPERTY LABELVAR
  19. 19.  Schier unendliche Menge an möglichen Fragestellungen ◼ Abhängig von Ziel und Qualität sowie Quantität der vorliegenden Daten https://makeameme.org/meme/possibilities-are-endless-59fa8f
  20. 20.  Wie ist die Anwendung technisch strukturiert?  Wie ist die Anwendung fachlich strukturiert?  Wie hängen die einzelnen Fachlichkeiten zusammen?  Welcher Code wird am häufigsten geändert?
  21. 21. Vorbereitung der Anwendung
  22. 22. <plugin> <groupId>com.buschmais.jqassistant</groupId> <artifactId>jqassistant-maven-plugin</artifactId> <version>1.6.0</version> <executions><execution> <goals> <goal>scan</goal> <goal>analyze</goal> </goals> </execution></executions> <.../> </plugin>
  23. 23. mvn clean install jqassistant:server → localhost:7474
  24. 24. https://www.memecreator.org/meme/lets-get-to-work81
  25. 25. Wie ist die Anwendung technisch strukturiert?
  26. 26.  Technischen Architekturelemente (z.B. Layer)  Abhängigkeiten zwischen technischen Architekturelementen  Umsetzung der technischen Architektur im Code  Aussagekraft der Ergebnisse
  27. 27.  Live-Demo ◼ Abhängigkeit zwischen maven- Modulen ◼ Zuordnung von Artefakten zu Layern (Presentation, Domain, Data Layer) <<maven>> sm-shop <<maven>> sm-core <<maven>> sm-core-modules <<maven>> sm-core-model
  28. 28.  Learning Outcomes ◼ die Anwendung folgt einer klassischen 3-Schichten-Architektur ◼ die Richtungen der Abhängigkeiten wurden korrekt implementiert ◼ es konnten 100% des Codes zu technischen Schichten zugeordnet werden
  29. 29. Wie ist die Anwendung fachlich strukturiert?
  30. 30.  Implementierte Subdomänen  Fachliche Architekturelemente (z.B. Module)  Umsetzung der fachlichen Architektur im Code  Aussagekraft der Ergebnisse
  31. 31.  Wo ist eine gute fachliche Strukturierung am ehesten zu erwarten? ◼ Spring-Services ◼ Paketnamen (service, konkrete Fachlichkeiten wenn bekannt) ◼ Explorieren der Anwendung in IDE
  32. 32.  Live-Demo ◼ Fachliche Packages (Subdomänen) ◼ Zuordnung von Klassen zu Subdomänen anhand Package- Namen Classes catalog common content customer merchant order payments reference search shipping shoppingcart system tax user
  33. 33.  Learning Outcomes ◼ die Geschäftslogik teilt sich in 13 fachlich motivierte Subdomänen ◼ es konnten 69% aller Klassen zu Fachlichkeiten zugeordnet werden ◼ der Katalog ist mit 140 Klassen die größte Subdomäne
  34. 34. Wie hängen die Fachlichkeiten zusammen?
  35. 35.  Existierende Abhängigkeiten zwischen Subdomänen ◼ Erlaubte und Unerwartete/Verbotene Abhängigkeiten ◼ Anzahl an Abhängigkeiten ◼ Hot Spots
  36. 36.  Live-Demo ◼ Visualisierung von Abhängigkeiten ◼ Analyse von Ein- und Ausgehenden Abhängigkeiten Kopplungsgrad Hot-Spot Klassen
  37. 37.  Learning Outcomes ◼ die Suche gehört exklusiv zum Katalog ◼ die Kommunikation zwischen Katalog und Kern ist schwach durch Interfaces entkoppelt
  38. 38.  Learning Outcomes ◼ der Katalog definiert 169 Abhängigkeiten zum Kern auf Klassenebene, 27 davon gegen Interfaces Hot Spots sind MerchantStore und Language
  39. 39.  Learning Outcomes ◼ der Kern definiert 162 Abhängigkeiten zum Katalog auf Klassenebene, 5 davon gegen Interfaces Hot Spot ist Product
  40. 40. War‘s das?
  41. 41.  Software Analytics bietet nahezu unbegrenzte Möglichkeiten  Analyse abhängig von ◼ betrachtetem Softwaresystem ◼ vorhandenen Daten ◼ Fragestellungen
  42. 42.  Weitere Analysen ◼ Ownership von Subdomänen, Fix-Commits ◼ Testcoverage, Teststruktur ◼ Defektdichten ◼ Toter Code ◼ Analyse von Laufzeitdaten ◼ ...
  43. 43.  Bewertung der Ergebnisse notwendig ◼ Tiefergehende Analysen für kritische Stellen ◼ Relevanz und Priorisierung ◼ Planung von Refaktorisierung und Implementierung ◼ Management von Technical Debt
  44. 44.  2-Tages Workshop  Strukturiert vom Monolithen zum Modulithen und Microservices  Interaktiv am Beispiel eines e- Commerce Shopsystems  Nächster Termin: November 2019 https://www.buschmais.de/seminare/lasst-uns-einen-monolithen-zerlegen/
  45. 45. Fragen bitte an: Stephan Pirnbaum buschmais GbR Inhaber Torsten Busch, Frank Schwarz, Dirk Mahler und Tobias Israel stephan.pirnbaum@buschmais.com http://buschmais.de/ Dresden, 21.05.2019

Unser über Jahre gewachsenes monolithisches System soll modernisiert werden und wir ziehen dafür eine Restrukturierung bzw. Zerlegung in Betracht. Wie gut kennen wir aber eigentlich unser Legacy-System? Die Dokumentation ist veraltet und die verantwortlichen Entwickler haben das Unternehmen vor langer Zeit verlassen. Wie finden wir nun heraus, wie sich fachliche und technische Aspekte in der Code-Struktur abbilden, welche Zusammenhänge zwischen diesen bestehen und wo Risiken schlummern? Der Vortrag nähert sich dieser Frage via Software Analytics. Am Beispiel eines Open-Source eCommerce-Systems wird gezeigt, wie die werkzeugunterstützte Analyse von Code-Strukturen und Metriken Licht ins Dunkel bringen kann. Mit den gewonnenen Informationen und geeigneten Visualisierungen kann anschließend der Prozess von der Aufwandsabschätzung bis hin zur Umstrukturierung wirkungsvoll unterstützt werden.

Views

Total views

234

On Slideshare

0

From embeds

0

Number of embeds

101

Actions

Downloads

3

Shares

0

Comments

0

Likes

0

×