Software-Metriken. B. Sc. Michael Thomas. Seminar Software-Entwurf WS 2004/05.
|
|
- Jürgen Kalb
- vor 8 Jahren
- Abrufe
Transkript
1 Software-Metriken B. Sc. Michael Thomas Seminar Software-Entwurf WS 2004/05
2 Gliederung Einführung Traditionelle Metriken / Grundeinheiten Lines of Code Zyklomatische Komplexität Halstead-Maße OO-Metriken Maße nach Chidamber & Kemerer Werkzeuge cccc JDepend Eclipse Plugins Literatur 2
3 Wann ist ein Software-Entwurf gut? 3
4 Wann ist ein Software-Entwurf gut? Eigenschaften guter Entwürfe: leicht verständlich Fehler vermeidend wartbar erweiterbar Software-Qualitätsmerkmale nicht direkt messbar! Ausweg: messen von internen Größen Vorhersagen durch Empirie ableiten 4
5 Einordnung des Themas Creational Patterns Behavioral Patterns Structural Patterns Design Patterns lösen Design-Probleme UML Hilfsmittel OO Analyse & Design betrachtete Programmiertechnik OOP SW-Metriken Beurteilung wichtiger Bestandteil Software-Entwurf 5
6 Was ist eine Metrik? Maßzahl zur Quantifizierung von Attributen eines SW-Projekts Anforderungen: Einfachheit Objektivität Validität Konsistenz Reproduierbarkeit Nachvollziehbarkeit 6
7 Metriken messen Vorgehen: Messgröße definieren Daten sammeln auswerten und beurteilen Feste Integration ist wichtig! sonst: Vernachlässigung Ziele setzen Messgrößen definieren Vorgehen überarbeiten Auswerten & beurteilen Entwickeln Daten sammeln 7
8 Warum Metriken einsetzen? To meassure is to know (Maxwell) Bewertung von Entwurf Designentscheidungen genauere Schätzungen Software-Projekte werden vergleichbar dienen dem erfahrungsbasierten Lernen in Unternehmen Wartungs- und Testumfang vorhersagen Erzieherische Effekte auf den Programmierer (Stil) 8
9 Arten von Metriken Man unterscheidet Software-Metriken (nach Thaller) in: Software-Metriken Produkt-Metriken Prozess-Metriken 9
10 Prozess-Metriken dienen dem Projektmanagement beurteilen den Prozess der Software-Entwicklung typische Anwendungen: Kosten- und Aufwandsschätzungen Projektfortschritt beurteilen Wartungskosten abschätzen Risiken erkennen etc. bekannte Metriken: Brooks: The Mystical Man-Month gefundene Fehler pro Phase 10
11 Produkt-Metriken dienen dem Entwicklerteam vorrangig zur Qualitätsbeurteilung des SW-Produkts: Zuverlässigkeit bzw. Fehleranfälligkeit Designkomplexität Wartungsaufwand Lesbarkeit meist Code-basiert 11
12 Gliederung Einführung Traditionelle Metriken / Grundeinheiten Lines of Code Zyklomatische Komplexität Halstead-Maße OO-Metriken Maße nach Chidamber & Kemerer Werkzeuge cccc JDepend Eclipse Plugins Literatur 12
13 Lines of Code einfach die Zeilen des Quellcode zählen Vorteile: extrem einfach zu messen Nachteile: sehr unterschiedliche Definitionen: alle Programmzeilen ausführbare Programmzeilen Leerzeilen? Kommentare? Compiler-Befehle? sprachabhängig bemisst lediglich den Umfang einheitliche Definition und Normierung notwendig (!) 13
14 Beispiel public void feed(eatable[] eatable){ for (Eatable e : eatable){ if (hungry) // iß etwas... atecalories += e.getcalories(); } } if (atecalories > 150){ // Sodbrennen spitfire(); } alle Zeilen 10 ohne Leerzeilen, Kommentare 7 Anzahl Semikolons 2 14
15 Cyclomatic Complexity nach McCabe (1976) basiert auf Ablaufgraph F Formel: c F = E V 2 p Fehleranfälligkeit : mittleres Risiko c F 10 : hohes Risiko c F 20 : unbeherschbar c F 50 Vorteile: misst die Komplexität Nachteile: Umfang nicht berücksichtigt 15
16 Beispiel public void feed(eatable[] eatable){ for (Eatable e : eatable){ if (hungry) // iß etwas... atecalories += e.getcalories(); } if for... if (atecalories > 150){ } // Sodbrennen spitfire(); if... } c F =9 7 2=4 16
17 Halstead-Metriken erster Einführung von Software-Metriken (1972) Zählt alle verwendeten Operatoren und Operanden = Anzahl der verwendeten Operatoren 1 = Anzahl der verwendeten Operanden 2 = Gesamtzahl der Operatoren N 1 = Gesamtzahl der Operanden N 2 Daraus abgeleitet: Maße für Schwierigkeit Volumen Aufwand D= 1 2 N 2 2 V = N 1 N 2 log 1 2 E=D V 17
18 Beispiel public void feed(eatable[] eatable){ for (Eatable e : eatable){ if (hungry) // iß etwas... atecalories += e.getcalories(); } if (atecalories > 150){ // Sodbrennen spitfire(); } } D=8,25 V 138,3 E 1141 Operator #Vorkommen Eatable 1 public 1 void 1 for 1 if 2 { } 3 ( ) 6 += 1 > 1 : 1. 1 ; 2 Operand #Vorkommen feed 1 eatable 2 hungry 1 atecalories 2 getcalories 1 spitfire 1 18
19 Gliederung Einführung Traditionelle Metriken / Grundeinheiten Lines of Code Zyklomatische Komplexität Halstead-Maße OO-Metriken Maße nach Chidamber & Kemerer Werkzeuge cccc JDepend Eclipse Plugins Literatur 19
20 Problem Traditionelle Maße sagen nichts über OO-Programme aus. Anwendung höchstens in Teilsystemen Wie bildet man objekt-orientierte Konzepte ab? Klassen Vererbung Polymorphismus Nachrichtenaustausch Lösung: Maße von Chidamber und Kemerer Towards a Metric Suite for Object Oriented Design,
21 Weighted methods per class (WMC) Gewichtete Menge an Methoden Gewichtung anhand der zyklomatischen Komplexität (McCabe) Indikator für Weiterentwicklungsaufwand Wartungsaufwand schwierige Wiederverwendung WMC=c F feed c F spitfire =4 1=5 21
22 Depth in inheritance tree (DIT) Tiefe im Vererbungsbaum genauer: Anzahl der Oberklassen!? Indikator für hohe Wiederverwendung gute Strukturierung Gefahr einer unbeabsichtigeten Änderung in Oberklassen positiv korelliert mit Fehlerwahrscheinlichkeit DIT = 2 DIT = 0 DIT = 1 DIT = 3 22
23 Number of children (NOC) Anzahl der direkten Unterklassen Idikator für die Wichtigkeit einer Klasse Auswirkungen von Änderungen im System Testaufwand bei Änderungen negativ korelliert mit Fehlerwahrscheinlichkeit NOC = 1 NOC = 2 NOC = 1 23
24 Coupling between classes (CBO) Kopplung zwischen zwei Klassen zeigt die Anzahl der Klassen, mit denen kommuniziert wird Indikator für: starke Kopplung großen Verwaltungs- & Testaufwand schlechte Aufgabenverteilung positiv korelliert mit Fehlerwahrscheinlichkeit CBO = 2 CBO = 1 CBO = 1 24
25 Response for a class (RFC) Menge aller genutzen Klassen zeigt die Anzahl aller verschiedenen Methoden, die aufgerufen werden zuzüglich aller Methoden der Klasse die max. mögliche Zahl an Methoden die durch eine Nachricht aufgerufen werden könnten Je größer der RFC: je komplexer ist die Klasse je schwieriger sind Testen und finden von Fehlern RFC = = 3 25
26 Lack of cohesion on methods (LCOM) Kohäsionsmangel der Methoden einer Klasse Berechnung: Anzahl der Methodenpaare mit disjunkten Variablen minus der Methodenpaare mit gemeinsam genutzten Variablen Indikator für schlechtes Design schlechte Klassenaufteilung mögliches Trennen in mehrere Klassen LCOM = 2 26
27 Dynamische Metriken bisher lediglich statische OO-Metriken leider keine Metriken für das dynamische Systemverhalten Kommunikationsabläufe Gebiet der Forschung 27
28 Gliederung Einführung Traditionelle Metriken / Grundeinheiten Lines of Code Zyklomatische Komplexität Halstead-Maße OO-Metriken Maße nach Chidamber & Kemerer Werkzeuge cccc JDepend Eclipse Plugins Literatur 28
29 cccc berechnet u.a. die vorgestellten Metriken Programmiersprachen: Ada Java C/C++ kommandozeilen-basiert z.b.: cccc --outdir=~/report `find. -name *.java` Ausgabe nach HTML/XML Vorteil: einfach und intuitiv zu benutzen Nachteil: keine Integration in IDE's 29
30 Beispiel 30
31 JDepend berechnet OO-Metriken nach Robert C. Martin Programmiersprachen: Java Ausgabeformen Konsole, XML Swing GUI Integration in Ant JUnit gute Dokumentation 31
32 Eclipse Plugin: com.teaminabox.eclipse.metrics berechnet die vorgestellten Metriken Features: Export nach HTML/CSV möglich gute Integration Überschrittene Grenzwerte werden in die Probleme -Sicht integriert: 32
33 Eclipse Plugin: net.sourceforge.metrics berechnete Metriken nach Chidamber und Kemerer sowie Robert C. Martin Features: eigener Metrik-View graphische Darstellung als Dependency Graph Nachteil: Probleme unter Linux 33
34 Literatur Bücher: Henderson-Sellers, Brian: Object-Oriented Metrics, measures of Complexity Martrin,Robert: Agile Software Development, Principles, Patterns and Practices URLs:
35 Ende Vielen Dank für die Aufmerksamkeit! 35
Software-Metriken. Dipl.-Ing.(BA) Henning Sievert <email@henningsievert.de> Seminar Software-Entwurf WS 2004/05
Software-Metriken Dipl.-Ing.(BA) Henning Sievert Seminar Software-Entwurf WS 2004/05 Gliederung Einordnung in den Seminar-Kontext Grundlegende Definitionen Klassifikation von
MehrVerwendung 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
MehrSoftware-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
MehrSoftware 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
MehrProgrammverstehen 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
MehrComparison 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
MehrWerkzeuggestü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
MehrSoftwaremetriken. 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
MehrSoftwaremetriken 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
MehrEcholot Qualitätssicherung mit Sonar
Echolot Qualitätssicherung mit Sonar Thomas Haug thomas.haug@mathema.de www.mathema.de Motivation Sonar Überblick Demo Fazit Motivation Sonar Überblick Demo Fazit Sometimes the developers manage to maintain
MehrSoftwaremetriken. 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
MehrDaniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers
Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des
MehrTesten mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
MehrInformationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:
Informationssystemanalyse Lebenszyklusmodelle 3 1 Aufgaben von Lebenszyklusmodellen Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen: Definition der Tätigkeiten im Entwicklungsprojekt Zusicherung
MehrAnalysierende 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
MehrMessung. 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
MehrSoftware-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
MehrKlassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java
Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte
MehrGenerative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009
Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009 Gliederung 1. Generative Programmierung 2. Möglichkeiten und Einsatzgebiet 3. Prozess / Tools 4. Zusammenfassung 19.03.2009 GENERATIVE PROGRAMMIERUNG
MehrSoftwareentwicklungsprozess im Praktikum. 23. April 2015
Softwareentwicklungsprozess im Praktikum 23. April 2015 Agile Softwareentwicklung Eine agile Methodik stellt die beteiligten Menschen in den Mittelpunkt und versucht die Kommunikation und Zusammenarbeit
MehrSoftware 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
MehrStatische 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
MehrSoftware 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"
MehrWorkshop 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
MehrQualitätsmanagement. Andreas Bäuml SWT-Projekt 16.11.2007 WS 07/08
Qualitätsmanagement Andreas Bäuml SWT-Projekt 16.11.2007 WS 07/08 Gliederung Gliederung: 1. Motivation 2. Qualitätsmanagement 3. Konstruktive Maßnahmen 4. Analytische Maßnahmen 5. Diskussion Projekt Softwaretechnik:
MehrQualitä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
MehrSoftwaremessung 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
MehrDas Wasserfallmodell - Überblick
Das Wasserfallmodell - Überblick Das Wasserfallmodell - Beschreibung Merkmale des Wasserfallmodells: Erweiterung des Phasenmodells Rückkopplungen zwischen den (benachbarten) Phasen sind möglich Ziel: Verminderung
MehrSoftware- Qualitätssicherung
Ernest Wallmüller Software- Qualitätssicherung in der Praxis Carl Hanser Verlag München Wien IX 1 Software-Qualität und Software-Qualitätssicherung 1 1.1 Software Engineering und Software-Qualitätssicherung
MehrTeambildung. 1 Einleitung. 2 Messen der Produktivität
1 Einleitung Teambildung In der Entwicklung, speziell bei hohem Softwareanteil, stellen Personalkosten den primären Kostenanteil dar. Daher ist es wichtig, den Personalbedarf optimal zu bestimmen. You
MehrObjektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt
Objektorientierter Software-Entwurf Grundlagen 1 1 Einordnung der Veranstaltung Analyse Design Implementierung Slide 1 Informationssystemanalyse Objektorientierter Software-Entwurf Frühe Phasen durch Informationssystemanalyse
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrInhalt 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
MehrGrundlagen Software Engineering
Grundlagen Software Engineering Rational Unified Process () GSE: Prof. Dr. Liggesmeyer, 1 Rational Unified Process () Software Entwicklungsprozess Anpassbares und erweiterbares Grundgerüst Sprache der
MehrWas bringt TDD wirklich?
Was bringt TDD wirklich? Wissensspritze vom 6..2009, Christian Federspiel Catalysts GmbH McCabe Metrik CCN Die Cyclomatic Complexity Number, misst die Anzahl der möglichen Pfade durch einen Code. Die Metrik
MehrInformationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:
Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
MehrEin Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
MehrKapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?
Kapitelübersicht Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge Was bedeutet Objektorien+erung? ObjektorienCerte Analyse und Design die Objektmodellierung
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrQualitätsmanagement an beruflichen Schulen in Deutschland: Stand der Implementierung. Diplomarbeit
Qualitätsmanagement an beruflichen Schulen in Deutschland: Stand der Implementierung Diplomarbeit vorgelegt an der Universität Mannheim Lehrstuhl für Wirtschaftspädagogik Prof. Dr. Hermann G. Ebner von
MehrDr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht
Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung??
Mehr2. Psychologische Fragen. Nicht genannt.
Checkliste für die Beurteilung psychologischer Gutachten durch Fachfremde Gliederung eines Gutachtens 1. Nennung des Auftraggebers und Fragestellung des Auftraggebers. 2. Psychologische Fragen. Nicht genannt.
MehrKlausur Software-Engineering SS 2005 Iwanowski 23.08.2005
Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005 Hinweise: Bearbeitungszeit: 90 Minuten Erlaubte Hilfsmittel: im Anhang, sonst keine Bitte notieren Sie Ihre Antworten ausschließlich auf dem Aufgabenblatt!
MehrTest-Driven Design: Ein einfaches Beispiel
Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel eines Programms
MehrVerwendung 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
Mehr0/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:
MehrProduktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort
ALEX IT-Service Ihr IT Servicepartner»ALEX-IT Service«16341 Panketal an unsere Kundschaft Ihr Zeichen, Ihre Nachricht Unser Zeichen Telefon, Name Datum CMS 13.01.2010 Produktvorstellung: CMS System / dynamische
MehrAgile Softwareentwicklung
Agile Softwareentwicklung Werte, Konzepte und Methoden von Wolf-Gideon Bleek, Henning Wolf 2., aktualisierte und erweiterte Auflage Agile Softwareentwicklung Bleek / Wolf schnell und portofrei erhältlich
MehrQM: Prüfen -1- KN16.08.2010
QM: Prüfen -1- KN16.08.2010 2.4 Prüfen 2.4.1 Begriffe, Definitionen Ein wesentlicher Bestandteil der Qualitätssicherung ist das Prüfen. Sie wird aber nicht wie früher nach der Fertigung durch einen Prüfer,
MehrErfahrungen mit Hartz IV- Empfängern
Erfahrungen mit Hartz IV- Empfängern Ausgewählte Ergebnisse einer Befragung von Unternehmen aus den Branchen Gastronomie, Pflege und Handwerk Pressegespräch der Bundesagentur für Arbeit am 12. November
MehrVerteilte Paarprogrammierung mit Eclipse
Verteilte Paarprogrammierung mit Eclipse Riad Djemili (djemili@inf.fu-berlin.de) Diplomarbeitsthema Freie Universität Berlin Februar 2006 Inhalt 1. Wie ist der aktuelle Stand im Bereich des Distributed
MehrEmpirische Softwaretechnik Kosten und Nutzen von UML in der Wartung Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010
Empirische Softwaretechnik Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010 IPD Tichy, Fakultät für Informatik Pflichtlektüre hierzu: Dzidek, Arisholm, Briand, A Realistic Empirical Evaluation
MehrQualität bei evolutionärer Entwicklung
Martin Glinz Software-Qualität Ausgewählte Kapitel Kapitel 3 Qualität bei evolutionärer Entwicklung 2007, 2010 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht
MehrInhalt. Fragestellungen. ...we make the invisible visible... Analysen und deren Anwendung Erfahrungen
...we make the invisible visible... 1 Inhalt Fragestellungen Analysen und deren Anwendung Erfahrungen 2 Projektleiter Hat unsere Software eine klare, verständliche Struktur? Gibt es problematischen Code,
MehrSoftwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch
Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich
MehrDas Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin
Fragestellungen: Warum reicht das Lastenheft nicht aus? Was kann ich mit dem Lastenheft machen? Was unterscheidet das Pflichtenheft vom Lastenheft? Was gehört zum Auftragsumfang einer Individualsoftware?
MehrObjektorientiertes JavaScript
Objektorientiertes JavaScript Christoph Fabritz dm121506@fhstp.ac.at http://goo.gl/jzqxnw Inhalt JavaScript Objektorientierung OO in JavaScript Literatur JavaScript Interpretiert / gescriptet Dynamische
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrAnforderungsgetriebene Webentwicklung mit Grails:
ne mit Grails: und dem 26.01.2012 und dem Gliederung und dem Projektumfeld Agentur mit weniger als 5 Mitarbeitern Schwerpunkte: mit Typo 3 / PHP ios App-Entwicklung für ipad und iphone und dem Folie 1
MehrWas ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit
Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool
MehrIntegrierte und automatisierte GUI-Tests in Java
Integrierte und automatisierte GUI-Tests in Java Gliederung Die Idee hinter GUI-Tests Herausforderungen und Probleme Techniken Jemmy-Framework Konzeptorientiertes Testen FIT (Framework for Integrated Tests)
MehrSoftware 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
MehrKapitel 2: Der Software-Entwicklungsprozess
Wie konstruiert man Software? Kapitel 2: Der Software-Entwicklungsprozess SoPra 2008 Kap. 2: Der Software-Entwicklungsprozess (1/10) Der Software-Entwicklungs-Prozess Historisches 1960JJ adhoc Techniken
MehrSoftwarepraktikum: Enigma
Softwarepraktikum: Enigma Martin Steffen Sommersemester 2003 Abschnitt I Softwareentwurf Bereiche der Softwareentwicklung 1 Softwareentwurf eigentliche Softwareentwicklung Projektmanagement Konfigurationsmanagement
MehrIT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle
IT-Basics 2 DI Gerhard Fließ Vorgehensmodelle Sichtbarkeit Die Sichtbarkeit von Membervariablen und Methoden können durch die folgenden Schlüsselworte geregelt werden: private nur in der eigenen Klasse
Mehrneue FMEA Risiko Bewertung Referent: Martin Werdich
neue FMEA Risiko Bewertung Referent: Martin Werdich FMEA Moderator + Trainer Für r was ist eine Risikoreihenfolge gut? Chef will kurz die Top Risiken wissen Arbeitsschwerpunkte schneller finden Übersichtlichkeit
MehrTHREAD ARCS: An Email Thread Visualization
THREAD ARCS: An Email Thread Visualization Eine Technik zur Visualisierung der Email Threads Wladimir Emdin Seminar Visualisierung verteilter Systeme Gliederung 1. Einführung: Email Threads und Ziele deren
MehrIT-Projektmanagement-Methoden
IT-Projektmanagement-Methoden Best Practices von Serum bis PRINCE2 i Gruhjjlagen des IT-Projektmanagements WALTER RUF Instrumente im IT-Projektmanagement 19 Einleitung 19 Klassifikation der Instrumente
MehrKonzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens
MehrVariabilität in Produktlinien und das orthogonale Variabilitätsmodell
Variabilität in Produktlinien und das orthogonale Variabilitätsmodell Vortrag im Rahmen des Proseminars Softwarequalität und -sicherheit von Marion Weber SS 2010 1 Einführung & Motivation Variabilität
MehrCopyright 2014 Delta Software Technology GmbH. All Rights reserved.
Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für
MehrLösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13)
Prof. Ina Schaefer Institut für Softwaretechnik und Fahrzeuginformatik TU Braunschweig Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13) Ausgabe: 12. Januar 2013 Abgabe: 25. Januar
MehrFehlermonitor. Software zur seriellen Verbindung PC-Airdos Visualdatensignale und Fehlermeldungen-Ausagabe per SMS / Drucker
Fehlermonitor Software zur seriellen Verbindung PC-Airdos Visualdatensignale und Fehlermeldungen-Ausagabe per SMS / Drucker Das Programm ist problemlos zu installieren auf jedem Windows-PC (XP) mit.net
MehrQualitätssicherung. Was ist Qualität?
Ein Überblick Methoden und Werkzeuge zur Softwareproduktion Was ist Qualität? "Als Qualität eines Gegenstandes bezeichnen wir die Gesamtheit seiner charakteristischen Eigenschaften" Hesse et al. 2 Was
MehrDie Orgadata AG ist ein stark expandierendes Software-Unternehmen aus Leer. Mit unserem System LogiKal
HIER DREHT SICH ALLES UM IHRE ZUKUNFT Entwicklung einer Architektur für automatisierte UI-Tests Im Rahmen Ihrer entwickeln Sie eine Software-Lösung, die das automatische Bedienen und Befüllen der graphischen
MehrSoftware Maintenance - Musterlösung zum Übungsblatt 1
Software Maintenance - Musterlösung zum Übungsblatt 1 Beispiel 1) Kosten für 12 Monate: Kosten altes Produkt: 1000 * 12 = 12000 Kosten Neuentwicklung: 1000 Wartung des alten Produktes während der Entwicklung
MehrInformationssystem Kirche bei den Menschen
Fachhochschule Wiesbaden Fachbereich 06 - Informatik Informationssystem Kirche bei den Menschen Prof. Dr. Reinhold Schäfer Marco Born, Michael Eckhardt, Stefan Nitsche Inhalt des Vortrags Übersicht Grundsätzliches
MehrKontinuierliche Architekturanalyse. in 3D
Kontinuierliche Architekturanalyse in 3D Stefan Rinderle Bachelor an der HS Karlsruhe Master "Software Engineering" in München / Augsburg Seit 2013 bei Payback 2 Software-Visualisierung Visualisierung
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrGrundzü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:
MehrEclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps
Projekt: Intern Softwareprojekt FH Furtwangen Status: Draft Ersteller: Kai Grabfelder Datum: 11.02.2007 Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps 1 Beschreibung... 2 Semesterprojekt...
MehrAuswertung des Jahresabschlusses Bilanzanalyse 2
KA11 Unternehmensergebnisse aufbereiten, bewerten und nutzen Auswertung des Jahresabschlusses Bilanzanalyse 2 Kennzahlen zur Bilanzanalyse Die aufbereitete Bilanz kann mit Hilfe unterschiedlicher Kennzahlen
MehrApache - Maven. Java-Erstellung auf Plugin-Basis. Martin Hoffmann
Apache - Maven Java-Erstellung auf Plugin-Basis Martin Hoffmann Übersicht Was ist Maven Alternative: Ant Arbeitsweise von Maven Standard Eigene Konfigurationen & Plugins Arbeiten im Team Aufteilen von
MehrHandbuch Social Linkbuilding Automatik-Software
Handbuch - Social Linkbuilding Automatik-Software www.founder.de Seite 1 1. Überblick Der Screenshot oben zeigt die Social Linkbuilding Automatik-Software, welche Sie über folgenden Link erreichen: http://www.social-linkbuilding.de/software/start/
MehrWo sind meine Anforderungen?
Whitepaper Telekommunikation Wo sind meine Anforderungen? Eine effektive Lösung auf Basis von Confluence und JIRA 2011 SYRACOM AG 1 Einleitung Erfahrene Projektmitarbeiter sehen sich oftmals im Projektalltag
MehrEinführung in wxwidgets & wxdev-c++
Einführung in wxwidgets & wxdev-c++ Vortrag im Rahmen der Vorlesung Computational Physics im Sommersemester 2009 Folie 1/13 Gliederung wxwidgets: Übersicht wxdev-c++: Übersicht Installation wxwidgets Syntax
MehrInformatik, Mathematik und Naturwissenschaften
Hochschule für Technik, Wirtschaft und Kultur Leipzig Leipzig University of Applied Sciences OPAL 2 Softwareprojekt der HTWK Leipzig Fakultät Informatik, Mathematik und Naturwissenschaften portal.imn.htwk-leipzig.de
MehrVorgetragen von. Sanaz Mostowfi Anna Polovets Mandy Neumann
Vorgetragen von Sanaz Mostowfi Anna Polovets Mandy Neumann Gliederung Was ist DSL? Welche Arten von DSL gibt es? Vor und Nachteile Werkzeuge zur Erstellung von DSLs XText Definition: DSL (Domain Specific
MehrKapitel 10: Dokumentation
Kapitel 10: Dokumentation Inhalt 10.1 Stellenwert der Dokumentation 10.2 Dokumentenlenkung 10.3 Dokumentation des Qualitätsmanagementsystems Schlüsselbegriffe Dokument, Dokumentenlenkung, Qualitätshandbuch
MehrKünstliche Intelligenz Maschinelles Lernen
Künstliche Intelligenz Maschinelles Lernen Stephan Schwiebert Sommersemester 2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Maschinelles Lernen Überwachtes Lernen
MehrManagement 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
MehrSoftware Engineering
Literatur Gliederung Software Engineering Herbert Kuchen Universität Münster Di+Fr 14:15-15:45, M2 Wintersemester 2009/2010 1 Literatur Gliederung Basis-Literatur H. Balzert: Lehrbuch der Software-Technik,
MehrVorstellung des BMBF-Projektes FluSs aus Sicht eines Endanwenders. Düsseldorf Maritim-Hotel, 09. Juli 2013 Mark Zwirner
Vorstellung des BMBF-Projektes FluSs aus Sicht eines Endanwenders Düsseldorf Maritim-Hotel, 09. Juli 2013 Mark Zwirner Chart 2 Hintergründe Auswirkungen von Sicherheitsmaßnahmen Sicherheitsmaßnahmen entstehen
MehrGeneratives Programmieren
Generatives Programmieren Seminar Produktlinien WS03/04 Tammo van Lessen 08.01.2004 Outline Einleitung Generatoren Generatives Programmieren Fazit Einleitung Industrielle Entwicklung 1826 Austauschbare
MehrEndTermTest PROGALGO WS1516 A
EndTermTest PROGALGO WS1516 A 14.1.2016 Name:................. UID:.................. PC-Nr:................ Beachten Sie: Lesen Sie erst die Angaben aufmerksam, genau und vollständig. Die Verwendung von
MehrAndy Hunt. Programmieren lernen. mit Minecraft-Plugins. dpunkt.verlag
Andy Hunt Programmieren lernen mit Minecraft-Plugins dpunkt.verlag Hier geht es los! 1 Für wen ist dieses Buch gedacht? 2 Erste Schritte 2 Ein Sprung ins kalte Wasser 3 Wo bekommst du Hilfe? 4 Schreibweisen
MehrWLGauge: : Web Link Gauge to Measure the Quality of External WWW Links. Andreas Lübcke
WLGauge: : Web Link Gauge to Measure the Quality of External WWW Links Andreas Lübcke Gliederung Einführung Hintergrund zum link rot problem Arbeiten zum Thema WLGauge Open Framelet Design von WLGauge
MehrEvaluation of Database Design and Reverse Engineering Tools for a Large Software System
Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Anne Thomas TU Dresden Dr. B. Demuth Pre Press GmbH (Dresden) T. Reuter Gliederung Einleitung Vorgehensweise Kontext
Mehr