Konzept: Usability Engineering
In dieser Richtlinie wird Usability Engineering beschrieben. Sie wird auch benutzerzentriertes Design genannt und basiert auf einem besseren Verständnis der Endbenutzer sowie auf dem verstärkten Einbeziehen dieser Benutzer in Anforderungen, Benutzerschnittstellendesign und Tests.
Hauptbeschreibung
Konzepte: 

Einführung

Usability Engineering (oder benutzerzentriertes Design) beschäftigt sich mit dem besseren Verständnis der Benutzer sowie dem verstärkten Einbeziehen dieser Benutzer in Anforderungen, Benutzerschnittstellendesign und Tests. Die Basiskonzepte werden auf der Seite Konzept: Benutzerzentriertes Design beschrieben und sollten vor dem vorliegenden Konzept gelesen werden. Diese Konzeptseite erläutert, wie Usability-Engineering-Techniken in Rational Unified Process (RUP) eingesetzt werden.

Rollen

In RUP gibt es verschiedene Rollen, die für Benutzerfreundlichkeit und Bedienungskomfort zuständig sind. Systemanalytiker und Anforderungsautoren müssen im Erfassen und Analysieren von Informationen über Benutzer, ihre Aufgaben und ihre Umgebung geübt sein und die Angaben in Anforderungen umsetzen können. Dieses Material wird vom Anforderungsprüfer bewertet. Tester und Testanalytiker sind hauptsächlich für Bedienbarkeitstests verantwortlich. Der Benutzerschnittstellendesigner ist für das Design und die grafische Form der Benutzerschnittstelle verantwortlich. Der Implementierende wählt die Komponenten aus oder erstellt sie, mit denen eine funktionierende Benutzerschnittstelle konstruiert wird.

Der Projektleiter spielt ebenfalls eine wichtige Rolle. Er sorgt dafür, dass Benutzer in den Entwicklungsprozess integriert werden, und stellt sicher, dass in der Entwicklungsorganisation das erforderliche Know-how vorhanden ist, um einfach zu bedienende Systeme zu erstellen. Andere Rollen wie z. B.  Deployment-Manager,  Kursentwickler und  Technischer Autor sind ebenfalls dafür verantwortlich, dass das implementierte System verwendbar ist.

Disziplinen

Die folgenden Abschnitte beschreiben RUP-Disziplinen anhand von Aktivitäten und Artefakten, die für den Benutzerfreundlichkeit sehr wichtig sind.

Anforderungen

Was die Benutzerfreundlichkeit betrifft, konzentrieren sich die Disziplinen auf Folgendes:

  • Verstehen von Benutzern und ihren Bedürfnissen.
  • Identifikation der Anwendungsfälle mit dem größten Nutzen für die Benutzer.

Die spezifischen Aktivitäten und Artefakte sind:

Aktivität Artefakt Auf Bedienbarkeit bezogener Inhalt
fStakeholder-Anfragen sondieren Stakeholder-Anfragen

Diese Aktivität schließt Benutzerbefragungen, Fragebögen und Workshops ein, die das bessere Verständnis von Benutzern und Benutzerumgebung zum Thema haben. Dazu gehört:

Die Vorlage für das Artefakt "Stakeholder-Anfrage" zeichnet ein detailliertes Benutzerprofil, einschließlich Ausbildung, Computerkenntnisse, Erfahrungen, bestehende Umgebung, Erwartungen, Ziele etc. Sie erfasst außerdem eine Beschreibung des Problems und der Prioritäten vom Benutzerstandpunkt aus. Stakeholder-Anfragen sind das Rohmaterial, aus dem die Vision zusammengestellt wird.

Vision entwickeln Vision

Der Abschnitt Benutzerumgebung in der Visionsvorlage beschreibt die Arbeitsumgebung des Benutzers oder das, was in ISO 13407 als Nutzungskontext definiert ist.

Der Abschnitt Benutzerprofil der Visionsvorlage beschreibt die Erfahrung des Benutzers, seinen technischen Hintergrund, seine Zuständigkeit, Erfolgskriterien, Liefergegenstand etc. Dies ist in ISO 13407] als Benutzeranforderungen definiert.

Akteure und Anwendungsfälle suchen, Anwendungsfallmodell strukturieren, Anwendungsfall ausführlich beschreiben Anwendungsfallmodell

