MÖGLICHKEITEN UND GRENZEN IN DER DYNAMISCHEN CODEANALYSE VON C++ SOFTWARE. Von Matthias Neumann

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "MÖGLICHKEITEN UND GRENZEN IN DER DYNAMISCHEN CODEANALYSE VON C++ SOFTWARE. Von Matthias Neumann"

Transkript

1 MÖGLICHKEITEN UND GRENZEN IN DER DYNAMISCHEN CODEANALYSE VON C++ SOFTWARE Von Matthias Neumann

2 /35 Inhaltsangabe Einleitung Ausprägungen der dynamischen Codeanalyse Debugging Logging Testing Profiling Profiling im Detail Technische Realisierungsmöglichkeiten Messkriterien für Profiling Auswirkungen auf das zu analysierende Programm

3 Inhaltsangabe 3/35 Abgrenzung zur statischen Codeanalyse Definitionder statischen Codeanalyse Durch Menschen Durch automatisierte Werkzeuge Vergleich von dynamischer und statischer Codeanalyse Vor- und Nachteile der statischen Codeanalyse Vor- und Nachteile der dynamischen Codeanalyse Fazit

4 /35 EINLEITUNG

5 /35 Einleitung Komplexität von Software wächst stetig Trotz Komplexität muss Qualität gewährleistet werden Mängel müssen so früh wie möglich lokalisiert werden Dynamische und statische Codeanalyse unterstützen bei der Fehlersuche Dynamische Codeanalyse untersucht Laufzeit-Fehler

6 /35 Dynamische Codeanalyse brisantes Thema Jährliche Konferenz ( Workshop on Dynamic Analysis ) Relevant bei INFORM für ein Projekt am Frankfurter Flughafen Dabei müssen Zeitvorgaben bei der Verarbeitung von xml- Telegrammen eingehalten werden In der Ausarbeitung wurden deshalb die Möglichkeiten der dynamischen Codeanalyse evaluiert

7 /35 AUSPRÄGUNGEN der dynamischen Codeanalyse

8 Ausprägungen 8/35 Allgemeines Jegliche Analyse des Programms, die während der Laufzeit stattfindet Durch die Ergebnisse dieser Analyse können Schwachstellen im Code lokalisiert werden

9 Ausprägungen 9/35 Debugging Ist ein Hilfsprogramm, das die Variablenwerte darstellt und schrittweise den Programmcode durchläuft Aufruflisten geben Informationen über Aufrufhierarchien der Funktionen Option beim Kompilieren unter GCC Debug-Modus unter Visual Studio Zusätzliche Informationen werden im Executable hinterlegt (Dateigröße nimmt zu)

10 Ausprägungen 10/35 Logging Logger protokolliert die Aktionen eines Programms Auch nach Absturz Laufzeitinformationen Ausgabe der Logs benötigt Ressourcen (IO)

11 Ausprägungen 11/35 Testing Ausführung des Programms mit dem Ziel Fehler zu finden Black-Box-Testing Tester kennt innere Strukturen nicht Durch Eingaben werden die Ausgaben geprüft Glass-Box-Testing Tester kennt interne Logik Tester schreibt Tests, die bestimmte Passagen des Quellcodes durchlaufen

12 Ausprägungen 12/35 Profiling Externes Werkzeug Misst bestimmte Laufzeitdaten eines Programmes, wie z.b. die Anzahl der Aufrufe einer Funktion Laufzeiten von Funktionen Speicherauslastungen Speicherlecks Codeüberdeckungen

13 /35 PROFILING im Detail

14 Profiling 14/35 Technische Realisierungsmöglichkeiten Manuelle Instrumentierung Zusätzliche Instruktionen werden dem Programm hinzugefügt Findet zeitlich vor dem Kompilieren statt Programmintern werden Werte ermittelt, die nach außen getragen werden Muss eigenständig implementiert + Stark individualisierbar

15 Profiling Technische Realisierung 15/35 Instrumentierung zur Compilezeit Wie manuelle Instrumentierung, aber mit generiertem Code Compiler fügt zusätzliche Instruktionen vor dem Kompilieren ein Typischerweise werden Funktionsaufrufe und Hierarchien gemessen und aufbereitet Bspw: Visual Studio Eingeschränkte Individualisierbarkeit + Kein Programmieraufwand

16 Profiling Technische Realisierung 16/35 Binäre Instrumentierung Findet nach dem Kompilieren statt Auf binärer Ebene wird das Programm manipuliert, so dass es Messpunkte zur Laufzeit zur Verfügung stellt Bspw: ATOM Keine Anpassungsmöglichkeiten + Keine Optionen beim Kompilieren + Kein manueller Aufwand

17 Profiling Technische Realisierung 17/35 Laufzeitinstrumentierung Programm läuft in einer virtuellen Maschine, die es observiert (Funktionsaufrufe, Speicherbedarf, etc.) Bspw: Valgrind Erhebliche Einbußen in der Performanz Durch Virtualisierung sind Umstände anders + Sehr geringer Aufwand + Programm muss nicht manipuliert werden

