Seminararbeit Ruby Uno Kartenspiel

Größe: px
Ab Seite anzeigen:

Download "Seminararbeit Ruby Uno Kartenspiel"

Transkript

1 Seminararbeit Ruby Uno Kartenspiel Autor: Fabian Merki Fabian Merki von 10

2 Inhaltsverzeichnis Einleitung... 3 Die Idee... 4 Design und Implementierung in Ruby... 5 Testing... 7 Startbefehle... 8 Client / Server... 8 Tests... 8 Zusammenfassung... 9 Tools und Frameworks Fabian Merki von 10

3 Einleitung Ruby hat mir von der ersten Stunde an gefallen, da man mit wenig Code schnell sehr viel erreichen kann. Diese Arbeit soll zeigen, dass Ruby sehr gut für rundenbasierte, verteilte Spiele eingesetzt werden kann, aber auch was für Schwierigkeiten auftreten können. Und nun wünsche ich Ihnen viel Spass beim Lesen. Fabian Merki Fabian Merki von 10

4 Die Idee Da ich selbst sehr gerne Uno spiele und ich schon lange die Idee hatte, eine Laufzeit für rundenbasierte Spiele zu erstellen, in welcher sich diverse KI-Spieler gegenseitig messen können, habe ich folgendes Projekt in Angriff genommen. Anforderungen an ein in Ruby implementiertes Uno Spiel: KI-Spieler (eigenständige Applikation) registriert sich bei einem Server. KI-Spieler soll vom Server aus aufgerufen werden (Callback). Server soll die Regelnprüfen und dafür sorgen, dass niemand mogeln kann. Karten sollen objektorientiert implementiert werden. Regeln sollen möglichst nur einmal implementiert werden. Des weitern soll ein von Menschen gesteuerter Spieler programmiert werden, welcher auch mitspielen kann. Damit lässt sich prüfen, wie gut die KI-Spieler wirklich sind. Fabian Merki von 10

5 Design und Implementierung in Ruby Folgende Klassendiagramme sollen die Struktur des Programms visualisieren: Zentraler Punkt auf der Serverseite ist die Klasse Spiel und auf der Clientseite der Spieler. Damit der Spieler nicht einfach seine Karten auf dem Server löschen kann und somit gewonnen hätte, habe ich das Spieler Objekt auf dem Server als ServerSpieler kopiert und delegiere alle Aufrufe auf das effektive Spieler Objekt. Somit hat der Client keinen Zugriff auf das interne Spieler Objekt und deshalb keinen Zugriff auf seine Handkarten. Der Spieler könnte aber die Karte auf dem Stapel oder seine Karten ändern, sofern Attribute mit attr_accessor deklariert werden. Nur die Klasse FarbWahlKarte hat ein solches Attribut. Damit der Client mit seiner Mogelaktion nicht erfolgreich ist, merkt sich der Server die gewählte Farbe und prüft auf Veränderung. Alternativ könnte man immer eine Kopie der Karte auf dem Stapel an den Client übergeben. Der Server ruft den Spieler über die Methode karte(stapelkarte, direkt) auf. Der Parameter direkt zeigt an, ob eine PlusZweiKarte auf dem Stapel liegt und man das +2 direkt erhöhen darf, falls man eine PlusZweiKarte besitzt. Dank Vererbung können einfach diverse Spieler implementiert werden. Der AdvancedSpieler soll hier nur als Beispiel dienen. Dieser könnte natürlich Statistiken führen und sehr bewusst spielen. Der menschliche Spieler wird über die Konsole gesteuert. Die konkrete Fabian Merki von 10

6 Implementierung befragt einem (welche Karte gespielt werden soll) nur, wenn es mehrere Möglichkeiten gibt. Damit Callback-Methoden des Spielers und SpielInfo auf der Clientseite ablaufen, musste ich die Klasse Spieler mit include DRbUndumped definieren. Somit ist das Spieler Objekt ein verteiltes Objekt, welches vom Client dem Server übergeben wird, aber die Methoden werden dann jedoch auf dem Client ausgeführt. Auf Modelebene sind natürlich die Karten des Uno Spiels das Wichtigste. Folgendes Klassendiagramm zeigt die Klassenhierarchie der Karten. Die Methode ok(stapel) prüft, ob die Karte auf die Karte auf dem Stapel gelegt werden darf oder nicht. Die == Operation musste ich überschreiben, damit ich die Karten in Listen wieder finde und diese entfernen kann. Anscheinend wurde das Objekt beim Transfer Server -> Client -> Server kopiert. Für den Vergleich habe ich mich für ein Attribut kartenid in der Klasse Karte entschieden, welches eindeutig ist. Weitere Details entnehmen Sie bitte direkt dem Sourcecode. Fabian Merki von 10

