Usability Pattern Dokumentwiederherstellung
Problem Benutzer möchten keine ungespeicherten Änderungen an einem Dokument verlieren, wenn ein Systemfehler auftritt.
Lösung

Ermögliche Benutzern, nach einem Systemfehler die letzte Fassung eines Dokuments wiederherzustellen.

Speichere Änderungen am Dokument automatisch in regelmäßigen (kurzen) zeitlichen Abständen.

Im Falle eines Systemfehlers („Absturz“): Erlaube Benutzern beim nächsten Start des Systems, die letzte (verfügbare) Fassung des Dokuments wiederherzustellen.

Stelle sicher, dass die für die Wiederherstellung benötigten Daten (z.B. eine Kopie des Dokuments) bei einem Systemfehler nicht beschädigt werden. Achte ebenfalls darauf, dass die Wiederherstellungsdaten dauerhaft gespeichert bleiben und beim nächsten Start des Systems noch vorhanden ist. (Die Wiederherstellungsdaten sollten also z.B. nicht in einem temporären Verzeichnis gespeichert werden, das vom Betriebssystem automatisch gelöscht wird.)

Beispiel
Erfolgreiche Dokumentwiederherstellung
Vergrößern
Erfolgreiche Dokumentwiederherstellung nach einem Absturz von OpenOffice

OpenOffice.org 3.2: Dokumentwiederherstellung

OpenOffice speichert in regelmäßigen Intervallen Wiederherstellungsdaten für geöffnete Dokumente. Nach einem Absturz des Programms können Benutzer beim nächsten Start auswählen, ob sie die zuletzt bearbeiteten Dokumente wiederherstellen möchten.



Nutzungskontext
  • Dokument-/Dateizentrierte Anwendungen (z.B. Textverarbeitung, Bildbearbeitung)
  • Nutzungssituationen, in denen Benutzer längere Zeit mit einem Dokument arbeiten, so dass ihnen bei einem unvorhergesehenen Systemfehler der Verlust umfangreicher Änderungen droht.
Begründung

Systemfehler sind nicht immer zu vermeiden. Die Dokumentwiederherstellung begrenzt in diesem Fällen die negativen Auswirkungen für Benutzer, da ein vollständiger Datenverlust ungespeicherter Änderungen vermieden wird. Die Fehlerbehebung wird erleichtert, da Benutzer beim nächsten Systemstart die Möglichkeit erhalten, in wenigen Schritten die Daten wiederherzustellen.

Gestaltungsgrundsatz Fehlertoleranz
Zusammenspiel

Alternative Automatisches Speichern

Dokumentwiederherstellung ist für Systeme geeignet, bei denen die eigentliche Speicherung des Dokuments weiterhin dem Benutzer überlassen werden soll und von ihm aktiv angestoßen muss. Durch vom System automatisch gespeicherte Wiederherstellungsdaten wird dabei ein möglicher Datenverlust vermieden, falls der Benutzer z.B. zu speichern vergisst. Alternativ dazu kann das System aber auch automatisch Daten bei Änderungen speichern, ohne das der Benutzer sich aktiv darum kümmern muss. Dies ist vor allem sinnvoll für Daten, bei denen davon ausgegangen werden kann, dass beim automatischen Speichern nicht unerwünscht Daten überschrieben werden (wie es z.B. beim automatischen Speichern einer geänderten Datei denkbar wäre).

Abhängigkeit Abbruch

Benutzer müssen die Möglichkeit haben, nach einem Systemfehler auf die Wiederherstellung der gespeicherten Daten zu verzichten und den Wiederherstellungsvorgang abzubrechen.

Anforderungserhebung

Prüfe, ob Wiederherstellungsdaten für Dokumente automatisch gespeichert werden sollen.

  • In welchem zeitlichen Abstand sollen die Wiederherstellungsdaten gespeichert werden?
  • Alternativ: Sollen Wiederherstellungsdaten nach bestimmten definierten Aktionen gespeichert werden?
  • Soll die Speicherung von Wiederherstellungsdaten benutzerkonfigurierbar sein?
Anforderungsspezifikation

Spezifiziere globale Anforderungen für das Usability Feature „Dokumentwiederherstellung“ des Systems:

  • Globaler ParameterWiederherstellungsstrategieBenötigt
    Vorgabe der Speicherstrategie für Wiederherstellungsdaten (z.B. Festlegung eines Zeitintervalls). Vorgabe der Wiederherstellungsstrategie (z.B. Festlegung, wann Daten wiederhergestellt werden sollen).
    Beispiel: „ Das System soll alle 5 Minuten Wiederherstellungsdaten speichern. Nach einem Systemfehler soll das System dem Benutzer beim nächsten Systemstart die Möglichkeit bieten, ausgehend von diesen Wiederherstellungsdaten weiterzuarbeiten. “
  • Globaler ParameterWiederherstellungsdatenOptional
    Vorgabe der Daten, für die Wiederherstellungsinformationen gespeichert werden sollen.
    Beispiel: „ Alle aktuell geöffneten Dokumente “

Spezifiziere globale Funktionen (Use Cases) für das Usability Feature „Dokumentwiederherstellung“ des Systems:

  • Globale FunktionDokumentwiederherstellung nach SystemfehlerBenötigt
    Use Case, in dem Benutzer die Möglichkeit haben, nach einem Systemfehler auf die Wiederherstellungsdaten zurückzugreifen und mit diesen Daten weiterzuarbeiten. Diese Möglichkeit wird üblicherweise in den regulären Systemstart eingebunden, wenn das System feststellt, dass es zuvor nicht korrekt beendet wurde.
    Beispiel: „Option im Use Case "System starten"“
  • Globale FunktionAutomatisches Speichern der WiederherstellungsdatenOptional
    Use Case zur automatischen Speicherung der Wiederherstellungsdaten (bei Speicherung in regelmäßigen Abständen). Hauptakteur im Use Case ist z.B. ein Zeitgeber/Timer, der den Use Case in regelmäßigen zeitlichen Abständen initiiert.

Spezifiziere, in welchen Interaktionen zwischen Benutzern und System das Usability Feature „Dokumentwiederherstellung“ eingesetzt werden soll. Annotiere und ergänze dazu vorhandene Use Cases in der Spezifikation:

  • Annotation @ Ablauf Speicherung von WiederherstellungsdatenBenötigt
    Nach diesem Ablauf soll das System Wiederherstellungsdaten speichern, mit denen die aktuell vorhandenen Daten nach einem Systemfehler wiederhergestellt werden können.
Architekturentwurf

Die Systemarchitektur muss die regelmäßige Zwischenspeicherung von Wiederherstellungsdaten ermöglichen, die entweder aus einzelnen Aktionen heraus oder automatisch per Timer angestoßen wird. Die Speicherung sollte asynchron erfolgen, so dass Benutzer nicht bei der Arbeit mit dem System unterbrochen werden. In Java Swing existiert mit SwingWorker eine Lösung für asynchrone Aktionen, in Microsoft .NET analog dazu BackgroundWorker .

Als Datenformat für Wiederherstellungsdaten kann das reguläre Datenformat genutzt werden, gegebenenfalls mit einer speziellen Kennzeichnung als Wiederherstellungsdaten versehen (z. B. Speicherung in speziellem Wiederherstellungsverzeichnis). Beim regulären Systemende können diese Wiederherstellungsdaten gelöscht werden. Bei jedem Systemstart muss überprüft werden, ob Wiederherstellungsdaten vorhanden sind (aufgrund eines Systemabbruchs); ist dies der Fall, muss das System eine Wiederherstellung gemäß dieser Daten anbieten.