Software-Metriken. Dipl.-Ing.(BA) Henning Sievert Seminar Software-Entwurf WS 2004/05

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Software-Metriken. Dipl.-Ing.(BA) Henning Sievert Seminar Software-Entwurf WS 2004/05"

Transkript

1 Software-Metriken Dipl.-Ing.(BA) Henning Sievert Seminar Software-Entwurf WS 2004/05

2 Gliederung Einordnung in den Seminar-Kontext Grundlegende Definitionen Klassifikation von Software-Metriken Größenmetriken Lines Of Code Halstead-Metrik Strukturmetriken McCabe Cyclomatic Complexity Objektorientierte Metriken Tools 2

3 Einordnung des Themas Creational Patterns Behavioral Patterns Structural Patterns Design Patterns lösen Design-Probleme UML Hilfsmittel OO Analyse & Design betrachtete Programmiertechnik OOP Software-Metriken Beurteilung wichtiger Bestandteil Software-Entwurf 3

4 Gliederung Einordnung in den Seminar-Kontext Grundlegende Definitionen Klassifikation von Software-Metriken Größenmetriken Lines Of Code Halstead-Metrik Strukturmetriken McCabe Cyclomatic Complexity Objektorientierte Metriken Tools 4

5 Definition wichtiger Begriffe Messen: Der Prozess, der Objekteigenschaften der realen Welt Zahlen oder Zeichen zuordnet. Maß: Die Zuordnung einer Zahl oder eines Zeichens und einer Einheit (zum Beispiel: 1 Meter) Metrik: Zahlenmäßiger Abstand einer Eigenschaft 5

6 Definition einer Software-Metrik Eine Softwaremetrik ist eine Funktion, die eine Software-Einheit in einen Zahlenwert abbildet. Dieser berechnete Wert ist interpretierbar als der Erfüllungsgrad einer Qualitätseigenschaft der Software-Einheit. (IEEE Standard 1061) 6

7 Software-Metriken Warum? Objektive und kompakte Beschreibung einer Software Beurteilung hinsichtlich Qualität, Wartbarkeit, Vorhersage für eine geordnete Planung Wartungsumfang Testumfang zu erwartende Fehlerrate Qualitätsverbesserung durch wirksames Management 7

8 Gliederung Einordnung in den Seminar-Kontext Grundlegende Definitionen Klassifikation von Software-Metriken Größenmetriken Lines Of Code Halstead-Metrik Strukturmetriken McCabe Cyclomatic Complexity Objektorientierte Metriken Tools 8

9 Klassifikation von Software-Metriken Prozess-Metrik Anzahl Mitarbeiter, Zeit, Kosten, Fehler Kommunikationsaufwand Produkt-Metrik Umfang (Länge, Wiederverwendung, Anzahl Klassen, ) Komplexität Lesbarkeit Wartbarkeit Entwurfsqualität 9

10 Gliederung Einordnung in den Seminar-Kontext Grundlegende Definitionen Klassifikation von Software-Metriken Größenmetriken Lines Of Code Halstead-Metrik Strukturmetriken McCabe Cyclomatic Complexity Objektorientierte Metriken Tools 10

11 Lines Of Code LOC zählt die Codezeilen eines Programms. LOC ist somit ein scheinbar einfaches Maß. ABER: Was soll gezählt werden? Nur Zeilen mit ausführbarem Code Ausführbarer Code und Datendefinition Ausführbarer Code, Definitionen und Kommentare Anzahl physikalischer Zeilen Begrenzung der Konstrukte zum Zählen verwenden 11

