SlideShare a Scribd company logo
1 of 22
MilenaReichel@costanova Software Metrics und  Continuous Integration Hamburg 21.03.2011
Überblick Definition Software Metriken Sinn und Zweck Software Metriken Verschiedene Produkt-/Codemetriken ActionScript Code Coverage Plug-in FlexPMD Integration in den Alltag / Continuous Integration Fazit
Definition und Zweck Software-Metriken sind mathematische Instrumente zum Messen bestimmter Eigenschaften vom Software-Entwicklungsprozess – Qualität messbar machen Einsatz von Produkt- und Prozess-Metriken zur Zeit- / Resourcenplanung( Requirements, Schätzungen, Design, Code ) Risikoabschätzung Frühen Erkennung von Problemen/ Qualitätsmanagement Verbesserung Wartbarkeit / Erweiterbarkeit
Klassische Code-Metriken LOC – Lines of Code Function Points Cyclomatic Complexity WievielePfadegibtesimAblaufgraph? Halstead-Maße Anzahl von verschiedenen Operatoren und Operanden und ihre Gesamtzahl bestimmt Schwierigkeit, Volumen und Umfang
LOC x=x+4 How inefficient. Much better to write: x=x+1; x=x+1; x=x+1; x=x+1; http://thedailywtf.com/Articles/Productivity-20.aspx
OOP Metriken Depth of inheritance tree (DIT)  Wiederverwendung + Struktur Komplexität, Abstraktion, Fehlerwahrscheinlichkeit - Coupling between objects (CBO) Number of children (NOC) WichtigkeitderKlasse + Testaufwand – AufwandbeiÄnderungen -
Test Coverage vargallery:Gallery = new Gallery(); this.galleryModel.gallery = gallery; Assert.assertEquals("galleryModelshouldhave a gallery", this.galleryModel.gallery != null, true ); Wie viel % des Codes sind getestet? Messung: Test werden durchgelaufen ausgeführter Code wird gezählt Sinnhaftigkeit von Asserts wird nicht geprüft
Coverage public class StaticDataRequestTest {  		@Test public void startClientReqest() { 		 try {  			new StaticDataRequest().onData(null);  assertEquals( " processing client static data request ", true, 			true); }  		catch (Exception ex) {  assertEquals( " processing client static data request ", true, 			true); }  		} } http://thedailywtf.com/Articles/Unit-Tested.aspx
Spezifische Metriken Typisierung Flex Life Cycle Kommentare ASDoc Naming Conventions Unbenutzte Methoden und Variablen
Code Metriken + ActionScript: Code Coverage Adobe hat ein Code Coverage Tool in den Labs zur Verfügung gestellt Prüft Test Coverage Wie viel % des Codes werden ausgeführt? Wird aus dem Flashbuilder Premium gestartet Nachfolger von Flexcover (gepatchtes Framework notwendig) Flexmojos/Maven kann auch Coverage berechnen Generierung von Coberturareports/Sonarpatch
Report http://wwwimages.adobe.com/labs.adobe.com/cdn/wiki/images/0/0b/PackageView.png http://wwwimages.adobe.com/labs.adobe.com/cdn/wiki/images/0/0b/PackageView.png http://wwwimages.adobe.com/labs.adobe.com/cdn/wiki/images/d/d1/ClassView2.png
Code Metriken + Flex: FlexPmd FlexPMD: Tool für Software Metriken in Flex/AS3 ,[object Object]
Unbenutzter Code
Ineffizienter Code (komplexeKonstruktoren)
Cyclomatic Complexity
Zulanger Code
Einsatz des Flex Lifecycles,[object Object]
FlexPMD:Wieverwenden? ,[object Object]
AlsTeil von manuellen Code reviews
AutomatisiertübereinContinous Integration System,[object Object]
Continuous Integration ,[object Object]

More Related Content

Viewers also liked

DIE MARKTMEINUNG AUS STUTTGART: Unerschütterlicher Optimismus
DIE MARKTMEINUNG AUS STUTTGART: Unerschütterlicher OptimismusDIE MARKTMEINUNG AUS STUTTGART: Unerschütterlicher Optimismus
DIE MARKTMEINUNG AUS STUTTGART: Unerschütterlicher OptimismusEllwanger & Geiger Privatbankiers
 
