Vorlesung Programmieren

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Programmieren"

Transkript

1 Vorlesung Programmieren 13 Testen und Assertions Prof. Dr. Ralf H. Reussner Version 1.1 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD), FAKULTÄT FÜR INFORMATIK sdq.ipd.kit.edu KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

2 Wichtige Termine Programmieren Übungsschein: Anmeldungszeitraum zwischen und Programmieren Abschlussaufgaben: Anmeldungszeitraum zwischen und Anmeldung jeweils über das Campus Management Portal : 2

3 Literaturhinweis - Weiterlesen Dietmar Ratz, Jens Scheffler, Detlef Seese und Jan Wiesenberger Grundkurs Programmieren in Java, 7. Auflage, 2014 (mit Java 8), Hansa-Verlag Kapitel 10 Exceptions and Errors Abschnitt 10.3 Assertions 3

4 Murphy s Law Everything that can go wrong, will go wrong! 4

5 Softwarefehler ( Bugs ) Mark II Aiken Relay Calculator Grace Hopper 5

6 Berühmte Software-Fehler Therac-25 Bestrahlungsgerät Fehlerhafte Dosierung ( ) Toyota Camry Ungewollte Beschleunigung ( ) Hackerangriffe / Cyberwar Angriff aus China auf Google Server (2009) Blackout Nordamerika 55 Millionen Menschen für zwei Tage ohne Strom (2003) 6

7 Was lernen wir daraus? Umfassende Fehlerbehandlung erforderlich Jede Benutzereingabe sollte überprüft werden Jeder mögliche Fehlerfall behandelt Ausgiebiges Testen unerlässlich! 7

8 Software testers always go to heaven; they ve already had their fair share of hell. [Anonymous] Aber auch: Testing can only show the presence of bugs, not their absence. [E. Dijkstra] 8

9 Software-Fehler Wann können wir sagen, dass ein Programm fehlerhaft ist? Erster Versuch einer Definition: Die Software tut nicht das, was sie soll! Besser: Abweichung von Spezifikation, Anforderungen (requirements) Def. Anforderung: Eine Anforderung ist eine Aussage über eine zu erfüllende Eigenschaft oder zu erbringende Leistung eines Programms/Systems. Mögliche Gründe für fehlerhafte Software: Programm ist fehlerhaft (Exception geworfen, fehlerhafte Ausgabe,...)...) Anforderungen unvollständig, widersprüchlich, unmöglich zu implementieren Falsche Interpretation der Anforderungen Dokumentation falsch Verhalten des Programms nicht richtig beschrieben Testen hilft, Software-Fehler zu finden! 9

10 Testen Jedes Programm muss getestet werden! Typischerweise zweistufiges Vorgehen: 1. Auswahl der Testfälle Klassifizierung der möglichen Eingabedaten Standardsituationen und Randfälle betrachten 2. Auswahl der Testdaten Repräsentative Daten zu jedem Testfall Man muss versuchen, alle Situationen abzudecken, in denen das Programm potentiell schiefgehen kann 10

11 Beispiel: Klassifikation Dreiecke Der Benutzer gibt drei ganze Zahlen ein. Diese repräsentieren Seitenlängen eines Dreiecks. Das Programm soll das Dreieck klassifizieren als gleichseitig gleichschenklig weder-noch Was sind gute Testfälle? 11

12 Testfälle Gültiges weder-noch-dreieck Gültiges gleichseitiges Dreieck Gültiges gleichschenkliges Dreieck (plus Permutationen, z.b. 4,3,3; 3,4,3; 3,3,4) Genau eine Seite Länge Null Eine Seite negative Länge Summe zweier nichtnegativer Seiten ergibt dritte Seite Summe zweier Seiten ist kleiner als dritte Seite Alle Seiten Länge null... 12