18 Profiling Technische Realisierung 18/35 Sampling Laufendes Programm wird stichprobenartig geprüft Stichproben werden in einer bestimmten Frequenz genommen Stichproben enthalten Informationen über die Funktion, die aktuell ausgeführt wird und dessen Aufrufhierarchie Relativer Anteil der Stichproben pro Funktion wird berechnet + Nahezu kein Geschwindigkeitsverlust + Keine Manipulation des Programms bzw. dessen Codes Ungenau, da nicht die Aktionen des Programms vernommen werden

19 Profiling 19/35 Auswirkungen auf das Programm Instrumentierung Zusätzliche Instruktionen verlangsamen das Programm Größe des Programms nimmt zu (Dateigröße) Speicherverhalten während der Laufzeit verändert sich

20 /35 ABGRENZUNG zur statischen Codeanalyse

21 Abgrenzung 21/35 Statische Codeanalyse Quellcode wird ohne Ausführung des Programms analysiert Code wird in textueller Form interpretiert und bewertet Frühe Fehlererkennung (vor oder während des Kompilierens) Kann durch automatisierte Werkzeuge oder durch Menschen stattfinden

22 Abgrenzung Statische Codeanalyse 22/35 Durch Entwickler Selten Überprüfungen auf Syntax, da sehr langwierig (Aufgabe für automatisierte Werkzeuge) Analyse auf Namenskonventionen und Funktionalität Dazu gehören: Codeinspektionen, Walkthroughs, Schreibtischtests, Pair-Programming

23 /35 Durch Werkzeuge Ermitteln Metriken, Vererbungen, syntaktische Fehler, Abhängigkeiten, etc. indem sie den Quellcode scannen Ähnliche Aufgaben wie Compiler Liefern eine aufbereitete Zusammenfassung der Ergebnisse bzw. Warnungen Visualisierungen, wie Klassendiagramme oder Nassi- Shneidermann-Diagramme Oft in Entwicklungsumgebungen integriert

24 /35 VERGLEICH von dynamischer und statischer Codeanalyse

25 Vergleich Statische Codeanalyse 25/35 Vorteile der statischen Analyse + Fehler/Warnungen beziehen sich auf eine exakte Stelle im Code + Gute Integration in Entwicklungsumgebungen Schnelle Navigation (u.a. durch Outlining) Statische Typsicherheit Codegenerierung (Getter, Setter, Deklaration in Header, etc.) Automatische Vervollständigung sowie passende Vorschläge + Gute Externe Tools wie Lint finden viele potentielle Schwachstellen, die der Compiler übersieht

26 Vergleich Statische Codeanalyse 26/35 Vorteile der statischen Analyse + Meist nur einmaliger Aufwand nötig + Deckt auch Teile des Codes ab, für die keine Tests formuliert sind

27 Vergleich Statische Codeanalyse 27/35 Nachteile der statischen Analyse Quellcode muss verfügbar sein Manuelle Analyse fordert hohe Konzentration und Ausdauer Trotzdem möglich, dass Fehler nicht gefunden werden Korrekter Code kann als fehlerhaft deklariert werden Analyse ist nur so gut, wie die definierten Prüfregeln Fehler, die auf bestimmter Hardware auftreten, werden nicht gefunden

28 Vergleich Dynamische Codeanalyse 28/35 Vorteile der dynamischen Analyse + Quellcode nicht zwangsläufig nötig + Fehler im Zusammenhang mit der Hardwarekonfiguration oder Laufzeitumgebung, werden nur in der Ausführung gefunden + Funktionalitäten werden geprüft (gute Testfälle geben Sicherheit, u.a. bei Refactoring) + Laufzeitinformationen (wie Zeitmessungen) nur dynamisch zu ermitteln

29 Vergleich Dynamische Codeanalyse 29/35 Vorteile der dynamischen Analyse + Performance-Tests + Sicherheitslücken, wie unzulässige Speicherzugriffe, Buffer- Overflows, etc. können entdeckt werden + Logging-Mechanismus möglich um auch produktive Systeme zu observieren und Abstürze nachzuvollziehen

30 Vergleich Dynamische Codeanalyse 30/35 Nachteile der dynamischen Analyse Komplexer und daher schwerer in bestehendes Projekt zu integrieren Teilweise muss Code geschrieben werden (manuelle Instrumentierung, Logging, Tests) Schlecht gewählte Testfälle garantieren keine Korrektheit Fehlgeschlagener Test zeigt nur Auslöser nicht Ursache Manipulation des Programmes bei vielen Profilingverfahren nötig

31 Vergleich Dynamische Codeanalyse 31/35 Nachteile der dynamischen Analyse Durch Manipulation wird Verhalten des Programms geändert Dadurch ist es möglich, dass Zeitmessungen unbrauchbar werden Sampling bei wenigen Stichproben nicht repräsentativ

32 /35 FAZIT

33 Fazit 33/35 Weder die statische noch die dynamische Codeanalyse sind objektiv betrachtet besser als die andere Eher: Ergänzen sich gegenseitig Schließen sich nicht gegenseitig aus Finden meistens auch zeitlich in unterschiedlichen Entwicklungsphasen statt Sinnvoll einzelne Werkzeuge und Verfahren der jeweiligen Analysen zu kombinieren

34 Fazit 34/35 Während der Entwicklung Pair-Programming und Reviews Lint/cppcheck o.ä. um Konventionen und Schwachstellen zu finden Testframework (Testfälle dokumentieren Funktionalität) Zeitkritische Passagen mit Profilern optimieren Überprüfung auf Speicherlecks mit profiling Tool Logging Mechanismus (wichtig nach Abstürzen)

35 /35 Noch Fragen? Vielen Dank für Ihre Aufmerksamkeit!

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

Modulare Programmierung und Bibliotheken

Modulare Programmierung und Bibliotheken Modulare Programmierung und Bibliotheken Proseminar-Vortrag am 24.06.2011 von Ludwig Eisenblätter Ludwig Eisenblätter 1 von 25 Modulare Programmierung und Bibliotheken Inhaltsübersicht Motivation / Einleitung

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

EINLEITUNG KAPITEL 1. 1.1 Kontext

EINLEITUNG KAPITEL 1. 1.1 Kontext EINLEITUNG In komplexen Softwaresystemen erlaubt die Aufzeichnung von auftretenden Ereignissen Rückschlüsse auf Vorgänge und Zusammenhänge innerhalb des beobachteten Systems. Grundprobleme sind dabei die

Mehr

Softwaretechnikpraktikum SS 2004. Qualitätsmanagement I. 1. Überblick. Qualität. Qualitätsmerkmal

Softwaretechnikpraktikum SS 2004. Qualitätsmanagement I. 1. Überblick. Qualität. Qualitätsmerkmal Softwaretechnikpraktikum SS 2004 Qualitätsmanagement I 5. Vorlesung 1. Überblick Planungsphase Definitionsphase Entwurfsphase Implem.- phase Fragen Was ist Qualität? Wie kann man Qualität messen? Wie kann

Mehr

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,

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 : j.nicolai@main-gruppe.de Web: www.main-gruppe.de

Mehr

Profiling und Coverage mit GNU und Bare Embedded Systems

Profiling und Coverage mit GNU und Bare Embedded Systems Profiling und Coverage mit GNU und Bare Embedded Systems Life is too short for bad tools! Prof. Erich Styger erich.styger@hslu.ch +41 41 349 33 01 Coverage und Profiling Coverage: Analyse der Testabdeckung

Mehr

Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 4. Juni 2007 45

Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 4. Juni 2007 45 Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 4. Juni 2007 45 7 Programmverstehen + Fehlersuche Nach einer Vorlesung von Prof. Andreas Zeller, Lehrstuhl Softwaretechnik Universität

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

Plug-and-Play-Lösung für Autosar-Software-Komponenten

Plug-and-Play-Lösung für Autosar-Software-Komponenten Plug-and-Play-Lösung für Autosar-Software-Komponenten Durch die im Autosar-Standard spezifizierten Schnittstellen kann die Steuergeräteapplikation leichter als bisher aus Komponenten unterschiedlicher

Mehr

fungen Debugging Boris Tripolskij

fungen Debugging Boris Tripolskij Werkzeuggestützte tzte Softwareprüfungen fungen Debugging Boris Tripolskij Gliederung Motivation für Debugging Aufbau des Debuggers in Eclipse Arten von Debugging Tools Fehlerarten Delta Debugging Vorführung

Mehr

Leistungs- und Geschwindigkeitssteigerung. Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur

Leistungs- und Geschwindigkeitssteigerung. Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur Leistungs- und Geschwindigkeitssteigerung von LabVIEW-Projekten Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur Agenda 1. Einführung 2. Hilfreiche Werkzeuge zur Codeanalyse 3. Benchmarks für LabVIEW-VIs

Mehr

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving)

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving) Universität Paderborn Die Universität der Informationsgesellschaft Analyse, Entwurf und Implementierung zuverlässiger Software und (inkl., Model-Checking, Theorem Proving) Torsten Bresser torbre@uni-paderborn.de

Mehr

C++-Entwicklung mit Linux

C++-Entwicklung mit Linux C++-Entwicklung mit Linux Eine Einführung in die Sprache und die wichtigsten Werkzeuge von GCC und XEmacs bis Eclipse Thomas Wieland [Druckvorlage vom 10. August 2004] xiii Inhaltsverzeichnis 1 Programmieren

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

LabView. Die erste komplett grafische Programmierumgebung. Jens Kleinwechter (jenskl@tzi.de)

LabView. Die erste komplett grafische Programmierumgebung. Jens Kleinwechter (jenskl@tzi.de) LabView Die erste komplett grafische Programmierumgebung Falko Buttler ( fbuttler@tzi.de) Jens Kleinwechter (jenskl@tzi.de) Gliederung des Referats Was versteht man unter LabView? Für wen war es gedacht

Mehr

Software Engineering. 13. Qualitätssicherung. Franz-Josef Elmer, Universität Basel, WS 2006/07

Software Engineering. 13. Qualitätssicherung. Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering 13. Qualitätssicherung Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering: 13. Qualitätssicherung 2 Qualitätssicherung Qualitätssicherung (engl. Quality Assurance

Mehr

C ++ in der Computerlinguistik

C ++ in der Computerlinguistik C ++ in der Computerlinguistik Tutorium Aline Castendiek 19.10.2015 Aline Castendiek C++ in der Computerlinguistik 1 / 11 Aufbau Übungsblätter Technische Voraussetzungen Compiler Programmierung Aline Castendiek

Mehr

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen 4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen Highlights: objektorientierte Sprache Plattformunabhängigkeit bei Hardware und Betriebssystem optimale Einbindung im Internet und Intranet

Mehr

Softwareentwicklung bei eevolution

Softwareentwicklung bei eevolution Softwareentwicklung bei eevolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, COMPRA GmbH Jan Freitag Studium: IMIT Bachelor: 2005-2008 IMIT Master: 2008-2010 eevolution: Mitarbeit

Mehr

Software Tests (2) Quellcode Reviews

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

Mehr

Automatisierte Erstellung von Software-Builds und -dokumentationen. Teil 1

Automatisierte Erstellung von Software-Builds und -dokumentationen. Teil 1 Automatisierte Erstellung von Software-Builds und -dokumentationen Teil 1 Autoren: Hagedorn, Robert; Denninger, Oliver Kontakt: {hagedorn denninger}@fzi.de Web: http://zfs.fzi.de Ort, Datum: Karlsruhe,

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

Graphen in Apex von Thomas Hernando. www.syntegris.de

Graphen in Apex von Thomas Hernando. www.syntegris.de Graphen in Apex von Thomas Hernando www.syntegris.de Einleitung FIRMENINFOS Gründung im Jahre 2000 mit Sitz in Neu-Isenburg bei Frankfurt am Main Mehr als 30 Berater Oracle Gold Partner Schwerpunkte liegen

Mehr

Modellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer

Modellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer Modellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer Holger Sinnerbrink Einführung Firmenentwicklung Gründung von Telelogic 1983 als Forschungs- und Entwicklungsabteilung

Mehr

Rapid Prototyping mit CANape Version 1.0 2010-11-22

Rapid Prototyping mit CANape Version 1.0 2010-11-22 Version 1.0 2010-11-22 Inhaltsverzeichnis 1.0 Übersicht...3 2.0 Funktionsentwicklung mit MATLAB...4 3.0 Simulink als Ablaufumgebung CANape als komfortable Bedienoberfläche...4 4.0 CANape als Ablaufumgebung...5

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

(allgemeine) OOP in C++ Klassen und header-files Konstruktorn / Destruktoren Speicherverwaltung C++ Standard Library / SLT

(allgemeine) OOP in C++ Klassen und header-files Konstruktorn / Destruktoren Speicherverwaltung C++ Standard Library / SLT Architektur Übersicht (allgemeine) OOP in C++ Polymorphie Virtuelle Funktionen Kompilieren Linken dynamische/statische Bibliotheken Tutorial: vs2008+ogre+(campus modell) Architektur (allgemeine) OOP in

Mehr

Optimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten

Optimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten Optimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten Martin Däumler Matthias Werner Lehrstuhl Betriebssysteme Fakultät für Informatik

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

Propädeutikum. Dipl.-Inf. Frank Güttler

Propädeutikum. Dipl.-Inf. Frank Güttler Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Technische Aspekte des erfolgreichen Testens von Software in Unternehmen

Technische Aspekte des erfolgreichen Testens von Software in Unternehmen Technische Aspekte des erfolgreichen Testens von Software in Unternehmen Tim A. Majchrzak Agenda 1 Einführung 2 Hintergrund 3 Vorgehen und Methodik 4 Handlungsempfehlungen 5 Fazit 2 Agenda 1 Einführung

Mehr

CODESYS Engineering. Abb. 1: Entwicklungsprozesse

CODESYS Engineering. Abb. 1: Entwicklungsprozesse Interweave News Oktober / 2015 Interweave GmbH Spielhölzli 14 CH-3800 Unterseen +41 33 823 2349 info@interweave.ch www.interweave.ch CODESYS Engineering Artikelübersicht: CODESYS Engineering 1 UML 1 SVN

Mehr

Softwarepraktikum: Einführung in gcc / g++

Softwarepraktikum: Einführung in gcc / g++ Softwarepraktikum: Einführung in gcc / g++ (Eingebettete Systeme und Robotik),, http://ai3.inf.uni-bayreuth.de /home/db_lehre/softwarepraktikum/einfuehrungsvortraege/gcc-vortrag.01.sxi Unterschied gcc

Mehr

AOSTA. Aspects in Operating Systems: Tools and Applications

AOSTA. Aspects in Operating Systems: Tools and Applications AOSTA Aspects in Operating Systems: Tools and Applications Michael Engel, Philipps-Universität Marburg AG Verteilte Systeme engel@informatik.uni-marburg.de Aspektorientierung in 5 Minuten ;-) Crosscutting

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

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

Mehr

Performance Testing Seminar zu Software-Tools für die Numerische Mathematik

Performance Testing Seminar zu Software-Tools für die Numerische Mathematik MÜNSTER Performance Testing Seminar zu Software-Tools für die Numerische Mathematik 15. Oktober 2014 MÜNSTER Performance Testing 2 /46 Mein Programm soll schneller werden! Wie geht das? MÜNSTER Performance

Mehr

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

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

Mehr

Von Continuous Integration zu Continuous Deployment

Von Continuous Integration zu Continuous Deployment Von Continuous Integration zu Continuous Deployment Manuel Pichler 31. Mai 2010 Über mich Manuel Pichler Jahrgang 1978 Diplom Informatiker Softwarearchitekt Entwickler von: PHP_Depend