GI2010 symposium-ws2.2-intro nachtigall (alkis)
GI2010 symposium-ws2.2-intro nachtigall (alkis)GI2010 symposium-ws2.2-intro nachtigall (alkis)
GI2010 symposium-ws2.2-intro nachtigall (alkis)IGN Vorstand
 
Brauerize
BrauerizeBrauerize
Brauerizeclip6
 
Kommentar zum Immobilienaktienmarkt: Europäische Immobilienaktien entwickeln ...
Kommentar zum Immobilienaktienmarkt: Europäische Immobilienaktien entwickeln ...Kommentar zum Immobilienaktienmarkt: Europäische Immobilienaktien entwickeln ...
Kommentar zum Immobilienaktienmarkt: Europäische Immobilienaktien entwickeln ...Ellwanger & Geiger Privatbankiers
 
Presseinformation E&G: Anlagestrategie an schwierige Bedingungen anpassen
Presseinformation E&G: Anlagestrategie an schwierige Bedingungen anpassenPresseinformation E&G: Anlagestrategie an schwierige Bedingungen anpassen
Presseinformation E&G: Anlagestrategie an schwierige Bedingungen anpassenEllwanger & Geiger Privatbankiers
 
ELLWANGER & GEIGER: Kapital & Märkte, Ausgabe Dezember 2013
ELLWANGER & GEIGER: Kapital & Märkte, Ausgabe Dezember 2013ELLWANGER & GEIGER: Kapital & Märkte, Ausgabe Dezember 2013
ELLWANGER & GEIGER: Kapital & Märkte, Ausgabe Dezember 2013Ellwanger & Geiger Privatbankiers
 
DIE MARKTMEINUNG AUS STUTTGART: Und jährlich grüßt das Schulden-Murmeltier
DIE MARKTMEINUNG AUS STUTTGART: Und jährlich grüßt das Schulden-MurmeltierDIE MARKTMEINUNG AUS STUTTGART: Und jährlich grüßt das Schulden-Murmeltier
DIE MARKTMEINUNG AUS STUTTGART: Und jährlich grüßt das Schulden-MurmeltierEllwanger & Geiger Privatbankiers
 
INDUSTRIE- UND LOGISTIKIMMOBILIEN REGION STUTTGART; Stand 2012
INDUSTRIE- UND LOGISTIKIMMOBILIEN REGION STUTTGART; Stand 2012INDUSTRIE- UND LOGISTIKIMMOBILIEN REGION STUTTGART; Stand 2012
INDUSTRIE- UND LOGISTIKIMMOBILIEN REGION STUTTGART; Stand 2012Ellwanger & Geiger Privatbankiers
 
Kommentar zum Immobilienaktienmarkt: Aktienmarkt büßt kräftig an Wert ein
Kommentar zum Immobilienaktienmarkt: Aktienmarkt büßt kräftig an Wert einKommentar zum Immobilienaktienmarkt: Aktienmarkt büßt kräftig an Wert ein
Kommentar zum Immobilienaktienmarkt: Aktienmarkt büßt kräftig an Wert einEllwanger & Geiger Privatbankiers
 
Presseinformation: MIPIM 2012 – Stuttgart ist erstklassiger Immobilienstandor...
Presseinformation: MIPIM 2012 – Stuttgart ist erstklassiger Immobilienstandor...Presseinformation: MIPIM 2012 – Stuttgart ist erstklassiger Immobilienstandor...
Presseinformation: MIPIM 2012 – Stuttgart ist erstklassiger Immobilienstandor...Ellwanger & Geiger Privatbankiers
 

Viewers also liked (20)

Lattgg
LattggLattgg
Lattgg
 
Der Reit-Investor Ausgabe November 2014
Der Reit-Investor Ausgabe November 2014Der Reit-Investor Ausgabe November 2014
Der Reit-Investor Ausgabe November 2014
 
DIE MARKTMEINUNG AUS STUTTGART: Unerschütterlicher Optimismus
DIE MARKTMEINUNG AUS STUTTGART: Unerschütterlicher OptimismusDIE MARKTMEINUNG AUS STUTTGART: Unerschütterlicher Optimismus
DIE MARKTMEINUNG AUS STUTTGART: Unerschütterlicher Optimismus
 
