Codequalität: Code-Metrik Version 0.1

Größe: px
Ab Seite anzeigen:

Download "Codequalität: Code-Metrik Version 0.1"

Transkript

1 Codequalität: Code-Metrik Version 0.1 Sicherung und Verbesserung der Codequalität mit Hilfe von Code-Metrik Tools Team Code Orange 1

2 Inhalt Einleitung Tools: - Checkstyle - JavaNCSS - Findbugs - JDepend - Cobertura (Integration in Buildprozess) Team Code Orange 2

3 Einleitung Grundmotivation Regelmäßige Überwachung und Verbesserung der Codequalität ist essenziell für das technische und geschäftliche Überleben von Softwaresystemen Gerade in Zeiten der fortschreitenden Softwarekrise stellt Codequalität eine fundamentale Säule in der Softwareentwicklung dar Team Code Orange 3

4 Einleitung Grundmotivation Umfang und Ausprägung moderner Softwareprojekte erfordern moderne Lösungen zur Sicherung von Qualität des Codes und zur Überwachung des Codes (Codereviews) In der Praxis wird die sogenannte Quelltextrezension oftmals nur von wenigen bzw. einer Person durchgeführt (Softwarearchitekt) Team Code Orange 4

5 Einleitung Grundmotivation Der Softwarearchitekt kann unmöglich jede Codezeile manuell bezüglich Codequalität prüfen Softwareprojekte, Systeme, Teams und Unternehmen sind oft zu unterschiedlich für einheitlichen Standard bezüglich Codequalität Team Code Orange 5

6 Einleitung Einschub: Konservative Ansätze Regelmäßige Codereviews Eigene Erfahrung Einhaltung von Codeschablonen bzw. softwaretechnischen Verhaltensmustern Lösen jedoch oft nur eine kleine Untermenge von Problemen bezüglich Überwachung der Codequalität Team Code Orange 6

7 Einleitung Grundmotivation Problemlösungsansatz: Entwicklung/Einsatz von Vorgehensweisen zur Abbildung von Softwareeigenschaften in einem Zahlenwert (Maßzahl) Softwaremetrik (Codemetrik) Team Code Orange 7

8 Einleitung Codemetrik(Nutzung) Einsatz(Beurteilung) der Codemetrik erstreckt sich über mehrere Bereiche: Entwicklungsphasen Phasenergebnisse Technologien Ziel der Metriken Fehlerprognose und Aufwandsabschätzung Unterscheidung zwischen vorlaufend, mitlaufend und retroperspektiv Team Code Orange 8

9 Einleitung Codemetrik(Beschränkung) Metriken sollten überschaubar bleiben (eindimensional): Sicht des Managements Kosten, Produktivität, Risiken, Validierung Sicht des Entwicklers Lesbarkeit, Effizienz, Effektivität, Tests, Restfehler Sicht des Kunden Abschätzungen(Budget), Qualität, Wartbarkeit, Erweiterbarkeit Team Code Orange 9

10 Einleitung Codemetrik(Klassifikation) Verschiedene Metriken(Entwurfsmetrik, Kommunikationsmetrik usw.) werden speziellen Klassen zugeordnet: Prozess-Metrik Ressourcenaufwand, Fehler, Kommunikationsaufwand Produkt-Metrik Umfang, Komplexität, Lesbarkeit, Entwurfsqualität, Produktqualität Komplexitätsmetrik Softwaregröße, Fertigstellungsgrad Team Code Orange 10

11 Einleitung Codemetrik(Gütekriterien) Gütemerkmale werden in der Regel an der Erfüllung der Kundenanforderung gemessen Gütekriterien für den Kunden: Objektivität (keine subjektive Einflüsse des Messenden) Zuverlässigkeit (bei Wiederholung gleiche Ergebnisse) Normierung (Messergebnisskala und Vergleichbarkeitsskala) Team Code Orange 11

12 Einleitung Codemetrik(Gütekriterien) Gütekriterien für den Kunden(Fortsetzung): Vergleichbarkeit (Maß mit anderen Maßen in Relation setzbar) Nützlichkeit (messbare Erfüllung praktischer Bedürfnisse) Validität (von messbaren Größen auf andere Kenngrößen zu schließen (schwierig)) Team Code Orange 12

13 Einleitung Zusammenfassung Für den Menschen (Softwarearchitekt) ist es schwer manuell für eine entsprechende allgemeine Codequalität zu sorgen Lösung: Einsatz einer einheitlichen und allgemein anerkannten Metrik (Codemetrik) Im Folgenden werden Tools vorgestellt, welche zum größten Teil solche Codemetriken erstellen und realisieren Team Code Orange 13

14 Inhalt von Checkstyle Zitat Sinn und Zweck eines Coding Standards Fälle für die Coding Standards Sinn machen Definierte Punkte bei Checkstyle Einfaches Beispiel für schlecht lesbaren Code Beispiel für schlecht lesbaren Code Tipps Checkstyles als Eclipse-Plugin Team Code Orange 1

15 Zitat* von Martin Fowler Any fool can write code that a computer can understand. Good programmers write code that humans can understand *("Refactoring - Improving the design of existing code", Seite 15) Team Code Orange 2

16 Sinn und Zweck eines Coding Standards Ist das Erleichtern von Arbeiten am Code mit mehreren Leuten durch einheitliche Codestruktur innerhalb eines Entwicklungsteams Team Code Orange 3

17 Fälle für die Coding Standards Sinn machen Kommunikation Urlaubsvertretung funktionierender Code Übersichtlicher Code Module und Modultests Wiederverwendbarkeit des Codes Einfache Wartung des Codes Code, der leicht zu erweitern ist Team Code Orange 4

18 Definierte Punkte bei Checkstyle Einrückung Namenskonventionen Kommentare Begrenzung der Zeilenlänge Anzahl von Unterklassen Komplexität der Dateistruktur (Packages) Team Code Orange 5

19 Einfaches Beispiel für schlecht lesbaren Code Ein eingegebener Wert soll von einer temporären Variable einer speziell für Usereingaben definierte Variable zugewiesen werden Schlecht a = b; Gut inputuser = tempinput; Team Code Orange 6

