ITEC -  Lehrstuhl Betriebssysteme

Software-Entwicklung 23 - Dropbox-like synchronization between smartphones

  • Typ: Vorlesung für Bachelor-Studierende
  • Lehrstuhl: Lehrstuhl Systemarchitektur
  • Semester: SS 2011
  • Zeit:

    Erstes Treffen: Montag, 18. April 2011, 14:00, R. 148, Geb. 50.34

  • Dozent:

    Prof. Dr. Frank Bellosa, Konrad Miller

  • LVNr.: 24510
  • Prüfung: Melden Sie sich bitte unter folgender Prüfungsnummer an: 439
Praxis der Softwareentwicklung (PSE)
In "Praxis der Softwareentwicklung" (PSE) lernen Sie, ein vollständiges Softwareprojekt nach dem Stand der Softwaretechnik in einem Team mit 5 bis 6 Teilnehmern durchzuführen. Ziel ist es insbesondere, Verfahren des Software-Entwurfs und der Qualitätssicherung praktisch einzusetzen, Implementierungskompetenz umzusetzen, und arbeitsteilig im Team zu kooperieren.
 
Motivation:

Nexus One
In den letzten Jahren haben mobile Plattformen wie Mobiltelefone sehr stark an Bedeutung zugenommen. Inzwischen sind Smartphones erhältlich, die in ihrer Leistungsfähigkeit vor einigen Jahren noch aktuellen PCs kaum nachstehen. Diese können mit modernen Softwareentwicklungsmethoden programmiert werden.

Ein Beispiel für ein solches Smartphone stellt das Telefon "HTC Passion" (Google Nexus One) dar. Das Gerät kann mit der Android API in Java programmiert werden - auf ihm soll das hier vorgestellte Praktikum bearbeitet werden.
Aufgabenstellung:
Ihre Aufgabe ist der Entwurf und die Implementierung eines Programms welches es ermöglicht ein Verzeichnis, mithilfe eines zentralen Servers, zwischen verschiedenen Telefonen zu synchronisieren. Eine Klasse, welche die verschlüsselte Kommunikation mit dem Server und die Ausführung der zur Synchronisation benötigten Befehle implementiert, wird vorgegeben.

Zu den Projektzielen gehören:

    -    Automatische Synchronisation modifizierter und neuer Dateien
    -    Löschen von Dateien
    -    Konflikterkennung (z.B. durch Lamport Zeitstempel)
    -    Graphische Benutzerschnittstelle

   

Wünschenswert, aber nicht zwingenderweise notwendig, sind außerdem:

    -    Unterstützung mehrerer Verzeichnisse/Server
    -    Fortschrittsanzeige bei Übertragungen
    -    Unterstützen von Techniken zur Effizienzsteigerung
         (z.B. hinsichtlich des übertragenen Datenvolumens)
    -    Portabilität (z.B. Desktop Version)

Zeitlicher Ablauf:
Es finden wöchentliche Treffen statt. Uhrzeit und Ort werden nach Absprache festgelegt.
Links:
Praxis der Softwareentwicklung
 
Betreuer:
Konrad Miller <millerEso3∂kit edu>