GI2010 symposium-ws2.2-intro nachtigall (alkis)
GI2010 symposium-ws2.2-intro nachtigall (alkis)GI2010 symposium-ws2.2-intro nachtigall (alkis)
GI2010 symposium-ws2.2-intro nachtigall (alkis)
 
Brauerize
BrauerizeBrauerize
Brauerize
 
SIEGA VERDE
SIEGA VERDESIEGA VERDE
SIEGA VERDE
 
Kommentar zum Immobilienaktienmarkt: Europäische Immobilienaktien entwickeln ...
Kommentar zum Immobilienaktienmarkt: Europäische Immobilienaktien entwickeln ...Kommentar zum Immobilienaktienmarkt: Europäische Immobilienaktien entwickeln ...
Kommentar zum Immobilienaktienmarkt: Europäische Immobilienaktien entwickeln ...
 
DIE MARKTMEINUNG AUS STUTTGART
DIE MARKTMEINUNG AUS STUTTGARTDIE MARKTMEINUNG AUS STUTTGART
DIE MARKTMEINUNG AUS STUTTGART
 
Presseinformation E&G: Anlagestrategie an schwierige Bedingungen anpassen
Presseinformation E&G: Anlagestrategie an schwierige Bedingungen anpassenPresseinformation E&G: Anlagestrategie an schwierige Bedingungen anpassen
Presseinformation E&G: Anlagestrategie an schwierige Bedingungen anpassen
 
Investmentmarktbericht Stuttgart 2014/2015
Investmentmarktbericht Stuttgart 2014/2015Investmentmarktbericht Stuttgart 2014/2015
Investmentmarktbericht Stuttgart 2014/2015
 
DIE MARKTMEINUNG AUS STUTTGART: Alle sieben Jahre
DIE MARKTMEINUNG AUS STUTTGART: Alle sieben JahreDIE MARKTMEINUNG AUS STUTTGART: Alle sieben Jahre
DIE MARKTMEINUNG AUS STUTTGART: Alle sieben Jahre
 
Kapital & Märkte, Ausgabe Januar 2015
Kapital & Märkte, Ausgabe Januar 2015Kapital & Märkte, Ausgabe Januar 2015
Kapital & Märkte, Ausgabe Januar 2015
 
Kapital & Märkte, Ausgabe Februar 2015
Kapital & Märkte, Ausgabe Februar 2015Kapital & Märkte, Ausgabe Februar 2015
Kapital & Märkte, Ausgabe Februar 2015
 
ELLWANGER & GEIGER: Kapital & Märkte, Ausgabe Dezember 2013
ELLWANGER & GEIGER: Kapital & Märkte, Ausgabe Dezember 2013ELLWANGER & GEIGER: Kapital & Märkte, Ausgabe Dezember 2013
ELLWANGER & GEIGER: Kapital & Märkte, Ausgabe Dezember 2013
 
DIE MARKTMEINUNG AUS STUTTGART: Und jährlich grüßt das Schulden-Murmeltier
DIE MARKTMEINUNG AUS STUTTGART: Und jährlich grüßt das Schulden-MurmeltierDIE MARKTMEINUNG AUS STUTTGART: Und jährlich grüßt das Schulden-Murmeltier
DIE MARKTMEINUNG AUS STUTTGART: Und jährlich grüßt das Schulden-Murmeltier
 
INDUSTRIE- UND LOGISTIKIMMOBILIEN REGION STUTTGART; Stand 2012
INDUSTRIE- UND LOGISTIKIMMOBILIEN REGION STUTTGART; Stand 2012INDUSTRIE- UND LOGISTIKIMMOBILIEN REGION STUTTGART; Stand 2012
INDUSTRIE- UND LOGISTIKIMMOBILIEN REGION STUTTGART; Stand 2012
 
Kommentar zum Immobilienaktienmarkt: Aktienmarkt büßt kräftig an Wert ein
Kommentar zum Immobilienaktienmarkt: Aktienmarkt büßt kräftig an Wert einKommentar zum Immobilienaktienmarkt: Aktienmarkt büßt kräftig an Wert ein
Kommentar zum Immobilienaktienmarkt: Aktienmarkt büßt kräftig an Wert ein
 