7 Testing Für das Testen meines Uno Spiels habe ich eine Testdatei (unittest.rb) geschrieben, welche das Kartenmodel testet. Dies hat sich als sehr hilfreich erwiesen, da Ruby Programme nur zur Laufzeit auf formelle und logische Fehler geprüft werden können. Für das Spiel und die Spieler hätte man gleich verfahren können; ich habe diese aber von Hand getestet. Der Nachteil dieser Methode ist, dass man relativ häufig testen muss und diese Tests nicht unter einer Sekunde ablaufen. Es scheint, als würde sich der Unittest Aufwand in Ruby wirklich lohnen, da man hier keinen Compiler hat, der einem die formellen Fehler anzeigt. Die KI-Spieler konnte ich relativ einfach testen, indem ich einfach 5 Spieler x Mal gegeneinander antreten lies. Leider habe ich wie wohl jeder Ruby-Anfänger häufig mit puts (und nicht mit log4ruby) Debuginformationen geschrieben. Nun wollte ich aber wissen, welche KI-Spieler wie oft gewinnen, und habe folgenden kleinen Ruby-Trick angewandt: $sp={} # Merke alte puts Methode alias :orig_puts :puts # Zähle wer wie oft gewinnt (kein Output) def puts(text) if text =~ /gewinnt/ i = $sp[text] if (i == nil) i = 0 end i = i + 1 $sp[text]=i end end # 100 Spiele spielen # Statistik ausgeben $sp.each_pair { k, v orig_puts "#{k} #{v}" } Lässt man das Programm laufen, so erhält man zum Beispiel folgenden Output: ai spieler 1 gewinnt 15 ai spieler 2 gewinnt 15 advanced ai spieler 2 gewinnt 30 advanced ai spieler 1 gewinnt 24 ai spieler 0 gewinnt 16 Wie man sehen kann, gewinnt der advanced KI-Spieler häufiger als der einfache KI-Spieler. Zudem sind alle andern puts verschwunden. Da es sich bei diesem Spiel um eine reine Computersimulation handelt, war dieser Testansatz sehr einfach zu entwickeln und umzusetzen, da keine Benutzereingaben simuliert werden mussten und es keine Abhängigkeiten zu andern System gibt. Fabian Merki von 10

8 Startbefehle Client / Server Bitte öffnen Sie eine Shell und wechseln Sie ins src Verzeichnis. Server starten: ruby server.rb Clients starten (bitte 5 Mal ausführen) Windows: start ruby client.rb Unix / Linux: ruby client.rb & Nachdem ein Spiel gespielt wurde, werden die Clients automatisch geschlossen in der Konsole des Servers sieht man den Spielverlauf. Tests Alles in einer Rubyinstanz starten und KI-Spieler gegeneinander 100 Mal antreten lassen: ruby all.rb Unittests starten ruby unittest.rb Fabian Merki von 10

9 Zusammenfassung Ruby s Stärke liegt sicherlich in der Einfachheit Programme mit wenig Code zu schreiben. So benötigte ich für das ganze Spiel inklusive Unittests etc. gerade einmal ~15 KB benötigt. Würde man das Uno Spiel zum Beispiel in Java implementieren, wäre vermutlich das ant build file halb so gross und der Code selbst mindestens 2-3 so viel. Wenn man bedenkt, dass ich für die Client / Server Kommunikation gerade einmal ein paar Zeilen programmieren musste, so fragt man sich schon, weshalb in anderen Sprachen so viel Aufwand nötig ist. Auch die Verwendung von include DRbUndumped um verteilte Objekte zu produzieren, stellt Corba, RMI und ähnliche Protokolle komplett in den Schatten. Features, wie das Umbenennen einer Methode sowie das Erweitern einer Klasse, sind ein wenig gewöhnungsbedürftig, können aber durchaus hilfreich sein. Die Verwendung von attr resp. attr_accessor, um den Zugriff auf Objektvariablen zu definieren, oder die Konstrukte 10.times { }, liste.each {}, map.each_pair {... } sind natürlich sehr elegant und zeigen sehr schön, wie einfach Ruby sein kann. Ein grosser Nachteil hat Ruby aber schon: da es eine sehr dynamische, untypisierte Sprache ist, kann man formelle Programmierfehler nicht im Voraus sondern nur zur Laufzeit entdecken. Wie bereits erwähnt, lohnt sich der Einsatz von Unittests sehr vielleicht ist er in Ruby sogar überlebenswichtig. Übrigens gibt es die Möglichkeit Ruby typisiert zu Verwenden, wenn man den entsprechenden Inlude tätigt. Im Uno Spiel habe ich auf diese Möglichkeit verzichtet. Eines hat mich sehr erstaunt, gerade weil Ruby selbst sehr einfach ist. Die verfügbaren Grafikbibliotheken wie Tcl/Tk und andere sind nämlich extrem kompliziert und fast komplett undokumentiert. Dazu muss man noch diese meistens noch zusätzlich installieren. Mir gelang es zum Beispiel nicht in nützlicher Zeit ein Bild (mit allen Karten) einzulesen und teile davon auszuschneiden. Zwar ist die Klasse TkPhotoImage auf Methodenebene dokumentiert, jedoch fehlen Angaben zu den Map-Parametern komplett. Folgende Zeile habe ich zufälligerweise in einem Beispiel gefunden: image.copy(tmp2, 'subsample' => [0.5, 0.5]) Wie soll man hier bloss wissen, dass subsample existiert und was es für Auswirkungen hat? Ein Fenster mit ein paar Buttons und Labels war nicht all zu schwer zu programmieren. Für komplexere GUI Programmierung ist die Verwendung von Java sicherlich einfacher und man stösst nicht so rasch auf undokumentiere APIs. Da ich schon viele Stunden mit Ruby und GUIs verbraten habe, habe ich am Schluss auf ein Uno GUI verzichtet. Fabian Merki von 10

