Konzepte:
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.
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.
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:
Die Implementierung der Benutzerschnittstelle folgt dem allgemeinen Workflow der Implementierung. Die Implementierung
der Benutzerschnittstelle ist häufig Teil der Designaktivität.
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.
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.
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.
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.
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.
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.
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.
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.
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.
|