DIE MARKTMEINUNG AUS STUTTGART: Zwischenerleichterung
DIE MARKTMEINUNG AUS STUTTGART: ZwischenerleichterungDIE MARKTMEINUNG AUS STUTTGART: Zwischenerleichterung
DIE MARKTMEINUNG AUS STUTTGART: Zwischenerleichterung
 
DIE MARKTMEINUNG AUS STUTTGART
DIE MARKTMEINUNG AUS STUTTGARTDIE MARKTMEINUNG AUS STUTTGART
DIE MARKTMEINUNG AUS STUTTGART
 
Presseinformation: MIPIM 2012 – Stuttgart ist erstklassiger Immobilienstandor...
Presseinformation: MIPIM 2012 – Stuttgart ist erstklassiger Immobilienstandor...Presseinformation: MIPIM 2012 – Stuttgart ist erstklassiger Immobilienstandor...
Presseinformation: MIPIM 2012 – Stuttgart ist erstklassiger Immobilienstandor...
 

Similar to Software Metrics and Continuous Integration

Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsAndreas Schreiber
 
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...Aberla
 
Premiere auf der OOP 2012: „codeBeamer Requirements Management“
Premiere auf der OOP 2012: „codeBeamer Requirements Management“  Premiere auf der OOP 2012: „codeBeamer Requirements Management“
Premiere auf der OOP 2012: „codeBeamer Requirements Management“ Intland Software GmbH
 
Cloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und GrafanaCloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und GrafanaQAware GmbH
 
Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1DNUG e.V.
 
B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009Andreas Schulte
 
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher SoftwareEinsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher SoftwareAndreas Schreiber
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersUlrich Krause
 
DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes QAware GmbH
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
Python in der Luft- und Raumfahrt
Python in der Luft- und RaumfahrtPython in der Luft- und Raumfahrt
Python in der Luft- und RaumfahrtAndreas Schreiber
 
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...DNUG e.V.
 
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software Intland Software GmbH
 
Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Jürg Stuker
 
B3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite ApplicationsB3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite ApplicationsAndreas Schulte
 

Similar to Software Metrics and Continuous Integration (20)

JavaFX Real-World Apps
JavaFX Real-World AppsJavaFX Real-World Apps
JavaFX Real-World Apps
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
 
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
 
Premiere auf der OOP 2012: „codeBeamer Requirements Management“
Premiere auf der OOP 2012: „codeBeamer Requirements Management“  Premiere auf der OOP 2012: „codeBeamer Requirements Management“
Premiere auf der OOP 2012: „codeBeamer Requirements Management“
 
Agiles Testen - Überblick
Agiles Testen - ÜberblickAgiles Testen - Überblick
Agiles Testen - Überblick
 
Sonar - Software Qualitätsmanagement ohne Schmerzen
Sonar - Software Qualitätsmanagement ohne SchmerzenSonar - Software Qualitätsmanagement ohne Schmerzen
Sonar - Software Qualitätsmanagement ohne Schmerzen
 
Cloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und GrafanaCloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und Grafana
 
Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1
 
B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009
 
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher SoftwareEinsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
 
DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Python in der Luft- und Raumfahrt
Python in der Luft- und RaumfahrtPython in der Luft- und Raumfahrt
Python in der Luft- und Raumfahrt
 
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
 
Zinit.leistungen.webentwicklung.v1.0.de
Zinit.leistungen.webentwicklung.v1.0.deZinit.leistungen.webentwicklung.v1.0.de
Zinit.leistungen.webentwicklung.v1.0.de
 
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
 
Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Top 10 Internet Trends 2001
Top 10 Internet Trends 2001
 
B3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite ApplicationsB3 Lotus Expeditor Und Composite Applications
B3 Lotus Expeditor Und Composite Applications
 

Software Metrics and Continuous Integration

Editor's Notes

  1. What is Cobertura?Cobertura is a free Java tool that calculates the percentage of code accessed by tests. It can be used to identify which parts of your Java program are lacking test coverage. It is based on jcoverage. JavaNCSSNon Commenting Source Statements (NCSS), CyclomaticComplexity-> FlexPMD MetricsCPDCopy & Paste detection, FlexPMD CPD