10 Tools und Frameworks Ruby FreeRide Tcl/Tk Fabian Merki von 10

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

MyHolidays.com. Seminararbeit mit Ruby on Rails. Author: Fabian Merki

MyHolidays.com. Seminararbeit mit Ruby on Rails. Author: Fabian Merki MyHolidays.com Seminararbeit mit Ruby on Rails Author: Fabian Merki Inhaltsverzeichnis Idee...3 Implementierung...4 Tipps & Tricks...5 Combobox...5 Passwörter...5 Kein 'show'...5 Layouts...6 Problem: HTML-Tags

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

GUI Programmierung mit Qt

GUI Programmierung mit Qt GUI Programmierung mit Qt C++ vs. JAVA Norman Wolf 22.04.05 GUI Programmierung mit Qt 1 Einleitung Qt wird von der norwegischen Firma Trolltech entwickelt Es ist kommerzielle Software, die aber von Trolltech

Mehr

inews: XML in der Praxis Konvertierung von Objekten nach XML und zurück Dr. St. Seefeld / INGTES AG

inews: XML in der Praxis Konvertierung von Objekten nach XML und zurück Dr. St. Seefeld / INGTES AG inews: XML in der Praxis Konvertierung von Objekten nach XML und zurück Dr. St. Seefeld / INGTES AG Objekte und XML Bei der Arbeit mit objektorientierten Programmiersprachen und XML kommt schnell der Wunsch

Mehr

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 CODESYS a trademark of 3S-Smart Software Solutions GmbH Agenda 1 Warum

Mehr

Weiterentwicklung Wartung Migration, Out-Tasking von Software. Termin-gerecht und im Budget! mit ITP-PANORAMA

Weiterentwicklung Wartung Migration, Out-Tasking von Software. Termin-gerecht und im Budget! mit ITP-PANORAMA Weiterentwicklung Wartung Migration, Out-Tasking von Software Termin-gerecht und im Budget! mit ITP-PANORAMA v9 Wie hoch wäre der Aufwand, um...... komplexe Software-Systeme nachzudokumentieren?... eine

Mehr

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014 Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?

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

Kurzanleitung zu XML2DB

Kurzanleitung zu XML2DB Kurzanleitung zu XML2DB Inhaltsverzeichnis 1. Einleitung...3 2. Entwicklungsumgebung...3 3. Betriebsanleitung...3 3.1 Einrichten der Java Umgebung...3 3.2 Allgemeines zu java und javac...4 3.2.1 Allgemeines

Mehr

GetName(), GetName(), GetGeschlecht() und AelterWerden().

GetName(), GetName(), GetGeschlecht() und AelterWerden(). 11. Vererbung Vererbung ist eine der mächtigsten Funktionalitäten der objektorientierten Programmiersprachen. Man versteht unter Vererbung die Tatsache, dass eine Klasse alle Methoden und Variablen einer

Mehr

Windows 2003 Server paedml Windows 2.7 für schulische Netzwerke. Update-Anleitung: Patch 2 für paedml Windows 2.7

Windows 2003 Server paedml Windows 2.7 für schulische Netzwerke. Update-Anleitung: Patch 2 für paedml Windows 2.7 Windows 2003 Server paedml Windows 2.7 für schulische Netzwerke Update-Anleitung: Patch 2 für paedml Windows 2.7 Stand: 2.11.2012 Fehler! Kein Text mit angegebener Formatvorlage im Dokument. Impressum

