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

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

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

Software-Metriken. Dipl.-Ing.(BA) Henning Sievert <[email protected]> Seminar Software-Entwurf WS 2004/05

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

Mehr

Einführung in die Informatik Tools

Einführung in die Informatik Tools Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht

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

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

Softwaretests 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 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

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

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

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

Kampf dem Fehlerteufel PMD, Findbugs und Checkstyle in großen Projekten

Kampf dem Fehlerteufel PMD, Findbugs und Checkstyle in großen Projekten main {GRUPPE} Seite 1 Jürgen Nicolai Geschäftsführender Gesellschafter Liebknechtstrasse 33 70565 Stuttgart Tel : 07 11/7 81 19 90 Fax : 07 11/ 7 81 19 91 Mail : [email protected] Web: www.main-gruppe.de

Mehr

Eclipse und Java Einheit 06: Building Eclipse Projete mit Ant

Eclipse und Java Einheit 06: Building Eclipse Projete mit Ant Eclipse und Java Einheit 06: Building Eclipse Projete mit Ant Laith Raed Ludwig-Maximilians-Universität München Institut für Informatik: Programmierung und Softwaretechnik Prof.Wirsing Inhaltsverzeichnis

Mehr

Kurzanleitung zu XML2DB

Kurzanleitung zu XML2DB Kurzanleitung zu XML2DB Inhaltsverzeichnis 1. Einleitung...3 2. Entwicklungsumgebung...3 3. Betriebsanleitung...3 3.1 Einrichten der Java Umgebung...3 3.2 Allgemeines zu java und javac...4 3.2.1 Allgemeines

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

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Was bringt TDD wirklich?

Was 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

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

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Testen mit JUnit. Motivation

Testen 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

Mehr

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter Prof. Dr. Dr. h.c. Manfred Broy Sommersemester Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter Einführung in die Softwaretechnik Übung 6: Feinentwurf Aufgabe 17: Entwurfsmuster

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

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

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

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

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

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009 Testen von Software Systemen Übung 02 SS 2009 Version: 1.0 09.06.2009 Komponententest Kunde: Dr. Reinhold Plösch Dr. Johannes Sametinger Kundenreferenz: 259.019 Team 19 Mitarbeiter: Christian Märzinger

Mehr

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

Mehr

25 Import der Beispiele

25 Import der Beispiele 25 Import der Beispiele Versuch es nicht mit Gewalt. Nimm einfach einen größeren Hammer (Murphy s Law) 25.1 Einleitung Alle Beispielprogramme dieses Buchs funktionieren mit jeder Java-konformen Entwicklungsumgebung.

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Ein subjektiver Vergleich zwischen SSIS und Kettle mit Ausblick auf die Generierung von BI-Lösungen

Ein subjektiver Vergleich zwischen SSIS und Kettle mit Ausblick auf die Generierung von BI-Lösungen Ein subjektiver Vergleich zwischen SSIS und Kettle mit Ausblick auf die Generierung von BI-Lösungen vorgestellt am 29.09.2008 in der PASS Regionalgruppe Karlsruhe Michael Riedmüller inovex GmbH Project

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Echolot Qualitätssicherung mit Sonar

Echolot Qualitätssicherung mit Sonar Echolot Qualitätssicherung mit Sonar Thomas Haug [email protected] www.mathema.de Motivation Sonar Überblick Demo Fazit Motivation Sonar Überblick Demo Fazit Sometimes the developers manage to maintain

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1

REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1 REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1 QUALITÄT FÜR SIE Qualität zeigt sich in Ergebnissen und Erfolgen. Sie hängt von der jeweiligen Problemstellung ab, deshalb sehen wir

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan

Mehr

Java-Tutorium WS 09/10

Java-Tutorium WS 09/10 Tutorial: Eclipse Debugger Was ist der Eclipse Debugger? Die Eclipse Plattform stellt einige sehr hilfreiche Features zum Programmieren bereit. Eines dieser Features ist der Debugger. Mithilfe des Debuggers

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Entwicklungswerkzeuge

