Analyse- und Entwurfsdokument

Größe: px
Ab Seite anzeigen:

Download "Analyse- und Entwurfsdokument"

Transkript

1 Heinz Nixdorf Institut Fachgruppe Softwaretechnik Zukunftsmeile Paderborn Analyse- und Entwurfsdokument im Rahmen des Softwaretechnikpraktikums 2014 Team 04

2 Inhaltsverzeichnis 1 Analyse Architektur Modularer Aufbau Server-Client-Architektur Model-View-Controller Observer-Pattern Strategy-Pattern Werkzeuge Eclipse Android Graphiti und Graphical Editing Framework ersetzt durch SWT und SVG Eclipse Modeling Framework JavaScript Object Notation Plug-in Development Environment Gamekonfigurator Konfiguration erstellen Analyse-Klassendiagramm GameEngine Spiel erstellen Spiel kontrollieren Zug überprüfen Analyse-Klassendiagramm Client Mit dem Server Verbinden Spiel abschließen Zug durchführen KI-Spieler Analyse-Klassendiagramm Entwurf Das Game Model Game Model Mapping Der Spielkonfigurator de.scrabblenauts.configurator.view de.scrabblenauts.configurator.controller de.scrabblenauts.gamemodel Die Game Engine de.scrabblenauts.server.view de.scrabblenauts.server.servercontroller de.scrabblenauts.server.network de.scrabblenauts.server.gamecontroller II

3 2.4 Der Smartphone-Spieler de.scrabblenauts.player.controller de.scrabblenauts.player.view de.scrabblenauts.player.network de.scrabblenauts.player.data Der KI-Spieler Klassendiagramm de.scrabblenauts.player.ai de.scrabblenauts.player.ai.movegenerator de.scrabblenauts.player.ai.strategy Abbildungsverzeichnis 32 III

4 1 Analyse In der Analyse werden die im Pflichtenheft abgesegneten Aufgabenbereiche genauer untersucht. Zunächst wird die Softwarearchitektur für die Programmteile festgelegt und deren Konsequenz erläutert. Bewährte Design-Pattern werden vorgestellt, die sich für die spätere Implementierung nützlich erweisen werden. UML-Diagramme helfen eine Übersicht über die zu entwickelnden Komponenten und deren Zusammenspiel zu bekommen. Ein weiterer Abschnitt verschafft einen Überblick über die benötigten Werkzeuge, die in diesem Projekt Anwendung finden. Zum Schluss werden die aufgelisteten Komponenten in ihre Objektstruktur dekompositioniert. Dies bedeutet insbesondere, dass ihre Struktur analysiert und ihr Verhalten dargestellt wird. 1.1 Architektur In diesem Kapitel wird die Softwarestruktur des Projekts skizziert. Eine Softwarearchitektur beschreibt das Grundgerüst, in dem sich die einzelnen Implementationsklassen eingliedern und zu einer funktionstüchtigen Komponente werden Modularer Aufbau Wie dem Pflichtenheft zu entnehmen ist, besteht das Projekt aus insgesamt fünf Bestandteilen. Diese setzen sich aus Game Engine, Spielkonfigurator, Smartphone-Beobachter, Smartphone-Spieler (bereitgestellt als eine Smartphone-App) und KI-Spieler zusammen. Da diese alle unterschiedliche Schnittstellen bereitstellen bzw. konsumieren, bietet sich ein modularer Aufbau als Grundstruktur an. Dies bedeutet insbesondere, dass alle fünf Komponenten für sich alleine lauffähige Software darstellen, die ohne die restlichen Komponenten aber nur teilweise funktionstüchtig sind. Die nur in den Schnittstellen abhängigen Komponenten bieten die Möglichkeit, bei veränderten Anforderungen nur änderungsrelevante, also spezifische Teile austauschen zu müssen. Dabei wird nicht die ganze Anwendung verändert, sodass eine Wartung deutlich vereinfacht wird. Abbildung 1.1 zeigt eine beispielhafte Verteilung der fertigen Software auf die benötigten Geräte. Dabei wird wie bereits im Pflichtenheft eine Unterteilung der Geräte in Server und Client vorgenommen. So befindet sich die Game Engine Komponente als zentrale Steuereinheit auf dem Server, während Smartphone-Beobachter und -Spieler, als zusammengefügtes Paket, nur auf ein Android Gerät aufgespielt werden können. Sie stellen die Seite des Clients dar. Smartphone-Beobachter und -Spieler werden bei der Bereitstellung zu einer Anwendung (App) gebündelt, um Codestrukturen, die für beide Komponenten benutzt werden können, optimal wiederzuverwenden. Der Spielkonfigurator wurde hier exemplarisch auf der Seite des Servers platziert, da die von ihm zu erstellende Konfiguration des Spiels zunächst einmal die Game Engine betrifft. Es wäre aber auch denkbar, diese Komponente auf einem anderen PC auszuführen und die Konfigurationsdatei per Dateitransfer für die Game Engine zugriffsbereit zu machen. Näheres dazu befindet sich in Abschnitt Ähnlich zum Spielkonfigurator, hat auch der KI-Spieler kein festes Gerät. Er könnte sich auch direkt auf dem Server ausführen lassen und damit keinen eigenen PC beanspruchen wie in Abbildung 1.1 dargestellt. Insgesamt zeigt dies den groben Grundaufbau des Systems. Wir unterscheiden zu jeder Zeit die Seite des Servers von der Seite des Clients. Somit ist die Hauptarchitektur in unserem modularen System eine Server-Client-Architektur. 1

5 Abbildung 1.1: UML-Verteilungsdiagramm der Komponenten Server-Client-Architektur Bei der Server-Client-Architektur, oder auch Zwei-Schichten-Architektur genannt, handelt es sich um eine Softwarestruktur für verteilte Anwendungen. Dabei nimmt der Teil der den Serverteil repräsentiert eine eher nicht interaktive Rolle als Dienstleister ein. Er steuert den Ablauf und die Geschäftsprozesse und validiert sie nach Gültigkeit. Ihm kommt im Netzwerk die Aufgabe zu, die einzelnen Clients zu steuern. Der Teil der Clients ist in der Regel hoch interaktiv mit dem Benutzer des Systems. Hier werden Eingaben des Benutzers entgegen genommen und zur Validierung an den Server gesendet. Gibt dieser sein OK, so hat der Benutzer eine erlaubte Handlung vollzogen. Abbildung 1.2: UML-Komponentendiagramm der Scrabble-Variante Abbildung 1.2 bezieht diese Grundstruktur nun auf unsere Scrabble-Variante. Dabei sind insgesamt drei Schnittstellen geplant. IServer Die Komponente, die diese Schnittstelle bereitstellt, platziert sich auf der Serverseite des Systems. Sie ist in der Lage die Steuerung des Systems zu übernehmen. Sie entscheidet über gültige Spielzüge und fordert den Datenverkehr über das Netzwerk an. Komponenten, die diese 2

6 Schnittstelle konsumieren, sind dagegen auf der Client-Seite anzusiedeln. Sie können mit der bereitstellenden Komponente kommunizieren und ihre Anforderungen erfüllen. IViewer Komponenten, die diese Schnittstelle bereitstellen, sind in der Lage ein laufendes Spiel zu beobachten. Sie bekommen von der Serverkomponente die benötigten Informationen bereitgestellt und sind damit in der Lage das Spiel auf einem Ausgabegerät darzustellen. Die konsumierende Komponente nimmt den Wunsch ein Spiel zu beobachten auf und entscheidet, ob dies zugelassen wird. Sie stellt die benötigten Informationen für die Beobachtung bereit. IPlayer Ähnlich wie die IViewer-Schnittstelle, können bereitstellende Komponenten der IPlayer- Schnittstelle Spielen beiwohnen. Der Unterschied besteht im Wesentlichen darin, dass diese Komponenten nun interaktiv mit dem Server kommunizieren, um das eigentliche Spiel zu spielen. Die konsumierende Komponente kann, wie beim IViewer, den Wunsch des Mitspielens erlauben oder verweigern. Erlaubt sie den Zugriff muss sie die Spielzüge entgegennehmen und den aktuellen Status des Spiels mitteilen. Näheres zu den Schnittstellen befindet sich im Interface-Dokument. Abbildung 1.2 zeigt nun bereitstellende und konsumierende Komponenten des Systems. Dabei stellt die Game Engine die IServer-Schnittstelle bereit. Diese wird von allen Komponenten der Client- Seite konsumiert, welche wiederum entweder die Schnittstelle IViewer oder IPlayer bereitstellen. Diese Schnittstellen werden dann von der Game Engine konsumiert um die benötigten Informationen bereitzustellen. Als letztes zeigt Abbildung 1.2 die Komponente Spielkonfigurator. Sie zeichnet sich im Besonderen dadurch aus, dass sie keine Programmierschnittstelle anbietet. Ihre Ausgabe ist eine Spielkonfiguration im ECore-Format, welche als Datei exportiert und von der Game Engine importiert werden kann Model-View-Controller Mit dem Modell der Server-Client-Architektur ist nun der erste wichtige Baustein für das System gelegt. Trotzdem garantiert dieses Modell noch keine einfache Wartbarkeit und Testmöglichkeit. Darum erweitern wir die Grundarchitektur um das bewährte Modell der Model-View-Controller-Architektur. Diese Architektur soll in den einzelnen Komponenten Anwendung finden, die zunächst erst grob von der Server-Client-Architektur unterschieden worden waren. Das grundlegende Modell, welches in Abbildung 1.3 gezeigt wird, unterscheidet in drei Arten von Klassen: Model, View (später auch Boundary genannt) und Control. Dabei hat jeder Typ seine dedizierte Aufgabe. So hält eine Klasse vom Typ Model nur Daten, die von der View auf einem Ausgabegerät dargestellt werden können. Eine Klasse vom Typ Control kontrolliert den Zugriff auf die Daten und kann sie bei Aufforderung verändern. Dies führt, wie in Abbildung 1.3 dargestellt, zu einer Veränderung im Model, welches eine Klasse vom Typ View veranlasst, die Darstellung zu ändern. Um diese Architektur lauffähig und effizient zu halten, sollte jede Klasse auf ihren Typ reduziert werden und ihren Aufgabenteil erfüllen. Eine Vermischung von zwei, oder gar allen drei Typen, ist nicht vorgesehen Observer-Pattern Das Observer-Pattern, oder auch Beobachter genannt, ist ein bewährtes Design-Pattern aus der Softwaretechnik und gehört zu der Art der Verhaltensmuster. Zum Zweck des Observer-Patterns schrieben Gamma, Helm, Johnson & Vlissides (2004): Definiere eine 1-zu-n-Abhängigkeit zwischen Objekten, so daß [sic] die Änderung des Zustands eines Objektes dazu führt, daß [sic] alle abhängigen Objekte benachrichtigt und automatisch aktualisiert werden. Es fügt sich nahtlos in die Architektur von Model-View-Controller ein, da auch hier dessen Typen exakt unterschieden werden müssen. 3

7 Abbildung 1.3: Modell des Model-View-Controller (von Process.svg [Zugriff am ]) Abbildung 1.4: Struktur des Observer-Pattern nach Gamma et. al. (2004) Abbildung 1.4 zeigt die Struktur des Observer-Patterns. Sie zeigt, dass sich jedes Model (Subject), welches sich beobachten lässt, sich seinen Zustand merkt und diesen bei Veränderungen all seinen Beobachtern mitteilt. Dabei unterscheidet man zwischen der abstrakten Definition eines Subjekts und dessen konkreter Implementierung. Dies ist auch auf der Seite des Beobachters der Fall. Erst dadurch ist die Beobachtung von 1-zu-n-Abhängigkeiten möglich. Das Observer-Pattern bietet eine gute Möglichkeit die Visualisierung für das Spielbrett zu verwalten Strategy-Pattern Das Strategy-Pattern ist ein bewährtes Design-Pattern aus der Softwaretechnik und gehört zu der Art der Verhaltensmuster. Zum Zweck des Strategy-Pattern schrieben Gamma, Helm, Johnson & Vlissides (2004): Definiere eine Familie von Algorithmen, kapsele jeden einzelnen und mache sie austauschbar. Das Strategiemuster ermöglicht es, den Algorithmus unabhängig von ihn nutzenden Klienten zu variieren. Abbildung 1.5 zeigt die Struktur des Strategy-Patterns. Sie zeigt, dass ein Context-Objekt mithilfe eines Strategy-Objektes ein bestimmtes Problem löst. Dabei werden die jeweiligen Strategien zur Problemlösung innerhalb der ConcreteStrategy-Klassen implementiert. Dabei dient die Strategy-Klasse als Schnittstelle, die von allen konkreten Strategien verwendet wird. 4

8 Abbildung 1.5: Struktur des Strategy-Pattern nach Gamma et. al. (2004) 1.2 Werkzeuge Die folgenden externen Werkeuge werden in Übereinstimmung mit dem Lastenheft genutzt, um das Projekt Implementierung eines verteilten Scrabble-Spiels umzusetzen Eclipse Eclipse ist eine Open-Source Entwicklungsumgebung, die ursprünglich für Java entwickelt wurde. Allerdings lässt sich Eclipse mit Hilfe von Plugins um eine Fülle an Funktionalität erweitern. Die im Softwaretechnik Praktikum verwendete Version (Eclipse Kepler) beinhaltet keine eigene Funktionalität, sondern ist ausschließlich pluginbasiert. Dies bietet uns die Möglichkeit, die SwtPra- Komponente Spielkonfigurator einfacher den Vorgaben entsprechend als Eclipse-Plugin umzusetzen, da wir auf eine vorhandene und bewährte Plugin-Struktur namens Plug-in Development Environment (PDE) zurückgreifen können. Zur Java-Entwicklung werden wir das Plugin Java Devolpment Tools (JDT) verwenden, welches eine Vielzahl an nützlicher Funktionalität zur Java-Entwicklung bietet. Um die Entwicklung einfacher zu gestalten werden wir das Eclipse Software Development Kit (SDK) benutzen, welches bereits die Java Development Tools (JDT) und Plug-in Development Environment (PDE) enthält. Zusätzlich dazu werden wir wie vorgegeben das Java Development Kit (JDK) Version 1.7 und die Java Runtime Environment (JRE) Version 1.7 als Laufzeit-Umgebung nutzen Android Android ist ein Smartphone-Betriebssystem, welches auf dem Linux Kernel basiert. Für das Softwaretechnik Praktikum werden wir auf der Android-Version 4.0 (API-level 15) einen Smarphone-Spieler umsetzen Graphiti und Graphical Editing Framework ersetzt durch SWT und SVG Graphiti und das Graphical Editing Framework (GEF) sind Eclipse-Frameworks, welche für die Erstellung von graphischen Oberflächen und Editoren entwickelt wurden. Dabei bietet sich die Nutzung 5

9 von Graphiti und GEF deswegen an, weil diese Frameworks die Model-View-Controller (MVC) Architektur umsetzen. Der Empfehlung des Lastenheftes widersprechend werden wir nicht GEF und Graphiti benutzen. Diese Entscheidung haben wir nach reichlicher Überlegung getroffen, bei der folgende Gründe sich ergeben haben: Die Eclipse Frameworks Graphiti und GEF sind sehr mächtige, und deswegen auch sehr umfangreiche Werkzeuge. Um unsere graphischen Oberflächen zu entwickeln reichen uns die Möglichkeiten eines kompakteren Werkzeuges vollkommen aus. Außerdem entsteht durch die große Komplexität von Graphiti und GEF für unser Team, dass über höchstens oberflächliche Kenntnisse der Funktionsweise von Graphiti und GEF verfügt, ein nicht zu vernachlässigender Einarbeitungsaufwand, den wir so umgehen können. Alternativ werden wir das Standard Widget Tool (SWT) verwenden, um alle unsere Oberflächen zu entwickeln. Die Möglichkeiten des SWT sind für unsere Zwecke hervorragend geeignet, weil sich mit Hilfe des SWT auf einfache Weise produktive Oberflächen erstellen lassen. Zusätzlich dazu bietet die SWT-eigene Struktur, welche auf Event-Klassen und Listener-Methoden aufgebaut ist, bereits die Möglichkeit, die MVC Architektur umzusetzen. Ein weiterer Grund für diese Entscheidung war, dass bereits einige Mitglieder unserer SWTPra- Gruppe einige Erfahrung mit SWT gesammelt haben und so die anderen Gruppenmitglieder bei der Nutzung von SWT unterstützen können. Zusätzlich dazu haben wir beschlossen, sämtliche Graphiken für die graphischen Oberflächen entsprechend der Scalable Vector Graphics (SVG) - Spezifikation zu hinterlegen, um bei jeder Auflösung optimale Symbole zu erzeugen Eclipse Modeling Framework Das Eclipse Modeling Framework (EMF) ist ein Open Source Framework, welches die Möglichkeit bietet Quelltext und dynamische Instanzen aus Modellen zu generieren. Dieses Framework ist für das diesjährige Softwaretechnik Praktikum in doppelter Hinsicht wichtig, da auf der einen Seite die Netzwerk-Kommunikation und auf der anderen Seite die Syntax einer Spielkonfiguration über ein EMF-Modell geregelt ist. So wird eine Spielkonfiguration als dynamische Instanz der Wurzelklasse Configuration aus dem Spielkonfigurations-EMF-Modell entwickelt. Die fertige Spielkonfiguration liegt abschließend als xmi-datei vor JavaScript Object Notation JavaScript Object Notation (JSON) ist ein offener Standard zur Übermittlung von Informationen in Form von Key-Value Paaren. Innerhalb des diesjähren Softwaretechnik Praktikums wird JSON für die gesamte Netzwerkkommunikation genutzt. Jeder Befehl bzw. jede Information wird also durch eine JSON-Datei übermittelt. Die genaue Syntax der JSON-Dateien wird dabei durch ein EMF-Modell bestimmt, welches vom Interface-Komitee entworfen wurde. Durch das Erstellen eines Objektes einer Klasse aus dem Netzwerk-EMF-Modell und dem anschließenden genormten Serialisierungsprozess können so einheitliche, von jeder Gruppe interpretierbare JSON-Dateien erstellt werden Plug-in Development Environment Der Zweck des Plug-in Development Environment (PDE) ist die Entwicklung und Verwaltung neuer bzw. selbst-erstellter Eclipse-Plugins. Dabei ist PDE selbst als Plugin in Eclipse integriert. Mit Hilfe 6

10 der drei Hauptkomponenten Build, UI und API Tools von PDE ist es möglich, die Entwicklung, die Wartung, das Testen, die Erstellung und Nutzung von Plugins in einer einzigen Umgebung (PDE) durchzuführen. 1.3 Gamekonfigurator Konfiguration erstellen Das Diagramm (Abbildung 1.6) beschreibt ein Szenario, indem der User eine Konfiguration für ein Spiel erstellt. Er muss durch die Haupt-GUI die Größe des Spielfelds, die Verteilung der Premiumfelder und eine Gewinn-Kondition festlegen. Zusätzlich muss er sich zwischen einer natürlichen Sprache und einer erstellten Kategorie entscheiden. Die Erstellung der Kategorien erfolgt über der Kategorie-GUI, in der man die Wörter der Kategorie, die Verteilung der Punkte der Buchstaben und ihre Anzahl im Beutel festlegt. Schließlich hat der User die Möglichkeit eine Konfigurations-Datei mit den angegebenen Einstellungen zu erstellen Analyse-Klassendiagramm Im folgenden werden die Aufgaben der in Abbildung 1.7 dargestellten Klassen erläutert. Boundary MainGui Die MainGUI (Haupt-Gui genannt) visualisiert die verschiedene Einstellungsoptionen zur Konfiguration. CategoryGui Die CategoryGui visualisiert die verschiedene Einstellungsoptionen zur einer bestimmte Kategorie. Control ConfigurationControl Die ConfigurationControl verwaltet die Anfragen zur Änderung der Einstellungen, überprüft sie und gibt sie dem ConfigurationModel weiter. Entity Die Klassen aus der Entity-Schicht haben nur die Aufgabe die Daten der Spiele zu speichern und sind somit Selbsterklärend. 1.4 GameEngine Spiel erstellen Szenariobeschreibung Das Diagramm (Abbildung 1.8) beschreibt ein Szenario, indem der User sich entscheidet, ein Spiel zu erstellen. Er wird zunächst die GUI verwenden, um Spieler zu dem Spiel hinzuzufügen oder Spieler zu entfernen. Hat er sich für eine Aufstellung entschieden, kann er den Startspieler bestimmen. Dies kann entweder durch einen Zufallsgenerator der Spielsteuerung geschehen oder indem der User die 7

11 8 Abbildung 1.6: Der Host benutzt die GUI, um eine Konfiguration zu erstellen

12 Abbildung 1.7: Analyse-Klassendiagramm der GameEngine Reihenfolge manuell verändert. Nun hat der User die Möglichkeit, einen 5 Sekunden Timeout zu aktivieren. Tut er dies, werden alle KI Spieler aus dem Spiel gekickt, wenn sie länger als 5 Sekunden für eine Antwort brauchen. Anschließend schickt die GUI die Konfigurationsdaten an die Spielsteuerung, welche eine Datei daraus erstellt. Diese Datei wird von der Spielsteuerung an alle Teilnehmer des Spieles gesandt. Die Spielsteuerung wartet jetzt 10 Sekunden, bevor sie das Spiel letztendlich startet und den ersten Spieler auffordert, seinen Zug zu tätigen Spiel kontrollieren Das Szenario Spiel kontrollieren dient dazu, dass der Host das Spiel unterbrechen, fortsetzen und abbrechen kann. Hierzu wird nur eine Klasse, die den Befehl entgegen nimmt, benötigt. Diese prüft anschließend den Zustandes des Spieles, setzt es ggf. neu und informiert die Clients über den neuen Zustand bzw. informiert den Host darüber, dass das Spiel bereits im entsprechenden Zustand ist. Details über diesen Vorgang finden sich in Kapitel des Pflichtenheftes oder der entsprechenden Abb. 3.4 eben dort. Da dieser Vorgang so einfach ist, wird hier bewusst auf ein Analysesequenzdiagramm verzichtet Zug überprüfen Das Diagramm (Abbildung 1.9) beschreibt ein Szenario, in dem ein Spielzug auf Gültigkeit überprüft wird. Zunächst übermittelt der Server der Spielsteuerung den nächsten Zug m des aktuellen Spielers. Für die Gültigkeitsüberprüfung ist BoardLogic zuständig. Abhängig von der Art des Spielzugs wird nun die Gültigkeit überprüft: pass Ein Spielzug, in dem der Spieler passt, ist immer gültig. exchange tiles Ein Wechseln von Spielsteinen mit dem Beutel ist genau dann gültig, wenn noch genügend Steine (mind. sieben) darin vorhanden sind. 9

13 Abbildung 1.8: Der Host benutzt die GUI, um ein Spiel zu erstellen play Damit das Legen eines Wortes gültig ist, muss das Wort einerseits im Dictionary sein, andererseits muss es die Legeregeln einhalten: angrenzend von bestehenden Steinen liegen, alle Steine in derselben Spalte/Zeile, etc. Ist dies alles erfüllt, werden die Steine auf dem Brett platziert. Ist der Spielzug ungültig, wird dem Spieler (über den Server) ein Fehler gemeldet und er wird zu einem neuen Zug aufgefordert. Ist der Spielzug hingegen gültig, wird allen Spielteilnehmern mitgeteilt, was geschehen ist, insbesondere werden sie über den neuen Zustand des Bretts informiert, sofern Steine gelegt wurden. Danach wird der nächste Spieler zum Spielzug aufgefordert. 10

14 Abbildung 1.9: Ein vom Spieler gemachter Zug wird auf Gültigkeit geprüft 11

15 Abbildung 1.10: Analyse-Klassendiagramm der GameEngine Analyse-Klassendiagramm Im folgenden werden die Aufgaben der in Abbildung 1.10 dargestellten Klassen erläutert. Boundary GameEngineGUI Die GameEngineGUI visualisiert die GameEngine für den Benutzer und wird bei Veränderungen der darunter liegenden Kontrollklassen aktualisiert. Server Es existiert nur ein Objekt der Server Klasse. Der Server stellt Funktionalitäten bereit die von Clients über das Netzwerk aufgerufen werden. Diese werden durch die Methoden beschrieben. ClientConnection Diese Klasse repräsentiert die Verbindung zu den Clients die sich mit dem Server verbunden haben. Es kann sich dabei sowohl um (KI-)Spieler als auch um Beobachter handeln. Die Methoden der Klasse haben die Aufgaben Informationen weiter an den Client zu senden. 12

16 Control GameLobby Ein Objekt der GameLobby Klasse verwaltet ein Spiel, das von dem Host geöffnet wurde und in dem sich Spieler anmelden können. Haben sich genügen Spieler registriert und der Host hat entschieden wer mitspielen darf, dann kann er das Spiel starten. In diesem Fall wird ein GameControl Objekt erstellt und die Lobby geschlossen. GameControl Die GameControl Klasse kümmert sich um den Ablauf der Spiele. Es werden Daten an die Mitspieler gesendet und Züge ausgewertet. GameEngine Die GameEngine verwaltet sowohl die Lobbys als auch die laufenden Spiele und leitet Anfragen die über das Server Objekt gehen weiter. BoardLogic Die BoardLogic verwaltet die Spiellogik eines Spiels. Sie aktualisiert das Spielfeld und überprüft Züge auf ihre Gültigkeit. Entity Die Klassen aus der Entity-Schicht haben nur die Aufgabe die Daten der Spiele zu speichern und sind somit Selbsterklärend. 1.5 Client Mit dem Server Verbinden Abbildung 1.11: Ein menschlicher Nutzer der App verbindet sich mit dem Server 13

17 Szenariobeschreibung In der Abbildung 1.11 ist ein mögliches Szenario zu sehen, wie die Verbindung eines menschlichen Users am Smartphone mit dem Server ablaufen kann. Dabei sind auf dem Smartphone die Klassen ConnectionGUI, AppLogic, ServerConnection, User und nach der erfolgreichen Registrierung die LobbyGUI beteiligt. Der Benutzer sieht nach dem Starten der App einen Connect to Server Button sowie ein Feld zur optionalen Eingabe eines Namens. Beim Klick des Buttons wird dem Server eine Anfrage übermittelt, dass ein Client sich am Server registrieren möchte. Diese Anfrage ist im Interface-Dokument festgelegt. Dabei wird dem Server mitgeteilt, welche Fähigkeiten dieser Client hat, also ob er zuschauen und ob er spielen kann. Nutzer der App können beides, daher wird hier für beide Werte true übermittelt, zusammen mit dem gewählten Namen. In unserem Beispiel gibt der User den Namen Bob ein. Sollte der Server nicht innerhalb einer festgelegten Zeitspanne antworten, so ruft die ServerConnection auf der AppLogic eine Methode zur Fehlerbehandlung auf. Dem Benutzer wird eine entsprechende Fehlermeldung angezeigt und ein Retry -Button um erneut die selbe Verbindungsanfrage zu senden. Bei erfolgreicher Verbindung fügt der Server den Benutzer zur Kontaktliste hinzu. Der Server sendet das ConfirmLoginCommand und übergibt eine Id, mit der der Client von da an vom Server identifiziert werden kann. Erst bei Erhalt dieses Wertes zeigt die App dem User eine entsprechende Erfolgsmeldung an. Die LobbyGUI wird gestart und die Oberfläche um die Verbindung zu starten wird nicht länger angezeigt. Eine KI schickt ebenfalls die im Interface-Dokument festgelegte Anfrage LoginCommand an den Server, um sich zu registrieren. Der Server sendet bei erfolgreicher Registrierung ConfirmLoginCommand, die die Id übergibt Spiel abschließen Szenariobeschreibung Das Diagramm (Abbildung 1.12) beschreibt ein Szenario, in dem der User sich entscheidet, ein Spiel zu verlassen. Der erste Abschnitt der Alternative bezeichnet dabei das Szenario, falls der User ein Observer ist. Er bekommt zum Abschluss die Ergebnisliste angezeigt. Der zweite Abschnitt der Alternative hingegen bezeichnet das Szenario, falls der User ein Spieler ist. Er meldet sich vorher beim Server ab, so dass dieser Prüfen kann, ob genug ( 2) Spieler verbleiben. Der Server kann ggf. das Spiel beenden, falls nur apple 1 Spieler verbleiben. Der User bekommt in jedem Fall zum Abschluss die Ergebnisliste angezeigt Zug durchführen Szenariobeschreibung Das Diagramm (Abbildung 1.13) beschreibt ein Szenario, in dem ein Spieler einen Zug durchführt. Der erste Abschnitt der Alternative bezeichnet dabei das Szenario, dass der Spieler seinen Zug aussetzen möchte. Dies wird vom Server in jedem Falle akzeptiert. Der zweite Abschnitt der Alternative bezeichnet das Szenario, dass der Spieler manche seiner Spielsteine austauschen möchte. Dabei wählt der Spieler aus, welche Spielsteine er tauschen möchte und wählt dann den Button zum Tauschen. Diese Spielsteine werden dem Server mitgeteilt, welcher in diesem Szenario neue Spielsteine zurückliefert. Diese Änderung wird auch im GameModel gespeichert. Der dritte Abschnitt der Alternative bezeichnet schließlich das Szenario, dass der Spieler manche seiner Spielsteine auf dem Spielbrett platziert. Nach dem Senden des Zuges an den Server, liefert 14

18 Abbildung 1.12: Szenario: Das Spiel abschließen 15

19 Abbildung 1.13: Szenario: Zug durchführen dieser hier eine Bestätigung, dass der Zug akzeptiert wurde, sowie die neuen Steine für den Spieler. 16

20 Auch hier wird die Änderung wieder im GameModel gespeichert KI-Spieler Der KI-Spieler funktioniert ähnlich wie ein normaler, menschlicher Spieler, denn er verwendet dieselben Schnittstellen. Anstelle einer GUI, über die ein Mensch seine Züge eingeben kann, existiert jedoch das AI-Modul, eine Komponente, welche das Verhalten der KI bestimmt und versucht, möglichst gute Züge zu finden. Dieses Modul wird mithilfe der Konsole angesteuert, wobei durch Kommandozeilenargumente folgende Optionen bestimmt werden: 1. Name des AI-Spielers 2. Spiele zu denen er sich registriert 3. Optional: Bestimmung des Verhaltens der KI Außerdem gibt der KI-Spieler Informationen zu den Zügen die er gemacht hat auf dieser Konsole aus Analyse-Klassendiagramm Das Klassendiagramm in Abbildung 1.14 ergibt sich aus den bereits genannten Szenarien. Im Folgenden werden die Aufgaben der dargestellten Klassen erläutert Boundary ConnectionGUI Die ConnectionGUI visualisiert den Verbindungsaufbau vom Client zum Server. Hier wird der Nutzer die Verbindung konfigurieren und verwalten können, wie beispielsweise neue Verbindungsversuche bei Fehlern während des Verbindungsaufbaus unternehmen. GameView Die GameView ist die GUI, die der Spieler während des Spieles sieht. Hier werden das Brett, die Punkte und die eigenen Steine angezeigt und die Möglichkeit gegeben, einen Zug durchzuführen oder das Spiel zu verlassen. LobbyGUI Die LobbyGUI visualisiert die Spiellobby, in der man sich für Spiele registrieren kann. Hier werden dem Nutzer die Spiele angezeigt, die der Server zur Verfügung stellt und man kann sich für sie anmelden oder die Verbindung beenden. ServerConnection Die ServerConnection ist die Boundary-Klasse, welche mit dem Server kommuniziert. Sämtliche Kommunikation, die der Client mit dem Server hat, läuft über diese Klasse. Ein entsprechendes Gegenstück wird es auf der Server-Seite geben Control AppLogic Die AppLogic verwaltet alle Aktionen der User und verwaltet die GUIs, sodass immer die richtige GUI angezeigt wird. Es gibt hier nur eine Klasse, da der Client eine sehr kleine Komponente ist, die letztlich nicht mehr kann, als mit dem Server zu kommunizieren und das Spiel, das der Server liefert anzuzeigen. Daher sind die Operationen in der Logik nicht viele und alle einfach zu realisieren. Eine Intelligenz ist hier kaum bis nicht vorhanden. 17

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Praktikum Internetprotokolle - POP3

Praktikum Internetprotokolle - POP3 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik/Rechnernetze 19. Mai 2008 1 Aufgabenstellung Praktikum

Mehr

Software Engineering Übung 4 Architektur, Modulentwurf

Software Engineering Übung 4 Architektur, Modulentwurf software evolution & architecture lab Software Engineering Übung 4 Architektur, Modulentwurf 1 Informationen 1.1 Daten Ausgabe Di 27.10.2009 Abgabe So 08.11.2009 bis 23:59 Uhr Besprechung am Di 17.11.2009

Mehr

Erweiterung für Premium Auszeichnung

Erweiterung für Premium Auszeichnung Anforderungen Beliebige Inhalte sollen im System als Premium Inhalt gekennzeichnet werden können Premium Inhalte sollen weiterhin für unberechtigte Benutzer sichtbar sein, allerdings nur ein bestimmter

Mehr

Softwaretechnik- und Softwarepraktikum 2013. Lastenheft

Softwaretechnik- und Softwarepraktikum 2013. Lastenheft Softwaretechnik- und Softwarepraktikum 2013 Umsetzung eines verteilten Monopoly-Spiels Lastenheft Auftraggeber Wilhelm Schäfer, Stefan Dziwok, Marie Christin Platenius, Sebastian Lehrig Fachgebiet Softwaretechnik,

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Glossarverwaltung GV3

Glossarverwaltung GV3 Glossarverwaltung GV3 Designbeschreibung VQWiki Leszek Kotas Sebastian Knappe Gerrit Mattausch Raimund Rönn 23. Mai 2004 Inhaltsverzeichnis 1 Allgemeines 3 1.1 Kurzcharakteristik.................................

Mehr

eclipse - Entwicklungsumgebung und mehr ETIS SS05

eclipse - Entwicklungsumgebung und mehr ETIS SS05 eclipse - Entwicklungsumgebung und mehr ETIS SS05 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

Benutzerhandbuch für FaxClient für HylaFAX

Benutzerhandbuch für FaxClient für HylaFAX Benutzerhandbuch für FaxClient für HylaFAX Vielen Dank, daß Sie entschlossen haben, dieses kleine Handbuch zu lesen. Es wird Sie bei der Installation und Benutzung des FaxClients für HylaFAX unterstützen.

Mehr

Die automatische Clientkonfiguration durch den DHCP-Server geschieht folgendermaßen:

Die automatische Clientkonfiguration durch den DHCP-Server geschieht folgendermaßen: Default Gateway: 172.16.22.254 Ein häufiger Fehler in den Konfigurationen liegt darin, dass der Netzanteil des Default Gateway nicht mit dem Netzanteil der IP-Adresse des Rechners übereinstimmt. 4.4 DHCP-Service

Mehr

AJAX SSL- Wizard Referenz

AJAX SSL- Wizard Referenz AJAX SSL- Wizard Referenz Version 1.0.2+ - 04.04.2011 Präambel Die vorliegende Dokumentation beschreibt den AJAX basierten SSL- Wizard der CertCenter AG. Der SSL- Wizard kann mit wenigen Handgriffen nahtlos

Mehr

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 E-Mail: sales@softvision.de Web: www.softvision.de Inhaltsverzeichnis

Mehr

Design Patterns. 5. Juni 2013

Design Patterns. 5. Juni 2013 Design Patterns 5. Juni 2013 Überblick Was sind Design Patterns? Welche Design Patterns gibt es? Wann sollte man Design Patterns einsetzen? Refactoring und Design Patterns: Welchen Zusammenhang gibt es

Mehr

Seminararbeit Ruby Uno Kartenspiel

Seminararbeit Ruby Uno Kartenspiel Seminararbeit Ruby Uno Kartenspiel Autor: Fabian Merki Fabian Merki 05.11.2006 1 von 10 Inhaltsverzeichnis Einleitung... 3 Die Idee... 4 Design und Implementierung in Ruby... 5 Testing... 7 Startbefehle...

Mehr

SmarTeam MS Outlook Integration Version 3.1 Beschreibung des Funktionsumfangs

SmarTeam MS Outlook Integration Version 3.1 Beschreibung des Funktionsumfangs SmarTeam MS Outlook Integration Version 3.1 Beschreibung des Funktionsumfangs Der Aufbau der MS Outlook Integration orientiert sich stark an den SmarTeam Integrationen zu den MS Office Produkten, wobei

Mehr

Smartphone Entwicklung mit Android und Java

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

Mehr

Perzentile mit Hadoop ermitteln

Perzentile mit Hadoop ermitteln Perzentile mit Hadoop ermitteln Ausgangspunkt Ziel dieses Projektes war, einen Hadoop Job zu entwickeln, der mit Hilfe gegebener Parameter Simulationen durchführt und aus den Ergebnissen die Perzentile

Mehr

Konfiguration und Verwendung von MIT - Hosted Exchange

Konfiguration und Verwendung von MIT - Hosted Exchange Konfiguration und Verwendung von MIT - Hosted Exchange Version 3.0, 15. April 2014 Exchange Online via Browser nutzen Sie können mit einem Browser von einem beliebigen Computer aus auf Ihr MIT-Hosted Exchange

Mehr

Verbinden von Outlook mit ihrem Office 365 Konto

Verbinden von Outlook mit ihrem Office 365 Konto Webmailanmeldung Öffnen sie in ihrem Browser die Adresse webmail.gym-knittelfeld.at ein. Sie werden automatisch zum Office 365 Anmeldeportal weitergeleitet. Melden sie sich mit ihrer vollständigen E-Mail-Adresse

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Dokumentation zum Projekt Mail-Adapter in SAP PI 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Inhalt 1. Einleitung... 2 2. Vorgehen... 3 1. Datentyp für die Mail einrichten... 3 2. Message Typen

Mehr

Buzzword-Bingo Dokumentation für die Blockveranstaltung Verteilte Systeme (VSY) im SEP-Semester SS 2011

Buzzword-Bingo Dokumentation für die Blockveranstaltung Verteilte Systeme (VSY) im SEP-Semester SS 2011 Buzzword-Bingo Dokumentation für die Blockveranstaltung Verteilte Systeme (VSY) im SEP-Semester SS 2011 Kristian Kraljic Pascal Krause Manuel Gedack Timo Kodowski Marcel Sinn Markus Opitz April 8, 2011

Mehr

Kurzanleitung. Logstar_FTP. Version 1.1

Kurzanleitung. Logstar_FTP. Version 1.1 Kurzanleitung Logstar_FTP Version 1.1 Februar 2006 UP GmbH Anleitung_Logstar_FTP_1_24.doc Seite 1 von 8 LOGSTAR _FTP Inhaltsverzeichnis Einleitung...3 Registrierung...3 Das Logstar_FTP Hauptmenu...4 Server...4

Mehr

Webmail. Anleitung für Ihr online E-Mail-Postfach. http://webmail.willytel.de

Webmail. Anleitung für Ihr online E-Mail-Postfach. http://webmail.willytel.de Webmail Anleitung für Ihr online E-Mail-Postfach http://webmail.willytel.de Inhalt: Inhalt:... 2 Übersicht:... 3 Menü:... 4 E-Mail:... 4 Funktionen:... 5 Auf neue Nachrichten überprüfen... 5 Neue Nachricht

Mehr

MGE Datenanbindung in GeoMedia

MGE Datenanbindung in GeoMedia TIPPS & TRICKS MGE Datenanbindung in GeoMedia 10. September 2002 / AHU INTERGRAPH (Schweiz) AG Neumattstrasse 24, CH 8953 Dietikon Tel: 043 322 46 46 Fax: 043 322 46 10 HOTLINE: Telefon: 043 322 46 00

Mehr

Finaler Testbericht. Finaler Testbericht. 1 Einführung 2. 1.1 Warum Softwaretests?... 2

Finaler Testbericht. Finaler Testbericht. 1 Einführung 2. 1.1 Warum Softwaretests?... 2 Inhaltsverzeichnis 1 Einführung 2 1.1 Warum Softwaretests?.................................... 2 2 Durchgeführte Tests 2 2.1 Test: allgemeine Funktionalität............................... 2 2.1.1 Beschreibung.....................................

Mehr

Online Help StruxureWare Data Center Expert

Online Help StruxureWare Data Center Expert Online Help StruxureWare Data Center Expert Version 7.2.7 Virtuelle StruxureWare Data Center Expert-Appliance Der StruxureWare Data Center Expert-7.2-Server ist als virtuelle Appliance verfügbar, die auf

Mehr

EINRICHTUNG DER PORTMAPPERDIENSTE VON WWW.FESTE-IP.NET!

EINRICHTUNG DER PORTMAPPERDIENSTE VON WWW.FESTE-IP.NET! EINRICHTUNG DER PORTMAPPERDIENSTE VON WWW.FESTE-IP.NET! Auf den folgenden Seiten haben wir verschiedene Anwendungsfälle für unseren IPv6 Portmapper dokumentiert. Bitte bearbeiten Sie immer nur einen Anwendungsfall.

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

Installation des edu- sharing Plug- Ins für Moodle

Installation des edu- sharing Plug- Ins für Moodle Installation des edu- sharing Plug- Ins für Moodle [edu-sharing Team] [Dieses Dokument beschreibt die Installation und Konfiguration des edu-sharing Plug-Ins für das LMS Moodle.] edu- sharing / metaventis

Mehr

progecad NLM Benutzerhandbuch

progecad NLM Benutzerhandbuch progecad NLM Benutzerhandbuch Rel. 10.2 Inhaltsverzeichnis Inhaltsverzeichnis...2 Einführung...3 Wie Sie beginnen...3 Installieren des progecad NLM-Servers...3 Registrieren des progecad NLM-Servers...3

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

1 Konto für HBCI/FinTS mit Chipkarte einrichten

1 Konto für HBCI/FinTS mit Chipkarte einrichten 1 Konto für HBCI/FinTS mit Chipkarte einrichten Um das Verfahren HBCI/FinTS mit Chipkarte einzusetzen, benötigen Sie einen Chipkartenleser und eine Chipkarte. Die Chipkarte erhalten Sie von Ihrem Kreditinstitut.

Mehr

Sophos Mobile Control Benutzerhandbuch für Android

Sophos Mobile Control Benutzerhandbuch für Android Sophos Mobile Control Benutzerhandbuch für Android Produktversion: 2 Stand: Dezember 2011 Inhalt 1 Über Sophos Mobile Control... 3 2 Einrichten von Sophos Mobile Control auf einem Android-Mobiltelefon...

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

Mobile Computing I. Tickapp Projekt. Dustin Augstein, Thomas Filbry, Eric Jahn Sommersemester 2011. Prof. Dr. Jörg Sahm

Mobile Computing I. Tickapp Projekt. Dustin Augstein, Thomas Filbry, Eric Jahn Sommersemester 2011. Prof. Dr. Jörg Sahm Mobile Computing I Tickapp Projekt Dustin Augstein, Thomas Filbry, Eric Jahn Sommersemester 2011 Prof. Dr. Jörg Sahm Inhaltsverzeichnis Abbildungsverzeichniss... 3 1. Beschreibung der Anwendung... 4 1.1

Mehr

ewon über dynamische Adresszuweisung erreichbar machen

ewon über dynamische Adresszuweisung erreichbar machen ewon - Technical Note Nr. 013 Version 1.3 ewon über dynamische Adresszuweisung erreichbar machen Übersicht 1. Thema 2. Benötigte Komponenten 3. ewon Konfiguration 3.1 ewon IP Adresse einstellen 3.2 ewon

Mehr

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

MVB3. Einrichten eines Servers für MVB3 ab Version 3.5. Admin-Dokumentation. Inhalt V3.05.001

MVB3. Einrichten eines Servers für MVB3 ab Version 3.5. Admin-Dokumentation. Inhalt V3.05.001 V3.05.001 MVB3 Admin-Dokumentation Einrichten eines Servers für MVB3 ab Version 3.5 Inhalt Organisatorische Voraussetzungen... 1 Technische Voraussetzungen... 1 Konfiguration des Servers... 1 1. Komponenten

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

Hello World in Java. Der Weg zum ersten Java-Programm

Hello World in Java. Der Weg zum ersten Java-Programm Vorwort Hello World in Java Der Weg zum ersten Java-Programm Diese Anleitung wurde unter Windows XP verfasst. Grundsätzlich sollte sie auch unter späteren Windows Versionen wie Windows Vista oder Windows

Mehr

SIHLNET E-Mail-Konfiguration

SIHLNET E-Mail-Konfiguration SIHLNET E-Mail-Konfiguration Inhaltsverzeichnis 1. Allgemeines...2 2. OWA...2 2.1. Anmeldung... 2 2.2. Arbeiten mit OWA... 3 2.2.1. Neue E-Mail versenden... 3 2.2.2. E-Mail beantworten / weiterleiten...

Mehr

Handbuch zu AS Connect für Outlook

Handbuch zu AS Connect für Outlook Handbuch zu AS Connect für Outlook AS Connect für Outlook ist die schnelle, einfache Kommunikation zwischen Microsoft Outlook und der AS Datenbank LEISTUNG am BAU. AS Connect für Outlook Stand: 02.04.2013

Mehr

Von Keerthikan T. & Siyar Kolusari 10.12.2012

Von Keerthikan T. & Siyar Kolusari 10.12.2012 M226 OBJECT ORIENTIERT PROGRAMMIEREN Project Checkers An online multi-player Java Game Von Keerthikan T. & Siyar Kolusari 10.12.2012 Inhaltsverzeichnis 1. Projektbeschreibung 3 1.1. Inhalt 3 2. Ziele

Mehr

opensuse 13.2 / SUSE Linux Enterprise 12 Klaus Schmidt Systembetreuer 1. Ausgabe, April 2015 ISBN: 978-3-86249-420-0 LI13XS

opensuse 13.2 / SUSE Linux Enterprise 12 Klaus Schmidt Systembetreuer 1. Ausgabe, April 2015 ISBN: 978-3-86249-420-0 LI13XS Klaus Schmidt 1. Ausgabe, April 2015 opensuse 13.2 / SUSE Linux Enterprise 12 Systembetreuer ISBN: 978-3-86249-420-0 LI13XS 6 opensuse 13.2 / SUSE Linux Enterprise 12 - Systembetreuer 6 YaST bedienen In

Mehr

SmartExporter 2013 R1

SmartExporter 2013 R1 Die aktuelle Version wartet mit zahlreichen neuen Features und umfangreichen Erweiterungen auf. So können mit SmartExporter 2013 R1 nun auch archivierte Daten extrahiert und das Herunterladen der Daten

Mehr

Remote Update User-Anleitung

Remote Update User-Anleitung Remote Update User-Anleitung Version 1.1 Aktualisiert Sophos Anti-Virus auf Windows NT/2000/XP Windows 95/98/Me Über diese Anleitung Mit Remote Update können Sie Sophos-Produkte über das Internet aktualisieren.

Mehr

FREESMS Modul. Bedienungsanleitung

FREESMS Modul. Bedienungsanleitung "! #%$%&('()+*-,+&(.()(&",+&('/*-* 021+3)(*54(6+*278)(9(:+;0-)(&# =@?BADCFEGHJI KMLONJP Q+?+R STQUQ=WV X"Y(ZJVO[O[J\]I=OH@=OR2?8Q^=OP _J=J` ab=op =5^ co`]d"voe]zjfo\>gihjjjkjvozoy(j ab=op =5^ S@Ald"VOe]ZJfO\>gihJjJkJVOZOY+hTj

Mehr

3.9 Grundelemente einer Benutzeroberfläche

3.9 Grundelemente einer Benutzeroberfläche 92 3 Grundlagen einer ios-anwendung 3.8.4 Target-Actions Einer der häufigsten Anwendungsfälle bei einer Oberfläche ist das Betätigen einer Schaltfläche durch einen Anwender, woraufhin eine bestimmte Aktion

Mehr

Open Source IDE - eclipse ETIS SS04

Open Source IDE - eclipse ETIS SS04 Open Source IDE - eclipse ETIS SS04 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung 2 Motivation

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

Mehr

InterCafe 2004. Handbuch für Linux Client

InterCafe 2004. Handbuch für Linux Client Handbuch für Handbuch für Der Inhalt dieses Handbuchs und die zugehörige Software sind Eigentum der blue image GmbH und unterliegen den zugehörigen Lizenzbestimmungen sowie dem Urheberrecht. Alle genannten

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

Mehr

iid software tools QuickStartGuide iid RFID read write unit 13.56 MHz closed coupling RFID iid interface configuration tool

iid software tools QuickStartGuide iid RFID read write unit 13.56 MHz closed coupling RFID iid interface configuration tool iid software tools QuickStartGuide iid software tools RFID read write unit 13.56 MHz closed coupling RFID iid interface configuration tool microsensys Feb 2014 Einleitung Das iid interface configuration

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

Anleitung für TYPO3... 1. Bevor Sie beginnen... 2. Newsletter anlegen... 2. Inhalt platzieren und bearbeiten... 3. Neuen Inhalt anlegen...

Anleitung für TYPO3... 1. Bevor Sie beginnen... 2. Newsletter anlegen... 2. Inhalt platzieren und bearbeiten... 3. Neuen Inhalt anlegen... Seite 1 von 11 Anleitung für TYPO3 Inhalt Anleitung für TYPO3... 1 Bevor Sie beginnen... 2 Newsletter anlegen... 2 Inhalt platzieren und bearbeiten... 3 Neuen Inhalt anlegen... 3 Bestehenden Inhalt bearbeiten...

Mehr

- Entwurfsphase: Entwurfsbeschreibung Gesamtsystem - Version: 1.0

- Entwurfsphase: Entwurfsbeschreibung Gesamtsystem - Version: 1.0 Projektbezeichnung Projektleiter Verantwortlich - Entwurfsphase: Entwurfsbeschreibung Gesamtsystem - Version: 1.0 MSP-13 - Integration eines Semantischen Tagging Systems in Microsoft Sharepoint Martin

Mehr

DB2 Kurzeinführung (Windows)

DB2 Kurzeinführung (Windows) DB2 Kurzeinführung (Windows) Michaelsen c 25. Mai 2010 1 1 Komponenten von DB2 DB2 bietet zahlreiche graphische Oberflächen für die Verwaltung der verschiedenen Komponenten und Anwendungen. Die wichtigsten

Mehr

ekey TOCAhome pc Software Inhaltsverzeichnis 1. ZWECK DIESES DOKUMENTS... 3 2. VERWENDUNGSHINWEIS ZUR SOFTWARE... 3

ekey TOCAhome pc Software Inhaltsverzeichnis 1. ZWECK DIESES DOKUMENTS... 3 2. VERWENDUNGSHINWEIS ZUR SOFTWARE... 3 Inhaltsverzeichnis Software ekey TOCAhome pc 1. ZWECK DIESES DOKUMENTS... 3 2. VERWENDUNGSHINWEIS ZUR SOFTWARE... 3 3. MONTAGE, INSTALLATION UND ERSTINBETRIEBNAHME... 3 4. VERSION... 3 Version 1.5 5. BENUTZEROBERFLÄCHE...

Mehr

1. BlueJ installieren (nach dem Buch Java lernen mit BlueJ von David J. Barnes; Michael Kölling)

1. BlueJ installieren (nach dem Buch Java lernen mit BlueJ von David J. Barnes; Michael Kölling) 1. BlueJ installieren... 1 2. BlueJ auf die deutsche Version umstellen... 1 3. BlueJ Extensions... 2 a. Klassenkarte... 2 i. UML Extension... 2 ii. Klassenkarte zum Schulbuch... 3 b. CNU BlueJ Code Formatter...

Mehr

DIE ZUKUNFT BEGINNT JETZT: ELEKTRONISCHE UNTERSCHRIFT

DIE ZUKUNFT BEGINNT JETZT: ELEKTRONISCHE UNTERSCHRIFT DIE ZUKUNFT BEGINNT JETZT: ELEKTRONISCHE UNTERSCHRIFT Neue Dokumente hochladen Neue Dokumente hochladen Loggen Sie sich auf unserer Homepage ein, um neue Dokumente bei insign hochzuladen. Neue Dokumente

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

ELMA5-Verfahren. Benutzerleitfaden zur Massendatenschnittstelle des BZSt

ELMA5-Verfahren. Benutzerleitfaden zur Massendatenschnittstelle des BZSt ELMA5-Verfahren Benutzerleitfaden zur Massendatenschnittstelle des BZSt Stand: 08.03.2013 Seite 1 von 12 Inhaltsverzeichnis 1 Einleitung... 3 2 Voraussetzungen... 3 3 Dienste zur Teilnahme am ELMA5-Verfahren

Mehr

Erste Schritte mit LimeSurvey Pädagogische Hochschule Heidelberg

Erste Schritte mit LimeSurvey Pädagogische Hochschule Heidelberg 1 Dieses Script ist als Schnellstart gedacht, um das Prinzip von LimeSurvey zu verstehen. Zahlreiche Optionen stehen zur individuellen Erstellung von Umfragen zur Verfügung ein ausführliches Benutzerhandbuch

Mehr

SWN-NetT Webmail. Benutzerhandbuch für SWN-NetT Webmail. SWN-NetT Webmail finden Sie unter: http://webmail.swn-nett.de

SWN-NetT Webmail. Benutzerhandbuch für SWN-NetT Webmail. SWN-NetT Webmail finden Sie unter: http://webmail.swn-nett.de SWN-NetT Webmail Benutzerhandbuch für SWN-NetT Webmail SWN-NetT Webmail finden Sie unter: http://webmail.swn-nett.de Übersicht Einstieg... 2 Menü... 2 E-Mail... 3 Funktionen... 4 Auf eine neue Nachricht

Mehr

17.2 MS-Access Projekte

17.2 MS-Access Projekte 964 Von MS-Access 2000 zum SQL-Server 17.2 MS-Access Projekte MS-Access-Projekte, die die Dateiendung adp besitzen, werden als Front-End-Anwendung verwendet. Für die Back-End-Seite gibt es mehrere Möglichkeiten.

Mehr

HVS32. ein Versandsystem das immer passt. Dokumentation. SAP-IDoc Schnittstelle

HVS32. ein Versandsystem das immer passt. Dokumentation. SAP-IDoc Schnittstelle ein Versandsystem das immer passt Dokumentation SAP-IDoc Schnittstelle Inhalt 1 HVS32 Anbindung an SAP mit IDocs...2 1.1 Integration...2 1.1.1 HVS32...2 1.1.2 HVS32-Gateway...2 1.2 Ablauf...3 2 IDoc Typen...4

Mehr

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

Mehr

Erste Schritte mit Elvis 3 ein Beispielprojekt

Erste Schritte mit Elvis 3 ein Beispielprojekt Erste Schritte mit Elvis 3 ein Beispielprojekt Um Sie mit Elvis 3 vertraut zu machen möchten wir mit Ihnen mit diesem Kapitel ein Beispielprojekt vom ersten Aufruf von Elvis 3 bis zum Testlauf aufbauen.

Mehr

Beispiel droidremoteppt

Beispiel droidremoteppt Arthur Zaczek Nov 2014 1 Beispiel droidremoteppt 1.1 Beschreibung Powerpoint soll mit ein Android Handy über Bluetooth gesteuert werden Folien wechseln (Vor/Zurück) Folien am Handy darstellen Am Handy

Mehr

Kurzanleitung - XVA Provider unter Mac OSX 10

Kurzanleitung - XVA Provider unter Mac OSX 10 Kurzanleitung - XVA Provider unter Mac OSX 10 Installation und Bedienung- Inhalt Allgemeine Hinweise:... 1 Kapitel 1 Installation und Konfiguration... 2 Schritt 1: Java SE Development Kit 6 installieren:...

Mehr

Dokumentation Softwareprojekt AlumniDatenbank

Dokumentation Softwareprojekt AlumniDatenbank Dokumentation Softwareprojekt AlumniDatenbank an der Hochschule Anhalt (FH) Hochschule für angewandte Wissenschaften Fachbereich Informatik 13. Februar 2007 Betreuer (HS Anhalt): Prof. Dr. Detlef Klöditz

Mehr

Online Bedienungsanleitung elektronisches Postfach

Online Bedienungsanleitung elektronisches Postfach Online Bedienungsanleitung elektronisches Postfach 1. elektronisches Postfach 1.1. Prüfung ob das Postfach bereits für Sie bereit steht. 1.2. Postfach aktivieren 1.3. Neue Mitteilungen/Nachrichten von

Mehr

Leitfaden zur Inbetriebnahme von BitByters.Backup

Leitfaden zur Inbetriebnahme von BitByters.Backup Leitfaden zur Inbetriebnahme von BitByters.Backup Der BitByters.Backup - DASIService ist ein Tool mit dem Sie Ihre Datensicherung organisieren können. Es ist nicht nur ein reines Online- Sicherungstool,

Mehr

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8 Byte-Taxi Bedienungsanleitung Seite 1 von 8 Inhaltsverzeichnis 1. Beschreibung 3 2. Systemvoraussetzungen 4 3. Installationsanleitung 5 4. Bedienung 6 5. Infos & Kontakt 8 Seite 2 von 8 1. Beschreibung

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 1 17. Oktober 2002 www4.in.tum.de/~rumpe/se

Mehr

Experte. I-CH-118 Strukturiert implementieren

Experte. I-CH-118 Strukturiert implementieren Autor des Dokuments Valmir Selmani Erstellt / Aktualisiert am 16.06.2011 / 28.06.2011 Teilnehmer des Projekts: Valmir Selmani, Moritz Kündig, Tobias Künzi Seitenanzahl 13 MTV (Moritz Tobias Valmir) 2011

Mehr

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein.

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Pfade einstellen Stand: Dezember 2012 Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Diese Anleitung soll zeigen, wie man Pfad-Favoriten

Mehr

GroupWise Kurs. erweiterte Funktionen

GroupWise Kurs. erweiterte Funktionen GroupWise Kurs erweiterte Funktionen Gliederung 1. REGEL/ FILTER/ SPAM 2 1.1. Urlaubsregel 2 1.2. Junk-Regel 3 2. GRUPPENARBEIT 4 2.1. Freigaben 4 2.2. Vertretung 7 3. SUCHERGEBNISSORDNER 9 4. EXTERNE

Mehr

1 Überblick. A-Z SiteReader Benachrichtigung.doc Seite 1 von 9

1 Überblick. A-Z SiteReader Benachrichtigung.doc Seite 1 von 9 1 Überblick In A-Z SiteReader ist das Feature Benachrichtigung enthalten. Dieses Feature ermöglicht einer Installation, beim Auftreten von Ereignissen eine automatische Benachrichtigung für verschiedene

Mehr

Softwaretechnik- und Softwarepraktikum 2015. Lastenheft

Softwaretechnik- und Softwarepraktikum 2015. Lastenheft Softwaretechnik- und Softwarepraktikum 2015 Umsetzung eines verteilten Fußball-Strategiespiels Lastenheft Auftraggeber Wilhelm Schäfer, Christian Brenner, Christopher Gerking, Marie Christin Platenius

Mehr

Zeiterfassungsanlage Handbuch

Zeiterfassungsanlage Handbuch Zeiterfassungsanlage Handbuch Inhalt In diesem Handbuch werden Sie die Zeiterfassungsanlage kennen sowie verstehen lernen. Es wird beschrieben wie Sie die Anlage einstellen können und wie das Überwachungsprogramm

Mehr

Synchronisations -Assistent 2.6

Synchronisations -Assistent 2.6 TimePunch Synchronisations -Assistent 2.6 Benutzerhandbuch 22.10.2014 TimePunch KG, Wormser Str. 37, 68642 Bürstadt Dokumenten Information: Dokumenten-Name Benutzerhandbuch, Synchronisations-Assistent

Mehr

Datenhaltung für Android. Model First

Datenhaltung für Android. Model First Datenhaltung für Android Model First Frederik Götz, Johannes Tysiak 26.05.2011 Unser Ziel! 26.05.2011 Datenhaltung in Android - Model First» Frederik Götz, Johannes Tysiak 2 Agenda Android Quickstart Datenhaltung

Mehr

8 Das DHCPv6-Protokoll

8 Das DHCPv6-Protokoll 8 Das DHCPv6-Protokoll IPv6 sollte DHCP als eigenständiges Protokoll ursprünglich überflüssig machen, da viele DHCP- Funktionen serienmäßig in IPv6 enthalten sind. Ein IPv6-fähiger Rechner kann aus der

Mehr

Erstsicherung für den Einsatz von

Erstsicherung für den Einsatz von Erstsicherung für den Einsatz von Der BitByters.Backup - DASIService ist ein Tool mit dem Sie Ihre Datensicherung organisieren können. Es ist nicht nur ein reines Online- Sicherungstool, vielmehr können

Mehr

Methoden zur Benutzerüberprüfung im ELMS 1.1

Methoden zur Benutzerüberprüfung im ELMS 1.1 Methoden zur Benutzerüberprüfung im ELMS 1.1 2012-12-21 Kivuto Solutions Inc [VERTRAULICH] INHALTSVERZEICHNIS ÜBERSICHT...1 ÜBERPRÜFUNGSMETHODEN...2 Integrierte Benutzerüberprüfung (IUV)...2 Shibboleth

Mehr

VIDA ADMIN KURZANLEITUNG

VIDA ADMIN KURZANLEITUNG INHALT 1 VIDA ADMIN... 3 1.1 Checkliste... 3 1.2 Benutzer hinzufügen... 3 1.3 VIDA All-in-one registrieren... 4 1.4 Abonnement aktivieren und Benutzer und Computer an ein Abonnement knüpfen... 5 1.5 Benutzername

Mehr

SharePoint Foundation 2013 Installation & konfiguration

SharePoint Foundation 2013 Installation & konfiguration [Geben Sie Text ein] SharePoint Foundation 2013 Installation & konfiguration SharePoint Foundation 2013 Installation & konfiguration Inhalt Windows Server Vorbereitung... 2 SharePoint Foundation 2013 Softwarevoraussetzungen

Mehr

TCP/UDP. Transport Layer

TCP/UDP. Transport Layer TCP/UDP Transport Layer Lernziele 1. Wozu dient die Transportschicht? 2. Was passiert in der Transportschicht? 3. Was sind die wichtigsten Protkolle der Transportschicht? 4. Wofür wird TCP eingesetzt?

Mehr

Webbasierte Installation des Cisco AnyConnect VPN-Client 3.1 unter Linux

Webbasierte Installation des Cisco AnyConnect VPN-Client 3.1 unter Linux Webbasierte Installation des Cisco AnyConnect VPN-Client 3.1 unter Linux Voraussetzungen: Die Installation des Clients setzt eine graphische Benutzeroberfläche voraus. Der Client selbst sowie die Installation

Mehr

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges Komponentenbasierte Client-Architektur Hamburg, 16.11.2007 Bernd Olleck IT-Beratung Olleck Agenda Clients aus drei verschiedenen Perspektiven: Technische Infrastruktur Fachliche Sicht Aufgaben eines Clients

Mehr

Collax Monitoring mit Nagios

Collax Monitoring mit Nagios Collax Monitoring mit Nagios Howto Dieses Howto beschreibt die Konfiguration der Aktiven Überwachung auf einem Collax Server. Intern verwendet das System dafür Nagios. Primär wird Nagios zur Selbstüberwachung

Mehr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr Aufgabe 8.1: Zeigerverdopplung Ermitteln Sie an folgendem Beispiel den Rang für jedes Listenelement sequentiell und mit dem in der Vorlesung vorgestellten parallelen

Mehr

Anleitung zum Online Banking

Anleitung zum Online Banking Anleitung zum Online Banking Diese Anleitung beschreibt das Vorgehen zur Installation und Konfiguration von Online Banking unter Jack. Um das Online Banking in Jack nutzen zu können, müssen Sie das entsprechende

Mehr

Raid-Log-Import: Manual

Raid-Log-Import: Manual Raid-Log-Import: Manual Autor: Hoofy Ein Plugin für: Inhaltsverzeichnis 1. Einführung 2. Einstellungen Was bedeutet welche Option? 2.1. Allgemeine Optionen 2.2. Mitglieder Einstellungen 2.3. Parse-Einstellungen

Mehr