Das Anwendungsfallmodell beschreibt die Aufgaben (Anwendungsfälle), die die Benutzer (menschliche Akteure) ausführen. Es erfasst mittels Generalisierungsbeziehung Ähnlichkeiten und Beziehungen zwischen den Akteuren. Akteure haben Bezug zu den Anwendungsfällen. Das Ganze ähnelt Constantines "Rollenmodellen" [CON99]. Die Anwendungsfälle sind strukturiert und haben über gerichtete Kommunikationsassoziationen, Einschlüsse, Generalisierungen und Erweiterungen Beziehungen untereinander und zu den Akteuren.

Workshops sind ein probates Mittel, die Benutzer einzubeziehen. Siehe Anwendungsfall-Workshops.

 

Akteure

Die Eigenschaften der menschlichen Akteure werden als Attribute erfasst. Hierzu gehören unter anderem:

  • Der Zuständigkeitsbereich des Akteurs.
  • Die physische Umgebung, in der der Akteur das System einsetzen wird.
  • Die Anzahl der Benutzer, die dieser Akteur repräsentiert.
  • Die Häufigkeit, mit der der Akteur das System nutzen wird.
  • Das Fachwissen des Akteurs.
  • Die allgemeine Computererfahrung des Akteurs.
  • Die allgemeinen Eigenschaften der Akteure wie z. B. Ausbildungsstand, soziale Kompetenz und Sprachkenntnisse und Alter.
 

Anwendungsfälle

Zu ihnen können wesentliche Anwendungsfälle wie die von Constantine [CON99] beschriebenen gehören (der Abschnitt Konzept: Benutzerzentriertes Design  enthält eine detaillierte Beschreibung). Bestimmte Anforderungen an die Benutzerfreundlichkeit können unter "Sonderanforderungen" der Anwendungsfallspezifikation zusammengefasst werden.
Softwareanforderungen ausführlich beschreiben

Ergänzende Spezifikationen

Diese ergänzenden Spezifikationen umfassen Anforderungen, die nicht von den Anwendungsfällen abgedeckt werden. Dazu gehören Verfügbarkeit und Leistungsanforderungen, die eng mit dem Bedienungskomfort verknüpft sind. Die allgemeinen Anforderungen an die Benutzerfreundlichkeit und den Bedienungskomfort für mehrere Anwendungsfälle werden hier erfasst, zusammen mit den geltenden gesetzlichen Vorschriften und Bedienbarkeitsstandards (weitere Informationen siehe Konzept: Benutzerzentriertes Design).
 Abhängigkeiten verwalten  Anforderungsattribute Während immer mehr Anwendungsfälle zu Tage treten, muss ihre Wichtigkeit oder der damit erzielbare Nutzen notiert werden. Hierfür sind Rückfragen bei Benutzern und anderen Stakeholdern erforderlich. Andere Attribute, wie z. B. die Häufigkeit, mit der ein Anwendungsfall ausgeführt wird, kann ebenfalls in den Artefakten erfasst werden.
Anforderungen prüfen Änderungsanfrage Die benutzerzentrierte Entwicklung bezieht die Benutzer so weit wie möglich bei allen Prüfungen von Änderungen mit ein.
Gemeinsames Vokabular erfassen Glossar Erfasst einheitliche Begriffe, die in den Benutzerdomänen verwendet werden, um die Kommunikation und das Verständnis zwischen den Benutzern und dem Entwicklerteam zu erleichtern.

Es gibt noch andere Verfahren für die oben genannten Anforderungsaktivitäten.

  • Bei der Erstellung von Affinitätsdiagrammen [HOL96, BEY98] wird jedes Informationsdetail über die Benutzer und ihre Aufgaben auf einer Haftnotiz notiert. Die Benutzer und Analytiker arbeiten zusammen, um Notizen zu ähnlichen Themen in konzeptionellen Gruppen oder "Affinitäten" zusammenzufassen. Diese Aktivität hilft allen dabei, die Themen besser zu verstehen und ihre Prioritäten und Beziehungen einzuordnen.
  • Die Sortierung von Indexkarten [CON99] ähnelt der Aktivität, bei der Indexkarten in Gruppen organisiert werden. Karten können auch nach Wichtigkeit, Häufigkeit etc. sortiert werden.
  • Bei der hierarchischen Modellierung von Aufgaben [MAY99, CON99] werden die Aufgaben analysiert, die gerade von Benutzern durchgeführt werden, und in eine Hierarchie eingeordnet. Die Hierarchie sollte zeigen, wie die Benutzer zu diesem Zeitpunkt die Organisation ihrer Aufgaben verstehen.