20 Beispiel für schlecht lesbaren Code 48 through the loop, sortboundary is increased, and the element at the position of the 49 new sortboundary probably isn't in its sorted place in the array, so it's inserted 50 into the proper place somewhere between firstelement and sortboundary. */ for ( int 51 sortboundary = firstelement+1; sortboundary <= lastelement; sortboundary++ ) { int 52 insertval = data[ sortboundary ]; int insertpos = sortboundary; while ( insertval < 53 data[ insertpos-1 ] ) { data[ insertpos ] = data[ insertpos-1 ]; insertpos = 54 insertpos-1; } data[ insertpos ] = insertval; } /* Replace original lower-boundary 55 element */ data[ firstelement-1 ] = lowerboundary; } Team Code Orange 7

21 for ( 77 int sortboundary = firstelement+1; 78 sortboundary <= lastelement; 79 sortboundary++ 80 ) { 81 int insertval = data[ sortboundary ]; 82 int insertpos = sortboundary; 83 while ( insertval < data[ insertpos-1 ] ) { 84 data[ insertpos ] = data[ insertpos-1 ]; 85 insertpos = insertpos-1; 86 } 87 data[ insertpos ] = insertval; 88 } Beispiel für schlecht lesbaren Code Team Code Orange 8

22 120 for ( int sortboundary = firstelement + 1; sortboundary <= lastelement; 121 sortboundary++ ) { 122 int insertval = data[ sortboundary ]; 123 int insertpos = sortboundary; 124 while ( insertval < data[ insertpos - 1 ] ) { 125 data[ insertpos ] = data[ insertpos - 1 ]; 126 insertpos = insertpos - 1; 127 } 128 data[ insertpos ] = insertval; 129 } 130 // Replace original lower-boundary element 131 data[ firstelement - 1 ] = lowerboundary; 132 } Beispiel für schlecht lesbaren Code Quelle: Code Complete - von Steve McConnell Team Code Orange 9

23 Tipps Code sollte ab der ersten Zeile gemessen werden Der gesunde Menschenverstand sollte nicht ausgeschaltet werden Die Sinnhaftigkeit sollte im Einzelfall überprüft werden Team Code Orange 10

24 Checkstyle in Eclpise Team Code Orange 11

25 Inhalt JavaNCSS Features NCSS CCN Fazit Quellen Team Code Orange 1

26 JavaNCSS JavaNCSS ist ein Kommandozeilen Programm Die Metriken, die von JavaNCSS ermittelt werden, sind : NCSS(Non Commenting Source Statements) CCN(Cyclomatic Complexity Number) JVDC(Number of formal Javadoccomments) NCSS und JVDC können auf Global-, Klasse- oder Funktions-Ebene angewendet werden. Team Code Orange 2