Mehr

Buzzword Bingo Game Documentation (Java based Game)

Buzzword Bingo Game Documentation (Java based Game) Buzzword Bingo Game Documentation (Java based Game) Meppe Patrick Djeufack Stella Beltran Daniel April 15, 2011 1 Inhaltsverzeichnis 1 Einleitung 3 2 Aufgabenstellung 3 3 Allgemeines zu Buzzword Bingo

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Script-Sprache für UPT und MKT-View II / III / IV. Einleitung, Anwendungsfälle, Programmierung. MKT Systemtechnik

Script-Sprache für UPT und MKT-View II / III / IV. Einleitung, Anwendungsfälle, Programmierung. MKT Systemtechnik Einleitung, Anwendungsfälle, Programmierung MKT Systemtechnik Autor: Stand: Ablage: Wolfgang Büscher Dipl.-Ing. Soft- und Hardware-Entwicklung buescher@mkt-sys.de 2015-01-21 (JJJJ-MM-DD) art85133_einfuehrung_mktview_scriptsprache.odp/pdf;

Mehr

Java Wireless Toolkit (JWT) Bei der Programmierung von Anwendungsprogrammen für mobile Endgeräte eignet sich die Verwendung des Java Wireless Toolkit.

Java Wireless Toolkit (JWT) Bei der Programmierung von Anwendungsprogrammen für mobile Endgeräte eignet sich die Verwendung des Java Wireless Toolkit. 1 Seminar zum Programmierprojekt Arbeitsbereich Technische Informatik Ausgabe: 30. April 2008 Anleitung B3 Einführung in die Entwicklungsumgebungen Allgemeines In dieser Aufgabe lernen wir die Entwicklungsumgebungen

Mehr

Objektbasierte Entwicklung

Objektbasierte Entwicklung Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit

Mehr

Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern

Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern Objektorientierte Programmierung mit Python Polymorphismus und Vererbung Eltern Kind Kind Kind Kind Prinzipien der objektorientierten Programmierung Vererbung Strukturierung von Klassen. Oberbegriffe beschreiben

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Einführung in git. Ben Oswald. 27. April 2014. Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen

Einführung in git. Ben Oswald. 27. April 2014. Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen Einführung in git Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen Ben Oswald 27. April 2014 Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist git?..................................... 1 1.2 Warum sollten

Mehr

Anleitung - Mass E-Mailer 2.6. 2003 by Patrick Biegel 25.06.2005

Anleitung - Mass E-Mailer 2.6. 2003 by Patrick Biegel 25.06.2005 Anleitung - Mass E-Mailer 2.6 2003 by Patrick Biegel 25.06.2005 Inhalt Einleitung...3 Neu in der Version 2.6...3 Installation...4 Links...4 E-Mail Form...5 Send E-Mails...7 Edit List...8 Save List...9

Mehr

Code-Erzeugung aus UML-Klassendiagrammen

Code-Erzeugung aus UML-Klassendiagrammen Dominik 09.03.2009 Universität Ulm Gessenharter Inst. f. Programmiermethodik und Compilerbau Code-Erzeugung aus UML-Klassendiagrammen Theorie und Praxis Seite 2 REConf 2009 München Dominik Gessenharter

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

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

Fachhochschule Wiesbaden - Fachbereich DCSM. Skriptsprachen. Moderne, objekt-orientierte Skriptsprachen mit Betonung auf Ruby

Fachhochschule Wiesbaden - Fachbereich DCSM. Skriptsprachen. Moderne, objekt-orientierte Skriptsprachen mit Betonung auf Ruby Fachhochschule Wiesbaden - Fachbereich DCSM Skriptsprachen Moderne, objekt-orientierte Skriptsprachen mit Betonung auf Ruby 16.10.2008 2003, 2008 H. Werntges, FB Design Informatik Medien (DCSM), FH Wiesbaden

Mehr

4 Vererbung, Polymorphie

4 Vererbung, Polymorphie 4 Vererbung, Polymorphie Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work

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

Web Engineering. http://vsr.informatik.tu-chemnitz.de

Web Engineering. http://vsr.informatik.tu-chemnitz.de Verteilte und selbstorganisierende Rechnersysteme WS 11/12 07/08 Praktikum Web Engineering Dipl.-Inf. Olexiy Chudnovskyy Technische Universität Chemnitz Fakultät für Informatik Professur Verteilte und

Mehr

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard

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

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

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

Mehr

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Zugriff auf Web Services vertraut. Der Web Service

Mehr

Tutorium Java Ein Überblick. Helge Janicke