Analyse und Design

Andere Aktivitäten dieser Disziplin konzentrieren sich auf das Formen und Entwerfen von Benutzerschnittstellen. Es sind:

Aktivität

Artefakt

Auf Bedienbarkeit bezogener Inhalt

Benutzerschnittstelle entwerfen

Storyboard

Navigationsübersicht

Diese Aktivität erstellt das, was oft konzeptionelles Design [FER01] genannt wird. Dies ist die Abstraktion der Benutzerschnittstelle selbst und stellt das Hauptfenster und die Navigationspfade dar, die der Benutzer sieht. Die Aktivität konzentriert sich auf die Fälle, die für das Design der Benutzerschnittstelle erforderlich sind.

Navigationsübersicht, siehe [CON99], geben einen weiteren Überblick über die Navigationspfade zwischen den Interaktionsbereichen (Anzeigen, Fenstern und Dialogfenstern).

Prototyp der Benutzerschnittstelle erstellen Benutzerschnittstellenprototyp

Es können kann drei Arten von Prototypen erstellt werden:

Zeichnungen (auf Papier)
Bitmaps (mit Zeichentool)
Ausführbare Dateien (interaktiv)
In den meisten Projekten sollten alle drei Prototypen verwendet werden, und zwar in der oben angegebenen Reihenfolge.

Der Hauptzweck eines Benutzerschnittstellenprototyps ist es, die Funktionalität und den Bedienungskomfort des Systems darzustellen und zu testen, bevor das echte Design und die Entwicklung beginnt. Auf diese Weise können Sie sicher sein, das richtige System zu erstellen, bevor viel Zeit und Ressourcen in die Entwicklung fließen.


Die folgenden Verfahren können bei Analyse/Entwurf der Benutzerschnittstelle eine wichtige Rolle spielen.

  • Die bereits beschriebene Sortierung von Indexkarten [CON99] ist für das Entwerfen der Benutzerschnittstelle ebenfalls ein sinnvolles Tool. Jede Menü- oder Inhaltsoption wird durch eine Karte dargestellt; dann ordnen die Benutzer die Karten in logische Gruppen ein.

Zusätzlich zu den oben beschriebenen Aktivitäten können die folgenden Analyse- und Designaktivitäten beim Entwerfen der Benutzerschnittstelle eingesetzt werden:

Aktivität

Artefakt

Auf Bedienbarkeit bezogener Inhalt

Anwendungsfallanalyse Analyseklasse
Anwendungsfallrealisierung

Siehe auch:

Klassendesign

Diese Aktivität verwendet die Ergebnisse von Analyse/Entwurf und der Prototyperstellung der Benutzerschnittstelle und entwirft damit die Klassen. Anders als bei den Prototypen handelt es sich hier nicht um "Wegwerfpackungen", sondern sie stellen das Design des ausgelieferten Systems dar.

Siehe auch:

Richtlinie: Webanwendungen mit UML erstellen


Implementierung

Die Implementierung der Benutzerschnittstelle folgt dem allgemeinen Workflow der Implementierung. Die Implementierung der Benutzerschnittstelle ist häufig Teil der Designaktivität.

Test

Mit der Durchführung von Bedienbarkeitstests und bedienungsbezogenen  Leistungstests sollte begonnen werden, sobald Modelle oder ausführbare Prototypen der Benutzerschnittstelle zur Verfügung stehen. Die Tests sollten Benutzerfreundlichkeit und Leistungsanforderungen, die in den ergänzenden Spezifikationen oder als Sonderanforderungen im Anwendungsfall beschrieben sind.

Deployment

Die Benutzer sollten eng in die  Aktivität: Produktbetatest und auch während der  Aktivität: Abnahmetest verwalten in die endgültigen Bedienbarkeitstests einbezogen werden.

