> Datenstrukturen in Java (Teil 3)

Größe: px
Ab Seite anzeigen:

Download "> Datenstrukturen in Java (Teil 3)"

Transkript

1 Datenstrukturen > Datenstrukturen in (Teil 3) Mark Egloff

2 Lernziel Heute Abend > Sie lernen noch eine zusätzliche Datenstrukturen und Ihre Bedeutung kennen Bäume > Sie wissen die Vor und Nachteile dieser Datenstruktur und wann diese eingesetzt werden > Sie können eigene Bäume erstellen, sowie XML Strukturen lesen und erzeugen Mark Egloff

3 Datenstrukturen in (Teil 3) Übersicht Datenstrukturen > Arrays Mehrdimensionale Felder um Werte oder Objekte in einer festen Reihenfolge aufzunehmen. Die maximale Grösse ist festgelegt > Liste Die Liste ist eine Datenstruktur zur dynamischen Speicherung von beliebig vielen Objekten. Objekte werden dabei einer Reihe nach abgelegt > Maps (Hashtabellen) Maps sind Indexstrukturen (oder Assoziativspeicher), die die Elemente anhand eines Indexes oder Schlüssels verwalten > Bäume Mehrere Elemente können auf andere Elmente verweisen. So entstehen Verknüpfungen und es können Bäume realisiert werden Mark Egloff

4 Datenstrukturen in (Teil 3) Bäume > Bäume sind spezielle Formen von dynamischen Datenstrukturen. Es werden von einem zentralen Element (der Wurzel) mehrere Elemente miteinander verkettet, so dass die lineare Struktur der Liste aufgebrochen wird und eine Verzweigung stattfindet. > Da Bäume zu den meist verwendeten Datenstrukturen in der Informatik gehören, gibt es viele Spezialisierungen. z.b. Binärbaum, ungerichtete Bäume, gewurzelte Bäume, Binomialbäume, balancierte Bäume, Graphen etc. > Bäume werden vorzugsweise für 1-n Beziehungen verwendet. Gerade bei solchen Strukturen wird oft auch Rekursion eingesetzt Mark Egloff

5 Datenstrukturen in (Teil 3) Bäume Beispiel eines balancierten Binärbaumes Stufe 0 Wurzel 53 z.b. Zugriff auf Index 47: nur 3 Iterationen Stufe 1 Knoten 20 right left daten 60 right right Stufe 2 11 right left daten 39 right Sortierordnung 56 right left daten 78 left left left daten daten daten daten Stufe 3 daten daten daten daten daten daten Mark Egloff

6 Datenstrukturen in (Teil 3) Bäume Vorteile / Nachteile > Ein Baum ist eine dynamische Struktur und kann daher beliebig viele Elemente aufnehmen > Dank einer sortierten Baumstruktur entsteht ein schnellerer Zugriff auf die einzelnen Elemente. Somit sind die Zugriffe wesentlich schneller als in einer lineraren Liste. Voraussetzung ist hier aber die geordnetete Struktur der Elemente > Ein wesentlicher Nachteil bildet das Einfügen der Elemente. Beim Einfügen muss der Baum neu organisert bzw. neu sortiert werden. Dies kann sehr aufwendig werden. Mark Egloff

7 Datenstrukturen in (Teil 3) Eigene Bäume erstellen > Einen eigenen Baum herzustellen ist einfach, man benötigt nur eine einzige Klasse > Die Grundlage hierzu bildet das Container oder Composite Pattern. Eine Objekt kann wiederum Objekte derselben Art beinhalten. Mit diesem Einfachem Prinzip lassen sich Gruppierungen mit Untergruppierungen und somit Bäume sehr einfach realisieren 0..* node MyNode Node node node childs node node node Mark Egloff

8 Datenstrukturen in (Teil 3) Eigene Bäume erstellen eigene Node Klasse Entwerfen Sie die Klasse Node, welche weitere aufnehmen kann import java.util.*; abstract class Node { Collection childs = new ArrayList(); public void addchild(node child) { } childs.add(child); } public Collection getchilds(){ } return this.childs; Mark Egloff

9 Datenstrukturen in (Teil 3) Eigene Bäume erstellen eigene Node Klasse > Die einzelnen Knoten werden ineinander geschachtelt mittels der addchild() Methode. So entsteht nach und nach die Baumstruktur. class Run { public static void main(string[] args) { MyNode root = new MyNode(); MyNode child1 = new MyNode(); MyNode child2 = new MyNode(); MyNode child3 = new MyNode(); child2 root child1 } } child2.addchild(child3); root.addchild(child2); root.addchild(child1); child3 Mark Egloff

10 Datenstrukturen in (Teil 3) Eigene Bäume erstellen Durch die Knoten iterieren Schreiben Sie eine Rekursive Funktion,die die Anzahl Nodes zurückliefert import java.util.*; class CountTreeNodes { public static int count(node n) { int i = 1; Iterator it = n.getchilds().iterator(); while( it.hasnext() ) { Node child = (Node) it.next(); i += count( child ); } return i; } } Mark Egloff

