Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Software_Analytics_Workshop_Training_Bite.pdf

 Software_Analytics_Workshop_Training_Bite.pdf

9f8d7084bb37f5cb2a72796918fc5d2f?s=128

Markus Harrer

December 09, 2020
Tweet

Transcript

  1. Software Analytics Softwaresysteme datengetrieben analysieren 09.12.2020 INNOQ TECHNOLOGY DAY 1

    Training Bite Markus Harrer, Software Development Analyst
  2. “ Markus Harrer Senior Consultant, Nürnberg Tools only find, people

    have to find out!“ • Architektur-, Design- und Code-Reviews • Softwaremodernisierung und -sanierung • Datenanalysen in der Softwareentwicklung 2 Foundation & IMPROVE https://github.com/feststelltaste/awesome-software-analytics https://www.feststelltaste.de/ Instructor
  3. Öffentliche Termine ab Januar 2021 remote, firmenintern nach Abstimmung https://www.innoq.com/de/trainings/software-analytics

    Software Analytics Training 3
  4. Software Analytics

  5. "Software Analytics ist die Analyse von Softwaredaten für Manager und

    Softwareentwickler mit dem Ziel, es allen an der Entwicklung Beteiligten zu ermöglichen, neue Einsichten aus ihren Daten zu erhalten, um bessere Entscheidungen zu treffen.” Definition „Software Analytics“ Frei übersetzt nach Tim Menzies und Thomas Zimmermann 5
  6. Spezifische Fragen beantworten 6 Häufigkeit Fragen Wichtigkeit Nutze Standard-Tools für

    allgemeine Fragen Option 2: Setze Software Analytics zur Beantwortung wichtiger Fragen ein! Option 1: Verpenne die anderen Fragen einfach
  7. Analyse von Softwaresystemen* 7 aus (Graph) Data Science mit Vorgehen,

    Methoden und Standardwerkzeugen Hier im Training * wird sehr weit aufgefasst
  8. Anwendungsbeispiele 8

  9. Abhängigkeitsanalyse zwischen fachlichen Modulen 9 statisch

  10. Abhängigkeitsanalyse zwischen fachlichen Modulen 10 statisch Was kann ich leicht

    vom Rest separieren?
  11. Ermittlung von Performance-Hotspots über Call-Tree-Analyse 11 https://www.feststelltaste.de/performance-hotspots/ Laufzeit API-Calls zum

    Backend Einstiegspunkt in die Anwendung Hot-Spot-Metrik (z. B. Anzahl DB-Calls) Ausgangspunkt zum Bottleneck Wo sind die Performance- Hotspots?
  12. chronologisch Quantifizierung des Wissensverlusts bei Entwicklerfluktuation 12 https://www.feststelltaste.de/knowledge-islands/

  13. chronologisch Quantifizierung des Wissensverlusts bei Entwicklerfluktuation 13 https://www.feststelltaste.de/knowledge-islands/ Warum gibt

    es hier eine Wissensinsel?
  14. Analyse der Community-Aktivitäten um Software-Tools 14 Ist sogar eine Übung!

    Community Wie gut wird das Tool durch die Community supported?
  15. Hands-On

  16. Zugang zum Online-System 16

  17. Application Server Welcher Code in welchen Packages wird nicht verwendet?

    Hands-On „Production Coverage“ User Java Web Application JaCoCo Coverage per Class liefert verwendet PACKAGE,CLASS,LINE_MISSED,LINE_COVERED org.springframework.samples.petclinic,PetclinicInitializer,0,24 org.springframework.samples.petclinic.model,NamedEntity,1,4 org.springframework.samples.petclinic.model,Specialty,0,1 org.springframework.samples.petclinic.model,PetType,0,1 org.springframework.samples.petclinic.model,Vets,4,0 org.springframework.samples.petclinic.model,Visit,0,12 ... 17 →Spezieller Fall mit allgemeinen Analysemustern!
  18. http://mybinder.org/repo/innoq/mhitd2020 Der Weg zum Notebook 18

  19. Was gibt es noch?

  20. Kollaborative Übungen in Kleingruppen mit Miro Übungen mit Online-Whiteboard Übung

    zu Software Analytics Canvas Übung zum Aufbau von Datenanalysen
  21. Vernetzte Daten mittels Neo4j analysieren Graph-basierte Analysen Darstellung von Klassenabhängigkeiten

    in Neo4j
  22. Das war‘s schon wieder :-(

  23. 23 Fragen!? www.innoq.com Öffentliche Termine ab Januar 2021 remote, firmenintern

    nach Abstimmung https://www.innoq.com/de/trainings/software-analytics
  24. Aufgaben und Mini-Tutorials https://github.com/feststelltaste/ software-analytics-workshop Lust auf mehr? 24

  25. Anhang

  26. "Software Analytics is analytics on software data for managers and

    software engineers with the aim of empowering software development individuals and teams to gain and share insight from their data to make better decisions." Definition „Software Analytics“ Tim Menzies und Thomas Zimmermann 26
  27. Mein Blog https://feststelltaste.de TOP 5 Software Analytics https://www.feststelltaste.de/top-5-software-analytics/ Mein Software

    Analytics Repository https://github.com/feststelltaste/software-analytics Mini-Tutorial und mehr zu Software Analytics https://github.com/feststelltaste/software-analytics-workshop Einstieg in Software Analytics 27
  28. Mehr Infos zu Software Analytics Noch mehr: https://github.com/feststelltaste/awesome-software-analytics Adam Tornhill:

    Software X-Ray Tim Menzies, Laurie Williams, Thomas Zimmermann: Perspectives on Data Science for Software Engineering Christian Bird, Tim Menzies, Thomas Zimmermann: The Art and Science of Analyzing Software Data 28
  29. Infos zu Data Science Meine TOP5s • https://www.feststelltaste.de/top5-jupyter/ • https://www.feststelltaste.de/top5-pandas/

    • https://www.feststelltaste.de/top5-python/ 29 Jeff Leek: The Elements of Data Analytic Style Roger D. Peng: Report Writing for Data Science in R Wes McKinney: Python for Data Analysis
  30. Weitere Details zu jQAssistant/Neo4j https://easychair.org/publications/preprint/893N

  31. Details zum Training 31

  32. Kurzbeschreibung Nutzen Sie datengetriebene Softwareanalysen, um Entscheidungen bei der Weiterentwicklung

    Ihrer Softwaresysteme auf eine solide Faktenbasis zu stellen! Dieser Kurs bietet Ihnen dazu einen kompletten Einstieg in das Thema Software Analytics. Lernen Sie die Methodik, Vorgehensweisen und Werkzeuge, um eigenständig nachvollziehbare Datenanalysen in der Softwareentwicklung durchzuführen. 32
  33. Lernziele • Standardwerkzeuge aus dem Data-Science- und Graphdatenbanken-Bereich für die

    Analyse von Softwaredaten einsetzen • Probleme in der Softwareentwicklung datengetrieben, methodisch und strukturiert herausarbeiten • Handlungsorientierte Schlüsse aus den Analyseergebnissen ableiten • Analysen und Erkenntnisse verständlich kommunizieren 33
  34. Inhalte Tag 1 • Grundprobleme der Softwareentwicklung • Einführung in

    Software Analytics • Datenquellen für Analysen • Herausforderungen bei Analysen im Softwarebereich • Einführung in Reproducible Data Science • Datenanalysen mit Jupyter, Python, pandas & Co. • Visualisierungen mit matplotlib 34
  35. Inhalte Tag 2 • Interaktive Visualisierung mit D3 und pypal

    • Graph-basierte Softwareanalysen mit Neo4j • Integration von Software Analytics in die Softwareentwicklung • Ausblick in das Maschinelle Lernen auf Basis von Softwaredaten 35
  36. 36 Vielen Dank! innoQ Deutschland GmbH Krischerstr. 100 40789 Monheim

    am Rhein Germany +49 2173 3366-0 Ohlauer Str. 43 10999 Berlin Germany Ludwigstr. 180E 63067 Offenbach Germany Kreuzstr. 16 80331 München Germany Gewerbestr. 11 CH-6330 Cham Switzerland +41 41 743 01 11 Albulastr. 55 8048 Zürich Switzerland innoQ Schweiz GmbH www.innoq.com Markus Harrer markus.harrer@innoq.com @feststelltaste