27 NCSS Es wird die Anzahl, der Ausführbaren Codezeilen (Non-Commenting-Source-Statements) ermittelt Vereinfacht kann man sagen, dass diese Metrik die ; und die { in Java Quelltexten zählt Nicht gezählt werden leere Statements, leere Blöcke oder Semikolons nach geschweiften Klammern Kommentare und Formatierung spielen keine Rolle Team Code Orange 3

28 NCSS Vorteile : Genauer als LOC Ermöglicht Vergleichbarkeit, zu anderen Projekten Nachteile : Die Anzahl der NCSS, müssen immer im Kontext gesehen werden Alleinstehend nicht sehr aussagekräftig Team Code Orange 4

29 CCN Die von McCabe definierte Metrik ermittelt die strukturelle Komplexität (Cyclomatic Complexity Number), einer Methode oder einer Funktion. Eine Methode oder Funktion hat per Definition der Metrik, eine Komplexität mit dem Wert 1. Dieser CCN-Wert erhöht sich bei jedem Entscheidungspunkt um den Wert 1. Gibt die Anzahl der mindestens benötigten Testfälle an Team Code Orange 5

30 Einordnung der CCN In Untersuchungen von von McCabe und Halstead wurde nachgewiesen, dass ein signifikanter Zusammenhang zwischen der Komplexität und der Anzahl der Fehler, die beim Testen und im Betrieb gefunden wurden besteht. CCN Einordnung 1-10 Einfaches Programm, mit geringem Risiko Komplexeres Programm, mit moderatem Risiko Komplexes Programm, mit hohem Risiko > 50 Instabiles Programm,mit sehr hohem Risiko Team Code Orange 6

31 Beispiel CCN Berechnung public void demomethode(int wert){ } if(wert > 0) for(int i = 0; i<wert; i++) System.out.println("aaaaaaaah!"); else do{ System.out.println("bbbbbbbbbb!");} while(false); // Die CCN dieser Methode ist 4 Team Code Orange 7

32 Fazit Vorteile : CCN kann Hinweise auf Probleme in der Architektur geben JVDC zeigt fehlende Dokumentationen an Nachteile : Die Kommentar-Metrik sagt nichts über die Qualität der Kommentare aus CCN berücksichtigt nur ein Programmgerüst und lässt die Komplexität einzelner und verschachtelter Anweisungen außer acht Team Code Orange 8

33 Quellen JavaNCSS Homepage Messen & Metriken Ist Qualität messbar? METRIKEN IM PRAKTISCHEN EINSATZ Software Komplexität Team Code Orange 9

34 FindBugs FindBugs Vortragender: Felix Kaminski Team Code Orange 1

35 Inhalt von FindBugs Allgemeine Beschreibung Was kann es? Was kann es nicht? Bug Kategorien Beispiele Null-Pointer Annotations Live Team Code Orange 2

36 Allgemeine Beschreibung Fokus: echte Bugs und Performance- Probleme finden Durchsuchen des (Java) Bytecodes mittels statischer Code-Analyse nach Fehlermustern ( bug pattern ) Drei verschiedene Ausführungsarten: Kommandozeile Eigenständige GUI Plugin für Entwicklungsumgebungen Team Code Orange 3

37 Was kann es? Finden von Bugs (200+) vor der Ausführung Kein Quellcode nötig, da Durchsuchung von Bytecode Priorisierung von Bugs Erweiterbar durch eigene Bugs Integration in Build-Prozess (ANT) Export als XML (HTML) möglich Team Code Orange 4

38 Was kann es nicht? Eigene Überlegungen ersetzen Nicht alle Bugs sind Bugs Funktionalität wird nicht getestet..nur Java Team Code Orange 5

39 Bug Kategorien Unterteilung der Bugs in 10 Kategorien Gezieltes Suchen nach bestimmten Kategorien Team Code Orange 6

40 Kategorie: Dodgy Team Code Orange 7

41 Kategorie: Security Team Code Orange 8

42 Beispiel: Null-Pointer Eclipse erkennt Null-Pointer Dereferenzierung nicht Fehler zur Laufzeit! Team Code Orange 9

43 Beispiel: Null-Pointer Auswertung mit Findbugs Erkennung vor Ausführung Team Code Orange 10

44 Beispiel: Annotations Fehlererkennung durch Annotations Benötigt werden annotations.jar und jsr305.jar (Findbugs-Ordner/libs/) Team Code Orange 11

45 Beispiel: Annotations Team Code Orange 12

46 Quellen FindBugs Hompage - Erklärung des Eclipse-Plugins - IBM Tutorial zu FindBugs - Team Code Orange 13

47 Code-Metriken Teil II The overview pyramid Abstractness/Instability Chart Tools Team Code Orange 1

48 Overview Pyramid: Basisstruktur Charakterisierung der Struktur eines Systems Größe & Komplexität Verwendung der Vererbung Kopplung Team Code Orange 2

49 Overview Pyramid: Größe und Komplexität I Direkt erfassbare Kennzahlen CYCLO: zyklomatische Komplexität ( JavaNCSS) LOC: (Executable) Lines of Code NOM: Number of Methods NOC: Number of Classes NOP: Number of Packages Team Code Orange 3

50 Overview Pyramid: Größe und Komplexität II Abgeleitete Kennzahlen Intrinsic operation complexity (CYCLO/LOC) Operation structuring (LOC/NOM) Class structuring (NOM/NOC) High-Level structuring (NOC/NOP) Granularität des Systems Team Code Orange 4

51 Overview Pyramid: Kopplung Direkt erfassbare Kennzahlen FANOUT: Zahl der aufgerufenen Klassen CALLS: Zahl der Methoden-Aufrufe Abgeleitete Kennzahlen: Coupling disperson (FANOUT/CALLS): Wie stark sind die Klassen gekoppelt? Coupling intensity (CALLS/NOM) : Wie viele andere Operationen werden von einer Operation aus aufgerufen? Team Code Orange 5

52 Overview Pyramid: Vererbung Direkt erfassbare Kennzahlen AHH: Average Hierarchy Height (Tiefe des Vererbungsbaums) ANDC: Average Number of Derived Classes (Breite des Vererbungsbaums) Team Code Orange 6

53 Overview Pyramid: Beispiel PHP: Zend Framework Team Code Orange 7

54 Abstractness/Instability Chart Abhängigkeiten eines Paketes Ca: Afferent Coupling (incoming dependencies) Anzahl der Packages, die von Klassen innerhalb des Packages abhängen Ce: Efferent Coupling (outgoing dependencies) Anzahl der Packages, von denen Klassen innerhalb des Packages abhängen Beispiel: Package b Ca = 1 Ce = 2 Team Code Orange 8

55 Instability eines Package Instability I I = Ce Ce Ca [0,1] Bedeutung Von wie vielen anderen Packages hängt ein Package ab? Je mehr fremde Packages benutzt werden, umso größer die Instabilität. Instabil (I = 1): leicht änderbar Stabil (I = 0): schwer änderbar Team Code Orange 9

56 Abstractness eines Package Abstractness A A = ac ac cc [0,1] ac: Anzahl an abstrakten Klassen / Interfaces cc: Anzahl aller Klassen Team Code Orange 10

57 Abstractness/Instability Chart Abstractness/Instability Chart Team Code Orange 11

58 Abstractness/Instability Chart: Beispiel PHP: Zend Framework Team Code Orange 12

59 Tools Java JDepend (A/I Chart): auch als Eclipse-Plugin IPlasma (Overview pyramid) PHP PHP Depend (Overview pyramid + A/I Chart) Team Code Orange 13

60 Quellen / Abbildungsverzeichnis Quellen Tool-gestütztes Architekturmanagement in J2EE-Projekten Using the Overview Pyramid How reusable, extensible and maintainable is your software? Software-Metriken Abbildungen Übersicht Overview Pyramid : Team Code Orange 14

61 Cobertura Einführung Features Beispiel Integration in den Build-Prozess Demo Team Code Orange 1

62 Cobertura Einführung: la cobertura, spanisch für Abdeckung (von JCoverage) freies Java-Tool zur Berechnung der JUnit Testabdeckung zeigt ungetesteten oder unerreichbaren Code auf Team Code Orange 2

63 Cobertura Features zeigt den Anteil der getesteten Codezeilen von Klassen, Paketen oder dem Projekt zeigt die zyklomatische Komplexität von Klassen, Paketen oder dem Projekt generiert Reports in HTML oder XML kann über Kommandozeile oder von Buildern ausgeführt werden führt die Tests auf java bytecode aus Team Code Orange 3

64 Cobertura Beispiel: Team Code Orange 4

65 Cobertura Integration in den Build-Prozess: Einschub: Build-Tools wie make, Apache-Ant oder Apache-Maven automatisieren Vorgänge wie: - Kompilierung - Test - Installation von Software Team Code Orange 5

66 Cobertura Integration in den Build-Prozess: Einschub: Apache-Ant Java Build-Tool Open Source Another Neat Tool XML-gesteuert (Standard: build.xml ) Eclipse-Integration Team Code Orange 6

67 Cobertura Integration in den Build-Prozess: Einschub: Apache-Ant Grundstrukturen der XML: Project Targets wie build oder clean Tasks (über 150 mitgeliefert; selbst implementierbar): Javac (Kompilieren von Quellcode) Copy, Delete, Move Cvs (CVS-Operationen) Mail (Versenden von s) Junit Properties (z.b. zum Pfade setzen) Team Code Orange 7

68 Cobertura Integration in den Build-Prozess: build.xml für Cobertura (demo): Team Code Orange 8

69 Cobertura Integration in den Build-Prozess: Starten des Builds (demo): Team Code Orange 9

70 Cobertura Quellen und hilfreiche Links: Team Code Orange 10

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

Kontinuierliche Architekturanalyse. in 3D

Kontinuierliche 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

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

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

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

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

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

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de Das Build Tool Ant Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation Bei der Übersetzung und Pflege von Software treten viele, gleich bleibende Arbeitsschritte auf. Übersetzen des Codes

Mehr

Ant - das Java Build-Tool

Ant - das Java Build-Tool Hauptseminar Ant - das Java Build-Tool Funktionalität, Mächtigkeit und Praxiserfahrungen Betreuer: Vortragender: Dipl.Inf. Thorsten Strufe Christoph Lühr Gliederung Build-Tools Aufgaben und Probleme Ant

Mehr

ISIS. beleuchten, was sich bisher im Dunkeln verbarg verbessern, was bisher im Argen lag

ISIS. beleuchten, was sich bisher im Dunkeln verbarg verbessern, was bisher im Argen lag ISIS beleuchten, was sich bisher im Dunkeln verbarg verbessern, was bisher im Argen lag Inhalt Was ist Softwarequalität Was ist ISIS Die Philosophie dahinter Die Innovation Werkzeuge Projektlogbuch Sotograph

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

Das Build-Tool ANT ETIS SS05

Das Build-Tool ANT ETIS SS05 Das Build-Tool ANT ETIS SS05 Motivation Build - Datei Allgemeiner Aufbau Project Target Task Properties Zusammenfassung Literatur Gliederung 2 Motivation ANT I open source-projekt (aktuell: Version 1.6.5)

Mehr

Test. Hauptsache, es läuft? Entwicklung. Wartung. iks Thementag. Mehr Softwarequalität Best practices für alle Entwicklungsphasen 19.06.

Test. Hauptsache, es läuft? Entwicklung. Wartung. iks Thementag. Mehr Softwarequalität Best practices für alle Entwicklungsphasen 19.06. Hauptsache, es läuft? Entwicklung Wartung Test iks Thementag Mehr Softwarequalität Best practices für alle Entwicklungsphasen 19.06.2012 Autor: Dr. Reik Oberrath Agenda Begriffserklärung: Entwicklung,

Mehr

Die 7 Wege zum Clean Code

Die 7 Wege zum Clean Code Die 7 Wege zum Clean Code Über mich Claudio Altamura Softwareentwickler Certified ScrumMaster Interessen Agile Softwareentwicklung Softwarearchitekturen Java ccd2013@claudioaltamura.de 2 Inhalt 1. Statische

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

ISIS. Das Navigationssystem für angemessene Qualität und hohe Effizienz

ISIS. Das Navigationssystem für angemessene Qualität und hohe Effizienz ISIS Das Navigationssystem für angemessene Qualität und hohe Effizienz Inhalt Softwarequalität und Prozessqualität ISIS: das Ziel Messen der Prozessqualität Der Werkzeugzoo Die Wirkung Maßnahmen zur Prozessoptimierung

Mehr

Schöner, besser, einfacher Gedanken über Software-Qualität. Mirko Zeibig. IST Dresden GmbH

Schöner, besser, einfacher Gedanken über Software-Qualität. Mirko Zeibig. IST Dresden GmbH Schöner, besser, einfacher Gedanken über Software-Qualität Mirko Zeibig IST Dresden GmbH Inhalt Was ist gute Software? Arbeitsmittel Motivation Was ist gute Software? Eigenschaften, die Software beschreiben:

Mehr

Open-Source-Werkzeugkasten für Software-QS. 05.05.2011 10:15-11:15 Uhr Zagrebsaal I

Open-Source-Werkzeugkasten für Software-QS. 05.05.2011 10:15-11:15 Uhr Zagrebsaal I Open-Source-Werkzeugkasten für Software-QS 05.05.2011 10:15-11:15 Uhr Zagrebsaal I 1 Speaker Tobias Joch inovex GmbH Head of Solution Development leichtgewichtige und hochskalierende (Web-) Anwendungen

Mehr

We have declared war on error!

We have declared war on error! We have declared war on error! Christian Schiffler Contao Konferenz 2015 29. Mai 2015 1 / 26 Xtra oder - der mit m Hut. Wers n das? Christian Xtra Schiffler trägt meistens einen Hut und seltsame T-Shirts

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

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering mit Übungen Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering 2 Organisation Ort: Seminarraum 05.002, Spiegelgasse 5 Ablauf: 15:15 Vorlesung Prüfung: Schriftlich,

Mehr

ANT. Kurzvortrag von Manuel Schulze. mschulze@inf.fu-berlin.de

ANT. Kurzvortrag von Manuel Schulze. mschulze@inf.fu-berlin.de ANT Kurzvortrag von Manuel Schulze mschulze@inf.fu-berlin.de ANT Überblick Teilprojekt der Apache Software Foundation [1] ANT ist Opensource Build-Tool ähnlich wie make (?) jedoch voll auf Java zugeschnitten

Mehr

Buildwerkzeuge für Javaprojekte. Christian Bunse Institut für Informatik 03.07.2008

Buildwerkzeuge für Javaprojekte. Christian Bunse Institut für Informatik 03.07.2008 Buildwerkzeuge für Javaprojekte Christian Bunse Institut für Informatik 03.07.2008 Inhalt Der Build Besonderheiten von Javaprojekten Ziele von Buildwerkzeugen Continuous Integration Vorstellung von Buildwerkzeugen

Mehr

...we make the invisible visible...

...we make the invisible visible... ...we make the invisible visible... 1 Inhalt Qualitätsbegriff Fragestellungen im Zusammenhang mit innerer Softwarequalität Analysen und deren Anwendung Erfahrungen 2 Ausfallsicherheit Datensicherheit Zuverlässigkeit

Mehr

Wie Klassen the people ins Netz gehen

Wie Klassen the people ins Netz gehen Overview 1 1. Find out why software engineering is important see some software engineering failures 2. Get acquainted with Software the Chair of Reuse Software Engineering the research Wie Klassen the

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

Vom lokalen Build zum Deployment

Vom lokalen Build zum Deployment Vom lokalen Build zum Deployment International PHP Conference Manuel Pichler 12.10.2011 Vom lokalen Build zum Deployment 1 / 36 Über mich Diplominformatiker Mehr als 10 Jahre Erfahrung im PHP-Umfeld Autor

Mehr

Testwell CTC++ Test Coverage Analyser Testabdeckung für alle Coverage-Stufen, alle Compiler, alle Embedded Targets

Testwell CTC++ Test Coverage Analyser Testabdeckung für alle Coverage-Stufen, alle Compiler, alle Embedded Targets Testwell CTC++ Test Coverage Analyser Testabdeckung für alle Coverage-Stufen, alle Compiler, alle Embedded Targets Testwell CTC++ ist ein leistungsfähiges und einfach zu benutzendes Code-/Test-Coverage

Mehr

Build Management. Präsentation von Daniel Mies daniel.mies@1und1.de

Build Management. Präsentation von Daniel Mies daniel.mies@1und1.de Build Management Präsentation von Daniel Mies daniel.mies@1und1.de Agenda 1&1 Member of United Internet Build Management mit Maven Motivation Kompilieren & Paketieren Dependency Management Software Analyse

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

Software Test- und Analyse-Tools für Produktivität und Qualität. www.verifysoft.com

Software Test- und Analyse-Tools für Produktivität und Qualität. www.verifysoft.com Software Test- und Analyse-Tools für Produktivität und Qualität www.verifysoft.com TEST- UND ANALYSE-TOOLS Conformiq Test Generator Das Erstellen von Testfällen ist der größte Aufwandsblock bei Softwaretests:

Mehr

Programmierstile in C

Programmierstile in C Von Sebastian Rothe 05.05.011 Inhaltsverzeichnis 1. Motivation wozu Code-Formatierung?. Definition: Programmierstil Gebräuchliche Konventionen Einrückungsstil Vertikale Anordnung Leerzeichen & Tabulatoren

Mehr

SOFTWAREQUALITÄT IM UMWELTBUNDESAMT. Titel: Softwarequalität im Umweltbundesamt Dateiname:

SOFTWAREQUALITÄT IM UMWELTBUNDESAMT. Titel: Softwarequalität im Umweltbundesamt Dateiname: SOFTWAREQUALITÄT IM UMWELTBUNDESAMT Titel: Softwarequalität im Umweltbundesamt Dateiname: Softwarequalitaet_im_Umweltbundesamt_v2 Version: V 2.0 Datum: 04.12.2011 Autor(en): Karin Schellner, Michael Hadrbolec,

Mehr

Werkzeugunterstützte Betrachtungen von Software-Qualität und -Architekturen

Werkzeugunterstützte Betrachtungen von Software-Qualität und -Architekturen ...we make the invisible visible... Werkzeugunterstützte Betrachtungen von Software-Qualität und -Architekturen 1 Inhalt Qualitätsbegriff und Qualitätsmodelle Abstraktion Analysen und deren Anwendung Erfahrungen

Mehr

Verteilte Systeme (WS 2013/14) Übung 0: Einführung in Maven und Git. Oliver Kleine Institut für Telematik, Universität zu Lübeck

Verteilte Systeme (WS 2013/14) Übung 0: Einführung in Maven und Git. Oliver Kleine Institut für Telematik, Universität zu Lübeck Verteilte Systeme (WS 2013/14) Übung 0: Einführung in Maven und Git Oliver Kleine Institut für Telematik, Universität zu Lübeck Build-Management in JAVA 3 Build-Management? Wozu? Traditionelle manuelle

Mehr

Softwaretests. Werkzeuge zur Automatisierung. Thementag Wer testet, ist feige. Autor: für 24.06.2009. Markus Alvermann.

Softwaretests. Werkzeuge zur Automatisierung. Thementag Wer testet, ist feige. Autor: für 24.06.2009. Markus Alvermann. Softwaretests Werkzeuge zur Automatisierung für Thementag Wer testet, ist feige 24.06.2009 Autor: Markus Alvermann Seite 2 / 39 Agenda Motivation Versionsverwaltung Build-Tools Unit-Tests GUI-Tests Continuous

Mehr

Software Engineering in

Software Engineering in Software Engineering in der Werkzeuge für optimierte LabVIEW-Entwicklung Folie 1 Best Practices Requirements Engineering Softwaretest Versionsmanagement Build- Automatisierung Folie 2 Arbeiten Sie im Team?

Mehr

Software Engineering I

Software Engineering I Software I Übungsblatt 1 + 2 Claas Pinkernell Technische Universität Braunschweig http://www.sse.cs.tu-bs.de/ Seite 2 Welche Werkzeuge? Programmiersprache Java Integrierte Entwicklungsumgebung Eclipse

Mehr

Softwarequalität: Definitionen, Wünsche, Grenzen

Softwarequalität: Definitionen, Wünsche, Grenzen Softwarequalität: Definitionen, Wünsche, Grenzen iks Thementag Mehr Softwarequalität Ausgewählte Themen 22.05.2014 Autor: Christoph Schmidt-Casdorff Agenda Einführung Was ist Softwarequalität? Qualität

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

Bessere Code-Qualität mit zusätzlichen Tools/Eclipse-Plugins. Referent Heiko W. Rupp Stuttgart, 07.07.2005

Bessere Code-Qualität mit zusätzlichen Tools/Eclipse-Plugins. Referent Heiko W. Rupp Stuttgart, 07.07.2005 Bessere Code-Qualität mit zusätzlichen Tools/Eclipse-Plugins Referent Heiko W. Rupp Stuttgart, 07.07.2005 Über mich Diplom Informatiker Universität Karlsruhe Wohnt und arbeitet in Stuttgart 20 Monate alter

Mehr

Praktikum Software Engineering: Verfahren und Werkzeuge

Praktikum Software Engineering: Verfahren und Werkzeuge Praktikum Software Engineering: Verfahren und Werkzeuge Lehrstuhl für Software Engineering (Informatik 11) Verfahren und Werkzeuge Seite 1 Software Engineering Absichten, Aufgaben Systemnutzung Anforderungsspezifikation

Mehr

Continuous Architecture Management

Continuous Architecture Management Continuous Architecture Management Erkennen und Verhindern von struktureller Erosion Ingmar Kellner hello2morrow GmbH April 2012 How to draw the architecture of your system http://geekandpoke.typepad.com/.a/6a00d8341d3df553ef016764fffd81970b-pi

Mehr

Kapitel 3 Software Quality I

Kapitel 3 Software Quality I Kapitel 3 Software Quality I Software Architecture, Quality, and Testing FS 2015 Prof. Dr. Jana Köhler jana.koehler@hslu.ch Agenda Heute Wie können wir Software Qualität definieren? Warum ist Qualitätssicherung

Mehr

Alles unter Kontrolle

Alles unter Kontrolle Alles unter Kontrolle Messung der Testabdeckung mit Open-Source-Tools Tim Wellhausen kontakt@tim-wellhausen.de http://www.tim-wellhausen.de 29.06.2008 Zusammenfassung: Unit-Tests sind vielleicht nicht

Mehr

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG Unit-Test Theorie und Praxis Stephan Seefeld, INGTES AG Inhalt Was sind Unit-Test? NUnit für.net Demo Seite 2 Quellen Für diesen Vortrag verwendete Quellen: dotnet User Group Berlin Brandenburg http://www.dotnet-berlinbrandenburg.de/

Mehr

Automatisierte Build-Prozesse in Java-Projekten

Automatisierte Build-Prozesse in Java-Projekten Continuous Integration Referent Olaf Kossak Freiberuflicher Informatiker Studium an der Universität Hamburg Java-Entwickler Teamleiter Qualitätsingenieur Banken, Versicherungen, Großhandel, Telekommunikation,

Mehr

Qualität ist nicht (nur) die Abwesenheit von Fehlern. Jede Aussage über Qualität ist eine Aussage von einer oder mehrere Personen.

Qualität ist nicht (nur) die Abwesenheit von Fehlern. Jede Aussage über Qualität ist eine Aussage von einer oder mehrere Personen. Beobachtungen Qualität ist nicht (nur) die Abwesenheit von Fehlern Qualität ist relativ Qualität ist die "Erfüllung der Anforderungen Qualität ist die "Erfüllung der Anforderungen einer Person Jede Aussage

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

Stuttgarter Test-Tage 2011 Der Fluch des grünen Balkens in sehr großen Projekten

Stuttgarter Test-Tage 2011 Der Fluch des grünen Balkens in sehr großen Projekten main {GRUPPE} Seite 1 Jürgen Nicolai Geschäftsführender Gesellschafter Liebknechtstrasse 33 70178 Stuttgart Tel : 0711 2270225 Fax : 0711 2270497 Mail : j.nicolai@main-gruppe.de Web: www.health4j.de Stuttgarter

Mehr

Einführung in AOP. Rico Schiekel - 012816 rschiekel@web.de. Agenda. Kernproblem der Objekt Orientierung

Einführung in AOP. Rico Schiekel - 012816 rschiekel@web.de. Agenda. Kernproblem der Objekt Orientierung Einführung in AOP Informatikseminar Rico Schiekel - 012816 rschiekel@web.de Fachhochschule Ravensburg Weingarten Hochschule für Technik und Sozialwesen Einführung in AOP Agenda Kernproblem der Objekt Orientierung

Mehr

Systematisches Testen von Software

Systematisches Testen von Software Programmierung Systematisches Testen von Software Markus Eckstein Systematika Information Systems GmbH Kurfürsten-Anlage 36 69115 Heidelberg markus.eckstein@systematika.com Zusammenfassung Die wichtigsten

Mehr

Agiles Konfigurationsmanagement mit Open-Source-Werkzeugen. Gunther Popp

Agiles Konfigurationsmanagement mit Open-Source-Werkzeugen. Gunther Popp Agiles Konfigurationsmanagement mit Open-Source-Werkzeugen Gunther Popp Gunther Popp arbeitet als freier Softwarearchitekt, Berater und Autor in München Schwerpunkte: Konzeption und Implementierung von

Mehr

Maven 2 Softwareprojekte mit Kultur

Maven 2 Softwareprojekte mit Kultur Maven 2 Softwareprojekte mit Kultur Patrick Zeising 28.05.2010 Motivation Projekte unterscheiden sich stark im Aufbau Abläufe beim Übersetzen und Deployen unterscheiden sich stark

Mehr

Configuration Management mit Verbosy 17.04.2013 OSDC 2013. Eric Lippmann www.netways.de

Configuration Management mit Verbosy 17.04.2013 OSDC 2013. Eric Lippmann www.netways.de Configuration Management mit Verbosy 17.04.2013 OSDC 2013 Eric Lippmann Kurzvorstellung NETWAYS Expertise OPEN SOURCE SYSTEMS MANAGEMENT OPEN SOURCE DATA CENTER Monitoring & Reporting Configuration Management

Mehr

Qualitätssicherung von Software am Beispiel von Unit Testing. Klaus Kusche, Mai 2012

Qualitätssicherung von Software am Beispiel von Unit Testing. Klaus Kusche, Mai 2012 Qualitätssicherung von Software am Beispiel von Unit Testing Klaus Kusche, Mai 2012 Inhalt Motivation Definition von Unit Tests, Einordnung in der QA, Nutzen Einordnung im V-Modell (==> Tafel) Inhalt,

Mehr

Vector Software. Test Automation mit VectorCAST während der gesamten Softwareentwicklung W H I T E P A P E R

Vector Software. Test Automation mit VectorCAST während der gesamten Softwareentwicklung W H I T E P A P E R Vector Software W H I T E P A P E R Test Automation mit VectorCAST während der gesamten Softwareentwicklung VectorCAST Produktfamilie Die VectorCAST Produktfamilie automatisiert Testaktivitäten über den

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

Programmentwicklung ohne BlueJ

Programmentwicklung ohne BlueJ Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie

Mehr

Grundlagen zur nebenläufigen Programmierung in Java

Grundlagen zur nebenläufigen Programmierung in Java Grundlagen zur nebenläufigen Programmierung in Java Karlsruher Entwicklertag 2013 5. Juni 2013 Referent: Christian Kumpe Inhalt des Vortrags Was zeigt dieser Vortrag? Ein einfaches Beispiel mit allerlei

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Dirk Wischermann Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg 18. Dezember 2006 Inhalt Nachlese

Mehr

Open Source im Unternehmenseinsatz. Evaluierung und Einführung. Alexander Pacnik Frankfurt, 12.09.2014

Open Source im Unternehmenseinsatz. Evaluierung und Einführung. Alexander Pacnik Frankfurt, 12.09.2014 Open Source im Unternehmenseinsatz Evaluierung und Einführung Alexander Pacnik Frankfurt, 12.09.2014 inovex 2 Open Source im Unternehmenseinsatz... Agenda Open Source Evaluierung Umsetzung Kritische Betrachtung

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. 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

Mehr

! " #! $! % & ' ' (! " # # $

!  #! $! % & ' ' (!  # # $ ! " #! $! % & ' ' (! " # # $ Abstract Software integration testing can be divided into three sections: The static analysis, the symbolic execution and the dynamic test. While the static analysis exposes

Mehr

Grundlagen der Informatik Übungen 1.Termin

Grundlagen der Informatik Übungen 1.Termin Grundlagen der Informatik Übungen 1.Termin Dr. Ing Natalia Currle-Linde Institut für Höchstleistungsrechnen 1 Kurzvorstellung Dr.-Ing. Natalia Currle-Linde linde@hlrs.de Institut für Höchstleistungsrechnen

Mehr

Wer bin ich. > Senior Consultant, Architekt und Trainer (MATHEMA Software GmbH) > 25+ Jahre Software > 12+ Jahre Java Enterprise > 7+ Jahre.

Wer bin ich. > Senior Consultant, Architekt und Trainer (MATHEMA Software GmbH) > 25+ Jahre Software > 12+ Jahre Java Enterprise > 7+ Jahre. Copyright 2010, MATHEMA Software GmbH 1 Wer bin ich > Senior Consultant, Architekt und Trainer (MATHEMA Software GmbH) > 25+ Jahre Software > 12+ Jahre Java Enterprise > 7+ Jahre.Net > Schwerpunkte Software

Mehr

Softwarecontrolling mittels Kennzahlen

Softwarecontrolling mittels Kennzahlen Proseminar IT-Kennzahlen und Sofwaremetriken Timo Besenreuther 21. Juni 2010 Timo Besenreuther 21. Juni 2010 Seite 1 von 43 Überblick Motivation Projektmanagement im Wandel Allgemeines zu Qualität und

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

DATA ANALYSIS AND REPRESENTATION FOR SOFTWARE SYSTEMS

DATA ANALYSIS AND REPRESENTATION FOR SOFTWARE SYSTEMS DATA ANALYSIS AND REPRESENTATION FOR SOFTWARE SYSTEMS Master Seminar Empirical Software Engineering Anuradha Ganapathi Rathnachalam Institut für Informatik Software & Systems Engineering Agenda Introduction

Mehr

Eclipse und Java Einheit 01: Einführung in Eclipse

Eclipse und Java Einheit 01: Einführung in Eclipse Eclipse und Java Einheit 01: Einführung in Eclipse Laith Raed Ludwig-Maximilians-Universität München Institut für Informatik: Programmierung und Softwaretechnik Prof.Wirsing Inhaltsverzeichnis 1 Hintergrundwissen

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

6 Architektur-Mittel (WOMIT)

6 Architektur-Mittel (WOMIT) 6 Architektur-Mittel (WOMIT) Abb. 6-1: Positionierung des Kapitels im Ordnungsrahmen. Dieses Kapitel befasst sich mit der WOMIT-Dimension des architektonischen Ordnungsrahmens, indem es grundlegende Konzepte

Mehr

Softwareprojekte mit Kultur

Softwareprojekte mit Kultur Maven Softwareprojekte mit Kultur Patrick Zeising Konfigurationsmanagement Motivation Projektaufbau unterschiedlich Abläufe zum Übersetzen und Deployen unterschiedlich Verwendete Tools, Prozesse, Skripte

Mehr

Konfigurationsmanagement

Konfigurationsmanagement Konfigurationsmanagement Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Re-usable Content in 3D und Simulationssystemen Dozent: Prof. Dr. Manfred Thaller Referent: Jannes

Mehr

Inhalt. 1. Sprachspezifische Fehlerrisiken C++ Java. Smalltalk. 2. Coverage - Modelle. Statement Coverage. Branch Coverage

Inhalt. 1. Sprachspezifische Fehlerrisiken C++ Java. Smalltalk. 2. Coverage - Modelle. Statement Coverage. Branch Coverage Inhalt 1. Sprachspezifische Fehlerrisiken C++ Java Smalltalk 2. Coverage - Modelle Statement Coverage Branch Coverage Inkrementelles Testen von Klassen Testen Polymorpher Bindungen Optimistischer Ausblick

Mehr

Ant in Eclipse Starthilfe

Ant in Eclipse Starthilfe IN DIESER KURSEINHEIT Einleitung o Um was geht's eigentlich? Hello World o Das Ant Skript Mehrere Targets und Properties o Hello World Ausgabe Ant Launch Configurations o Definition o Modifikation o Nutzung

Mehr

Erste Schritte mit Eclipse

Erste Schritte mit Eclipse Erste Schritte mit Eclipse März 2008, KLK 1) Java Development Kit (JDK) und Eclipse installieren In den PC-Pools der HAW sind der JDK und Eclipse schon installiert und können mit dem Application Launcher

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