Tutorium Java Ein Überblick. Helge Janicke Tutorium Java Ein Überblick Helge Janicke 26. Oktober 2000 1 VORRAUSSETZUNGEN ZUM PROGRAMMIEREN MIT JAVA. 1 1 Vorraussetzungen zum Programmieren mit Java. Was braucht man, wenn man mit Java programmieren

Mehr

Übung 4: Schreiben eines Shell-Skripts

Übung 4: Schreiben eines Shell-Skripts Aufgabenteil 1 Ziel der Übung Übung 4: Schreiben eines Shell-Skripts Anhand eines einfachen Linux-Skripts sollen die Grundlagen der Shell-Programmierung vermittelt werden. Das für die Bash-Shell zu erstellende

Mehr

Der Einsatz von CORBA in verteilten EDA-Tools

Der Einsatz von CORBA in verteilten EDA-Tools Der Einsatz von CORBA in verteilten EDA-Tools Frank Grützmacher Technische Universität Ilmenau Fakultät für Elektrotechnik und Informationstechnik Fachgebiet Mikroelektronische Schaltungen und Systeme

Mehr

Invoca Systems. Application Development Framework. Systemdokumentation. Vers. 1.2.2 / 08.02.2005. copyright (c) by Invoca Systems, 4304 Giebenach

Invoca Systems. Application Development Framework. Systemdokumentation. Vers. 1.2.2 / 08.02.2005. copyright (c) by Invoca Systems, 4304 Giebenach Invoca Systems Application Development Framework Systemdokumentation Vers. 1.2.2 / 08.02.2005 Konzepte: Architektur (Backend Applicationserver Client) Java-Database Objectrelational Mapping (=> Doku) Java

Mehr

Anpassung einer freien SSL/TLS Implementierung an die Kertasarie VM

Anpassung einer freien SSL/TLS Implementierung an die Kertasarie VM Anpassung einer freien SSL/TLS Implementierung an die Kertasarie VM Aufgabenstellung Praktikum Betreuer: Dipl.-Inf. Christian Meusel christian.meusel@inf.tu-dresden.de Zeitrahmen: Beginn: 5. Juni 2009

Mehr

Update Messerli MySQL auf Linux

Update Messerli MySQL auf Linux Update Messerli MySQL auf Linux Einleitung Grundsätzlich wird beim Update der Messerli Software auf einem Linux-Server wie folgt vorgegangen: 1. Vorhandener RMI-MySQL Server wird auf Linux aktualisiert

Mehr

Java Projekt: Tic Tac Toe + GUI

Java Projekt: Tic Tac Toe + GUI Java Projekt: Tic Tac Toe + GUI Rechnerpraktikum aus Programmierung im WS 2005/06 unter der Leitung von Dr. Michael Hahsler Tadeh Amirian (h0253821) 10.01.2006 1) Problemdefinition Beim TicTacToe Spiel

Mehr

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline Öffentliche Ordner Offline INDEX Öffentliche Ordner erstellen Seite 2 Offline verfügbar einrichten Seite 3 Berechtigungen setzen Seite 7 Erstelldatum 12.08.05 Version 1.1 Öffentliche Ordner Im Microsoft

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de Das Build Tool Ant Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation Bei der Übersetzung und Pflege von Software treten viele, gleich bleibende Arbeitsschritte auf. Übersetzen des Codes

Mehr

Inhalt. Danksagung... 13. Einleitung... 15. 1 Wissenswertes rund um Flex und Java... 19. 2»Get ready!«aufsetzen der Entwicklungsumgebung...

Inhalt. Danksagung... 13. Einleitung... 15. 1 Wissenswertes rund um Flex und Java... 19. 2»Get ready!«aufsetzen der Entwicklungsumgebung... Danksagung...................................................................................... 13 Einleitung......................................................................................... 15

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Ein Computerprogramm besteht aus Funktionen (Programmabschnitten, die etwas tun) und Variablen (Speicherplätzen für Informationen). Werden Funktionen aktiviert, verändern

Mehr

Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI

Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI The expert for industrial and automotive communication IXXAT Hauptsitz Geschäftsbereich USA IXXAT Automation GmbH IXXAT Inc. Leibnizstr.

Mehr

Rhapsody in C ein System zur aspektorientierten Embedded- Entwicklung? Dr.- Ing. Alexander Steinkogler B. Braun Melsungen AG

Rhapsody in C ein System zur aspektorientierten Embedded- Entwicklung? Dr.- Ing. Alexander Steinkogler B. Braun Melsungen AG Rhapsody in C ein System zur aspektorientierten Embedded- Entwicklung? Dr.- Ing. Alexander Steinkogler B. Braun Melsungen AG Einführung Was sind Aspekte? Anforderungen: Thema / Aspekt Berühren viele andere