12 Lines Of Code Wie viele LOC hat dieses Programm? public void writesoftware() { //Hat Tux schon das SE-Seminar besucht? if ( isprofi ) { //Tux weiß, wie es richtig geht usesoftwaremetrics(); } else { //Da hat noch jemand Nachholbedarf quickanddirty(); } //Die fertige Software wird ausgeliefert sendsoftwaretokonqi(); } alle Zeilen 17 ausführbarer Code 12 +Kommentare 16 Zeilen mit Semikolon 3 12

13 Lines Of Code Vergleichbarkeit: Vergleich mit Software in der gleichen Sprache Festlegung, wie die LOC gezählt werden sollen Vergleich mit Software in einer anderen Sprache Einführung einer normierten Einheit 13

14 Halsteads Metriken Die Halstead-Metriken zählen verwendete Operatoren und Operanden N 1 : Gesamtzahl Operatoren N 2 : Gesamtzahl Operanden η 1 : Anzahl Operatoren η 2 : Anzahl Operanden Länge L = N 1 + N 2 Programmvolumen V = L log 2 (η 1 + η 2 ) Geschätzte Fehlerzahl F = V :

15 Halsteads Metriken (Beispiel) public void writesoftware() { //Hat Tux schon das SE-Seminar besucht? if ( isprofi ) { //Tux weiß, wie es richtig geht usesoftwaremetrics(); } else { //Da hat noch jemand Nachholbedarf quickanddirty(); } //Die fertige Software wird ausgeliefert sendsoftwaretokonqi(); } Operator Anzahl public 1 void 1 if 1 else 1 ( ) 5 { } 3 ; 3 Operand Anzahl writesoftware 1 isprofi 1 usesoftwaremetrics 1 quickanddirty 1 sendsoftwaretokonqi 1 15

16 Halstead Metriken (Beispiel) N 1 = 15 N 2 = 5 η 1 = 7 η 2 = 5 L = N 1 + N 2 = 20 V = L log 2 (η 1 + η 2 ) = 20 log 2 ( 12 ) = 71,7 F = V : 3000 = 0,02 (also wahrscheinlich kein Fehler!) Operator Anzahl public 1 void 1 if 1 else 1 ( ) 5 { } 3 ; 3 Operand Anzahl writesoftware 1 isprofi 1 usesoftwaremetrics 1 quickanddirty 1 sendsoftwaretokonqi 1 16

17 Halstead Metriken Vorteil: Berücksichtigung von Komplexen Ausdrücken vielen Variablen Nachteil: Ablaufstrukturen werden nicht berücksichtigt 17

18 Gliederung Einordnung in den Seminar-Kontext Grundlegende Definitionen Klassifikation von Software-Metriken Größenmetriken Lines Of Code Halstead-Metrik Strukturmetriken McCabe Cyclomatic Complexity Objektorientierte Metriken Tools 18

19 McCabe Cyclomatic Complexity Basiert auf Kontrollflussgraph g V(g) = #Kanten - #Knoten + 2 Fehler-Risiko: V(g) > 10 : mittel V(g) > 20 : hoch V(g) > 50 : unbeherrschbar Vorteile: einfach zu berechnen Ablauf-Komplexität wird gemessen Nachteil: Modulkomplexität wird nicht berücksichtigt 19

20 Objektorientierte Metriken Objektorientierte Metriken nach Chidamber und Kemerer: Weighted Methods per Class (WMC) Depth in Inheritance Tree (DIT) Number Of Children (NOC) Coupling Between Objects (CBO) Response For a Class (RFC) Lack of Cohesion On Methods (LCOM) Diese Metriken werden auf Klassen angewendet. 20

21 Objektorientierte Metriken Objektorientierte Metriken nach Abreu: Method Hiding Factor (MHF) Attribute Hiding Factor (AHF) Method Inheritance Factor (MIF) Attribute Inheritance Factor (AIF) Polymorphism Factor (PF) Coupling Factor (CF) Diese Metriken werden auf Projekte angewendet. 21

22 Gliederung Einordnung in den Seminar-Kontext Grundlegende Definitionen Klassifikation von Software-Metriken Größenmetriken Lines Of Code Halstead-Metrik Strukturmetriken McCabe Cyclomatic Complexity Objektorientierte Metriken Tools 22

23 Durchführung hrung einer Messung 1. Definition der Maße 2. Sammeln der Messwerte 3. Analyse und Interpretation der Messwerte Gefahr von Zahlenfriedhöfen 23

24 JMT Kann u.a. die vorgestellten Metriken berechnen Programmiersprache: JAVA Schnittstelle: Graphische Benutzeroberfläche Lizenz: Freeware 24

25 JMT - Screenshot 25

26 cccc Kann u.a. die vorgestellten Metriken berechnen Programmiersprachen: C/C++ JAVA Schnittstelle: Kommandozeile Ausgabe nach HTML/XML Lizenz: Public Domain 26

27 cccc - Screenshot 27

28 Ein Zitat von Albert Einstein Not everything that counts can be counted and not everything that is counted counts. 28

Software-Metriken. B. Sc. Michael Thomas. Seminar Software-Entwurf WS 2004/05.

Software-Metriken. B. Sc. Michael Thomas. Seminar Software-Entwurf WS 2004/05. <thomas@thi.uni-hannover.de> Software-Metriken B. Sc. Michael Thomas Seminar Software-Entwurf WS 2004/05 Gliederung Einführung Traditionelle Metriken / Grundeinheiten Lines of Code Zyklomatische Komplexität

Mehr

Verwendung von OO-Metriken zur Vorhersage

Verwendung von OO-Metriken zur Vorhersage Verwendung von OO-Metriken zur Vorhersage Tobias Angermayr Übersicht 1. Definitionen 2. Gründe, Anforderungen, Ziele 3. Die CK-Metriken 4. Beobachtungen 5. Studie 6. Zusammenfassung Folie 2 Definitionen

Mehr

Messung. Mariem Ben Rehouma 14.04.2009

Messung. Mariem Ben Rehouma 14.04.2009 Messung Mariem Ben Rehouma Gliederung Motivation Definition von Messung Metriken Klassifikation von Metriken Beispiele Objektorientierte Metriken Charakteristiken von Messungen Skala-Arten Messungsarten

Mehr

Management von Softwaresystemen Systembewertung: Metriken und Prozess

Management von Softwaresystemen Systembewertung: Metriken und Prozess Management von Softwaresystemen Systembewertung: Metriken und Prozess Referent: Vadym Alyokhin Betreuer: Florian Deißenböck Übersicht Definition Einführung in die Messtheorie Meilensteine von Software-Metriken

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Adersberger, Spisländer FAU Erlangen-Nürnberg Software-Metriken 1 / 26 Software-Metriken Josef Adersberger Marc Spisländer Lehrstuhl für Software Engineering

Mehr

Statische Code-Analyse: Software-Metriken Fernstudium Master Wirtschaftsinformatik Formale Methoden

Statische Code-Analyse: Software-Metriken Fernstudium Master Wirtschaftsinformatik Formale Methoden Statische Code-Analyse: Software-Metriken Fernstudium Master Wirtschaftsinformatik Formale Methoden Isabell Füll Grömmsche Koppel 15 24111 Kiel isabell.fuell@googlemail.com Amselweg 3 24222 Schwentinental

Mehr

Analysierende Testverfahren

Analysierende Testverfahren Software-Metriken Kontrolle der Software-Entwicklung: Pläne und Standards einrichten messen der Ausführung gegen Pläne und Standards Analysierende Testverfahren korrigieren der Abweichungen Eine Software-Metrik

Mehr

Softwaremessung und -metrik

Softwaremessung und -metrik Softwaremessung und -metrik AW1 Votrag - Daniel Wojtucki Hamburg, 20. Januar 2010 Inhalt 1 Einleitung 2 Softwarequalität 3 Grundlagen der Softwaremetrik 4 Beispiele bestimmter Metriken 5 Zusammenfassung

Mehr

Inhalt Software-Metriken Software-Metriken mit Together FindBugs. Software-Metriken. Raimar Lill Matthias Meitner David Föhrweiser Marc Spisländer

Inhalt Software-Metriken Software-Metriken mit Together FindBugs. Software-Metriken. Raimar Lill Matthias Meitner David Föhrweiser Marc Spisländer Lill, Meitner, Föhrweiser, Spisländer FAU Erlangen-Nürnberg Software-Metriken 1 / 24 Software-Metriken Raimar Lill Matthias Meitner David Föhrweiser Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität

Mehr

Softwaremetriken verstehen und nutzen

Softwaremetriken verstehen und nutzen Softwaremetriken verstehen und nutzen Manuel Pichler http://manuel-pichler.de PHP Unconference Hamburg 12. September 2009 Über mich Manuel Pichler Total stolzer Papa Jahrgang 1978 Diplom Informatiker Softwarearchitekt

Mehr

Softwaremetriken. 29. April 2015

Softwaremetriken. 29. April 2015 Softwaremetriken 29. April 2015 Was sind Softwaremetriken? [FP] Softwaremetriken messen Qualität. besser: Softwaremetriken definieren, wie Kenngrößen der Software oder des Softwareentwicklungsprozesses

Mehr

Software-Metriken. Wolfgang Globke. Seminar Moderne Softwareentwicklung SS 2005. Software-Metriken. Wolfgang Globke. Metriken und Qualitätsmodelle

Software-Metriken. Wolfgang Globke. Seminar Moderne Softwareentwicklung SS 2005. Software-Metriken. Wolfgang Globke. Metriken und Qualitätsmodelle Software- und smodelle Software- Klassische Objektorientierte Seminar Moderne Softwareentwicklung SS 2005 Gliederung Software- und smodelle 1 und smodelle Klassische Objektorientierte 2 Klassische Objektorientierte

Mehr

Softwaremetriken. 15. Mai 2013

Softwaremetriken. 15. Mai 2013 Softwaremetriken 15. Mai 2013 Was sind Softwaremetriken? Softwaremetriken messen Qualität. besser: Softwaremetriken definieren, wie Kenngrößen der Software oder des Softwareentwicklungsprozesses gemessen

Mehr

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken Dennis Hardt 21.06.2006 Gliederung Statische Analyse Definition, Arbeitsweise, Werkzeuge Angewandt auf ein Projekt Statische Analyse selbst

Mehr

Inhalt Software-Metriken Software-Metriken mit Together FindBugs. Software-Metriken

Inhalt Software-Metriken Software-Metriken mit Together FindBugs. Software-Metriken Software-Metriken Matthias Meitner Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Meitner, Spisländer FAU Erlangen-Nürnberg Software-Metriken 1 / 24

Mehr

Software-Metriken: Purismus vs. Pragmatismus

Software-Metriken: Purismus vs. Pragmatismus Software-Metriken: Purismus vs. Pragmatismus Web DevCon Manuel Pichler 17.10.2011 Software-Metriken: Purismus vs. Pragmatismus 1 / 42 Über mich Diplominformatiker Mehr als 10 Jahre Erfahrung im Web-Umfeld

Mehr

0/28. Software-Metriken. Andreas Zeller. Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken

0/28. Software-Metriken. Andreas Zeller. Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken 0/28 Software-Metriken Andreas Zeller Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken Software-Metriken 1/28 Zu den Aufgaben eines Managers gehört die Kontrolle der Software-Entwicklung:

Mehr

Metriken für den Objektorientierten Entwurf. Alexander Ostrovsky

Metriken für den Objektorientierten Entwurf. Alexander Ostrovsky Metriken für den Objektorientierten Entwurf Alexander Ostrovsky ostrovsk@in.tum.de Gliederung Grundlagen Objektorientierter Entwurf Metriken für den objektorientierten Entwurf Packagemetriken Goal-Qustion-Metric-Ansatz

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2009/10 Überblick I 1 Metriken I 1 Metriken

Mehr

Software Engineering. 13. Automatische Code Analyse. Franz-Josef Elmer, Universität Basel, WS 2005/06

Software Engineering. 13. Automatische Code Analyse. Franz-Josef Elmer, Universität Basel, WS 2005/06 Software Engineering 13. Automatische Code Analyse Franz-Josef Elmer, Universität Basel, WS 2005/06 Software Engineering: 13. Automatische Code Analyse 2 Code Analyse: Manuell versus Automatisch Manuelle

Mehr

Softwaremetriken verstehen und nutzen

Softwaremetriken verstehen und nutzen Softwaremetriken verstehen und nutzen Kore Nordmann , Manuel Pichler 17. November 2009 Über uns Kore Nordmann Langzeit PHP Entwickler Speaker auf diversen

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

Programmverstehen 2: Wie ist das System-Design? Dr. Thorsten Arendt Marburg, 04. Dezember 2014

Programmverstehen 2: Wie ist das System-Design? Dr. Thorsten Arendt Marburg, 04. Dezember 2014 Programmverstehen 2: Wie ist das System-Design? Dr. Thorsten Arendt Marburg, 04. Dezember 2014 Re-Engineering Patterns [Demeyer et al.] 2 Software-Evolution WS 2014/2015 Überblick Probleme Viele Designkonzepte

Mehr

25. GI-TAV-Treffen 15. Februar 2007 Düsseldorf. Softwareprüfung gestern und heute: Theorie und Erfahrung, Standards und Common Sense

25. GI-TAV-Treffen 15. Februar 2007 Düsseldorf. Softwareprüfung gestern und heute: Theorie und Erfahrung, Standards und Common Sense Softwareprüfung gestern und heute: Theorie und Erfahrung, Standards und Common Sense Prof. Dr.-Ing. habil. Peter Liggesmeyer Lehrstuhl Software Engineering: Dependability TU Kaiserslautern Direktor Fraunhofer

Mehr

Anti Patterns, Bad Smells & Metriken

Anti Patterns, Bad Smells & Metriken Anti Patterns, Bad Smells & Metriken Inhalt Signale zur Refaktorisierung: Antipattern Gegenteil von Designpattern Bad Smells Schlechte Strukturen auf Code-Ebene finden Metriken Eigenschaften von Code in

Mehr

Womit wir uns beschäftigen

Womit wir uns beschäftigen Berechnung und Optimierung von Grenzwerten für Mengen von Software Metriken Steffen Herbold, Jens Grabowski, Stephan Waack Georg-August-Universität Göttingen Softwareforen Leipzig Womit wir uns beschäftigen

Mehr

Software Tests (2) Quellcode Reviews

Software Tests (2) Quellcode Reviews Software Tests (2) Quellcode Reviews Was ist? Was ist Testen? G. J. Myers, 79: "Testen ist der Prozess, ein Programm mit der Absicht auszuführen, Fehler zu finden. Hetzel 83: "Messung der Softwarequalität"

Mehr

Verwendung von objektorientierten Metriken zur Softwarequalitätsvorhersage. Arno Egger, 0450419

Verwendung von objektorientierten Metriken zur Softwarequalitätsvorhersage. Arno Egger, 0450419 Verwendung von objektorientierten Metriken zur Softwarequalitätsvorhersage Arno Egger, 0450419 Metriken in OO-Programmierung Traditionelle Metriken (Cyclomatic Complexity, Lines Of Code etc.) auf OO-Methoden

Mehr

Communication Metrics for Software Development

Communication Metrics for Software Development Herzlich Willkommen zur Präsentation Communication Metrics for Software Development Präsentation: Bernhard Gehberger Artikelautoren: Allen H. Dutoit Bernd Bruegge Inhaltsübersicht Motivation Testumgebung

Mehr

Messen & Metriken Ist Qualität messbar? André Fleischer

Messen & Metriken Ist Qualität messbar? André Fleischer Messen & Metriken Ist Qualität messbar? 1 1995 2000 Studium Technische Informatik (HAW Hamburg) 2001 2007 Lufthansa System IT Consultant, Software Architekt Seit 2007, otto group Otto Group, Software Architekt

Mehr

Objektorientierte Codemetriken und deren Anwendung im Bereich von Embedded Systems

Objektorientierte Codemetriken und deren Anwendung im Bereich von Embedded Systems Objektorientierte Codemetriken und deren Anwendung im Bereich von Embedded Systems Eugenia Drosdezki, 166771 Angewandte Informatik, WS2008/2009 Seminar Neue Technologien, Hochschule Oenburg 16. Januar

Mehr

Thomas Haug MATHEMA Software GmbH 209

Thomas Haug MATHEMA Software GmbH 209 Thomas Haug MATHEMA Software GmbH 209 Wer bin ich > Dipl.-Inf (Univ.) > Senior Consultant, Architekt und Trainer (MATHEMA Software GmbH) > 25+ Jahre Software Entwicklung > 12+ Jahre Java Enterprise > 7+

Mehr

Metriken für Objektorientierte Software

Metriken für Objektorientierte Software Metriken für Objektorientierte Software Alexander Ostrovsky ostrovsk@in.tum.de Abstract: In dieser Arbeit werden die Grundlagen der Metriken für objektorientierte Software behandelt. Aufgrund der hohen

Mehr

SE2-6. Übung Johannes Bürdek

SE2-6. Übung Johannes Bürdek SE2-6. Übung 11.12.2014 Johannes Bürdek johannes.buerdek@es.tu-darmstadt.de Fragen und Support: se2@es.tu-darmstadt.de oder ins Forum: https://moodle.tu-darmstadt.de/mod/forum/view.php?id=56674 ES Real-Time

Mehr

Jan Schumann, G+J Manuel Pichler, Trainer & Consultant - Qafoo. Statische Codeanalyse wirklich effektiv nutzen

Jan Schumann, G+J Manuel Pichler, Trainer & Consultant - Qafoo. Statische Codeanalyse wirklich effektiv nutzen Jan Schumann, G+J Manuel Pichler, Trainer & Consultant - Qafoo Statische Codeanalyse wirklich effektiv nutzen Über uns Jan Schumann Jahrgang 1976 System- / Softwarearchitekt Entwickler von: PHP_Depend,

Mehr

Prof. Dr.-Ing. Peter Liggesmeyer. Qualität Eingebetteter Systeme: Beispiel Sicherheit Die Bedeutung von Standards Die Erfahrung Der Common Sense

Prof. Dr.-Ing. Peter Liggesmeyer. Qualität Eingebetteter Systeme: Beispiel Sicherheit Die Bedeutung von Standards Die Erfahrung Der Common Sense Qualität Eingebetteter Systeme Prof. Dr.-Ing. Peter Liggesmeyer Lehrstuhl Software Engineering: Dependability TU Kaiserslautern Direktor Fraunhofer Institut für Experimentelles Software Engineering (IESE),

Mehr

Seminar "Softwareentwicklung in der Wissenschaft" "Code-Qualität"

Seminar Softwareentwicklung in der Wissenschaft Code-Qualität Seminar "Softwareentwicklung in der Wissenschaft" "Code-Qualität" Johann Weging 8weging@informatik.uni-hamburg.de Arbeitsbereich Wissenschaftliches Rechnen Department Informatik Universität Hamburg 2011-02-09

Mehr

Comparison of Software Products using Software Engineering Metrics

Comparison of Software Products using Software Engineering Metrics Comparison of Software Products using Software Engineering Metrics Alexander Bätz Fakultät EIM Universität Paderborn 23. Juli 2009 1 / 28 Motivation Qualitätsbewertung von Software Vergleichbarkeit von

Mehr

Software Engineering. Verwendung von Softwaremetriken

Software Engineering. Verwendung von Softwaremetriken Software Engineering Verwendung von Softwaremetriken Die Inhalte der Vorlesung wurden primär auf Basis der jeweils angegebenen Literatur erstellt. Darüber hinaus finden sich ausgewählte Beispiele zur Softwareentwicklung

Mehr

7. Metriken. Idee von Maßsystemen Halstead live Variables Variablenspanne McCabe-Zahl LCOM*

7. Metriken. Idee von Maßsystemen Halstead live Variables Variablenspanne McCabe-Zahl LCOM* 7. Metriken Idee von Maßsystemen Halstead live Variables Variablenspanne McCabe-Zahl LCOM* Stephan Kleuker 301 Nutzung von Maßsystemen bisherigen Prüfverfahren sind aufwändig, besteht Wunsch, schneller

Mehr

Codequalitätskontrolle mit SonarQube

Codequalitätskontrolle mit SonarQube Codequalitätskontrolle mit SonarQube Wer ist das? Josha von Gizycki Goslarer Seit 2008 bei der Java, Oracle, Webentwicklung, Hacker, Zocker, Rocker Codequalitätskontrolle mit SonarQube - 2 Warum der? Codequalitätskontrolle

Mehr

Grundlagen der Informatik für Ingenieure I

Grundlagen der Informatik für Ingenieure I 3 Einführung in das objektorientierte Programmier-Paradigma 3 Einführung in das objektorientierte Programmier-Paradigma 3.1.1 Top-down structured design 3.1.2 Data-driven design 3.1.3 Object-oriented design

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2006/07 Überblick I 1 Metriken Software-Metriken

Mehr

Software Engineering

Software Engineering Software Engineering Softwaremetriken Prof. Dr.-Ing. habil. Reiner R. Dumke http://www.smlab.de R. Dumke 5-1 Software Engineering - LV-Inhalt - 11. Softwaremessung und bewertung Grundbegriffe der Softwarenmessung

Mehr

Softwarequalität. 20. Januar 2015

Softwarequalität. 20. Januar 2015 Softwarequalität 20. Januar 2015 Überblick Wie definiert man gute Software? Welche Qualitätskriterien gibt es für Software? Welche Qualitätsanforderungen leiten sich daraus ab? Wie erreicht man gute Software?

Mehr

Konzeption und prototypische Realisierung einer Serviceorientierten

Konzeption und prototypische Realisierung einer Serviceorientierten OTTO-VON-GUERICKE-UNIVERSITÄT MAGDEBURG Fakultät für Informatik Institut für Verteilte Systeme Thema: Konzeption und prototypische Realisierung einer Serviceorientierten Messdatenbank Bachelor Abschlussarbeit

Mehr

Measurement-based Product Analysis

Measurement-based Product Analysis Measurement-based Product Analysis real world empirical relational system formal relational system? model validate cognition barrier measure 126, 21 254, 13 97, 20 412, 17 > transformation calculation

Mehr

Programmverstehen 2: Wie ist das System-Design? Dr. Thorsten Arendt Marburg, 03. Dezember 2015

Programmverstehen 2: Wie ist das System-Design? Dr. Thorsten Arendt Marburg, 03. Dezember 2015 Programmverstehen 2: Wie ist das System-Design? Dr. Thorsten Arendt Marburg, 03. Dezember 2015 Re-Engineering Patterns [Demeyer et al.] 2 Software-Evolution WS 2015/2016 Überblick Probleme Viele Designkonzepte

Mehr

Prinzipien der Softwareentwicklung S. Strahringer

Prinzipien der Softwareentwicklung S. Strahringer Gliederung 1 Einführung Was ist ein Programm? Vorteile (und Nachteile) von PHP Erste PHP-Programme Ausführung von PHP-Programmen 2 Grundbegriffe der Programmierung Anweisungen, Variablen, Datentypen und

Mehr

Quantifizierung nicht-funktionaler Anforderungen JURISTISCHES IT-PROJEKTMANAGEMENT WS1617 DOZENT: DR. FRANK SARRE LMU MÜ NCHEN ZHENHAO LI

Quantifizierung nicht-funktionaler Anforderungen JURISTISCHES IT-PROJEKTMANAGEMENT WS1617 DOZENT: DR. FRANK SARRE LMU MÜ NCHEN ZHENHAO LI Quantifizierung nicht-funktionaler Anforderungen JURISTISCHES IT-PROJEKTMANAGEMENT WS1617 DOZENT: DR. FRANK SARRE LMU MÜ NCHEN ZHENHAO LI Agenda Einordnung des Themas Motivation Quantifizierung Nicht-funktionale

Mehr

Inhalt. Zusammenfassung Abstract LOC. Seminar Qualitative und Quantitative Methoden im Software Engineering

Inhalt. Zusammenfassung Abstract LOC. Seminar Qualitative und Quantitative Methoden im Software Engineering Erstellt von Hans Jörg Günther auf Basis eines Vortrags von Oliver Feuser Seite 1 von 1 Seminar Qualitative und Quantitative Methoden im Software Engineering Ausarbeitung zum Vortrag Methoden und Metriken

Mehr

Messen & Metriken Ist Qualität messbar?

Messen & Metriken Ist Qualität messbar? Messen & Metriken Ist Qualität messbar? (André Fleischer) prio.conference, Baden-Baden, 14.November 2007 1 Abstrakt Seitdem Probleme mit Hilfe von Softwaresystemen gelöst werden, ist man auf der Suche

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05. Creational Patterns Seminar Software-Entwurf WS 2004/05 Thomas Liro Inhaltsüberblick Einordnung des Themas Beschreibung von Design Pattern Auswahl von Design Patterns Was sind Creational

Mehr

Software-Qualität messen und bewerten: Theorie und Empirie. Prof. Dr.-Ing. habil. Peter Liggesmeyer

Software-Qualität messen und bewerten: Theorie und Empirie. Prof. Dr.-Ing. habil. Peter Liggesmeyer Software-Qualität messen und bewerten: Theorie und Empirie Prof. Dr.-Ing. habil. Peter Liggesmeyer Lehrstuhl Software Engineering: Dependability TU Kaiserslautern Direktor Fraunhofer Institut für Experimentelles

Mehr

Qualitätsmanagement im Projekt

Qualitätsmanagement im Projekt Software-Engineering Qualitätsmanagement im Projekt Vorlesung im Wintersemester 2008/2009 Fakultät Wirtschaftsinformatik Klaus Mairon, M.Sc. Inhalte Messen und Bewerten: Metriken in der Qualitätssicherung

Mehr

Metriken zur Messung des Software-Entwicklungsprozesses;

Metriken zur Messung des Software-Entwicklungsprozesses; SQAM Software Komplexität und Qualität von Software Wie bestimmt man die Komplexität von Quellcode und welchen Einfluss hat sie auf die Wartbarkeit? Die Softwarequalität und die Wartbarkeit von Applikationen

Mehr

VI. Die Bedeutung der Komplexität 83. VI. Die Bedeutung der Komplexität

VI. Die Bedeutung der Komplexität 83. VI. Die Bedeutung der Komplexität VI. Die Bedeutung der Komplexität 83 VI. Die Bedeutung der Komplexität 84 Produktivitäts- und Leistungsmessung - Messbarkeit und Messmethoden Nahezu alle bekannten funktionsorientierten Umfangsmetriken

Mehr

Implementierung erster Klasse - Code Qualität in PL/SQL

Implementierung erster Klasse - Code Qualität in PL/SQL Implementierung erster Klasse - Code Qualität in PL/SQL Stephan La Rocca Consulting Manager Berlin, April 26 th 2016 1 3 17 80 >500 100% Location Years old Colleagues Customers Oracle Partner USA Germany

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2010/11 Überblick I Metriken Software-Metriken:

Mehr

C# im Vergleich zu Java

C# im Vergleich zu Java C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung

Mehr

Department of Computer Science Chair of Software Engineering Faculty of Engineering. Grundlagen der Softwarearchitektur (im Softwarepraktikum)

Department of Computer Science Chair of Software Engineering Faculty of Engineering. Grundlagen der Softwarearchitektur (im Softwarepraktikum) Grundlagen der Softwarearchitektur (im Softwarepraktikum) 1 ORGANISATORISCHES 2 Inhalt Was ist Softwarearchitektur? Dokumentieren mit UML Wie bewerte ich eine Softwarearchitektur? Wie plane ich eine Softwarearchitektur?

Mehr

Software-Qualität sichtbar machen

Software-Qualität sichtbar machen Software-Qualität sichtbar machen Prof. Dr. Claus Lewerentz BTU Cottbus Vortrag im Rahmen des Berlin-Brandenburger Software-Forums Zeit: 28. April 2003,18.30 Uhr Ort: Fraunhofer FIRST Berlin Software Qualität

Mehr

Was meint hier Automatisierung. 8. Testautomatisierung. Werkzeuge - Beispiele (2/3): Maven. Werkzeuge - Beispiele (1/3): Ant

Was meint hier Automatisierung. 8. Testautomatisierung. Werkzeuge - Beispiele (2/3): Maven. Werkzeuge - Beispiele (1/3): Ant 8. Testautomatisierung Automatisierungsidee Beispiele für Werkzeuge Build-Server Idee von Build-Werkzeugen Einführung in Ant Tests aus Antstarten Was meint hier Automatisierung klassische Testansätze Entwicklung

Mehr

Methodische Grundlagen des Software Engineering - Übung 9

Methodische Grundlagen des Software Engineering - Übung 9 Engineering - Übung 9 9 Prozess und Softwarequalität Abgabe der Hausaufgaben am Anfang der jeweiligen Präsenzübung am 14.06.2011 bzw. 15.06.2011. Hinweise und Kontakt: Veranstaltungsseite 1 9.1 Grundlagen

Mehr

Erste Implementation eines praxisbezogenen Analyse- Tools für Softwarequalität und ein Ansatz zur Erkennung von Zustandsvariablen

Erste Implementation eines praxisbezogenen Analyse- Tools für Softwarequalität und ein Ansatz zur Erkennung von Zustandsvariablen Erste Implementation eines praxisbezogenen Analyse- Tools für Softwarequalität und ein Ansatz zur Erkennung von Zustandsvariablen Master Thesis Wintersemester 2005/2006 Fachbereich Informatik von Benedikt

Mehr

Qualitätssicherung von Software (SWQS)

Qualitätssicherung von Software (SWQS) Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 11.6.2013: Metriken Folie 2 Fragen zur Wiederholung Was ist statische Analyse? Was

Mehr

Klassenbeziehungen & Vererbung

Klassenbeziehungen & Vererbung Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in

Mehr

Software Survivability

Software Survivability Software Survivability Ansatz zur Quantifizierung der Überlebensfähigkeit von Softwaresystem Seminar: Web-Qualitätsmanagement Sommersemester 2004 Gliederung 1. Einleitung 2. Survivability 3. Software Survivability

Mehr

REConf 2005. Metriken - Eine Hilfe bei der Einführung von Requirements Management? Stefan Fichtinger Senior Consultant

REConf 2005. Metriken - Eine Hilfe bei der Einführung von Requirements Management? Stefan Fichtinger Senior Consultant REConf 2005 Metriken - Eine Hilfe bei der Einführung von Requirements Management? Stefan Fichtinger Senior Consultant HOOD GmbH Truderinger Straße 302 81825 München Tel: +49 89 4512 530 stefan.fichtinger@hood-group.com

Mehr

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere

Mehr

Quality assurance in PHP

Quality assurance in PHP Quality assurance in PHP Thomas Koch YMC AG October 2, 2009 Introduction PHP History of QA in PHP PHP QA in Teams Outline Introduction PHP History of QA in PHP PHP QA in Teams me First programming 1990,

Mehr

Codequalität: Code-Metrik Version 0.1

Codequalität: Code-Metrik Version 0.1 Codequalität: Code-Metrik Version 0.1 Sicherung und Verbesserung der Codequalität mit Hilfe von Code-Metrik Tools Team Code Orange 1 Inhalt Einleitung Tools: - Checkstyle - JavaNCSS - Findbugs - JDepend

Mehr

Testen und Metriken. Einige Fehler. Fehler vermeiden. Andreas Zeller Universität des Saarlandes Microsoft Research. http://www.st.cs.uni-sb.

Testen und Metriken. Einige Fehler. Fehler vermeiden. Andreas Zeller Universität des Saarlandes Microsoft Research. http://www.st.cs.uni-sb. Testen und Metriken Andreas Zeller Universität des Saarlandes Microsoft Research http://www.st.cs.uni-sb.de/ Einige Fehler Fehler vermeiden Spezifizieren Beweisen Gegenlesen Testen Module Welche sollte

Mehr

Software Engineering. 12. Qualitätssicherung. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering. 12. Qualitätssicherung. Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering 12. Qualitätssicherung Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 12. Qualitätssicherung 2 Qualitätssicherung Qualitätssicherung (engl. Quality Assurance QA)

Mehr

Behavioral Patterns. Seminar Software-Entwurf WS 04/05. Przemyslaw Dul

Behavioral Patterns. Seminar Software-Entwurf WS 04/05. Przemyslaw Dul Behavioral Patterns Seminar Software-Entwurf WS 04/05 Przemyslaw Dul Gliederung Design Pattern (Wiederholung) Einordnung Übersicht über die Kategorien: Creational,Structural,Behavioral Übersicht über die

Mehr

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer) Programmieren I Grundlagen von JAVA Dr. Klaus Höppner Hello World in JAVA Hochschule Darmstadt WS 2007/2008 Elementare Datentypen 1 / 17 2 / 17 Eigenschaften von JAVA Prinzipieller Ablauf Plattform-und

Mehr

FACHHOCHSCHULE MANNHEIM

FACHHOCHSCHULE MANNHEIM Objektorientierte Programmierung 3. Vorlesung Prof. Dr. Peter Knauber FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Wiederholung: Begriffsübersicht Strukturierte vs. objektorientierte Programmierung

Mehr

Relevante Metriken zur Bestimmung von Softwarequalität

Relevante Metriken zur Bestimmung von Softwarequalität Relevante Metriken zur Bestimmung von Softwarequalität Steffen Förster 2 Definitionen Metrik Eine Funktion, die eine Software-Einheit in einen Zahlenwert abbildet. Dieser berechnete Wert ist interpretierbar

Mehr

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ IBBB 2010 Workshop 6 Einführung in die objektorientierte Programmierung Dozenten: J. Penon, J. Frank, A. Schindler Teil: Java mit BlueJ Dozent: A. Schindler Einf. i. d. OOP - Java u. BlueJ / A. Schindler

Mehr

Masterarbeit. Steffen Förster geboren am 30. Juni 1986 in Bautzen. Studiengang Informatik

Masterarbeit. Steffen Förster geboren am 30. Juni 1986 in Bautzen. Studiengang Informatik Masterarbeit Relevante Metriken zur Bestimmung von Softwarequalität Steffen Förster geboren am 30. Juni 1986 in Bautzen Studiengang Informatik Westsächsische Hochschule Zwickau Fakultät Physikalische Technik

Mehr

Qualitätssicherung von Software

Qualitätssicherung von Software Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST 5. Metriken 19.1.2004 Folie 2 Wo stehen wir? 1. Einleitung, Begriffe, Software-Qualitätskriterien

Mehr

Software- Qualitätssicherung

Software- Qualitätssicherung Software- Qualitätssicherung Dr. Frank Padberg Sommersemester 2007 IPD Tichy 1 Metriken & Wartbarkeit Fortsetzung 2 1 WH: Komplexität IEEE Standard 610.12 (1990): complexity the degree to which a system

Mehr

Softwarequalität sicherstellen mit Sonar

Softwarequalität sicherstellen mit Sonar Softwarequalität sicherstellen mit Sonar Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Hochschule München Michaela Lutz München, den 07. Juni 2013 1 Gliederung Was ist Sonar? Komponenten

Mehr

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN Grundzüge der Programmierung Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN Inhalt dieser Einheit JAVA ist objektorientiert! Grundbegriffe der objektorientierten Programmierung:

Mehr

Software-Metriken. Moderne Softwareentwicklung SS 2005. Software-Metriken. Wolfgang Globke. Betreuer: Olaf Seng. 18. Juni 2005

Software-Metriken. Moderne Softwareentwicklung SS 2005. Software-Metriken. Wolfgang Globke. Betreuer: Olaf Seng. 18. Juni 2005 Seminar Moderne Softwareentwicklung SS 2005 Software-Metriken Wolfgang Globke Betreuer: Olaf Seng 18. Juni 2005 Zusammenfassung Software-Metriken liefern Kennzahlen von Programmelementen oder Systemen,

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3. Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. R. Koschke 1 D. Simon 2 1 Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen 2 Institut für Software Technologie Fakultät

Mehr

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords 4.0 Proinformatik III Objektorientierte Programmierung Michael Kölling University of Kent Canterbury, UK Selbstbestimmtes Lernen Vorlesung Tutorium Übungen Buch Web-Seite Üben, üben, üben! Format Vorlesung:

Mehr

Grundlagen von C# - 1

Grundlagen von C# - 1 Grundlagen von C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Über diesen Kurs 2. Benötigte Software 3. Exkurs: Architektur von.net und C# 4. Erstes Programm: Hello World Grundlegende Eigenschaften

Mehr

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Klausur zur Einführung in die objektorientierte Programmierung mit Java Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

Code Quality. Steigerung der Codequalität mit Visual Studio & TFS

Code Quality. Steigerung der Codequalität mit Visual Studio & TFS Code Quality Steigerung der Codequalität mit Visual Studio & TFS Tobias Richling 30 Jahre Wohnhaft im Münsterland Softwareentwickler seit Amiga Basic Microsoftie Logisitksoftware Silverlight TFS Trainer,

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

JmetrikaC. Zusatzinformationen für die Programmiersprache C. Analyse sicherheitsrelevanter Software

JmetrikaC. Zusatzinformationen für die Programmiersprache C. Analyse sicherheitsrelevanter Software JmetrikaC Zusatzinformationen für die Programmiersprache C Analyse sicherheitsrelevanter Software Ansprechpartner: Berufsgenossenschaftliches Institut für Arbeitsschutz BGIA Zentralbereich Prof. Dr. Dietmar

Mehr

Comparing Software Factories and Software Product Lines

Comparing Software Factories and Software Product Lines Comparing Software Factories and Software Product Lines Martin Kleine kleine.martin@gmx.de Betreuer: Andreas Wuebbeke Agenda Motivation Zentrale Konzepte Software Produktlinien Software Factories Vergleich

Mehr

Software-Entwurfsmuster

Software-Entwurfsmuster Software-Entwurfsmuster Prinzip von Entwurfsmustern und einige elementare Beispiele Malte Spiess malte@mathematik.uni-ulm.de Seminar Bildanalyse und Simulation mit Java im WS 2003/2004 Universität Ulm

Mehr