Builddreikampf: Ant, Maven und Gradle. Sven Bunge / Carl Düvel

Builddreikampf: Ant, Maven und Gradle. Sven Bunge / Carl Düvel Builddreikampf: Ant, Maven und Gradle Sven Bunge / Carl Düvel holisticon AG Wettkampfplan 1. Die Regeln 2. Vorstellung der Kandidaten 3. Ring frei die Disziplinen! 1. Dependency Management 2. Multiprojektsupport

Mehr

GanttProject ein open source Projektmanagementtool

GanttProject ein open source Projektmanagementtool Professionelles Projektmanagement in der Praxis GanttProject ein open source Projektmanagementtool Referenten: Felix Steeger & Matthias Türk Team 6 Agenda I. Was ist GanttProject? II. Download & Installation

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

Mehr

Statische Codeanalysen

Statische Codeanalysen Statische Codeanalysen Weniger Review-Aufwand durch automatisierte Sourcecode- Überprüfungen MATTHIAS HÖLZER-KLÜPFEL Wie gut ist unser Code? Qualitätskriterien für Software Funktionalität Angemessenheit

Mehr

Navi & seitenzahl. Ein Toolset für agile Entwicklungsprojekte

Navi & seitenzahl. Ein Toolset für agile Entwicklungsprojekte Navi & seitenzahl Ein Toolset für agile Entwicklungsprojekte Warum Agil? Noch andere Gründe? Aktive Integration der Anwender Integration des Kunden Rückfragen, Priorisierungen Geschmack kommt beim Essen