Entwicklungswerkzeuge Entwicklungswerkzeuge Werner Struckmann & Tim Winkelmann 10. Oktober 2012 Gliederung Anforderungen Projekte Debugging Versionsverwaltung Frameworks Pattern Integrated development environment (IDE) Werner

Mehr

Java Einführung Packages

Java Einführung Packages Java Einführung Packages Inhalt dieser Einheit Packages (= Klassenbibliotheken) Packages erstellen Packages importieren Packages verwenden Standard Packages 2 Code-Reuse Einbinden von bereits (selbst-/fremd)

Mehr

Java Entwicklung für Embedded Devices Best & Worst Practices!

Java Entwicklung für Embedded Devices Best & Worst Practices! Java Entwicklung für Embedded Devices! George Mesesan Microdoc GmbH Natürlich können wir dieses neue log4j Bundle auch auf dem Device verwenden. Ist doch alles Java. Java Micro Edition (ME) Java Standard

Mehr

Test-Driven Design: Ein einfaches Beispiel

Test-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

Mehr

ANT. Kurzvortrag von Manuel Schulze. [email protected]

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

Mehr

JCoverage. Uni Kassel Projektarbeit Software Engineering 12.11.2003. Markus Pilsl & Marko Medved

JCoverage. Uni Kassel Projektarbeit Software Engineering 12.11.2003. Markus Pilsl & Marko Medved JCoverage Uni Kassel Projektarbeit Software Engineering 12.11.2003 Markus Pilsl & Marko Medved Was ist JCoverage Tool, welches anzeigt, wie oft jede wichtige Zeile des Quellcodes getestet wurde Soll helfen

Mehr

A Domain Specific Language for Project Execution Models

A Domain Specific Language for Project Execution Models A Domain Specific Language for Project Execution Models Eugen Wachtel, Marco Kuhrmann, Georg Kalus Institut für Informatik Software & Systems Engineering Inhalt Einführung und Hintergrund Problembereiche

Mehr

Sybase Central Dokumentation Aktivierung der Monitoringfunktion

Sybase Central Dokumentation Aktivierung der Monitoringfunktion Sybase Central Dokumentation Aktivierung der Monitoringfunktion Version 1.0 14. Dezember 2012 Inhaltsverzeichnis 1 EINLEITUNG... 3 2 ZIELSETZUNG... 3 3 VORGEHENSWEISE... 3 4 ANHANG... 7 4.1 DOKUMENTHISTORIE...

Mehr

Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005

Klausur 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!

Mehr

Python SVN-Revision 12

Python SVN-Revision 12 Python SVN-Revision 12 Uwe Ziegenhagen 7. Januar 2012 Vorwort Dieses Skript erhebt keinen Anspruch auf Vollständigkeit oder Richtigkeit. Es wird geschrieben, um mir als Gedächtnisstütze für den Umgang

Mehr

Softwarequalität: Einführung. 15. April 2015

Softwarequalität: Einführung. 15. April 2015 Softwarequalität: Einführung 15. April 2015 Überblick Warum ist Softwarequalität wichtig? Was ist Softwarequalität? Wie erreicht man Softwarequalität? Taentzer Softwarequalität 2015 8 Berühmte Software-Fehler

Mehr

Daniel Warneke [email protected] 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns Daniel Warneke [email protected] 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des

Mehr

Effizenzsteigerung bei Villeroy & Boch durch den Einsatz von Magento und Zend

Effizenzsteigerung bei Villeroy & Boch durch den Einsatz von Magento und Zend Effizenzsteigerung bei Villeroy & Boch durch den Einsatz von Magento und Zend Klaus Berghald Senior Account Manager [email protected] +49 (0)89 51 61 99-18 Umsetzung IT Leiter Herr Dr. Pascal Rheinert Head

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