Zur  Aktivität: Unterstützendes Material entwickeln gehört die Entwicklung von Schulungsmaterialien und unterstützendem Material für das System. Dies hilft dem Endbenutzer, das ausgelieferten Softwareprodukt erfolgreich zu nutzen.

Projektleitung

Die Projektleitung muss verschiedene Zielsetzungen, Risikomanagement und Vorgaben sowie Einschränkungen erfolgreich miteinander verknüpfen, so dass das ausgelieferte Produkt die Anforderungen des Kunden, der die Rechnung zahlt, und der Endbenutzer erfüllt. Was die Benutzerfreundlichkeit betrifft, ist die kritischste Aktivität die Aufgabe: Projektorganisation und Mitarbeitereinsatz planen. Diese Aktivität definiert die Organisationsstruktur, externe Schnittstellen sowie Rollen und Zuständigkeiten. Sie definiert auch, inwieweit der Benutzer am Entwicklungsprozess teilnimmt und ob die Anwendungsentwickler Erfahrung mit den Usablility-Engineering-Methoden haben sollten.

Umgebung

Der Disziplin Umgebung schließt die Definition des Entwicklungsprozesses ein, der im Projekt oder in einer Organisation befolgt werden muss. Mit der  Aufgabe: Entwicklungsfall entwickeln ( Arbeitsergebnis: Entwicklungsfall) wird festgelegt, welche Usability-Engineering-Techniken verwendet und welche RUP-Artefakte und Aktivitäten für diese Techniken angepasst werden.

Eine weitere wichtige Aktivität ist die  Aufgabe: Projektspezifische Richtlinien entwickeln, die  Projektrichtlinien erstellt, zu denen auch Richtlinien für die Benutzerschnittstelle gehören. Diese Richtlinien sorgen für Konsistenz bei den Benutzerschnittstellen. Die ist ein wichtiger Beitrag zur Benutzerfreundlichkeit. Darin werden auch die zu befolgenden Prinzipien beschrieben, wie z. B. die Richtlinien für Direktaufrufe, Widerruffunktionen, erkennbare Exits, nicht-modale Interaktionen etc.

Iterative Entwicklung und Phasen

Der RUP-Softwarezyklus ist in vier aufeinander folgende Phasen unterteilt, von denen jede durch einen Meilenstein abgeschlossen wird. Jede Phase stellt im Wesentlichen den Zeitraum zwischen zwei wichtigen Meilensteinen dar. Am Ende jeder Phase wird eine Bewertung ( Aufgabe: Überprüfung der Meilensteine im Lebenszyklus) durchgeführt, um zu bestimmen, ob die Ziele der Phase erreicht wurden. Eine zufriedenstellende Bewertung ermöglicht den Übergang des Projekts in die nächste Phase.

Pro Phase kann es mehrere Iterationen geben. Eine Iteration ist ein Entwicklungszyklus in einem Release (intern oder extern) eines ausführbaren Produkts. Es handelt sich in der Regel um einen Teil des in der Entwicklung befindlichen Endprodukts, der mit jeder Iteration größer wird und schließlich das auszuliefernde System ergibt. Die Benutzerfreundlichkeit wird durch die iterative Methode enorm gesteigert. So können Benutzer frühzeitig die Benutzerfreundlichkeit kommentieren. Dieses Feedback verhindert eine Entwicklung in die falsche Richtung.

Der Benutzer muss bei jeder Iteration einbezogen werden, damit die Anforderungen weiter optimiert und die Designkonzepte bewertet werden können; außerdem muss er einerseits die Prototypen auf Benutzerfreundlichkeit und Erfolgschancen testen und bewerten, andererseits auch das sich entwickelnde System.

Die folgenden Abschnitte beschreiben die Erfüllungskriterien für die nutzungsbezogene Phase und die Hauptaktivitäten der einzelnen Phasen.

Konzeption

Die beiden Hauptziele der Konzeptionsphase sind:

  • Festlegen des Softwareumfangs und der Randbedingungen für das Projekt, einschließlich der betrieblichen Vision, der Abnahmekriterien und der Komponenten, die im Produkt enthalten sein sollen.
  • Unterscheidung der kritischen Anwendungsfälle für das System, der primären Betriebsszenarios, die Entscheidungen bezüglich des Designs beeinflussen.

