Implementierung eines Mechanismus zur Übertragung von Informationen der Eclipse-Konsole in Saros


von Bernd Bieber


Outline

Saros bietet seinen Nutzern die Möglichkeit, nach einer Sitzung Kritik zu üben und Verbesserungsvorschläge zu machen. Mehrfach wurde auf diese Weise der Wunsch geäußert, den Inhalt der Konsolenausgabe allen Teilnehmern der Sitzung zur Verfügung zu stellen. Diese Arbeit befasst sich mit dieser Aufgabe und hat das Ziel:
  1. die Machbarkeit zu zeigen, also das Auslesen des aktuellen Inhalts der Konsole, sowie dessen Transport zu allen anderen Teilnehmern und dessen Ausgabe.
  2. mit Hilfe von benutzerorientierter Gestaltung die Gebrauchstauglichkeit (Usability) sicherzustellen und iterativ zu erhöhen.
  3. das Saros-Plugin um dieses Feature zu erweitern.

Daraus ergeben sich folgende konkrete Aufgaben:

Machbarkeitsnachweis:

  • Entwicklung eines Prototypen

Benutzerorientierte Gestaltung (User-Centered Design)

  • Nutzungskontext verstehen
    • Feedback der Nutzer auswerten.
    • Videositzungen von verteilter Paar-Programmierung analysieren.
    • Eine entsprechende Anforderung erstellen.
  • Feedback aus dem Vortrag BSE anwenden.
  • Regelmäßige Rücksprache mit dem Benutzer (notfalls mir selbst)
  • Iterativer Prozess zur Erhöhung der Usability

Vorgehensweise bei der Entwicklung:

  • Dokumentation und Anleitungen der zu benutzenden Technologien (Git, Gerrit) verstehen.
  • Analyse der zu nutzenden bestehenden Architektur/Module/Code/Klassen...
  • JUnitTests
    • Analyse der benötigten zu implementierenden Klassen
    • Klassenhüllen anlegen
    • Implementierung der Methoden
  • ständiges Aufräumen des bestehenden Codes (Refactoring)


Anforderung

  • Über die Saros -> Advanced Preferences lässt sich das gesamte Feature, sowie diverse Informationsfenster, aktivieren/deaktivieren (Feature Toggle).
  • Das Teilen der Konsole läßt sich über einen Button(Action) aktivieren.
  • Aktivierung:
    • Der Name und Inhalt aller vorhandenen Konsolen des Auslösers wird ausgelesen und an alle anderen Teilnehmer der Sitzung übertragen.
    • Bei allen anderen Teilnehmern der Sitzung erscheint einmalig ein Informationsfenster mit einer Übersicht der geteilten Konsolen und dem Namen des Auslösers.
    • Für jede geteilte Konsole des Auslösers wird eine neue Konsole bei allen anderen Teilnehmern der Sitzung erstellt und der Name und Inhalt eingefügt.
    • Es wird auf alle Änderungen vorhandener Konsolen des Auslösers reagiert.
    • Wird eine Konsole beim Auslöser gelöscht oder erstellt, wird dies bei allen anderen Teilnehmern der Sitzung ebenfalls getan.
    • Bei jeder Änderung wird der Name und der gesamte Inhalt der entsprechenden Konsole des Auslösers ausgelesen und an alle anderen Teilnehmer der Sitzung übertragen.
    • Bei jeder Änderung überschreibt der neue Inhalt der entsprechenden Konsole aller anderen Teilnehmern der Sitzungden den alten.

  • Deaktivierung:
    • Es wird nicht mehr auf alle Änderungen vorhandener Konsolen oder das Löschen/Erzeugen einer Konsole des Auslösers reagiert.
    • Bei allen Teilnehmern der Sitzung erscheint einmalig ein Informationsfenster mit einer Übersicht der nicht mehr geteilten Konsolen und dem Namen des Auslösers.


Meilensteinplanung

Meilenstein Wochen ZielSorted ascending Prozess
3 0 Anmeldung der Bachelorarbeit abgeschlossen choice-yes
5 1 Anwendungsfälle erstellen abgeschlossen choice-yes
8 4 Bachelorarbeit schreiben  
2 3 Einarbeitung in die Technologien zur Erweiterung von Saros abgeschlossen choice-yes
6 5 Implementierung des Features im Reviewprozess...
1 1 Machbarkeit: Prototyp 1 - Auslesen und Beschreiben der Eclipse-Konsole abgeschlossen choice-yes
4 1 Nutzungskontext: Videos und Feedback auswerten Videos fertig, Feedback in Arbeit...
7 1 Vortrag in BSE vorbereiten, halten und Feedback verarbeiten in Vorbereitung...


Literatur:


Comments

 
Topic revision: r6 - 30 Apr 2014, BerndBieber
 
  • Printable version of this topic (p) Printable version of this topic (p)