11 Datenstrukturen in (Teil 3) Bäume und > verwendet intern sehr oft Bäume z.b. für TreeMap. bietet hierzu einige wenige Hilfsklassen und Interfaces an an um eigene Trees zu realisieren z.b. java.swing.treenode > Diese Klassen wurden eigentlich nur für das GUI z.b. java.swing.jtree entwickelt und werden daher selten für andere Zwecke z.b. für XML verwendet. Daher werden Baumstrukturen sehr oft mit eigenen Klassen realisiert z.b. grafische Auswahlliste mit JTree Mark Egloff

12 Datenstrukturen in (Teil 3) Bäume und Interface java.swing.treenode <<interface>> TreeNode +children(): Enumeration +getallowschildren(): boolean +getchildat(int):treenode +getchildcount():int +getindex(treenode):int +getparent():treenode +isleaf():boolean > Das Interface java.swing.treenode bildet eine ideale Grundlage um Bäume zu realisieren > Es wird eine Klasse java.swing.defaultmutabletre enode angeboten, die schon dieses Interface implementiert. > Diese fertige Klasse kann zusammen mit java.swing.jtree verwendet werden um grafische Auswahllisten anzufertigen Mark Egloff

13 Datenstrukturen in (Teil 3) Bäume und Beispiel mit java.swing.jtree > Wir möchten nun eine einfache Auswahlliste für Bücher anfertigen. Die Bücher sollen in einem Baum nach Kategorie geordnet angelegt werden Klasse Book class Book { String name; public Book(String name) { this.name = name; } public String tostring() { return this.name; } } Kategorie Buch Mark Egloff

14 Datenstrukturen in (Teil 3) Bäume und Beispiel mit java.swing.jtree > Wir verwenden für den Baum die Klasse DefaultMutableTreeNode. Auch hier werden die einzelnen Knoten ineinander geschachtelt mittels der add() Methode // Wurzel des Baumes erstellen DefaultMutableTreeNode root = new DefaultMutableTreeNode("The Series"); // Erste Kategorie DefaultMutableTreeNode category = new DefaultMutableTreeNode("Beginner Level"); root.add(category); // Erstes Buch der Kategorie hinzufügen DefaultMutableTreeNode book = new DefaultMutableTreeNode( new Book("The Tutorial...")); category.add(book); Mark Egloff

15 Datenstrukturen in (Teil 3) Bäume und Beispiel mit java.swing.jtree > Die Klasse DefaultMutableTreeNode ist ein Wrapper. Jeder erstellte Knoten kapselt gerade das eigentliche Objekt welches dargestellt wird. Beim Erstellen des Knotens muss das eigentliche Objekt mitgegeben werden. Struktur und eigentliche Daten sind getrennt. // Add first book to first category DefaultMutableTreeNode book = new DefaultMutableTreeNode( new Book("The Tutorial...")); category.add(book); DefaultMutableTreeNode root The Series String DefaultMutableTreeNode category Beginner Level String DefaultMutableTreeNode book The Tutorial Book Mark Egloff