Vom Aspekt der benutzerzentrierten Anwendungsprogrammierung bedeutet dies die Betonung von Aktivitäten, die sich auf Anforderungen und Erstellung von Geschäftsmodellen beziehen:

  • Verstehen von Benutzern und ihren Bedürfnissen.
  • Identifikation der Anwendungsfälle mit dem größten Nutzen für die Benutzer.

Während der Konzeptionsphase steht häufig Zeit zur Verfügung, Neues zu den Themen konzeptionelles Design und Prototyperstellung mit Prüfung der Erfolgschancen zu erkunden. Dies trifft insbesondere dann zu, wenn die primären Projektrisiken sich auf die Benutzerschnittstelle und die Benutzerfreundlichkeit beziehen. Mit der Durchführung von Bedienbarkeitstests und bedienungsbezogenen  Leistungstests sollte begonnen werden, sobald Modelle oder ausführbare Prototypen der Benutzerschnittstelle zur Verfügung stehen.

Ausarbeitung

Weil RUP ein iterativer Prozess ist, werden die bei der Konzeption erstellten Artefakte ständig überprüft und mit Benutzern besprochen, um den Umfang festzulegen und sicherzustellen, dass das sich entwickelnde System auf die Bedürfnisse der Benutzer zugeschnitten wird.

Bei der Ausarbeitung liegt der Fokus auf der Softwarearchitektur - einschließlich der Architektur der Benutzerschnittstelle. Die konzeptionelle Benutzerschnittstelle wird definiert und die kritischen und/oder risikoreichen Elemente ihres Designs werden implementiert. Aktivitäten, die sich auf die Softwarearchitektur beziehen, gelten in der Regel für die Benutzerschnittstelle; gebrauchsfertig eingekaufte Produkte müssen bewertet, Wiederverwendungsmechanismen festgelegt und Mechanismen und Muster ausgewählt werden.

Diese Phase betont die Aktivitäten des Benutzerschnittstellendesigns und die Unterstützungsaktivität aus der Disziplin Analyse und Design. Implementierung und Test werden ebenfalls einbezogen, weil für die Fertigstellung der Ausarbeitung ein aktives System erstellt werden muss, das bewertet werden kann.

Die Bedienbarkeitstests und die verwandten  Leistungstests sollten sich auf Anforderungsrisiken konzentrieren, die in ergänzenden Spezifikationen oder als "Sonderanforderungen" in den Anwendungsfällen definiert sind.

Konstruktion

Während der Konstruktion liegt der Fokus auf der Implementierung von weiteren Anwendungsfällen. Die Benutzerschnittstelle wird erweitert, bleibt aber ihrem konzeptionellen Modell und den Richtlinien treu, die in den  projektspezifischen Richtlinien erfasst sind. Der Bedienbarkeitstests bleibt sehr wichtig, weil dabei die neu hinzugekommenen Funktionen getestet werden.

Welche Funktionalität in welche Iteration integriert wird, hängt von ihrem Wert für die Benutzer ab.

Übergang

Bei der Übergangsphase beginnt sich der Fokus auf die Disziplin  Deployment zu richten. Bei einer benutzerzentrierten Programmentwicklung sollten Benutzer schon lange vor der Übergangsphase einbezogen werden. Der Benutzer ist ein wichtiger Faktor, hauptsächlich für das Feedback. Wenn Benutzer an der gesamten Entwicklung sowie den formalen Betatests beteiligt waren, sind Abnahmetests oft wesentlich kürzer und können eventuell sogar komplett entfallen. Stattdessen werden die Rückmeldungen der Benutzer und ihre Zustimmung während der gesamten Entwicklung eingearbeitet.

Die Entwicklung von Schulungsmaterial und Unterstützungsmaterial für das System wird in der Übergangsphase abgeschlossen, sollte aber bereits zu einem früheren Zeitpunkt begonnen werden, damit auch Benutzerkommentare einfließen können.

In der Übergangsphase ist ein betriebsfähiges System vorhanden, das von den Benutzern eingesetzt werden kann. Es ist sinnvoll, für die Übergangsphase einige Iteration einzuplanen, damit Probleme des ersten Release korrigiert und Benutzerfeedback integriert werden kann.