SAP Software Engineering live Agile! Agiles Projektmanagement und Clean Code im SAP-Umfeld

SAP Software Engineering live Agile! Agiles Projektmanagement und Clean Code im SAP-Umfeld SAP Software Engineering live Agile! Agiles Projektmanagement und Clean Code im SAP-Umfeld SAP Software Engineering live Agile! SAP Ali Kaveh Software Engineering live Agile! Certified Scrum Master Solution

Mehr

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X SwissMacMeeting #1 26. Juni 2004 Messeturm Basel http://mac.naepflin.com Was ist das Ziel dieses Kurses? Starthilfe Einblick in die Möglichkeiten,

Mehr

7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77

7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77 7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77 (LQOHLWXQJ Mit der SAP Testworkbench und dem Testtool ecatt können Anwender von SAP Software auf Basis des SAP Web Application Servers ab

Mehr

Kurzfassung der Studienarbeit

Kurzfassung der Studienarbeit Kurzfassung der Studienarbeit Abteilung Informatik Namen der Studenten Roman Widmer Mikkala Pedersen Studienjahr Sommersemester 2004 Titel der Studienarbeit.NET Skript Debugger Examinator Der GUI-Builder

Mehr

Software-Engineering Grundlagen des Software-Engineering

Software-Engineering Grundlagen des Software-Engineering Software-Engineering Grundlagen des Software-Engineering 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE

Mehr

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

Mehr

Was 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 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

Mehr

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 CODESYS a trademark of 3S-Smart Software Solutions GmbH Agenda 1 Warum

Mehr

Virtueller Campus. Virtueller Campus Horw mit interaktiver Steuerung. HowTo: Externe Bibliotheken

Virtueller Campus. Virtueller Campus Horw mit interaktiver Steuerung. HowTo: Externe Bibliotheken Virtueller Campus Virtueller Campus Horw mit interaktiver Steuerung Bachelor Diplomarbeit FS 2013 Inhaltsverzeichnis 1. EINLEITUNG... 1 2. VORBEDINGUNGEN... 1 3. ORDNERSTRUKTUR ERWEITERN... 1 4. PROJEKT

Mehr

Dokumentation zur Versendung der Statistik Daten

Dokumentation zur Versendung der Statistik Daten Dokumentation zur Versendung der Statistik Daten Achtung: gem. 57a KFG 1967 (i.d.f. der 28. Novelle) ist es seit dem 01. August 2007 verpflichtend, die Statistikdaten zur statistischen Auswertung Quartalsmäßig

Mehr

Outsourcing und Offshoring. Comelio und Offshoring/Outsourcing

Outsourcing und Offshoring. Comelio und Offshoring/Outsourcing Outsourcing und Offshoring Comelio und Offshoring/Outsourcing INHALT Outsourcing und Offshoring... 3 Comelio und Offshoring/Outsourcing... 4 Beauftragungsmodelle... 4 Projektleitung vor Ort und Software-Entwicklung

Mehr

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12

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

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

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

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Abacus Formula Compiler (AFC)

Abacus Formula Compiler (AFC) Abacus Formula Compiler (AFC) Alle kennen Excel - jetzt sogar Ihre Java- Applikation! Bringt Tabellenkalkulationen auf die JVM http://formulacompiler.org/ Peter Arrenbrecht für Abacus Research AG http://abacus.ch/

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

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

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

Internet Explorer Version 6

Internet Explorer Version 6 Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

FAQ The FAQ/knowledge base. Version 2.1.1

FAQ The FAQ/knowledge base. Version 2.1.1 FAQ The FAQ/knowledge base. Version 2.1.1 (c) 2012 OTRS AG, http://otrs.org/ GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007 This work is copyrighted by OTRS AG, Norsk-Data-Str. 1, 61352 Bad

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

Software-Metriken. B. Sc. Michael Thomas. Seminar Software-Entwurf WS 2004/05. <[email protected]>

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

Mastermind. Testplan. Hochschule Luzern Technik & Architektur. Programmieren 2 FS12. Gruppe 10

Mastermind. Testplan. Hochschule Luzern Technik & Architektur. Programmieren 2 FS12. Gruppe 10 Testplan Programmieren 2 FS12 Gruppe 10 Redzepi Iljasa Reichmuth Marco Rey Philipp Rohrer Felix Eine interdisziplinäre Projektarbeit der Studiengänge Elektrotechnik und Informatik. Horw, 11.05.2012 Autoren

Mehr

InfoPoint vom 9. November 2011

InfoPoint vom 9. November 2011 InfoPoint vom 9. November 2011 Was ist Joomla? Theorie Installation Extensions Administration Demo Joomla ist ein modulares content management system (CMS) Es ermöglicht eine Website zu erstellen und online

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT Boris Golubovic Dortmund, den 24. Oktober 2010 Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT Ein Projekt anlegen Ein Projekt kapselt alle zu einer Anwendung gehörenden

Mehr

Testen und Testautomatisierung in agilen Projekten

Testen und Testautomatisierung in agilen Projekten Testen und Testautomatisierung in agilen Projekten DR. WILHELM HUMMER [email protected] COPYRIGHT 2011, TECHTALK - WWW.TECHTALK.AT Wie es zu diesem Vortrag kam COPYRIGHT 2011, TECHTALK - WWW.TECHTALK.AT Testen

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Installation von NetBeans inkl. Glassfish Anwendungs-Server Installation von NetBeans inkl. Glassfish Anwendungs-Server Diese Anleitung führt Sie Schritt für Schritt durch die Einrichtung der Entwicklungsumgebung NetBeans, angefangen beim Download der benötigten

Mehr

Informatik I Tutorial

Informatik I Tutorial ETH Zürich, D-INFK/D-BAUG Herbstsemester 2015 Dr. Martin Hirt Daniel Jost Informatik I Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so dass ihr

Mehr

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

Mehr

Inhalt. Fragestellungen. ...we make the invisible visible... Analysen und deren Anwendung Erfahrungen

Inhalt. 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,

Mehr

Reengineering und Refactoring von Softwarearchitekturen

Reengineering und Refactoring von Softwarearchitekturen Methodische und Praktische Grundlagen der Informatik 3 Reengineering und Refactoring von Softwarearchitekturen Steffen Helke Technische Universität Berlin Fachgebiet Softwaretechnik WS 2008/2009 Lernziele?

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

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

Software Systems Engineering

Software Systems Engineering Software : SoSe 08 Prof. Dr. Klaus Schmid Software Produktlinien Ein neues Programm soll erstellt werden. Das habe ich doch schon mal programmiert, oder? Alter Code passt aber nicht ganz! Wird passend

Mehr

Fragebogen: Abschlussbefragung

Fragebogen: Abschlussbefragung Fragebogen: Abschlussbefragung Vielen Dank, dass Sie die Ameise - Schulung durchgeführt haben. Abschließend möchten wir Ihnen noch einige Fragen zu Ihrer subjektiven Einschätzung unseres Simulationssystems,

Mehr

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms: Webdesigner Handbuch Copyright 2006 crm-now Versionsgeschichte Version 01 2006-08-21 Release Version crm-now c/o im-netz Neue

Mehr

Debugging in Magento

Debugging in Magento Debugging in Magento Nutzen Werkzeuge Demo 17.5.2011, Leipzig code4business Software GmbH Dennewartstr. 25-27 52068 Aachen Germany Agenda Wer bin ich? Nutzen eines Debuggers Live-Debugging (Demo) Installationsvarianten

Mehr

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html

Mehr

Kompilieren und Linken

Kompilieren und Linken Kapitel 2 Kompilieren und Linken Bevor wir uns auf C++ selbst stürzen, brauchen wir einiges Vorgeplänkel, wie man komfortabel ein größeres C++- kompilieren kann. Mit Java stellt sich der Kompiliervorgang

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr