TDD with Contracts. XP Days Germany 2013 Dr. Lars Alvincz, Hagen Buchwald. c4j.vksi.de

Größe: px
Ab Seite anzeigen:

Download "TDD with Contracts. XP Days Germany 2013 Dr. Lars Alvincz, Hagen Buchwald. c4j.vksi.de"

Transkript

1 TDD with Contracts XP Days Germany 2013 Dr. Lars Alvincz, Hagen Buchwald VKSI SIG C4J - Special Interest Group Contracts for Java des Vereins Karlsruher Software Ingenieure VKSI Verein Karlsruher Software Ingenieure

2 Prolog Es war einmal... eine düstere Zeit, in der die Software-Entwicklung noch in folgende Phasen unterteilt war: Analyse Design Implementierung Test Jede dieser Phasen dauerte Wochen, Monate oder gar Jahre. Für eine fundierte Analyse und Design wurden schreckenerregende Dinge wie Softwareverträge und Design by Contract erfunden. Diese wirklich äußerst düstere Zeit haben wir endlich überwunden. Statt wochenlanger Phasen gibt es nur noch minutenlange Aktivitäten: Test Code Refactor Wer braucht heute noch Analyse und Design? Oder gar Softwareverträge?

3 Inhaltsübersicht TDD with Contracts 1. Motivation 2. Was ist TDD? (Demo) 3. Was sind Contracts? (Demo) 4. Was ist TDD with Contracts? (Demo) 5. Zusammenfassung und Bewertung 6. Fragen & Antworten

4 Inhaltsübersicht TDD with Contracts 1. Motivation 2. Was ist TDD? (Demo) 3. Was sind Contracts? (Demo) 4. Was ist TDD with Contracts? (Demo) 5. Zusammenfassung und Bewertung 6. Fragen & Antworten

5 Motivation Softwarebugs sind teuer Je später ein Fehler gefunden wird, um so teurer die Behebung Qualität nachträglich reinzutesten ist sehr aufwändig Bei hoher Bugrate sinkt die Produktivität drastisch Code ohne Tests erschwert Weiterentwicklung deutlich führt in der Regel dazu, dass die Codequalität weiter degradiert Automatisierte Tests sind essentiell für professionelle SW-Entwicklung Kernidee dieses Vortrags: TDD ist ein Ansatz, um automatisierte Tests zu erreichen Contracts geben Sicherheit für den produktiven Einsatz

6 Inhaltsübersicht TDD with Contracts 1. Motivation 2. Was ist TDD? (Demo) 3. Was sind Contracts? (Demo) 4. Was ist TDD with Contracts? (Demo) 5. Zusammenfassung und Bewertung 6. Fragen & Antworten

7 TDD Cycle make it red: schreibe einen Test, der fehlschlägt make it green: schreibe gerade so viel Code, dass alle Tests laufen make it right: beseitige duplizierten Code und andere code smells

8 TDD-Demo Der Auftrag Die Motivation: Die MC 2 -Bank möchte die Kundengruppe der Akademiker ausbauen. Die Strategie: Das kostenlose Studentenkonto. Der Auftrag: Es muss sichergestellt sein, dass die Studenten ihr Konto auf keinen Fall überziehen können. Die Lösung: Die Klasse Account Bild-Quelle:

9 Vorteile von TDD Design: Schnittstellen aus Client-Sicht entwickelt Code ist testbar Modularität, lose Kopplung Effizienz: Fokussierung, kein unnötiger Code Weniger Debugging Dokumentation: Ausführbare Spezifikation Tests als Sicherheitsnetz, Code bleibt flexibel Voraussetzung für agile Entwicklung Sicherheitsnetz bestehend aus 7 assert-statements

10 Inhaltsübersicht TDD with Contracts 1. Motivation 2. Was ist TDD? (Demo) 3. Was sind Contracts? (Demo) 4. Was ist TDD with Contracts? (Demo) 5. Zusammenfassung und Bewertung 6. Fragen & Antworten

11 Prinzip eines Vertrags: Rechte und Pflichten. Die Rechte des Kunden sind die Pflichten des Anbieters und umgekehrt! Kunde Rechte Anbieter Rechte Pflichten Pflichten

12 Beispiel für einen Vertrag: Ein Kunde kauft ein Brötchen in einer Bäkerei. Kunde Rechte Ich erhalte ein Brötchen. Anbieter Rechte Ich erhalte 50 Cent. Pflichten Ich muss 50 Cent zahlen. Pflichten Ich muss ein Brötchen liefern

13 Es reicht aus, den Vertrag auf einer der beiden beteiligten Seiten zu definieren und seine Einhaltung zu überprüfen. Kunde Rechte Anbieter Rechte Pflichten Pflichten

14 In unserem Beispiel: Es reicht aus, den Vertrag auf Seiten des Bäckers zu definieren und seine Einhaltung zu überprüfen. Kunde Rechte Ich erhalte ein Brötchen. Anbieter Rechte Ich erhalte 50 Cent. Pflichten Ich muss 50 Cent zahlen. Pflichten Ich muss ein Brötchen liefern

