Software Intelligence

Größe: px
Ab Seite anzeigen:

Download "Software Intelligence"

Transkript

1 Software Intelligence Dr. Florian Deißenböck 9. Februar 2017 Alle Logos sind von Wikipedia. Die Rechte daran hält die jeweilige Organisation. Continuous Quality in Software Engineering

2 Anforderungen: Geschäftsprozesse, Fahrzeugfunktionen, Software-Wartung Software-System Technologie: Hardware, BS, Sprachen, Datenbanken,

3 Anforderungen: Geschäftsprozesse, Fahrzeugfunktionen, Software-Wartung Software-System Technologie: Hardware, BS, Sprachen, Datenbanken,

4 392 LOC Code von github.com/activiti

5

6 // Utilities for arrays of elements public String showelements(modelelement[] elements, String nomsg) { boolean found = false; StringBuffer res = new StringBuffer(); if (elements!= null) { Index.getInstance().setCurrentRenderer( FlatReferenceRenderer.getInstance()); for (int i = 0; i < elements.length(); i++) { ModelElement el = elements[i]; res.append(showelementlink(el)). append(html.line_break); found = true; } Index.getInstance().setCurrentRenderer(); if (!found && nomsg!= null && nomsg.length() > 0) { res.append(html.italics(nomsg)); } return res.tostring(); } // Utilities for arrays of elements public String showelements(modelelement[] elements, String nomsg) { boolean found = false; StringBuffer res = new StringBuffer(); if (elements!= null) { Index.getInstance().setCurrentRenderer( FlatReferenceRenderer.getInstance()); for (int i = 0; i < elements.length(); i++) { ModelElement el = elements[i]; res.append(showelementlink(el)). append(html.line_break); found = true; } Index.getInstance().setCurrentRenderer(); if (!found && nomsg.length() > 0) { res.append(html.italics(nomsg)); } return res.tostring(); }

7 // Utilities for arrays of elements public String showelements(modelelement[] elements, String nomsg) { boolean found = false; StringBuffer res = new StringBuffer(); if (elements!= null) { Index.getInstance().setCurrentRenderer( FlatReferenceRenderer.getInstance()); for (int i = 0; i < elements.length(); i++) { ModelElement el = elements[i]; res.append(showelementlink(el)). append(html.line_break); found = true; } Index.getInstance().setCurrentRenderer(); if (!found && nomsg!= null && nomsg.length() > 0) { res.append(html.italics(nomsg)); } return res.tostring(); } // Utilities for arrays of elements public String showelements(modelelement[] elements, String nomsg) { boolean found = false; StringBuffer res = new StringBuffer(); if (elements!= null) { Index.getInstance().setCurrentRenderer( FlatReferenceRenderer.getInstance()); for (int i = 0; i < elements.length(); i++) { ModelElement el = elements[i]; res.append(showelementlink(el)). append(html.line_break); found = true; } Index.getInstance().setCurrentRenderer(); if (!found && nomsg!= null && nomsg.length() > 0) { res.append(html.italics(nomsg)); } return res.tostring(); }

8

9 Studie Identifikation von über 100 Fehlern in produktiver Software Kritisch Nutzersichtbar Nicht nutzersichtbar Juergens et al., Do Code Clones Matter?, ICSE 2009

10 Code von github.com/activiti CQSE GmbH 2017

11

12 JUnit Samples Core TextUI Runner Extensions Framework Experimental Tests Lib Matchers Hamcrest

13

14 CQSE GmbH 2017

15 Wie wartbar ist unser Code? Wo sind Lücken in meinem Test? Ist unser Code konform zur Architektur? Wie hat sich meine Code- Qualität verändert? Welche Systemteile sind am stärksten fehlerbehaftet? Welche Änderungen wurden nicht gereviewed? Welche Features werden nie genutzt? Gibt es Kopfmonopole?

16 HTML/JSP Alle Logos sind von Wikipedia. Die Rechte daran hält die jeweilige Organisation.

17 Alle Logos sind von Wikipedia. Die Rechte daran hält die jeweilige Organisation. CQSE GmbH 2017

18 Alle Logos sind von Wikipedia. Die Rechte daran hält die jeweilige Organisation. CQSE GmbH 2017

19 Alle Logos sind von Wikipedia. Die Rechte daran hält die jeweilige Organisation. CQSE GmbH 2017

20 Alle Logos sind von Wikipedia. Die Rechte daran hält die jeweilige Organisation. CQSE GmbH 2017

21 Alle Logos sind von Wikipedia. Die Rechte daran hält die jeweilige Organisation. CQSE GmbH 2017

22 Alle Logos sind von Wikipedia. Die Rechte daran hält die jeweilige Organisation. CQSE GmbH 2017

23 Alle Logos sind von Wikipedia. Die Rechte daran hält die jeweilige Organisation. CQSE GmbH 2017

24 Wie wartbar ist unser Code? Wo sind Lücken in meinem Test? Ist unser Code konform zur Architektur? Wie hat sich meine Code- Qualität verändert? Welche Systemteile sind am stärksten fehlerbehaftet? Welche Änderungen wurden nicht gereviewed? Welche Features werden nie genutzt? Gibt es Kopfmonopole?