Mehr

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53 Vorwort......................................................... 13 1 Vorbereitungen.................................................. 17 1.1 JDK-Installation unter Windows................................

Mehr

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

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

Mehr

Office in Java. 2. Info-Point Urs Frei

Office in Java. 2. Info-Point Urs Frei Office in Java 2. Info-Point Urs Frei Problemstellung: Zwei Motivationen Daten direkt im richtigen Format Excel nicht über Zwischenformat csv In Word Bereichte erstellen Office fernsteuern Rechtschreibeprüfung

Mehr

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure 7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG

Mehr

Beschreibung Programmierprojekt Lubica Mühlberger (0051755) 1578 - Anwendungspraktikum aus JAVA, Dr. Hahsler, WS 2005/2006.

Beschreibung Programmierprojekt Lubica Mühlberger (0051755) 1578 - Anwendungspraktikum aus JAVA, Dr. Hahsler, WS 2005/2006. Beschreibung Programmierprojekt Lubica Mühlberger (0051755) 1578 - Anwendungspraktikum aus JAVA, Dr. Hahsler, WS 2005/2006 CryptoManiac Inhaltsverzeichnis Problemstellung... 3 Analyse und Design... 4 Beschreibung

Mehr

Softwareschnittstellen

Softwareschnittstellen P4.1. Gliederung Rechnerpraktikum zu Kapitel 4 Softwareschnittstellen Einleitung, Component Object Model (COM) Zugriff auf Microsoft Excel Zugriff auf MATLAB Zugriff auf CATIA Folie 1 P4.2. Einleitung

Mehr

Konzept zur Migration Joomla auf Version 3.x

Konzept zur Migration Joomla auf Version 3.x PUBLIK Internetservice, Am Halbach 10, 45478 Mülheim Michael Gatz-Kippert Am Halbach 10 45478 Mülheim an der Ruhr Tel: +49 208 74049876 Fax: +49 208 74049821 http://www.publik.ruhr Samstag, 2. August 2014

Mehr

Installation Messerli MySQL auf MAC OS X

Installation Messerli MySQL auf MAC OS X Installation Messerli MySQL auf MAC OS X Einleitung Grundsätzlich wird bei der Installation der Messerli Software auf einem Mac-Server wie folgt vorgegangen: 1. Angepasster RMI-MySQL Server wird auf Mac

Mehr

1) JAVA JRE auf der QNAP Box installieren

1) JAVA JRE auf der QNAP Box installieren Hallo, hier eine kleine unvollständige Anleitung wie das CCU-Historian auf der QNAP läuft. Wenn Du eine QNAP hast, solltest Du diesen Weg nur dann beschreiten, wenn Du einmal eine Kommandozeile gesehen

Mehr

Kompetent objektorientiert programmieren

Kompetent objektorientiert programmieren Kompetent objektorientiert programmieren Aegidius Plüss, Bern, www.aplu.ch Eine objektorientierte Programmiersprache steht auf drei fundamentalen Säulen: Klassenkapselung (encapsulation) Vererbung (inheritance)

Mehr

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent

Mehr

Software-Engineering Grundlagen des Software-Engineering

Software-Engineering Grundlagen des Software-Engineering Software-Engineering Grundlagen des Software-Engineering 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE

Mehr

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld Sharing. Auf dem Bildschirm sollte folgendes Fenster erscheinen: Einleitung Unter MacOS X hat Apple die Freigabe standardmäßig auf den "Public" Ordner eines Benutzers beschränkt. Mit SharePoints wird diese Beschränkung beseitigt. SharePoints erlaubt auch die Kontrolle

Mehr

DriveLock 6. DriveLock und das Windows Sicherheitsproblem mit LNK Dateien. CenterTools Software GmbH

DriveLock 6. DriveLock und das Windows Sicherheitsproblem mit LNK Dateien. CenterTools Software GmbH 6 DriveLock und das Windows Sicherheitsproblem mit LNK Dateien CenterTools Software GmbH 2010 Copyright Die in diesen Unterlagen enthaltenen Angaben und Daten, einschließlich URLs und anderen Verweisen

Mehr

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax & GWT Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax Technisches Verfahren, bei dem Browser aktualisierte Inhalte nicht mehr synchron

Mehr

Java RMI, CORBA und Firewalls

Java RMI, CORBA und Firewalls Java RMI, CORBA und s Lehrstuhl für Datenverarbeitung falk@ei.tum.de Verteilte Objekte s Probleme Lösungsmöglichkeiten Konkrete Lösungen Verteilte Objekte Client mehrere Objekte Methoden-Aufruf Antwort

Mehr

Testgetriebene Web-Entwicklung mit Ruby on Rails

Testgetriebene Web-Entwicklung mit Ruby on Rails Testgetriebene Web-Entwicklung mit Ruby on Rails Thomas Baustert www.b-simple.de www.b-simple.de 1 Agenda Rails Einführung Test-Unterstützung in Rails Testgetriebene Web-Entwicklung mit Rails Live Demo

Mehr

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die "Softwarekrise"

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise im Überblick im Überblick Inhalt 1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise 1. Merkmale von Software 2. Fortlaufende Veränderungen 3. Erschwerte Rahmenbedingungen bei der

Mehr

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog 10.Klasse: Themenschwerpunkt I: Datenbanken Datenbanken o Einsatzbereiche von Datenbanken o Verwaltung von großen Datenmengen o Probleme aus dem Alltag in Datenbanken abbilden o Relationale Datenbanksysteme

Mehr

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de DYNAMISCHE SEITEN Warum Scriptsprachen? Stand: 11.04.2005 CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de I N H A L T 1 Warum dynamische Seiten?... 3 1.1 Einführung... 3 1.2 HTML Seiten...

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

Agile Software Verteilung

Agile Software Verteilung Agile Software Verteilung Vortrag: René Steg Steg IT-Engineering, Zürich (Schweiz) Gründe für Agile Software-Verteilung Wenn Sie Hunderte von Servern mit vielen Anwendungen betreiben Verteilte Anwendungen

Mehr

mail4rpg comsid GmbH & Co. KG

mail4rpg comsid GmbH & Co. KG i mail4rpg comsid GmbH & Co. KG ii MITWIRKENDE TITEL : mail4rpg AKTION NAME DATUM UNTERSCHRIFT VERFASST DURCH Klaus Mödinger 9. Dezember 2010 VERSIONSGESCHICHTE NUMMER DATUM BESCHREIBUNG NAME 1.10 26.11.2010

Mehr

Autor: Uwe Labs Stand: 21.03.2008. 1. WinSecureCopy in der paedml 3.0 Novell...1

Autor: Uwe Labs Stand: 21.03.2008. 1. WinSecureCopy in der paedml 3.0 Novell...1 . WinSecureCopy in der paedml 3.0 Novell Autor: Uwe Labs Stand: 2.03.2008 Inhaltsverzeichnis. WinSecureCopy in der paedml 3.0 Novell..... Übersicht....2. Installation und Start....3. Benutzung von WinSCP...6..

Mehr

Installation und Benutzung AD.NAV.ZipTools

Installation und Benutzung AD.NAV.ZipTools Installation und Benutzung AD.NAV.ZipTools Version 1.0.0.0 ALTENBRAND Datentechnik GmbH Am Gelicht 5 35279 Neustadt (Hessen) Tel: 06692/202 290 Fax: 06692/204 741 email: support@altenbrand.de Die Komponente

Mehr

Programmieren der Untersuchung

Programmieren der Untersuchung Programmieren der Untersuchung Während in HTML viele Tags zur Formatierung und Beschreibung eines Textes zur Verfügung stehen, bieten Programmiersprachen wie z.b. PHP oder Java Script Strukturen die einen

Mehr

Installation Messerli MySQL auf Linux

Installation Messerli MySQL auf Linux Installation Messerli MySQL auf Linux Einleitung Grundsätzlich wird bei der Installation der Messerli Software auf einem Linux-Server wie folgt vorgegangen: 1. Angepasster RMI-MySQL Server wird auf Linux

Mehr

Seminar Softwarereengineering/Merkmale der Programmiersprache C++

Seminar Softwarereengineering/Merkmale der Programmiersprache C++ Seminar Softwarereengineering/Merkmale der Programmiersprache C++ Martin Aumüller TU Ilmenau 31. Mai 2007 Themen 1 Generelle Probleme Kompatibilität mit C Standardisierung 2 Verständnisprobleme - Präprozessor

Mehr

Alltagsnotizen eines Softwareentwicklers

Alltagsnotizen eines Softwareentwicklers Alltagsnotizen eines Softwareentwicklers Entkoppeln von Objekten durch Callbacks mit c++-interfaces oder boost.function und boost.bind Tags: c++, entkoppeln, objekt, oop, callback, boost.bind, boost.function,

Mehr

Projekt Weblog :: Integration

Projekt Weblog :: Integration Projekt Weblog :: Integration Die Implementation des Formhandling Frameworks wird nun im Projekt Weblog integriert. Dafür stehen 2 Möglichkeiten zur Auswahl. Sie haben Ihre eigene Implementation der Actions,