Mehr

Andreas Kerl. Inside Windows Installer 4.5

Andreas Kerl. Inside Windows Installer 4.5 Andreas Kerl Inside Windows Installer 4.5 Inhaltsverzeichnis Einleitung 11 Für wen ist dieses Buch gedacht? 12 Beispieldateien 13 Support 13 Danksagung 14 Teil A Allgemeines zum Windows Installer 15 1

Mehr

GELEBTE ENTWICKLUNGSRICHTLINIEN

GELEBTE ENTWICKLUNGSRICHTLINIEN GELEBTE ENTWICKLUNGSRICHTLINIEN VOM VERSTAUBTEM PAPIERSTAPEL ZUM SPICKZETTEL FÜR ENTWICKLER BORIS WEHRLE ENTWICKLUNGSRICHTLINIEN Ein Programmierstil (engl. code conventions, coding conventions, coding

Mehr

Medizinprodukt 1.0. Lehren aus der Neuentwicklung von Medizinprodukte-Software. Matthias Hölzer-Klüpfel

Medizinprodukt 1.0. Lehren aus der Neuentwicklung von Medizinprodukte-Software. Matthias Hölzer-Klüpfel Medizinprodukt 1.0 Lehren aus der Neuentwicklung von Medizinprodukte-Software Matthias Hölzer-Klüpfel Medizinprodukt 4.2 Weiterentwicklung bestehender Produkte Funktionserweiterungen Fehlerkorrekturen

Mehr

Ist Qualität nachrüstbar? Testen, Dokumentation und Code Qualität von Anfang an

Ist Qualität nachrüstbar? Testen, Dokumentation und Code Qualität von Anfang an Ist Qualität nachrüstbar? Testen, Dokumentation und Code Qualität von Anfang an Was ist Qualität? Definition laut EN ISO 9000:2005 Qualität wird definiert als "Grad, in dem ein Satz inhärenter Merkmale

Mehr

Ein Tool zum Rapid-Prototyping von Multitouch- Anwendungen

Ein Tool zum Rapid-Prototyping von Multitouch- Anwendungen Ein Tool zum Rapid-Prototyping von Multitouch- Anwendungen Author: Frederic Raber Betreuer: Dr. Michael Kipp Gliederung Motivation Ähnliche Arbeiten System Ausblick Motivation Beispiel: Implementierung

Mehr

Leitfaden API. Testing und Debugging. Erstellt am 4.9.2014 Autor FG API, Rinaldo Lanza. Dokumentenstatus Freigegeben at work Version 1.

Leitfaden API. Testing und Debugging. Erstellt am 4.9.2014 Autor FG API, Rinaldo Lanza. Dokumentenstatus Freigegeben at work Version 1. Leitfaden API Erstellt am 4.9.2014 Autor FG API, Rinaldo Lanza Dokumentenstatus Freigegeben at work Version 1.0 Verteiler Fachgruppe API Änderungen Datum Version Autor Inhaltsverzeichnis 1 Beschreibung

Mehr

VB.net Programmierung und Beispielprogramm für GSV

VB.net Programmierung und Beispielprogramm für GSV VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2

Mehr

Die Orgadata AG ist ein stark expandierendes Software-Unternehmen aus Leer. Mit unserem System LogiKal

Die Orgadata AG ist ein stark expandierendes Software-Unternehmen aus Leer. Mit unserem System LogiKal HIER DREHT SICH ALLES UM IHRE ZUKUNFT Entwicklung einer Architektur für automatisierte UI-Tests Im Rahmen Ihrer entwickeln Sie eine Software-Lösung, die das automatische Bedienen und Befüllen der graphischen

Mehr

Oracle GridControl Tuning Pack. best Open Systems Day April 2010. Unterföhring. Marco Kühn best Systeme GmbH marco.kuehn@best.de

Oracle GridControl Tuning Pack. best Open Systems Day April 2010. Unterföhring. Marco Kühn best Systeme GmbH marco.kuehn@best.de Oracle GridControl Tuning Pack best Open Systems Day April 2010 Unterföhring Marco Kühn best Systeme GmbH marco.kuehn@best.de Agenda GridControl Overview Tuning Pack 4/26/10 Seite 2 Overview Grid Control

Mehr

SOFTWARE ENGINEERING 3 TESTVORBEREITUNGEN UND UNIT-TEST

SOFTWARE ENGINEERING 3 TESTVORBEREITUNGEN UND UNIT-TEST SOFTWARE ENGINEERING 3 TESTVORBEREITUNGEN UND UNIT-TEST Gliederung 2 0. 1. 2. 3. Vorstellung Testvorbereitungen Planungsphase Definitionsphase Implementierungs-, Abnahme-und Einführungsphase Testphasen

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Tom Krauß Agenda Begriffsdefinition Verfahren Praktische Beispiele Vergleich und Bewertung Begriffsklärung

Mehr

Inhaltsverzeichnis. Einleitung... 11 Für wen ist dieses Buch gedacht?... 12 Beispieldateien... 13 Support... 13 Danksagung... 14

Inhaltsverzeichnis. Einleitung... 11 Für wen ist dieses Buch gedacht?... 12 Beispieldateien... 13 Support... 13 Danksagung... 14 Inhaltsverzeichnis Einleitung................................................................................. 11 Für wen ist dieses Buch gedacht?............................................................

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

Manuel Meyer Trivadis AG. Profiling von WPF Anwendungen in VS2015

Manuel Meyer Trivadis AG. Profiling von WPF Anwendungen in VS2015 Manuel Meyer Trivadis AG Profiling von WPF Anwendungen in VS2015 Über mich Manuel Meyer arbeitet als Senior Consultant und Trainer für.net bei der Trivadis AG. Er befasst sich mit.net-enterprise Anwendungen,

Mehr

09.10.2015. 02.10.2015 + 07.10.2015 Seite 1. 02.10.2015 + 07.10.2015 Seite 2

09.10.2015. 02.10.2015 + 07.10.2015 Seite 1. 02.10.2015 + 07.10.2015 Seite 2 02.10.2015 + 07.10.2015 Seite 1 02.10.2015 + 07.10.2015 Seite 2 1 Anzahl der Klassenarbeiten: Mindestens zwei Klassenarbeiten pro Halbjahr (= 4 KA pro Jahr) Im ersten Ausbildungsjahr gibt es jedoch kein

Mehr

Spec# Einführung. Formale Software-Entwicklung Seminar SS 07 Universität Karlsruhe Hilal Akbaba

Spec# Einführung. Formale Software-Entwicklung Seminar SS 07 Universität Karlsruhe Hilal Akbaba Spec# Einführung Formale Software-Entwicklung Seminar SS 07 Universität Karlsruhe Hilal Akbaba Inhalt Einführung in C# Das Spec# System Die Konstrukte Vererben der Verträge System Architektur Einführung

Mehr

Tutorial. Bibliothek AutoGUITest V1.0. Windows-Benutzeroberflächen automatisiert testen. Ausgabe: 6.6.02. 06.06.02 / 13:51 Seite 1

Tutorial. Bibliothek AutoGUITest V1.0. Windows-Benutzeroberflächen automatisiert testen. Ausgabe: 6.6.02. 06.06.02 / 13:51 Seite 1 Bibliothek AutoGUITest V1.0 Windows-Benutzeroberflächen automatisiert testen Tutorial Ausgabe: 6.6.02 06.06.02 / 13:51 Seite 1 Inhalt 1 Übersicht...3 2 Funktionsweise...3 3 Funktionsumfang...3 4 Einsatz

Mehr

Java - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue

Java - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue Java - Einführung in die Programmiersprache Leibniz Universität Anja Aue Handbücher am RRZN Programmierung. Java: Grundlagen und Einführung Java: Fortgeschrittene Techniken und APIs Java und XML Java -

Mehr

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

Mehr

The Software Quality Challenge

The Software Quality Challenge The Software Quality Challenge Stanislav Michel Otto-von-Guericke-Universität Magdeburg Gliederung 1. Einleitung 2. Fehlerbeseitigung Probleme 3. Erfolgreiche Qualitätsstrategien 4. Grundsätze der Softwarequalität

Mehr

Ogre Einführung Teil 1

Ogre Einführung Teil 1 Inhalt -Einleitung -Installieren und Einrichten von Ogre -Die erste Anwendung Ogre Einführung Teil 1 Einleitung Eine 3D Engine ist eine sehr komplexe Software und besteht aus mehreren tausend Zeilen Programmcode.

Mehr

Virtuelle Maschinen Konzept von VMWare

Virtuelle Maschinen Konzept von VMWare Virtuelle Maschinen Konzept von 11.12.2007 1 Einleitung 2 Software Virtualisierung 3 Software vs. Hardware 4 Fazit und Ausblick Motivation von Steigende Beliebtheit der x86-architektur Virtualizierung

Mehr

JavaScript & Ajax Debugging. Marcel Bsufka 16.05.2011

JavaScript & Ajax Debugging. Marcel Bsufka 16.05.2011 JavaScript & Ajax Debugging Marcel Bsufka 16.05.2011 2 http://www.phdcomics.com/comics/archive.php?comicid=673 Agenda 3 1. Was ist JavaScript? a. Merkmale b. Probleme beim Debuggen 2. Debugging Werkzeuge

Mehr

Installation von Microsoft Visual C++ 2010 Express

Installation von Microsoft Visual C++ 2010 Express Installation von Download unter http://www.microsoft.com/germany/express/products/windows.aspx Alternative: Ihr MSDNAA Zugang Registrierung nach spätestens 30 Tagen ist zwingend erforderlich. I Vorbereitung

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Wie setzt Swisscom Solaris 11 ein

Wie setzt Swisscom Solaris 11 ein Wie setzt Swisscom Solaris 11 ein Fritz Wittwer Swisscom Enterprise Customers Bern / Schweiz Marcel Hofstetter St. Gallen / Schweiz Schlüsselworte Oracle Solaris 11, Virtualisierung, SPARC, T5, LDom, Solaris

Mehr

Web Application Security Testing

Web Application Security Testing Lehrstuhl für Rechnernetze und Internet Wilhelm-Schickard-Institut für Informatik Universität Tübingen Web Application Security Testing Carl-Daniel Hailfinger Betreuer: Pavel Laskov Ziele des Vortrags

Mehr

Xcalibur-2 Alpha. Time. Christian Rempis University of Applied Sciences Bonn-Rhein-Sieg 17. Januar 2006 1

Xcalibur-2 Alpha. Time. Christian Rempis University of Applied Sciences Bonn-Rhein-Sieg 17. Januar 2006 1 Time Christian Rempis University of Applied Sciences Bonn-Rhein-Sieg 17. Januar 2006 1 Control and Command Environment for a Robotic Experimenter R&D 1 Examination Presentation by Christian Rempis Christian

Mehr

WCET-Analyseverfahren in der automobilen Softwareentwicklung

WCET-Analyseverfahren in der automobilen Softwareentwicklung WCET-Analyseverfahren in der automobilen Softwareentwicklung Martin Däumler 1 Robert Baumgartl 2 Matthias Werner 1 1 Technische Universität Chemnitz 2 HTW Dresden 28. November 2008 M. Däumler et al (TUC,

Mehr

Troubleshooting PHP Issues

Troubleshooting PHP Issues Troubleshooting PHP Issues Jan Burkl System Engineer jan@zend.com Code Qualität und der Einfluss auf Entwicklungszeit und -kosten Quelle: Boehm und Papaccio Studie Fehlerhafter Code verbraucht typischerweise

Mehr

Quelle: www.rohinie.eu

Quelle: www.rohinie.eu Tipps & Tools zur Erstellung berauschender Infografiken! Quelle: www.rohinie.eu Infografiken sind ein großer Trend bei der Veröffentlichung von Informationen. Vor allem der Anstieg der Popularität von

Mehr

Mobile Development in.net mit Xamarin

Mobile Development in.net mit Xamarin 1 Mobile Development in.net mit Xamarin Mobile Web (Hybrid) Apps Vorteil: Weniger Aufwand Multi-Plattform Web-Technologien Nachteil: UX Performance UI Design Gerätefunktionen 2 Plattform abstrahieren 3

Mehr

Objektorientierte Programmierung Einführung in JVM und Eclipse

Objektorientierte Programmierung Einführung in JVM und Eclipse Proinformatik-Vorlesung Objektorientierte Programmierung Einführung in JVM und Eclipse Gastdozent: Tilman Walther 1 Inhalt Aufbau der Java Platform Eclipse als Entwicklungsumgebung für Java Motivation,

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

A-C QA-C. das statische Sourcecode Analyse-Tool für C

A-C QA-C. das statische Sourcecode Analyse-Tool für C A-C QA-C das statische Sourcecode Analyse-Tool für C Fehler vermeiden von Anfang an Bessere Software in kürzerer Zeit Automatisierte Code-Reviews Für bessere Software für bessere Entwicklerteams Unsere

Mehr

Software - Testung ETIS SS05

Software - Testung ETIS SS05 Software - Testung ETIS SS05 Gliederung Motivation Was ist gute Software? Vorurteile gegenüber Testen Testen (Guidelines + Prinzipien) Testarten Unit Tests Automatisierte Tests Anforderungen an Testframeworks

Mehr

Mathcad Automatisierter Code-Export nach C++ oder Windows-DLL

Mathcad Automatisierter Code-Export nach C++ oder Windows-DLL Mathcad Automatisierter Code-Export nach C++ oder Windows-DLL Dipl.-Ing. Christian Meißner SimulationTools www.simulationtools.de PTC World 2009 Stuttgart 19.11.2009 C. Meißner - PTC World 2009 Stuttgart

Mehr

Testen mit JUnit. Apcon Workplace Solutions Member of itelligence. Testen von Java-Code mit JUnit. ÿstruktur eines Testfalls

Testen mit JUnit. Apcon Workplace Solutions Member of itelligence. Testen von Java-Code mit JUnit. ÿstruktur eines Testfalls Testen von Java-Code mit JUnit ÿmotivation ÿjunit-testklassen ÿjunit-testfälle ÿstruktur eines Testfalls Henning Wolf APCON Workplace Solutions GmbH wolf@jwam.de Motivation: Werkzeugunterstützung für Tests

Mehr

Proseminar C-Programmierung. Strukturen. Von Marcel Lebek

Proseminar C-Programmierung. Strukturen. Von Marcel Lebek Proseminar C-Programmierung Strukturen Von Marcel Lebek Index 1. Was sind Strukturen?...3 2. Padding 5 3. Vor- und Nachteile von Padding..8 4. Padding gering halten 9 5. Anwendungsgebiete von Strukturen.11

Mehr

Von SystemC zum FPGA in 7 Schritten. Kurzes Tutorial für die Synthese von SystemC Entwürfen auf dem ISMS Server der Hochschule

Von SystemC zum FPGA in 7 Schritten. Kurzes Tutorial für die Synthese von SystemC Entwürfen auf dem ISMS Server der Hochschule Von SystemC zum FPGA in 7 Schritten Kurzes Tutorial für die Synthese von SystemC Entwürfen auf dem ISMS Server der Hochschule Bremen. Mirko Kruse 21. November 2004 Inhalt 1 Einleitung...1 2 Benötigte Software...1

Mehr

Projektmanagement. Vorlesung von Thomas Patzelt 10. Vorlesung

Projektmanagement. Vorlesung von Thomas Patzelt 10. Vorlesung Projektmanagement Vorlesung von Thomas Patzelt 10. Vorlesung 1 Test...(4) Oberflächentests testen die Benutzerschnittstelle des Systems, nicht nur auf Fehlerfreiheit sondern z.b. auch auf Konformität mit

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2007/08 Überblick I 1 1 Probleme statischer

Mehr

ATM18-Projekt Arbeiten mit CodeVisionAVR C-Compiler Teil 02 - Aufbau eines C-Projektes

ATM18-Projekt Arbeiten mit CodeVisionAVR C-Compiler Teil 02 - Aufbau eines C-Projektes Teil 01 - Einführung 1 Eine Einführung in C 1.1 Warum C? 1.2 Wie entstand C? 1.3 Der AVR-Mikrocontroller in einem eingebetteten System 1.4 1.5 Editieren von Quell-Dateien 2 Was ist ein C-Projekt? 2.1 Erzeugen

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

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

Systematische Software-Qualität mittels einer durchgängigen Analyse- und Teststrategie

Systematische Software-Qualität mittels einer durchgängigen Analyse- und Teststrategie Insert picture and click Align Title Graphic. Systematische Software-Qualität mittels einer durchgängigen Analyse- und Teststrategie Dr. Dieter Lederer, Geschäftsführer Vector Consulting Services GmbH

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

Bison Technology. Entwicklungsplattform für Business Software. Leading Business IT Solutions

Bison Technology. Entwicklungsplattform für Business Software. Leading Business IT Solutions Bison Technology Entwicklungsplattform für Business Software Leading Business IT Solutions Gewusst wie! Built on Bison Technology. Ihr Know-how zählt. Ihre Softwareentwicklung fokussiert auf Prozesse und

Mehr

Programmieren. Wie entsteht ein Programm

Programmieren. Wie entsteht ein Programm Wie entsteht ein Programm 1/9 1. Schritt: Programmentwurf Der wichtigste Teil beim Erstellen eines Programms ist der Programmentwurf. Dabei wird das vorgegebene Problem analysiert, es wird ermittelt, welche

Mehr

Performance Monitoring Warum macht es Sinn?

Performance Monitoring Warum macht es Sinn? Performance Monitoring Warum macht es Sinn? achermann consulting ag Nicola Lardieri Network Engineer Luzern, 25.5.2011 Inhalt Definition Monitoring Warum Performance Monitoring? Performance Monitoring

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

Cross-Platform Mobile mit.net

Cross-Platform Mobile mit.net Cross-Platform Mobile mit.net Mobile Entwicklungslandschaft Nativ Crosscompiled Hybrid Web Beste Usability? Überschaubare Kosten? Was ist Xamarin? Was ist Xamarin? 2011 Gegründet aus dem Ximian, Novell

Mehr

Erster Bug: eine Motte

Erster Bug: eine Motte SOFTWAREFEHLER Der erste Bug Erster Bug: eine Motte Der Begriff Bug (deutsch: Motte) stammt aus dem Jahre 1945, als Ingenieure in einem Schaltrelais eines Computers (Harvard Mark II-System) eine Motte

Mehr

Test-Karussell. Automatisierte Qualitätssicherung im Round-Trip. Test-Karussell. Folie 1 08. November 2006

Test-Karussell. Automatisierte Qualitätssicherung im Round-Trip. Test-Karussell. Folie 1 08. November 2006 Automatisierte Qualitätssicherung im Round-Trip Folie 1 Test und Automatisierung Qualitätssicherung schafft (nur) Transparenz und ist aufwändig und teuer Testen kann die Qualität nicht verbessern 40-50%

Mehr

Modellbasierte Entwicklung fehlertoleranter Echtzeitsysteme Fokus: Qualifizierung des Codegenerators

Modellbasierte Entwicklung fehlertoleranter Echtzeitsysteme Fokus: Qualifizierung des Codegenerators Department of Informatics, Unit VI: Robotics and Embedded Systems Modellbasierte Entwicklung fehlertoleranter Echtzeitsysteme Fokus: Qualifizierung des Codegenerators Christian Buckl 10.11.2006 1 Inhalt

Mehr

1. Von der Idee zur Software 2. Funktionen und Datenstrukturen Lehrbuch: 4.3 3. Organisation des Quellcodes 4. Werte- und Referenzsemantik

1. Von der Idee zur Software 2. Funktionen und Datenstrukturen Lehrbuch: 4.3 3. Organisation des Quellcodes 4. Werte- und Referenzsemantik Software-Technik: Vom Programmierer zur erfolgreichen Software-Technik: Vom Programmierer zur erfolgreichen 1. Von der Idee zur Software 2. Funktionen und Datenstrukturen Lehrbuch: 4.3 3. Organisation

Mehr

XCOM 2: SDK Schnellstartanleitung

XCOM 2: SDK Schnellstartanleitung XCOM 2: SDK Schnellstartanleitung Inhalt Einführung... 1 Vor dem Start... 2 Das XCOM2-SDK in Steam installieren... 2 Installation des Visual Studio 2013 Shell (Isoliert) Redistributable Package... 2 Modbuddy

Mehr