25 VCS Issue-Tracker Log-Dateien Test- Werkzeuge Build-Systeme Monitoring- Systeme

26 Business Intelligence»A set of techniques and tools for the acquisition and transformation of raw data into meaningful and useful information for business analysis purposes.«

27 Produktdaten Nutzung # Tests Uptime Code Abdeckung Modell Auslastung Test Gaps Architektur Build- Skript DB Feature- Datenqualität Prozessdaten Fehler # Fehler Laufzeit Hotfixes Build Abdeckung Reviews Autorschaft Branching Backlog Regression Fix-Zeit

28 Produktdaten Nutzung # Tests Uptime Code Abdeckung Modell Auslastung Test Gaps Architektur Build- Skript DB Feature- Datenqualität Prozessdaten Fehler # Fehler Laufzeit Hotfixes Build Abdeckung Reviews Autorschaft Branching Backlog Regression Fix-Zeit

29

30

31 Produktdaten Nutzung # Tests Uptime Code Abdeckung Modell Auslastung Test Gaps Architektur Build- Skript DB Feature- Datenqualität Prozessdaten Fehler # Fehler Laufzeit Hotfixes Build Abdeckung Reviews Autorschaft Branching Backlog Regression Fix-Zeit

32

33 Produktdaten Nutzung # Tests Uptime Code Abdeckung Modell Auslastung Test Gaps Architektur Build- Skript DB Feature- Datenqualität Prozessdaten Fehler # Fehler Laufzeit Hotfixes Build Abdeckung Reviews Autorschaft Branching Backlog Regression Fix-Zeit

34

35 Produktdaten Nutzung # Tests Uptime Code Abdeckung Modell Auslastung Test Gaps Architektur Build- Skript DB Feature- Datenqualität Prozessdaten Fehler # Fehler Laufzeit Hotfixes Build Abdeckung Reviews Autorschaft Branching Backlog Regression Fix-Zeit

36

37 Produktdaten Nutzung # Tests Uptime Code Abdeckung Modell Auslastung Test Gaps Architektur Build- Skript DB Feature- Datenqualität Prozessdaten Fehler # Fehler Laufzeit Hotfixes Build Abdeckung Reviews Autorschaft Branching Backlog Regression Fix-Zeit

38

39

40 Produktdaten Nutzung # Tests Uptime Code Abdeckung Modell Auslastung Test Gaps Architektur Build- Skript DB Feature- Datenqualität Prozessdaten Fehler # Fehler Laufzeit Hotfixes Build Abdeckung Reviews Autorschaft Branching Backlog Regression Fix-Zeit

41 CQSE GmbH 2017

42

43 Produktdaten Nutzung # Tests Uptime Code Abdeckung Modell Auslastung Test Gaps Architektur Build- Skript DB Feature- Datenqualität Prozessdaten Fehler # Fehler Laufzeit Hotfixes Build Abdeckung Reviews Autorschaft Branching Backlog Regression Fix-Zeit

44

45 GUI.Dialogs Authentication UI Controls GUI.Base Data Validation

46

47

48 Neu Modifiziert Unverändert CQSE GmbH 2017

49 Im Test ausgeführt Nicht ausgeführt

50 Neu & ungetestet Modifiziert & ungetestet Modifiziert/Neu & im Test ausgeführt Unverändert

51 Neu & ungetestet Modifiziert & ungetestet Modifiziert/Neu & im Test ausgeführt Unverändert

52

53 Produktdaten Nutzung # Tests Uptime Code Abdeckung Modell Auslastung Test Gaps Architektur Build- Skript DB Feature- Datenqualität Prozessdaten Fehler # Fehler Laufzeit Hotfixes Build Abdeckung Reviews Autorschaft Branching Backlog Regression Fix-Zeit

54

55 Produktdaten Nutzung # Tests Uptime Code Abdeckung Modell Auslastung Test Gaps Architektur Build- Skript DB Feature- Datenqualität Prozessdaten Fehler # Fehler Laufzeit Hotfixes Build Abdeckung Reviews Autorschaft Branching Backlog Regression Fix-Zeit

56 Dr. Florian Deißenböck Teamscale

Software Intelligence

Software Intelligence Software Intelligence Dr. Florian Deißenböck 27. Oktober 2016 Alle Logos sind von Wikipedia. Die Rechte daran hält die jeweilige Organisation. Continuous Quality in Software Engineering 1968 1998 2004

Mehr

Vertrauen ist gut. Dr. Florian Deißenböck. BITKOM Arbeitskreis Software Engineering. 8. Oktober 2014. Continuous Quality in Software Engineering

Vertrauen ist gut. Dr. Florian Deißenböck. BITKOM Arbeitskreis Software Engineering. 8. Oktober 2014. Continuous Quality in Software Engineering Vertrauen ist gut Dr. Florian Deißenböck BITKOM Arbeitskreis Software Engineering 8. Oktober 2014 Continuous Quality in Software Engineering Software Engineering Governance is the set of structures, processes

Mehr