Mehr

Automatisierte Regressionstests per Knopfdruck sparen Zeit und Ressourcen sichern die Qualität schonen die Nerven

Automatisierte Regressionstests per Knopfdruck sparen Zeit und Ressourcen sichern die Qualität schonen die Nerven Automatisierte Regressionstests per Knopfdruck sparen Zeit und Ressourcen sichern die Qualität schonen die Nerven Dipl.-Inf (FH) Matthias Müller 09.06.2010 Regressionstests Unter einem Regressionstest

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

CDT bei Bosch Rexroth (Ein Erfahrungsbericht)

CDT bei Bosch Rexroth (Ein Erfahrungsbericht) CDT bei Bosch Rexroth (Ein Erfahrungsbericht) DCC/EDF Harald Kästel-Baumgartner Agenda Firmenpräsentation Ausgangslage Zielsetzung Know How Toolchain Projektstruktur Positive und negative Erfahrung 2 Das

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment. Henning Blohm 5.7.2012

Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment. Henning Blohm 5.7.2012 Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment Henning Blohm 5.7.2012 1 Z2 ist ein radikal neuer* Ansatz für System Life-Cycle Management in Java * jedenfalls für Java Ein Builtool?

Mehr

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle

Mehr

Dr. Nicholas Merriam Rapita Systems Ltd., IT Centre, York Science Park, Heslington, York, YO10 5DG (UK) nick.merriam@rapitasystems.

Dr. Nicholas Merriam Rapita Systems Ltd., IT Centre, York Science Park, Heslington, York, YO10 5DG (UK) nick.merriam@rapitasystems. Das zeitliche Verhalten von Echtzeitsoftware zu analysieren und sicher zu stellen, dass die Anforderungen an das Echtzeitverhalten erfüllt werden kann sehr aufwendig und teuer sein. In diesem Artikel sollen

Mehr

Serbest Hammade / Resh serbest.hammade@hammade.de. Do, 21. Juni 2012

Serbest Hammade / Resh serbest.hammade@hammade.de. Do, 21. Juni 2012 Serbest Hammade / Resh serbest.hammade@hammade.de Do, 21. Juni 2012 Continuous Integration Konzept von Continuous Integration Vorraussetzungen für CI Vor- & Nachteile Jenkins Beispiel mit Java Beispiel

Mehr

Herzlich Willkommen zum Fachgruppentreffen Software-Test in Leinfelden-Echterdingen

Herzlich Willkommen zum Fachgruppentreffen Software-Test in Leinfelden-Echterdingen Herzlich Willkommen zum Fachgruppentreffen Software-Test in Leinfelden-Echterdingen Thema: Ein Erfahrungsbericht aus der Testautomatisierung - Open Source Tools und kommerzielle Lösungen richtig miteinander

Mehr

Moderne Datenbankentwicklung mit Hilfe von SQL Server Data Tools

Moderne Datenbankentwicklung mit Hilfe von SQL Server Data Tools Moderne Datenbankentwicklung mit Hilfe von SQL Server Data Tools David Schäfer Vorstellung: HMS Analytical Software Anwendungs-Know-how, u.a. Banken und Versicherungen Pharma- und Medizinprodukte Technologie-Know-how,

Mehr

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

Mehr

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT Neue Technologien effizient nutzen Ehningen, 3. Juli 2014 Rodney Krick rk@aformatik.de aformatik Training & Consulting GmbH & Co. KG

Mehr

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012 Buildsystem Maven & Scons Controls Entwicklungsforum Januar 2012 1 2 a call from the past Binary Repository Speichern von Artefakten (z.b. Shared Library und zugehörige Header) Versionierung von Artefakten

Mehr

Individuelle Erweiterung des generierten Codes. 16. Januar 2013

Individuelle Erweiterung des generierten Codes. 16. Januar 2013 Individuelle Erweiterung des generierten Codes 16. Januar 2013 Überblick Welche Möglichkeiten zur individuellen Erweiterung von generiertem Code gibt es? Innerhalb eines Moduls (Klasse) Auf Modulebene

Mehr

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

Management von Open-Source-Lizenzen in einem großen Software-Haus. Linuxtag 2012 - Helene Tamer, T-Systems International GmbH

Management von Open-Source-Lizenzen in einem großen Software-Haus. Linuxtag 2012 - Helene Tamer, T-Systems International GmbH Management von Open-Source-Lizenzen in einem großen Linuxtag 2012 - Helene Tamer, T-Systems International GmbH 1 Warum Open Source? Solution Design Reuse / Standards / State-ofthe-Art Technologie-Treiber

Mehr