15

16 Wie formuliert man einen vollständigen Vertrag? Die 6 Prinzipien der Vertragserstellung (Clean Contract) Prinzip 6 Prinzip 5 Formuliere Invarianten um die unveränderlichen Eigenschaften des Objekts zu beschreiben. Wähle diejenigen Attribute, die den Anwender unterstützen, das konzeptionelle Modell der Klasse zu verstehen. Prüfe für jede Abfrage und jedes Kommando, ob eine Vorbedingung erforderlich ist. Prinzip 4 Prinzip 3 Prinzip 2 Erstelle für jedes Kommando eine Nachbedingung, die den Wert jeder elementaren Abfrage auflistet. Der vollständige sichtbare Effekt eines jeden Kommandos ist nun bekannt. Erstelle für jede abgeleitete Abfrage eine Nachbedingung, die beschreibt, welches Ergebnis zurückgegeben wird, ausgedrückt durch eine oder mehrere elementare Abfragen. Trenne elementare Abfragen von abgeleiteten Abfragen. Abgeleitete Abfragen können durch elementare Abfragen ausgedrückt werden. Trenne Abfragen von Kommandos. Prinzip 1 Abfragen geben ein Ergebnis zurück, ändern jedoch nicht die sichtbaren Eigenschaften des Objekts. Kommandos können das Objekt verändern, geben jedoch kein Ergebnis zurück In enger Anlehnung an: R. Mitchell / J. McKim: Design by Contract, by Example

17 Contracts-Demo Der Auftrag Die Motivation: Die MC 2 -Bank möchte die Kundengruppe der Akademiker ausbauen. Die Strategie: Das kostenlose Studentenkonto. Der Auftrag: Es muss sichergestellt sein, dass die Studenten ihr Konto auf keinen Fall überziehen können. Die Lösung: Die Klasse Account Bild-Quelle:

18 Die Verträge werden sowohl im Eclipse Java Editor als auch im JavaDoc sichtbar Sicherheitsnetz bestehend aus 8 assert-statements

19

20 Vorteile von Contracts Design: Schnittstellen vollständig spezifiziert über Vor- und Nachbedingungen Anzeige der Annahmen, die bei der Implementierung dieser Schnittstelle in Form einer Klasse bzw. Nutzung dieser Klasse beachtet werden müssen Effizienz: Fokussierung auf Typ-Ebene, d.h. keine Vorwegnahme von Implementierungsdetails Vereinfachte Implementierung, da die Vorbedingungen als erfüllt angenommen werden können und damit Durchführungssicherheit herrscht Dokumentation: Zur Laufzeit überprüfbare Spezifikation Automatische Dokumentation der Vor- und Nachbedingungen (und Klassen- Invarianten) in der JavaDoc-Dokumentation Contracts als Sicherheitsnetz bei der Code-Ausführung Fehlerhafte Zustände werden bereits im Probebetrieb entdeckt

21 Inhaltsübersicht TDD with Contracts 1. Motivation 2. Was ist TDD? (Demo) 3. Was sind Contracts? (Demo) 4. Was ist TDD with Contracts? (Demo) 5. Zusammenfassung und Bewertung 6. Fragen & Antworten