Test-Gap-Analyse. Wie erkennen wir ungetestete Änderungen, bevor sie ins Release gehen? Dr. Andreas Göb XP Days Germany 2015

Test-Gap-Analyse. Wie erkennen wir ungetestete Änderungen, bevor sie ins Release gehen? Dr. Andreas Göb XP Days Germany 2015 Test-Gap-Analyse Wie erkennen wir ungetestete Änderungen, bevor sie ins Release gehen? Dr. Andreas Göb XP Days Germany 2015 Über mich Forschung Modellierung von Softwarequalität Wartbarkeit, Software-Architektur

Mehr

Haben wir das Richtige getestet? Erfahrungen mit Test-Gap-Analyse in der Praxis

Haben wir das Richtige getestet? Erfahrungen mit Test-Gap-Analyse in der Praxis Haben wir das Richtige getestet? Erfahrungen mit Test-Gap-Analyse in der Praxis Elmar Jürgens CQSE GmbH juergens@cqse.eu Dennis Pagano CQSE GmbH pagano@cqse.eu Zusammenfassung Bei langlebiger Software

Mehr

Test-Gap-Analyse. Wie erkennen wir ungetestete Änderungen, bevor sie ins Release gehen? - Erfahrungen aus drei Jahren Praxiseinsatz

Test-Gap-Analyse. Wie erkennen wir ungetestete Änderungen, bevor sie ins Release gehen? - Erfahrungen aus drei Jahren Praxiseinsatz Test-Gap-Analyse Wie erkennen wir ungetestete Änderungen, bevor sie ins Release gehen? - Erfahrungen aus drei Jahren Praxiseinsatz DWX Developer Week, 20. Juni 2016 Dr. Dennis Pagano Über Mich Forschung

Mehr

Iterativ. Inkrementell

Iterativ. Inkrementell Iterativ Inkrementell Build Release Test Qualität Architektur & Documentation Distributed Version Control Continuous Integration TDD Design Agile Architektur Dependency Feature Branches Mocks

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

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

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

Mehr

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

Gestatten: Hudson. Augmented Development. Thomas Kruse. Sun Campus Ambassador thomas.kruse@sun.com

Gestatten: Hudson. Augmented Development. Thomas Kruse. Sun Campus Ambassador thomas.kruse@sun.com Gestatten: Hudson Augmented Development Thomas Kruse Sun Campus Ambassador thomas.kruse@sun.com 1 Zum Referenten Thomas Kruse Java Entwickler seit 1998 Mitgründer der Java Usergroup Münsterland: jug-muenster.de

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

II.3.1 Rekursive Algorithmen - 1 -

II.3.1 Rekursive Algorithmen - 1 - 1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.3.1 Rekursive Algorithmen -

Mehr

GUI-Entwicklung 2: Windows Presentation Foundation

GUI-Entwicklung 2: Windows Presentation Foundation GUI-Entwicklung 2: Windows Presentation Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Sandra Müller Institut für Informatik Software & Systems Engineering Agenda 1. Die WPF 2. Einführung

Mehr

Moderne Datenbankentwicklung Tools & Konzepte

Moderne Datenbankentwicklung Tools & Konzepte Moderne Datenbankentwicklung Tools & Konzepte Implementierung Coding Style Patterns Versionierung Test Monitoring Icinga / Nagios Logs Test Framework Automatisierung Moderne Software Entwicklung Deployment

Mehr

Quantität für Qualität

Quantität für Qualität Wie das Vermessen von Software sinnvoll wird HARM GNOYKE, STEFAN ZÖRNER EMBARC Softwarearchitektur Meetup Hamburg Bytro Labs (Astraturm), 29. August 2016 0 Wie das Vermessen von Software sinnvoll wird

Mehr

Informatik ist viel mehr als Delphi-Programmierung!

Informatik ist viel mehr als Delphi-Programmierung! Gliederung 1. Objektorientierte Programmierung mit Object Pascal (5. Studienbrief, Kapitel 5) 9.4. + 16.4. 2. Software-Bausteine am Beispiel der Delphi-Komponenten (5. Studienbrief, Kapitel 5) 23.4. 3.

Mehr

Best Prac*ces for Scien*fic Compu*ng. Von Marc Grimpo

Best Prac*ces for Scien*fic Compu*ng. Von Marc Grimpo Best Prac*ces for Scien*fic Compu*ng Von Marc Grimpo 1 Zugrunde liegende Paper Best Prac*ces for Scien*fic Compu*ng, Wilson et al. A survey of the Prac*ce of Computa*onal Science, Prabhu et al. So;ware

Mehr

BSSE. Innovation & Fortschrittliche Software-Technologie Fähigkeiten & Dienstleistungen

BSSE. Innovation & Fortschrittliche Software-Technologie Fähigkeiten & Dienstleistungen BSSE Bessere + Sichere Software Effizient Erzeugen Innovation & Fortschrittliche Software-Technologie Fähigkeiten & Dienstleistungen Dr. Rainer Gerlich Auf dem Ruhbühl 181, D-88090 Immenstaad, Germany

Mehr