Mehr

Flexibler Einsatz von VBA-Code und Access-Elementen durch Kapselung und modularer Programmierung (Josef Pötzl, www.joposol.com)

Flexibler Einsatz von VBA-Code und Access-Elementen durch Kapselung und modularer Programmierung (Josef Pötzl, www.joposol.com) Flexibler Einsatz von VBA-Code und Access-Elementen durch Kapselung und modularer Programmierung (Josef Pötzl, www.joposol.com) Kapselung Was ist das? Auszug aus Wikipedia Kapselung ist auch ein wichtiges

Mehr

Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06

Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06 Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06 Aufgabe 1 Bitte schreiben Sie ein RMI Objekt, das eine Person repräsentiert. Es soll die folgende Schnittstelle implementieren: public interface Person

Mehr

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

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

Mehr

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

Software-Projekt: Mensch ärgere Dich nicht. Dokumentation Softwareprojekt: Mensch ärgere Dich nicht

Software-Projekt: Mensch ärgere Dich nicht. Dokumentation Softwareprojekt: Mensch ärgere Dich nicht Dokumentation Softwareprojekt: Mensch ärgere Dich nicht Das Programm Mensch ärgere Dich nicht ermöglicht das Spielen des gleichnamigen Spieles über Netzwerke. Jeder Spieler verfügt dabei über einen Clienten,

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Objektorientierte Programmierung in Java

Objektorientierte Programmierung in Java Objektorientierte Programmierung in Java 1. Auflage Objektorientierte Programmierung in Java schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag C.H. Beck im Internet:

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

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

Mehr

Übung 8: Semaphore in Java (eigene Implementierung)

Übung 8: Semaphore in Java (eigene Implementierung) Übung 8: Semaphore in Java (eigene Implementierung) Ziel der Übung: Diese Übung dient dazu, eine eigene Implementierung einer Semaphore-Klasse in der Programmiersprache Java kennenzulernen. Anschließend

Mehr

Information rund um den Begriff Patch für WINLine-Anwender. SMC InformationsTechnologien AG Meraner Str. 43 86165 Augsburg

Information rund um den Begriff Patch für WINLine-Anwender. SMC InformationsTechnologien AG Meraner Str. 43 86165 Augsburg Information rund um den Begriff Patch für WINLine-Anwender SMC InformationsTechnologien AG Meraner Str. 43 86165 Augsburg Inhaltsverzeichnis: 1. Allgemeine Informationen zu dem Begriff Patch 2. WINLine

Mehr

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität,

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Continuous Integration im medizinischen Bereich

Continuous Integration im medizinischen Bereich Philipp Schröter Fachbereich für Informatik Continuous Integration im medizinischen Bereich Ein praktisches Beispiel Gliederung 1. Einleitung 2. Relevanz im medizinischen Bereich 3. Continuous Integration

Mehr

Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test

Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test Windows Client Management AG Alte Haslenstrasse 5 CH-9053 Teufen wincm.ch 1 Quick Install - Scripting Framework Workplace...3

Mehr

Neuinstallation moveit@iss+ Einzelplatzversion

Neuinstallation moveit@iss+ Einzelplatzversion Neuinstallation moveit@iss+ Einzelplatzversion Hinweis: Gerne bietet Ihnen moveit Software die Durchführung einer lokalen Neuinstallation zu einem günstigen Pauschalpreis an. Die rasche und professionelle

Mehr

SX3 PC Software rev. 0.99c

SX3 PC Software rev. 0.99c SX3 PC Software rev. 0.99c SX3 ist ein Programm zur Steuerung einer Selectrix Digitalzentrale unter Linux bzw. Windows. Mit SX3 haben Sie die Möglichkeit Selectrix -Loks zu fahren, Weichen zu Schalten

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Eclipse :Bis(s) zum Javacode Einführung in die Eclipse-IDE

Eclipse :Bis(s) zum Javacode Einführung in die Eclipse-IDE EF-III-A6 Einführung in Eclipse Seite 1 von 5 Eclipse :Bis(s) zum Javacode Einführung in die Eclipse-IDE Erläuterung Eclipse/IDE Eclipse ist eine integrierte Open-Source-Entwicklungsumgebung für Software

Mehr

xcall Technische Dokumentation

xcall Technische Dokumentation xcall Technische Dokumentation zu Version 4.x Autor: Martin Roth Erstelldatum: 14.08.2008 Version: 1.4 Seite 2 / 7 Zweck...3 Schnittstellenarchitektur...3 Outbound-Schnittstellen...3 Outlook...3 TwixTel...3

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

Klassenbeziehungen & Vererbung

Klassenbeziehungen & Vererbung Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in

Mehr