16 Datenstrukturen in (Teil 3) Bäume und Beispiel mit java.swing.jtree > Die so erstellte Baumstruktur wird nun einer GUI Komponente JTree übergeben, welche die grafische Handhabung übernimmt Import javax.swing.*; public class MyJTreeFrame extends JFrame public MyJTreeFrame() { DefaultMutableTreeNode root =...; // vorangehende Slides // create GUI Component JTree JTree tree = new JTree(root); // Add tree to Window this.add(tree); this.pack(); this.setvisible(true); } // end of constructor } // end of class Mark Egloff

17 Datenstrukturen in (Teil 3) Bäume und Beispiel mit java.swing.jtree // Class with "main" Method public class RunMyJTree { public static void main(string[] args){ MyJTreeFrame frame = new MyJTreeFrame(); } } Mark Egloff

18 Datenstrukturen > Einführung in das DOM von XML Mark Egloff

19 Datenstrukturen in (Teil 3) Was ist XML? > Die Extensible Markup Language (XML) ist ein Werkzeug zur Modellierung von Sprachen zur textbasierten Darstellung von Dokumenten. XML Ist eine Dokumentenbeschreibungssprache. > Speziell an XML ist, dass die Strukturbeschreibung und Daten in einem Dokument untergebracht werden bzw. in einer Sprache verfasst sind > Damit Computer die Bestandteile eines Dokuments Daten, Struktur und Format unterscheiden können, müssen Struktur und Format separat gekennzeichnet werden. Solche Kennzeichnungen z.b. mittels <tags>, werden im Deutschen als Markierung oder Auszeichnung bezeichnet und im Englischen als Markup. > XML ist seit 1998 ein W3C Standard. Aktuell ist v1.1 > XML Datenstrukturen sind Bäume Mark Egloff

20 Datenstrukturen in (Teil 3) Beispiel eines XML Dokumentes <?xml version="1.0" encoding="iso "?> <catalog> <cd country="usa"> <title>empire Burlesque</title> <artist>bob Dylan</artist> <price>10.90</price> </cd> <cd country="uk"> <title>hide your heart</title> <artist>bonnie Tyler</artist> <price>9.90</price> </cd> </catalog> Mark Egloff

21 Datenstrukturen in (Teil 3) Aufbau, Elemente eines XML Dokumentes Prolog Deklaration Doctype (DTD) Kommentare Processing Instructions Daten Element Attribute Text / CDATA / Entities Kommentare Element <?xml version="1.0"?> <!DOCTYPE inhalt [ <!ENTITY mfg =".."> ]> <!- comment --> <? Instr.?> <catalog> <cd country="usa"> <!-- comment --> <artist>bob</artist> <price>10.90</price> </cd> </catalog> Mark Egloff

22 Datenstrukturen in (Teil 3) Aufbau, Elemente eines XML Dokumentes Root Element Start Prolog <?xml version="1.0" encoding="iso "?> <catalog> <cd country="usa"> Attribut <title>empire Burlesque</title> Element <artist>bob Dylan</artist> <price>10.90</price> Text </cd> </catalog> Root Element End Mark Egloff

23 Datenstrukturen in (Teil 3) Aufbau, Elemente eines XML Dokumentes prolog catalog country cd cd country title artist price title artist price text text text text text text XML Daten sind als Bäume strukturiert Mark Egloff

24 Datenstrukturen in (Teil 3) Was ist DOM? > Um XML Dokumente und ihre Struktur als Objekte handzuhaben, wurde ein Document Object Model (DOM) geschaffen. Es beschreibt die Bestandteile von XML Dokumenten als Objekte > DOM ist ebenfalls vom W3C standardisiert. Jedoch gibt das W3C nur die Spezifikation und das Modell vor, die Umsetzung auf die jeweilige Technologie ist den Herstellern überlassen. Somit gibt es gleiche Produkte für dieselben Technologien. > DOM gibt es nicht nur für JAVA, DOM ist mittlerweile für jede Technologie oder Sprache verfügbar > Das DOM selber ist in mehrere Bereiche sogenannte Levels und in ihre Module eingeteilt. Noch sind nicht alle Levels in allen Technologien verfügbar. Die Hersteller lassen sich Zeit. Mark Egloff

25 Datenstrukturen in (Teil 3) Die verschiedenen DOM Levels > Level 1: Abstrakte Schnittstellenbeschreibung in OMG IDL (Object Management Group Interface Definition Language) > Level 2: Namespace Support, Operationen zum suchen und ändern. DTD Unterstützung. Import Funktionalität. > Level 3: Schema Unterstützung, Vergleichen von Dokumenten und Fragmenten. Normali-sierung von Dokumenten. Standard Prozedur von laden und speichern von Dokumenten. Mark Egloff

26 Datenstrukturen in (Teil 3) Die Module von DOM Level 1 > Core: Erstellen und verändern von Struktur und Daten > Events: Generisches Event Handling System, Keyboard, Maus, Focus Change > Views: MVC Pattern, CSS Stylesheets > Style: Objektmodel für CSS Stylesheets > HTML: Objektmodel für HTML > Traversal/Range: Navigation durch Baumstruktur, Selektion von Datenbereichen Relevant für XML ist zurzeit nur das Modul Core und Traversal/Range Mark Egloff

27 Datenstrukturen in (Teil 3) Das DOM Module: Core Comment Processig Instruction Notation NodeList DOM Implement Text Character Data parentnode childnodes Document Type implementation doctype CDATA Section Entity Node ownerdocument Element Document documentelement Entity Reference attributes Named NodeMap Attribut Document Fragment DOM ist ein hierarchisch aufgebautes Model. Die kleinste Basis- Informationseinheit bildet hier ein sogenannter Node. Mark Egloff

28 Datenstrukturen in (Teil 3) Aufbau von DOM Zentrales Designpattern Container (Composite) Container 0..* Component Mit dem Designpattern Container lassen sich beliebige Baumstrukturen abbilden. 0..* 0..* Container Extended Container1 Node Document Extended Container2 Element Extended Container3 Attribut Mark Egloff

29 Datenstrukturen in (Teil 3) Aufbau von DOM Vereinfachtes DOM Modell: document 1 0..* 1 element 1 0..* 1 0..* attribut tex t Mark Egloff

30 Datenstrukturen in (Teil 3) Übersicht wichtigster DOM Komponenten: Name Node NodeList Document Element Attribut NamedMap CharacterData Text CDATA Comment Beschreibung Grundlegender Basistyp, ist ein Container (abstract) Ansammlung von Nodes Das eigentliche Dokument, oberster Container Ein einzelnes XML Element Ein einzelnes Attribut eines XML Elementes Eine Ansammlung von Nodes mit Namen, üblicherweise verwendet für Attribute eines Elementes Grundlegender Typ für TextInhalte (abstract) Parseable TextInhalt (normaler Text mit Markup) Unparsable TextInhalt (für Sonderzeichen, binär) XML Kommentar Mark Egloff

31 Datenstrukturen in (Teil 3) Abbildung einer XML Datei in ein DOM: <?xml version="1.0"?> <catalog> <cd country="usa"> <title>empire Burlesque</title> <artist>bob Dylan</artist> <price>10.90</price> </cd> </catalog> Mark Egloff

32 Datenstrukturen in (Teil 3) Abbildung einer XML Datei in ein DOM: document catalog element cd element title artist price element element element text text text Reale Struktur DOM Struktur Mark Egloff

33 Datenstrukturen in (Teil 3) und DOM: > Die Organisation W3C definiert nur die Schnittstellen und das Objekt Model von DOM. Die Implementationen und Handhabung wird den Herstellern der einzelnen Technologien überlassen. > In wurde die DOM Standardisierung übernommen und es wurde mittlerweile als ein separates API realisiert. Es entstand das JAXP ( API for XML Processing). > Hersteller bzw. Implementationen für : > Xerces (xml.apache.org) > Crimson (ehemals SUN jetzt Apache, veraltet) > JDOM ( > DOM4J ( Mark Egloff

34 Datenstrukturen in (Teil 3) und DOM- Performance einzelner Implementation: Mark Egloff

35 Datenstrukturen in (Teil 3) und DOM- Performance einzelner Implementation: Mark Egloff

36 Datenstrukturen in (Teil 3) und DOM: > Wir programmieren nur gegen die Interfaces von W3C und JAXP und spüren nichts von der eigentlichen Implementation (z.b. ob Xerces oder Crimson). Eine sogenannte Factory liefert dann zur Laufzeit eine entsprechende Implementation anhand der Konfiguration > Standardmässig wird 1.4 mit der Crimson und seit 1.5 mit der Xerces Implementation ausgeliefert > Die DOM Core Klassen existieren als Interfaces im Package: org.w3c.dom > Um um ein neues DOM zu erstellen benötigen wir folgende Factory aus dem JAXP: javax.xml.parsers.documentbuilderfactory Mark Egloff

37 Datenstrukturen in (Teil 3) Erzeugung eines neuen DOM s: 1. DocumentBuilderFactory Implementation festlegen (optional) 2. DocumentBuilderFactory instanzieren und konfigurieren (z.b. Namespace aktivieren) 3. DocumentBuilder mittels Factory instanzieren und konfigurieren 4. Neues Document Objekt bzw. das DOM erzeugen 5. Mittels der Factory Elemente erzeugen und im neuen Document einfügen (Baumstruktur nach und nach erzeugen) Mark Egloff

38 Datenstrukturen in (Teil 3) Neues DOM erzeugen, Beispiel (1/3): import org.w3c.xml.*; import javax.xml.parsers.*; public class Run { public static void main(string[] args){ try { // Factory instanzieren 2. DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 3. // Parser bzw. DocumentFactory holen DocumentBuilder builder = factory.newdocumentbuilder(); 4. // neues Dokument, bzw. leeres DOM erzeugen Document doc = builder.newdocument(); 5. // Root Element erzeugen und dem Dokument hinzufügen Element root = doc.createelement("catalog"); doc.appendchild(root);... Mark Egloff

39 Datenstrukturen in (Teil 3) Neues DOM erzeugen, Beispiel (2/3): } // neues Element erzeugen und Eltern Element hinzufügen Element cd = doc.createelement("cd"); root.appendchild(cd); // Attribut einem Element hinzufügen cd.setattribute("country","usa"); 5. // neues Element erzeugen und Eltern Element hinzufügen Element title = doc.createelement("title"); cd.appendchild(title); // Text Node etzeugen und Eltern Element hinzufügen Element text = doc.createtext("empire Burlesque"); title.appendchild(text);... } catch(exception ex) { ex.printstacktrace(); } Mark Egloff

40 Datenstrukturen in (Teil 3) Beispiel des neu erzeugten DOM s: (3/3): <?xml version="1.0"?> <catalog> <cd country="usa"> <title>empire Burlesque</title> </cd> </catalog> document element element element text attribut Mark Egloff

41 Datenstrukturen in (Teil 3) Beispiel einfaches Auslesen einer XML Datei (1/4): <xml> Xerces? Parser DOM Objekte Output Anwendung > Ein Parser erzeugt aus dem XML Dokument das DOM. Danach werden von diesem bestimmte Daten gelesen bzw. Objekte erzeugt und abgefüllt. Diese Daten werden dann weiterverarbeitet oder ausgegeben Mark Egloff

42 Datenstrukturen in (Teil 3) Beispiel einfaches Auslesen einer XML Datei (2/4): 1. DocumentBuilderFactory Implementation festlegen (optional) 2. DocumentBuilderFactory instanzieren und konfigurieren 3. DocumentBuilder mittels Factory instanzieren und konfigurieren 4. Dateizugriff festlegen 5. Datei mit dem DocumentBuilder parsen, dies ergibt ein Document Objekt welches das DOM beinhaltet 6. Durch die Struktur traversieren und von den einzelnen Elementen die Daten auslesen Mark Egloff

43 Datenstrukturen in (Teil 3) Beispiel einfaches Auslesen einer XML Datei (3/4): import org.w3c.dom.*; import javax.xml.parsers.*; import java.io.*; public class Run { public static void main(string[] args) { try { // Factory erzeugen 2. DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 3. // Parser holen DocumentBuilder builder = factory.newdocumentbuilder(); // Dokument Parsen und DOM erzeugen File f = new File("catalog.xml"); Document doc = builder.parse(f);... Mark Egloff

44 Datenstrukturen in (Teil 3) Beispiel einfaches Auslesen einer XML Datei (4/4): // Root Element holen Element root = doc.getdocumentelement(); } 6. // erstes KindElement auslesen Element cd = (Element) root.getfirstchild(); // Attribut eines Elementes lesen String country = cd.getattribute("country"); // erstes KindElement auslesen Element title = (Element) cd.getfirstchild(); // erstes KindElement auslesen Text Node Node text = title.getfirstchild();; // Text des Text Nodes auslesen String value = text.getnodevalue();... } catch(exception ex) { ex.printstacktrace(); } Mark Egloff

45 Datenstrukturen in (Teil 3) Beispiel DOM in XML Datei serialisieren (1/5): Xerces <xml> Objekte DOM Serializer Output Anwendung > Wir erstellen anhand Objekten eine DOM Struktur und erzeugen danach eine XML Datei. Für die Erstellung der Datei verwenden wir ein spezieller Serializer Mark Egloff

46 Datenstrukturen in (Teil 3) Beispiel DOM in XML Datei serialisieren (2/5): > Unter Serializierung wird die Umwandlung von Objekten in ein schreibbares Format verstanden (z.b. Binäre oder Text-Sequenz) > DOM selber ist ein Objektmodell welches nicht direkt in eine Datei geschrieben werden kann. Hierzu muss jedes einzelne Objekt abgearbeitet und in eine XML Text Datei geschrieben bzw. serialisiert werden. catalog cd <xml> title artist price Mark Egloff

47 Datenstrukturen in (Teil 3) Beispiel DOM in XML Datei serialisieren (3/5): > Die Serialisierung ist noch nicht Teil des JAXP, deshalb müssen spezifische Produkte eingesetzt werden (nicht standardisierte API s) > Xerces bietet in seiner Distribution ein Package org.apache.xml.serialize an um DOM Strukturen zu serialisieren z.b. in XML, HTML oder Text. 1. Serializer Factory instanzieren 2. Ausgabeformatierungen festlegen 3. Serializer mittels Factory erzeugen und Formatierungen zuweisen 4. OutputStream festlegen 5. DOM serialisieren Mark Egloff

48 Datenstrukturen in (Teil 3) Beispiel DOM in XML Datei serialisieren (4/5): import java.io.*; import org.w3c.dom.*; import javax.xml.parsers.*; import org.apache.xml.serialize.*; public class Run { public static void main(string[] args) throws Exception { // zuvor erzeugtes DOM, siehe vorangehende Slides Document doc = ; // Factory erzeugen SerializerFactory factory = SerializerFactory.getSerializerFactory("xml"); // Ausgabe Formatierungen festlegen OutputFormat format = new OutputFormat(); format.setencoding("iso "); format.setindent(4); format.setindenting(true);... Mark Egloff

49 Datenstrukturen in (Teil 3) Beispiel DOM als XML serialisieren (5/5): // Serializer mittels Factory erzeugen, Formatierung zuweisen Serializer serializer = factory.makeserializer(format); // Output festlegen Datei FileOutputStream fos = new FileOutputStream("D:/catalog.xml"); serializer.setoutputbytestream(fos); // DOM in Byte Stream bzw. in Datei serailisieren serializer.asdomserializer().serialize(doc); } } Mark Egloff

50 Datenstrukturen in (Teil 3) Nachteile des JAXP DOM API (1/2): > Keine Serialisierung von DOM Daten. Muss über andere Produkte gemacht werden. (kommt aber mit DOM Level 3 Xerces bietet ein API zur Serialisierung > Zugriff auf einzelne Elemente nicht besonders Programmierer-freundlich. Suchkriterien sind nicht vorhanden z.b. suchen nach Element mit einem bestimmten Attribut-Wert. XML bietet hierzu XPath ist jedoch nicht Teil von JAXP. Muss über andere Produkte gemacht werden z.b. mit Xalan Mark Egloff

51 Datenstrukturen in (Teil 3) Nachteile des JAXP DOM API (2/2): Aufbau von komplexen Strukturen mittels DOM API kann sehr aufwendig werden und kostet erheblich Ressourcen (Speicher, Performance). Auch die Flexibilität und Lesbarkeit des Codes lässt oft zu wünschen übrig. Nur einfache Struktur erzeugen und danach mittels einer XSL Transformation in komplexe Struktur überführen. Es gibt mittlerweile Frameworks, die direkt Objekte in XML abbilden können z.b. java.sun.com/webservices/jaxb/ Mark Egloff

52 Datenstrukturen in (Teil 3) JAXP- DOM Links > DOM: > SUN DOM Tutorial: > IBM DOM Tutorial: > Xerces: > SUN JAXP Compatibility for JAVA Compatibility_150.html Mark Egloff

... MathML XHTML RDF

... MathML XHTML RDF RDF in wissenschaftlichen Bibliotheken (LQI KUXQJLQ;0/ Die extensible Markup Language [XML] ist eine Metasprache für die Definition von Markup Sprachen. Sie unterscheidet sich durch ihre Fähigkeit, Markup

Mehr

2004-2006, Rainer Schmidberger, ISTE. XML und Java. Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de

2004-2006, Rainer Schmidberger, ISTE. XML und Java. Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de XML und Java Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de Was ist XML? Müller Hans Ulmenweg 22 70565

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

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

Institut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),

Institut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x), Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode

Mehr

1. Einführung. Gliederung. Document Object Model (DOM) DOM Die Spezifikation (1) Level 2 HTML Specification. 1. Einführung. 2.

1. Einführung. Gliederung. Document Object Model (DOM) DOM Die Spezifikation (1) Level 2 HTML Specification. 1. Einführung. 2. Gliederung Document Object Model (DOM) Level 2 HTML Specification 1. Einführung Spezifikation 2. DOM Module Levels, Core, Überblick 3. DOM Intern Funktionsweise, Parser 4. DOM Level 2 HTML Eigenschaften,

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

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Berner Fachhochschule Software Schule Schweiz JDOM. http://www.jdom.org/ Beatrice Amrhein. Oktober 06

Berner Fachhochschule Software Schule Schweiz JDOM. http://www.jdom.org/ Beatrice Amrhein. Oktober 06 Berner Fachhochschule Software Schule Schweiz JDOM http://www.jdom.org/ Beatrice Amrhein Oktober 06 1 Motivation JDOM ist ein Open Source, Baumbasiertes, Java API zum Parsen, Erzeugen, Verarbeiten und

Mehr

Java Einführung Collections

Java Einführung Collections Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...

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

XML-Austauschformat für Sicherheitsdatenblätter

XML-Austauschformat für Sicherheitsdatenblätter XML-Austauschformat für Sicherheitsdatenblätter Version 2.0 / 15. Dezember 2008 www.edas.org 1 XML-Austauschformat für Sicherheitsdatenblätter Der Austausch der Sicherheitsdatenblätter erfolgt als XML-Datei.

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

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

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

WPF Steuerelemente Listbox, ComboBox, ListView,

WPF Steuerelemente Listbox, ComboBox, ListView, WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einführung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,

Mehr

1 Software Engineering 1

1 Software Engineering 1 1 Software Engineering 1 XML 1.1 XML Extensible Markup Language Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten Wird für den Datenaustausch/Speicherung benutzt

Mehr

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder holger.roeder@informatik.uni-stuttgart.de.

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder holger.roeder@informatik.uni-stuttgart.de. Java: Kapitel 9 Java und XML Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick über Kapitel 9 Einführung in XML XML-Verarbeitung in Java Document Object

Mehr

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2 Inhalt 1. Printing API 1. Übersicht 2. Vorgehen 3. Beispiel 2. Klasse PrintUtils 3. Mehrere Seiten drucken Folie 1 Lernziele Sie wissen, wie Sie Swing-Komponenten ausdrucken können Sie kennen den Aufbau

Mehr

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit XML- und Webservice- Sicherheit 2. XML 2.1 XML 1.0 und XML Schema Gliederung 1. XML 1.0 2. XML Namespaces: URI, URL und URN 3. XML Schema Literatur: A. Tanenbaum, Computer Networks. E. R. Harold and W.

Mehr

X-Technologien. XML and Friends. Jörn Clausen joern@techfak.uni-bielefeld.de. 9. Juli 2001

X-Technologien. XML and Friends. Jörn Clausen joern@techfak.uni-bielefeld.de. 9. Juli 2001 X-Technologien XML and Friends 9. Juli 2001 Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht XML SAX DOM XSL XPath XSLT XSL FO Extensible Markup Language Simple API for XML Document Object Model Extensible

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

Studentische Lösung zum Übungsblatt Nr. 7

Studentische Lösung zum Übungsblatt Nr. 7 Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int

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

Angewandte Softwareentwicklung Serialisierung

Angewandte Softwareentwicklung Serialisierung Angewandte Softwareentwicklung Serialisierung WS 2014/2015 Markus Berg Hochschule Wismar Fakultät für Ingenieurwissenschaften Bereich Elektrotechnik und Informatik markus.berg@hs-wismar.de http://mmberg.net

Mehr

Javakurs zu Informatik I. Henning Heitkötter

Javakurs zu Informatik I. Henning Heitkötter Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

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

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

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

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

Ressourcen-Beschreibung im Semantic Web

Ressourcen-Beschreibung im Semantic Web Ressourcen-Beschreibung im Semantic Web Cristina Vertan Inhaltsübersicht Wie sollen die Ressourcen für Semantic Web annotiert werden? Was ist und wie funktioniert RDF? Wie kodiert man RDF-Statements in

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:

Mehr

Design Patterns 2. Model-View-Controller in der Praxis

Design Patterns 2. Model-View-Controller in der Praxis Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden

Mehr

Ruhr.pm XML-Daten verarbeiten mit XML::LibXML Autor: EMail: Datum: http://ruhr.pm.org/

Ruhr.pm XML-Daten verarbeiten mit XML::LibXML Autor: EMail: Datum: http://ruhr.pm.org/ XML-Daten verarbeiten mit XML::LibXML Autor: EMail: Datum: Simon Wilper simon AT ruhr.pm.org http://ruhr.pm.org/ Template Version 0.1 The use of a camel image in association with Perl is a trademark of

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Factory Method (Virtual Constructor)

Factory Method (Virtual Constructor) Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte

Mehr

App Entwicklung mit dem Android SDK

App Entwicklung mit dem Android SDK App Entwicklung mit dem Android SDK Grafische Benutzeroberfläche Dominik Wagner Informatik Sommercamp 2012 23.7.2012 Kurze Übersicht Um ein Layout für eine Android-Anwendung zu definieren schreibt man

Mehr

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH MATESO GmbH Daimlerstraße 7 86368 Gersthofen www.mateso.de Dieses Dokument beschreibt die Konfiguration

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

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

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

Mehr

Institut für Programmierung und Reaktive Systeme 26. April 2013. Programmieren II. 10. Übungsblatt

Institut für Programmierung und Reaktive Systeme 26. April 2013. Programmieren II. 10. Übungsblatt Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 26. April 2013 Programmieren II 10. Übungsblatt Hinweis: Insgesamt werden in diesem Semester fünf

Mehr

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Programmieren Tutorium

Programmieren Tutorium Programmieren Tutorium Tom Schildhauer Tutorium 12 Universität Karlsruhe (TH) Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by Tom Schildhauer,

Mehr

Scala kann auch faul sein

Scala kann auch faul sein Scala kann auch faul sein Kapitel 19 des Buches 1 Faulheit Faulheit ( lazy evaluation ) ist auch in C oder Java nicht unbekannt int x=0; if(x!=0 && 10/x>3){ System.out.println("In if"); } Nutzen der Faulheit?

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

Planung für Organisation und Technik

Planung für Organisation und Technik Planung für Organisation und Technik MOA-VV Algorithmen-Beschreibung Version 0.0.2 Inhaltsverzeichnis 1. Die Vollmachtsprüfung... 3 1.1 Eingangsdaten... 3 1.2 einfache Vollmacht und Online-Vollmacht...

Mehr

Erstellen eines Wordpress-Blogs

Erstellen eines Wordpress-Blogs Erstellen eines Wordpress-Blogs Inhalt 1 Einen Wordpress-Blog erstellen... 3 2 Wordpress konfigurieren... 5 2.1 Wordpress-Anmeldung... 5 2.2 Sprache einstellen... 7 2.3 Einen neuen Artikel verfassen...

Mehr

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü. Programm Die Bedienung des Programms geht über das Hauptmenü. Datenbank Schnittstelle Die Datenbank wir über die Datenbank- Schnittstelle von Office angesprochen. Von Office 2000-2003 gab es die Datenbank

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

Dokumentenverwaltung

Dokumentenverwaltung Aktivieren der Dokumentenverwaltung Dokumentenverwaltung Die Dokumentenverwaltung ist ein Modul und wird über Ihre Lizenzdatei freigeschaltet. Ist die Dokumentenverwaltung in der Lizenzdatei nicht aktiviert,

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Fragen 2015. Arthur Zaczek. Apr 2015

Fragen 2015. Arthur Zaczek. Apr 2015 Arthur Zaczek Apr 2015 1 Ihre Fragen 2015 2 WPF 2.1 Code Behind Mit dem MVVM Pattern haben wir praktisch keinen Nutzen für das Code Behind der WPF Forms, sind diese dann eher für kleinere Applikationen

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

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

Beuth Hochschule Die erweiterbare Markierungssprache XML WS10/11

Beuth Hochschule Die erweiterbare Markierungssprache XML WS10/11 Die erweiterbare Markierungssprache XML 1. Einleitung Eine Markierungssprache (markup language) dient dazu, Textdateien mit zusätzlichen Informationen anzureichern. Die verbreitete Markierungssprache HTML

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

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) 3.7 Erstellen einer Collage Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) Dann Größe des Dokuments festlegen beispielsweise A4 (weitere

Mehr

U08 Entwurfsmuster (II)

U08 Entwurfsmuster (II) U08 Entwurfsmuster (II) Inhalt der Übung Diskussion und Implementierung von Entwurfsmustern Übungsaufgaben Aufgabe 1 (Queue) Gegeben ist das folgende Analysemodell einer Warteschlange (Queue): Eine Warteschlange

Mehr

Erster Schritt: Antrag um Passwort (s. www.ifb.co.at Rubrik -> techn. Richtlinien/Antrag für Zugangsberechtigung)

Erster Schritt: Antrag um Passwort (s. www.ifb.co.at Rubrik -> techn. Richtlinien/Antrag für Zugangsberechtigung) Benutzeranleitung Sehr geehrte Mitglieder und Experten! Diese Benutzeranleitung erklärt die Handhabung und Navigation zu den spezifischen Arbeitsgruppen unter der Rubrik Technische Richtlinien auf der

Mehr

P&P Software - Adressexport an Outlook 05/29/16 14:44:26

P&P Software - Adressexport an Outlook 05/29/16 14:44:26 Adressexport an Outlook Wozu? Aus EASY können viele Daten im Excelformat ausgegeben werden. Diese Funktion kann zum Beispiel zum Export von Lieferantenadressen an Outlook genutzt werden. Hinweis Wir können

Mehr

Übertragung von Prozessmodellen zwischen IBM Blueworks Live und nationaler Prozessbibliothek

Übertragung von Prozessmodellen zwischen IBM Blueworks Live und nationaler Prozessbibliothek Übertragung von Prozessmodellen zwischen IBM Blueworks Live und nationaler Prozessbibliothek Abstract Diese Dokumentation beschreibt, wie Prozesse zwischen IBM Blueworks Live und nationaler Prozessbibliothek

Mehr

Softwaretechnologie - Wintersemester 2012/2013 - Dr. Günter Kniesel

Softwaretechnologie - Wintersemester 2012/2013 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie - Wintersemester 2012/2013 - Dr. Günter Kniesel Übungsblatt 10 - Lösungshilfe Aufgabe 1. CRC-Karten (7 Punkte) Es geht um die Modellierung der folgenden Bibliotheks-Anwendung:

Mehr

Die Entwicklung eines Glossars (oder eines kontrollierten Vokabulars) für ein Unternehmen geht üblicherweise in 3 Schritten vor sich:

Die Entwicklung eines Glossars (oder eines kontrollierten Vokabulars) für ein Unternehmen geht üblicherweise in 3 Schritten vor sich: Glossare 1 Inhalt 1 Inhalt... 1 2 Prozesse... 1 3 Eine kleine Zeittabelle...... 1 4 Die ersten Schritte... 2 5 Die nächsten Schritte...... 2 6 Die letzten Schritte... 3 7 Das Tool...... 4 8 Beispiele...

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Die Java Reflection API liefert per Introspection Informationen über Klassen => Meta-Daten.

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

B12-TOUCH VERSION 3.5

B12-TOUCH VERSION 3.5 Release B12-TOUCH VERSION 3.5 Braunschweig, August 2014 Copyright B12-Touch GmbH Seite 1 B12-Touch 3.5 Die neue B12-Touch Version 3.5 beinhaltet wesentliche Verbesserungen im Content Management System,

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

Der lokale und verteilte Fall

Der lokale und verteilte Fall Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf

Mehr

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

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

Mehr

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen?

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen? C O C O O N ein Web-Framework der Apache Software Foundation http://www.apache.org Wo ist Cocoon in die Apache Projekte einzureihen? Apache Server sehr leistungsfähiger HTTP-Server Tomcat Server Referenzimplementierung

Mehr

Einleitung. Über Modular EDS Pro. Hinweise zu diesem Handbuch. Installationshinweise. Modular EDS Pro starten/beenden

Einleitung. Über Modular EDS Pro. Hinweise zu diesem Handbuch. Installationshinweise. Modular EDS Pro starten/beenden Einleitung Über Modular EDS Pro Das Programm Modular EDS Pro dient der Erzeugung von EDS-Dateien (elektronischen Datenblättern) für eine bestimmte Konfiguration einer SAI-Kopfstation mit verschiedenen

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

GenICam: Der Standard

GenICam: Der Standard GenICam: Der Standard Lars Fermum Schulungsleiter STEMMER IMAGING GmbH Technologie-Tag GigE Vision und GenICam München, 14. September 2006 M E M B E R O F T H E S T E M M E R I M A G I N G G R O U P Kunden-Situation

Mehr

XML und SOAP Einführung und Grundlagen

XML und SOAP Einführung und Grundlagen XML und SOAP Einführung und Grundlagen Matthias Böhmer 16.12.2005 Agenda 1. XML 2. SOAP 3. Seife im Buchladen?! E-Commerce :: XML und SOAP Matthias Böhmer 16.12.2005 2 XML :: Einführung (1) extensible

Mehr

HTML5. Wie funktioniert HTML5? Tags: Attribute:

HTML5. Wie funktioniert HTML5? Tags: Attribute: HTML5 HTML bedeutet Hypertext Markup Language und liegt aktuell in der fünften Fassung, also HTML5 vor. HTML5 ist eine Auszeichnungssprache mit der Webseiten geschrieben werden. In HTML5 wird festgelegt,

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

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

4. AuD Tafelübung T-C3

4. AuD Tafelübung T-C3 4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {

Mehr

3a Open BIM Workflow - Import und Weiterbearbeitung

3a Open BIM Workflow - Import und Weiterbearbeitung 3a Open BIM Workflow - Import und Weiterbearbeitung in ALLPLAN Dieses Handbuch gibt Ihnen einen Überblick, welche Einstellungen Sie tätigen müssen, um die besten Ergebnisse im IFC-Datenaustausch zwischen

Mehr

WebService in Java SE und EE

WebService in Java SE und EE Schlüsselworte Java, JAX-WS, JAX-RS, JAXB, XML. Einleitung WebService in Java SE und EE Wolfgang Nast MT AG Ratingen Es werden die Mölichkeiten von WebServices in Java SE und EE, mit SOAP und REST gezeigt.

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

State Machine Workflow mit InfoPath Formularen für SharePoint 2010 Teil 6

State Machine Workflow mit InfoPath Formularen für SharePoint 2010 Teil 6 State Machine Workflow mit InfoPath Formularen für SharePoint 2010 Teil 6 Abstract: Im sechsten Teil der Workflow Serie verbinden wir die Formulare aus dem vorigen Teil mit unserem Workflow. Teil 6: InfoPath

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Informationen zu den regionalen Startseiten

Informationen zu den regionalen Startseiten Informationen zu den regionalen Startseiten Inhaltsverzeichnis Informationen zu den regionalen Startseiten 1 1. Grundlegende Regeln 2 1.1. Was wird angezeigt? 2 1.2. Generelle Anzeigeregeln 2 2. Anpassbare

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

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

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

Mehr

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

Mehr

Typumwandlungen bei Referenztypen

Typumwandlungen bei Referenztypen Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei

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

EndTermTest PROGALGO WS1516 A

EndTermTest PROGALGO WS1516 A EndTermTest PROGALGO WS1516 A 14.1.2016 Name:................. UID:.................. PC-Nr:................ Beachten Sie: Lesen Sie erst die Angaben aufmerksam, genau und vollständig. Die Verwendung von

Mehr

bitte auf den Button Baudaten-Fenster öffnen klicken. (oder über das Menü -> STAMMDATEN -> BAUDATEN anklicken)

bitte auf den Button Baudaten-Fenster öffnen klicken. (oder über das Menü -> STAMMDATEN -> BAUDATEN anklicken) Vorgang: Export der Daten aus sirados 1. Im gestarteten Programm sirados im Schnellstartfenster -> bitte auf den Button Baudaten-Fenster öffnen klicken. (oder über das Menü -> STAMMDATEN -> BAUDATEN anklicken)

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

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6 Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in

Mehr