22 TDD with Contracts Unit Test TDD Class Interface Unit Contract package bank; public class AccountTest { private AccountSpec account = new public static void report() { System.out.println("AssertCounter: " + public void newaccount_shouldhavebalancezero() { checkbalance(0); public void deposit_shouldupdatebalance() { account.deposit(10); checkbalance(10); public void repeateddeposit_shouldupdatebalance() { account.deposit(10); account.deposit(30); public void depositandwithdraw_shouldupdatebalance() { account.deposit(15); account.withdraw(5); checkbalance(10); package bank; public class Account implements AccountSpec { private int public int getbalance() { return public void deposit(int amount) { balance += public void withdraw(int amount) { balance -= amount; package bank; import de.vksi.c4j.contractreference; import public interface AccountSpec { void deposit(int amount); void withdraw(int int getbalance(); package bank; Pre-Condition public class AccountSpecContract implements AccountSpec public void classinvariant() { assert target.getbalance() >= 0 : "balance >= Post-Condition public void deposit(int amount) { if (precondition()) { assert amount > 0 : "amount > 0"; if (postcondition()) Pre-Condition { assert target.getbalance() == old(target.getbalance()) + Post-Condition public void withdraw(int amount) { if (precondition()) { assert amount > 0 : "amount > 0"; assert target.getbalance() >= amount : "balance >= amount"; Pre-Condition if (postcondition()) { assert target.getbalance() == old(target.getbalance()) - amount; public int getbalance() { return = AssertionError.class) public void depositnegativeamount_shouldfail() { = AssertionError.class) public void withdrawnegativeamount_shouldfail() { account.withdraw(-5); = AssertionError.class) public void withdrawamountgreaterthanbalance_shouldfail() { account.deposit(10); Tests account.withdraw(20); private void checkbalance(int expectedamount) { AssertCounter.increment(); assertequals(expectedamount, account.getbalance());

23 TDD with Contracts - Demo Der Auftrag Die Motivation: Die MC 2 -Bank möchte die Kundengruppe der Akademiker ausbauen. Die Strategie: Das kostenlose Studentenkonto. Der Auftrag: Es muss sichergestellt sein, dass die Studenten ihr Konto auf keinen Fall überziehen können. Die Lösung: Die Klasse Account Bild-Quelle:

24 Inhaltsübersicht TDD with Contracts 1. Motivation 2. Was ist TDD? (Demo) 3. Was sind Contracts? (Demo) 4. Was ist TDD with Contracts? (Demo) 5. Zusammenfassung und Bewertung 6. Fragen & Antworten

25 TDD with Contracts Unit Test TDD Class Interface Unit Contract Pre-Condition Post-Condition positive Tests Pre-Condition Post-Condition Pre-Condition Post-Condition negative Tests Klassen-Ebene (Implementierung) Typen-Ebene (Abstrakter Datentyp)

26 TDD with Contracts Beschreibung des Vorgehens TDD-Zyklus (Arbeiten auf der Klassen-Ebene) 1. Erstelle einen positiven Test für die Zielklasse. 2. Der Test scheitert. 3. Überarbeite die Zielklasse so, dass der neue Test grün wird. 4. Führe ein Refactoring (Clean Code) auf der Zielklasse und der Testklasse aus. 5. Wenn es weitere, redundanzfreie postive Tests gibt: Gehe zurück zu Schritt 1. Vorbereiten des DbC-Zyklus 6. Extrahiere das Interface aus der Zielklasse und passe die Zielklasse so an, dass sie dieses Interface implementiert. 7. Erstelle eine Vertragsklasse für das Ziel-Interface. DbC-Zyklus (Arbeiten auf der Typen-Ebene) 8. Erstelle einen negativen Test für die Zielklasse. 9. Der Test scheitert. 10. Überarbeite die Pre-Conditions der Vertragsklasse des Ziel-Interfaces so, dass der neue Test grün wird. 11. Führe ein Refactoring (Clean Code) auf der Vertragsklasse und der Testklasse aus. 12. Wenn es weitere, redundanzfreie negative Tests gibt: Gehe zurück zu Schritt 8. Abschließen des DbC-Zyklus 13. Führe ein abschließendes Refactoring (Clean Contract) auf der Vertragsklasse aus, insbesondere: Clean Contract Prinzip 4: Erstelle als Verallgemeinerung der Aussagen der positiven Tests die Beschreibung der Veränderung des sichtbaren Zustands jeder Methode des Ziel-Interfaces in Form von Post-Conditions, in der über jede elementare Abfrage des Ziel- Interfaces via assert-statement eine Aussage getroffen wird. Clean Contract Prinzip 6: Vermeide Redundanz durch Klassen-Invarianten

27 Vorteile von TDD with Contracts Design: Schnittstellen aus Client-Sicht entwickelt und vollständig spezifziert Code ist mit einem feinmaschigen Sicherheitsnetz aus Unit Tests und Unit Contracts testbar Modularität, lose Kopplung Effizienz: Fokussierung durch Abstraktion und explizite Annahmen, kein unnötiger Code Effizientes Debugging, da Fehler an der Quelle erkannt werden Dokumentation: Zur Laufzeit überprüfbare Spezifikation (Verträge als Teil des Produktivcodes) Automatische Dokumentation der Vor- und Nachbedingungen (und Klassen- Invarianten) in der JavaDoc-Dokumentation Unit Tests und Unit Contracts als äußerst feinmaschiges Sicherheitsnetz Fehlerhafte Zustände werden bereits beim automatisierten Testen entdeckt

28 Vergleich von TDD, DbC und TDD with Contracts am Beispiel der Klasse Account TDD DbC TDD with Contracts Sicherheitsnetz bestehend aus 7 assert-statements Sicherheitsnetz bestehend aus 8 assert-statements Sicherheitsnetz bestehend aus 34 assert-statements Unit Tests und Unit Contracts als äußerst feinmaschiges Sicherheitsnetz Fehlerhafte Zustände werden bereits beim automatisierten Testen entdeckt

29 What is the effect of contracts in software development? Example: Implementing the equals()method in Java

30 Applying the equals-contract to Eclipse Source Code and launching Eclipse reveals Problems with equals: 13:17:04,093 ERROR [main] de.vksi.c4j.internal.runtime.contracterrorhandler: Contract Violation in post-condition. java.lang.assertionerror: is consistent with hashcode (post-condition) at de.andrena.c4j.object.objectspeccontract.assertthat(objectspeccontract.java:65) at de.andrena.c4j.object.objectspeccontract.equalspostconditionnonnull(objectspeccontract.java:59) at de.andrena.c4j.object.objectspeccontract.equals(objectspeccontract.java:46) at org.eclipse.jface.viewers.structuredselection.equals(structuredselection.java:149) Root cause: equals has been overridden without overriding hashcode 13:17:31,747 ERROR [org.eclipse.jdt.internal.ui.text.javareconciler] de.vksi.c4j.internal.runtime.contracterrorhandler: Contract Violation in post-condition. java.lang.assertionerror: is symmetric (post-condition) at de.andrena.c4j.object.objectspeccontract.assertthat(objectspeccontract.java:65) at de.andrena.c4j.object.objectspeccontract.equalspostconditionnonnull(objectspeccontract.java:54) at de.andrena.c4j.object.objectspeccontract.equals(objectspeccontract.java:46) at org.eclipse.jdt.internal.launching.jrecontainer$ruleentry.equals(jrecontainer.java:176) Root cause: A container object may be equal to an array (by comparing its content entry per entry), but an array is not equal to a container object (only to an array)

31 Inhaltsübersicht TDD with Contracts 1. Motivation 2. Was ist TDD? (Demo) 3. Was sind Contracts? (Demo) 4. Was ist TDD with Contracts? (Demo) 5. Zusammenfassung und Bewertung 6. Fragen & Antworten

32 Epilog Es war einmal... eine düstere Zeit, in der die Software-Entwicklung noch in folgende Phasen unterteilt war: Analyse Design Implementierung Test Jede dieser Phasen dauerte Wochen, Monate oder gar Jahre. TDD ermöglicht es, bislang Für eine fundierte Analyse und Design wurden schreckenerregende Dinge implizite Annahmen über wie Softwareverträge und Design by Contract erfunden. Vorab einen Test aus die Nutzung einer Klasse Diese wirklich äußerst düstere Zeit haben wir endlich überwunden. Kundenperspektive zu aus Kundensicht zu Statt wochenlanger schreiben Phasen ist ein gibt eleganter es nur noch minutenlange erkennen und Aktivitäten: mit Hilfe von Test Code und hoch-effektiver Weg für Analyse und Design. Contracts explizit zu formulieren. Refactor Wer braucht heute noch Analyse und Design? Oder gar Softwareverträge?

33 TDD with Contracts Fragen & Antworten Unit Test TDD Class Interface Unit Contract Pre-Condition Post-Condition positive Tests Pre-Condition Post-Condition Pre-Condition Post-Condition negative Tests Klassen-Ebene (Implementierung) Typen-Ebene (Abstrakter Datentyp)

34 TDD with Contracts XP Days Germany 2013 Dr. Lars Alvincz, Hagen Buchwald VKSI SIG C4J - Special Interest Group Contracts for Java des Vereins Karlsruher Software Ingenieure VKSI Verein Karlsruher Software Ingenieure

35 Einsatz von Softwareverträgen seit 2006 bei bwin in Stockholm. Lessons Learned 1. Pareto-Prinzip: 20% der Klassen stellen 80% der genutzten Funktionalität zur Verfügung. Es reicht aus, diese Kernklassen mit Softwareverträgen zu schützen. 2. Falsche Annahmen als Hauptfehlerquelle: 80% der bei bwin gefundenen Fehler waren auf Verletzungen von Vorbedingungen (und Klasseninvarianten) zurückzuführen. Der Grund waren falsche bzw. fehlende Annahmen darüber, wie eine Klasse genutzt werden sollte. 3. Autorenschaft schützt nicht vor falschen Annahmen: Falsche Annahmen unterliefen auch den Autoren der Klassen. Nach nur wenigen Wochen Arbeit an anderen Modulen hatten sie die Annahmen vergessen, unter denen sie die Klassen erstellt hatten. 4. Testing by Contract: Die Kombination von Softwareverträgen mit PokerBots virtuellen Spielern, die über Nacht die aktuelle Version der PokerEngine nutzten erwies sich als äußerst wirkungsvolles Instrument, um subtile Fehler aufzuspüren (Boundary Conditions, Edge Conditions, Corner Conditions). 5. Macht der Gewohnheit: Trotz dieser Erfolge blieb die Nutzung von Software-verträgen auf das PokerEngine-Team beschränkt. Andere Teams zogen nicht nach Quelle: Interview mit Jonas Bergström, Sept. 2012, Stockholm

Typen in Java mit Interfaces und Unit Contracts - ein SOLIDer Ansatz

Typen in Java mit Interfaces und Unit Contracts - ein SOLIDer Ansatz Typen in Java mit Interfaces und Unit Contracts - ein SOLIDer Ansatz Clean Code Days 2017 Hagen Buchwald, Lars Alvincz andrena objects VKSI SIG C4J - Special Interest Group Contracts for Java des Vereins

Mehr

TDD with Contracts. Karlsruher Entwicklertag 2014 Hagen Buchwald, andrena objects Prof. R. Küstermann, DHBW Karlsruhe. c4j.vksi.de

TDD with Contracts. Karlsruher Entwicklertag 2014 Hagen Buchwald, andrena objects Prof. R. Küstermann, DHBW Karlsruhe. c4j.vksi.de TDD with Contracts Karlsruher Entwicklertag 2014 Hagen Buchwald, andrena objects Prof. R. Küstermann, DHBW Karlsruhe VKSI SIG C4J - Special Interest Group Contracts for Java des Vereins Karlsruher Software

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

TDD with Contracts. XP Days Germany 2014, Hamburg Hagen Buchwald, andrena objects Prof. R. Küstermann, DHBW Karlsruhe. c4j.vksi.de

TDD with Contracts. XP Days Germany 2014, Hamburg Hagen Buchwald, andrena objects Prof. R. Küstermann, DHBW Karlsruhe. c4j.vksi.de TDD with Contracts XP Days Germany 2014, Hamburg Hagen Buchwald, andrena objects Prof. R. Küstermann, DHBW Karlsruhe VKSI SIG C4J - Special Interest Group Contracts for Java des Vereins Karlsruher Software

Mehr

TDD with Contracts ein SOLIDer Ansatz

TDD with Contracts ein SOLIDer Ansatz TDD with Contracts ein SOLIDer Ansatz Scrum Day 2015 Hagen Buchwald, Sheip Dargutev, Stefan Pölz VKSI SIG C4J - Special Interest Group Contracts for Java des Vereins Karlsruher Software Ingenieure VKSI

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

Design by Contract with JML

Design by Contract with JML Thema: Design by Contract with JML Proseminar: Assertions Verfasser: Literatur: Betreuer: Natalya Moriz Gary T.Leavens and Yoonsik Cheon: Design by Contract with JML Prof. Dr. Heike Wehrheim 1 Inhalt DBC

Mehr

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Softwareentwicklungsprozess im Praktikum. 23. April 2015 Softwareentwicklungsprozess im Praktikum 23. April 2015 Agile Softwareentwicklung Eine agile Methodik stellt die beteiligten Menschen in den Mittelpunkt und versucht die Kommunikation und Zusammenarbeit

Mehr

2015-06-11 Tagesprogramm

2015-06-11 Tagesprogramm 1 2015-06-11 Tagesprogramm Design-by-Contract 2 Vertragspartner Anbieter (Server) bietet Leistungen (Services) an Kunde (Client) nimmt von Anbietern angebotene Leistungen in Anspruch Details der Inanspruchnahme

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

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

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5

Mehr

Fortgeschrittenes Programmieren mit Java. Test Driven Development

Fortgeschrittenes Programmieren mit Java. Test Driven Development Fortgeschrittenes Programmieren mit Java Test Driven Development Test getriebene Programmierung Benedikt Boeck Hochschule für Angewandte Wissenschaften Hamburg 6. November 2009 B. Boeck (HAW Hamburg) Test

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

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

Prof. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)

Prof. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen

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

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

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

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

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

Mediumwechsel - VR-NetWorld Software

Mediumwechsel - VR-NetWorld Software Mediumwechsel - VR-NetWorld Software Die personalisierte VR-NetWorld-Card wird mit einem festen Laufzeitende ausgeliefert. Am Ende der Laufzeit müssen Sie die bestehende VR-NetWorld-Card gegen eine neue

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Modulare Programmierung

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Modulare Programmierung Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Modulare Programmierung Test Driven Development Refactoring Modular programmierung der

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08 Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer

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

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Some Software Engineering Principles

Some Software Engineering Principles David L. Parnas: Some Software Engineering Principles Marco Oppel 30.06.2004 Seminar Software-Architektur Institut für Informatik Humboldt Universität zu Berlin 1 Problemstellung Software Engineering Multi-Personen

Mehr

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und

Mehr

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient. Beschreibung der Focus Methode Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient. 1. F = Failure / Finding An dieser Stelle wird der

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

Kurzleitfaden für Schüler

Kurzleitfaden für Schüler Wie melde ich mich in Schüler Online an? Geben Sie folgenden Link ein: www.schueleranmeldung.de Sie erhalten folgende Anmeldemaske: Mustermann Frank 31.05.1994 Nimmt Ihre Schule nicht an Schüler Online

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

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,

Mehr

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«... Drucken - Druckformat Frage Wie passt man Bilder beim Drucken an bestimmte Papierformate an? Antwort Das Drucken von Bildern ist mit der Druckfunktion von Capture NX sehr einfach. Hier erklären wir, wie

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Probeklausur Softwareengineering SS 15

Probeklausur Softwareengineering SS 15 Probeklausur Softwareengineering SS 15 Hinweis: Die Bearbeitungsdauer entspricht dem Punktewert. Aufgabe 1 (10 min) Beschreiben Sie das Vorgehensmodell Test-Driven-Development (TDD) a) Erläutern Sie das

Mehr

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation Einführung Mit welchen Erwartungen gehen Jugendliche eigentlich in ihre Ausbildung? Wir haben zu dieser Frage einmal die Meinungen von Auszubildenden

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

SWE5 Übungen zu Software-Engineering

SWE5 Übungen zu Software-Engineering 1 Übungen zu Software-Engineering 1) Klassen und Objekte 2) Telefonanlage 3) Objekt- und Klassendiagramme 4) Assoziationen 5) Telefonanlage (Erweiterung) 6) Fahrzeuge 7) Familien 2 Aufgabe 1: Klassen und

Mehr

Installationsbeschreibung Import / ATLAS / PV Zollsystem für die EDV-Abteilung

Installationsbeschreibung Import / ATLAS / PV Zollsystem für die EDV-Abteilung Seite 1/11 Installationsbeschreibung Import / ATLAS / PV Zollsystem für die EDV-Abteilung 1. WICHTIGE HINWEISE Anbei erhalten Sie das Import /PV ATLAS NCTS Update Version V8.4.1 Build: 404, welches Sie

Mehr

Assoziation und Aggregation

Assoziation und Aggregation Assoziation und Aggregation Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03 2 Ziele Verstehen der Begriffe Assoziation und Aggregation Implementierung von Assoziationen in Java schreiben

Mehr

Studie über die Bewertung von Wissen in kleinen und mittleren Unternehmen in Schleswig-Holstein

Studie über die Bewertung von Wissen in kleinen und mittleren Unternehmen in Schleswig-Holstein Studie über die Bewertung von Wissen in kleinen und mittleren Unternehmen in Schleswig-Holstein Sehr geehrte Damen und Herren, in der heutigen Wissensgesellschaft sind die zentralen Ressourcen erfolgreicher

Mehr

GS-Programme 2015 Allgemeines Zentralupdate

GS-Programme 2015 Allgemeines Zentralupdate GS-Programme 2015 Allgemeines Zentralupdate Impressum Business Software GmbH Primoschgasse 3 9020 Klagenfurt Copyright 2014 Business Software GmbH Die Inhalte und Themen in dieser Unterlage wurden mit

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG

DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG von Urs Schaffer Copyright by Urs Schaffer Schaffer Consulting GmbH Basel www.schaffer-consulting.ch Info@schaffer-consulting.ch Haben Sie gewusst dass... >

Mehr

1. Einführung. 2. Weitere Konten anlegen

1. Einführung. 2. Weitere Konten anlegen 1. Einführung In orgamax stehen Ihnen die gängigsten Konten des Kontenrahmens SKR03 und SKR04 zur Verfügung. Damit sind im Normalfall alle Konten abgedeckt, die Sie zur Verbuchung benötigen. Eine ausführliche

Mehr

SMART Newsletter Education Solutions April 2015

SMART Newsletter Education Solutions April 2015 SMART Education Newsletter April 2015 SMART Newsletter Education Solutions April 2015 Herzlich Willkommen zur aktuellen Ausgabe des Westcon & SMART Newsletters jeden Monat stellen wir Ihnen die neuesten

Mehr

Zur Teilnahme am Webinar bitten wir Sie, sich auf der Lernplattform der Firma edudip zu registrieren.

Zur Teilnahme am Webinar bitten wir Sie, sich auf der Lernplattform der Firma edudip zu registrieren. Informationen zur Anmeldung auf der Lernplattform der Firma edudip Zur Teilnahme am Webinar bitten wir Sie, sich auf der Lernplattform der Firma edudip zu registrieren. Was ist ein Webinar? Ein Webinar

Mehr

QuickStart. «/personenspezifische Fragenanzeige» Kurzanleitung

QuickStart. «/personenspezifische Fragenanzeige» Kurzanleitung QuickStart «/personenspezifische Fragenanzeige» Kurzanleitung Personenspezifische Fragenanzeige Ihr Fragebogen enthält Fragen, die nicht für alle Teilnehmenden bestimmt sind und Sie wissen im Voraus, wer

Mehr

Visual Basic Express erstes Projekt anlegen

Visual Basic Express erstes Projekt anlegen Inhalt Dokument Beschreibung... 1 Erstes Projekt anlegen... 1 Verweise hinzufügen... 2 Imports setzen... 5 Public Class vorbereiten... 6 Mehrere Tools programmieren... 7 Dokument Beschreibung Nach der

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Vorgehensweise bei der Installation Bob50SQL für einen unabhängigen PC.

Vorgehensweise bei der Installation Bob50SQL für einen unabhängigen PC. Vorgehensweise bei der Installation Bob50SQL für einen unabhängigen PC. Wichtiger Hinweis Diese Installation ist für einen unabhängigen PC (Bob50 ist auf einen einzigen PC installiert ohne auf irgendein

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

Erfahrungen mit Hartz IV- Empfängern

Erfahrungen mit Hartz IV- Empfängern Erfahrungen mit Hartz IV- Empfängern Ausgewählte Ergebnisse einer Befragung von Unternehmen aus den Branchen Gastronomie, Pflege und Handwerk Pressegespräch der Bundesagentur für Arbeit am 12. November

Mehr

Installation OMNIKEY 3121 USB

Installation OMNIKEY 3121 USB Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

Reporting Services und SharePoint 2010 Teil 1

Reporting Services und SharePoint 2010 Teil 1 Reporting Services und SharePoint 2010 Teil 1 Abstract Bei der Verwendung der Reporting Services in Zusammenhang mit SharePoint 2010 stellt sich immer wieder die Frage bei der Installation: Wo und Wie?

Mehr

Sind Sie reif fürs ASSESSEMENT CENTER?

Sind Sie reif fürs ASSESSEMENT CENTER? Ihr Name: Datum: ALLGEMEINES WISSEN 1. Im Assessment Center sind folgende Eigenschaften wichtig: a. Durchsetzungskraft b. Mein IQ c. Professionelle Argumentation, sicheres Auftreten 2. Mein Wissen wird

Mehr

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit politische Lage verlassen sich auf Familie persönliche, finanzielle Lage meinen, sich Vorsorge leisten zu können meinen, sie seien zu alt nicht mit

Mehr

Neuer Releasestand Finanzbuchhaltung DAM-EDV E.1.22. Inhaltsverzeichnis. 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC...

Neuer Releasestand Finanzbuchhaltung DAM-EDV E.1.22. Inhaltsverzeichnis. 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC... Neuer Releasestand Finanzbuchhaltung DAM-EDV E.1.22 Inhaltsverzeichnis 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC... 2 1a. Programm 257: Auflösen Vorschlag Telebanking... 2 1b. Programm 254:

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

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

Die Rückgabe kann über folgende, von uns getestete Programme / Apps vorgenommen werden: Adobe Digital Editions Sony Reader for PC Bluefire Reader

Die Rückgabe kann über folgende, von uns getestete Programme / Apps vorgenommen werden: Adobe Digital Editions Sony Reader for PC Bluefire Reader So funktioniert die VORZEITIGE RÜCKGABE Eine vorzeitige Rückgabe von Titeln aus der Onleihe ist für alle ebooks möglich. Einzige Ausnahme ist das Format PDF - ausschließlich für PC/Laptop - Adobe Reader.

Mehr

Unit Testing mit JUnit. Dr. Andreas Schroeder

Unit Testing mit JUnit. Dr. Andreas Schroeder Unit Testing mit JUnit Dr. Andreas Schroeder Überblick Was dieses Video behandelt Warum Testen? Was sind Unit Tests? Der Teufelskreis des Nicht-Testens JUnit Unit Test Vorteile Test-Inspiration Wann aufhören?

Mehr

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden Moderne Apps für Smartphones und Tablets lassen sich ohne großen Aufwand innerhalb von wenigen Stunden designen Kunde Branche Zur Firma Produkte Übersicht LFoundry S.r.l Herrngasse 379-381 84028 Landshut

Mehr

Abschnitt 12: Strukturierung von Java-Programmen: Packages

Abschnitt 12: Strukturierung von Java-Programmen: Packages Abschnitt 12: Strukturierung von Java-Programmen: Packages 12. Strukturierung von Java-Programmen: Packages 12.1 Strukturierung durch Packages 12.2 Zugriffsspezifikationen 12.3 Zusammenfassung 12 Strukturierung

Mehr

Konzentration auf das. Wesentliche.

Konzentration auf das. Wesentliche. Konzentration auf das Wesentliche. Machen Sie Ihre Kanzleiarbeit effizienter. 2 Sehr geehrte Leserin, sehr geehrter Leser, die Grundlagen Ihres Erfolges als Rechtsanwalt sind Ihre Expertise und Ihre Mandantenorientierung.

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)

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

Schritte 4. Lesetexte 13. Kosten für ein Girokonto vergleichen. 1. Was passt? Ordnen Sie zu.

Schritte 4. Lesetexte 13. Kosten für ein Girokonto vergleichen. 1. Was passt? Ordnen Sie zu. Kosten für ein Girokonto vergleichen 1. Was passt? Ordnen Sie zu. a. die Buchung, -en b. die Auszahlung, -en c. der Dauerauftrag, - e d. die Überweisung, -en e. die Filiale, -n f. der Kontoauszug, - e

Mehr

Terminabgleich mit Mobiltelefonen

Terminabgleich mit Mobiltelefonen Terminabgleich mit Mobiltelefonen Sie können Termine- und Aufgaben aus unserem Kalender, sowie die Adressdaten aus dem Hauptprogramm mit Ihrem Mobiltelefon abgleichen. MS Outlook dient dabei als Schnittstelle

Mehr

BMW TREUE SERVICE. SRP MARKETING MODUL. ANLEITUNG ZUM EINSPIELEN DER LEUCHTTURMKAMPAGNEN IN DIE KSD.

BMW TREUE SERVICE. SRP MARKETING MODUL. ANLEITUNG ZUM EINSPIELEN DER LEUCHTTURMKAMPAGNEN IN DIE KSD. B6-A-0, 0.05.0 BMW TREUE SERVICE. SRP MARKETING MODUL. ANLEITUNG ZUM EINSPIELEN DER LEUCHTTURMKAMPAGNEN IN DIE KSD. Um die im SRP MM konfigurierten Marketing-Kampagnen für die Mitarbeiter im Kundenkontakt

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

Damit auch Sie den richtigen Weg nehmen können die 8 wichtigsten Punkte, die Sie bei der Beantragung Ihrer Krankenversicherung beachten sollten:

Damit auch Sie den richtigen Weg nehmen können die 8 wichtigsten Punkte, die Sie bei der Beantragung Ihrer Krankenversicherung beachten sollten: Damit auch Sie den richtigen Weg nehmen können die 8 wichtigsten Punkte, die Sie bei der Beantragung Ihrer Krankenversicherung beachten sollten: Herzlich Willkommen bei der mehr-finanz24 GmbH Mit uns haben

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Handbuch PCI Treiber-Installation

Handbuch PCI Treiber-Installation Handbuch PCI Treiber-Installation W&T Release 1.0, September 2003 09/2003 by Wiesemann & Theis GmbH Microsoft und Windows sind eingetragene Warenzeichen der Microsoft Corporation Irrtum und Änderung vorbehalten:

Mehr

Anleitung für den Euroweb-Newsletter

Anleitung für den Euroweb-Newsletter 1. Die Anmeldung Begeben Sie sich auf der Euroweb Homepage (www.euroweb.de) in den Support-Bereich und wählen dort den Punkt Newsletter aus. Im Folgenden öffnet sich in dem Browserfenster die Seite, auf

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Bedienungsanleitung für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Matthias Haasler Version 0.4 Webadministrator, email: webadmin@rundkirche.de Inhaltsverzeichnis 1 Einführung

Mehr

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005 Das Software Studio Christian Efinger mobilepoi 0.91 Demo Version Anleitung Erstellt am 21. Oktober 2005 Kontakt: Das Software Studio Christian Efinger ce@efinger-online.de Inhalt 1. Einführung... 3 2.

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Domain Registration & Transfer. Version: 1.3 Datum: 10.07.2014 Alexander Pascual

Domain Registration & Transfer. Version: 1.3 Datum: 10.07.2014 Alexander Pascual Domain Registration & Transfer Abteilung: Customer Care Center Version: 1.3 Datum: 10.07.2014 Autor: Alexander Pascual Inhaltsverzeichnis 1 Domain Registration 1.1 Domain Registration bei Green.ch 1.2

Mehr

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007 Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Mehr

SCHULUNG MIT SYSTEM: E-LEARNING VON RAUM21

SCHULUNG MIT SYSTEM: E-LEARNING VON RAUM21 SCHULUNG MIT SYSTEM: E-LEARNING VON RAUM21 - Schulungskonzept - Moodle Das E-Learning System - Die E-Learning-Plattform von raum21 - Ansprechpartner D A S S C H U L U N G S K O N Z E P T V O N R A U M

Mehr

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen. Wir wollen mit Ihnen Ihren Auftritt gestalten Steil-Vorlage ist ein österreichisches Start-up mit mehr als zehn Jahren Erfahrung in IT und Kommunikation. Unser Ziel ist, dass jede einzelne Mitarbeiterin

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

Anmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv)

Anmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv) Anmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv) Über den Link https://www.edudip.com/academy/dbv erreichen Sie unsere Einstiegsseite: Hier finden Sie die Ankündigung unseres

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

Quickstep Server Update

Quickstep Server Update Quickstep Server Update Übersicht Was wird aktualisiert Update einspielen intersales stellt das Quickstep Entwicklungs- und Ablaufsystem auf eine aktuelle Version um. Hierfür ist es erforderlich, Ihre

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Windows XP Jugendschutz einrichten. Monika Pross Molberger PC-Kurse

Windows XP Jugendschutz einrichten. Monika Pross Molberger PC-Kurse Windows XP Jugendschutz einrichten Monika Pross Molberger PC-Kurse Um ein Benutzerkonto mit Jugendschutzeinstellungen zu verwenden, braucht man ein Eltern- Konto (Administrator) und eine Kinderkonto (Standard).

Mehr

Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich?

Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich? Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich? Was verkaufen wir eigentlich? Provokativ gefragt! Ein Hotel Marketing Konzept Was ist das? Keine Webseite, kein SEO, kein Paket,. Was verkaufen

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Arbeitshilfe "Tipps für Gespräche mit Vorgesetzten und KollegInnen" Was gilt für mich?

Arbeitshilfe Tipps für Gespräche mit Vorgesetzten und KollegInnen Was gilt für mich? Arbeitshilfe "Tipps für Gespräche mit Vorgesetzten und KollegInnen" Mit dieser Arbeitshilfe können Sie Gespäche über Veränderungen an Ihrem Arbeitsplatz wirkungsvoll vorbereiten. Tipps Bereiten Sie sich

Mehr