DevOps in der Praxis. Alexander Pacnik 24.11.2015

DevOps in der Praxis. Alexander Pacnik 24.11.2015 DevOps in der Praxis Alexander Pacnik 24.11.2015 Einführung... DevOps Versuch einer Definition Alexander Pacnik IT Engineering & Operations Project Management inovex GmbH 2 Einführung... DevOps Versuch

Mehr

The app the crashes, before the breakpoint is reached: Code to the event:

The app the crashes, before the breakpoint is reached: Code to the event: I have set a breakpoint in an asyc event-handler to ListView.ItenTapped-Event (see screenshot below): I then tap on an ListView-entry on my iphone 5 The app the crashes, before the breakpoint is reached:

Mehr

Dennis Schulte / Tobias Flohre codecentric AG. Enterprise Java Batch mit Spring

Dennis Schulte / Tobias Flohre codecentric AG. Enterprise Java Batch mit Spring Dennis Schulte / Tobias Flohre Enterprise Java Batch mit Spring Dennis Schulte Düsseldorf @denschu www.github.com/denschu blog.codecentric.de/author/dsc tel +49 (0) 1515 _ 288 2395 dennis.schulte@codecentric.de

Mehr

Oracle Business Intelligence (OBIEE) 12c Ein erster Einblick in die neue Reporting-Engine von Oracle

Oracle Business Intelligence (OBIEE) 12c Ein erster Einblick in die neue Reporting-Engine von Oracle Oracle Business Intelligence (OBIEE) 12c Ein erster Einblick in die neue Reporting-Engine von Oracle David Michel Consultant Business Intelligence, Apps Associates GmbH Apps Associates Apps Associates

Mehr

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Ich liebe Java && Ich liebe C# Rolf Borst

Ich liebe Java && Ich liebe C# Rolf Borst Ich liebe Java && Ich liebe C# Rolf Borst Java oder C#? Einführung public class Einfuehrung { private int gesamtzahl = 0; /* Ermittelt die Anzahl der geraden und durch drei teilbaren Zahlen */ public String

Mehr

Informatik B von Adrian Neumann

Informatik B von Adrian Neumann Musterlösung zum 7. Aufgabenblatt vom Montag, den 25. Mai 2009 zur Vorlesung Informatik B von Adrian Neumann 1. Java I Schreiben Sie ein Java Programm, das alle positiven ganzen Zahlen 0 < a < b < 1000

Mehr

DIGICOMP OPEN TUESDAY AKTUELLE STANDARDS UND TRENDS IN DER AGILEN SOFTWARE ENTWICKLUNG. Michael Palotas 7. April 2015 1 GRIDFUSION

DIGICOMP OPEN TUESDAY AKTUELLE STANDARDS UND TRENDS IN DER AGILEN SOFTWARE ENTWICKLUNG. Michael Palotas 7. April 2015 1 GRIDFUSION DIGICOMP OPEN TUESDAY AKTUELLE STANDARDS UND TRENDS IN DER AGILEN SOFTWARE ENTWICKLUNG Michael Palotas 7. April 2015 1 GRIDFUSION IHR REFERENT Gridfusion Software Solutions Kontakt: Michael Palotas Gerbiweg

Mehr

DevOps. Alexander Pacnik, Head of DevOps Engineering

DevOps. Alexander Pacnik, Head of DevOps Engineering DevOps Alexander Pacnik, Head of DevOps Engineering 29.09.2016 Einführung... Produktfokussierung die Entstehungsgeschichte der Veränderung Umsatz / Features Innovative Phase (technisch orientiert) Deliver

Mehr

Produktivitäsvision 2015

Produktivitäsvision 2015 Produktivitäsvision 2015 We always overestimate the change that will occur in the next two years and underestimate the change that will occur in the next ten Don t let yourself be lulled into INACTION

Mehr

Echolot Qualitätssicherung mit Sonar

Echolot Qualitätssicherung mit Sonar Echolot Qualitätssicherung mit Sonar Thomas Haug thomas.haug@mathema.de www.mathema.de Motivation Sonar Überblick Demo Fazit Motivation Sonar Überblick Demo Fazit Sometimes the developers manage to maintain

Mehr

Einführung Elementare Datenstrukturen. Der Konstruktor muß den Listenkopf head erzeugen. Der Vorgänger und Nachfolger von head ist head selbst.

Einführung Elementare Datenstrukturen. Der Konstruktor muß den Listenkopf head erzeugen. Der Vorgänger und Nachfolger von head ist head selbst. Einführung Elementare Datenstrukturen (Folie 38, Seite 23 im Skript) Der Konstruktor muß den Listenkopf head erzeugen. Der Vorgänger und Nachfolger von head ist head selbst. Einführung Elementare Datenstrukturen

Mehr

Welche Informatik-Kenntnisse bringen Sie mit?

Welche Informatik-Kenntnisse bringen Sie mit? Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt

Mehr

188.154 Einführung in die Programmierung für Wirtschaftsinformatik

188.154 Einführung in die Programmierung für Wirtschaftsinformatik Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger

Mehr

Arrays Fortgeschrittene Verwendung

