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 |
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 |
|
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.
|
Anforderungsspezifikation |
Spezifiziere globale Anforderungen für das Usability Feature „Dokumentwiederherstellung“ des Systems:
Spezifiziere globale Funktionen (Use Cases) für das Usability Feature „Dokumentwiederherstellung“ des Systems:
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:
|
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. |