13 Klassifikation Dreiecke: Spezifikation enum TriangleKind { Equilateral, Isosceles, Other, ; Invalid ; class Triangle { // Specification: Classify a triangle... as equilateral, isosceles, other, or invalid. static // classifytriangle TriangleKind classify(int returns a, int b, int c) { //... a) Equilateral: if If all sides (a, b, c) are equal in length and // b) Isosceles: if all two of sides a, b, are c are equal strictly in length positive. // c) b) Other: Isosceles: if If all two sides have (e.g., different a, b) are lengths equal in length (and > 0), static // TriangleKind and classify(int the triangle a, int is neither b, int c) Equilateral { nor Invalid. //... c) Other: If all sides have different lengths > 0 and the triangle // is not Invalid. // d) Invalid: If at least one side s length is <= 0, or if the largest // side s length is larger or equal to the sum of the // other sides. static TriangleKind classify(int a, int b, int c) {... Spezifikation ist Grundlage der Testfall-Erstellung 13

14 Klassifikation Dreiecke: Testfälle class TriangleTest { static void test_1() { // Test case: equilateral int a = 5, b = 5, c = 5; TriangleKind tk = Triangle.classify(a, b, c); assert tk == TriangleKind.Equilateral; static void test_2() { // Test case: isosceles int a = 3, b = 1, c = 3; TriangleKind tk = Triangle.classify(a, b, c); assert tk == TriangleKind.Isosceles;... static void test_27() { // Test case: largest side greater equals sum of other sides int a = 4, b = 4, c = 8; TriangleKind tk = Triangle.classify(a, b, c); assert tk == TriangleKind.Invalid; 14

15 Kriterien für gute Testfälle Prüfen genau eine (möglichst spezifische) Eigenschaft ab Sind möglichst kurz und prägnant Können isoliert ausgeführt werden (d.h. keine Abhängigkeiten zwischen Tests) Sind gut dokumentiert Stellen Bezug zur Spezifikation klar dar Nutzen existierende Testing-Frameworks (z.b. JUnit) Möglichst vorausschauend (bzgl. Änderungen am Programm) Folgen häufig dem Schema: 1. Initialisierung 2. Durchführung (z.b. Methodenaufruf) 3. Prüfung (z.b. mittels assert) 4. Finalisierung ( aufräumen ; nicht immer notwendig) 15

16 Was Testen ist... Dynamischer Vergleich von tatsächlichem und erwünschtem (= spezifiziertem) Verhalten Ziele: Nachweis, dass Funktionalität erfüllt ist Fehlerdetektion Unterschied psychologisch wesentlich! Testfall: Sollten Programmierer ihre eigenen Programme testen? Im allgemeinen: nein; aber manchmal aus organisatorischen oder Kostengründen erforderlich Ein Testfall besteht immer aus Eingabe und erwarteter Ausgabe (plus ggf. Ausführungsbedingungen). Für jeden Testfall sollte auch eine Begründung existieren, warum er ausgewählt wurde In Windows XP waren Testfälle die (einzige) Spezifikation! 2004: EU-Kommission verlangte, Schnittstellen offenzulegen 16

17 Failure vs. Fault Failure ( Versagen / Fehlfunktion ) System/Programm verhält sich nicht gemäß der Spezifikation/Anforderungen Manifestation zur Laufzeit Fault ( Fehler ) Inkorrekter Schritt in einem Programm Tatsächliche (oder vermutete) Ursache des Versagens Kann in einem Programm auch unentdeckt vorhanden sein Grob: Fault = Ursache Failure = Wirkung 17

18 Failure vs. Fault vs. Error Error Unterschied zwischen tatsächlichem und erwünschtem internen Programmzustand Kann, muss aber nicht zu einer Failure führen Kann zur Laufzeit repariert werden (z.b. durch Redundanz) Kann mit Assertions überprüft werden 18

19 Beispiel: Failure vs. Fault // Specification: Search for element x in array a, starting // at index p. The method returns the smallest i >= p, for which // a[i] == x. If no such i exists, -1 is returned. static static int int search(int[] search(int[] a, a, int int p, p, int int x) x) { for for (int (int i = 0; 0; i <= <= a.length; a.length; i++) i++) { if if (a[i] (a[i] == == x) x) { return return p; p; return return -1; -1; Fault 1: Should read: i = p Fault 2: Should read: return i Fault 3: Should read: i < a.length static void test_1() { // Test case: element to search for occurs multiple times int[] a = { 2, 5, 4, 3, 2, 3 ; int p = 4, x = 3; int r = search(a, p, x); assert r == 5; Failure! (r = 4) 19

20 Was Testen nicht ist Fehlerlokalisierung (fault localization) Fehler beheben Alternative Methoden Statische Codeanalyse, ob manuell oder automatisiert Mathematische Beweise Reviews, Inspections, Walkthroughs 20

21 Warum Testen so schwierig ist Was macht einen Testfall zu einem guten Testfall? Fähigkeit, Fehler zu finden (Fehler nur mit Spezifikation!) Dann aber kein guter Testfall für ein fehlerfreies Programm Fähigkeit, wahrscheinliche Fehler mit angemessenem Aufwand zu finden Kosten, Tests zu schreiben / auszuführen / auszuwerten Kosten verbleibender Fehler, je nach Schwere Testsuiten sollen aus Managementgründen so klein wie möglich (so groß wie nötig) sein und so kurze Testfälle wie möglich (so lang wie nötig) enthalten. Leichte Fault-Lokalisierung Erwartete Ausgabe ist essentiell. Also benötigen wir eine Spezifikation Möglicherweise nur keine Exception : robustness testing. Dann aber nur sehr oberflächlicher Test der Funktionalität 21

22 Testselektion Approximation guter Testfälle Zentrales Problem: Lösung: Mögliche Eingabedaten in Blöcke gruppieren, so dass (möglichst) jedes Element eines Blocks denselben Fehler provoziert Auf der Basis von Anforderungen Auf der Basis von Wissen um typische Fehler Zufällig (gleichverteilt oder gemäß Nutzerprofilen) Strukturbasiert ( jede Zeile einmal ausführen, jede Bedingung einmal zu wahr und einmal zu falsch auswerten etc.) 22

23 Wann sind wir fertig? Wenn die Zeit um ist! Nutzlos. Einfach gar nichts tun. In der Praxis Kriterium #1. Wenn keine weiteren Fehler mit existierenden Tests gefunden werden Nutzlos. Wähle irrelevante Tests Wenn ein strukturelles Kriterium erfüllt ist Etwa: Jede Zeile einmal ausgeführt Nützlich, wenn es einen Zusammenhang zwischen diesen strukturellen Kriterien und Fehlerdetektion gibt. (Dafür gibt es aber keine empirische Evidenz und gute Gründe, dass es dafür keine Evidenz gibt.) Wenn eine vorher spezifizierte Anzahl Fehler gefunden wurde Großartig. Erfordert aber gute Abschätzungen 23

24 Teststrategien Datenbasiert, auf Basis der Eingabeparameter Gruppierung von Daten, die zu vergleichbarem Verhalten führen (wie im Dreieck-Beispiel) Grenzwerte Beispiel natürliche Zahlen: -1, 0, 1, Integer.MAX_VALUE, Beispiel Liste: leere Liste, null-referenz, einelementige Liste Beispiel Array: null-referenz, Länge 0, Länge 1 Programmbasiert (z.b. Coverage Criteria) Jede Zeile (mind.) einmal ausgeführt Jede Bedingung (mind.) einmal zu wahr und zu falsch ausgewertet 24

25 f u cn rd ths, u cn gt a gd jb n sftwr tstng. 25

26 Assertions class TriangleTest { static void test_1() { // Test case: equilateral int a = 5, b = 5, c = 5; TriangleKind tk = Triangle.classify(a, b, c); assert tk == TriangleKind.Equilateral; Assertions erlauben es, angenommene erforderliche Bedingungen zur Laufzeit zu prüfen Syntax: assert Bedingung; assert Bedingung : Detaillierte Fehlermeldung ; 26 26

27 Zusicherungen Beispiel: Berechne das Skalarprodukt zweier Vektoren u und v double dotproduct(double[] u, double[] v) { assert u.length == v.length; double s = 0; for (int i = 0; i < u.length; i++) { // Vorbedingung // hier gilt immer: s = // Schleifeninvariante s += u[i] * v[i]; // hier gilt immer: s = // Nachbedingung return s; Zusicherungen: Vorbedingung: muss vor Aufruf der Methode gelten Nachbedingung: muss nach Aufruf der Methode gelten Schleifeninvariante: muss bei jeder Schleifeniteration gelten 27

28 Assertions Zusicherungen (assertions) sind ein weiteres wichtiges Hilfsmittel für die Entwicklung von Software und zur Vermeidung von Fehlern Sie werden verwendet, um Restriktionen für Parameter und globale Variablen von Methoden anzugeben Vorbedingungen (preconditions) den Effekt von Methoden formal zu beschreiben Nachbedingungen (postconditions) an zentralen Programmpunkten wichtige Eigenschaften (z.b. mögliche Werte von Variablen) explizit festzuhalten Mit Hilfe von Zusicherungen ist es möglich, Korrektheitsaussagen bzgl. eines gegebenen Programmes mathematisch zu beweisen 28

29 Zusicherungen in Java Java bietet die Möglichkeit, Zusicherungen mittels assert direkt in den Programmtext zu schreiben Vorteil: Kann zur Laufzeit von der JVM nachgeprüft werden Nachteil: Es kann nur Java-Syntax verwendet werden, um die Bedingung auszudrücken Häufig ist es einfacher, Zusicherungen in Kommentare zu schreiben Vorteil: Volle sprachliche Freiheit Nachteil: Kann nicht (oder nur eingeschränkt) automatisiert überprüft werden In jedem Fall: Assertions sind gute Dokumentation der Verantwortlichkeiten zwischen Methodennutzer und Methodenimplementierer. ( Design by contract) Assertions werden standardmäßig nicht ausgewertet und überprüft! Aktivieren beim Programmstart mit der enable-assertions -Option: java -ea MyClass 29

30 Pre- und Postconditions, Invarianten Eine Zusicherung gibt eine Eigenschaft an, die bei der Ausführung des Programms an der entsprechenden Stelle erfüllt sein muss Eine Precondition muss vor der Abarbeitung des entsprechenden Methodenrumpfs erfüllt sein Eine Postcondition muss erfüllt sein, nachdem die Methode abgearbeitet wurde Eine Klassenininvariante beschreibt den gültigen Zustand eines Objekts. Sie muss sowohl vor als auch nach jedem Methodenaufruf (Ausnahme: private Hilfsmethoden) des zugehörigen Objekts gültig sein Beispiel: int length; /* ASSERT length >= 0 */ Eine Schleifen-Invariante ist eine Zusicherung, die am Anfang und Ende eines jeden Durchlaufs der zugehörigen Schleife erfüllt sein muss 30

31 Beispiel Invarianten public class Time { int hour; int minute; // invariant: 0 <= hour && hour < 24 // invariant: 0 <= minute && minute < 60 public Time(int h, int m) { assert 0 <= h && h < 24; assert 0 <= m && m < 60; hour = h; minute = m; private void normalizetime() { if (minute >= 60) { minute -= 60; hour += 1; if (hour >= 24) { hour -= 24;... public void addtime(time t) { minute += t.minute; hour += t.hour; assert normalizetime(); 0 <= h && h < 24; assert 0 <= m h && m h < 60; 24; assert 0 <= m && m < 60;... Postcondition / Klasseninvariante kann verletzt sein! 31 31

32 assert oder if-abfrage? assert if-abfrage + Exceptions Annahme des Programmierers zur Korrektheit des Programms Auch zur Dokumentation Für nicht zur Laufzeit behandelbare Fehler Abschaltbar Beispiel: void setbalance(double b) { assert b >= 0; this.balance = b; Prüfung von Eingabedaten des Benutzers Für Sonderfälle Für von aufrufenden Funktionen behandelbare Fehler Nicht abschaltbar Beispiel: void setbalance(double b) { if (b < 0) { throw new llegalargumentexception(); this.balance = b; 32

33 Statische Analyse Wenn Auswahl der Testfälle so schwierig ist, warum nicht alle Eingaben testen? Viel zu viele! Management der Testfälle nicht mehr praktikabel Laufzeit der Testfälle zu groß Oder geht es doch? Idee: Transformiere Programm in logische Formel und versuche Einhaltung der Spezifikation zu beweisen Verschiedene Logiken: Dynamische Logik, Bit-Vektor-Logik,... Spezifikation: muss in formaler Logik vorliegen Beweisen: manuell, Rechner-unterstützt, vollautomatisch Statische Programm-Analyse 33

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

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

Java Kurs für Anfänger Einheit 5 Methoden

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

Mehr

Programmieren I. Kapitel 7. Sortieren und Suchen

Programmieren I. Kapitel 7. Sortieren und Suchen Programmieren I Kapitel 7. Sortieren und Suchen Kapitel 7: Sortieren und Suchen Ziel: Varianten der häufigsten Anwendung kennenlernen Ordnung Suchen lineares Suchen Binärsuche oder Bisektionssuche Sortieren

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

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

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

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

Whitebox-Tests: Allgemeines

Whitebox-Tests: Allgemeines -Tests: Allgemeines Andere Bezeichnungen Logic driven, Strukturelles Der Tester entwickelt Testfälle aus einer Betrachtung der Ablauflogik des Programms unter Berücksichtigung der Spezifikation Intuitiv

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

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

Qualitätsmanagement im Projekt

Qualitätsmanagement im Projekt Software-Engineering Qualitätsmanagement im Projekt Vorlesung im Wintersemester 2008/2009 Fakultät Wirtschaftsinformatik Klaus Mairon, M.Sc. Inhalte Messen und Bewerten: Metriken in der Qualitätssicherung

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

1. Teilklausur. Modul "OOPM Vorlesung/Übung" 16.12.2008. Gruppe A

1. Teilklausur. Modul OOPM Vorlesung/Übung 16.12.2008. Gruppe A Objektorientierte Programmierung und Modellierung WS 2008/2009 Institut für Informatik Prof. Dr. Ralf Lämmel Dr. Manfred Jackel 1. Teilklausur Modul "OOPM Vorlesung/Übung" 16.12.2008 Gruppe A Name Vorname

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

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

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

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Assertions (Zusicherungen)

Assertions (Zusicherungen) April 10, 2005 Oberseminar Software-Entwicklung Inhalt 1. Einführung (Motivation, Tony Hoare, Programmverifikation) 2. Design by Contract (Idee, Eiffel) 3. Praxis: Programming by Contract for Python 4.

Mehr

1 Vom Problem zum Programm

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

Mehr

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 Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

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

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

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

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person dranzuhängen, Sie sind persönlich verantwortlich für Ihren Lernerfolg. 1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich

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

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

Kapitalerhöhung - Verbuchung

Kapitalerhöhung - Verbuchung Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 27 29..24 FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Definition

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

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

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

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist Feintypisierung - Überblick Ergebnisse Ergebnisse aus aus anderen anderen Arbeitsergebnissen Arbeitsergebnissen Replikationsplan Replikationsplan

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

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

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

Mehr

Überblick. Lineares Suchen

Überblick. Lineares Suchen Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität

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

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

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)

Mehr

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung Projektmanagement Vorlesung von Thomas Patzelt 9. Vorlesung 1 Pläne Kein Plan überlebt die erste Feindberührung - Feldmarschall Helmuth von Moltke Prognosen sind schwierig, besonders wenn sie die Zukunft

Mehr

Fragebogen zur Anforderungsanalyse

Fragebogen zur Anforderungsanalyse Fragebogen zur Anforderungsanalyse Geschäftsprozess Datum Mitarbeiter www.seikumu.de Fragebogen zur Anforderungsanalyse Seite 6 Hinweise zur Durchführung der Anforderungsanalyse Bevor Sie beginnen, hier

Mehr

Nathan Burgener. Design by Contract. Modul SWE

Nathan Burgener. Design by Contract. Modul SWE NathanBurgener DesignbyContract ModulSWE NathanBurgener Inhaltsverzeichnis 1 WasistDesignbyContract...3 1.1 Überblick...3 1.2 DesignbyContractmitMethoden...4 1.3 DesignbyContractmitKlassen...5 1.4 Vererbung...6

Mehr

Programmiertechnik II

Programmiertechnik II Modultests Ziele Überprüfung der Korrektheit eines Moduls Korrektheit: Übereinstimmung mit (informaler) Spezifikation Modul: kleine testbare Einheit (Funktion, Klasse) Engl.: unit test White box testing

Mehr

Use Cases. Use Cases

Use Cases. Use Cases Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt? Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt? Behandelte Fragestellungen Was besagt eine Fehlerquote? Welche Bezugsgröße ist geeignet? Welche Fehlerquote ist gerade noch zulässig? Wie stellt

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

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

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

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Softwareentwicklung Schrittweise Verfeinerung, Programmieren üben: Tic-Tac-Toe in Raten

Softwareentwicklung Schrittweise Verfeinerung, Programmieren üben: Tic-Tac-Toe in Raten Mag. iur. Dr. techn. Michael Sonntag Softwareentwicklung Schrittweise Verfeinerung, Programmieren üben: Tic-Tac-Toe in Raten E-Mail: sonntag@fim.uni-linz.ac.at http://www.fim.uni-linz.ac.at/staff/sonntag.htm

Mehr

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Handbuch timecard Connector 1.0.0 Version: 1.0.0 REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Furtwangen, den 18.11.2011 Inhaltsverzeichnis Seite 1 Einführung... 3 2 Systemvoraussetzungen...

Mehr

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005 Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der

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

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg. Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

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

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich

Mehr

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Allgemeines: Bitte lesen Sie sich diese Anleitung zuerst einmal komplett durch. Am Besten, Sie drucken sich diese Anleitung

Mehr

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

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

Mehr

.NET Code schützen. Projekt.NET. Version 1.0

.NET Code schützen. Projekt.NET. Version 1.0 .NET Code schützen Projekt.NET Informationsmaterial zum Schützen des.net Codes Version 1.0 Autor: Status: Ablage: Empfänger: Seiten: D. Hoyer 1 / 6 Verteiler : Dokument1 Seite 1 von 1 Änderungsprotokoll

Mehr

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert: Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal

Mehr

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand: 28.05.2014

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand: 28.05.2014 robotron*e count robotron*e sales robotron*e collect Anwenderdokumentation Version: 2.0 Stand: 28.05.2014 Seite 2 von 5 Alle Rechte dieser Dokumentation unterliegen dem deutschen Urheberrecht. Die Vervielfältigung,

Mehr

Ihr Mandant möchte einen neuen Gesellschafter aufnehmen. In welcher Höhe wäre eine Vergütung inklusive Tantieme steuerrechtlich zulässig?

Ihr Mandant möchte einen neuen Gesellschafter aufnehmen. In welcher Höhe wäre eine Vergütung inklusive Tantieme steuerrechtlich zulässig? Ihr Mandant möchte einen neuen Gesellschafter aufnehmen. In welcher Höhe wäre eine Vergütung inklusive Tantieme steuerrechtlich zulässig? Oft wirft die Aufnahme neuer Gesellschafter oder auch die Einstellung

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Java Virtual Machine (JVM) Bytecode

Java Virtual Machine (JVM) Bytecode Java Virtual Machine (JVM) durch Java-Interpreter (java) realisiert abstrakte Maschine = Softwareschicht zwischen Anwendung und Betriebssystem verantwortlich für Laden von Klassen, Ausführen des Bytecodes,

Mehr

JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1

JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1 JUnit - Test Driven Development Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1 Gliederung 1.Einleitung 1.1 Geschichte 1.2 Was sind Unit-Tests? 1.3 Failures/Errors 1.4 Ziele und Nutzen

Mehr

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Klausur zur Einführung in die objektorientierte Programmierung mit Java Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung

Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Outlook Weiterleitungen & Abwesenheitsmeldungen Seite 1 von 6 Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Erstellt: Quelle: 3.12.09/MM \\rsiag-s3aad\install\vnc\email Weiterleitung

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

Auswertung des Jahresabschlusses Bilanzanalyse 2

Auswertung des Jahresabschlusses Bilanzanalyse 2 KA11 Unternehmensergebnisse aufbereiten, bewerten und nutzen Auswertung des Jahresabschlusses Bilanzanalyse 2 Kennzahlen zur Bilanzanalyse Die aufbereitete Bilanz kann mit Hilfe unterschiedlicher Kennzahlen

Mehr

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: 5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:

Mehr

Aktivierung der SeKA-Anmeldung

Aktivierung der SeKA-Anmeldung Aktivierung der SeKA-Anmeldung Bitte, benutzen Sie diese Methode nur, wenn Sie gerade kein Kennwort im SeKA-System erhalten haben. Wenn Sie die Aktivierung vorher schon geschafft, aber das Kennwort vergessen

Mehr

Testphase. Das Testen

Testphase. Das Testen Testphase VIS Projekt Freie Universität Berlin N.Ardet - 17.4.2001 Das Testen Testen ist das Ausführen eines Software- (Teil)systems in einer definierten Umgebung und das Vergleichen der erzielten mit

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung

Mehr

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit 5.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit Einführendes Beispiel ( Erhöhung der Sicherheit bei Flugreisen ) Die statistische Wahrscheinlichkeit, dass während eines Fluges ein Sprengsatz an Bord

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin

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

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

Quadratische Gleichungen

Quadratische Gleichungen Quadratische Gleichungen Aufgabe: Versuche eine Lösung zu den folgenden Zahlenrätseln zu finden:.) Verdoppelt man das Quadrat einer Zahl und addiert, so erhält man 00..) Addiert man zum Quadrat einer Zahl

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

Vorkurs Mathematik Übungen zu Polynomgleichungen

Vorkurs Mathematik Übungen zu Polynomgleichungen Vorkurs Mathematik Übungen zu en 1 Aufgaben Lineare Gleichungen Aufgabe 1.1 Ein Freund von Ihnen möchte einen neuen Mobilfunkvertrag abschließen. Es gibt zwei verschiedene Angebote: Anbieter 1: monatl.

Mehr

Also kann nur A ist roter Südler und B ist grüner Nordler gelten.

Also kann nur A ist roter Südler und B ist grüner Nordler gelten. Aufgabe 1.1: (4 Punkte) Der Planet Og wird von zwei verschiedenen Rassen bewohnt - dem grünen und dem roten Volk. Desweiteren sind die Leute, die auf der nördlichen Halbkugel geboren wurden von denen auf

Mehr

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät

Mehr

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum Taking RM Agile CLICK TO EDIT MASTER OPTION 1 Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum Click to edit Master subtitle style Christian Christophoridis Requirements Management

Mehr

Anleitung für die Umstellung auf das Sm@rt-TAN plus Verfahren mit manueller und optischer Übertragung

Anleitung für die Umstellung auf das Sm@rt-TAN plus Verfahren mit manueller und optischer Übertragung Bitte zuerst Sm@rtTAN plus über die ebanking-seite www.vr-amberg.de Konto/Depot-Login Verwaltung Sm@rtTAN-Leser anmelden Anleitung für die Umstellung auf das Sm@rt-TAN plus Verfahren mit manueller und

Mehr

Client-Server Beziehungen

Client-Server Beziehungen Ersetzbarkeit, Client-Server Beziehungen 182.132 VL Objektorientierte Programmierung Peter Puschner nach Folien von Franz Puntigam, TU Wien Überblick Ersetzbarkeit Kovarianz, Kontravarianz, Invarianz Client-Server

Mehr