Arrays Fortgeschrittene Verwendung Arrays Fortgeschrittene Verwendung Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Arrays: Wiederholung

Mehr

Praktische Übung 'JUnit-Test'

Praktische Übung 'JUnit-Test' Praktische Übung 'JUnit-Test' Starten Sie für die folgende Übung Eclipse und laden Sie das Testprojekt von folgender URL: http://pi.informatik.uni-siegen.de/berlik/swt/currency.zip Darin ist die Klasse

Mehr

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Arrays: Wiederholung Ein Array ist ein Tupel von Elementen gleichen

Mehr

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollsttukturen - 1 - 3. Anweisungen und Kontrollstrukturen

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

public class SternchenRechteckGefuellt {

public class SternchenRechteckGefuellt { Java programmieren: Musterlösungen Konsolen-Aufgaben Aufgabe 1: Gefüllte Rechtecke zeichnen Schreiben Sie ein Programm, das ein durch Sternchen gefülltes Rechteck zeichnet. Der Benutzer soll Breite und

Mehr

Sicherheitsprüfung für HP NonStop Systeme Vertraulichkeit, Integrität und Verfügbarkeit optimieren! Summary Lessons learned einer Sicherheitsprüfung im vergangenen Jahr kombiniert mit einigen neuen Ideen,

Mehr

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH Database Change Management für Continuous Delivery Diana Lander und Andreas Falk NovaTec Consulting GmbH Die Vortragenden Andreas Falk Senior Consultant NovaTec Consulting GmbH Diana Lander Consultant

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Mögliche Wege Ihrer Legacy-Applikationen in die Moderne mit Bison Technology. Diego Künzi, Produktmanager Bison Technology, Bison Schweiz AG

Mögliche Wege Ihrer Legacy-Applikationen in die Moderne mit Bison Technology. Diego Künzi, Produktmanager Bison Technology, Bison Schweiz AG Mögliche Wege Ihrer Legacy-Applikationen in die Moderne mit Bison Technology Diego Künzi, Produktmanager Bison Technology, Bison Schweiz AG Inhalt Weshalb Legacy Applikationen modernisieren? Mögliche Strategien

Mehr

SPARC LDom Performance optimieren

SPARC LDom Performance optimieren SPARC LDom Performance optimieren Marcel Hofstetter hofstetter@jomasoft.ch http://www.jomasoftmarcel.blogspot.ch Mitgründer, Geschäftsführer, Enterprise Consultant JomaSoft GmbH 1 Inhalt Wer ist JomaSoft?

Mehr

Programmierprojekt. Anne0e Bieniusa Sommersemester 2014

Programmierprojekt. Anne0e Bieniusa Sommersemester 2014 Programmierprojekt Anne0e Bieniusa Sommersemester 2014 Phasen der So;ware- Entwicklung Planungsphase DefiniConsphase Entwurfsphase ImplemenCerungsphase Testphase Wasserfall- Modell Einführungs- und Wartungsphase

Mehr

Gelebte Architektur und ALM in der Praxis

Gelebte Architektur und ALM in der Praxis Gelebte Architektur und ALM in der Praxis Agenda 9:00 Begrüßung und Einleitung, Erwartungshaltung 9:15 Build- und Dependency-Management mit dem TFS 11:00 Q&A 11:30 Anforderungen an moderne Software 12:00

Mehr

Deploy von PHP-Applikationen

Deploy von PHP-Applikationen Deploy von PHP-Applikationen Jan Burkl System Engineer Zend Technologies Wer bin ich? Jan Burkl jan.burkl@zend.com PHP Entwickler seit 2001 Projektarbeit Bei Zend seit 2006 System Engineer Zend Certified

Mehr

Moderne Datenbankentwicklung mit Hilfe von SQL Server Data Tools

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

Mehr

Die Entwicklung des Open-Source. Source-Tools. zum Datenbankabgleich von Karsten Panier. Inhalt

Die Entwicklung des Open-Source. Source-Tools. zum Datenbankabgleich von Karsten Panier. Inhalt Die Entwicklung des Open-Source Source-Tools zum Datenbankabgleich von Karsten Panier Inhalt Motivation Vorstellung StIXDB Entstehungsgeschichte Open-Source-Entwicklung StIXDB Architektur Eclipse Einfluss

Mehr

Softwarearchitektur als Mittel für Qualitätssicherung und SOA Governance

Softwarearchitektur als Mittel für Qualitätssicherung und SOA Governance Softwarearchitektur als Mittel für Qualitätssicherung und SOA Governance Mag. Georg Buchgeher +43 7236 3343 855 georg.buchgeher@scch.at www.scch.at Das SCCH ist eine Initiative der Das SCCH befindet sich

Mehr

Das generierte Data Warehouse

Das generierte Data Warehouse Das generierte Data Warehouse DOAG BI Konferenz 2012 Gregor Zeiler BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN 1 Erwartungshaltungen und Hoffnungen

Mehr

Renée Bäcker. Perl $foo Magazin

Renée Bäcker. Perl $foo Magazin Renée Bäcker Renée Bäcker Perl Renée Bäcker Perl $foo Magazin Renée Bäcker Perl $foo Magazin OTRS Renée Bäcker Perl $foo Magazin OTRS u.v.m Früher... Am Anfang steht der Kunde... dann kommt der Auftrag

Mehr

Software Engineering I

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

Mehr

- - CodE 11 CodE 0 0 0 0 0 0 0 0 2.o C 1 10.0 C 2 off 3 3.0 4 2.0 5 off 6 1 8 20.0 9 60 C 7 4.0 10 80 C 1 38 C 12 8 k 13 on 14 30.0 15 10 16 - - CodE 11 CodE 0 0 0 0 0 0 0 0 2.o C 1 10.0 C 2

Mehr

Service Virtualisierung

Service Virtualisierung Service Virtualisierung So bekommen Sie Ihre Testumgebung in den Griff! Thomas Bucsics ANECON Software Design und Beratung G.m.b.H. Alser Str. 4/Hof 1 A-1090 Wien Tel.: +43 1 409 58 90 www.anecon.com office@anecon.com

Mehr

End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner c.leithner@celix.at

End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner c.leithner@celix.at End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner c.leithner@celix.at www.celix.at September 2015 celix Solutions GmbH Spezialist für Team Collaboration und IT Prozess Management Agile

Mehr

Gliederung. Einführung Phasen Ten Essentials Werkzeugunterstützung Aktivitäten, Rollen, Artefakte Werkzeug zur patternorientierten Softwareentwicklung

Gliederung. Einführung Phasen Ten Essentials Werkzeugunterstützung Aktivitäten, Rollen, Artefakte Werkzeug zur patternorientierten Softwareentwicklung Peter Forbrig RUP 1 Gliederung Einführung Phasen Ten Essentials Werkzeugunterstützung Aktivitäten, Rollen, Artefakte Werkzeug zur patternorientierten Softwareentwicklung Peter Forbrig RUP 2 Rational Unified

Mehr

Phasen. Gliederung. Rational Unified Process

Phasen. Gliederung. Rational Unified Process Rational Unified Process Version 4.0 Version 4.1 Version 5.1 Version 5.5 Version 2000 Version 2001 1996 1997 1998 1999 2000 2001 Rational Approach Objectory Process OMT Booch SQA Test Process Requirements

Mehr

DevOps bei den ID Build-Automatisierung statt Silo-Betrieb

DevOps bei den ID Build-Automatisierung statt Silo-Betrieb DevOps bei den ID Build-Automatisierung statt Silo-Betrieb SWS Entwicklertreffen vom 1.10.2015 Benno Luthiger 1.10.2015 1 Ausgangslage Kundenwunsch: Stabiles System, das schnell reagiert ( Betrieb) Neue

Mehr

PITSS.CON Oracle Forms 11g - Lower your IT Costs

PITSS.CON Oracle Forms 11g - Lower your IT Costs PITSS.CON Oracle Forms 11g - Lower your IT Costs Die Basis für eine moderne Softwarearchitekture Andreas Gaede PITSS GmbH Agenda 09:00 Registrierung und Frühstück 09:25 Begrüßung 09:30 Executive Keynote

Mehr

07. November, Zürich-Oerlikon

07. November, Zürich-Oerlikon 07. November, Zürich-Oerlikon Build Measure Learn Agile Entwicklung mit VS und TFS Marc Müller Principal Consultant, MVP 4tecture GmbH Agenda Einführung Anforderungsmanagement Entwicklung Testing Betrieb

Mehr

Organisationskomplexität bei der Einführung von agilen Methoden

Organisationskomplexität bei der Einführung von agilen Methoden Organisationskomplexität bei der Einführung von agilen Methoden GI TAV 38 in Paderborn Dr. Andreas Wübbeke Head of Research and Development Quality Assurance Organisation Organisation Aufbauorganisation

Mehr

EIN BRANCH FÜR JEDEN KUNDEN?

EIN BRANCH FÜR JEDEN KUNDEN? EIN BRANCH FÜR JEDEN KUNDEN? WIE INDIVIDUALISIERUNG UND STANDARDISIERUNG IN EINKLANG GEBRACHT WERDEN KÖNNEN AIT GmbH & Co. KG Ihre Software effizienter entwickelt. 2 AGENDA Die Unternehmen und ihre Produkte

Mehr

Datenbank-Refactoring mit LiquiBase

Datenbank-Refactoring mit LiquiBase Datenbank-Refactoring mit LiquiBase Agile Software-Entwicklung mit RDBMS Refactoring & Change Management Benjamin Schmid Softwareentwicklung in der Praxis Hervorragende Lösungen beim Programmcode für:

Mehr

Generisch entwickelte Software-Werkzeuge anpassbar wie ein Chamäleon

Generisch entwickelte Software-Werkzeuge anpassbar wie ein Chamäleon Generisch entwickelte Software-Werkzeuge anpassbar wie ein Chamäleon Ringvorlesung Softwareentwicklung in der industriellen Praxis TU Dresden 14. Dezember 2011 Die i.s.x. Software GmbH & Co. KG Junges,

Mehr

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

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

Mehr

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

Jörg Neumann Acando GmbH

Jörg Neumann Acando GmbH Jörg Neumann Acando GmbH Jörg Neumann Principal Consultant bei der Acando GmbH MVP Windows Platform Development Beratung, Training, Coaching Buchautor, Speaker Mail: Joerg.Neumann@Acando.com Blog: www.headwriteline.blogspot.com

Mehr

Ablösung von Oracle-Datenbanken mit PostgreSQL oder MariaDB. Präsentation 23. Juni 2016

Ablösung von Oracle-Datenbanken mit PostgreSQL oder MariaDB. Präsentation 23. Juni 2016 Ablösung von Oracle-Datenbanken mit PostgreSQL oder MariaDB Präsentation 23. Juni 2016 About Adfinis SyGroup AG Unabhängiger Lösungsanbieter mit einem starken Fokus auf Open Source Software Technologien

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

Effiziente Java Programmierung

Effiziente Java Programmierung Effiziente Java Programmierung Seminar Implementierung moderner virtueller Maschinen am Beispiel von Java SS 2009 von Reinhard Klaus Losse 20. Mai 2009 Gliederung Definition Effizienz Werkzeuge zum Messen

Mehr

Data Governance Informationen kontrolliert managen

Data Governance Informationen kontrolliert managen make connections share ideas be inspired Data Governance Informationen kontrolliert managen Michael Herrmann SAS Copyright 2013, SAS Institute Inc. All rights reserved. DATA GOVERNANCE TRENDS UND TREIBER:

Mehr

JUnit. Unit testing unter Java

JUnit. Unit testing unter Java JUnit Unit testing unter Java Was ist Junit? einfaches Framework zum Schreiben von wiederholbaren Tests Besonders geeignet für unit testing Erlaubt Hierarchie von Testsuites Schreiben eines Test Case 1.

Mehr

Die Alternative zum Web-Form Modell

Die Alternative zum Web-Form Modell Marc André Zhou Solution Architect www.dev -sky.net www.just -sp.net Die Alternative zum Web-Form Modell dotnet Cologne 03.05.2013 Agenda Web Forms vs. MVC ASP.NET MVC Features Web API ODATA Eine ASP.NET

Mehr

Hadoop. Simon Prewo. Simon Prewo

Hadoop. Simon Prewo. Simon Prewo Hadoop Simon Prewo Simon Prewo 1 Warum Hadoop? SQL: DB2, Oracle Hadoop? Innerhalb der letzten zwei Jahre hat sich die Datenmenge ca. verzehnfacht Die Klassiker wie DB2, Oracle usw. sind anders konzeptioniert

Mehr

Codes und Informationsgehalt

Codes und Informationsgehalt Aufgaben 2 Codes und Informationsgehalt Auf wie viele Dezimalziffern genau können vorzeichenlose ganze Zahlen in einem binären Code der Länge 32 bit dargestellt werden? 2 Codes und Informationsgehalt Auf

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

Extreme Programming mit Rails. xpdays, 23. November 2007 Tammo Freese

Extreme Programming mit Rails. xpdays, 23. November 2007 Tammo Freese Extreme Programming mit Rails xpdays, 23. November 2007 Tammo Freese Agenda Ruby on Rails wird als agil vermarktet Aber: Was ist Ruby on Rails agil, was nicht? Konkret: Wie gut ist Ruby on Rails für XP

Mehr

Aufgabenblatt Nr. 5 Generizität und TicTacToe

Aufgabenblatt Nr. 5 Generizität und TicTacToe Aufgabenblatt Nr. 5 Generizität und TicTacToe 1 Generische Sortier-Methode 1.1 Aufgabe: Entwickeln einer generischen Sortiermethode für Objekte mit der Schnittstelle Comparable Ihnen ist aus der Vorlesung

Mehr

June 2015. Automic Hadoop Agent. Data Automation - Hadoop Integration

June 2015. Automic Hadoop Agent. Data Automation - Hadoop Integration June 2015 Automic Hadoop Agent Data Automation - Hadoop Integration + Aufbau der Hadoop Anbindung + Was ist eigentlich ist MapReduce? + Welches sind die Stärken von Hadoop + Welches sind die Schwächen

Mehr

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

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

Mehr

Inhaltsverzeichnis IBM SOFTWARE PRESS

Inhaltsverzeichnis IBM SOFTWARE PRESS Inhaltsverzeichnis Lotus quo vadis?... 15 Workplace... 19 Was ist Workplace?... 21 Microsofts neue Konkurrenz?... 23 Lotus Notes Domino... 26 Roadmap Lotus Notes Domino?... 26 Motivation... 29 1 IBM Lotus

Mehr

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung Aufgabe Editor package BA.GUI.Swing; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.logging.level; import java.util.logging.logger;

Mehr

Microsoft Dynamics CRM 2016 What s New?

Microsoft Dynamics CRM 2016 What s New? Bonn, 26.04.2016 Upgrade & Ausblick Agenda 1. Lebenslauf 2. Systemanforderungen 3. Upgrade Prozess 4. Best Practice 5. Ausblick Spring Wave Release Bonn, 26.04.2016 Lebenslauf Upgrade & Ausblick Lebenslauf

Mehr

>EasyMain Die Nutzung von Methoden, Prozessen und Standards im Rahmen eines Application Lifecycle Managements

>EasyMain Die Nutzung von Methoden, Prozessen und Standards im Rahmen eines Application Lifecycle Managements >EasyMain Die Nutzung von Methoden, Prozessen und Standards im Rahmen eines Application Lifecycle Managements 6. Januar 2014 >Agenda Motivation EasyMain Methoden, Standards und Prozesse bei EasyMain Folie

Mehr

Von PizzaCola zu SushiMate. Über Herausforderungen für Softwareentwickler/-firmen

Von PizzaCola zu SushiMate. Über Herausforderungen für Softwareentwickler/-firmen Von PizzaCola zu SushiMate Über Herausforderungen für Softwareentwickler/-firmen Früher Entwickler waren Nerds Zurückgezogen vollführten sie ihre Arbeit im stillen Kämmerlein Zu essen gab es Pizza und

Mehr

Serverprovisioning in einer dynamischen Infrastruktur Systemmanagement LinuxTag 2012

Serverprovisioning in einer dynamischen Infrastruktur Systemmanagement LinuxTag 2012 Serverprovisioning in einer dynamischen Infrastruktur Systemmanagement LinuxTag 2012 vorgestellt am 23.05.2012 Alexander Pacnik inovex GmbH Wir nutzen Technologien, um unsere Kunden glücklich zu machen.

Mehr

PLUS Architektur-Browser

PLUS Architektur-Browser Tobias Kiefer Bachelor-Arbeit Betreuer: Prof. Dr. Antonio Krüger PLUS Architektur-Browser (PAB) Bachelor-Master-Seminar, 09.01.2014 Agenda Was ist abat+? Motivation Related Work Architektur Mein Vorhaben

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden Grundlagen der Programmierung Prof. H. Mössenböck 6. Methoden Parameterlose Methoden Beispiel: Ausgabe einer Überschrift class Sample { static void printheader() { // Methodenkopf Out.println("Artikelliste");

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

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

Java. Wir verwenden oft Java für Datenstrukturen und Algorithmen. Die Vorlesung ist aber von der Programmiersprache unabhängig.

Java. Wir verwenden oft Java für Datenstrukturen und Algorithmen. Die Vorlesung ist aber von der Programmiersprache unabhängig. Komplexität von Algorithmen (Folie 34, Seite 18 im Skript) Wir verwenden oft für Datenstrukturen und Algorithmen. Die Vorlesung ist aber von der Programmiersprache unabhängig. Lernziel sind die einzelnen

Mehr

Software Maintenance - Musterlösung zum Übungsblatt 1

Software Maintenance - Musterlösung zum Übungsblatt 1 Software Maintenance - Musterlösung zum Übungsblatt 1 Beispiel 1) Kosten für 12 Monate: Kosten altes Produkt: 1000 * 12 = 12000 Kosten Neuentwicklung: 1000 Wartung des alten Produktes während der Entwicklung

Mehr

JavaScript und PHP-Merkhilfe

JavaScript und PHP-Merkhilfe JavaScript und PHP-Merkhilfe David Vajda 10. November 2016 1 JavaScript 1. Einbinden von JavaScript in das HTML-Dokument

Mehr

Entwicklungsoptimierung mit einem ALM Tool Positionierung mit Fallstudie

Entwicklungsoptimierung mit einem ALM Tool Positionierung mit Fallstudie Entwicklungsoptimierung mit einem ALM Tool Positionierung mit Fallstudie Gerald Heller Agenda Standortbestimmung ALM Typischer industrieller Setup und Probleme Vorstellung von QualityCenter als ALM tool

Mehr

Grundkurs SAP ERP. Geschäftsprozessorientierte Einführung mit durchgehendem Fallbeispiel. Kapitel 2. 2008 / 1. Auflage

Grundkurs SAP ERP. Geschäftsprozessorientierte Einführung mit durchgehendem Fallbeispiel. Kapitel 2. 2008 / 1. Auflage Grundkurs SAP ERP Geschäftsprozessorientierte Einführung mit durchgehendem Fallbeispiel 2008 / 1. Auflage Kapitel 2 Abb 2.1: Datenintegration in einem ERP-System (Quelle: IDC) ERP-Software 2005 (Markanteil

Mehr

C# im Vergleich zu Java

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

Mehr

Data. Guido Oswald Solution Architect @SAS Switzerland. make connections share ideas be inspired

Data. Guido Oswald Solution Architect @SAS Switzerland. make connections share ideas be inspired make connections share ideas be inspired Data Guido Oswald Solution Architect @SAS Switzerland BIG Data.. Wer? BIG Data.. Wer? Wikipedia sagt: Als Big Data werden besonders große Datenmengen bezeichnet,

Mehr

Software Engineering. 13. Configuration Management. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering. 13. Configuration Management. Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering 13. Configuration Management Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 13. Configuration Management 2 Übersicht Dokumentation, Installationssoftware, etc.

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr