Upload
sabine-dose
View
125
Download
5
Embed Size (px)
Citation preview
Gruppe 3Vanja Culafic 0426783
Waldemar Hummer 0416710
Aufwand: ~120 Arbeitsstunden LOC:
◦ File-Sharing Beispiel: ~1700 Davon Corso: ~550 Davon MozartSpaces: ~450
◦ Scrabble Beispiel: ~3300 Davon Socket: ~650 Davon MozartSpaces: ~600
Nur Java™ (keine .NET/C# Variante) MozartSpaces 1.0-alpha (Bsp. 1 und 2) Corso 3.3 (Beispiel 1) Sockets (Beispiel 2) Allgemein:
◦ Log4j◦ Swing◦ Ant
Sharen von Dateien zwischen mehreren Benutzern
Dateien müssen explizit freigegeben werden
Freigegebene Dateien müssen mit Original verlinkt werden◦ Automatische Synchronisierung der Änderungen◦ Wenn ein Benutzer offline ist, soll dies nicht
möglich sein
Mehrere Spiele gleichzeitig Mehrere SpielerInnen in einem Spiel Synchronisierung der Züge
◦ gleichzeitiges Setzen von Buchstaben auf das Spielbrett
Logging von Zügen◦ Recovery von Zügen (rückgängig machbar)◦ Achten auf Score, Buchstaben im Beutel usw.
UI Darstellung des Spielbretts
Vorteile:◦ Variante „embedded core“ (kein zentraler Server)◦ Verständliche API mit AtomicEntry<..> und
Tupeln Nachteile:
◦ Abhängigkeit auf Datei „spaces.prop“ (schwer zu debuggen, nicht dokumentiert)
◦ Schlechtes Laufzeitverhalten bei vielen einzufügenden Tupeln (fast 10s für 100 Tupeln!)
◦ Relativ viele LOC (u. A. durch Schachtelung von AtomicEntry<..>)
Vorteile:◦ Klare API (Adressierung jedes Objekts durch OID)◦ Definition von eigenen, komplexen
Datenstrukturen (CorsoShareable)◦ Großteils „lazy loading“ von Objekt-Attributen◦ Persistenz vorhanden
Nachteile:◦ Server command-line Applikation: keine --help
Option◦ Kryptische Exceptions mit ausdruckslosen
Fehlercodes
Vorteile:◦ Volle Kontrolle über Kommunikationsmethode◦ Definition von Message-Klassen, Serialisierung u.
versenden in Java sehr vereinfacht◦ Keine Einarbeitung notwendig, abschätzbarer
Zeitaufwand Nachteile:
◦ Schreiben von eigenen Routinen für Datenintegrität, Ausfälle, beendete Clients fehleranfällig
◦ Übertragene serialisierte Objekte müssen dieselbe Version haben
◦ Mehr LOC im Vergleich zu Space-Based Varianten
Fragen?