Bedienkonzepte für ein zukünftiges PMX.
Transcrição
Bedienkonzepte für ein zukünftiges PMX.
Diplomarbeit Fachhochschule Karlsruhe – Hochschule für Technik Fachbereich Informatik Bedienkonzepte für ein zukünftiges PMX Ulrich Schmid Propack Data GmbH Vincenz-Prießnitz Straße 1 76131 Karlsruhe Referent: Prof. Klaus Gremminger Koreferent: Prof. Dr. Peter A. Henning Betreuer: Dr. August Ludviksson Dipl.-Inform. Wolfgang Schmitt Inhalt Abbildungsverzeichnis ..............................................................................................I Tabellenverzeichnis .................................................................................................III Erklärung.................................................................................................................. IV Zusammenfassung................................................................................................... V Abstract.................................................................................................................... VI 1 Einleitung ............................................................................................................1 1.1 Aufgabenbeschreibung......................................................................................1 1.2 Die Propack Data GmbH ...................................................................................2 1.3 Gliederung der Arbeit ........................................................................................3 2 Software-Ergonomie und Usability Engineering..............................................4 2.1 Software-Ergonomie..........................................................................................4 2.1.1 Richtlinien und Normen auf nationaler Ebene ...................................................... 5 2.1.2 Richtlinien und Normen auf internationaler Ebene ............................................... 6 2.2 Usability Engineering .........................................................................................8 2.2.1 Analyse................................................................................................................ 8 2.2.2 Design ............................................................................................................... 13 2.2.3 Usability Evaluation............................................................................................ 15 3 Stand der Technik von Dialogsystemen .........................................................17 3.1 Grafische Benutzeroberflächen .......................................................................17 3.1.1 Standard Interaktionskomponenten ................................................................... 17 3.1.2 Wizards.............................................................................................................. 25 3.1.3 Direkte Manipulation .......................................................................................... 26 3.2 Neue Dialogtechniken......................................................................................27 3.2.1 Treibende Kräfte ................................................................................................ 27 3.2.2 Neue Dialogkomponenten.................................................................................. 27 3.2.3 Fisheye-View ..................................................................................................... 30 3.2.4 Zoombare User Interfaces - ZUI......................................................................... 32 3.2.5 Virtuelle Realität und 3D User-Interfaces ........................................................... 33 3.2.6 Adaptive Systeme .............................................................................................. 34 3.2.7 Akustische Interaktion - Sprache........................................................................ 36 3.2.8 Gestenbasierte Interaktion ................................................................................. 39 3.2.9 Haptische Eingabegeräte................................................................................... 39 3.2.10 Weitere innovative Interaktionsformen............................................................ 40 3.3 Höhere Qualitäten - Joy of use ........................................................................40 3.3.1 Gründe warum Software Freude machen sollte: ................................................ 41 3.3.2 Hedonistische Qualitäten ................................................................................... 41 3.3.3 Semantic Differential.......................................................................................... 42 3.4 Psychologische Aspekte - Wahrnehmungspsychologie...................................43 3.4.1 Farbpsychologie ................................................................................................ 43 3.4.2 Gestaltpsychologie............................................................................................. 46 4 CTM – Clinical Trial Management ....................................................................49 4.1 EDB – die Engineering Database von CTM.....................................................49 4.1.1 Master Data Management.................................................................................. 49 4.1.2 Versionskontrolle ............................................................................................... 50 4.1.3 Herstellungs- und Verpackungsanweisungen .................................................... 50 4.1.4 Management von Studien .................................................................................. 51 4.1.5 Design, Pflege und Ausdruck von mehrsprachigen Etiketten ............................. 52 4.2 Analyse............................................................................................................53 4.2.1 Das bestehende Bedienkonzept ........................................................................ 53 4.2.2 Schwachstellen des gegenwärtigen Bedienkonzeptes ....................................... 55 4.2.3 Analyse der Benutzer......................................................................................... 58 4.2.4 Aufgabenanalyse ............................................................................................... 60 5 Design und Implementierung...........................................................................68 5.1 Die Lücke zwischen Analyse und Design ........................................................68 5.2 Konzeptuelles Design ......................................................................................68 5.2.1 Wizard-Konzept für das Anlegen von Studiendaten ........................................... 69 5.2.2 Modus für das Editieren von Studiendaten......................................................... 69 5.3 Visuelles Design – Implementierung von Prototypen ......................................72 5.3.1 Java Swing ........................................................................................................ 72 5.3.2 Implementierung eines Editier-Konzeptes.......................................................... 74 5.3.3 Realisierung des Wizard-Konzeptes .................................................................. 86 6 Evaluierung der Prototypen .............................................................................97 6.1 Aufgabenstellung .............................................................................................97 6.2 Durchführung der Evaluierung.........................................................................99 6.2.1 Teilanlegen der Studiendaten ............................................................................ 99 6.2.2 Editieren der Studiendaten............................................................................... 101 6.2.3 Vollständiges Anlegen der Studiendaten.......................................................... 101 6.2.4 Schlussfolgerung ............................................................................................. 101 6.3 Hedonistische Qualität des neuen Konzeptes ...............................................102 7 Bewertung und Ausblick................................................................................103 7.1 Bewertung der neuen Konzepte ....................................................................104 7.2 Ausblick .........................................................................................................105 A Literaturverzeichnis........................................................................................107 Abbildungsverzeichnis Abbildung 1.1: Propack-Data................................................................................................. 2 Abbildung 1.2: Produktions Management mit PMX ................................................................ 2 Abbildung 2.1: Iterativer Prozess des Usability Engineering .................................................. 8 Abbildung 2.2: Task Trees [Welie01] ................................................................................... 11 Abbildung 2.3: Aktivitätendiagramm [Welie01]..................................................................... 12 Abbildung 2.4: Kollaborationsdiagramm[Welie01]................................................................ 12 Abbildung 3.1: Ergänzung der Mauszeigers [Wessel98] ...................................................... 24 Abbildung 3.2: Animation eines Prozesses [Wessel98] ....................................................... 25 Abbildung 3.3: Window Shade Container – closed [Hudson97] ........................................... 28 Abbildung 3.4: Window Shade Container – opened [Hudson97].......................................... 28 Abbildung 3.5: IBM RealPhone [IBM]................................................................................... 29 Abbildung 3.6: JGraph [Sun01]............................................................................................ 30 Abbildung 3.7: Fisheye Menu [HCIL00] ............................................................................... 31 Abbildung 3.8: Hyperbolic Browser [inxight02]..................................................................... 31 Abbildung 3.9: Zoombares User Interface – Großansicht [HCIL00] ..................................... 32 Abbildung 3.10: Zoombares User Interface – Detailansicht [HCIL00]................................... 32 Abbildung 3.11: Task Gallery[Micros00] .............................................................................. 33 Abbildung 3.12: Conetree [Geisler98] .................................................................................. 34 Abbildung 3.13: antropomorpher Agent [TUD00] ................................................................. 36 Abbildung 3.14: Nähe .......................................................................................................... 47 Abbildung 3.15: Geschlossenheit ........................................................................................ 47 Abbildung 3.16: Ähnlichkeit ................................................................................................. 47 Abbildung 3.17: Kontinuität.................................................................................................. 48 Abbildung 3.18: Erfahrung ................................................................................................... 48 Abbildung 4.1: Herstellungs - und Verpackungsanweisung [PD01a].................................... 50 Abbildung 4.2:Snapshot - Medikations-Matrix...................................................................... 52 Abbildung 4.3: Abhängigkeiten der Objekte [PD01a] ........................................................... 54 Abbildung 4.4: Snapshot - Hauptfenster der CTM-EDB ....................................................... 56 Abbildung 4.5: Snapshot - Auswahlliste mit Selektionsfeldern ............................................. 57 Abbildung 4.6: Abhängigkeiten der Objekte in der CTM-EDB .............................................. 58 Abbildung 4.7: Snapshot - Dialogfenster einer Studie.......................................................... 58 -I- Abbildung 4.8: Tasktree - Hauptaufgaben von CTM ............................................................ 60 Abbildung 4.9: Tasktree - Management von Studiendaten................................................... 61 Abbildung 4.10: Datenbankdiagramm der Studiendaten ...................................................... 62 Abbildung 4.11: Aktivitätsdiagramm - Anlegen von Studiendaten ........................................ 63 Abbildung 4.12: Aktivitätsdiagramm - Durchführen der Randomisierung ............................. 64 Abbildung 4.13: Tasktree - Anlegen eines Medikationskopfes ............................................. 65 Abbildung 4.14: Snapshot - Unübersichtlichkeit des bestehenden Systems ........................ 66 Abbildung 5.1: Papierentwurf - Eingangsdialog ................................................................... 70 Abbildung 5.2: Papierentwurf - 1. Editierkonzept ................................................................. 70 Abbildung 5.3: Papierentwurf - 2. Editierkonzept ................................................................. 71 Abbildung 5.4: MVC-Konzept in der Theorie [Schlie99] ....................................................... 73 Abbildung 5.5: MVC-Konzept von Java-Swing [Schlie99] .................................................... 74 Abbildung 5.6: Übersichtsgraph........................................................................................... 75 Abbildung 5.7: Klassendiagramm - Datasource ................................................................... 76 Abbildung 5.8: Klassendiagramm - JApplicationFrame........................................................ 77 Abbildung 5.9: Eingangsdialog des neuen Konzeptes ......................................................... 78 Abbildung 5.10: Klassendiagramm - Explorer ...................................................................... 79 Abbildung 5.11: Sequenzdiagramm - Zusammenspiel der Objekte...................................... 83 Abbildung 5.12: Klassendiagramm - Editier-Sichten ............................................................ 84 Abbildung 5.13: Klassendiagramm - JCTMNode ................................................................. 85 Abbildung 5.14: Papierentwurf für das Wizardkonzept......................................................... 87 Abbildung 5.15: Snapshot des Wizardkonzeptes................................................................. 88 Abbildung 5.16: Snapshot - Anlegen von Medikationen und Medikationskennungen........... 89 Abbildung 5.17: Snapshot - Statuswechsel.......................................................................... 90 Abbildung 5.18: Snapshot - Eingangsdarstellung des Wizard.............................................. 91 Abbildung 5.19: Klassendiagramm - IncompleteStudy......................................................... 92 Abbildung 5.20: Sequenzdiagramm - Anlegen neuer Studiendaten ..................................... 93 Abbildung 5.21: Sequenzdiagramm - Wiederaufnahme des Anlegevorgangs...................... 94 Abbildung 6.1: Snapshot - Aufruf des Wizard-Modus........................................................... 99 Abbildung 6.2: Snapshot - Vorzeitiges Verlassen des Wizard-Modus ................................ 100 - II - Tabellenverzeichnis Tabelle 3.1: Semantic Differential ........................................................................................ 42 Tabelle 4.1: Vergleich mit Richtlinien und Normen............................................................... 56 Tabelle 6.1: Beurteilung nach der Technik des Semantic Differential................................. 102 Tabelle 7.1: Vergleich des neuen Konzeptes mit Richtlinien und Normen ......................... 105 - III - Erklärung Hiermit erkläre ich, dass ich die vorliegende Diplomarbeit mit dem Titel ‘Bedienkonzepte für ein zukünftiges PMX’ selbständig und ausschließlich unter Verwendung der angegebenen Literatur verfasst habe. Die Arbeit wurde in gleicher oder ähnlicher Form keiner anderen Prüfungsbehörde zum Erlangen eines akademischen Grades vorgelegt. Karlsruhe, den 25. Februar 2002 Ulrich Schmid - IV - Zusammenfassung Thema dieser Diplomarbeit ist die Evaluierung moderner Bedienkonzepte sowie der darauf aufbauende Entwurf eines neuen Benutzerdialoges für ein zukünftiges PMX-System. Hierzu wird zunächst untersucht welche Eigenschaften ein gut zu bedienendes und benutzerfreundliches Softwaresystem auszeichnen. In diesem Zusammenhang wird der Begriff der Software-Ergonomie aufgrund von bestehenden Richtlinien und Normen genau definiert. Darauf folgend wird die Vorgehensweise des Usability Engineering beschrieben. Hierbei handelt es sich um einen iterativen Prozess, der es ermöglicht von einer gegebenen Aufgabenstellung zum letztendlichen ergonomischen Bedienkonzept zu gelangen. Anhand von Literatur- und Internetrecherche wurde untersucht, welche Möglichkeiten der Gestaltung von Benutzerschnittstellen es gibt. Zudem wurde nach neuen Dialogtechniken gesucht, die es ermöglichen große Datenmengen und komplexe Datenstrukturen übersichtlich darzustellen. Im Kapitel Stand der Technik von Dialogsystemen werden die dabei gewonnenen Ergebnisse aufgezeigt. Unter dem Begriff des Joy of use werden neue, höher gesteckte Qualitäten bei der Entwicklung moderner Benutzerdialoge vorgestellt. Da zudem auch psychologische Aspekte eine Rolle spielen, wird abschließend auf die Gebiete Farbpsychologie sowie Gestaltpsychologie eingegangen. Im praktischen Teil wird für die Aufgabenstellung des Managements von Studiendaten ein neues Bedienkonzept entworfen. Hierzu erfolgt, entsprechend der Methodik des Usability Engineering, zunächst die Analyse der Benutzer sowie die Aufgabenanalyse. Aufbauend auf den Analyseergebnissen werden dann konzeptuelle Entwürfe verschiedener Bedienkonzepte erstellt, von denen ein Teil mit der Grafikbibliothek Java-Swing umgesetzt wird. Um einen Iterationszyklus des Usability Engineerings zu vervollständigen, erfolgt zum Abschluss noch die Evaluierung anhand einer Testperson. -V- Abstract Subject of this thesis is the evaluation of modern usability concept as well as the design of a new user interface prototype for a future PMX system. At first there will be investigated which properties mark a well to use and user-friendly software system. In this context the term “software ergonomics” will be specified based on rules and standards. The approach of usability engineering describes an iterative process, which enables getting from a task to the appropriate ergonomic user interface. This approach will be described additionally. Based on a literature and internet inquiry different approaches towards the design of a user interface were investigated. Furthermore we searched for new presentation techniques that enable the concise display of large amounts of data as well as complex data structures. In the chapter Stand der Technik von Dialogsystemen the results of this inquiry are presented. Under the term joy of use new and higher qualities in developing modern user interfaces will be pointed out. As additional psychological aspects are also relevant, the fields of color psychology as well as gestalt psychology will be touched upon. In the practical part of this thesis prototypes for a new usability concept for the task of management of studydata will be designed. Following the methodology of usability engineering the analysis of users and tasks will be carried out. Based on the results of this analysis conceptual designs of different usability concepts will be created. Parts of these concepts will be implemented in the graphical library Java Swing. To complete one iterative cycle of the usability engineering process the step of evaluating the prototypes will be carried out with a test person. - VI - 1 Einleitung “To the user, the system is the interface.” unbekannt Durch den rasanten Fortschritt der Informationstechnologie werden immer neue und komplexere Aufgaben durch den Computer übernommen und immer größere Datenmengen müssen verwaltet werden. Menschen müssen sich mit einer Vielzahl von Systemen zurecht finden und es bleibt oft keine Zeit sich in diese entsprechend einzuarbeiten. Zudem ist es dem Benutzer nicht mehr zumutbar sich die Bedienschritte der verschiedensten, immer komplexeren Produkte zu merken. Diese Umstände verlangen es, die Benutzung moderner Softwaresysteme so weit wie möglich zu vereinfachen und intuitiv zu gestalten. Die Benutzung eines Systems sollte problemlos möglich sein und nicht vom eigentlichen Ziel, der Durchführung einer Aufgabe, ablenken. Ist dies nicht gegeben wird der Nutzer sehr schnell in die Rolle des „Be-Dieners“ gezwängt und ihm ein Gefühl der Abhängigkeit vom Softwaresystem vermittelt. Ein im Aussehen und in der Bedienbarkeit gut gestaltetes Softwareprodukt, hat durchaus auch einen ökonomischen Faktor sowohl für den Hersteller des Systems als auch für den Käufer. Aus dem Blickwinkel des Herstellers wird sich ein Softwareprodukt, das ein gelungenes Bedienkonzept besitzt, wesentlich besser verkaufen. Zum einen eben wegen seiner guten Bedienbarkeit zum anderen aber auch weil die Qualität der Benutzerschnittstelle oft mit der Qualität des eigentlichen Systems gleichgesetzt wird. Der ökonomische Vorteil des Käufers einer gut zu bedienenden Software liegt auf der Hand. Einfache Bedienung verkürzt sowohl die Einarbeitungszeit als auch die effektive Zeit des Benutzens. Zudem steigert ein gelungenes Bedienkonzept die Zufriedenheit der Benutzer, erhöht dadurch auch die Qualität ihrer Arbeit und wird somit zu einem wesentlichen Erfolgsfaktor. 1.1 Aufgabenbeschreibung In dieser Diplomarbeit ist zunächst zu untersuchen welche Eigenschaften eine Benutzerschnittstelle haben sollte, damit sie optimal bedienbar ist. In diesem Zusammenhang ist der Begriff der Software-Ergonomie zu klären und anhand von bestehenden Richtlinien und Normen genauer zu definieren. Ob es allgemeingültige Vorgehensweisen gibt um von einer Aufgabenstellung zum entsprechenden gut zu bedienenden Softwaresystem zu gelangen wird darauf folgend untersucht und dargestellt. Des weiteren erfolgt eine Aufnahme des Standes der Technik anhand von Literatur- und Internetrecherche, die zeigen soll, welche verschiedenen Bedienkonzepte und Möglichkeiten zur übersichtlichen Darstellung großer Datenmengen und komplexer Datenstrukturen es gibt. Einleitung 2 Dabei ist vornehmlich an die Bedienung grafischer Benutzeroberflächen gedacht aber auch Spracheingabe sowie gestische Eingabe sollten in die Betrachtungen mit einfließen. Neben neuen Visualisierungs- und Interaktionsansätzen soll diese Recherche aber auch neue Qualitäten bei der Gestaltung der Mensch-Technik-Interaktion berücksichtigen. Da diese Arbeit bei der Firma Propack Data entsteht, werden danach, in Zusammenarbeit mit Domain-Spezialisten von Propack Data, die besonderen Anforderungen der SoftwareLösung für das Clinical Trial Management (CTM) aufgenommen. Schließlich erfolgt die iterative Umsetzung der Ergebnisse in Form von Prototypen die dann mit DomainSpezialisten bewertet werden. 1.2 Die Propack Data GmbH Die Propack Data GmbH wurde 1984 gegründet und ist heute mit seinem System PMX der weltweit führende Anbieter von Hard- und Software im Bereich des Enterprise Production Management in der pharmazeutischen Industrie. Zudem findet PMX auch Einsatz in den Bereichen der Nahrungsmittel- und Getränke-, sowie der kosmetischen und chemischen Industrie. Im Januar 2002 wurden die bisherigen Gesellschafter von Propack Data durch die US-amerikanische Firma Rockwell Automation abgelöst. Abbildung 1.1: Propack-Data PMX besteht aus den 4 Lösungen Manufacturing Execution System (MES), Clinical Trial Management (CTM), Research Development Management (RDM) sowie Manufacturing Quality Service (MQS), die wiederum aus verschiedenen Modulen aufgebaut sind. Diese verschiedenen integrierten Module, begleiten den gesamten Produktionsprozess, von der Wirkstoffentdeckung und –entwicklung über klinische Studien bis hin zur Fertigung. Abbildung 1.2: Produktions Management mit PMX Das System wurde und wird in enger Zusammenarbeit mit Propack Data’s Kunden entwickelt und stellt somit einen weltweiten Standard dar. Zudem ist das System in hohem Maße Einleitung 3 anpassbar und ermöglicht es den unterschiedlichen Anforderungen der Kunden gerecht zu werden. Neben der Integration und dem Projektmanagement bietet Propack Data weitere Dienstleistungen wie beispielsweise Wartung oder Schulung. Zusätzliche Informationen hierzu sind im Internet unter http://www.propack-data.com zugänglich. 1.3 Gliederung der Arbeit Im Kapitel 2 Software Ergonomie und Usability Engineering wird zunächst der Begriff der Software-Ergonomie genauer beschrieben. Zudem wird anhand von bestehenden Richtlinien und Normen dargestellt welche Eigenschaften ein gut zu bedienendes und benutzerfreundliches Dialogsystem auszeichnen. Da das Wissen über die Eigenschaften eines ergonomischen Softwaresystems nicht ausreicht um später einen gut zu bedienenden und benutzerfreundlichen Prototypen zu schaffen wird ergänzend in Kapitel 2 die Vorgehensweise des Usability Engineering beschrieben. Hierbei handelt sich um eine festgelegte Methodik um von einer gegebenen Aufgabenstellung zum entsprechenden ergonomischen System zu kommen. Darauf folgend wird in Kapitel 3 Stand der Technik von Dialogsystemen zunächst auf die Grundbestandteile gegenwärtiger grafischer Benutzeroberflächen eingegangen und erläutert wie diese sinnvoll eingesetzt werden. Ziel dieser Arbeit war es auch, aufgrund von Literatur- und Internetrecherche neue Möglichkeiten der Visualisierung, sowie darüber hinaus neue Interaktionstechniken zu finden. Da die Ergebnisse dieser Recherche sehr vielfältig waren, werden hier hauptsächlich Möglichkeiten und Techniken aufgeführt, die in einem neuen Bedienkonzept für das System PMX in Frage kommen könnten. Des weiteren werden in Kapitel 3 unter dem Begriff des Joy of use neue Qualitäten bei der Gestaltung von Benutzerschnittstellen vorgestellt sowie psychologische Aspekte erläutert. Die späteren Prototypen eines neuen Bedienkonzeptes wurden für die Aufgabenstellung des Managements von Studiendaten geschaffen. In Kapitel 4 CTM – Clinical Trial Management wird deshalb die CTM-Lösung von PMX vorgestellt, in der diese Aufgabenstellung realisiert ist. Anschließend erfolgt, basierend auf der in Kapitel 2 vorgestellten Methodik des Usability Engineering, die Benutzer- und Aufgabenanalyse. In Kapitel 5 Design und Implementierung wird der Entwurf verschiedener Konzepte aufbauend auf den Analyseergebnissen anhand von textuellen Beschreibungen aber auch durch Papier-Prototypen und Snapshots näher erläutert. Aufbauend auf den konzeptuellen Entwürfen wurden zwei Prototypen umgesetzt. Diese realisierten die beiden folgenden Modi: · · Wizard-Modus zum Anlegen von Studiendaten Editier-Modus zum Ändern und Ergänzen von Studiendaten Die Realisierung dieser Modi wird textuell und anhand von Diagrammen sowie CodeBeispielen dokumentiert. Nach der Implementierung der Prototypen wurden diese entsprechend der Methodik des Usability Engineering einer Testperson vorgeführt und ausgewertet. Kapitel 6 Evaluierung der Prototypen beschreibt diesen Schritt und zeigt die Testergebnisse. 2 Software-Ergonomie und Usability Engineering „Sind ihre User alle Vollidioten?“ Worte eines Programmierers Um eine optimal zu bedienende Benutzerschnittstelle realisieren zu können, ist es wichtig Kenntnis darüber zu haben, welche Kriterien ein solches System erfüllen muss. Unter dem Begriff der Software-Ergonomie werden diese Eigenschaften eines guten Bedienkonzepts im folgenden dargestellt. Neben dem Wissen welche Qualitäten ein ergonomisches System auszeichnen, ist es zudem wichtig eine Vorgehensweise an der Hand zu haben, die es ermöglicht von einer gegebenen Aufgabenstellung zur entsprechenden gut zu bedienenden Benutzerschnittstelle zu gelangen. In diesem Zusammenhang wird der Entwicklungsprozess des Usability Engineering vorgestellt und seine Möglichkeiten untersucht. 2.1 Software-Ergonomie Gleichbedeutend für die Begriffe Bedienbarkeit, Benutzerfreundlichkeit oder Usability steht heute der Begriff der Software-Ergonomie. Bei dem Begriff Ergonomie geht es um die Anpassung der Arbeitsaufgaben, des Arbeitsumfeldes und der Hilfsmittel an die physischen und psychischen Fähigkeiten des arbeitenden Menschen. Ziel ist es Gesundheit, Sicherheit, Wohlbefinden und Leistungsvermögen des Menschen zu verbessern. Aus diesem Grund greift die Software-Ergonomie neben den Kenntnissen aus der Informatik auch auf das Wissen aus der Psychologie und den Arbeitswissenschaften zurück. Ergonomie u. Ergonomik = Wissenschaft von den Leistungsmöglichkeiten und grenzen des arbeitenden Menschen sowie der besten wechselseitigen Anpassung zwischen dem Menschen und seinen Arbeitsbedingungen nach Duden, Band 5, Das Fremdwörterbuch Einfach formuliert zeichnet sich eine optimale ergonomische Software dadurch aus, dass sie an den Benutzer angepasst ist. Natürlich ist diese Forderung nie komplett zu erfüllen, da die Benutzer einer Software verschiedene individuelle Eigenschaften und Fähigkeiten besitzen. Trotzdem kann bei der Entwicklung einer Benutzerschnittstelle auf die verschiedenen Typen von Benutzern eingegangen und ein Höchstmaß an Anpassung angestrebt werden. Software-Ergonomie und Usability Engineering Die Erkenntnisse aus der Software-Ergonomie sind in verschiedenen Normen und Richtlinien definiert. Grundsätzlich bieten Normen und Richtlinien bei der Gestaltung ergonomischer Software die Möglichkeit die Erfahrungen verschiedener Projekte zu sammeln und Schnittstellen zu vereinheitlichen. Laut [Mekel01] können Gesetze, Richtlinien und Normen folgende Funktionen erfüllen: · · · Sie sind ein Hilfsmittel, um unterschiedliche Beiträge zu koordinieren und zu vereinheitlichen. Entscheidungen müssen nur einmal gefällt werden und nicht immer wieder aufs Neue, entsprechend der Kenntnisse und Ansichten der gerade Beteiligten. Außerdem lassen sich Entscheidungen durch eine Richtlinie gut kommunizieren. Zudem lassen sich detaillierte Anforderungskataloge aufstellen, die umfangreiche Erfahrungen berücksichtigen. Diese dienen gleichzeitig als Grundlage der Prüfung von Zwischenstadien und des Endprodukts. Im folgenden werden nun die für die Entwicklung von Benutzerschnittstellen wichtigsten Richtlinien und Normen aufgeführt: 2.1.1 Richtlinien und Normen auf nationaler Ebene VDI-Richtlinie 5005: Software-Ergonomie in der Bürokommunikation Der VDI definiert drei Kriterien, die bei einer software-ergonomischen Systemgestaltung gemeinsam in ausreichendem Maß erfüllt sein müssen [Mekel01]: 1. Kompetenzförderlichkeit: Die software-ergonomische Gestaltung der Mensch-Rechner-Interaktion soll dazu beitragen, dem Benutzer einen kompetenten Umgang mit dem System zu ermöglichen und damit seine Handlungskompetenz zu fördern. Handlungskompetenz bedeutet, dass sich der Benutzer Wissen über das System und seine organisatorische Einbettung erworben hat und dass er dieses Wissen auf die von ihm zu erfüllenden Aufgaben beziehen kann. Das Erwerben einer solchen Handlungskompetenz erfolgt durch Lernprozesse. Weitere Anforderungen aus diesem Kriterium heraus sind: Abbildung vertrauter Aufgabenbereiche; Verständlichkeit der Systemfunktionalität; konsistente handlungsunterstützende Benutzeroperationen; verständliche Ein- und AusgabeAktionen. 2. Handlungsflexibilität: Ein Bürosystem wird dann als flexibel angesehen, wenn es so ausgelegt ist, dass der Benutzer auch bei einer geänderten Aufgabenstellung seine Arbeit noch effizient mit demselben System erledigen kann, dem Benutzer das Erfüllen einer bestimmten Aufgabe auf alternativen Wegen ermöglicht, die er entsprechend seinem wechselnden Kenntnisstand und seiner aktuellen Leistungsfähigkeit wählen kann, unterschiedlichen Benutzern mit unterschiedlichem Erfahrungshintergrund das Erfüllen ihrer Aufgaben auf alternativen Wegen ermöglicht. Weitere Anforderungen aus diesem Kriterium heraus sind: Anpassungsfähigkeit an neue Aufgaben; Zulässigkeit individueller Arbeitsobjekte; alternative Benutzeroperationen; freizügige Informations-Ein- und -Ausgaben. 5 Software-Ergonomie und Usability Engineering 3. Aufgabenangemessenheit: Sie wird durch folgende zwei Fragen bestimmt: · Kann der Benutzer die Zielsetzung seiner Aufgabe überhaupt mit dem System oder der Anwendung erreichen oder muss er andere Systeme oder Medien zu Hilfe nehmen (Mediensprünge: z.B. Speicherung von Zwischenergebnissen auf Papier)? · Mit welchem Planungs- und Zeitaufwand (einschließlich des Aufwandes zur Korrektur von Fehlern) sowie mit welcher Qualität des Arbeitsergebnisses kann dieses Ziel erreicht werden? Weitere Anforderungen dieses Kriteriums sind: Unterstützung grundlegender Büroaufgaben; aufgabenangepasste Büroobjekte und -funktionen; Effizienz der Benutzeroperationen; aufgabengerechte Informations-Ein und Ausgabe. DIN 66 234: Bildschirmarbeitsplätze, Grundsätze ergonomischer Dialoggestaltung Diese Norm ist in die ISO 9241 Teil 10 eingegangen. Daher hat sie als Norm nicht mehr den Stellenwert, inhaltlich gilt sie durch die ISO 9241 um so mehr. 2.1.2 Richtlinien und Normen auf internationaler Ebene ISO 9241 Teil 10 - Ergonomic requirements for office work with visual display terminals Bei der Erstellung von Dialogabläufen bietet diese Norm sieben Grundsätze, die als richtungweisende Orientierung dienen sollen [Mekel01]: 1. Aufgabenangemessenheit Ein Dialog ist in dem Maße aufgabenangemessen, wie er den Benutzer unterstützt, seine Arbeitsabläufe effektiv und effizient zu erledigen. 2. Selbstbeschreibungsfähigkeit Ein Dialog ist in dem Maße selbstbeschreibungsfähig, wie jeder einzelne Dialogschritt durch Rückmeldung unmittelbar verständlich ist oder dem Benutzer erklärt wird, wenn er die entsprechende Information verlangt. 3. Steuerbarkeit Ein Dialog ist in dem Maße steuerbar, wie der Anwender in der Lage ist, den gesamten Dialogablauf zu beeinflussen. 4. Erwartungskonformität Ein Dialog ist in dem Maße erwartungskonform, wie er den Kenntnissen aus bisherigen Arbeitsabläufen, der Ausbildung und den Erfahrungen des Benutzers sowie allgemein anerkannten Konventionen entspricht. 6 Software-Ergonomie und Usability Engineering 5. Fehlerrobustheit (-toleranz) Ein Dialog ist in dem Maße fehlerrobust, wie das beabsichtigte Arbeitsergebnis trotz erkennbar fehlerhafter Eingaben mit minimalen oder ganz ohne Korrekturaufwand erreicht wird. 6. Individualisierbarkeit Ein Dialog ist in dem Maße individualisierbar, wie er Anpassungen an individuelle Benutzerbelange und Benutzerfähigkeiten in Hinblick auf seine Arbeitsaufgabe zulässt. 7. Lernförderlichkeit Ein Dialog ist in dem Maße lernförderlich, wie er dem Benutzer während des Erlernens Unterstützung und Anleitung gibt. Regeln von Shneiderman: Im Zusammenhang mit der Definition des Begriffes Software-Ergonomie wird auch häufig auf die „8 goldenen Regeln“ für das Design von Benutzerschnittstellen von Ben Shneiderman verwiesen [Shneid99]. Hier die Regeln und ihre Bedeutung im einzelnen: 1. Streben nach Konsistenz Ein Bedienkonzept sollte eine einheitliche Terminologie und einen einheitlichen Aufbau besitzen. 2. Anbieten von Shortcuts Erfahrenen Benutzern sollten Abkürzungen zur Verfügung gestellt werden, um die Nutzung des Systems zu beschleunigen. 3. Anbieten von informativen Rückmeldungen Rückmeldungen die das System liefert, sollten klar und aussagekräftig sein. 4. Sinnvolle und Abgeschlossene Gliederung von Dialogen Interaktionen mit dem System sollen so gestaltet sein, dass diese einheitlich ablaufen und in sich geschlossen sind. 5. Einfache Fehlerbehandlung Fehler sollten einfach handhabbar sein. 6. Reversibilität von Aktionen Die Wiederholung von Aktionen soll so einfach wie möglich gehalten werden, d.h. eine Wiederholmöglichkeit einer Aktion soll ohne große Neueingaben möglich sein. 7. Den Benutzer als „Herrn des Systems“ unterstützen Erfahrene Benutzer wollen die Verantwortung über das System, überraschende Aktionen und andere Effekte sollten vermieden werden, um Unzufriedenheit zu vermeiden. 8. Kurzfristige Gedächtnisbelastungen reduzieren Da der Mensch nur eine gewisse Anzahl von Informationen in kurzer Zeit aufnehmen kann (Faustregel: 7 +/- 2 Informationen), sollte der Bildschirmaufbau einfach gehalten werden und zahlreiche Informationen zu größeren Einheiten zusammengefasst werden. 7 Software-Ergonomie und Usability Engineering 8 2.2 Usability Engineering Die Themen Bedienbarkeit und Benutzerfreundlichkeit wurden erstmals in den achtziger Jahren bekannt. Unter dem Begriff der Software-Ergonomie wurden zunächst Anforderungen an ergonomische Software in Form von Richtlinien und Normen definiert. Mit der Zeit richtete sich das Interesse aber immer mehr auf den Prozess zur Erstellung ergonomischer Software. Die Vorgehensweise des Usability Engineering entstand und bildet das derzeitige Ende dieser Entwicklung [Mekel01]. Der Begriff Usability Engineering beschreibt eine methodische, iterative Vorgehensweise mit der man systematisch versucht eine optimale Benutzbarkeit und Benutzerfreundlichkeit eines Systems unter software-ergonomischen Gesichtspunkten zu erreichen. In diesem Prozess sind nach der Analyse die Phasen des Designs, des Prototyping sowie der Evaluierung mehrfach zu durchlaufen um alle notwendigen Informationen zu gewinnen, die später helfen eine benutzbare und benutzerfreundliche Schnittstelle zu schaffen (siehe Abbildung 2.1). Nachfolgend werden die einzelnen Schritte dieser Vorgehensweise näher erläutert, um später, basierend auf dieser Methodik einen Entwurf für ein zukünftiges Bedienkonzept für das „Clinical Trial Management“ zu schaffen. Abbildung 2.1: Iterativer Prozess des Usability Engineering 2.2.1 Analyse Hey, we´ve got the contract! You start coding while I go and find out what they want ... Die Analyse von Benutzern und Aufgaben ist eine wichtige Voraussetzung für die Entwicklung einer ergonomischen Benutzerschnittstelle und bildet den 1. Schritt im Usability Engineering. [Preim99] erwähnt, dass 60% der Probleme bei der Benutzung auf die unzureichende Anpassung der Schnittstelle an die Aufgaben und die Benutzer herrühren. Die zunächst ins Auge stechenden Merkmale wie die visuelle Gestaltung oder die Anordnung und Platzierung von Dialogbausteinen haben demgegenüber ein geringeres Gewicht. Laut [Preim99] ist die Vorgehensweise des Software-Engineerings mit relativ klar abgegrenzten, nacheinander zu durchlaufenden Phasen nicht mit der Methodik des Usability Engineerings vergleichbar. Ein Grund hierfür liegt in der wesentlich höheren Komplexität Software-Ergonomie und Usability Engineering interaktiver Systeme. Dies führt dazu, dass eine vollständige Analyse und eine komplette Spezifikation fast nicht durchzuführen sind. Zum anderen ist schwer vorhersagbar wie Benutzer auf die Gestaltung einer Benutzerschnittstelle reagieren. Aus diesem Grund müssen die Benutzer befragt und Prototypen getestet werden. Tests dienen hierbei nicht dazu die letzten Fehler zu finden, sondern sollen zeigen wie Benutzer auf bestimmte Interaktionsmuster reagieren. Als Folge dieser Tests sind häufig Veränderungen durchzuführen, die dann wiederum einem Test unterzogen werden. Dieser Zyklus wird wie oben schon erwähnt, beim Usability Engineering normalerweise mehrere Male durchlaufen. Im folgenden werden die Schritte der Benutzer- und der Aufgabenanalyse näher erläutert, deren Ergebnisse dann Ausgangspunkt sind für erste Entwürfe. Benutzeranalyse Der Auftraggeber eines Systems ist häufig nicht der eigentliche Benutzer. Da die Auftraggeber meistens Vorgesetzte der „Endbenutzer“ sind, glauben sie die Anforderungen an ein zukünftiges System zu kennen. Der direkte Kontakt zu den letztendlichen Benutzern ist aber notwendig, da die „Chefs“ meist nur Kenntnis über die Aufgaben der Mitarbeiter und der daraus resultierenden Arbeitsergebnisse haben. Sie sind sich häufig nicht im klaren darüber welche Probleme auf dem Weg zu diesen Ergebnissen gelöst werden müssen. Da oft nur das Ergebnis zählt, werden solche Schwierigkeiten verdrängt. Der Kontakt zu den Mitarbeitern hat aber noch einen weiteren wesentlichen Grund: Dadurch, dass sie in die Entwicklung mit einbezogen werden, steigt ihre Akzeptanz gegenüber dem System. Sie bekommen nicht das Gefühl, dass ihnen ein System aufgedrängt wird oder, dass es sie womöglich ersetzen soll. Dieses Gefühl der „Mitsprache“ trägt wesentlich zum Erfolg eines Systems bei. Der Kontakt mit dem Endbenutzer sollte dazu genutzt werden um konkrete Fragen zu stellen. Dies kann in Form eines Interviews erfolgen, aber auch mit Hilfe von Fragebögen. Zudem sollte der Kontakt auch genutzt werden um den Benutzern bei ihrer Arbeit „über die Schulter“ zu schauen. Dieses Beobachten vermittelt oft Einsichten, die allein durch ein Interview nicht möglich sind. [Preim99] erwähnt folgende Aspekte der Anwender, die bei der Analyse der Benutzer berücksichtigt werden sollten: · · · · · · · · Alter, Geschlecht Körperliche Fähigkeiten, Behinderungen Ausbildung (allgemeines Ausbildungsniveau und spezifische Schulungen) Motivation Computervertrautheit Vertrautheit mit dem Problem bzw. Anwendungsgebiet Intensität der Anwendung (Wie oft und wie intensiv wird die Anwendung genutzt?) Kulturkreis (z.B. unterschiedliche Semantik von Farben und Icons) Unterschiede der einzelnen Benutzer bezüglich dieser Aspekte lassen auf unterschiedliche kognitive und motorische Fähigkeiten schließen. [Preim99] nennt hier beispielhaft folgende Eigenschaften: · · · · Bewusst gesteuerte Prozesse und automatisch ablaufende Prozesse. Vieles was erfahrene Benutzer so verinnerlicht haben, dass es automatisch abläuft, ist für den Anfänger Gegenstand seiner bewussten Aufmerksamkeit. Lernen und Problemlösung (eher systematische Herangehensweise oder Ausprobieren) Entscheidungsfähigkeit Strategien für das Suchen und Auswählen 9 Software-Ergonomie und Usability Engineering Laut [Preim99] werden diese wiederum von verschiedenen Faktoren beeinflusst, wie: · · · · · · Aufmerksamkeit, Wachsamkeit, Ermüdung (Durch welche Reize wird der Mensch wie schnell auf etwas aufmerksam gemacht? Dies ist wesentlich für kritische Meldungen, Warnungen oder ähnliches.) Ablenkung (Wodurch werden Benutzer häufig abgelenkt?) Menge der zu merkenden Informationen Kenntnis von Ergebnissen Monotonie, Langweile Angst, Furcht, Isolierung Welche konkreten Schlüsse aus diesen Aspekten für den Entwurf einer ergonomischen Benutzerschnittstelle gezogen werden können, stellt [Preim99] nicht dar. Grund hierfür ist wahrscheinlich dass die Berücksichtigung solcher Aspekte von Anwendung zu Anwendung unterschiedlich ausfällt. Trotzdem werden nachfolgend einige allgemeingültige Regeln aufgestellt, die hier zwar nicht bewiesen sind, aber auf der Hand liegen: 1. Sind viele ältere Personen unter den Benutzern, sollte auf modernste Dialogtechniken verzichtet werden. Gängige Dialogkomponenten, bei denen ein Wiedererkennungseffekt erzielt wird, eignen sich hier besser. 2. Der Dialog sollte den körperlichen Fähigkeiten der Benutzer angepasst sein. (Bsp.: Größere Darstellung der Dialogbestandteile für sehbehinderte Menschen) 3. Ist der Anwender nicht ausreichend mit der zugrunde liegenden Aufgabe vertraut, sollte, wenn möglich, das System diese Aufgabe übernehmen oder den Benutzer erklärend durch die Aufgabe führen. 4. Ist eine Aufgabe sehr häufig durchzuführen, sollte das System Abkürzungen bereitstellen um den Vorgang zu beschleunigen. 5. Wird eine Aufgabe eher selten durchgeführt, sollte das System den Benutzer durch entsprechende Darstellungen und Erläuterungen unterstützen. 6. Wird der Benutzer häufig abgelenkt, sollte der Dialog so gestaltet sein, dass jederzeit der aktuelle Stand der Interaktion ersichtlich ist. 7. Ist die Struktur der Benutzer heterogen, sollte das System verschiedene Bedienmodi (Anfängermodus, Expertenmodus) für die unterschiedlichen Benutzer zur Verfügung stellen. Aufgaben-Analyse Obwohl Benutzer und Aufgaben zunächst getrennt voneinander betrachtet werden sollten, können die entsprechenden Analysen parallel erfolgen. Bei der Aufgabenanalyse geht es darum die Aufgaben zu identifizieren, die vom Benutzer ausgeführt werden und die zum Aufgabenbereich des geplanten Systems gehören. Laut [Preim99] beschäftigt man sich hierbei mit folgenden Fragen: · · · · · · · Welche Arbeitsprozesse müssen modelliert werden? Welche Objekte werden im Arbeitsprozess erzeugt oder manipuliert? Welche Anwender sind mit welchen Verantwortlichkeiten daran beteiligt? Welche Schnittstellen zu anderen (nicht modellierten Prozessen) existieren? Welche Datenmengen aus welchen Datenbeständen werden in einem bestimmten Zeitraum bearbeitet? Welche Arbeitsschritte rufen bei den Anwendern Unzufriedenheit hervor? Wie hoch ist die Fehlerrate in den einzelnen Arbeitsschritten? Viele dieser Fragen können durch strukturierte Interviews, Fragebögen oder durch Beobachtungen beantwortet werden. Um darauf aufbauend eine Übersicht über die bestehenden Aufgaben und ihrer Ziele zu bekommen und um daraus eine Strukturierung 10 Software-Ergonomie und Usability Engineering ableiten zu können, müssen die Aufgaben in eine einheitliche und übersichtliche Form gebracht werden. Da die Aufgaben meist komplex sind können sie nicht mit einer einzigen Sicht dargestellt werden. Modellierung der Aufgaben [Welie01] zeigt hier einige Möglichkeiten zur Darstellung von Aufgabenstrukturen auf: Task Trees: Abbildung 2.2: Task Trees [Welie01] Mit einem Task Tree kann dargestellt werden aus welchen Teilaufgaben eine Aufgabe besteht. Sie sind recht einfach zu erzeugen und zu verstehen, weshalb sie gerade bei der Kommunikation mit Benutzern oder im Design Team sehr nützlich sind. Wesentliche Dinge, die später beim Design wichtig sind, können von ihnen allerdings nicht abgedeckt werden. Hierzu zählen: · · · Zeitliche Abhängigkeiten können nicht dargestellt werden. Zustände von Rollen bzw. Objekten sind nicht ersichtlich. Bei eventuell mehreren handelnden Personen ist keine Zuordnung zu den einzelnen Aufgaben möglich. Bei der Aufgabenanalyse in Kapitel 4 wird anhand von Task Trees die Aufgabenstellung des Management von Studiendaten in die einzelnen Teilaufgaben aufgeteilt und dargestellt. Die Unified Modelling Language (UML) UML ist eine weit verbreitete und anerkannte Modellierungssprache und hat sich speziell im Bereich des Software Engineering etabliert. Obwohl die UML nicht für den Bereich der Aufgabenmodellierung entwickelt wurde, bietet sie verschiedene Diagramme, die zur Aufgabenanalyse sehr gut verwendet werden können. 1. Aktivitätendiagramm Dieses Diagramm kann verwendet werden um Aufgabenabläufe in Bezug zu Ereignissen, Aktivitäten, Rollen und Zielen zu modellieren. Abbildung 2.3 zeigt hier ein Beispiel einer solchen Darstellung. Die Aufgabenstellung des Anlegen von Studiendaten sowie das Durchführen der Randomisierung mit der Engineering Database von CTM wird in Kapitel 4 – Aufgabenanalyse mit Hilfe von Aktivitätendiagrammen modelliert. 11 Software-Ergonomie und Usability Engineering Abbildung 2.3: Aktivitätendiagramm [Welie01] 2. Kollaborationsdiagramm Dieses Diagramm zeigt wie die verschiedenen Rollen oder Objekte zusammenarbeiten. Diese Zusammenarbeit erfolgt durch den Austausch von Nachrichten, die in dieser Diagrammart dargestellt werden. Um eine zeitliche Folge modellieren zu können erhält jede Nachricht eine eindeutige Nummer. Beziehungen werden anhand von Pfeilen dargestellt. Abbildung 2.4 zeigt ein Beispiel eines Kollaborationsdiagramms. Abbildung 2.4: Kollaborationsdiagramm [Welie01] 3. Sequenzdiagramm Mit dem Sequenzdiagramm kann ähnlich wie bei Kollaborationsdiagrammen die Folge von Aufgaben dargestellt werden, die von verschiedenen Rollen oder Objekten nacheinander ausgeführt werden. Abhängigkeiten von Aufgaben oder optionale Aufgaben können durch dieses Diagramm nicht dargestellt werden. Bei der Analyse der Aufgaben für das Verwalten der Studiendaten wurde diese Diagrammart nicht eingesetzt. Bei der Darstellung der Implementierung der Prototypen in Kapitel 5 – Design findet das Sequenzdiagramm aber Verwendung. Eine genauere Beschreibung der Diagramme ist unter [Oester98] zu finden. Zusätzlich zu diesen aufgezeigten Möglichkeiten der Modellierung von Aufgabenabläufen, Abhängigkeiten, Zuständen von Objekten und Rollen sowie Ereignissen, die Aufgaben auslösen, gibt es noch einige weitere. Hierzu zählen beispielsweise Petri-Netze oder 12 Software-Ergonomie und Usability Engineering einfache Flow Charts, die gleichwertig sind zu den oben genannten, auf die hier aber nicht näher eingegangen wird. Auswertung der Aufgabenanalyse Die bei der Aufgabenmodellierung gewonnen Informationen können nun als Grundlage für die Entwürfe dienen. Zudem können sie auch Ausgangspunkt sein für die Analyse des Bestehenden und für das Auffinden von Verbesserung im Ablauf und in der Gestaltung von Aufgaben. Leider gibt es hier keine allgemeingültige Vorgehensweise die Schritt für Schritt durchlaufen werden kann, um Probleme und Schwachpunkte aufzudecken und einen Aufgabenablauf zu verbessern. Trotzdem nennt [Welie01] einige allgemeingültige Probleme von Aufgaben auf die zu achten ist: · Probleme in einzelnen Aufgabenstrukturen. Die Aufgabenstruktur ist sub-optimal weil zu viele Unteraufgaben durchgeführt werden oder verschiedene Aufgaben zu zeitaufwendig sind oder zu oft auftreten. · Unterschiede in der formellen und der tatsächlichen Ausführung von Aufgaben. Häufig sind Aufgabenabläufe festgeschrieben z.B. als Teil der ISO 9000 Richtlinie. Oft werden Aufgaben aber nicht so ausgeführt, wie in diesen Dokumenten beschrieben, und meistens gibt es nicht nur „einen Weg“ der Ausführung der Aufgabe. Wenn Benutzer unterschiedlich darüber denken wie etwas gemacht werden muss entstehen Probleme. · Ungenügende Kommunikation in einer Organisation. Bei komplexen Aufgaben sind meistens viele Personen einbezogen, die aus verschiedensten Gründen kommunizieren und zusammenarbeiten müssen, wie beispielsweise beim Wissen über spezielle Tätigkeiten oder bei der Verantwortung für Aufgaben. Dies sind oft Gründe für zeitintensive Aufgaben aber auch für Probleme bei zusammen arbeitenden Personen. · Widersprüche bei Tätigkeiten. Aufgaben sind definiert, werden aber von niemandem getätigt, oder sie werden in der falschen Reihenfolge ausgeführt. · Personen führen ihnen nicht erlaubte Tätigkeiten durch. In komplexen Organisationen werden Personen Rollen zugeteilt, die sie für bestimmte Aufgaben verantwortlich machen. Häufig führen aber Personen zusätzliche Tätigkeiten aus für die sie keine Erlaubnis haben. Nach der Analyse und eventuellen Verbesserung der Aufgabenabläufe und der Modellierung der angestrebten Strukturen, dienen diese Ergebnisse dann als Grundlage für die Erzeugung der ersten Prototypen und später der eigentlichen Benutzerschnittstelle. 2.2.2 Design Nach Abschluss der Analyse beginnt die Phase des iterativen Design-Prozesses in dem ein erster konzeptioneller Entwurf der Benutzerschnittstelle durchgeführt wird. Konzeptionelles Design In der Phase des konzeptionellen Designs werden die grundlegenden Interaktionen zwischen Mensch und System bestimmt sowie die Objekte der Benutzerschnittstelle festgelegt. Die Ergebnisse der Benutzer und Aufgaben Analyse bilden hierbei die Basis. Resultate des konzeptionellen Designs von Benutzerschnittstellen sind vor allem Papier- 13 Software-Ergonomie und Usability Engineering Prototypen wie Bleistiftzeichnungen aber auch textuelle Beschreibungen die das Verhalten der Benutzerschnittstelle beschreiben [Ferré01]. In Kapitel 5 – Design sind solche PapierPrototypen der einzelnen Konzepte zu sehen. Zudem erfolgt dort auch eine textuelle Beschreibung. Diese Phase ist sehr wichtig im Entwicklungsprozess, da hier die grundlegende Struktur und das Aussehen des späteren Dialogsystems festgelegt werden. Aufgrund der Tatsache, dass Design ein sehr kreativer Prozess ist gibt es hierfür wie auch bei der Neustrukturierung von Aufgaben keine festgelegte Vorgehensweise. Die oben genannten Richtlinien und Normen für die Gestaltung von Benutzerschnittstellen, sowie Kenntnis über die Struktur der Benutzer und die Aufgabenabläufe helfen aber eine MenschMaschine-Schnittstelle software-ergonomisch zu gestalten. Zudem ist es auch sinnvoll sich bei anderen bekannten Systemen Eindrücke zu verschaffen. Dies ist nicht nur als Erleichterung zu sehen, sondern führt auch meist zu besseren Ergebnissen, da eigene Entwürfe meist nicht an den heutigen Stand der Technik der Dialoggestaltung herankommen. Zusätzlich führt dies beim Benutzer letzten Endes auch zu Wiedererkennungseffekten, was unter dem Gesichtspunkt der Software-Ergonomie positiv zu werten ist. Visuelles Design Nachdem die im konzeptionellen Design erstellten Entwürfe mehrfach ausgewertet, verbessert und ein Optimum gefunden wurde, werden die Entwürfe in einen konkreten Dialog umgesetzt. Hierbei werden dann alle Details, wie Arten von Widgets, Layout oder auch Gestaltung von Grafiken und Icons berücksichtigt. Auch diese Phase wird zumeist mehrfach durchlaufen um erste Entwürfe zu optimieren. Beim visuellen Design sind bereits Prinzipien und Regeln bezüglich der Auswahl von Farben, Verwendung von Text, Layout, Anordnung von verschiedenen Widgets oder dem Design von Icons zu beachten. Diese werden in Kapitel 4 Stand der Technik von Dialogsystemen näher erläutert. Prototyping Das Erstellen von Prototypen ist ein wesentlicher Bestandteil im Designprozess und ermöglicht es schon frühzeitig Tests auf Benutzbarkeit und Benutzerfreundlichkeit durchzuführen. Sie sind notwendig, da abstrakte technische Darstellungen nicht sehr dienlich sind bei der Kommunikation mit Benutzern oder im Design Team. [Ferré01] nennen hier die folgenden Möglichkeiten des Prototypings: · Papier Entwürfe In der Anfangsphase des Design Prozesses (konzeptuelles Design) entwirft der Designer erste Papierskizzen für den Benutzer. Der Designer verhält sich bei der Vorführung dieser wie ein Computer indem er dem Benutzer bei einem Übergang die entsprechende nächste Skizze vorlegt. Die Evaluierung aufgrund derartiger Prototypen wird auch Walkthrough genannt. Die Durchführung von Aufgaben wird hier zwar nur simuliert, trotzdem lassen sich bereits in dieser Phase einige Kritikpunkte und Probleme aufdecken. · „Wizard of Oz“ Technik Ein Experte verhält sich bei dieser Art des Prototypings wie das zukünftige System und reagiert dementsprechend auf Eingaben des Benutzers, ohne ihn zu kennen. Der Benutzer sitzt normalerweise vor einem Bildschirm, anstelle einer Software sitzt aber der Experte an einem anderen Gerät (verbunden durch ein Netzwerk) und beantwortet die 14 Software-Ergonomie und Usability Engineering 15 Anfragen des Anwenders. Ein Vorteil dieser Methode ist, dass sie wesentlich günstiger ist, als einen Software Prototypen zu erstellen. · Szenarios, Snapshots und Storyboards Das Erstellen von Prototypen ist nicht auf das Entwerfen der Oberfläche beschränkt. Zusätzlich können an Hand eines Szenarios Überlegungen zum Ablauf der Bedienung dargestellt werden. Snapshots sind Abbildungen die eine Interaktion während eines Szenarios darstellen. Ein Storyboard (Drehbuch) wiederum besteht aus einer Folge von Snapshots, die sich auf die hauptsächlichen Aktionen in einer angenommenen Situation beziehen. Des weiteren können Prototypen nach der Auswertung der ersten Entwürfe implementiert werden. Hierdurch lässt sich ein Bedienkonzept wesentlich realistischer darstellen. Da ein Prototyp nur einen Teilbereich der Anwendung umfassen kann, muss eine Auswahl getroffen werden. [Preim99] beschreibt hierzu zwei Vorgehensweisen: 1. Horizontales Prototyping Diese Art des Prototyping reduziert die Tiefe der Anwendung. Die oberflächlichen Eigenschaften der Benutzerschnittstelle, wie Menüs, Buttons usw., werden weitgehend umgesetzt, aber sie besitzen keine Funktionalität. Anhand eines horizontalen Prototypen kann ein Großteil der zu implementierend Anwendung „oberflächlich“ betrachtet und ein Gesamteindruck der Benutzerschnittstelle gewonnen werden. Es können hierbei allerdings keine echten Aufgaben durchgeführt werden. 2. Vertikales Prototyping Anders als beim Horizontalen Prototyping werden bei dieser Vorgehensweise nur einzelne Teile der zu implementierenden Anwendung umgesetzt. Allerdings werden diese Teilbereiche dabei in Layout und Funktionalität weitgehend vollständig realisiert und andere dagegen völlig ignoriert. Die umgesetzten Teilbereiche vermitteln bereits sehr realistisches der zukünftigen Anwendung ähnliches Verhalten. 2.2.3 Usability Evaluation We can’t predict a software system’s usability without testing it with real users. Der Begriff der „Usability Evaluation“ beschreibt die Auswertung des umgesetzten Designs auf seine Benutzbarkeit und Benutzerfreundlichkeit und ist ein weiterer wichtiger Schritt während des Usability Engineerings. Hier wird festgestellt ob das neue Konzept funktioniert und ob es zu einer Steigerung des Grades der Benutzbarkeit führt. [Ferrè01] beschreibt in diesem Zusammenhang eine Vorgehensweise bei der das angestrebte Ziel und der gegenwärtige Grad an Benutzbarkeit durch Maßzahlen festgelegt werden. Beispielsweise ist ein Qualitätsattribut die Zeit, die benötigt wird, um eine bestimmte Aufgabe mit dem System durchzuführen. Auf solche Maßzahlen wird aber in dieser Arbeit nicht näher eingegangen, da es schwer vorstellbar ist, dass Benutzbarkeit und Benutzerfreundlichkeit eines Bedienkonzeptes mit Zahlen zu messen sind. Vielmehr sollte eine positive Reaktion der Benutzer angestrebt werden. Im folgenden werden nun verschiedene Strategien erläutert, mit denen die Qualität eines Bedienkonzeptes ausgewertet werden kann: Software-Ergonomie und Usability Engineering Usability Testing Beim „Usability Testing“ werden die Prototypen einer Gruppe von Benutzern vorgeführt und dabei die Reaktionen und das Verhalten der Personen aufgezeichnet. Diese Resultate sind später wieder die Grundlage für die Analyse und die Verbesserung des bereits Umgesetzten. Hierbei muss zunächst festgelegt werden welche Gruppen von Benutzern und wie viele Benutzer pro Gruppe ausgewählt werden. Zudem müssen Testaufgaben definiert werden, die von den Benutzern mit dem Prototypen durchzuführen sind. Des weiteren sind noch folgende Fragen zu klären: · · · · Dürfen die Testpersonen während der Aufgabe Fragen an den/die Auswerter stellen? Sollten zwei Personen gemeinsam die Aufgaben durchführen? Hierdurch könnten Bemerkungen, die sie austauschen untersucht werden. Welche Informationen zum Testsystem erhalten die Beteiligten im Voraus? Wie viel Zeit bekommen die Testpersonen um sich mit dem System vertraut zu machen? Bei der Durchführung der Tests können diese optional per Video oder mit einem Audiogerät aufgenommen werden. Zusätzlich können die Aktionen der Benutzer protokolliert werden. Nachdem ausreichende Ergebnisse gewonnen wurden beginnt der nächste iterative Zyklus. Dies wird so lange fortgesetzt bis das Ziel, eine software-ergonomische Benutzerschnittstelle zu schaffen, erfüllt ist [Ferré01]. Laut denken Bei der Methode des „Laut denken“ werden die Testpersonen dazu aufgefordert während der Durchführung einer Aufgabe mit einem Testsystem ihre Gedanken zu formulieren. Nach einem Beispiel von [Ferrè01] könnte eine Testperson möglicherweise sagen: „Zunächst öffne ich die Datei und klicke einmal auf das Dateisymbol. Nichts passiert. Ich weiß nicht warum es nicht wie im Internet funktioniert. Ich drücke die Enter-Taste und sie öffnet sich. Jetzt will ich die Farbe des Etiketts ändern. Hierzu suche ich im Menü ‘Tools’, finde aber keine Option dazu.“ Diese Kommentare können wesentliche Einblicke geben, wie eine Benutzerschnittstelle am besten gestaltet werden sollte. Durch die Detaillierung des mentalen Prozesses können versteckte Probleme bei der Benutzung aufgedeckt werden [Ferré01]. In Kapitel 6 – Evaluierung der Prototypen wurde ein Test nach dieser Methode durchgeführt. Weitere Strategien für die Evaluierung von Benutzerschnittstellen sind beispielsweise die Heuristische Evaluierung oder die Empirische Evaluierung auf die hier aber nicht näher eingegangen wird. Weitere Informationen hierzu findet man unter [Preim99] oder auf der Interseite http://www.usability-forum.com. 16 3 Stand der Technik von Dialogsystemen Die Informationstechnik hat heute in fast allen Bereichen Einzug gehalten und nahezu jeder Mensch ist gegenwärtig in der Lage einen Computer zu bedienen. War es vor einigen Jahren nur Experten möglich Computer zu nutzen so hat die Entwicklung der bestehenden Dialogsysteme hauptsächlich zu dieser Steigerung der Benutzbarkeit beigetragen. Im folgenden werden nun verschiedene Möglichkeiten der Gestaltung von Grafischen aber auch von Multimedialen Benutzerschnittstellen dargestellt, aus denen später eine Auswahl für die Neugestaltung der Benutzerschnittstelle des Clinical Trial Managements getroffen werden kann. Unter dem Begriff Joy of use werden zudem neue Qualitäten bei der Gestaltung von Dialogen aufgezeigt. Da beim Design von Benutzerschnittstellen auch psychologische Aspekte eine Rolle spielen wird abschließend in diesem Kapitel auf die Bereiche Farbpsychologie sowie Gestaltpsychologie eingegangen. 3.1 Grafische Benutzeroberflächen Hierbei handelt es sich grundsätzlich um visuelle Dialoge, die meist per Maus und Tastatur aber auch durch Touchscreens bedient werden. Bekannte Systeme sind hier Windows, KDE für Linux, aber auch das Dialogsystem von MacOS. Diese unterscheiden sich alle in ihrem Layout enthalten aber alle grundsätzlich dieselben Dialogelemente. Nachfolgend wird nun auf diese Grundbestandteile von Benutzeroberflächen und wie sie sinnvoll eingesetzt werden näher eingegangen. Danach werden Möglichkeiten aufgezeigt, welche Alternativen es zu dem bestehenden gibt. 3.1.1 Standard Interaktionskomponenten Fenster Bei den meisten grafischen Dialogsystemen werden sämtliche Ein- und Ausgaben über Elemente von Fenstern getätigt. [Wessel98] nennt hier einige Grundprinzipien bei der Gestaltung der einzelnen Teile eines Fenster: · Titelleiste: Sie kann als praktische Informationsfläche genutzt werden. · Menüleiste: Das Hauptmenü sollte nur so viele Auswahlpunkte besitzen wie in einer Zeile darstellbar sind. Stand der Technik von Dialogsystemen 18 · Symbolleiste: Ein Fenster sollte wenn möglich nicht mehr als eine Symbolleiste mit einer einfachen Zusammenstellung der wirklich notwendigen Symbole und Buttons aufweisen. Die Anzahl von Buttons und Symbolen scheint heute bei manchen Anwendungen ein wichtiges Qualitätskriterium zu sein. Eine hohe Anzahl führt aber leider zu Unübersichtlichkeit und schränkt zudem die eigentliche Arbeitsfläche zu sehr ein. · Bildlaufleisten: Grundsätzlich gilt hier, dass Scrollbars bei der Fenstergestaltung vermieden werden sollten. Der Dialog sollte für eine sinnvolle Auflösung (beispielsweise 1024 mal 768) geplant und umgesetzt werden. · Statusleiste: Die Aufmerksamkeit die ein Benutzer diesem Bereich zukommen lässt, sollte nicht überschätzt werden. Häufig nehmen Anwender Texte, die hier erscheinen gar nicht zur Kenntnis, da der Blick bei einer Menüauswahl eher auf den oberen Teil des Fensters gerichtet ist. Wichtige Meldungen sollten deshalb eher über Message Boxen mitgeteilt werden. Menüs In einem Menü werden verschiedene Haupt- und Unterfunktionen aufgeführt. Zumindest die wichtigen, also die häufig verwendeten Menüpunkte sollten zusätzlich zur Maus noch mit einer Tastenkombination ausgewählt werden können. Zudem sollten die am häufigsten verwendeten Funktionen im Menü ganz oben stehen. Bezeichnungen für die Auswahlpunkte sollten aussagekräftig und gut verständlich sein. Im Unterschied zu Kommandosprachen besteht der Vorteil von Menüs darin, dass der Benutzer Funktionen nur wiedererkennen muss. Zudem werden ihm Alternativen angezeigt und er kann eine Auswahl treffen. Steuerelemente Bei der Verwendung verschiedener Controls in einem Dialog müssen diese durch eine entsprechende optische Darstellung unterscheidbar gemacht werden. Hier bietet sich zunächst eine sinnvolle Beschriftung aber auch die Verwendung von eindeutig erkennbaren Icons an. Gruppen von Elementen können durch Leerräume, Rahmen und Linien aber auch durch eine entsprechende farbliche Gestaltung optisch von einander getrennt werden. Zudem ist es wichtig, dass die Reihenfolge der Steuerelemente mit der Folge der durchzuführenden Aktionen übereinstimmt. Nachfolgend werden die Steuerelemente aufgeführt, die in gegenwärtigen Grafikbibliotheken verfügbar sind, und ihre Einsatzbereiche und sinnvolle Verwendung wird erläutert: Textelemente Sie werden verwendet um andere Controls näher zu bezeichnen oder um Informationen darzustellen. [Wessel98] nennt hier sehr strenge Richtlinien zur Anordnung und Bemaßung, wie beispielsweise den genauen Abstand eines Textelements zu einem Control. Dies erscheint zunächst übertrieben, führt aber in der Praxis zu einer Verbesserung der Konsistenz. Stand der Technik von Dialogsystemen 19 Rahmen und Linien Sie dienen der Gliederung und Abgrenzung von anderen Dialogelementen. Um die abgegrenzten Elemente zu benennen, können Beschriftungen angefügt werden. Zudem kann laut [Wessel98] durch Linien die Leserichtung eines Dialogs beeinflusst werden und bei konsistentem Einsatz eine Art „Hinführung“ zu bestimmten Dialogelementen stattfinden. Ein sinnvoller Einsatz von Farbe kann bei Rahmen und Linien die Übersicht eines Dialogs wesentlich verbessern. Eingabefelder Hier unterscheidet man Single-Line-Edit-Felder, die nur die Eingabe einer einzelnen Textzeile erlauben und Multi-Line-Edit-Felder, die die Eingabe mehrerer Zeilen ermöglichen. Drehfelder (Spinbuttons) Sie bestehen aus einem Eingabefeld mit einem kleinen Scrollbar an der rechten Seite, der aber nur einen Auf- und einen Ab-Pfeil besitzt. Sie dienen zur Auswahl eines numerischen Wertes oder zur Auswahl eines Elementes aus einer relativ kleinen Liste. Die Selektion sollte im Falle einer numerischen Auswahl auch immer direkt über das Eingabefeld durchgeführt werden können. Da die Elemente eines Drehfeldes nie komplett zu sehen sind sollten die Folgeelemente vorhersehbar sein. Kontextmenüs Durch Drücken der rechten Maustaste auf Dialogelementen oder Fenstern wird ein Menü aufgeklappt welches Operationen des entsprechenden Elementes anzeigt. Diese Art von Menüs entlasten zum einen das Hauptmenü. Durch die Kopplung von Darstellung und Inhalt wird aber auch die Aufgabenangemessenheit und die Natürlichkeit einer Bedienung gefördert. Es wird eine räumliche Nähe des Menüs zum Dialogobjekt geschaffen, was den Anwender davon entlastet den Blick mehr als notwendig von der aktuellen Arbeitsposition abwenden zu müssen. [Wessel98] nennt hierbei als Nachteil, dass man nicht erkennen kann zu welchen Dialogelementen Kontextmenüs existieren. Durch ein Maussymbol bei dem die rechte Maustaste farblich hervorgehoben ist kann die Existenz aber durchaus angezeigt werden. Popup-Menüs Anders als bei einem Kontext-Menü wird das gewünschte Menü durch Drücken eines Buttons aufgerufen und dann am Rand des Buttons dargestellt. In diesem Fall muss der Anwender das Vorhandensein der Komponente nicht erahnen. Bei dieser Menüart ist darauf zu achten, dass die einzelnen Menüpunkte aus einer für den Anwender überschaubaren Liste von Möglichkeiten stammen. Da die Menge der zur Verfügung stehenden Optionen nicht sichtbar ist, sollte die Liste der Auswahlpunkte zudem für den Anwender erratbar sein. [Wessel98] nennt hier beispielsweise die Auswahl eines Wochentags oder eines Laufwerks. Radiobuttons Sie werden immer in Gruppen verwendet und ermöglichen die Auswahl immer nur einer Option dieser Gruppe. Wird ein Radiobutton gedrückt verschwindet die Markierung eines anderen. Stand der Technik von Dialogsystemen 20 Radiobuttons sind immer untereinander anzuordnen, da sie nebeneinander gestellt zu sehr viel Unübersichtlichkeit führen. Sie sollten auch immer in einer erkennbaren Reihenfolge angeordnet werden. Falls nötig eben alphabetisch. Checkboxen Diese Kontrollkästchen ermöglichen es Optionen an- oder abzuwählen, wobei im Gegensatz zu Radiobuttons mehr als eine Option ausgewählt sein kann. Ähnlich wie bei Radiobuttons gilt auch für Checkboxen, dass sie wenn möglich vertikal angeordnet werden sollten, da dies für den Benutzer wesentlich übersichtlicher ist. Werden Checkboxen zusammen mit Eingabeelementen verwendet so sollten diese, sofern sich das Kontrollkästchen links vom Text befindet, linksbündig mit diesen Eingabefeldern abschließen. Ein beliebter Fehler ist es, dass der Anwender nicht genau weiß was mit der Auswahl einer Checkbox genau gemeint ist. Negativ formulierte Texte wie „Diesen Hinweis beim nächsten mal nicht mehr anzeigen.“ sollten nicht verwendet werden [Wessel98]. Comboboxen Dieses Auswahlelement bietet die Möglichkeit auf Bedarf eine Liste mit Optionen aufzuklappen. Nach der Auswahl klappt die Liste wieder automatisch zu und sie benötigt dann sehr wenig Platz. Die Anzahl der Elemente sollte so bemessen sein, dass das Erreichen der einzelnen Optionen oder eine größere Anzahl an Mausklicks möglich ist. Bei zu vielen Auswahlmöglichkeiten sollte auf andere Elemente, wie etwa ein weiteres Dialogfenster, das die Auswahl über ein entsprechendes Treeview-Control ermöglicht, ausgewichen werden. Bei weniger als etwa fünf Optionen sollte laut [Wessel98] auf Radiobuttons ausgewichen werden, da diese sehr viel schneller zu bedienen sind. Auf die Problematik des Platzbedarfs geht er hierbei nicht ein, was wohl zu bedenken ist, will man Radiobuttons als Alternative verwenden. Weitere beliebte Fehler bei der Verwendung von Comboboxen sind zu lange Einträge, schlecht sortierte Einträge, eine unvollständige Auswahl oder das Fehlen einer Standardauswahl. Listboxen Anders wie Comboboxen zeigen Listboxen die Auswahlmöglichkeiten ständig an und brauchen deshalb auch mehr Platz. Ist dieser ausreichend vorhanden können sie sinnvoll zur Anzeige einer dynamischen Menge von Elementen, wie beispielsweise die Aufträge eines Kunden eingesetzt werden. Sie bieten die Möglichkeit mehrere Optionen (beispielsweise durch <Shift>-Taste und Mausklick) auszuwählen. Laut [Wessel98] ist es sehr sinnvoll neben einer solchen Listbox Pushbuttons wie „Alles markieren“, „Nichts markieren“ und vor allem „Markierung umkehren“ anzubieten. Dies erleichtert die Auswahl erheblich. Listview-Controls Die in einer Listview enthaltenen Daten sind in Zeilen und Spalten organisiert. Dieses Element ermöglicht das Sortieren nach gewünschten Spalten, aufsteigend und absteigend. Die Sortierung sollte im Spaltenkopf beispielsweise durch einen Pfeil dargestellt werden. Die Breite der Spalten sollte zudem veränderbar sein. Moderne Listviews bieten außerdem die Möglichkeit Spalten zu vertauschen um Informationen, die von Interesse sind, nebeneinander zu haben. Stand der Technik von Dialogsystemen 21 In PMX-System werden Listviews, allerdings mit minimaler Funktionalität, bereits eingesetzt. Bisher ist es hier nicht möglich die Spaltenbreite zu manipulieren, welche Spalte als Sortierkriterium dient wird nicht angezeigt und auch das Vertauschen und Ausblenden von Spalten ist nicht möglich. Dies sollte bei einem zukünftigen Bedienkonzept unbedingt realisiert werden. Treeview-Controls Sie besitzen ein Wurzel-, beliebige Eltern- und Kindelemente und dienen zur übersichtlichen Darstellung von hierarchischen Daten. Ein Beispiel hierbei ist die Baumstruktur des Explorers von Microsoft. Elemente eines Treeviews können per Doppelklick aufgerufen oder editiert werden. Zudem sollte die Möglichkeit vorhanden sein die einzelnen Teile per Drag & Drop umzuordnen. In Bezug zu PMX wäre diese Komponente dazu dienlich um Beziehungen von Objekten aufzuzeigen. Ist ein Objekt von anderen abhängig könnten diese in der untergeordneten Ebene dargestellt werden. Pushbuttons Sie sind in einem Fenster angebracht und dienen dazu Funktionen wie „Dialog schließen“ oder ein Dialogfenster öffnen, auszulösen. [Wessel98] unterscheidet hier zwischen Schaltflächen und Toolbarbuttons. Erst genannte lösen grundsätzlich eine Aktion innerhalb eines Fensters aus während die letzteren die wichtigsten Funktionen des Menüs direkt zugänglich machen und durchaus auf verschiedene Fenster anwendbar sind. Die Größe einer Schaltfläche sollte grundsätzlich kompakt gehalten werden, eben so, dass man sie mit der Maus noch gut anwählen kann und der darauf angebrachte Text keinen zu großen und auch keinen zu kleinen Abstand zum Buttonrand hat. In PMX sind einige Buttons vorhanden die sehr breit gehalten sind, obwohl der darauf angebrachte Text diesen Platz gar nicht benötigt. Auch dies sollte bei einem zukünftigen Bedienkonzept vermieden werden. [Wessel98] macht bei der Bemaßung von Buttons sehr genaue Angaben in Form von Pixelanzahl und Twips (Twentieth of a Point = 1/567 cm, 1000 Twips = 67 Pixel) um das Erscheinen der Buttons konsistent zu halten. Bei der Beschriftung der Buttons sollten Verben wie „übernehmen“ statt „Übernahme“ der Vorzug gegeben werden. Zudem sollte man bei der Entwicklung einer Benutzerdialoges versuchen, die Begriffe die ein Anwender im Kopf hat zu erahnen, um diese als Beschriftungen einzusetzen. Der Benutzer wird dadurch den gewünschten Button umso schneller erkennen. Für Standardbuttons wie „Ok“ und „Abbrechen“ sollten zusätzlich Hotkeys wie <Enter> und <Esc> eingeführt werden. Bei Buttons die zu weiteren Dialogen führen ist das Anfügen von drei Punkten („…“) sehr sinnvoll. Es signalisiert dem Anwender, dass hier keine Veränderung ausgelöst wird. Bezüglich der Farbe sollten Buttons immer schwarz auf grau gehalten werden. Um eine Akzentuierung oder ein Aufpeppen zu erreichen können zudem einfarbige Bitmaps angebracht werden. Bunte Schaltflächen wirken zu poppig und lenken den Anwender meist nur ab. Auf die grafische Gestaltung von Buttons wird im Kapitel „Grafikelemente“ näher eingegangen. Stand der Technik von Dialogsystemen 22 Tab-Controls Hierbei handelt es sich um Karteikarten mit einer Reiterlasche. Sie sind sehr dienlich bei der Darstellung größerer Mengen an Dialogelementen in einem Fenster. Beim Einsatz von Tab-Controls ermöglichen viele Frameworks das Anbringen der Laschen an einer beliebigen Seite. Am sinnvollsten ist es aber wohl, diese Reiter oberhalb anzubringen. Die Variante die Laschen seitlich anzuordnen, führt bei einer vertikalen Beschriftung zu schlechter Lesbarkeit und bei horizontaler Beschriftung zu einem hohen Platzbedarf, sofern es sich um eine geringe Anzahl von Karteikarten handelt. Eine Ausnahme besteht bei einer großen Anzahl an Karteikarten. Hier sind bei einer seitlichen horizontalen Anordnung wesentlich mehr Laschen auf einer Ebene darstellbar. Werden die Reiter oberhalb angebracht, müssten sie übereinander gestellt werden, was zu sehr starker Unübersichtlichkeit führt. Die Laschentexte sollten grundsätzlich kurz und eindeutig gewählt werden. Grafikelemente Durch den Einsatz von sinnvollen grafischen Elementen, beispielsweise durch Icons zur Darstellung von Objekten oder Programmen, kann die Bedienung von Applikationen wesentlich vereinfacht und für den Anwender attraktiver gemacht werden. Grafische Elemente sind auch die Grundlage für das „Look & Feel“ einer Software, also für das Erkennen von Objekten und ihrer Funktionalität durch entsprechende Visualisierung. [Wessel98] nennt folgende Gründe für die Verwendung von Grafik: · · · · · Attraktivität einer Anwendung wird gesteigert Benutzererwartungen werden besser erfüllt Grafische Elemente werden schneller wiedererkannt als beispielsweise Textelemente Kompatibilität mit anderen GUI-Applikationen Sprachunabhängigkeit Grafiken können grundsätzlich auf verschiedene Weise bei Benutzerdialogen zum Einsatz kommen. Hier unterscheidet man folgende Arten von Elementen: · Schmuckelemente Diese können in Form von Bitmaps beispielsweise in Begrüßungsfenstern oder als Hintergrund in einem Hauptfenster (Shell-Window) verwendet werden. Bei Wizards können diese Elemente außer der reinen schmückenden Funktion auch Informationen über den aktuellen Arbeitsschritt enthalten und durch sinnvolle Texte ergänzt werden. Bei der Gestaltung solcher Grafiken sollte man versuchen sich in den Benutzer hinein zu versetzen und sich fragen: „Was würde ich in dieser Situation dort sehen wollen?“ Dieser Gedanke sollte aber nicht auf die Gestaltung dieser Elemente beschränkt bleiben. [Wessel98] · WYSIWYG-Elemente Beim Begriff WYSIWYG (What you see is what you get) geht es um die grafische Gestaltung von Elementen derart, dass ihre Darstellung Auskunft über das Wesen eines Objektes oder Programmes, sowie der vorhandenen Operationen und die Auswirkungen dieser Operationen gibt. Die Auswahl zwischen Quer- und Hochformaten, das Verändern der Spaltenbreite in einer Tabelle oder die Darstellung eines Laufwerks durch ein kleines Symbol anstelle eines Buchstabens wie C: sind hier Beispiele. [Wessel98] Stand der Technik von Dialogsystemen 23 In weit verbreiteten Softwareprodukten wie Windows kommen diese häufig zum Einsatz sind aber bei Systemen mit vergleichsweise kleinem Anwenderkreis leider weniger zu finden. · Validierungsanzeigen Diese Art von grafischen Elementen dienen der Anzeige von Zuständen bestimmter Controls. Häufig werden hierfür Ampelsymbole eingesetzt, da sie vom Benutzer sofort verstanden werden. Diese Elemente können dazu verwendet werden, Fehler die bei der Eingabe gemacht wurden direkt vor Ort anzuzeigen. [Wessel98] In einem zukünftigen Benutzerdialog könnten die Stati einzelner Objekte, also „edit“, „valid“ oder „archived“, durch ein Ampelsymbol visualisiert werden. Sind die Beziehungen der Objekte zusätzlich durch einen Treeview oder einen Graphen dargestellt, könnte die Übersichtlichkeit wesentlich gesteigert werden. · Bitmaps in Pushbuttons Ob die Funktion eines Pushbuttons durch ein Symbol oder eher durch darauf angebrachtem Text dargestellt werden soll, ist ein ziemlich strittiges Thema. Grundsätzlich sind hier zunächst 3 verschiedene Kategorien von Pushbuttons zu unterscheiden: 1. 2. 3. Standardbuttons wie „Ok“, „Abbruch“ oder „Hilfe“; Genormte Buttons wie „Übernehmen“ oder „Löschen“; Spezielle Buttons wie „Statuswechsel“ oder „Suche starten“; Für die letzte Kategorie wäre eine symbolische Darstellung nicht sinnvoll, da diese Funktionen zu speziell sind um sie durch ein Bitmap wirklich eindeutig zu kennzeichnen. Bei den beiden anderen Kategorien, besonders aber bei der ersten ist eine Beschriftung wie beispielsweise „Ok“ derart eindeutig, dass auf sie nicht verzichtet werden sollte. Eine Ergänzung dieser Beschriftung durch ein entsprechendes Symbol zur Aufpeppung ist aber durchaus denkbar und würde die Attraktivität und somit die Benutzerfreundlichkeit erhöhen. Werden aber die Buttons der 1. Kategorie mit ergänzenden Symbolen versehen, so müssen die Elemente der 2. und 3. Kategorie aus Paritätsgründen ebenfalls mit Symbolen ausgestattet werden. Dies wird unweigerlich zu unerkennbaren Symbolen führen, bei denen sich der Anwender erst einmal daran machen wird, diese mit dem Beschriftungstext in Verbindung zu bringen. Eine Ausnahme zum oben genannten könnte gemacht werden, wenn ein Benutzer eine Applikation sehr häufig benutzt und er sich an die Symbole der Pushbuttons sehr schnell gewöhnen kann. In einem solchen Fall könnte hier eine rein symbolische Darstellung gewählt werden. Die Pushbuttons sollten dann aber zumindest mit einem zusätzlichen Tooltip, das die Funktionalität textuell beschreibt, ausgestattet werden. Zudem sollte die Anzahl der verschiedenen Buttons sehr begrenzt sein (weniger als zehn Buttons). Buttons der 3. Kategorie sollten möglichst nicht auftauchen oder durch erkennbare Symbole dargestellt werden. In Bezug zum gegenwärtigen PMX-System sind die Standard-Pushbuttons („Ok“, „Abbrechen“, „Einfügen“, „Statuswechsel“, usw.), die in sehr vielen Dialogen eingesetzt werden nur symbolisch dargestellt. Die Anzahl dieser ist sehr gering und die verwendeten Symbole geben relativ gut Aufschluss über die enthaltene Funktionalität. Zudem sind diese mit einem Tooltip ausgestattet, das die Funktion textuell beschreibt. Würde das System von allen Anwendern häufig benutzt werden, könnte in diesem Fall Stand der Technik von Dialogsystemen 24 die rein symbolische Darstellung dieser Standard-Pushbuttons beibehalten werden. Da dies aber nicht bei allen Benutzern der Fall ist, ist es empfehlenswert die Buttons mit einer zusätzlichen Beschriftung auszustatten. Manche Dialogmasken enthalten spezielle Buttons (3. Kategorie) mit textueller Beschriftung. Diese können nicht durch ein sinnvolles Symbol ergänzt werden. Werden die Standard-Buttons aber durch ein Symbol ergänzt, könnte hierin ein Konsistenzbruch gesehen werden. Da diese Buttons von den Standard-Pushbuttons aber immer bereichsmäßig getrennt sind kann dieser „Bruch“ wohl akzeptiert werden. · Bitmaps in verschiedenen Dialogkomponenten Neben Pushbuttons können Bitmaps durchaus auch in weiteren Dialogkomponenten wie beispielsweise Menüs, Treeviews, Listviews oder in Tab-Controls angebracht werden. Hierdurch kann der Zweck einer Komponente verdeutlicht werden, oder die Aufmerksamkeit des Benutzers auf die entsprechende Komponente gelenkt werden. Enthält eine Karteikarte innerhalb eines Tab-Controls notwendige Eingabefelder, könnte dies beispielsweise durch ein entsprechendes Bitmap (Achtung-Symbol) in der entsprechenden Lasche visualisiert werden. Auch Elemente verschiedenen Typs in einem Treeview können durch Bitmaps unterscheidbar gemacht werden. · Mauszeiger Der Mauscursor kann dazu verwendet werden um dem Anwender anzuzeigen welche Möglichkeiten der Manipulation er bei verschiedenen Elementen hat. Abbildung 3.1 zeigt hier einige Möglichkeiten, wie der Mauszeiger ergänzt werden kann. Abbildung 3.1: Ergänzung der Mauszeigers [Wessel98] · Animationen Der Sinn von animierten Bitmaps und kleinen Videosequenzen ist grundsätzlich dem Anwender einen laufenden Prozess zu visualisieren, ihm die Restzeit anzuzeigen und ihm dadurch mitzuteilen, dass das System keineswegs abgestürzt ist. Der Einsatz solcher Animationen sollte aber in sinnvollen Grenzen gehalten werden, da beispielsweise übertriebene Videosequenzen das System nur zusätzlich auslasten. Stand der Technik von Dialogsystemen 25 Abbildung 3.2: Animation eines Prozesses [Wessel98] In PMX gibt es verschiedene Prozesse, wie beispielsweise die Randomisierung von Studien, die einige Zeit in Anspruch nehmen. Die Abarbeitung dieses Prozesses könnte dem Anwender durch eine Animation angezeigt werden. Zusätzlich könnte eine gut gestaltete Animation dem Benutzer einen Vorgang verständlicher machen. 3.1.2 Wizards Ein Wizard ist eine strukturierte Folge von Dialogen, die den Benutzer durch Fragen zu Eingaben auffordern und basierend auf diesen versuchen eine bestimmte Aufgabe zu lösen. In verschiedenen Dialogsystemen wie beispielsweise Windows werden Wizards heute eingesetzt um den Benutzer bei seiner Aufgabe zu unterstützen. Die Verwendung von Wizards sollte aber gut durchdacht werden, da beispielsweise für Experten das Durchlaufen eines Wizards zu umständlich ist. In folgenden Aufgabengebieten ist es sinnvoll einen Wizard zu verwenden [IBM01]: · · · · Wenn Benutzer Aufgaben ausführen, die selten vorkommen. Bei Benutzern deren Kenntnisse zu gering sind um eine komplexe Aufgabe durchführen zu können. Wenn eine genaue Ablauffolge für das korrekte Ausführen einer Aufgabe wichtig ist. Wenn Benutzer Aufgaben jetzt ausführen sollen und das „wie“ und „warum“ später folgt. Grundsätzlich gilt, dass ein Wizard niemals lehrend sein sollte sondern nur einen „WalkThrough“ bietet. Er sollte den Benutzer vor der Komplexität einer Aufgabe schützen und nur die Informationen erfragen, die für die Ausführung der Aufgabe wirklich notwendig sind. Design Beim Entwurf eines Wizards gilt es zunächst das eigentliche Ziel zu definieren und in einem Ablaufplan festzulegen welche Aufgaben nacheinander folgen. Danach muss getrennt werden welche Aufgaben vom System und welche vom Benutzer durchzuführen sind, also welche Entscheidungen der Benutzer treffen muss. Für das Design eines Wizards gibt es einige Richtlinien und Tips [IBM01]: · · · · Nur eine Frage per Screen Maximal 10 Fragen in einem Wizard Nur einmal nach einer Information fragen Verwendung von Klartext und Icons. Keine Fachausdrücke! Stand der Technik von Dialogsystemen · · · · · 26 Bei der Formulierung von Fragen sollten eher Phrasen wie „Möchten Sie …“ als „Sie müssen jetzt …“ benutzt werden. Bereitstellung von On-Screen Previews. Sicherstellen, dass der Benutzer den Wizard ohne Training verwenden kann. Benutzer sollten den Wizard nochmals aufrufen und ihre vorherige Eingabe verändern können. Roadmaps: Sie zeigen dem Anwender welche Funktionen aufeinander folgen und wo sich der Benutzer gerade befindet. In einem zukünftigen Benutzerdialog könnte für das Anlegen verschiedener Objekte ein Wizard eingesetzt werden. Das Anlegen einer klinischen Studie wäre beispielsweise eine komplexe Aufgabe, die von vielen Benutzern eher selten ausgeführt wird und bei der das Einhalten einer Reihenfolge relativ wichtig ist. Als Preview wäre eine Struktur der voneinander abhängigen Objekte denkbar, die zeigt welche Objekte bereits angelegt wurden und welche noch anzulegen sind. Für die Benutzer, die das System gut beherrschen, müsste allerdings eine Alternative geschaffen werden, da das Ausführen eines Wizards für sie zu umständlich wäre. 3.1.3 Direkte Manipulation Die durch grafische Komponenten dargestellten Bestandteile eines Dialoges können hierbei direkt aktiviert, markiert, verschoben oder verändert werden. Dabei erhält der Anwender eine direkte Rückkopplung über die Folge seiner Aktion. Beispielsweise wird das Drücken eines Buttons optisch dargestellt oder das Kopieren einer textuell dargestellten Datei per Drag & Drop sichtbar gemacht. Laut [Wessel98] funktioniert die direkte Manipulation nur, wenn die entsprechenden Komponenten genügend „einladend“ sind, sich also beispielsweise deutlich vom Hintergrund abheben und sich als manipulierbar zu erkennen geben. Die sichtbare Reaktion eines manipulierten Elements sollte hinreichend schnell sein und der entsprechende Kontext bereitgestellt werden. [Wessel98] bezieht sich hierbei auch auf die Gestaltpsychologie. Verschiedene Gesetze, wie beispielsweise das Fitts’sche Gesetz oder auch die zu Beginn des 19. Jahrhunderts aufgestellten Gestaltgesetze des Psychologen Max Wertheimer gelten auch beim Entwurf ergonomischer Applikationen. Metaphern Der Begriff der Metapher wird im Zusammenhang mit der direkten Manipulation häufig verwendet. Hierbei verwendet man zur Darstellung von Dialogobjekten Strukturen oder Bilder die mit der realen Welt vergleichbar sind. Ein bekanntes Beispiel ist die SchreibtischMetapher, die die Arbeit mit Dokumenten, Verzeichnissen und Karteien durch Begriffe aus der realen Bürowelt darstellt. In Bezug zum gegenwärtigen Bedienkonzept von PMX wäre die Darstellung der verschiedenen Objekte als Icons denkbar, die über ein Kontextmenü manipuliert werden können. Zudem könnten diese Icons Bestandteil eines Graphen sein, der die Beziehungen zwischen ihnen aufzeigt. Im Kapitel 5 – Design und Implementierung ist dies im Konzept für das Editieren von Studiendaten umgesetzt. Stand der Technik von Dialogsystemen 27 3.2 Neue Dialogtechniken Zusätzlich zu den gängigen grafischen Benutzeroberflächen gibt es Ansätze zur Erweiterung und Verbesserung der bestehenden Interaktionsformen. Im einfachsten Fall geht es hierbei um das Auffinden oder Erstellen neuartiger Dialogkomponenten, aber auch Begriffe wie Virtual Reality, Zoomable User Interfaces oder User Interface Agents spielen hierbei eine Rolle. Mensch-Maschine-Schnittstellen können zusätzlich oder anstatt des visuellen Kanals auch auf akustischen oder haptischen Interaktionsmöglichkeiten aufbauen. Aktuell gibt es Ansätze die bisherigen Ziele des Usability Engineerings wie Gebrauchstauglichkeit oder Benutzerfreundlichkeit höher zu stecken und sie durch den Begriff des Joy of use zu ersetzen. 3.2.1 Treibende Kräfte [Maybury01] nennt folgende Gründe für die Forderung nach erweiterten und verbesserten Mensch-Maschine-Schnittstellen: · · · · Geschwindigkeit, Effizienz und Freude. Die Unternehmen sind heutzutage gezwungen ihre Produktivität und die Verwendung von Ressourcen (besonders der menschlichen) effizienter zu gestalten. Hierbei haben effektive User-Interfaces einen starken Einfluss auf die Produktivität eines Mitarbeiters. Zudem zeigen angenehm gestaltete Benutzerschnittstellen (Joy of use) die Minderung von Stress und Senkung von Fehlern. Allgegenwärtigkeit (Ubiquity) und Mobilität. Computer tauchen immer mehr in den verschiedensten Bereichen unseres Lebens auf. Neue kabellose Geräte wie Handys, PDAs und tragbare Computer können mobil genutzt werden und dies erfordert neue Möglichkeiten der Interaktion. Personalisierung. Die Nachfrage nach Anpassung von Interfaces aber auch von Geräten des alltäglichen Lebens steigt. Benutzer können die Schnittstelle selbst anpassen, die sie bedienen oder die Schnittstelle passt sich selbst an (Beispiele hierbei sind: Einstellung der Sprache eines bestimmten Landes, Anpassung eines Dialogs an das Display eines PDAs). Das Ergrauen der Gesellschaft. Die zunehmende Alterung der Gesellschaft führt zu einem gesteigerten Bedarf an Benutzerschnittstellen, die diese Personen durch verbesserte visuelle, optische und physische Interaktionsmöglichkeiten unterstützen. 3.2.2 Neue Dialogkomponenten Ein Ziel dieser Arbeit ist es zu den bestehenden Dialogelementen, wie sie die verschiedenen Bibliotheken wie beispielsweise Java Swing bieten, neue Komponenten zu finden. Diese sollten es ermöglichen die Qualität einer Benutzerschnittstelle unter software-ergonomischen Gesichtspunkten zu erhöhen. Nach längerer Internetrecherche konnten einige neue Komponenten bzw. ergänzende Grafik-Bibliotheken gefunden werden, die dazu beitragen können einen Dialog intuitiver und ergonomischer zu gestalten. Im Folgenden werden hier einige neuartige Komponenten beschrieben: Stand der Technik von Dialogsystemen 28 Window Shade Container Abbildung 3.3: Window Shade Container – closed [Hudson97] Abbildung 3.4: Window Shade Container – opened [Hudson97] Durch anklicken der „Zugschnurr“ wird das Rollo geöffnet bzw. geschlossen. Dadurch können Informationen, die erst zu einem späteren Zeitpunkt notwendig sind verdeckt werden. Das Beispiel in den Abbildungen 3.3 und 3.4 entstammt dem auf Java basierenden Toolkit subArctic und wurde am Georgia Institut of Technology entwickelt. Weitere Informationen hierzu sind auf der Internetseite http://www.cc.gatech.edu/gvu/ui/sub_arctic zu finden. Stand der Technik von Dialogsystemen 29 Shockwave Demo des IBM RealPhones Abbildung 3.5: IBM RealPhone [IBM] Die Funktionalität des in Abbildung 3.5 gezeigten virtuellen Telefons könnte in etwas abgeänderter Form beispielsweise dazu verwendet werden um Information und Funktion zu einem Objekt aus einer Liste anzuzeigen. Beim System PMX kommt es häufig vor, dass sehr viele unterschiedliche und zum Teil erst zu einem späteren Zeitpunkt notwendige Informationen in einem Fenster oder Panel dargestellt werden. Mit Hilfe der Komponente in Abbildung 3.5 könnten Informationen besser strukturiert werden. Dadurch, dass hierbei zunächst nur die wichtigsten Informationen direkt sichtbar sind, fühlt sich der Benutzer nicht mit einer Vielzahl von Elementen überfordert. Außerdem vermittelt eine solche Komponente beim Benutzer den Eindruck, dass diese Funktionen nicht grundlegend wichtig sind und er sich um sie erst später kümmern muss. Um eine solche Komponente bei der Neugestaltung eines Dialogs verwenden zu können, müsste diese aber selbst programmiert werden, da sie in bekannten Grafik-Bibliotheken nicht zur Verfügung steht. Hier muss man abwägen ob sich dieser Zeitaufwand lohnt, oder ob es bereits bestehende Alternativen gibt. Stand der Technik von Dialogsystemen 30 JGraph Abbildung 3.6: JGraph [Sun01] Dies ist ein Beispiel aus dem JGraph-Package für Swing mit dem Graphen verschiedenster Formen dargestellt werden können. Da im System PMX viele verschiedene Objekte, die zu einander in Beziehung stehen, verwaltet werden müssen, ist zu überlegen diese Beziehungen anhand eines solchen Graphen zu visualisieren. 3.2.3 Fisheye-View Fisheye-Views dienen dazu sehr große aber auch sehr komplexe Informationsmengen darzustellen. Sie ermöglichen es lokale Details eines ausgewählten Bereichs in einem globalen Zusammenhang zu visualisieren. Nach [Preim99] ist sowohl unsere visuelle Wahrnehmung als auch unser Denken von der Konzentration auf lokale Details und einem (globalen) Überblick über wichtige Informationen gekennzeichnet. Fisheye-Views unterstützen diese Eigenschaften des Menschen indem sie wie eine Lupe funktionieren und dem ausgewählten Punkt des Interesses mehr Platz geben um somit die dortige Information detaillierter oder einfach größer anzuzeigen. Das folgende Bild zeigt ein Fisheye-Menu. Die Technik des Fisheye-Views wird aber auch in anderen Bereichen, wie beispielsweise zur Darstellung großer Listen oder zur Visualisierung von Landkarten eingesetzt. Stand der Technik von Dialogsystemen 31 Abbildung 3.7: Fisheye-Menu [HCIL00] Ein Hyperbolic Browser ist ebenfalls ein Beispiel für einen Fisheye-View. Dabei wird eine hierarchische Struktur auf einer hyperbolischen Oberfläche dargestellt. Durch Verschieben der Struktur mit Hilfe der Maus können die gewünschten Teile genauer betrachtet und ausgewählt werden. Ein solches Element dient dazu relativ große Informations-Strukturen darzustellen und vereinfacht die Suche. Abbildung 3.8 zeigt einen Hyperbolic Browser. Abbildung 3.8: Hyperbolic Browser [inxight02] Stand der Technik von Dialogsystemen 32 Auch mit einem solchen Element könnten komplexe Beziehungen von Objekten im PMXSystem dargestellt werden. 3.2.4 Zoombare User Interfaces - ZUI Zoombare Benutzeroberflächen ermöglichen es auf einer sehr großen Benutzeroberfläche verschiedene Applikationen oder zu bearbeitende Objekte zu platzieren. In einer Übersichtsdarstellung sind alle Gegenstände ohne irgendwelche Details zu sehen. Durch entsprechendes Zoomen kann dann das gewünschte Objekt fokussiert und bearbeitet werden. Beispiel eines ZUI: Abbildung 3.9: Zoombares User Interface – Großansicht [HCIL00] Abbildung 3.10: Zoombares User Interface – Detailansicht [HCIL00] Stand der Technik von Dialogsystemen 3.2.5 33 Virtuelle Realität und 3D User-Interfaces Waren früher 3D Systeme nur auf teuren High-End-Rechnern einsetzbar, so ermöglichen es heutige Standard-PCs dreidimensionale Benutzerschnittstellen und virtuelle Welten mühelos darzustellen. Verglichen mit 2D bzw. 2,5D Dialogsystemen werden bei 3D Benutzerschnittstellen die Elemente in einem xyz-Raum angeordnet und werden somit auch mit 3D Koordinaten beschrieben. Die Überlegungen bezüglich des Designs sind hier wesentlich komplexer. Zudem müssen Metaphern und Elemente für diese Darstellung neu definiert werden, da die bisherigen Komponenten wie Fenster, Icons, Menüs und Zeigegeräte speziell für 2D Benutzerschnittstellen geschaffen wurden. Trotzdem bietet eine dreidimensionale Benutzerschnittstelle wesentlich mehr Gestaltungsmöglichkeiten hinsichtlich Metaphern und Elementen, da hier wirklich Dinge der realen Welt im virtuellen Raum abgebildet werden können, wie beispielsweise eine Büroumgebung als Office-Metapher. Zudem sind auch wesentlich komplexere Dialogkomponenten vorstellbar. Die folgenden zwei Beispiele zeigen Möglichkeiten des Einsatzes von 3D-Userinterfaces: Task Gallery Abbildung 3.11: Task Gallery[Micros00] Dieser Prototyp eines 3D User Interfaces wurde von Microsoft entwickelt. Er erweitert den Desktop in ein komplettes Büro mit einer unlimitierten Anzahl an virtuellen Desktops. Der Bildschirm wird zu einem langen Raum mit Bildern an der Wand, die die verschiedenen Aufgabenbereiche darstellen. Der Benutzer kann sich hier sehr schnell und einfach per Mausklick und Tastatureingaben von einer Aufgabe zur nächsten bewegen. Laut Microsoft soll durch dieses Interface beim Benutzer der Eindruck entstehen sich durch einen realen Raum zu bewegen. Dies soll dazu führen, dass er das System intuitiv versteht ohne es erlernen oder sich ihm anpassen zu müssen. Stand der Technik von Dialogsystemen Microsoft: 34 Je weniger Menschen darüber nachdenken wie sie mit ihrem Computer umzugehen haben, desto mehr mentale Energie haben sie übrig für ihre eigentliche Arbeit. Der Conetree Abbildung 3.12: Conetree [Geisler98] Dieses Visualisierungselement stellt eine Baumstruktur dreidimensional dar. Durch Ziehen an einem Kegel kann dieser gedreht und das gewünschte Element (Menüpunkt, Objekt oder Programm) in den Vordergrund geholt werden. Zusätzlich kann beispielsweise durch einen <Shift>-Klick auf das gewünschte Element dieses automatisch nach vorne gedreht werden. 3.2.6 Adaptive Systeme Beim Begriff Adaptive Systeme wird unterschieden zwischen · · Adaptivität (das System passt sich an die Benutzer an) und Adaptierbarkeit (das System kann vom Benutzer durch Parametrierung angepasst werden) Adaptierbare Systeme Mit Hilfe entsprechender Werkzeuge kann der Benutzer das User Interface an seine Bedürfnisse, an Anforderungen spezieller Aufgaben oder nach anderen Kriterien anpassen. Beispiele hierfür sind die Auswahl der Hintergrunddarstellung, die Einstellung der Maus oder die Größe von Schriften. Die notwendigen Werkzeuge zur Manipulation dieser Parameter sollten den Benutzer dabei nicht unnötig belasten. Adaptive Systeme im Sinn von „Adaptivität“ Diese zeichnen sich durch selbstständige Anpassung an den Benutzer aus. Ziel hierbei ist die Verbesserung der Benutzbarkeit eines User Interfaces aber auch die Steigerung der Effizienz und Effektivität der Arbeit. Stand der Technik von Dialogsystemen 35 User Interface Agenten Das Adaptieren einer Benutzerschnittstelle wird häufig von Agenten ausgeführt. Da jedem Benutzer ein eigener Agent zugeordnet ist, werden sie in diesem Zusammenhang auch häufig als „persönliche Agenten“ bezeichnet. Diese können Benutzer bei einer Reihe unterschiedlicher Aufgaben unterstützen [Holzin01]: · · · · · Verbergen der Komplexität von schwierigen Aufgaben, Ausführen von (definierten) Aufgaben im Auftrag des Benutzers, Trainieren oder Lehren des Benutzers, verschiedenen Benutzern bei der Zusammenarbeit helfen, Ereignisse oder Prozeduren überwachen. Da es trotz der relativ langen Geschichte von Agenten noch keine einheitliche Definition des Begriffs „Agent“ gibt, nennt [Holzin01] einige Eigenschaften, die für einen Agenten notwendig sind: · · · · · · · · Autonomie Der Agent kann unabhängig vom Benutzer Entscheidungen treffen. Damit dies möglich ist muss der Agent Informationen über seine Aktionen und seinen augenblicklichen Status haben. Zuverlässigkeit Bei der Delegation einer Aufgabe an einen Agenten wird, sofern keine Kontrolle stattfindet, ein gewisses Risiko eingegangen. Der Benutzer muss deshalb seinem Agenten „vertrauen“ können, dass die ihm übertragenen Aufgaben auch in der gewünschten Form ausgeführt werden. Reaktionsfähigkeit Ein Agent muss Veränderungen in seiner Umgebung war nehmen und darauf reagieren können. Zielorientierte Initiative Außer der Fähigkeit zur Reaktion sollte ein Agent auch aktiv die Initiative ergreifen können. Dies muss aber zielorientiert sein, es dürfen keine Aktionen ausgeführt werden, die keinen Einfluss auf die Realisierung eines Ziels haben. Kommunikationsfähigkeit Ein Agent sollte mit dem Benutzer als auch mit anderen Agenten kommunizieren können. Kooperationsfähigkeit Die Kooperationsfähigkeit ist eine Spezialisierung der Kommunikationsfähigkeit und bezieht sich auf die Kommunikation zwischen Agenten zum Zweck der Zusammenarbeit. Lernfähigkeit Ein persönlicher Agent soll seinem Benutzer beim Umgang mit verschiedenen Anwendungen helfen. Anthropomorphismus Hiermit ist die Darstellung menschenähnlichen Verhaltens gemeint, was zwar keine notwendige Eigenschaft ist, die Akzeptanz beim Benutzer aber erhöhen kann. Cartoonistische Gesichter oder spracherkennende Systeme können hier zur Realisierung verwendet werden. Abbildung 3.13 zeigt einen anthropomorphen Agenten in Form eines cartoonistischen Gesichtes. Stand der Technik von Dialogsystemen 36 Abbildung 3.13: anthropomorpher Agent [TUD00] · Logisches, intelligentes Verhalten „Intelligente“ Systeme haben zumindest einen Teil der folgenden Eigenschaften: - Sie sind in der Lage, Wissen zu benutzen um Probleme zu lösen; - Sie können Aktionen vorschlagen; - Sie beginnen mit grundlegenden Informationen über einen Bereich und erweitern dieses Wissen. Bei der Frage ob ein User-Interface-Agent in einem System implementiert werden soll, muss man sehr genau abwägen. Vorteile sind, dass der Einsatz eines solchen Agenten den Lernaufwand reduzieren und die Akzeptanz eines Systems erhöhen kann. Durch die Realisierung von anthropomorphen Verhaltensweisen, wird das Bedienen einer Benutzerschnittstelle natürlicher und der Benutzer fühlt sich persönlich angesprochen. Nachteilig könnte es sein, dass das Abnehmen von Entscheidungen den Anwender eher verunsichert anstatt ihn unterstützt. Zudem wirkt die Unterstützung durch einen Agenten auf einen Experten eher störend. Grundsätzlich kann ein Agent eingesetzt werden, wenn ein System häufig von Personen benutzt wird, die im Umgang mit Computern noch unsicher sind. Durch die natürlichen Verhaltensweisen und Interaktionsmöglichkeiten kann einem solchen Benutzer die erste Scheu und Unsicherheit bei der Bedienung eines Systems genommen werden und der Agent kann ihn zudem lehrend unterstützen. Agenten sollten so gestaltet werden, dass die Abnahme von Aufgaben und Entscheidung nicht automatisch erfolgt, sondern beim Anwender erfragt wird. Da selbst dies sehr störend sein kann, sollte es zudem möglich sein den Agenten auszuschalten. 3.2.7 Akustische Interaktion - Sprache Betrachtet man die gegenwärtigen weit verbreiteten Betriebs- und Dialogsysteme, so sieht man, dass der Nutzung von Akustik bisher sehr wenig Bedeutung zukommt. Wenn sie einmal Einsatz findet, dann meist nur in Form von Geräuschen und Klängen zur Unterstützung von Warnmeldungen und Hinweisen. Dabei hat die Entwicklung gerade von sprachlichen Interaktionssystemen heute einen Stand erreicht, der in verschiedenen Bereichen durchaus sehr sinnvoll anzuwenden ist. Zudem stellt die Sprache eine wesentlich natürlichere Interaktionsform für den Menschen dar als beispielsweise die Verwendung von Tastatur und Maus. Auf dem Gebiet der sprachlichen Interaktion muss man grundsätzlich unterscheiden zwischen Spracheingabe durch den Benutzer über ein Mikrofon und der Sprachausgabe durch den Computer. Stand der Technik von Dialogsystemen 37 Spracheingabe Bei der Spracheingabe über ein entsprechendes Spracherkennungssystem wie dem Programm ViaVoice von IBM, wird das akustische Sprachsignal des Benutzers über ein Mikrofon aufgenommen und über einen A/D-Wandler digitalisiert. Aus den digitalen Daten werden Rückschlüsse auf die darin enthaltenen Phoneme gezogen und eine Phonemkette generiert. Ausgehend von dieser wird dann anhand von Neuronalen Netzen oder MarkovModellen ein Bezug zum entsprechenden Wort oder zur Wortfolge hergestellt [Schukat95]. Spracherkennungssysteme sind gegenwärtig unter bestimmten Bedingungen schon sehr performant und bieten im Vergleich zu herkömmlichen Eingabeformen einige Vorteile. Zu diesen Vorteilen zählen [Schukat95]: · · · · · · Höherer Durchsatz Per Spracheingabe kann durchaus eine Rate von 120 - 250 Worten pro Minute erreicht werden. Im Vergleich hierzu schaffen stark geschulte Personen per Tastatur eine Rate von 100 – 150 Worten pro Minute, während ungeschulte Personen auf eine Rate von 10 – 25 Worten kommen. Natürliche Interaktionsform des Menschen Es gibt heute noch sehr viele Menschen, die sich unsicher sind im Umgang mit Computern. Da die Sprache eine sehr natürliche Interaktionsform des Menschen ist, schafft eine Sprachschnittstelle Vertrautheit, und hilft Benutzern solche Unsicherheiten zu nehmen. Hände und Augen des Benutzers sind zudem frei für weitere Aktivitäten. Die Bewegungsfreiheit von Anwendern eines Systems wird nicht durch mitzuführende Geräte eingeschränkt. Sprache kann einen primären Interaktionskanal ergänzen. Der akustische Kanal bleibt auch unter erschwerenden Bedingungen, wie Dunkelheit oder extremen Bewegungseinschränkungen voll funktionsfähig. Soll Sprache als Interaktionskanal in einem Dialogsystem eingesetzt werden, sind einige Kriterien zu beachten, die entscheidend sind für den effizienten Einsatz [Schukat95], [IBMVia01]: Wortschatz Zum einen entscheidet der Sprachumfang über die Performanz, also über die Schnelligkeit und die Genauigkeit der Spracherkennung. Sind wenige Vokabeln im Lexikon des Erkenners, ist eine Erkennung einfacher durchzuführen. Dasselbe ist der Fall, wenn die Grammatik der zu erkennenden Teilsprache relativ starr vorherbestimmt ist. Die Grammatik bestimmt welche Wörter in einer Äußerung aufeinander folgen dürfen, und welche nicht. Sie schränkt damit die Menge der zu unterscheidenden Wörter ein. Als Beispiel liegt die Erkennungsgenauigkeit bei einem System zur Bedienung einer Maschine mit einem Vokabular von ca. 200 Worten wesentlich höher als bei einer Diktiermaschine, die über einen Wortschatz von ca. 100000 Worten verfügt. kontinuierlich gesprochene Sprache Ein anderes Kriterium für den Einsatz von Spracherkennung ist die Art der Darbietung von gesprochener Sprache. In einigen Anwendungen reicht das Sprechen einzelner Wörter aus. Bei der Einzelworterkennung muss zwischen den gesprochenen Einheiten eine deutliche Pause gemacht werden. Dies erleichtert die Erkennung von Sprache. Ist der Sprachumfang für eine bestimmte Anwendung relativ groß, erscheint es nicht mehr sinnvoll den Sprecher einzelne Worte sprechen zu lassen. Für Anwendungen, bei denen man nicht mit wenigen Wörtern, etwa zur einfachen Kontrolle von Prozessen (Start, Stop, Stand der Technik von Dialogsystemen 38 Pause...) auskommt, ist kontinuierlich gesprochene Sprache vorzuziehen. Dies führt aber zu einem Anstieg der Fehlerrate. Unabhängigkeit vom Sprecher Wichtig für die Leistungsfähigkeit eines spracherkennenden Systems ist, ob das System die Sprache eines einzigen Sprechers erkennen soll, oder ob die Spracherkennung sprecherunabhängig ist. Erkennt das System nur Äußerungen eines Sprechers, sind die zu modellierenden Varianzen innerhalb der Sprache geringer. Systeme für die Erkennung von Sprache eines einzigen Sprechers sind daher effizienter, versagen aber bei der Erkennung von Äußerungen anderer Sprecher. Wie das System nun konzipiert sein sollte, hängt von der erforderlichen Genauigkeit, Effizienz und vom Zweck des Einsatzes ab. Umgebungsgeräusche Nachteilig bei einem Spracherkennungssystem sind Umgebungsgeräusche. Grundsätzlich sollte die Person, die ein solches System nutzt räumlich getrennt von anderen arbeiten, da beiderseitige Störungen dadurch vermieden werden. Anhand der genannten Kriterien ist abzuwägen ob der Einsatz von Spracherkennung bei einem neu zu gestaltenden Bedienkonzept sinnvoll ist. Sprachausgabe Die Erzeugung eines Sprachsignals durch einen Computer besteht aus den 3 Schritten Antwortgenerierung, Sprachsynthese und der eigentlichen Ausgabe des Sprachsignals [Hameri00]. Antwortgenerierung: Die Rückmeldungen des Systems müssen dem Benutzer in einer verständlichen Form übermittelt werden. Hierbei ist darauf zu achten, dass Daten in gesprochener Form vom Benutzer anders aufgenommen werden wie die Darstellung dieser in Form von Tabellen oder Aufzählungen. Zudem sollte mit einem solchen System ein Feedback über die bisherigen Aktionen gegeben werden, wobei eine Informationsüberflutung jedoch zu vermeiden ist. Die Antwortgenerierung plant somit den genauen Output und gibt dann das Ergebnis an die Sprachsynthese weiter. Sprachsynthese: Die Sprachsynthese übernehmen sogenannte Text-To-Speech Systeme (TTS) wie beispielsweise das Programm Realspeak von Lernout & Hauspie (L & H). Diese wandeln den Output der Antwortgenerierung in ein digitales Sprachsignal und senden dieses an den Ausgabekanal. Da TTS-Systeme genauso wie Spracherkenner sprachabhängig sind, d.h. sie verwenden beispielsweise für deutschen Text die Ausspracheregeln der deutschen Sprache, führt dies häufig gerade bei Fremdwörtern oder Anglismen zu Aussprachefehler. Deshalb wird teilweise als Alternative die Technik der Sprachwiedergabe (reproduktive Sprachsynthese) verwendet. Hierbei werden bereits aufgenommene Sprachsignale entsprechend verknüpft. Ausgabe des Sprachsignals Entsprechend der Umgebungsbedingungen und der Art des Systems erfolgt die eigentliche Sprachausgabe dann über Lautsprecher, Kopfhörer oder übers Telefon. Stand der Technik von Dialogsystemen 39 Sprachausgabesysteme werden bisher hauptsächlich in Telefonsystemen genutzt und sollten in Dialogsystemen nur eine Ergänzung sein, da sie noch nicht ausgereift sind und das erzeugte Sprachsignal noch einen sehr künstlichen Klang hat [Hammeri00]. In Bezug zu PMX ist es durchaus vorstellbar die Interaktion per Sprache zu unterstützen. Das Anlegen verschiedener Objekte könnte beispielsweise per Spracheingabe durchgeführt werden. Bei den einzugebenden Daten handelt es sich meist nur um einzelne Worte, die relativ gut erkannt werden. Die Erkennung von Fachbegriffen könnte vor dem Einsatz des Systems trainiert werden. Eine Benutzerführung könnte zudem durch Sprachausgabe ergänzt werden. 3.2.8 Gestenbasierte Interaktion Bei dieser Interaktionsform werden Hand- und Kopfbewegungen über eine Kamera aufgenommen und interpretiert. Dabei ist es wichtig, dass die Gesten gut voneinander zu unterscheiden sind und der Benutzer diese ermüdungsfrei und bequem ausführen kann. Zudem müssen die Gesten so gewählt werden, dass sie sich eindeutig voneinander unterscheiden Grundsätzlich werden bei gestenbasierter Interaktion Bildsequenzen aufgenommen und an den eigentlichen Erkennungsprozess weitergeleitet. Die Erkennung erfolgt dann, ähnlich der Spracherkennung, über Hidden-Markov-Modelle (HMM). Die Zustände und Zustandsübergänge einer Geste sind jeweils durch ein HMM repräsentiert. Die aufgenommen Bildsequenzen werden mit den vorhandenen HMMs verglichen und die entsprechende Geste mit der höchsten Übereinstimmung erkannt. Verwendung findet die Gestenerkennung beispielsweise bei Präsentationssoftware, bei der der Vortragende den Verlauf seiner Präsentation durch Handbewegungen steuern kann. Ein Beispiel hierfür ist das Projekt BodyTalk an der Universität Dortmund [BodyTa00]. Für das Anlegen und Verwalten von verschiedenen Objekten im PMX-System macht die Gestenerkennung wohl eher weniger Sinn. Sie könnte aber beispielsweise in anderen Modulen wie beispielsweise zur Steuerung des Wiegevorgangs im Modul DISY Verwendung finden. [Holzin01] 3.2.9 Haptische Eingabegeräte Der Begriff Haptik steht für den Tastsinn des Menschen. Haptische Eingabegeräte unterstützen diesen Sinn indem sie Rückmeldungen darüber geben, mit welchen Materialeigenschaften wie beispielsweise Widerstandsfähigkeit, Beschaffenheit der Oberfläche oder Temperatur, virtuelle Objekte behaftet sind. Dabei ist es wichtig, dass diese Eindrücke glaubhaft sind, also den Erfahrungen entsprechen, die der Benutzer mit einem vergleichbaren realen Gegenstand gemacht hat. Zu den haptischen Stimulationsmöglichkeiten zählen: - Widerstand Temperatur Vibration Stand der Technik von Dialogsystemen - 40 elektrische Ströme Geräte die den Tastsinn bereits unterstützen sind bestimmte Mouse-Arten, Joystick (mit Vibrationseffekt) oder ein Thermischer Handschuh. 3.2.10 Weitere innovative Interaktionsformen Neben den vorgestellten neuen Möglichkeiten der Gestaltung von Benutzerschnittstellen gibt es noch einige weitere innovative Interaktionsformen. Beispielhaft ist hier der Bereich der Computer-Augmented Reality zu nennen. Hierbei wird das reale physikalische Umfeld des Benutzers durch allgegenwärtige Interaktionsmöglichkeiten mit dem Computer ergänzt (Ubiquitous Computing). Sensorik und Gestenerkennung sind für diese Interaktionsform Schlüsseltechnologien. Da solche Möglichkeiten für die Gestaltung eines neuen Bedienkonzeptes aber gegenwärtig nicht relevant sind, wird in dieser Arbeit nicht näher auf sie eingegangen. 3.3 Höhere Qualitäten - Joy of use Anyone want me to bake them a cake? How about some cookies?? I just got this mixer a couple of months ago and I absolutely adore it! First of all, it has a nicely designed body. It's very sleek with rounded corners, which I find appealing. Secondly, it is so lightweight. It's very easy to maneuver around, even in the heaviest batter. Werbung eines Online-Shop für einen Mixer [Hassen01] behauptet in seinem Artikel „Engineering Joy“, dass die bisherigen Ziele des Usability Engineering, ein benutzbares und benutzerfreundliches System zu schaffen, bei der Entwicklung moderner User Interfaces nicht mehr ausreichen. Benutzer sollen nicht nur ein System antreffen, das sie leicht verstehen können und das sie bei der Arbeit unterstützt. Das Bedienen moderner Software sollte dem Benutzer zusätzlich auch Freude bereiten, eben zum Joy of use führen. Da es bezüglich des Joy of use verschiedene Ansichten zur Definition und zum Erreichen dieses Zieles gibt, beschreibt [Hassen01] die folgenden 3 Blickwinkel aus denen dieser Begriff in der gegenwärtigen Literatur gesehen wird: - Reduzierung auf Benutzbarkeit Hierbei geht man davon aus, dass die Freude am Benutzen letztendlich aus der Benutzbarkeit einer Software resultiert. Die Frage hierbei ist nicht mehr, wie man Software entwirft die Spaß macht, sondern wie gut das Usability Engineering umgesetzt wird, um zu einer exzellent benutzbaren Software zu gelangen. Man geht hierbei davon aus, dass eine sehr gut zu benutzende Software automatisch auch Freude macht. - Reduzierung auf das Design Stand der Technik von Dialogsystemen 41 Diese Sicht reduziert die Freude am Benutzen auf eine Qualität, die Designer einer Software geben. Hier wird Joy of use mehr als oberflächliche Eigenschaft einer Software gesehen. Tiefere Qualitäten wie die Interaktionsgestaltung und die vorhandenen Funktionalitäten werden dabei außer Acht gelassen. Das Zusammenspiel von Visualisierung, Interaktion und Funktionalität bleibt unberücksichtigt. - Reduzierung auf das Marketing Hierbei wird der Gedanke des Joy of use simpel als eine Forderung des Marketing gesehen. Der Gedanke ist, dass Software die gut aussieht sich auch besser verkauft. [Hassen01] erwähnt diese Blinkwinkel, sagt aber auch gleich, dass sie für eine genaue Definition und für das Erreichen des Joy of use nicht ausreichen. Eine Software bei der zum einen die Funktionalität und zudem auch das Design stimmt, ist zwar angenehm zu bedienen, führt aber noch lange nicht zur eigentlichen Freude am Benutzen. 3.3.1 Gründe warum Software Freude machen sollte: Warum die gegenwärtigen Ziele wie Bedienbarkeit und Benutzerfreundlichkeit nicht mehr ausreichen erscheint auf den ersten Blick nicht nachvollziehbar. Ein Software-System soll doch in erster Linie dazu dienen Aufgaben durchzuführen und nicht Spaß zu haben. [Hassen01] nennt hier aber folgende Gründe warum Software zusätzlich auch Freude bereiten sollte: · · · · Akzeptanz und Zufriedenheit mit dem System wird gesteigert Ein User Interface, das Freude bereitet wird eher als nützlich empfunden Eine Steigerung der Freude an der Arbeit erhöht auch die Qualität Bei Lernsystemen wird durch eine Software, die Spaß macht auch der Lernerfolg gefördert 3.3.2 Hedonistische Qualitäten Bei der Entwicklung eines User Interfaces reicht es natürlich nicht aus die positiven Eigenschaften einer Software, die Freude bereiten soll, zu kennen. Um das Ziel des Joy of use zu erreichen müssen laut [Hassen01] zusätzlich zu guten Interaktionsmöglichkeiten und guter Funktionalität hedonistische Komponenten in ein System eingebaut werden. Hedonismus = Auffassung, dass das Streben nach Genuss und Lustgewinn die Triebfeder menschlichen Handelns sei. Langenscheidts Fremdwörterbuch online Hedonistische Komponenten sind somit Eigenschaften einer Benutzerschnittstelle, die mit dem eigentlichen Ausführen von Aufgaben nichts zu tun haben. Im einfachsten Fall könnte dies beispielsweise die Verwendung von Grafiken oder der Einsatz von Farbe sein. Auf dem Weg zum Joy of use ist es allerdings sehr wichtig, dass man sowohl hedonistische als auch aufgabenbezogene Qualitäten nicht aus den Augen verliert. Eine extrem gut benutzbare aber langweilig gestaltete Software wird genauso wenig zum Joy of use führen wie ein aufregend gestaltetes aber völlig unbrauchbares System. Was führt nun zu hedonistischen Qualitäten einer Software? [Hassen01] nennt hier beispielhaft die folgenden zwei Eigenschaften: Stand der Technik von Dialogsystemen - 42 Das Bedürfnis nach Neuem und nach Abwechslung Ein Mensch fühlt sich am wohlsten auf einem optimalen Reizniveau, auf dem weder Überstimulierung noch Monotonie auftreten. Eine mit einem System durchzuführende Aufgabe sollte eine Herausforderung darstellen aber für den Benutzer auf jeden Fall durchführbar sein. Ein solcher Zustand führt dazu, dass ein Anwender von seiner Aufgabe eingehüllt wird und dadurch Freude empfindet. Diese Eigenschaft bezieht sich auf das Innere eines Menschen und seinen Entwicklungsstand. Hierbei ist es wichtig die Vorkenntnisse und Fähigkeiten der Benutzer zu kennen um bei der Realisierung eines neuen User Interfaces ein solches Niveau zu schaffen. - Das Bedürfnis sich durch Dinge auszudrücken und mitzuteilen Dieses Bedürfnis richtet sich auf das Äußere eines Menschen und auf die Menschen, die ihn umgeben. Das Sich-ausdrücken und -mitteilen durch Dinge bedeutet hier, dass Dinge, wie beispielsweise auch ein Softwareprogramm, bewusst oder unbewusst genutzt werden um den Status einer Person auszudrücken. Ein Experte zu sein und etwas zu verstehen was andere nicht verstehen, sich etwas leisten zu können was sich andere nicht leisten können, oder etwas zu besitzen was andere gerne hätten sind treibende Kräfte, die nicht unterschätzt werden dürfen. In Bezug zu User Interfaces wird sich ein Experte eines Systems unterfordert oder womöglich als unfähig eingestuft fühlen wenn er einen Wizard benutzen soll. 3.3.3 Semantic Differential Um hedonistische Eigenschaften in einem Softwaresystem zu realisieren nennt [Hassen01] neben anderen Vorgehensweisen die Technik des Semantic Differential zum Messen hedonistischer Qualität. Hierbei werden sieben verschiedene Paare von Adjektiven eingesetzt, die jeweils für das Vorhandensein oder für das Fehlen hedonistischer Eigenschaften stehen. Ein Prototyp des zu entwickelnden Systems wird verschiedenen Personen, die die spätere Benutzergruppe repräsentieren, vorgestellt. Eine Bewertung des Entwurfs findet dann nach dem in Tabelle 3.1 gezeigten Auswertungsbogen statt. überragend exklusiv beeindruckend einzigartig innovativ erregend interessant ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð zweitklassig standard uninteressant gewöhnlich konservativ stumpfsinnig langweilig Tabelle 3.1: Semantic Differential [Hassen01] Nachdem die Teilnehmer den Prototypen bewertet haben, wird ein Hedonic quality value durch Summieren oder Berechnen des Durchschnitts bestimmt. Während des Entwicklungsprozesses wird dies wiederholt durchgeführt, bis ein akzeptabler Wert erreicht wird. Stand der Technik von Dialogsystemen 43 3.4 Psychologische Aspekte - Wahrnehmungspsychologie Die Wahrnehmungspsychologie als Teilgebiet der allgemeinen Psychologie erforscht die Verarbeitung von Reizen durch die Sinnesorgane sowie die Ergebnisse (Eindrücke, Empfindungen) dieser Verarbeitung. Aufgabe der Wahrnehmung ist es die oft ungeordneten Eindrücke von Außen aufzunehmen und zu organisieren. Der Prozess der Wahrnehmung lässt sich in folgende drei Teilbereiche aufteilen: 1. Sensorische Empfindung Hier werden physikalische Energien wie Schallwellen und Licht aufgenommen und in neuronale Aktivität von Gehirnzellen umgewandelt. 2. Wahrnehmung Das Wahrgenommene wird in eine innere Repräsentation umgewandelt. 3. Klassifikation Hierbei wird das Wahrgenommene bekannten Kategorien zugeordnet. Bei diesem Vorgang findet eine Selektion statt und nur bestimmte Informationen werden letztendlich wahrgenommen [Holzin01], [Jakob01]. In Bezug zur Gestaltung einer ergonomischen Benutzerschnittstelle bieten die Farbpsychologie und die Gestaltgesetze als Teilgebiete der Wahrnehmungspsychologie wichtige Erkenntnisse. 3.4.1 Farbpsychologie Die farbliche Gestaltung einer Benutzerschnittstelle sollte man so wählen, dass ein Benutzer diesen Dialog als angenehm empfindet. Dies sollte auch nach mehreren Stunden noch gewährleistet sein. Ein sinnvoller Einsatz von Farbe erlaubt es zudem die Aufmerksamkeit des Benutzers auf bestimmte Bereiche zu lenken, die Zusammengehörigkeit von bestimmten Objekten zu visualisieren oder auch Elementen eine bestimmte Bedeutung zukommen zu lassen und sie zu kategorisieren. Da Farben nicht real existieren sondern erst durch das Auge zu Farbempfindungen werden, nimmt sie jeder Mensch unterschiedlich war. Zudem gibt es verschiedene psychologische Einflussfaktoren, die zu einer unterschiedlichen Farbwahrnehmung führen: - individuelle Faktoren Durch Erfahrungen mit Farben können diese unbewusste Empfindungen hervorrufen. Ein Beispiel wäre hierbei die Farbe des Autos das man besitzt. Diese Erfahrungen sind individuell völlig verschieden und führen zu unterschiedlichen Wirkungen. - symbolische Faktoren Manchen Begriffen werden Farben zugeordnet, die real gar keine Farbe haben (Grün ist die Hoffnung). Durch Überlieferung sind solche Assoziationen entstanden. - kulturelle Faktoren In verschiedenen Kulturkreisen haben Farben eine unterschiedliche Bedeutung. Ist ein Engländer „blau“, so ist er nicht betrunken sondern melancholisch. Aber auch Farben aus dem Logo einer großen Firma wie beispielsweise die Farbe „gelb“ der Post führen zu kulturell unterschiedlichen Assoziationen. - politische Faktoren Farben werden oft mit politischen Einstellungen oder Ideologien verknüpft, wie beispielsweise die Farbe „rot“ mit dem Kommunismus oder die Farbe „braun“ mit dem Stand der Technik von Dialogsystemen 44 Nationalsozialismus. Eine solche Assoziation führt auch zu individuell unterschiedlichen Empfindungen. - traditionelle Faktoren Manche Farbassoziationen beruhen auf alten Verfahren der Farbgewinnung und der Färberei. Da grüne Malerfarben früher Arsen enthielten wird diese Farbe oft auch mit Giftigem assoziiert. Trotz der genannten Faktoren, die Farben eine unterschiedliche Bedeutung und Empfindung zukommen lassen, gibt es auch allgemeingültige Begriffe die mit Farben verbunden werden: Gelb: Reife, Wärme, Optimismus, Veränderung, extrovertiert Vorwärtsstreben, Rot: Aktivität, Dynamik, Gefahr, Temperament, Eroberungswille, Tatendrang, exzentrisch Heiterkeit, Zorn, Wärme, Freundlichkeit, Leidenschaft, Orange: Freude, Lebhaftigkeit, Spaß, Lebensbejahung, Ausgelassenheit, fanatisch, aktiv Blau: Harmonie, Zufriedenheit, Ruhe, Passivität, Unendlichkeit, Sauberkeit, Hoffnung Grün: Durchsetzungsvermögen, Frische, Beharrlichkeit, Entspannung, Ruhe, lebensfroh, naturverbunden Violett: Selbstbezogenheit, Eitelkeit, Einsamkeit, Genügsamkeit, introvertiert, statisch Braun: Sinnlichkeit, Bequemlichkeit, Anpassung, Schwere, zurückgezogen Weiß: Reinheit, Sauberkeit, Ordnung, Leichtigkeit, Vollkommenheit, illusionär Schwarz: Negation, Auflehnung, Undurchdringlichkeit, Trauer, Einengung, Abgeschlossenheit, Funktionalität, pessimistisch, hoffnungslos, schwer Grau: Neutralität, Trostlosigkeit, Nüchternheit, Elend, Nachdenklichkeit, Sachlichkeit, Funktionalität, Schlichtheit, unbeteiligt [Holzin01], [Jakob01] Farbmodelle Farbmodelle dienen zur genauen Definition verschiedener Farben durch numerische Werte. Um nachfolgend Strategien und Grundsätze einer harmonischen und ergonomischen Farbgestaltung zu erläutern, werden zunächst die wichtigsten Farbmodelle kurz vorgestellt: · · RGB-Modell Dieses Farbmodell ist im Bereich der Computergrafik das am häufigsten verwendete Modell. Es ist ein additives Farbmodell, das heißt die Werte der drei Primärfarben Rot, Grün und Blau werden addiert und ergeben so die entsprechende Farbe. Dieses Modell wird durch einen Würfel dargestellt, bei dem jede Dimension einer Grundfarbe entspricht. Die verschiedenen Farben werden aufbauend auf diesem Würfel durch Koordinaten bestimmt. HLS-Modell Im Gegensatz zum RGB-Modell werden bei diesem Modell die Farben durch die drei Werte Farbton (Hue), Helligkeit (Luminance) und Sättigung (Saturation) definiert. Die Stand der Technik von Dialogsystemen 45 Farbe selbst wird durch den Farbton bestimmt, der besagt ob es sich zum Beispiel um einen Blauton, Grünton oder Gelbton handelt. Die Sättigung bestimmt den Grauanteil einer Farbe. Wird die Sättigung verringert so erhöht sich der Grauanteil. Hat eine Farbe keine Sättigung so erscheint jede Farbe als Grau. Die Helligkeit führt bei einem maximalen Wert zu Weiß und bei minimalem Wert zu Schwarz. Je nachdem wie stark die Sättigung ist bestimmt der Helligkeitswert die Helligkeit des Farbanteils und des Grauanteils. [Crüger00], [Jakob01] Strategien für die Farbgestaltung [Holzin01] nennt einige physiologische und ästhetische Gesichtspunkte die beim Einsatz von Farbe zu beachten sind: · Bei der Gestaltung von Benutzerschnittstellen sollten nie Farbtöne mit unterschiedlicher Sättigung oder unterschiedlichem Helligkeitsanteil eingesetzt werden, da dies auf den Benutzer sehr unausgewogen wirkt. Werden Farben eingesetzt dessen Sättigungs- und Helligkeitswerte gleich sind, wirkt dies auf den Betrachter wesentlich ausgeglichener. · Die Farbe eines Elementes beeinflusst auch die Größe, mit der es wahrgenommen wird. Als Beispiel wirkt ein rotes Quadrat größer als ein gleich großes grünes. Dies könnte dazu führen, dass ein Benutzer einem roten Element mehr Aufmerksamkeit schenkt als einem grünen. · Menschen sind in der Lage auf einen Blick maximal 7 +/- 2 Objekte wahrzunehmen. Zu viele verwendete Farben würden daher einen Benutzer überfordern. · Blickt ein Benutzer längere Zeit auf einen Bereich in dem stark gesättigte Farben eingesetzt werden, so kann es sein, dass er, nachdem er den Blick auf eine andere Stelle richtet, ein Nachbild sieht. Dies kann auf den Betrachter beunruhigend wirken und belastet zudem die Augen. Große Flächen mit satten Farben sollten deshalb vermieden werden. · Bei der Suche nach einem bestimmten Element oder Objekt kann dieses durch entsprechende farbliche Unterscheidung wesentlich schneller gefunden werden als durch andere Merkmale. Haben Elemente die gleiche Farbe, können diese auch schneller gezählt werden als bei anderen Gemeinsamkeiten. · Kontrast führt zu einer Veränderung der Wahrnehmung einer Farbe entsprechend der Partnerfarbe in Richtung des größten Gegensatzes. Dadurch erscheint eine weiße Fläche auf schwarzem Grund weißer oder eine graue Fläche auf weißem Hintergrund dunkler. Bei farbigen Partnern bekommt ein Grauton den Anschein die Komplementärfarbe des Partners anzunehmen. Beispielsweise erscheint Grau auf Gelb violett, auf Orange blau, auf Rot türkis, auf Purpur grün usw.. · Der Kontrast beeinflusst zudem auch Farben untereinander. Gelb wirkt neben Grün wärmer und rötlicher während es neben Orange kälter und grünlicher empfunden wird. · Bei der farblichen Gestaltung einer Benutzerschnittstelle sollte diese in seiner Gesamtheit gesehen werden und Farben sollten sorgfältig überlegt und sparsam eingesetzt werden. Ein einzelnes Fenster sollte nie mehr als 4 Farben, das ganze System nicht mehr als 7 Farben aufweisen. Stand der Technik von Dialogsystemen · 46 Eine harmonische Farbgestaltung ergibt sich, wenn mindestens eine der drei Grundfarben (Rot, Grün, Blau) weggelassen wird. Schrift und Farbe Text wird in einem Dialogsystem zumeist als schwarze Schrift auf weißem Hintergrund dargestellt. Laut [Holzin01] ist dies grundsätzlich auch sinnvoll, da das menschliche Auge dunkle Schrift auf hellem Hintergrund besser wahrnehmen kann als helle Schrift auf dunklem Hintergrund. In manchen Fällen ist es aber auch wünschenswert einem Text einen farbigen Hintergrund zu geben oder Worte in Farbe darzustellen. Nach [Holzin01] ist hierbei zu beachten, dass das Auge Schwierigkeiten hat, bei zwei Farben mit unterschiedlicher Wellenlänge beide scharf zu sehen. Man hat dabei den Eindruck die eine Farbe über der anderen schwebend zu sehen, was sehr beunruhigend wirkt. Um diesen Chromostereopsie-Effekt zu vermeiden sollten folgende Farbkombinationen auf keinen Fall eingesetzt werden: · · · · · · roter Text auf grünem Hintergrund, blauer Text auf grünem Hintergrund, roter Text auf blauem Hintergrund, grüner Text auf blauem Hintergrund, blauer Text auf rotem Hintergrund und grüner Text auf rotem Hintergrund. Die Darstellung von Text mit zu geringem Kontrast zum Hintergrund sollte unbedingt vermieden werden. Auch die Verwendung von Hintergrundbildern ist nicht empfehlenswert, da sich der Text nicht deutlich genug abheben kann. Die Verwendung der Farbe Blau für die Darstellung von Text sollte auch grundsätzlich vermieden werden. Der Grund hierfür liegt in der Beschaffenheit des Bereiches der Netzhaut, der für das Scharfsehen verantwortlich ist (gelber Fleck). An dieser Stelle gibt es kaum blauempfindliche Farbrezeptoren, sodass dieser Bereich fast unempfindlich für blaues Licht ist. Kleine Objekte in blauer Farbe können deshalb nur sehr schwer wahrgenommen werden. 3.4.2 Gestaltpsychologie Dieses Teilgebiet der Wahrnehmungspsychologie entstand gegen Ende des 19. Jahrhunderts. Christian von Ehrenfels, einer der Begründer dieser Wissenschaft, formulierte als erster den Begriff der Gestalt als „Das Ganze ist mehr als die Summe seiner Teile“. Er demonstrierte dies am Beispiel einer Verlaufsgestalt, der Melodie. Laut [Holzin01] besteht eine Wechselwirkung zwischen den einzelnen Teilen einer Gestalt. Die Änderung eines Teils führt zur Änderung anderer Teile und somit zur Änderung des Ganzen. Bei der Gestaltung von Benutzerschnittstellen kann eine gute Formgebung und Anordnung von Dialogelementen die Erkennbarkeit und auch die Ergonomie einer Software fördern. Im Bereich der Gestaltpsychologie beschreiben die Gestaltgesetze die Wirkung von Formen, ihre Gestaltung und ihre Anordnung. Von den vorhandenen 114 Gestaltgesetzen werden die wichtigsten hier vorgestellt [Holzin01], [Jakob01]: Stand der Technik von Dialogsystemen · 47 Prägnanz Das Gesetz der guten Gestalt (Prägnanz) besagt, dass deutliche und prägnante Gebilde vom Menschen wesentlich leichter wahrgenommen werden. Prägnante Formen, also Formen die uns täglich begegnen und einfach aufgebaut sind, werden schneller erkannt und bleiben besser im Gedächtnis. Bei komplexeren Gebilden versucht die menschliche Wahrnehmung diese zu einfacheren, bereits bekannten Objekten zu formen. Für die Gestaltung von Benutzerschnittstellen bedeutet dies, dass Elemente die aus einfachen Strukturen aufgebaut sind, das Konzentrieren auf die wesentlichen Inhalte erleichtern. · Nähe Das Gesetz der Nähe zeigt, dass Objekte mit geringem Abstand zueinander als zusammengehörig empfunden werden. In Abbildung 3.14 wird dies deutlich: Abbildung 3.14: Nähe Beim Entwurf von Dialogsystemen sollte diese Erkenntnis zur Abbildung von zusammengehörigen Elementen genutzt werden. · Geschlossenheit Das Gesetz der Geschlossenheit sagt, dass geschlossene Elemente als zusammengehörend wahrgenommen werden. Nicht vorhandene Teile einer Abbildung werden durch die Wahrnehmung ersetzt. In Abbildung 3.15 wird auch deutlich, dass sich die Gestaltgesetze widersprechen können. Grundsätzlich gilt, dass Geschlossenheit vor Nähe siegt. Abbildung 3.15: Geschlossenheit In Bezug zur Gestaltung von Dialogen lässt sich diese Erkenntnis beispielsweise durch den Einsatz von Rahmen und Linien umsetzen. · Ähnlichkeit Dieses Gesetz besagt, dass gleich aussehende Elemente als zusammengehörend wahrgenommen werden. Im folgenden Bild sind schwarze und weiße Kreise zu sehen. Diese werden als 4 Gruppen wahrgenommen. Das Gesetz der Nähe erlaubt nicht diese als 2 Gruppen von jeweils 6 schwarzen und 6 weißen Kreisen wahrzunehmen. In diesem Fall konkurrieren Ähnlichkeit und Nähe. Abbildung 3.16: Ähnlichkeit Stand der Technik von Dialogsystemen · 48 Kontinuität Dieses Gesetz wird auch als Gesetz der guten Fortsetzung bezeichnet. Dies besagt, dass Reize (Linien oder Umrisse), die sich in die gleiche Richtung bewegen als zusammengehörig empfunden werden. Abbildung 3.17: Kontinuität · gemeinsames Schicksal Gemäß diesem Gesetz werden Objekte, die eine Bewegung oder Veränderung, beispielsweise durch Drehen oder Verschieben, in gleicher Form erfahren, als Einheit wahrgenommen. Das Verschieben oder Kopieren von mehreren markierten Objekten per Drag and Drop wäre ein Beispiel für die Umsetzung dieses Gesetzes · Symmetrie Das Gesetz der Symmetrie zeigt, dass symmetrisch angeordnete Objekte als zusammengehörig empfunden werden. Zudem konzentrieren sich Betrachter eher auf symmetrische Gebilde. · Erfahrung Gemäß dem Gesetz der Erfahrung, versucht ein Betrachter das Wahrgenommene auf für ihn bekannte Objekte abzubilden. Dies führt dazu, dass Gegenstände erkannt werden, die nur teilweise sichtbar sind. Abbildung 3.18 verdeutlicht dies: Abbildung 3.18: Erfahrung 4 CTM – Clinical Trial Management CTM ist die PMX-Lösung für das Management klinischer Tests in pharmazeutischen Unternehmen. Hauptaufgaben bei der Durchführung klinischer Tests sind das Management der Herstellung von neu entwickelten Medikamenten sowie die Zuteilung dieser Medikamente an verschiedene Testpersonen (Patienten). Zur Unterstützung dieser Aufgabenstellungen wurde CTM entwickelt. Die Vorteile von CTM sind dabei seine Integrierbarkeit in die Unternehmensstruktur als auch seine spezielle Ausrichtung auf die Bedürfnisse und Vorschriften im Umfeld der pharmazeutischen Industrie. Da ein neues Bedienkonzept für diesen Teil von PMX geschaffen werden soll, wird im folgenden die Funktionalität der CTM-Lösung kurz erläutert. Danach wird das Konzept der bisherigen Benutzerschnittstelle beschrieben und Schwachstellen werden dargestellt. 4.1 EDB – die Engineering Database von CTM Das Modul EDB ermöglicht das Anlegen und Verwalten der verschiedenen Objekte, die im Rahmen des Clinical Trial Management zum Einsatz kommen und die in Bezug zueinander stehen. Hierzu bietet die EDB folgende Funktionalitäten: 4.1.1 Master Data Management Die EDB verwaltet alle Stammdaten, die für die Materialverwaltung, Logistik, Studien (klinische Tests) und Projekte relevant sind. Zu diesen Stammdaten zählen: · · · · · · · · · · · · Benutzer Arbeitsplätze Artikel unterschiedlichen Typs Adressen Arbeitspläne Stücklisten Herstellungsanweisungen Etiketten und ihr Layout textuelle Angaben auf den Etiketten Länderkennungen Randomisierungen von Patienten, Intervalle, Medikationen und Medikations-Matrix Studien oder Projekte und die darauf aufbauenden Aufträge CTM – Clinical Trial Management 4.1.2 50 Versionskontrolle Ein Teil der oben genannten Objekte unterliegen der Versionskontrolle. Hierbei müssen die Objekte verschiedene Zustände, wie beispielsweise „in Bearbeitung“, „gültig“ oder „archiviert“ in ihrem Lebenszyklus durchlaufen. Dies sorgt dafür, dass nur die gültigen Objekte wie beispielsweise Medikationen verwendet werden können. Jeder dieser Statusübergänge wird in einer Historie aufgezeichnet. 4.1.3 Herstellungs- und Verpackungsanweisungen Abbildung 4.1: Herstellungs - und Verpackungsanweisung [PD01a] Herstellungs- bzw. Komponenten: · · Verpackungsanweisungen bestehen grundsätzlich aus den Arbeitsplan (Routing) Sie bestehen aus einzelnen Verfahrensschritten (Procedure operations) die die Ausführung eines Herstellungsschrittes genau beschreiben. Zudem bestimmen sie an welchem Arbeitsplatz und, wenn notwendig, zu welcher Zeit die Ausführung stattfindet. Stücklisten (BOM = Bill of Material): CTM – Clinical Trial Management 51 In der Stückliste sind die einzelnen Materialien zur Herstellung eines Artikels aufgeführt. Hier findet auch eine Zuordnung der Bestandteile zum jeweiligen Verfahrensschritt statt, in dem sie verarbeitet werden. Die Herstellungs- bzw. Verpackungsanweisung führt diese beiden Komponenten zusammen und ermöglicht somit auch das Kombinieren beispielsweise eines Routings mit verschiedenen Stücklisten. Aufbauend auf den Herstellungsanweisungen werden später Herstellungsaufträge angelegt. 4.1.4 Management von Studien Studien Hauptbestandteil der CTM-Lösung ist die Möglichkeit des Verwaltens von klinischen Studien. Pharmaunternehmen führen Studien durch um die Wirkung eines neu entwickelten Medikamentes auf eine begrenzte Anzahl freiwilliger Personen zu testen. Solche Studien können unterschiedlich gestaltet sein. Möglichkeiten der Gestaltung sind hier beispielsweise: · · Durchführung der Studie in einem oder mehreren Ländern. Offene, einfach-blinde oder doppel-blinde Studie. Dieses Kriterium legt fest ob Patient und Arzt darüber bescheid wissen was sie einnehmen bzw. verabreichen. Solche Kriterien können in der Engineering Database von CTM beim Anlegen einer Studie definiert werden. Medikationen Des weiteren ermöglicht die CTM-Lösung Medikationen, die innerhalb einer Studie getestet werden, zu verwalten. Eine Medikation besteht grundsätzlich aus einem Artikel des Artikelstammes und stellt somit eine Verbindung zur Herstellungsanweisung und zur Stückliste her. Diese Medikationen werden im Objekt „Medikationskopf“ zusammengefasst, welches auf die entsprechende Studie verweißt, in der die Medikationen getestet werden. Intervalle Um festzulegen, zu welchem Zeitpunkt welches Medikament an einem Patienten getestet wird, können Intervalle definiert werden. Diese sind ähnlich wie die Medikationen in einem Intervallkopf zusammengefasst, der auf eine Studie verweist. Randomisierungen Um eine Studie letztendlich durchführen zu können, werden in der Randomisierung jeder vorgesehenen Behandlungsgruppe (Gruppe von Testpersonen) verschiedene Patienten, identifiziert durch ihre Nummern, zugeteilt. Diese Zuteilung erfolgt durch eine spezielle Randomisierungsfunktion. Darauf folgend werden in der Medikations-Matrix die verschiedenen Medikationen den Behandlungsgruppen zugewiesen. CTM – Clinical Trial Management 52 Medikations-Matrix Abbildung 4.2 zeigt den Snapshot einer Medikations-Matrix. Die Spalten stehen dabei für die einzelnen Intervalle, während die Zeilen die verschiedenen Behandlungsgruppen („T“ für Treatment Group) repräsentieren. Durch Auswahl einer Medikation in der Combobox „Matrix elements“ und Klick auf die Felder der Matrix können diese zugewiesen werden. Der Mfactor definiert lediglich einen Multiplikations-Faktor. Abbildung 4.2:Snapshot - Medikations-Matrix Die Randomisierungsfunktion ist ein spezieller mathematischer Algorithmus, der durch die folgenden Parameter beeinflusst wird: · · · · Studientyp, wie cross-over, latin square, ascending dose. Symmetrische und asymmetrische Randomisierung, definierbar durch den M-Faktor. Fortlaufende oder nicht-fortlaufende Randomisierung. Mehrere Patienten-Sätze. Nachdem eine Studie komplett angelegt und randomisiert wurde, können darauf aufbauend Herstellungsaufträge erteilt werden. Entsprechend den benötigten Medikamenten werden die Artikel auf die sie verweisen hergestellt. Wohl bemerkt bietet die CTM-Lösung von Propack Data keine Funktionalität zur Verwaltung und zur Auswertung der Ergebnisse von Studien. 4.1.5 Design, Pflege und Ausdruck von mehrsprachigen Etiketten Mit einem in CTM eingebauten Grafikprogramm können die Labels für die Medikationen mit Codes und Verpackungsdaten erstellt werden. Dieses Programm erlaubt den direkten Zugriff auf die durch CTM verwalteten Objektdaten (Studiendaten, Patientennummern, usw.). Auftragsbezogene Daten, medikationsspezifischer Etikettentext sowie Standardtext werden im Etiketten-Layout zusammengeführt. Textelemente in verschiedenen Sprachen führen zu einer erheblichen Aufwandsreduzierung bei der Erstellung und Verwaltung der Labels. Diese Texte sind unterteilt in: Anwendungshinweise, Hinweise zur Einnahme, Hinweise zur Lagerung, Warnungen, usw.. CTM – Clinical Trial Management 53 4.2 Analyse 4.2.1 Das bestehende Bedienkonzept Die gegenwärtige Benutzerschnittstelle für die Engineering Database von CTM bietet im Grunde nur Sichten auf die einzelnen Tabellen und Datensätze der Datenbank. Um Objekte wie Stücklisten oder Studien verwalten zu können, müssen diese aus einer Liste, welche die entsprechende Datenbank-Tabelle darstellt, ausgewählt werden. Die Attribute eines solchen Datensatzes werden in Dialogfenstern mit häufig zu vielen oder nicht optimal strukturierten Feldern dargestellt. Zudem ist die Anzahl der verschiedenen Dialogelemente sehr begrenzt. Hauptsächlich zum Einsatz kommen: · · · · · · · · · Eingabefelder Textelemente Buttons Listen mit sehr wenigen Möglichkeiten der Manipulierung Registerkarten mit Reitern Rahmen und Linien zur Strukturierung der Dialogbestandteile Comboboxen Ein Menü im Hauptfenster Icons auf Buttons Da alle Objekte bei dem aktuellen User Interface auf die gleiche Weise, eben durch Aufruf der entsprechenden Liste und Auswahl des Datensatzes, verwaltet werden, ist dieses Grundkonzept der Bedienung relativ einfach zu erlernen. Da die Aufgabenstellung beim Anlegen und Verwalten der klinischen Studien aber eine sehr komplexe ist und zudem viele Abhängigkeiten zwischen den einzelnen Objekten bestehen, gerät der Anwender sehr schnell in die Situation den Überblick zu verlieren. Abhängigkeiten der verschiedenen Objekte Abbildung 4.3 gibt einen ersten Eindruck über die Komplexität der einzelnen in Beziehung stehenden Objekte. Die Grafik entstammt den Schulungsunterlagen für das Clinical Trial Management von Propack Data. CTM – Clinical Trial Management 54 Abbildung 4.3: Abhängigkeiten der Objekte [PD01a] Hier nochmals die im zukünftigen Entwurf relevanten Objekte im einzelnen: Study (Studie) Hier werden die verschiedenen Eigenschaften, wie das Design der Studie (single-blind oder double-blind, national oder international, usw.), das Start- und Enddatum oder auch die Bezeichnung der Studie festgelegt. Medication header (Medikationskopf) Er enthält alle Medikationen die bei einer Studie getestet werden. Diese könnten beispielsweise verschiedene Dosierungen eines Medikaments und ein zusätzliches Placebo Präparat sein. Für die einzelnen Medikationen muss jeweils eine Stückliste mit den zur Herstellung notwendigen Bestandteilen bestehen. Im Medikationskopf wird ein Bezug zur entsprechenden Studie hergestellt. Interval header (Intervallkopf) Die verschiedenen Zeiträume (Intervalle) in denen jeweils eine Medikation getestet wird sind im Intervallkopf definiert. Dieser bezieht sich auf eine entsprechende Studie. Randomization (Randomisierung) Eine Randomisierung nimmt Bezug auf eine Studie, einen Medikationskopf sowie einen Intervallkopf. Hier wird die Gestaltung der Medikations-Matrix festgelegt und die Randomisierung durchgeführt. Medication matrix (Medikations-Matrix) Siehe Kapitel 4.1.4 CTM – Clinical Trial Management 4.2.2 55 Schwachstellen des gegenwärtigen Bedienkonzeptes Im folgenden werden nun die Schwachpunkte des bisherigen Systems aufgeführt, die beim Anlegen und Verwalten von Studien auffallen. Nach der Analyse des bestehenden beginnt dann die Benutzeranalyse sowie die Analyse der Aufgaben, wie dies im Kapitel 2.2 Usability Engineering beschrieben ist. Vergleich mit Richtlinien und Normen: Tabelle 4.1 zeigt einen Vergleich des gegenwärtigen Benutzerdialoges mit den im Kapitel 2 aufgeführten Grundsätzen der Interaktionsgestaltung wie die VDI- oder ISO-Richtlinien: Grundsatz VDI-Richtlinie: Kompetenzförderlichkeit VDI-Richtlinie: Handlungsflexibilität VDI-Richtlinie: Aufgabenangemessenheit ISO 9241: Aufgabenangemessenheit ISO 9241: Selbstbeschreibungsfähigkeit ISO 9241: Steuerbarkeit ISO 9241: Erwartungskonformität ISO 9241: Fehlerrobustheit (-toleranz) ISO 9241: Individualisierbarkeit Bezug zu PMX / CTM Die Handlungskompetenz des Benutzers, also das Wissen über die Zusammenhänge wird durch das gegenwärtige System kaum gefördert. Handlungsflexibilität ist in der Form gegeben, dass der Benutzer auch bei geänderter Aufgabenstellung seine Arbeit durchführen kann. In Bezug zum Kenntnisstand des Benutzers bietet das System aber keine alternativen Wege zur Erfüllung einer Aufgabe. Das Anlegen von Studien und der davon abhängigen Objekte ist umständlich und unübersichtlich. Bei der Durchführung der Randomisierung erscheinen meist Fehlermeldungen, da aufgrund der geringen Übersicht leicht ein Detail vergessen wird. siehe VDI-Richtlinie Rückmeldungen des Systems, die Aufschluss geben über den aktuellen Zustand eines Dialoges sind kaum vorhanden. Der Ablauf beim Anlegen einer Studie ist in dem Maße steuerbar, dass der Benutzer die Objekte, so lange diese noch nicht den Status „gültig“ erreicht haben, auch nachträglich verändern kann. Eine Reihenfolge beim Anlegen muss eingehalten werden, diese ist aber durch die Datenbankstruktur bedingt. Erwartungskonformität ist derart gegeben, dass das Suchen und Einfügen bzw. Editieren von Objekten immer auf die gleiche, allerdings recht umständliche Weise erfolgt. Im Vergleich zu bekannten gegenwärtigen Software Produkten bietet die CTM-EDB weniger Funktionalität in der Benutzeroberfläche. Erwartungen werden hier häufig enttäuscht. Fehlermeldungen sind meist nicht informativ und die Fehlerquelle muss mühevoll gesucht werden. Alternative Wege zur Durchführung einer Aufgabe sind nicht vorhanden. CTM – Clinical Trial Management ISO 9241: Lernförderlichkeit 56 Ein mentales Modell des Benutzers wird durch den gegenwärtigen Dialog in keiner Weise unterstützt. Es ist keinerlei unterstützende Darstellung vorhanden. Tabelle 4.1: Vergleich mit Richtlinien und Normen Weitere grundsätzliche Schwachstellen · Beim Start der EDB erscheint das Hauptfenster mit Menüstruktur aber mit leerem Fensterinhalt. Die zu bearbeitenden Daten müssen grundsätzlich über die Menüstruktur ausgewählt werden. Ein „Look & Feel“ ist nicht vorhanden. Abbildung 4.4 zeigt dieses. Abbildung 4.4: Snapshot - Hauptfenster der CTM-EDB · · · Das Auffinden von Objekten (Studien, Randomisierungen, Medikationsköpfe, Intervallköpfe, …) aus einer Auswahlliste ist sehr mühsam. Es werden immer nur 100 Zeilen in einer Liste dargestellt. Um zu den nächsten Datensätzen zu gelangen muss eine Pfeil-nach-unten-Taste gedrückt werden. Die Auswahllisten bieten sehr wenig Funktionalität. Die Spalten können nicht (wie in Excel z.B.) vergrößert, verkleinert, ausgeblendet oder vertauscht werden. Zudem ist der Scrollbar nur eingeschränkt nutzbar. Die Selektions-Felder für die Auswahllisten belegen die Hälfte des Dialogfensters. Zudem sind diese nicht einheitlich auf einer Linie ausgerichtet, was unprofessionell wirkt. Abbildung 4.5 zeigt ein Auswahlfenster für Studien. CTM – Clinical Trial Management 57 Abbildung 4.5: Snapshot - Auswahlliste mit Selektionsfeldern · · · · Das Anlegen einer Studie und darauf aufbauend das Anlegen von Studien- und Fertigungsaufträgen, sowie das Auflösen von Fertigungsaufträgen führt zu sehr komplexen Abhängigkeiten, die kaum überschaubar sind. Um die CTM-EDB sicher und effizient nutzen zu können, bedarf es einer relativ langen Einarbeitungszeit. Zudem sollte der Benutzer ständig damit arbeiten, da bei seltener Anwendung das notwendige Wissen verloren geht. Eine hierarchische Darstellung, die Bezüge einzelner Objekt zueinander zeigt, gibt es nicht. Manche Dialogfenster benötigen mehr Platz als ein 17 Zoll-Monitor mit Standardauflösung bietet. Dadurch wird es notwendig im Shell-Window zu scrollen um verdeckte Teile des entsprechenden Fensters sehen zu können. weitere detailiertere Schwachstellen: · · · · · · Der Weg um ein Objekt (Studie, Medikationskopf, usw.) anzulegen ist sehr umständlich. Das entsprechende Auswahlfenster muss zunächst geöffnet werden und in diesem ist dann der Insert-Button zu drücken. Um einer neuen Studie ein Medikationskopf-, Intervallkopf- oder Randomisierungs-Objekt anzufügen, muss dieses Objekt zunächst nach dem im vorigen Punkt beschriebenen Weg angelegt, dann aber gleich wieder geschlossen (OK-Button) und dann wieder neu editiert werden, um die restlichen Dateneinträge vorzunehmen. Auf den Anwender wirkt dies sehr umständlich und benutzerunfreundlich. Attribut-Namen für das Design einer Studie wie „Design 1“, „Design 3“ sind nicht sehr aussagekräftig. Notwendige Eingabe-Felder wie „Planned-Start“ und „Planned-End“ sind in der Grundeinstellung des Dialogfensters einer Studie nicht zu sehen (Siehe Abbildung 4.7). Medikationen sind Artikeln aus dem Artikelstamm zugeordnet und diese Artikel haben jeweils eine Stückliste für die Herstellung. Wird beim Anlegen dieser Stücklisten den Bestandteilen kein Verfahrensschritt zugeordnet kann später ein Auftrag aufbauend auf der Studie, die diese Medikationen beinhaltet, nicht ausgeführt werden. Die Folge ist, dass alle Objekte nochmals angelegt werden müssen. Innerhalb der CTM-EDB bestehen sehr komplexe Abhängigkeiten der Objekte bezüglich ihrem Status. Hat ein Objekt beispielsweise noch nicht den Status „gültig“, so ist ein CTM – Clinical Trial Management 58 Statusübergang zu „gültig“ für alle abhängigen Objekte nicht möglich. Versucht man trotzdem einen Statusübergang durchzuführen, erscheint eine Fehlermeldung, die aber keinen Aufschluss über die Ursache gibt. Abbildung 4.6 zeigt ein Beispiel solcher Abhängigkeiten: Randomizierung Medikationskopf Medikation Artikel Stücklistenposition Abbildung 4.6: Abhängigkeiten der Objekte in der CTM-EDB · Das Dialogfenster einer Studie ist sehr vollgepackt mit Buttons (siehe Abbildung 4.7). Dies wirkt auf einen Anwender sehr einschüchternd. Diese Buttons führen teilweise zu weiteren Dialogen, führen aber auch direkt zum Ausführen von Funktionen, die nicht mehr rückgängig gemacht werden können. Zudem ist das Ergebnis beim Ausführen einer Funktion nicht direkt zu erkennen. Dies löst Ungewissheit beim Benutzer aus und fördert nicht das Gefühl etwas erreicht zu haben. Abbildung 4.7: Snapshot - Dialogfenster einer Studie · Beim Neuanlegen einer Randomisierung sind im Dialogfenster im Rahmen „Randomization“ (Rahmen in Form von Strukturierungselement) 3 Felder von Anfang an grau unterlegt, erlauben also keine Eingabe. Es scheint als würden diese nicht veränderbare Daten anzeigen. Hierfür ist ein Eingabefeld nicht sinnvoll. 4.2.3 Analyse der Benutzer Nachdem die Analyse der gegenwärtigen Benutzerschnittstelle erfolgte wird nun wie im Kapitel 2.2 Usability Engineering zunächst eine Analyse der Benutzer durchgeführt. Da es in dieser Arbeit nicht möglich war in Kontakt mit den eigentlichen Benutzern zu kommen, wurden Mitarbeiter der Abteilung Training & Learning bezüglich den Anwendern der CTMEDB befragt. Anhand folgender Kriterien wurden die Anwender beurteilt: CTM – Clinical Trial Management 59 · Alter, Geschlecht Das Alter der Anwender kann nicht auf eine bestimmte Altersstufe eingeschränkt werden. Dieses kann zwischen 25 und 65 liegen. Des weiteren wird das System sowohl von Männern als auch von Frauen benutzt. · Körperliche Fähigkeiten, Behinderung Grundsätzlich haben die Anwender weder körperliche noch geistige Einschränkungen. Ein Mitarbeiter der Abteilung Training & Learning berichtete aber von einem Anwender, der farbenblind war. Dies ist zwar eine Ausnahme, kann aber durchaus bei der Entwicklung eines neuen Bedienkonzeptes berücksichtigt werden. · Ausbildung - allgemeines Ausbildungsniveau Das allgemeine Ausbildungsniveau ist sehr unterschiedlich. Die eigentliche Datenerfassung erfolgt häufig von weniger qualifizierten Anwendern. Verantwortungsträger, die für das Freigeben erfasster Daten (beispielsweise einer Studie) zuständig sind, sind dagegen meist hoch qualifiziert (Pharmazeuten, Chemiker). - spezifische Schulungen Vor der Benutzung des Systems erfolgt grundsätzlich eine intensive Schulung der Anwender. · Motivation Da die Anwender häufig sehr große Mengen an Daten zu erfassen haben, ist die Motivation zum einen dadurch geprägt, dass sie die Aufgabe, die vor ihnen liegt, möglichst schnell und effektiv bewältigen wollen. Zum anderen ist es aber auch sehr wichtig, dass alle Daten korrekt erfasst werden. Falsch erfasste Daten könnten dazu führen, dass ein Patient ein falsches Medikament bekommt. Dies führt dazu, dass die Anwender der CTM-EDB sehr stark auf Sicherheit bedacht sind und erfasste Daten intensiv kontrolliert werden. Ein übersichtliches Bedienkonzept kann hierbei die Anwender entlasten. · Computervertrautheit Anwender der CTM-EDB benutzen auch andere Software, wie Textverarbeitungs- oder Tabellenkalkulationsprogramme. Es kann also davon ausgegangen werden, dass sie mit dem Computer vertraut sind und gängige Dialogkonzepte kennen. · Vertrautheit mit dem Problem bzw. dem Anwendungsgebiet Die Anwender kennen die Aufgabenstellung, sowie den Sinn und Zweck dieser. Ein zukünftiges Bedienkonzept, muss daher nicht soweit gehen, dass es dem Anwender die Problemstellung vermittelt. · Intensität der Anwendung Die Häufigkeit der Nutzung der CTM-EDB ist von Anwender zu Anwender sehr verschieden. Es gibt sowohl den “Power-User”, der das System mehrere Stunden am Tag bedient, als auch Anwender, die nur selten mit dem System in Berührung kommen. Eine neue Benutzerschnittstelle, sollte daher verschiedene Modi, wie beispielsweise ein Wizard-Konzept sowie einen Expertendialog, bereitstellen. · Kulturkreis Das Verwalten klinischer Studien wird fast ausschließlich in den Hauptniederlassungen der verschiedenen Pharma-Unternehmen durchgeführt. Diese befinden sich in den wirtschaftlich höher entwickelten Regionen der Erde, also: - Nordamerika - Westeuropa CTM – Clinical Trial Management - 4.2.4 60 Süd-Ost-Asien Australien Aufgabenanalyse Parallel zur Benutzeranalyse kann die Aufgabenanalyse erfolgen. Hier ist zunächst zu analysieren welche Arten von Tätigkeiten mit einem System durchzuführen sind. Wie schon beschrieben, können diese mittels verschiedener Diagramme dargestellt und beschrieben werden. Der Task Tree in Abbildung 4.8 gibt zunächst einen Überblick über die Hauptaufgaben die mit der Engineering Database von CTM durchgeführt werden. Clinical Trial Management Management der Masterdaten Versionskontrolle Management von Herstellungs- und Verpackungsanweisungen Management von Studiendaten Management von Aufträgen Abbildung 4.8: Task Tree - Hauptaufgaben von CTM Der Fokus dieser Arbeit ist auf das Management von Studiendaten gerichtet. Der Anwender hat hier mit sehr komplexen Datenstrukturen und Abhängigkeiten verschiedener Objekte zu tun, was eine Herausforderung an ein modernes Bedienkonzept darstellt. Im folgenden wird deshalb speziell diese Aufgabenstellung genauer betrachtet. Abbildung 4.9 zeigt einen weiteren Task Tree der die Aufgabe “Management von Studiendaten” weiter unterteilt. CTM – Clinical Trial Management Management von Studiendaten 61 Management von Projekten Management von Studien Management von Medikationsköpfen Management von Intervallköpfen Management von Randomisierungen Management von Patienten Abbildung 4.9: Task Tree - Management von Studiendaten Zusätzlich zu den einzelnen Aufgaben sind in Abbildung 4.9 auch die Objekte bereits zu erkennen, die in den Arbeitsprozessen erzeugt oder manipuliert werden. Dies sind im einzelnen: · · · · · · Projekt Studie Medikationskopf Intervallkopf Randomisierung Patient Zur Erläuterung ist hier zu erwähnen, dass mit dem Begriff „Studiendaten“ eine komplette Studie mit den in Beziehung stehenden Objekten Medikationskopf, Intervallkopf und Randomisierung gemeint ist, während der Begriff „Studie“ sozusagen für einen Datensatz steht, der über das entsprechende Dialogfenster gepflegt werden kann. Je nachdem ob es sich zwischen den Objekten um 1-1 oder 1-n Beziehungen handelt, wird dies im gegenwärtigen System im Dialogfenster eines Objektes entweder durch ein Textfeld mit Fremdschlüssel (1-1) oder durch einen Pushbutton, der zu einer Auswahlliste führt (1-n), dargestellt. Welche Beziehungen zwischen den einzelnen Objekten bestehen zeigt das Datenbankdiagramm in Abbildung 4.10. Besonders die im gegenwärtigen System in einem Dialogfenster zu sehenden Fremdschlüssel sind oft sehr aussagelos und fördern keineswegs die Übersichtlichkeit. CTM – Clinical Trial Management 62 Projekt (0,1) (0,n) (1,1) Studie (1,1) (1,1) (0,n) (0,n) Medikationskopf Intervallkopf (0,1) (0,1) (0,n) (0,n) Randomisierung (0,n) Abbildung 4.10: Datenbankdiagramm der Studiendaten Die in Abbildung 4.9 gezeigten einzelnen Unteraufgaben können nun wiederum unterteilt werden in die Bereiche: Neuanlegen, Editieren und Löschen. Neuanlegen von Studiendaten Gerade beim Neuanlegen von einzelnen Objekten trifft man auf das Problem, dass Abhängigkeiten zwischen den Objekten bestehen. Einfach formuliert können manche Objekte erst angelegt werden, wenn andere Objekte bereits bestehen. Im Fall des Anlegens von Studiendaten bedeutet dies, dass zunächst eine Studie erzeugt werden muss, bevor die Objekte Medikationskopf, Intervallkopf und Randomisierung angelegt werden können. Solche Abhängigkeiten lassen sich mit dem Task Tree nicht mehr darstellen. Um dies trotzdem modellieren zu können wird hierzu ein Aktivitätendiagramm verwendet. Abbildung 4.11 zeigt ein solches Diagramm, welches das Anlegen einer Studie mit Medikationskopf, Intervallkopf sowie Randomisierung darstellt. CTM – Clinical Trial Management 63 Studie anlegen Studie [defined] Medikationskopf anlegen Medikationskopf [edit mode] Intervallkopf anlegen Intervallkopf [edit mode] Randomisierung anlegen Randomisierung [edit mode] {AND} Abbildung 4.11: Aktivitätendiagramm - Anlegen von Studiendaten Soll nach dem Neuanlegen, der in Abbildung 4.11 gezeigten Objekte die Randomisierung durchgeführt werden, ist darauf zu achten, dass die Objekte Medikationskopf sowie Intervallkopf im Status „gültig“ sind. Ist dies nicht der Fall können diese dem Objekt Randomisierung nicht angefügt werden. Das Objekt Randomisierung benötigt aber jeweils einen Verweis auf die beiden Objekte da ansonsten die Randomisierungsfunktion, also der Algorithmus, welcher Patienten den verschiedenen Behandlungsgruppen zuteilt, nicht ausgeführt werden kann. Wohlgemerkt müssen Patienten zu diesem Zeitpunkt noch nicht vorhanden sein. Vielmehr werden bei der Durchführung der Randomisierungsfunktion Datensätze für die Anzahl der geplanten Patienten erzeugt. Diese sind dann durch eine fortlaufende Nummer repräsentiert und können später durch weitere Daten ergänzt werden. Das Aktivitätendiagramm in Abbildung 4.12 veranschaulicht diesen Ablauf. CTM – Clinical Trial Management 64 Medikationskopf [edit mode] Intervallkopf [edit mode] Statuswechsel des Medikationskopfes nach "gültig" Medikationskopf [gültig] Statuswechsel des Intervallkopfes nach "gültig" {AND} Anfügen von Medikations- und Intervallkopf zur Randomisierung Intervallkopf [gültig] Randomisierung [edit mode] Festlegung des Designs und Definition der Medikations Matrix Durchführen der Randomisierung Studie [randomisiert] Patienten Abbildung 4.12: Aktivitätendiagramm - Durchführen der Randomisierung Nachdem die Randomisierung durchgeführt wurde, können, aufbauend auf der dazugehörigen Studie, Fertigungsaufträge zur Herstellung der verschiedenen Medikationen erteilt werden. Da spätere Prototypen speziell für das Management von Studiendaten realisiert werden, wird dieser weitere Schritt in dieser Analyse nicht mehr berücksichtigt. Vielmehr ist hier noch zu erwähnen, dass die Schritte der bisher dargestellten Vorgehensweise zum Anlegen einer Studie wiederum unterteilbar sind. Beispielsweise besteht der Vorgang des Anlegens eines Medikationskopfes aus den Schritten: Erzeugen der Medikationskopfdaten, Hinzufügen der Medikationen sowie dem Hinzufügen von CTM – Clinical Trial Management 65 Medikationskennungen1 zu den Medikationen. Des weiteren besteht beispielsweise das Hinzufügen einer Medikation zu einem Medikationskopf aus den Schritten: Auswahl einer eventuell übergeordneten Medikation, Angeben verschiedener Daten sowie der Auswahl eines Artikels aus dem Artikelstamm der Engineering Database. Ebenso wäre der Schritt „Hinzufügen von Medikationskennungen zu einer Medikation“ unterteilbar. Abbildung 4.13 zeigt diese weitere Verschachtelung anhand eines Task Trees. Anlegen eines Medikationskopfes Erzeugen des Medikationskopfes Hinzufügen von Medikationen Hinzufügen von Medikationskennungen zu den Medikationen eventuelle Auswahl einer übergeordneten Medikation Angabe der Medikationsdaten Auswahl eines Artikels aus dem Artikelstamm Abbildung 4.13: Task Tree - Anlegen eines Medikationskopfes Abbildung 4.13 soll hier nur beispielhaft zeigen wie die verschiedenen Arbeitsprozesse untergliedert werden können. Natürlich sind die meisten anderen dargestellten Aufgaben auch weiter aufteilbar. Dies alles darzustellen und zu erläutern würde den Rahmen hier aber sprengen. Zudem reicht dies auch aus um eine der Problematiken des Verwaltens von Studiendaten zu veranschaulichen. Diese Problematik besteht darin, dass die große Menge an Aufgaben und ihrer Teilschritte beim Anlegen einer Studie sehr schnell zum Verlust des Überblicks beim Anwender führt. Dadurch, dass fast jeder Teilschritt ein eigenes Dialogfenster besitzt, sieht sich der Benutzer zudem schnell mit sehr vielen übereinander liegenden Dialogfenstern konfrontiert, was den Überblick zusätzlich einschränkt. In Abbildung 4.14 ist eine solche Gegebenheit zu sehen. 1 Beschriftung der Medikation. Einer Medikation können mehrere Medikationskennungen in verschiedenen Sprachen zugeordnet sein. CTM – Clinical Trial Management 66 Abbildung 4.14: Snapshot - Unübersichtlichkeit des bestehenden Systems Die Aufgabenstellung des Anlegens von Studiendaten fordert vom Benutzer den geistigen Überblick zu haben, und zu wissen welche Schritte bereits getätigt wurden, welchen Status die bereits bestehenden Objekte haben und welche Objekte miteinander in Bezug stehen. Dieser Überblick wird bisher seitens des Systems nicht gefördert. Anforderungen an ein neues Bedienkonzept In Bezug zum Neuanlegen von Studiendaten, sollte ein neues Bedienkonzept den Benutzer bei der Durchführung der einzelnen Aufgaben und Unteraufgaben unterstützen und ihn durch die Aufgabenfolge führen. Zudem sollte die Übersicht über die einzelnen in Beziehung stehenden Objekte gefördert werden. Da das Neuanlegen von Studiendaten häufig in Teilschritten erfolgt, sollte eine zukünftige Benutzerschnittstelle zudem durch eine klare Darstellung schnellen Aufschluss darüber geben welche Objekte bereits bestehen und wie deren Status ist. Editieren von Studiendaten Mit dem Begriff des Editierens ist im Zusammenhang mit dem Verwalten von Studiendaten sowohl das Verändern von bestehenden Objekten aber auch das Hinzufügen verschiedener Objekte zu einer gegebenen Objektstruktur sowie das Entfernen solcher Objekte gemeint. Beispielsweise kann das Erstellen und Anfügen eines Medikationskopfes zu einer bestehenden Studie grundsätzlich auch als Editieren bezeichnet werden. In diesem Fall überschneiden sich die Begriffe Neuanlegen und Editieren. Sind die Aufgabenstellungen des Neuanlegens und des Editierens in einem zukünftigen Bedienkonzept aber getrennt voneinander realisiert, ist eine solche Überschneidung durchaus sinnvoll, bietet sie dem Anwender doch die Wahl zwischen verschiedenen Wegen zum gleichen Ziel. Gerade bei einer heterogenen Benutzerstruktur ist eine solche Wahlmöglichkeit wünschenswert. Die einzelnen Objekte der Studiendaten können verändert werden, solange sie nicht den Status „gültig“ erreicht haben. Ähnlich wie beim Neuanlegen, muss sich hier der Benutzer CTM – Clinical Trial Management 67 zunächst einen Überblick darüber verschaffen welche Objekte zueinander in Beziehung stehen. Will er beispielsweise die in einer Studie verwendeten Medikationen editieren geht er meist den Weg über die entsprechende Studie zum Medikationskopf und dann zu den gewünschten Medikationen. Alleine bei diesem Vorgang hat er bereits fünf Dialogfenster geöffnet, die sich überdecken. Der Überblick geht hier, wie beim Neuanlegen, natürlich sehr schnell verloren. Grundsätzlich sind die Probleme beim Editieren von Daten mit dem gegenwärtigen System die gleichen wie beim Neuanlegen. Anforderungen an ein neues Bedienkonzept Der Benutzer sollte nicht wie beim gegenwärtigen System zunächst damit beschäftigt sein sich einen geistigen Überblick über bestehende Beziehungen von Objekten und deren Zustände verschaffen zu müssen. Ähnlich wie beim Editieren sollte eine klare Darstellung die Übersicht fördern. Es sollte vermieden werden, dass sich Dialogfenster überlappen. Löschen von Studiendaten Das Löschen einzelner Objekte sollte im Rahmen des Editierens möglich sein. Die Problematik ist hierbei, gleich wie bei den beiden vorangegangenen Aufgabenstellungen, die Objektstrukturen zu überschauen und hieraus das gewünschte zu löschende Objekt auszuwählen. Anforderungen an ein neues Bedienkonzept Diese Anforderungen werden von den Anforderungen beim Editieren abgedeckt. Designziele Da beim Neuanlegen zusätzlich zum Problem der Übersicht über die Objektbeziehungen noch die Problematik des komplexen Aufgabenablaufes kommt, ist ein Ziel des Designs einen eigenen Modus für das Neuanlegen von Studiendaten zu schaffen, in dem der Benutzer durch die einzelnen Aufgaben geführt wird. In einem zusätzlichen Editiermodus sollte durch entsprechende Darstellung vor allem die Übersicht gefördert werden. In einem zukünftigen System sollte der Benutzer sofort in der Lage sein, zu überblicken welche Objekte bestehen, welchen Status sie haben und in welcher Beziehung sie zueinander stehen. Dialogfenster sollten sich in einem zukünftigen Bedienkonzept keinesfalls mehr überlappen. Zudem sollten Objekte nicht nur in Auswahllisten und Dialogfenstern zugänglich sein. Eine Darstellung dieser in Form von Icons oder Metaphern, die zusätzlich über ein Kontextmenü direkt manipulierbar sind, wäre ein weiterer Schritt in Richtung Benutzerfreundlichkeit. Auf eine Veränderung oder Verbesserung der Aufgabenstruktur wird in dieser Ausarbeitung nicht eingegangen, da dies auch eine Veränderung der Funktionalität der CTM-Lösungen mit sich bringen würde. Da sich diese Arbeit auf die Gestaltung eines neuen Bedienkonzeptes richtet, würde dies zu weit führen. 5 Design und Implementierung This can’t be hard, it’s just common sense. Nachdem die Benutzer und die Aufgabenstellungen analysiert wurden, liegt es nun daran aus diesen Ergebnissen zu einem Entwurf eines neuen Bedienkonzeptes zu gelangen. In der Phase des konzeptionellen Designs werden zunächst grundlegende Entscheidungen für die Gestaltung der Benutzerschnittstelle getroffen, die dann im visuellen Design konkrete Form annehmen. 5.1 Die Lücke zwischen Analyse und Design An dieser Stelle zeigt sich, dass der Übergang von der Analyse-Phase in die Design-Phase, der schwierigste Schritt des Usability Engineerings ist. Resultate der Analyse sind eine detaillierte Beschreibung der Problematik der Aufgabenstellung sowie die Definition der Design-Ziele, die realisiert werden sollen. Diese Ziele sind nun in einem konkreten Entwurf umzusetzen. Da bei diesem Übergang auch ein gewisser Grad an Kreativität gefordert ist kann hier nicht nach einer festgelegten Methodik vorgegangen werden. Diese Lücke ist gekennzeichnet durch Fragen wie: · · · · · Wie sehen die hauptsächlichen Bildschirminhalte aus? Welche Daten sollten dargestellt werden und welche sind eher Attribute? Welche Interaktionsmuster sind sinnvoll? Wie sollte der Benutzer durch die Dialogstruktur navigieren? Auf welche Weise sind Funktionen zugänglich? Zusätzlich zu den Analyseergebnissen können technische Vorgaben sowie Vorstellungen von Kunden den Design-Prozess noch erschweren. Solche Schwierigkeiten können aber auch genutzt werden um neue Techniken für eine optimale Lösung zu entwickeln. [Welie01] 5.2 Konzeptuelles Design Aufgrund der teilweise unterschiedlichen Problematiken bezüglich des Neuanlegens und Editierens von Studiendaten sollte für diese beiden Aufgabenstellungen, wie im Kapitel Analyse schon erwähnt, jeweils ein eigener Bedienmodus realisiert werden. Der Prozess des Neuanlegens von Studiendaten, sollte aufgrund der komplexen Aufgabenstellung durch ein Wizard-Konzept unterstützt werden. Für das Editieren ist ein Dialog zu schaffen, der vor allem durch Übersichtlichkeit geprägt ist. Design und Implementierung 5.2.1 69 Wizard-Konzept für das Anlegen von Studiendaten Im Modus für das Neuanlegen von Studiendaten, soll der Benutzer die Möglichkeit haben mit Hilfe der Funktionen „zurück“ und „weiter“ durch die Aufgaben navigieren zu können. Da außer der Problematik der komplexen Aufgabenstellung beim Anlegen von Studiendaten auch die Notwendigkeit besteht zu bereits angelegten Daten zurückzukehren und diese zu berichtigen, sollte dieser Wizard zusätzlich eine Übersicht über bereits angelegte Daten bieten. In dieser Übersicht sollte der Benutzer navigieren können und bereits ausgeführte Aufgaben nochmals durchlaufen können. Da die Anzahl der Aufgaben und Unteraufgaben beim Anlegen von Studiendaten weit größer ist als zehn, sollte der Wizard eine Unterteilung besitzen. Aufgrund der Tatsache, dass im Prozess verschiedene Objekte nacheinander bearbeitet werden, sollte es möglich sein nach der Fertigstellung eines Objektes die Daten abzuspeichern und den Dialog zu beenden. 5.2.2 Modus für das Editieren von Studiendaten Da der Dialog für das Editieren vor allem durch Übersichtlichkeit geprägt sein sollte, lag es hier daran eine geeignete Darstellung zu finden um diese Übersichtlichkeit zu gewährleisten. Ein neues Konzept sollte vor allem ausschließen, dass mehrere Fenster geöffnet werden können und diese sich überlappen. Da Benutzer häufig aufgrund der komplexen Beziehungen der Objekte im gegenwärtigen System die Übersicht verlieren, war es zudem das Ziel, diese Beziehungen zu visualisieren. Hier wurden zunächst zwei Konzepte angedacht. 1. Konzept Die Idee war hierbei zunächst das Hauptfenster der CTM-EDB beim Start nicht leer erscheinen zu lassen, sondern die verschiedenen Objekttypen in einer Baumdarstellung auf der linken Seite des Fensters anzuzeigen. Beschreibung der Funktionalität Bei der Auswahl eines Objekttyps aus der Baumdarstellung soll eine Liste aller Datensätze dieses Typs angezeigt werden. Abbildung 5.1 zeigt einen Papierentwurf dieses Eingangsdialoges. In der Liste soll es möglich sein die Daten zu sortieren, Spalten zu vertauschen und per direkter Manipulation eines Spaltenkopfes Selektionen durchzuführen. Design und Implementierung 70 Abbildung 5.1: Papierentwurf - Eingangsdialog Nachdem ein Datensatz ausgewählt und die Funktion „edit“ aufgerufen wurde, soll der Editier-Modus angezeigt werden. Ausgehend vom Editieren einer Studie werden in diesem Modus neben den Daten einer Studie auch die wichtigsten Daten der in Beziehung stehenden Objekte angezeigt. Abbildung 5.2 zeigt einen Papierentwurf, der hier zunächst einen ersten Eindruck vermittelt. Abbildung 5.2: Papierentwurf - 1. Editierkonzept Um Platz zu schaffen sind die Daten der Studie hier auf mehrere Reiterkarten aufgeteilt. Dies ermöglicht es die wesentlichen Daten der in Beziehung stehenden Objekte rechts daneben anzuzeigen. Die Bedienflächen für diese zusätzlichen Daten können zudem geöffnet und geschlossen werden, was zur Übersicht beiträgt. Da diese Bedienflächen alle ihre festgelegte Stelle haben kann es nicht passieren, dass sie sich überlappen. Die Schaltflächen für weitere Daten einer Studie sind durch dieses Konzept nicht mehr notwendig. Schaltflächen für Funktionen sind nun getrennt von den Studiendaten in der Toolbar untergebracht. Design und Implementierung 71 2. Konzept Auch hier soll wie im ersten Konzept der Eingangsdialog die verschiedenen Objekttypen in einer Baumdarstellung zeigen. Darauf folgend werden die Beziehungen der einzelnen Objekte aber durch einen Graph auf der linken Seite des Dialoges dargestellt. Abbildung 5.3 zeigt einen Papierentwurf für eine solche Benutzerschnittstelle. Abbildung 5.3: Papierentwurf - 2. Editierkonzept Beschreibung der Funktionalität Die Knoten des Übersichts-Graph repräsentieren die verschiedenen Objekte der CTM-EDB. Idee ist, dass immer ein zentrales Objekt vorhanden ist, welches sich farblich von allen anderen Objekten unterscheidet, und von dem aus gesehen alle anderen in Beziehung stehenden Objekte angezeigt werden. Da zu verschiedenen Objekttypen entweder 1:1- oder 1:n-Beziehungen bestehen, also Verweise auf genau ein Objekt aber auch auf eine Menge von Objekten möglich sind, sollte dies durch eine entsprechende Gestaltung der Knoten unterscheidbar sein. Ein Mausklick auf einen Knoten führt dazu, dass dessen Daten angezeigt werden, und dass ein eventuell zuvor vorhandenes Fenster geschlossen wird. Zudem sollten Knoten, die ein einzelnes Objekt repräsentieren, mit einer textuellen Bezeichnung für dieses Objekt versehen sein. Des weiteren sollte der Benutzer das zentrale Objekt des Graphen wechseln und somit durch die Datenstruktur navigieren können. Folgendes Beispiel verdeutlicht dies: Ist zentrales Objekt ein Medikationskopf, so sind um diesen die Objekte Studie, Randomisierungen und Medikationen in Form von Knoten angeordnet. Will der Benutzer die Beziehungen der entsprechenden Studie einsehen, so kann er per Doppelklick auf den Knoten „Study“ den Graphen derart verändern, dass die Studie zum zentralen Objekt wird. Um diese sind dann die Objekte Projekt, Studienaufträge, Medikations- und Intervallköpfe sowie die Randomisierungen angeordnet. Umgekehrt, ausgehend von der Studie, wird bei Klick auf den Knoten „Medication headers“ ein Dialogfenster mit einer Auswahlliste angezeigt. Wählt der Benutzer hier einen Medikationskopf aus verändert sich der Graph wieder derart, dass der entsprechende Medikationskopf zum zentralen Objekt wird. Design und Implementierung 72 Zudem sollen die Objekte, repräsentiert durch Knoten, direkt manipulierbar sein. Hierzu sollte per Klick auf die rechte Maustaste ein Kontextmenü erscheinen, dass das Anzeigen verschiedener Dialogfenster, aber auch den Aufruf von Funktionen ermöglicht. Hierdurch können zusätzliche Buttons, die bisher manches Dialogfenster überfüllten, vermieden werden. Die Menüpunkte eines solchen Kontextmenüs sind zusätzlich über einen Eintrag im Hauptmenü zugänglich. Dieses passt sich bei Veränderung des Graphen automatisch an. 5.3 Visuelles Design – Implementierung von Prototypen Nachdem ein Entwurf verschiedener Konzepte gemacht wurde, liegt es daran diese verschiedenen Konzepte zu konkretisieren, um die Funktionalität realistischer darzustellen. Der Entwurf für ein Wizard-Konzept sowie das zweite Konzept (Übersichtsgraph) für den Editiermodus wurden hierbei berücksichtigt. Diese Prototypen werden mit Java-Swing implementiert, wobei hier der Fokus auf die Funktionalität der Oberfläche gerichtet war und eine tiefere Anwendungsfunktionalität nicht berücksichtigt wurde. Die Vorgehensweise entsprach also dem horizontalen Prototyping. 5.3.1 Java Swing Bei der Auswahl einer geeigneten Programmiersprache für die Implementierung der Prototypen fiel die Entscheidung auf die grafische Klassenbibliothek Java-Swing. Die Programmiersprache Java wurde 1998 um die Swing-Klassen, auch bekannt als Java Foundation Classes (JFC), ergänzt, da die grafische Klassenbibliothek AWT (Abstract Windowing Toolkit) den gewachsenen Anforderungen an Benutzerschnittstellen nicht mehr gerecht werden konnte. Swing dagegen bietet alle wichtigen Komponenten um moderne Dialoge zu erstellen. Zudem gewährleistet Swing Plattformunabhängigkeit derart, dass die verschiedenen Komponenten auf jedem System gleich dargestellt werden können. Außer den genannten Vorteilen war ein weiterer Grund Swing zu verwenden, die Aussicht, dass zukünftige Front-Ends des PMX-Systems aber auch Teile der Anwendungslogik mit Java realisiert werden sollen. Des weiteren bietet das Java 2D API, über Swing hinausgehend, Möglichkeiten um Dialoge aber auch eigene Dialogkomponenten grafisch zu gestalten. [Schlie99] Ein weiterer großer Vorteil von Java-Swing ist seine Architektur nach dem MVC-Paradigma. Da später eine Dialogkomponente neu geschaffen wird, die auf diesem Prinzip aufbaut, wird das MVC-Paradigma hier kurz erläutert. MVC – Model, View, Controller Bei dieser Architektur stehen drei Kommunikationsobjekte miteinander in Verbindung: das Model, die View und der Controller. Das Model repräsentiert die Daten. Der View stellt die Information visuell dar, und der Controller übernimmt die Verarbeitung der Benutzereingaben. Durch diese Dreiteilung ist ein Höchstmaß an Flexibilität gewährleistet. Da alle Objekte untereinander in Beziehung stehen, werden bei einer Änderung des Models die mit ihr verbundenen Objekte benachrichtigt. Abbildung 5.4 zeigt das MVC-Konzept in der Theorie. Design und Implementierung 73 View Controller Model Abbildung 5.4: MVC-Konzept in der Theorie [Schlie99] Die Teilung der Datenhaltung und deren Präsentation bringt 2 wesentliche Vorteile: · · Ein Datenmodell kann in mehreren Views auf die verschiedenste Art und Weise dargestellt werden. Zum Beispiel können Daten dadurch sowohl in Tabellenform als auch in einer Balkengrafik visualisiert werden. Es ist möglich eine Ansicht zu ändern, ohne dabei die Datenhaltung zu beeinträchtigen. Ein View kann beliebig verändert werden, und das darunterliegende Datenmodell bleibt davon unbeeinträchtigt. Des weiteren benutzt eine View einen Controller, um auf die Benutzereingaben zu reagieren. [Schlie99] Swing und MVC Die Verwendung dieses Konzeptes ist in Swing etwas anders als in der Theorie vorgegeben. In Swing wird der Controller und die View in einem Objekt verbunden. Diese Verbindung wird Delegate genannt und stellt sowohl das Datenmodell dar, wie es ein View machen würde, und verarbeitet die Benutzereingaben wie ein Controller. Durch diese Kombination der beiden Objekte vereinfacht sich das Design der einzelnen Komponenten wesentlich. Abbildung 5.5 verdeutlicht dieses Prinzip von Swing. Design und Implementierung 74 View Controller delegate Model Abbildung 5.5: MVC-Konzept von Java-Swing [Schlie99] 5.3.2 Implementierung eines Editier-Konzeptes Da die Umsetzung eines Editier-Konzeptes die größte Herausforderung darstellte, wurde zunächst hierfür ein Prototyp realisiert. Die Entscheidung fiel dabei auf das in Kapitel 5.2.2 vorgestellte 2. Konzept für einen Editier-Modus. Im Eingangsdialog werden hierbei die verschiedenen Objekttypen (Studien, Randomisierungen, usw.) in einer Baumstruktur dargestellt. Die Auswahl eines bestimmten Typs führt zur Anzeige seiner Instanzen in einer Liste. Wird in dieser Liste ein Datensatz selektiert und die Funktion „Edit“ aufgerufen führt dies zum eigentlichen Editier-Modus. Übersichtsgraph Das Konzept zeichnet sich vor allem dadurch aus, dass die Beziehungen von Objekten in einem Graphen auf der linken Seite des Dialoges dargestellt werden und anhand dieses Graphen durch die Datenstruktur navigiert werden kann. Ein Objekt entspricht einem Knoten. Die Daten der verschiedenen Objekte werden in Datenmasken rechts neben dem Graph angezeigt. Um dies zu Veranschaulichen zeigt Abbildung 5.6 hierzu einen Snapshot des bereits realisierten Konzeptes. Design und Implementierung 75 Abbildung 5.6: Übersichtsgraph Eine genaue Beschreibung der Funktionalität erfolgte bereits in Kapitel 5.2.2. Zusätzlich zu dem dort genannten wurden im Verlauf der Implementierung weitere Eigenschaften des Übersichtsgraph eingeführt: 1. Ist ein Knoten mit einem Kontextmenü versehen, so soll dies durch ein Maussymbol, bei dem die rechte Maustaste hervorgehoben ist dargestellt werden. 2. Der Status eines Objektes soll in seinem entsprechenden Knoten ersichtlich sein. Hierfür wurde ein Ampelsymbol gewählt. Diese Ampel stellt die folgenden drei Zustände dar: · kleiner gültig (beispielsweise: edit, verification), mit der Farbe gelb: · gültig (valid), mit der Farbe grün: · größer gültig (beispielsweise: obsolete, archived), mit der Farbe rot: Da diese Farben an verschiedenen Stellen in der Ampel angezeigt werden, ist es auch einem Farbenblinden möglich, den Status eines Objektes anhand von diesem Symbol zu erkennen. Der Umfang des Prototypen beschränkt sich auf die Objekte: Studie, Medikationskopf, Intervallkopf sowie Randomisierung. Zusätzlich können die dem Medikationskopf sowie Intervallkopf untergeordneten Objekte bearbeitet werden. Auf eine Datenbankanbindung wird verzichtet. Die Daten der verschiedenen Objekte werden statt dessen in Instanzen der Klasse Vector zusammengefasst. Um Persistenz zu gewährleisten, werden diese Vektoren beim Beenden der Applikation abgespeichert und beim Start wieder neu eingelesen. Funktionen wie „Randomisieren“ oder „Statuswechsel“ werden in den entsprechenden Menüs angedeutet, Funktionalität steckt hier aber nicht dahinter. Design und Implementierung 76 Architektur-Konzept Zunächst werden die Hauptbestandteile (Klassen) der Implementierung und deren Funktionalität näher erläutert. Anhand von Klassendiagrammen wird ihr Aufbau dargestellt. Die Sichten, die von bestimmten Klassen realisiert sind, werden zudem in Form von Snapshots gezeigt. Dies soll zum Verständnis des Konzeptes beitragen. Datenquelle - <<Datasource>> Die einzelnen Objekttypen wie Studie oder Randomisierung sind in Form von Klassen realisiert. Instanzen hiervon werden in Objekten zusammengefasst deren Klassen von der Klasse Vector erben. Beispielsweise enthält die Instanz der Klasse Studies alle Instanzen der Klasse Study. Die Klasse Studies implementiert zudem das Interface Serializable, um das Speichern dieser Daten zu ermöglichen. Die Klasse Datasource enthält wiederum die Sammlungen der verschiedenen Objekte. Abbildung 5.7 zeigt hierzu das Klassendiagramm. Dieses enthält nur einen kleinen Teil der verschiedenen Klassen, da alle Klassen hier nicht darstellbar sind und dies zur Veranschaulichung ausreicht. Datasource interv alHeaders : Interv alHeaders interv alIDs : Interv alIDs interv als : Interv als items : Items languageIDs : LanguageIDs medHeaders : MedHeaders medicationIDs : MedicationIDs medications : Medications randomizations : Randomizations studies : Studies getInterv alHeaders() getInterv alIDs() getInterv als() getItems() getLanguageIDs() getMedHeaders() getMedicationIDs() getMedications() getRandomizations() getStudies() readInterv alHeaders() readMedHeaders() readStudies() sav eInterv alHeaders() sav eMedHeaders() sav eStudies() readRandomizations() sav eRandomizations() Vector <<interf ace>> Serializable Studies getNumberOf Cols() getColumnNames() getStudy () Study project : String study : String description : String status : String plannedStart : Date plannedEnd : Date actualStart : Date usw.... getListElements() Abbildung 5.7: Klassendiagramm - Datasource Die Implementierung aller anderen Objekte erfolgt nach demselben Prinzip. <<JApplicationFrame>> Die Klasse JApplicationFrame enthält die main-Methode und erzeugt das Hauptdialogfenster, stellt aber selbst keine Daten dar. Diese Klasse hat als einzige eine Beziehung zur Datenquelle. Der JApplicationFrame erzeugt und steuert die verschiedenen Sichten. Diese sind in Form von JPanels realisiert. Zudem erhalten die Sichten über den JApplicationFrame ihre Daten. Abbildung 5.8 zeigt die Klassen JApplicationFrame und Datasource, sowie ihre Beziehung. Design und Implementierung 77 JFrame JApplicationFrame datasource : Datasource explorer : Explorer jActualPanel : JGraphPanel jStudy Graph : JStudy GraphPanel jRandomGraph : JRandomGraphPanel jMedicationGraph : JMedicationGraphPanel jInterv alGraph : JInterv alGraphPanel jStandardToolbar : JToolbar jNav igationToolbar : JToolbar jMenuBar : JMenuBar tableModel : TableModel addInterv alHeaderGraph() addInterv alHeadersTable() addMedHeadersTable() addMedicationHeaderGraph() addRandomizationGraph() addStudy Graph() addStudy Table() getInterv al() getInterv alID() getInterv alIDList() getInterv alList() getIntHeaderListData() getIntHeaderListForStudy () getItemList() getLangList() getLanguageID() getMedHeaderListData() getMedHeaderListForStudy () getMedication() getMedicationIDList() getMedicationList() getRandomization() getRandomListData() getRandomListForIntHeader() getRandomListForMedHeader() Datasource interv alHeaders : Interv alHeaders interv alIDs : Interv alIDs interv als : Interv als items : Items languageIDs : LanguageIDs medHeaders : MedHeaders medicationIDs : MedicationIDs medications : Medications randomizations : Randomizations studies : Studies getInterv alHeaders() getInterv alIDs() getInterv als() getItems() getLanguageIDs() getMedHeaders() getMedicationIDs() getMedications() getRandomizations() getStudies() readInterv alHeaders() readMedHeaders() readStudies() sav eInterv alHeaders() sav eMedHeaders() sav eStudies() Abbildung 5.8: Klassendiagramm - JApplicationFrame Sichten <<Explorer>> Das Eingangsbild mit der Baumdarstellung der verschiedenen Objekttypen sowie der entsprechenden Liste der Datensätze wird von der Klasse Explorer realisiert. Abbildung 5.9 zeigt einen Snapshot dieser Sicht. Design und Implementierung 78 Abbildung 5.9: Eingangsdialog des neuen Konzeptes Eine Instanz dieser Klasse wird beim Start des Prototypen zunächst vom JApplicationFrame erzeugt. Zwischen dem Explorer und dem JApplicationFrame besteht eine bidirektionale Beziehung. Sofern ein Datensatz (z.B. eine Studie) im Explorer ausgewählt ist, führt der Aufruf der Funktion „edit“ (in der Toolbar des JApplicationFrame) zur Darstellung der entsprechenden Editier-Sicht. Um die geforderte Sicht darstellen zu können erhält der JApplicationFrame ein CtmSelection-Objekt mit Informationen über den zuvor selektierten Datensatz. Abbildung 5.10 zeigt diese Beziehung. Des weiteren enthält die Klasse Explorer eine Instanz der Klasse CtmTableModel. Diese Klasse ist von der abstrakten Klasse AbstractTableModel abgeleitet und hält die Daten der aktuell angezeigten Liste. Design und Implementierung 79 AbstractTableModel {abstract} JApplicationFrame CtmTableModel cols : int columnNames : String[] rows : int tableData : Object[][] getColumnCount() getColumnName() getRowCount() getValueAt() isCellEditable() setValueAt() JFrame JSplitPane Explorer ctmTableModel : CtmTableModel jApplicationFrame : JApplicationFrame masterdataTable : JTable masterdataTree : JTree selection : CtmSelection sorter : TableSorter getSelection() getTableModel() setTableData() setTreeData() CtmSelection objectKind : String object : String selectedRow : int datasource : Datasource explorer : Explorer jActualPanel : JGraphPanel jStudy Graph : JStudy GraphPanel jRandomGraph : JRandomGraphPanel jMedicationGraph : JMedicationGraphPanel jInterv alGraph : JInterv alGraphPanel jStandardToolbar : JToolbar jNav igationToolbar : JToolbar jMenuBar : JMenuBar tableModel : TableModel addInterv alHeaderGraph() addInterv alHeadersTable() addMedHeadersTable() addMedicationHeaderGraph() addRandomizationGraph() addStudy Graph() addStudy Table() getInterv al() getInterv alID() getInterv alIDList() getInterv alList() getIntHeaderListData() getIntHeaderListForStudy () getItemList() getLangList() getLanguageID() getMedHeaderListData() getMedHeaderListForStudy () getMedication() getMedicationIDList() getMedicationList() getRandomization() getRandomListData() getRandomListForIntHeader() getRandomListForMedHeader() Abbildung 5.10: Klassendiagramm - Explorer Aufgrund des Objektes CtmSelection, wird in JApplicationFrame entschieden welche Sicht dargestellt wird. Folgendes Codebeispiel aus der Klasse JApplicationFrame zeigt dies: jEditButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { //get selected dataset and type from explorer ctmSelection = explorer.getSelection(); tableModel = explorer.getTableModel(); //if the type of selection was a study and if a dataset was //selected, show view to edit study if (ctmSelection.objectKind == "Studies"){ if(ctmSelection.object != null){ getContentPane().remove(jStandardToolbar); getContentPane().add(jNavigationToolbar, java.awt.BorderLayout.NORTH); addStudyGraph(ctmSelection.object); } } Design und Implementierung 80 //if the type of selection was a medication header and if a dataset //was selected, show view to edit medication header else if (ctmSelection.objectKind == "medHeaders"){ if(ctmSelection.object != null){ getContentPane().remove(jStandardToolbar); getContentPane().add(jNavigationToolbar, java.awt.BorderLayout.NORTH); addMedicationHeaderGraph(ctmSelection.object); } } //if the type of selection was a interval header and if a dataset //was selected, show view to edit interval header else if (ctmSelection.objectKind == "intHeaders"){ if(ctmSelection.object != null){ getContentPane().remove(jStandardToolbar); getContentPane().add(jNavigationToolbar, java.awt.BorderLayout.NORTH); addIntervalHeaderGraph(ctmSelection.object); } } //if the type of selection was a randomization and if a dataset was //selected, show view to edit randomization else if (ctmSelection.objectKind == "randomizations"){ if(ctmSelection.object != null){ getContentPane().remove(jStandardToolbar); getContentPane().add(jNavigationToolbar, java.awt.BorderLayout.NORTH); addRandomizationGraph(ctmSelection.object); } } } }); Übersichtsgraph Nachdem in der Explorer-Sicht ein Objekt ausgewählt und die Funktion „edit“ aufgerufen wurde, erscheint die Sicht mit dem entsprechenden Übersichtsgraph. In diesem Graph wird das zuvor selektierte Objekt als zentraler, farblich hervorgehobener Knoten dargestellt. Zudem werden die Daten dieses Objektes in einer Dialogfläche auf der rechten Seite angezeigt. Eine Verbindungslinie ordnet dabei die Daten dem jeweiligen Knoten zu. In Abbildung 5.6 ist der Graph mit einer Studie als zentrales Objekt zu sehen. Diese Sicht wird von der Klasse JStudyGraphPanel realisiert. Der Prototyp wurde zum editieren der Objekte: Studie, Medikationskopf, Intervallkopf sowie Randomisierung entwickelt. Für diese Objekte gibt es jeweils eine Sicht mit dem entsprechenden Graphen. Diese Sichten sind in den folgenden Klassen realisiert: · · · · JStudyGraphPanel JMedicationGraphPanel JIntervalGraphPanel JRandomizationGraphPanel Da diese Klassen sehr ähnlich aufgebaut sind, wird JStudyGraphPanel das grundsätzliche Konzept erläutert. hier anhand der Klasse In der Methode addStudyGraph() der Klasse JApplicationFrame wird eine Instanz der Klasse JStudyGraphPanel erzeugt. Diese Methode wird aufgerufen, wenn von einer zuvor Design und Implementierung 81 angezeigten Sicht zur Studien-Sicht gewechselt wird. Beim Konstruieren des Objektes JStudyGraphPanel wird eine Referenz, der zuvor selektierten Studie übergeben. Das Objekt JStudyGraphPanel greift somit direkt auf die Daten der Studie zu. Das folgende Codebeispiel zeigt die Methode addStudyGraph(): public void addStudyGraph(String selection){ // hide explorer-view if it is visible explorer.hide(); // delete all additional menus deleteAddMenus(); // create additional menus createStudyMenu(); // remove the previous view remove(jActualPanel); // create reference to the appropriate study Study study = datasource.getStudies().getStudy(selection); // create JStudyGraphPanel jStudyGraph = new JStudyGraphPanel(study, this); getContentPane().add(jStudyGraph); // reference to the actual view, enables deletion afterwards jActualPanel = jStudyGraph; validate(); repaint(); } Realisierung der Datenmasken Wie die Datenmasken der einzelnen Knoten realisiert sind wird hier am Beispiel der Klasse JStudyDataPanel erläutert. Per Klick auf die Knoten des Graph, können die verschiedenen Datenmasken rechts neben der Graphstruktur angezeigt werden. Gleich wie beim JApplicationFrame verweist die Variable actualPanel auf die gerade angezeigte Datenmaske. Beim Aufruf eines anderen Panels wird die gerade aktuelle Datenmaske über diese Referenz gelöscht und das neue Panel dieser Variablen zugewiesen. Um die Verbindungslinien zwischen Knoten und Panel richtig positioniert zu zeichnen, ist beim Anzeigen eines Panels der Integerwert requestedData zu setzen. Dieser wird in der Methode paint() ausgewertet und dementsprechend die Verbindungslinie gezeichnet. Das folgende Codebeispiel zeigt die Methode showStudyDataPanel(), in der dies realisiert ist: public void showStudyDataPanel(){ //set value for paint-Method to draw connection line requestedData = STUDYDATA; //remove the previous panel remove(actualPanel); //reference new Panel actualPanel = jStudyDataPanel; actualPanel.setVisible(true); validate(); repaint(); } Design und Implementierung 82 In diesem Code-Beispiel ist ersichtlich, wie zunächst die Variable requestedData auf das neu anzuzeigende Objekt gesetzt wird. Danach wird das bisher angezeigte Panel gelöscht und das bereits bestehende JStudyDataPanel der Referenz actualPanel zugewiesen und visualisiert. Das Objekt JStudyGraphPanel wird hier nicht neu erzeugt, da es im Konstruktor der Klasse JStudyGraphPanel bereits angelegt wurde. Der folgende Ausschnitt aus dem Quellcode zeigt die Instanziierung der Klasse JStudyDataPanel: jStudyDataPanel = new JStudyDataPanel(studyCopy, this); add(jStudyDataPanel); jStudyDataPanel.setVisible(true); //size and position of jStudyDataPanel jStudyDataPanel.setBounds(380,20,600,640); Beim Konstruieren des Objektes JStudyDataPanel werden als Argumente eine Kopie der Studie sowie die Referenz auf das Objekt JStudyGraphPanel übergeben. Nimmt der Benutzer Änderungen an der Studie vor und klickt danach Ok so wird hierauf zunächst die Methode checkData() aufgerufen. Diese überprüft ob alle Einträge in Ordnung sind. Ist dies der Fall wird darauffolgend die Methode authorization() aufgerufen. Hier wird ein Dialogfenster zur Autorisierung des Benutzers erzeugt. Fällt dies ebenfalls positiv aus erfolgt der Aufruf der Methode saveData(), in der wiederum die Methode save() des Eltern-Objektes JStudyGraphPanel aufgerufen und dieser die veränderte Kopie der Studie übergeben wird. Hier erfolgt letztendlich die Speicherung der Änderungen in der Datenquelle. Das Sequenzdiagramm in Abbildung 5.11 veranschaulicht dies. Die Darstellung aller anderen Datenmasken erfolgt auf dieselbe Weise. Die Klasse JStudyGraphPanel beispielsweise enthält außer der Methode showStudyDataPanel() auch die Methoden: · · · · showMedHeaderListPanel() showIntervalHeaderListPanel() showRandomListPanel() showLogInfo() Diese sind für die Darstellung der entsprechenden weiteren Datenmasken zuständig. Das Objekt JStudyGraphPanel erzeugt alle Datenmasken und Dialogfenster in denen Daten editiert oder ausgewählt werden können. Diese Datenmasken und Dialogfenster greifen dabei nie direkt auf die Daten zu sondern erhalten diese von JStudyGraphPanel. Das Sequenzdiagramm in Abbildung 5.11, soll das Zusammenspiel der einzelnen Komponenten verdeutlichen. Es zeigt den Ablauf: - Anzeigen der Sicht auf eine Studie (Schritt 1 bis 4) Editieren der Studie (change data) Speichern der Änderung (Schritt 5 und 9) Anzeigen der in Beziehung stehenden Medikationsköpfe (Schritt 10 – 12) Auswahl eines Medikationskopfes (Schritt 13) Anzeige der Sicht auf einen Medikationskopf (Schritt 14 –16) Design und Implementierung JApplicationFrame 83 JStudyGraphPanel JStudyDataPanel ListPanel Datasource 1: getStudy() 2: new JStudyGraphPanel(study) 3: new JStudyDataPanel() 4: setVisible(true) change data 5: checkData() 6: authorization() 7: saveData() 8: save() 9: set changes 10: showMedHeaderListPanel() 11: getMedHeaderListForStudy() 12: new ListPanel() select dataset 13: ok 14: changeGraph() 15: addMedicationHeaderGraph() 16: remove() Abbildung 5.11: Sequenzdiagramm - Zusammenspiel der Objekte Sieht man in dem Objekt JApplicationFrame die Vorgangssteuerung und im Objekt JStudyGraphPanel die Interaktionssteuerung, so wäre eine Verbesserung des bisherigen Ablaufes dahingehend vorzunehmen, dass die Interaktionssteuerung grundsätzlich direkt auf die Datenquelle zugreift und die Vorgangssteuerung nur die Folge der einzelnen Sichten steuert. Das Klassendiagramm in Abbildung 5.12 zeigt die Klasse JStudyGraphPanel in Beziehung zur Klasse JApplicationFrame und zur Datenmaske JStudyDataPanel. Die Klassen der Design und Implementierung 84 weiteren Editier-Sichten sind angedeutet. Auf Attribute und Eigenschaften wurde bei diesen aus Übersichtsgründen aber verzichtet. JFrame JPanel JGraphPanel {abstrakt} announceMenuAction() changeGraph() closeLangListFrame() hidePanel() JMedicationGraphPanel JIntervalGraphPanel JRandomGraphPanel JStudyGraphPanel actualPanel : JPanel study : Study jApplicationFrame : JApplicationFrame requestedData : int requestedData2 : int INTERVALDATA : f inal int INTERVALLIST : f inal int MEDI CATIONDATA : f inal int MEDI CATIONLIST : f inal int PROJECTDATA : f inal int RANDOMIZATIONLI ST : f inal int STUDY DATA : f inal int projectNode : JCtmNode study OrderNode : JCtmNode study Node : JCtmNode medHeadNode : JCtmNode intHeadNode : JCtmNode randomNode : JCtmNode jListPanel : JListPanel jStudy DataPanel : JStudy DataPanel announceMenuAction() changeGraph() closeLangListFrame() hidePanel() initPopupMenus() paint() showInterv alHeaderListPanel() showLogInf o() showMedHeaderListPanel() showProjectPanel() showRandomListPanel() showStudy DataPanel() JPanel JDataPanel {abs tract} sav eData() JApplicationFrame datasource : Datasource explorer : Explorer jActualPanel : JGraphPanel jStudy Graph : JStudy GraphPanel jRandomGraph : JRandomGraphPanel jMedicationGraph : JMedicationGraphPanel jInterv alGraph : JI nterv alGraphPanel jStandardToolbar : JToolbar jNav igationToolbar : JToolbar jMenuBar : JMenuBar tableModel : TableModel addInterv alHeaderGraph() addInterv alHeadersTable() addMedHeadersTable() addMedicationHeaderGraph() addRandomizationGraph() addStudy Graph() addStudy Table() getInterv al() getInterv alID() getInterv alIDList() getInterv alList() getIntHeaderListData() getIntHeaderListForStudy () getItemList() getLangList() getLanguageID() getMedHeaderListData() getMedHeaderListForStudy () getMedication() getMedicationIDList() getMedicationList() getRandomization() getRandomListData() getRandomListForIntHeader() getRandomListForMedHeader() JStudyDataPanel study : Study parent : JGraphPanel authorization() checkData() sav eData() Abbildung 5.12: Klassendiagramm - Editier-Sichten Implementierung des Graph Die Knoten eines Graph sowie die Pfeile, die diese verbinden, sind in der entsprechenden Sicht (beispielsweise JStudyGraphPanel) an fester Stelle positioniert. Für die Knoten wurde die Dialogkomponente JCTMNode neu geschaffen, die Pfeile werden von der Komponente JArrow dargestellt. Im folgenden wird der Aufbau und die Funktionalität der Klasse Design und Implementierung 85 JCTMNode näher erläutert. Da die Klasse JArrow nur für die Darstellung eines Polygons zuständig ist, wird auf diese nicht näher eingegangen. Aufgrund der Tatsache, dass die meisten Dialogkomponenten von Swing auf dem MVCKonzept basieren, wurde dieses Konzept bei der Implementierung der neuen Komponente JCTMNode ebenfalls umgesetzt. Abbildung 5.13 zeigt das Klassendiagramm für diese Implementierung ComponentUI EventObject EventListener CTMNodeModelEvent <<interf ace>> CTMNodeModelListener ctmNodeModelChanged() <<interf ace>> CTMNodeModel addCTMNodeModelListener() remov eCTMNodeModelListener() setClicked() setCenter() getClicked() getCenter() setTitle() getTitle() setText() getText() setContext() getContext() setStatus() getStatus() JComponent DefaultCTMNodeModel CTMNodeUI comp : JComponent node : Image titleX : int textX : int mouseIcon : Image statusIcon : Image status : int BEFOREVALID : f inal int VALID : int AFTERVALID : int paint() JCTMNode model : CTMNodeModel BEFOREVALID : static f inal int VALID : static f inal int AFTERVALID : static f inal int listener : CtmNodeListener getModel() ctmNodeModelChanged() setClicked() setCenter() getClicked() getCenter() setTitle() setText() getText() setContext() getContext() setStatus() getStatus() title : String text : String center : boolean clicked : boolean context : boolean status : int BEFOREVALID : f inal int VALID : f inal int AFTERVALID : f inal int _listeners : Ev entListenerList setClicked() setCenter() getClicked() getCenter() setTitle() getTitle() setText() getText() setContext() getContext() setStatus() getStatus() addCTMNodeModelListener() remov eCTMNodeModelListener() f ireChangedEv ent() Abbildung 5.13: Klassendiagramm - JCTMNode Die Klassen JCTMNode sowie CTMNodeUI bilden zusammen das UI-Delegate und sind somit zuständig für das Zeichnen der Komponente (ihr Aussehen) sowie die Behandlung ihrer Ereignisse (das Verhalten). Die Klasse DefaultCTMNodeModel bildet das Modell der Komponente und enthält somit die eigentlichen Daten sowie Werte über den Zustand der Komponente. Design und Implementierung 86 Pass-Through-Methoden Damit man beim Abfragen oder Ändern des Zustandes nicht auf das Modell zugreifen muss, stellt die Komponente JCTMNode Pass-Through-Methoden zur Verfügung. Diese leiten bei Änderungen Werte an das Modell weiter beziehungsweise holen bei Abfragen die Werte vom Modell. Das folgende Codebeispiel für die Methoden setCenter() und getCenter() verdeutlicht dies: public void setCenter(boolean c){ model.setCenter(c); } public boolean getCenter(){ return model.getCenter(); } 5.3.3 Realisierung des Wizard-Konzeptes Die Gestaltung und die genaue Funktionalität des Wizard-Konzeptes war zu diesem Zeitpunkt noch nicht definiert. Grund hierfür war, dass zunächst der Editiermodus umgesetzt wurde und die Gestaltung des Wizards sich an diesem Konzept anlehnen sollte. Ein einheitliches Erscheinungsbild sollte dadurch geschaffen werden und Erfahrungen und Verbesserungen bei der Implementierung des Editier-Konzeptes sollten in die Gestaltung des Wizard-Konzeptes mit einfließen. Grundsätzlich soll es im Bedienmodus des Wizard möglich sein Studiendaten soweit anzulegen, dass später darauf aufbauend Studienaufträge erstellt und ausgeführt werden können. Dies setzt voraus, dass die Objekte Studie, Medikationskopf, Intervallkopf sowie Randomisierung komplett angelegt und in einem gültigen Zustand sind. Um dies zu gewährleisten, soll der Wizard den Benutzer durch das Anlegen der verschiedenen Objekte führen, sowie die notwendigen Statuswechsel veranlassen. Der genaue Aufgabenablauf ist in Kapitel 4.2.4 Aufgabenanalyse beschrieben. Im folgenden wird nun die Gestaltung und die genauere Funktionalität des Wizard-Modus dargestellt. Beschreibung der Funktionalität Bei der Implementierung wurde kein komplett neuer Prototyp geschaffen, sondern auf dem bereits bestehenden Prototypen für den Editiermodus aufgesetzt. Der darin vorhandene Eingangsdialog bildet dabei den Ausgangspunkt von dem aus auch der Wizard-Modus aufgerufen werden kann. Bei der Auswahl des Blattes Studies im Treeview des Eingangsdialoges und bei Klick des Insert-Buttons in der Toolbar wird der Wizard gestartet. Da das Anlegen der kompletten Studiendaten aus einer großen Zahl von Aufgaben und Unteraufgaben besteht, soll es möglich sein, nach dem Erledigen einer Aufgabe abbrechen zu können und den Anlegevorgang zu einem späteren Zeitpunkt fortzusetzen. Hierzu wurde der Wizard in mehrere Hauptschritte (Aufgaben) aufgeteilt. Diese Hauptschritte bilden die Objekte: Studie, Medikationskopf, Intervallkopf und Randomisierung, die nacheinander angelegt werden sollen. Um ein einheitliches Aussehen und Wiedererkennung zu gewährleisten werden diese Schritte als Knoten auf der linken Seite des Dialoges untereinander dargestellt. Ein Knoten steht somit für einen Hauptschritt im Wizard, repräsentiert aber auch gleichzeitig ein Objekt und sorgt später im Editiermodus für die Wiedererkennung dieses Objektes. Die Reihenfolge, welche Objekte nacheinander Design und Implementierung 87 anzulegen sind, wird zudem durch Pfeile zwischen den Knoten visualisiert. Diese Darstellung soll zum einen Übersicht über die noch zu erledigenden Schritte geben. Zum anderen soll per Klick auf einen Knoten aber auch zu diesem Hauptschritt zurückgekehrt werden können. Ein erster Eindruck dieses Konzeptes vermittelt der Papierentwurf in Abbildung 5.14. Abbildung 5.14: Papierentwurf für das Wizard-Konzept Die einzelnen Teilschritte (Unteraufgaben) beim Anlegen eines Objektes werden in den entsprechenden Dialogflächen angezeigt. Gleich wie im Editiermodus ordnet dabei eine Verbindungslinie die Dialogfläche einem bestimmten Knoten zu. In dieser Fläche werden die einzelnen Teilschritte wiederum auf der linken Seite durch Buttons dargestellt. Gleich wie die Hauptschritte des Wizard gewährleistet dies Übersicht, ermöglicht aber auch das Navigieren durch den Aufgabenablauf. Im Papierentwurf in Abbildung 5.14 ist dies ebenfalls zu erkennen. Wiederaufnahme des Anlegevorgangs Da es der Wizard ermöglichen sollte nach einer Aufgabe abzubrechen und den Anlegevorgang zu einem späteren Zeitpunkt fortzusetzen, wird die Baumstruktur des Eingangsdialoges um den Eintrag Incomplete studydata im Verzeichnis Study data ergänzt. Ein Klick auf dieses Blatt zeigt eine Liste der unvollständig angelegten Daten. Bei der Auswahl eines Listeneintrages und bei Klick auf Edit wird der Wizard-Modus wieder angezeigt. Die Knoten der bereits angelegten Objekte sind dabei blau gefärbt während die noch nicht erfassten Objekte grau dargestellt sind. Ein Snapshot dieses Konzeptes zeigt Abbildung 5.15. Design und Implementierung 88 Ampelsymbol für Status Abbildung 5.15: Snapshot des Wizard-Konzeptes Visualisierung der Stati Gleich wie im Editier-Modus werden die Stati der Objekte (Medikationskopf, Intervallkopf und Randomisierung), sofern sie angelegt sind, mit einem Ampelsymbol neben dem Knoten des Objektes angezeigt. Die Ampel stellt auch hier die folgenden drei Zustände dar: · kleiner gültig (beispielsweise: edit, verification), mit der Farbe gelb: · gültig (valid), mit der Farbe grün: · größer gültig (beispielsweise: obsolete, archived), mit der Farbe rot: Realisierung von Wiederholungen (Schleifen) Jeder Medikationskopf kann mehrere Medikationen beinhalten und diesen sind oft mehrere Medikationskennungen zugeordnet. Um das Anlegen dieser Objekte mit dem Wizard zu ermöglichen, muss der Benutzer solange zum entsprechenden Schritt zurückkehren können bis alle Objekte angelegt sind. Es entsteht somit eine Schleife. Da pro Medikation wiederum mehrere Medikationskennungen angelegt werden können, wird daraus eine verschachtelte Schleife. Um dies im Wizard zu realisieren, erfragt eine Dialogfläche am Ende eines Anlegevorgangs, ob dieser wiederholt werden soll. Abbildung 5.16 zeigt diese Dialogfläche nach dem Anlegen einer Medikationskennung. Design und Implementierung 89 Medikationskopf Abbildung 5.16: Snapshot - Anlegen von Medikationen und Medikationskennungen Nach demselben Prinzip ist der Intervallkopf mit Intervallen und Intervallkennungen anzulegen. Statuswechsel durch den Wizard Voraussetzung für das Anlegen der Randomisierung im Wizard ist, dass die Objekte Medikationskopf und Intervallkopf im Status „gültig“ sind. Im gegenwärtigen CTM-System kann eine Randomisierung zunächst auch ohne diese beiden Objekte angelegt werden. Da aber im Verlauf des Anlegens diese Objekte der Randomisierung angefügt werden und diese hierzu im Status „gültig“ sein müssen, wird die Gültigkeit dieser schon von Beginn an vorausgesetzt. Vor dem Anlegen der Randomisierung wird deshalb im Wizard erfragt ob der Statuswechsel für den Medikations- und Intervallkopf durchgeführt werden soll. Klickt der Benutzer No so kann er mit dem Anlegen der Randomisierung nicht fortfahren. Abbildung 5.17 zeigt diesen Dialog. Design und Implementierung 90 Randomisierung Abbildung 5.17: Snapshot - Statuswechsel Bei Klick auf Yes wird der Statuswechsel der Objekte Medikationskopf und Intervallkopf durchgeführt. Darauf folgend kann der Benutzer das Randomisierungsobjekt anlegen. Nach Abschluss des Anlegens wird dieses ebenfalls auf gültig gesetzt. Die Studiendaten sind dann komplett angelegt und der Wizard wird geschlossen. Implementierung JWizardPanel Bei der Umsetzung des Wizard wurde der bereits bestehende Prototyp für den Editiermodus um die Sicht JWizardPanel ergänzt. Ist im Treeview des Explorer das Blatt Studies ausgewählt führt der Aufruf der Funktion Insert (in der Toolbar des JApplicationFrame) zum Aufruf der Methode addWizard() des Objektes JApplicationFrame und zur Darstellung des Wizards. Das folgende Code-Beispiel zeigt diese Methode: public void addWizard(){ explorer.hide(); deleteAddMenus(); jWizard = new JWizardPanel(this); jWizard.setVisible(true); jActualPanel = jWizard; getContentPane().add(jWizard); validate(); repaint(); } Gleich wie bei der Darstellung der Sichten für den Editier-Modus wird hier zunächst der Explorer verborgen und eventuell zusätzliche Menüs werden gelöscht. Das Objekt JWizardPanel wird dann erzeugt und dargestellt. Im Konstruktor des JWizardPanel erfolgt Design und Implementierung 91 der Aufruf der Methode showStudyWizard1(). Diese erzeugt die Datenmaske für den ersten Schritt des Anlegens der Studie. In Abbildung 5.18 ist diese Darstellung zu sehen. Abbildung 5.18: Snapshot - Eingangsdarstellung des Wizard Die Klasse JWizardPanel übernimmt die Steuerung des Ablaufes der aufeinander folgenden Datenmasken. Wechselt der Benutzer per Klick auf Next von der ersten Datenmaske der Studie zur zweiten, so löst dies den Aufruf der Methode showStudyWizard2() aus, die die bestehende Datenmaske löscht und die neue Datenmaske erzeugt und darstellt. Das folgende Code-Beispiel zeigt diese Methode: public void showStudyWizard2(){ //set value requestedData for paint-Method to draw connection line requestedData = STUDY; actualSubStep = 2; studyNode.setText(study.study); //set progress substep if (incompStudy.progressStep == STUDY && incompStudy.progressSubStep < 2){ incompStudy.progressSubStep = 2; } int progress; if (incompStudy.progressStep == STUDY){ progress = incompStudy.progressSubStep; } else{ progress = 5; } remove(actualPanel); //Create 2. view for study JWizardPanel2 jWizard2 = new JWizardPanel2(this, study, progress); jWizard2.setVisible(true); jWizard2.setBounds(380,100,620,440); actualPanel = jWizard2; add(jWizard2); Design und Implementierung 92 validate(); repaint(); } Progress-Step und Progress-Substep Da der Wizard zwischenzeitlich abgebrochen werden und zu bereits durchlaufenen Schritten zurückgekehrt werden kann ist es notwendig den Stand des Fortschrittes zu speichern. Hierzu dienen die Integer-Variablen progressStep und progressSubstep. progressStep steht hierbei für einen Hauptschritt des Wizard (beispielsweise das Anlegen des Studienobjektes), während progressSubstep für die auszuführende Teilaufgabe steht. Management der Daten Hier ist zu erwähnen, dass die Klasse JWizardPanel die folgenden zwei Konstruktoren zur Verfügung stellt: public JWizardPanel(JApplicationFrame jaf) Dieser Konstruktor wird aufgerufen wenn komplett neue Studiendaten angelegt werden sollen, also zuvor im Treeview des Eingangsdialoges das Blatt Studies ausgewählt war und die Insert-Funktion aufgerufen wurde. In diesem Konstruktor wird eine Instanz der Klasse IncompleteStudy erzeugt. Sie enthält alle Datenobjekte, die notwendig sind beim Anlegen der Studiendaten sowie zusätzlich die Integer-Werte progressStep und progressSubstep. Abbildung 5.19 zeigt das Klassendiagramm dieser Klasse. IncompleteStudy study : Study medHeader : MedHeader medications : Medications vectMedicationIDs : Vector intHeader : IntervalHeader intervals : Intervals vectIntervalIDs : Vector randomization : Randomization progressStep : int progressSubStep : int getListElements() Abbildung 5.19: Klassendiagramm - IncompleteStudy Die in Kapitel 5.3.2 bereits beschriebene Klasse Datasource wird um die Klasse IncompleteStudies ergänzt. Wie alle anderen Attribute der Klasse Datasource erbt auch die Klasse IncompleteStudies von der Klasse Vector und enthält alle Instanzen der Klasse IncompleteStudy. Das Objekt IncompleteStudy wird im hier beschriebenen Konstruktor gleich nach der Erzeugung dem Objekt IncompleteStudies angefügt. Hierzu wird die Methode saveNewIncompleteStudy() des JApplicationFrame aufgerufen und dieser das Objekt IncompleteStudy übergeben. Bei Verlassen des Wizard bleibt dadurch dieses Objekt persistent in der Klasse Datasource mit den aktuellen Werten. Das in Abbildung 5.20 dargestellte Sequenzdiagramm soll diesen Ablauf verdeutlichen. Design und Implementierung Klick auf Insert JApplication Frame 93 Explorer JWizardPanel Datasource Incomplete Studies 1: getSelection() 2: addWizard() 3: new JWizardPanel(JApplicationFrame) 4: new IncompleteStudy() 5: saveNewIncompleteStudy(IncompleteStudy) 6: getIncompleteStudies() 7: add(IncompleteStudy) Abbildung 5.20: Sequenzdiagramm - Anlegen neuer Studiendaten Den verschiedenen Datenmasken wird bei der Erzeugung immer eine Referenz auf das entsprechende Objekt mitgegeben. Die eingegebenen Daten werden somit direkt in die Objekte eingefügt. public JWizardPanel(JApplicationFrame jaf, IncompleteStudy is) Dieser Konstruktor für die Klasse JWizardPanel wird aufgerufen wenn Studiendaten mit dem Wizard bereits teilweise angelegt wurden und diese weiter vervollständigt werden sollen. Hierzu wählt der Benutzer im Treeview des Eingangsdialoges das Blatt Incomplete Study Data aus, selektiert bereits angelegte Studiendaten in der Liste und Klickt Edit. Dies führt zum Aufruf der Methode addWizard(String stud). Diese Methode holt sich vom Objekt Datasource eine Referenz auf das entsprechende Objekt IncompleteStudy und übergibt diese an den Konstruktor des JWizardPanel. Das Objekt IncompleteStudy wird somit in diesem Konstruktor nicht neu erzeugt sondern nur zugewiesen. Abbildung 5.21 zeigt das Sequenzdiagramm zum gerade beschriebenen. Design und Implementierung Klick auf Edit 94 JApplication Frame Explorer JWizardPanel Datasource 1: getSelection() 2: addWizard(studienName) 3: getIncompleteStudy(studienName) 4: new JWizardPanel(JApplicationFrame, IncompleteStudy) Abbildung 5.21: Sequenzdiagramm - Wiederaufnahme des Anlegevorgangs Die Datenmasken Wie bereits erwähnt werden den Datenmasken die entsprechenden Objekte als Referenz zugewiesen. Einträge oder Änderungen können somit direkt am entsprechenden Objekt der Instanz IncompleteStudy vorgenommen werden. Neuanlegen und Ändern Wird ein Objekt mit dem Wizard neu angelegt (Neu anlegen im Sinne von erstmaligem Durchlaufen der Schritte eines Objektes), wird am Ende des Durchlaufens aller Schritte das Objekt zusätzlich unter seinem Objekttyp abgespeichert. Einfacher formuliert bedeutet dies, dass beispielsweise ein Studien-Objekt nach dem Anlegen nicht nur in der Datenquelle unter IncompleteStudies zu finden ist sondern auch unter dem Objekt Studies. Dies gewährleistet, dass das Objekt später auch im Editier-Modus bearbeitet werden kann. Da es der Wizard zudem erlauben soll zu bereits angelegten Objekten zurückzukehren und deren Schritte nochmals zu durchlaufen, müssen eventuelle Änderungen zusätzlich unter dem entsprechenden Objekttyp vorgenommen werden (Also Änderungen einer Studie am entsprechenden Objekt Study unter der Instanz Studies in der Datenquelle). Des weiteren sollten diese Änderungen nicht automatisch persistent gemacht werden sondern erst nach einer Anfrage durch das System. Wie dies realisiert ist, wird nun am Beispiel des Anlegens und Änderns einer Studie dargestellt. Grundsätzlich implementiert jede Datenmaske des Wizard folgende Methoden: · showData() Diese dient der Anzeige der Daten eines Objektes in den entsprechenden Feldern. Hierzu ein Codebeispiel aus der Datenmaske JWizardPanel1: private void showData(){ jTextField1.setText(study.study); jTextField2.setText(study.description); jComboBox1.setSelectedItem(study.studyPhase); Design und Implementierung 95 jTextField3.setText(study.costCenter); } · checkData() Hier wird überprüft ob Änderungen an den bestehenden Daten vorgenommen wurden. Hier ist zu erwähnen, dass das Neuanlegen von Daten gleich behandelt wird wie das Ändern von Daten. Wird ein Objekt neu angelegt ist dies nichts anderes als eine Änderung der Werte von null oder Leer-String zum entsprechenden Wert. Sofern beim Neuanlegen also Werte eingegeben werden, stellt dies eine Änderung dar und begründet später das Speichern des entsprechenden Objektes. Klickt der Benutzer Next wird zunächst die hier beschriebene Methode aufgerufen. Sofern Werte verändert wurden, wird mit der Methode setDataChanged() des Objektes JWizardPanel der Wert dataChanged auf true gesetzt. Aufgrund dieses Wertes wird später bestimmt ob Änderungen gespeichert werden müssen. Hier wiederum ein CodeBeispiel aus der Klasse JWizardPanel1: private void checkData(){ if(!study.study.equals(jTextField1.getText())){ dataChanged = true; } if(!study.description.equals(jTextField2.getText())){ dataChanged = true; } if(!study.studyPhase.equals(jComboBox1.getSelectedItem())){ dataChanged = true; } if(!study.costCenter.equals(jTextField3.getText())){ dataChanged = true; } if(dataChanged){ setData(); parent.setDataChanged(true); } } · setData() Sofern Änderungen in der Methode checkData() festgestellt wurden, werden die neuen oder geänderten Werte dem entsprechenden Objekt zugewiesen. Folgendes CodeBeispiel zeigt dies: private void setData(){ study.study = jTextField1.getText(); study.description = jTextField2.getText(); study.studyPhase = (String)jComboBox1.getSelectedItem(); study.costCenter = jTextField3.getText(); } Nachdem die Schritte des Objekts Studie durchlaufen wurden und im letzten Panel auf Next geklickt wurde, wird die Methode finishStudyData() des Objektes JWizardPanel aufgerufen. Aufgrund des boolschen Wertes dataChanged wird hier entschieden ob das Objekt gespeichert werden muss. Im folgenden Code-Beispiel wird dies ersichtlich: Design und Implementierung public // // if 96 void finishStudy(){ if the data of the study have been changed or have been newly created (dataChanged){ // if the steps for study-creation are passed the first time if (incompStudy.progressStep == STUDY){ parent.saveNewStudy(study); JFinishDialog jFinishDialog = new JFinishDialog(this, "The data of the study object are saved now.", true); jFinishDialog.setBounds(380,100,500,400); jFinishDialog.setVisible(true); } // if study data has been changed else{ JSaveDialog jSaveDialog = new JSaveDialog(this, "The data of the study object are modified", true); jSaveDialog.setBounds(380,100,400,300); jSaveDialog.setVisible(true); validate(); repaint(); } dataChanged = false; } else{ showMedWizard1(); } } Sofern Änderungen durchgeführt wurden (dataChanged == true) wird anhand der IfBedingung if (incompStudy.progressStep == STUDY) (siehe obiges Code-Beispiel) festgestellt ob die Studie neu angelegt wurde oder ob sie bereits besteht und nur verändert wurde. Wurde sie neu angelegt, wird sie mit der Methode saveNewStudy() der Klasse JApplicationFrame dem Objekt Studies (in der Datenquelle) angefügt. Wurden die Schritte der Studie dagegen ein weiteres Mal durchlaufen, wird zunächst ein Dialogfenster geöffnet, das den Benutzer fragt ob die Änderungen gespeichert werden sollen. Bestätigt er, führt dies zum Aufruf der Methode saveStudy(). Diese ruft wiederum die gleichnamige Methode der Klasse JApplicationFrame auf. In dieser wird das bereits bestehende Studien-Objekt zunächst gesucht und durch das geänderte ersetzt. Gleich wie beim Studien-Objekt gibt es für die Objekte Medikationskopf, Intervallkopf und Randomisierung die entsprechenden Methoden. 6 Evaluierung der Prototypen Nachdem ein Wizard-Modus für das Anlegen von Studiendaten und ein Editier-Modus implementiert wurden, bestand nun der nächste Schritt darin, diese Konzepte auszuwerten. Wie in Kapitel 2.2.3 Usability Evaluation beschrieben, sind die Prototypen einer Gruppe von Testpersonen vorzuführen, die repräsentativ sind für die Benutzer eines späteren Systems. Deren Reaktion soll helfen Schwachstellen aufzudecken. Da während dieser Arbeit ein Kontakt zu Benutzern des gegenwärtigen Systems nicht möglich war, wurde ein Test mit einem Mitarbeiter der Abteilung Training & Learning durchgeführt. Dieser war mit der Aufgabenstellung des Clinical Trial Managements bereits vertraut. Bei der Auswertung wurde die Strategie des Laut denken angewendet. Eine Aufgabenstellung wurde hierzu aufgestellt und die vom Mitarbeiter formulierten Gedanken wurden aufgenommen. 6.1 Aufgabenstellung Die Aufgabenstellung lautete wie folgt: Teilanlegen von Studiendaten: Legen Sie zunächst eine neue Studie, sowie einen dazugehörigen Medikationskopf an. Die folgenden Daten sind zu erfassen: Studie · Die Studie soll den Namen „study 42“ bekommen und eine nähere Beschreibung der Studie soll „Teststudie – Usability Test“ lauten. · Die Studienphase ist 2. · Das Design der Studie: - Design 1: single blind - Design 3: mono centric - Design 4: international - Design 5: controlled - Purpose: exploratory · Bei den Artikeldaten ist als Artikelname „Aspirin“ einzugeben. · Das geplante Startdatum ist der 15.02.2002 das geplante Enddatum ist der 15.03.2002. Evaluierung der Prototypen 98 Medikationskopf · Der Name des Medikationskopfes ist „mh1“. · 2 Medikationen sind anzulegen: - a1, mit dem Artikel „Aspirin Box“ und den beiden Medikationskennungen „Aspirin Schachtel“ (Sprache: „german“) und „Aspirin Box“ (Sprache: „english“). - a10, mit dem Artikel „Aspirin 200mg“ mit der Medikationskennung „Aspirin200“ (Sprache: „german“). Die übergeordnete Medikation sei hier „a1“. Editieren der Studiendaten: Nachdem die Objekte angelegt sind, soll das Studien-Objekt editiert werden. Die Beschreibung der Studie soll auf „Teststudie 42 – Test auf Benutzerfreundlichkeit“ geändert werden. Zudem soll kontrolliert werden ob alle Daten richtig erfasst wurden. Darauf folgend ist ausgehend von der Studie, der zuvor angelegte Medikationskopf aufzurufen und die Daten sind ebenfalls zu prüfen. Vollständiges Anlegen der Studiendaten: Intervallkopf Ergänzend zur zuvor angelegten Studie ist ein Intervallkopf mit dem Namen „ih1“ anzulegen. Dem Intervallkopf sind die Intervalle „i1“ und „i2“ anzufügen. Intervall „i1“ erhält die Kennung „woche 1“ (Sprache: „german“) und Intervall „i2“ erhält die Kennung „woche 2“ (Sprache: „german“). Randomisierung Aufbauend auf den bisher erstellten Objekten ist eine Randomisierung anzulegen. Der Name der Randomisierung sei „randomization 42“. Des weiteren sind folgenden Daten anzugeben: · Patienten (geplant) - Patienten pro Satz: 20 - von Nummer: 1000 - Offset: 500 - Anzahl Patienten Sätze: 1 - Anzahl Rückstellblocks: 1 - Anzahl Endfreigabeblocks: 1 · Design - Design 2: Cross-over - Nummerierung: Consecutive - Anzahl Intervalle: 5 - Anzahl Behandlungsgruppen: 2 - C-Faktor: 1 Darauf folgend ist die Medikations-Matrix mit den Medikationen zu bestücken. Zum Schluss ist ein Statuswechsel der Randomisierung nach „valid“ durchzuführen. Vor der Ausführung dieser Aufgabe wurde dem Mitarbeiter das neue Bedienkonzept zunächst vorgestellt und ihm einige Zeit eingeräumt um sich mit dem System vertraut zu machen. Speziell wurde dem Mitarbeiter gezeigt wie der Übersichtsgraph im Editiermodus zu Evaluierung der Prototypen 99 bedienen ist, um die Daten der verschiedenen Objekte anzuzeigen. Des weiteren wurde erwähnt, dass das Neuanlegen von Studiendaten durch einen Wizard unterstützt wird und dass dieser nach jedem Hauptschritt unterbrochen werden kann. Der Mitarbeiter wurde zudem darauf hingewiesen, dass die teilweise angelegten Studiendaten im Verzeichnis Incomplete study data zu finden sind. Wie der Wizard genau zu bedienen ist wurde aber nicht näher erläutert. Der Benutzer sollte sich intuitiv zurecht finden. Nach dieser Einführung wurde die Testaufgabe ausgeführt und die Kommentare des Mitarbeiters wurden in einer Wave-Datei aufgezeichnet. 6.2 Durchführung der Evaluierung 6.2.1 Teilanlegen der Studiendaten Aufgrund der Aufgabenstellung sollte der Mitarbeiter zunächst vom Eingangsdialog in den Wizard-Modus gelangen um eine Studie sowie einen Medikationskopf anzulegen. Hierzu war im Treeview des Eingangsdialoges das Blatt Studies zu finden und anzuklicken, sowie die Insert-Funktion in der Toolbar aufzurufen. Abbildung 6.1 zeigt den Eingangsdialog mit dem entsprechenden Treeview. 2. Insert 1. Studies Abbildung 6.1: Snapshot - Aufruf des Wizard-Modus Folgender Ausschnitt aus den Kommentaren des Mitarbeiters zeigt den Aufruf des WizardModus: Evaluierung der Prototypen 100 „Ich gehe auf der linken Seite zu Study data. Das ist relativ einsichtig, dass ich das machen will. Jetzt muss ich mir überlegen was ich darunter aussuche und da steht Study related data. Das klingt vernünftig. Da geh ich jetzt mal zu Studies. Da möcht ich eine neue Studie anlegen, deshalb gehe ich auf Insert. Jetzt wechselt der Bildschirm. Und hier kann ich Basic data eingeben.“ Dieser Kommentar zeigt, dass der Aufruf des Wizard-Modus ohne Probleme durchgeführt wurde. Nachdem die Daten des Studien-Objekts im Wizard eingegeben wurden, sollte nun der Medikationskopf angelegt werden. Die letzte Dialogfläche für die Studie war im Wizard noch angezeigt. Um Daten für den Medikationskopf eingeben zu können, musste hier noch einmal Next geklickt werden. Abbildung 6.2 zeigt diese Situation. Exit Studien-Objekt Medikationskopf Abbildung 6.2: Snapshot - Vorzeitiges Verlassen des Wizard-Modus Anstatt nochmals Next zu klicken um zum Dialog für den Medikationskopf zu gelangen, versuchte die Testperson dies mit Doppelklicken auf den Knoten für den Medikationskopf zu erreichen, was folgender Ausschnitt aus den Kommentaren zeigt: Also geh ich jetzt auf Medication Header der ist ja hier links auf dem Bildschirm zu haben. Jetzt würd’ ich da ja noch gerne doppelklicken, aber das scheint nicht zu funktionieren. Ich vermute mal, dass ich zunächst mal die Studie exiten muss und dann hier auf den Medication Header gehen kann. Ist das jetzt der direkte Weg gewesen? Keine Ahnung! Der Mitarbeiter hat daraufhin Exit geklickt, wonach wieder der Eingangsdialog angezeigt wurde. An dieser Stelle musste eingegriffen und der Testperson gezeigt werden wie hier weiter vorzugehen ist. In diesem Zusammenhang ist zu erwähnen, dass der Button Exit in der Toolbar bei der Testperson für Verwirrung gesorgt hat. Die Bezeichnung vermittelt den Eindruck, dass hierdurch das komplette System verlassen wird und nicht zum Eingangsdialog zurückgekehrt werden kann. Evaluierung der Prototypen 101 Das Anlegen des Medikationskopfes mit Medikation und Medikationskennungen wurde vom Mitarbeiter erfolgreich durchgeführt. Allerdings sorgten die verschachtelten Schleifen (äußere Schleife für die Medikationen, sowie innere Schleife für die Medikationskennungen einer Medikation) für etwas Verwirrung. 6.2.2 Editieren der Studiendaten Nachdem das Studien-Objekt sowie der Medikationskopf erfolgreich angelegt wurden, sollte der Mitarbeiter die angelegten Daten im Editiermodus prüfen und teilweise verändern. Hier zeigte sich ein Fehler in der Implementierung des Prototypen, da die angelegte Studie in der Auswahlliste nicht zu finden war. Die Testperson löste dieses Problem indem sie die teilweise angelegten Studiendaten wiederum mit dem Wizard-Modus öffnete und per Klick auf Next das bereits angelegte nochmals durchlief. 6.2.3 Vollständiges Anlegen der Studiendaten Darauf folgend wurde der Intervallkopf mit Intervall und Intervallkennung angelegt. Auch hier bereiteten die verschachtelten Schleifen dem Mitarbeiter einige Probleme. Als letztes war noch die Randomisierung zu erfassen. Bevor diese angelegt werden kann wird der Benutzer darauf hingewiesen, dass die Stati von Medikations- und Intervallkopf zunächst auf „valid“ geändert werden müssen. Hier kann der Benutzer mit Yes oder No entscheiden, ob der Wizard diesen Statuswechsel durchführen soll. Die Reaktion der Testperson zeigt der folgende Ausschnitt aus den Kommentaren: „Hmm… automatische Versionshochsetzung während der Editierphase… mmhhh.. gefährlich, aber egal, machen wir das einfach mal, damit wir überhaupt die Randomisierung eingeben können“ Es zeigte sich, dass der Testperson ein Statuswechsel während der Phase des Neuanlegens nicht sinnvoll erschien. Grundsätzlich kann eine Randomisierung bis zu einem gewissen Grad auch ohne gültigen Medikations- sowie Intervallkopf angelegt werden. Das Ziel bei der Entwicklung des Wizard-Konzeptes war es die Studiendaten soweit anzulegen, dass spätere Studienaufträge darauf aufbauend ausgeführt werden können. Hierzu müssen alle Objekte den Status gültig erreicht haben. Ob dieses Ziel zu weit gesteckt ist, und im Wizard-Modus statt dessen auf die Statuswechsel verzichtet werden sollte, ist später zu bewerten. 6.2.4 Schlussfolgerung Da die Evaluierung des Prototypen nur mit einer Testperson durchgeführt wurde, sind die Ergebnisse hierbei noch sehr vorsichtig zu bewerten. Aufgrund eines Fehlers im Prototypen konnte zudem der Editiermodus mit dem Übersichtsgraphen nicht näher ausgewertet werden. Dieser Editiermodus wurde dem Mitarbeiter im Anschluss noch vorgestellt. Der Mitarbeiter reagierte auf das neue Konzept sehr positiv. Das bloße Vorführen hat aber nur sehr geringe Aussagekraft bei der Beurteilung eines Dialoges nach seiner softwareergonomischen Gestaltung. Evaluierung der Prototypen 102 Trotz allem sind aber speziell beim Wizard-Modus einige wesentliche Dinge festzustellen, die verbessert werden müssen. Zudem soll dieser Test auch grundsätzlich zeigen, wie mit einer solchen Methodik Schwachstellen aufgedeckt und Verbesserung erzielt werden können. Schwachstellen: · · · · Intuitivität ist im Wizard-Konzept noch nicht gegeben. Die verschachtelten Schleifen zum Anlegen von Medikationen und deren Medikationskennungen beziehungsweise Intervallen und deren Intervallkennungen sind zu umständlich. Die Funktionsbezeichnung Exit für das Zurückkehren in den Eingangsdialog ist ungeeignet. Für Benutzer, die mit dem System und der Aufgabenstellung vertraut sind, wirkt der Wizard-Modus zu starr. Für das Anlegen von Studiendaten sollte deshalb zusätzlich ein Experten-Modus eingeführt werden. Ob Statuswechsel vom Wizard durchgeführt werden sollten, muss in einer weiteren Evaluierung durch mehrere repräsentative Testpersonen geprüft werden. Zudem ist hierzu auch die Aufgabenstellung nochmals genauer zu analysieren. 6.3 Hedonistische Qualitäten des neuen Konzeptes Unter dem Begriff des Joy of use (siehe Kapitel 3.3) wurde in dieser Ausarbeitung auch auf höhere Ziele, eben hedonistische Qualitäten, bei der Entwicklung einer modernen Benutzerschnittstelle eingegangen. Um bewerten zu können, ob und wie weit das neu erstellte Dialogkonzept solche Qualitäten erfüllt, wurde die Technik des Semantic Differentials eingesetzt. Wie bereits beschrieben, werden hier sieben gegensätzliche Adjektiv-Paare, dem Benutzer vorgelegt, anhand derer das neue Konzept bewertet wird. Tabelle 6.1 zeigt die Beurteilung des neuen CTM-Dialogkonzeptes durch die Testperson: überragend exklusiv beeindruckend einzigartig innovativ erregend interessant ð ð ð ð ð ð X ð ð X ð X ð ð X X ð X ð X ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð zweitklassig standard uninteressant gewöhnlich konservativ stumpfsinnig langweilig Tabelle 6.1: Beurteilung nach der Technik des Semantic Differential Der Hedonic Quality Value würde nach dieser Beurteilung bei 5,57 liegen, wobei 7 der beste und 1 der schlechteste Wert darstellt. Hier ist anzumerken, dass diese Beurteilung von nur einer Testperson durchgeführt wurde, die zudem Mitarbeiter ist bei Propack-Data. Obwohl diese Person gebeten wurde, das Bedienkonzept objektiv und kritisch zu beurteilen, ist eine Neigung eher zum positiven nicht auszuschließen. 7 Bewertung und Ausblick Die Ergebnisse dieser Arbeit lassen sich zunächst in zwei Bereiche aufteilen. Im ersten Teil (Kapitel 2 und 3) wurden die theoretischen Grundlagen für die Erstellung eines neuen Bedienkonzeptes geschaffen. Der Begriff der Software-Ergonomie wurde anhand der VDIRichtlinien, der ISO 9241 Norm sowie der Regeln von Shneiderman genau definiert. Anhand des Usability Engineering wurde eine Methodik vorgestellt, um aufbauend auf einer gegebenen Aufgabenstellung ein entsprechendes ergonomisches Dialogsystem zu schaffen. Dabei sind die Schritte Analyse, konzeptuelles und visuelles Design sowie Evaluierung iterativ zu durchlaufen, bis ein Optimum gefunden ist. Der Abschluss des theoretischen Teils bildete die Aufnahme des Standes der Technik von Dialogsystemen. Hier wurden verschiedene neue Visualisierungsmöglichkeiten wie FisheyeMenus oder Hyperbolic Browser aber auch moderne Interaktionstechniken wie akustische oder gestenbasierte Interaktion vorgestellt. Daneben wurden unter dem Begriff Joy of use hedonistische Qualitäten einer Benutzerschnittstelle erläutert. Zum aktuellen Stand der Technik von Dialogsystemen gehört auch die Berücksichtigung von psychologischen Aspekten. Hierbei wurde auf die Bereiche Farbpsychologie und Gestaltpsychologie näher eingegangen. Im zweiten Teil der Arbeit (Kapitel 4 und 5) erfolgte die praktische Umsetzung des zuvor dargestellten anhand von Prototypen. Hierbei wurde zunächst die PMX-Lösung CTM vorgestellt und die Funktionalität erläutert. Anhand der in Kapitel 2 gezeigten Eigenschaften ergonomischer Software wurde die bestehende Benutzerschnittstelle bewertet und Schwachstellen aufgedeckt. Basierend auf der Methodik des Usability Engineering erfolgte dann die Analyse der Benutzer sowie die Analyse der Aufgabenstellung des Managements von Studien. Beim Übergang von der Analyse- in die Designphase zeigte sich, dass an dieser Stelle im Prozess des Usability Engineering eine Lücke besteht. Beim Entwerfen eines neuen Dialoges ist, neben dem Wissen über die Möglichkeiten der Gestaltung, auch ein gewisser Grad an Kreativität notwendig. Dieser kann nicht durch eine festgelegte Methodik ersetzt werden. Wie sich bei der Analyse zeigte sind die größten Probleme des untersuchten Gebietes, die komplexe Aufgabenstellung, sowie kaum überschaubare Abhängigkeiten der verschiedenen Objekte. Beim Design wurde deshalb zum einen ein Wizard-Modus für das Anlegen von Studiendaten geschaffen. Dieser führt den Benutzer durch die Aufgabenstellung und bewahrt ihn somit vor der Komplexität der Aufgabe. Des weiteren wurde ein Editier-Modus für das Ändern und Ergänzen der verschiedenen in Beziehung stehenden Objekte geschaffen. Dieser Modus zeichnet sich vor allem durch einen Übersichtsgraph auf der linken Seite des Dialoges aus. In diesem Graph werden die Beziehungen der Objekte visualisiert und dadurch die Übersichtlichkeit gefördert. Um den ersten Iterationszyklus des Usability-Engineerings abzuschließen, wurde anschließend ein Usability-Test anhand der Strategie des Laut denken mit einem Mitarbeiter der Abteilung Training & Learning durchgeführt. Zudem wurden hedonistische Qualitäten der Konzepte aufgrund der Technik des Semantic Differential bewertet. Bewertung und Ausblick 104 7.1 Bewertung der neuen Konzepte Im folgenden soll nun, als Ergänzung zur bisherigen Evaluierung, geprüft werden, wie weit die neuen Konzepte die Eigenschaften ergonomischer Software erfüllen. Wie bereits bei der Analyse der bestehenden Benutzerschnittstelle, findet auch hier ein Vergleich mit den VDIRichtlinien und ISO-Normen statt. Tabelle 7.1 zeigt die Ergebnisse im einzelnen. Grundsatz VDI-Richtlinie: Kompetenzförderlichkeit VDI-Richtlinie: Handlungsflexibilität VDI-Richtlinie: Aufgabenangemessenheit Bezug zu PMX / CTM Der Übersichtsgraph im Editier-Modus, fördert beim Benutzer das Wissen über die Zusammenhänge im System. Die Möglichkeiten der direkten Manipulation fördern zudem die Verständlichkeit der Funktionalität. Im Wizard-Modus ist von Anfang an zu sehen welche Schritte durchlaufen werden müssen. Der Benutzer bleibt nicht im Ungewissen. Dies alles führt im Vergleich zur bisherigen Benutzerschnittstelle zu einer wesentlichen Steigerung der Handlungskompetenz des Benutzers. Das Anlegen neuer Studiendaten ist bei dem entworfenen Bedienkonzept im Wizard-Modus durchzuführen. Hierzu gibt es keine Alternativen. Für das Ändern und Ergänzen kann der Benutzer sowohl den Editier-Modus wählen, als auch den Wizard-Modus (nochmals) durchlaufen. Handlungsflexibilität ist somit nur teilweise gegeben. Gerade für das Anlegen sollte noch ein Experten-Modus geschaffen werden. Der Wizard-Modus ermöglicht es die Aufgabenstellung des Neuanlegens korrekt zu durchlaufen. Fehler werden hier ausgeschlossen. Im Editiermodus gewährleistet der Übersichtsgraph das schnelle Auffinden in Beziehung stehender Objekte. Zudem ist durch die Visualisierung der Stati (Ampelsymbol) diese Information direkt verfügbar. Des weiteren ist ausgeschlossen, dass mehrere Fenster geöffnet sind und diese sich überlappen. Dies alles führt zu einer wesentlichen Steigerung der Aufgabenangemessenheit. ISO 9241: siehe VDI-Richtlinie Aufgabenangemessenheit ISO 9241: Der Übersichtsgraph, aber auch das Ampelsymbol zur Selbstbeschreibungsfähigkeit Anzeige der Stati fördern die Selbstbeschreibungsfähigkeit des Dialoges. Die Verfügbarkeit von Kontextmenüs wird zudem durch ein Maussymbol, bei dem die rechte Maustaste rot gefärbt ist, visualisiert. Der Benutzer muss dies also nicht durch Probieren herausfinden. Die Selbstbeschreibungsfähigkeit kann aber trotz allem noch erheblich gesteigert werden. Beispielsweise sollten Bewertung und Ausblick ISO 9241: Steuerbarkeit ISO 9241: Erwartungskonformität ISO 9241: Fehlerrobustheit (-toleranz) ISO 9241: Individualisierbarkeit ISO 9241: Lernförderlichkeit 105 Prozesse wie die Randomisierungsfunktion noch visualisiert werden. Aber auch das Anlegen der Objekte eines Medikations- bzw. Intervallkopfes ist noch nicht soweit umgesetzt, dass dies für den Benutzer selbstbeschreibend ist. Beim Anlegen der Studiendaten mit dem Wizard-Modus muss der Benutzer zunächst die vorgegebenen Schritte durchlaufen. Will er aber später noch Änderungen durchführen kann er im Wizard zum entsprechenden Schritt zurückkehren und diesen nochmals abarbeiten. Der Ablauf des Anlegens ist somit teilweise steuerbar. Die nacheinander zu durchlaufenden Schritte des WizardModus sind gleich wie im Editiermodus durch einen Graphen auf der linken Seite des Dialoges dargestellt. Zudem können die Knoten des Graphen in beiden Modi angeklickt werden, um die entsprechenden Daten der Objekte, die sie repräsentieren, anzuzeigen. Dies führt zu Konsistenz und fördert die Erwartungskonformität. Die meisten gegenwärtigen Softwaresysteme enthalten die Technik der direkten Manipulation. Diese wurde im neuen Bedienkonzept ebenfalls realisiert. Auch dies trägt zu einer Steigerung der Erwartungskonformität bei. Da die Umsetzung des neuen Bedienkonzeptes nach dem Prinzip des horizontalen Prototyping erfolgte, wurde die Funktionalität des Systems fast völlig außer Acht gelassen. Fehlermeldungen wurden deshalb nicht berücksichtigt. Verschiedene Bedien-Modi für unterschiedliche Benutzer sind auch im neuen Konzept nicht vorhanden. Ist der Benutzer mit dem Anlegen der Studiendaten noch nicht sehr vertraut, wird er trotzdem vom Wizard durch die entsprechenden Teilaufgaben geführt. Das Verständnis für die Aufgabenstellung wird hierdurch gefördert. Allerdings sollte das System, wie schon erwähnt, zusätzlich über einen Experten-Modus verfügen, da die Verwendung des Wizard für einen erfahrenen Benutzer eher umständlich ist. Der Übersichtsgraph des Editier-Modus fördert ebenfalls das Verständnis für die Zusammenhänge der einzelnen Objekte. Tabelle 7.1: Vergleich des neuen Konzeptes mit Richtlinien und Normen 7.2 Ausblick Bei der Bewertung des neu gestalteten Bedienkonzeptes anhand der VDI-Richtlinien und ISO-Normen ist festzustellen, dass unter software-ergonomischen Gesichtspunkten eine Verbesserung im Vergleich zum bestehenden System erzielt wurde. Trotz allem ist aber ein Optimum noch nicht erreicht, da einige Prinzipien nur teilweise (Handlungsflexibilität, Steuerbarkeit) oder noch gar nicht (Individualisierbarkeit, Fehlerrobustheit) realisiert wurden. Bewertung und Ausblick 106 Bei der weiteren Vorgehensweise sollte zunächst die Evaluierung anhand mehrerer „echter“ Benutzer durchgeführt werden um hier repräsentative Ergebnisse zur Auswertung des neu gestalteten Bedienkonzeptes gewinnen zu können. Experten-Modus In einem weiteren Iterationsschritt des Usability Engineering Prozesses sollte zusätzlich ein Konzept für einen Experten-Modus für das Anlegen von Studiendaten entworfen werden. Im Gegensatz zum Wizard-Modus sollte der Benutzer hier den Ablauf des Anlegens soweit selbst steuern können, wie es die Aufgabenstellung zulässt. Des weiteren sollte dieser Modus so gestaltet sein, dass die Bearbeitung der verschiedenen Objekte auch über Shortcuts möglich ist. weitere Verbesserungen Die Vorgehensweise beim Anlegen von Medikationen und Medikationskennungen eines Medikationskopfes, beziehungsweise der entsprechenden Objekte eines Intervallkopfes im Wizard-Modus, sollte nochmals überdacht werden. Im neu gestalteten Bedienkonzept ist dies bisher durch eine geschachtelte Schleife realisiert. Bei der Evaluierung durch einen Mitarbeiter führte dies aber zu Verwirrung. Des weiteren sollte die Selbstbeschreibungsfähigkeit des Systems noch derart gesteigert werden, dass ablaufende Prozesse visualisiert werden. Eine entsprechende Rückmeldung sollte dabei nicht nur anzeigen, dass das System „beschäftigt“ ist, sondern kann durchaus dazu genutzt werden den laufenden Prozess visuell zu beschreiben. Da während des konzeptuellen Entwurfs zwei Konzepte für den Editier-Modus angedacht wurden, ist es zudem sinnvoll, das noch nicht umgesetzte Konzept zusätzlich anhand eines Prototypen zu realisieren. Die Vorteile beider Konzepte könnten später eventuell zusammengeführt werden. Schlussbemerkung Im Verlauf der Implementierung der Prototypen tauchte die Frage auf, wann das neue Konzept eingesetzt werden kann. Grundsätzlich sollten Prototypen nicht vorzeitig zum Produkt gemacht werden. Vielmehr ist hier zu empfehlen die Methodik des Usability Engineering weiterzuverfolgen, und sich nicht mit ersten Resultaten zufrieden zu geben. Da die meisten Benutzerschnittstellen heutzutage ohne entsprechende Analyse der Benutzer und auch ohne Evaluierung durch die Benutzer erstellt werden, besteht die Gefahr dieser „Strategie“ wieder zu verfallen, stellt sie doch einen wesentlich geringeren Aufwand dar. Will man aber eine moderne Benutzerschnittstelle schaffen, die bedienbar und benutzerfreundlich ist und deren Benutzung womöglich noch Freude macht, sollte der Mehraufwand, den das Usability Engineering mit sich bringt, kein Problem darstellen. A Literaturverzeichnis [Welie01] Martijn van Welie: Task-based User Interface Design, Dissertation an der Dutch Graduate School for Information and Knowledge Systems, 2001 [Ferré01] Xavier Ferré, Natalia Juristo, Helmut Windl, Larry Constantine: Usability Basics for Software Developers, http://www.computer.org/software/so2001/pdf/s1022.pdf, 2001 [Preim99] Bernhard Preim: Entwicklung interaktiver Systeme, Springer Verlag, 1999 [Wessel98] Ivo Wessel: GUI-Design – Richtlinien zur Gestaltung ergonomischer Windows-Applikationen, Hanser Verlag, 1998 [inxight02] Inxight Software Inc. ,Santa Clara, California, www.inxight.com, 2002 [Maybury01] Mark T. Maybury: Human Computer Interaction, The MITRE Corporation, 2001 [Hudson97] Scott Hudson & Ian Smith: Toolkit subArctic, GWU Center Georgia Tech, http://www.cc.gatech.edu/gvu/ui/sub_arctic/sub_arctic/doc/demos.html, 1997 [IBM] IBM Corporation, Austin, Texas, USA, http://www.research.att.com/conf/hfweb/proceedings/lisle/ [Sun01] Sun Microsystems Inc.: Swing Sightings, http://java.sun.com/products/jfc/tsc/sightings/S03.html, 2001 [HCIL00] Human Computer Interaction Lab, University of Maryland, http://www.cs.umd.edu/hcil/, 2000 [Micros00] Microsoft Corporation, Research, User Interfaces, http://research.microsoft.com/ui/TaskGallery/index.htm, 2000 [Geisler98] Gary Geisler: Making Information More Accessible: A Survey of Information Visualization, University of North Carolina at Chapel Hill, http://www.ils.unc.edu/~geisg/info/infovis/paper.html, 1998 [Holzin01] Andreas Holzinger: Basiswissen Multimedia, Band3: Design, Vogel Buchverlag, 2001 [TUD00] Technische Universität Darmstadt - Graphische Interaktive Systeme, http://www.inigraphics.net/publications/topics/2000/SA_2000/topicsSA2000.p df, 2000 [Schuka95] Ernst Günther Schukat Talamazzini: Automatische Spracherkennung, Vieweg Verlag, 1995 Literaturverzeichnis 108 [IBMVia01] IBM, Via Voice – Spracherkennungssystem, http://www.viavoice.de, 2001 [Hameri00] Stefan W. Hamerich: Strategien für Dialogsegmente in natürlichsprachlichen Anwendungen, Diplomarbeit an der Universität Hamburg, http://natswww.informatik.uni-hamburg.de/sada/ps/stefan-hamerich-da.pdf, 2000 [BodyTa00] Projekt BodyTalk, Universität Dortmund, http://ls7-www.cs.unidortmund.de/bodytalk/, 2000 [Hassen01] Marc Hassenzahl, Andreas Beu, Michael Burmester, User Interface Design GmbH: Engineering Joy, http://www.tudarmstadt.de/fb/fb3/psy/soz/veroeffentlichungen_mh/Engineering_joy.pdf, 2001 [Jakob01] Tanja Jakob-Sula: Wahrnehmungspsychologisch begründete Konzeption einer Website für Praktiker der Sozialen Arbeit, Diplomarbeit an der Fachhochschule München, www.willstedrueberreden.de, 2001 [Crüger00] Ingrid Crüger: Farbentheorie und Farbgestaltung, Ausarbeitung am Fraunhofer Institut für Integrierte Publikations- und Informationssysteme, 2000 [Schlie99] Jürgen Schlierf, Rudolf Weber: Programmieren mit Swing, Verlag Hanser, 1999 [PD01a] Propack Data GmbH: Schulungsunterlagen für CTM [Mekel01] Hans-G. Mekelburg: Ergonomie und das WWW, http://home.nordwest.net/hgm/ergo/index.html, 2001 [Shneid99] Ben Shneiderman: 8 golden Rules, Department of Computer Science at University of Maryland, http://www.csc.calpoly.edu/~fkurfess/Courses/COMP675/W00/Slides/Golden-Rules.html, 1999 [Oester98] Bernd Oestereich: Objekt-orientierte Softwareentwicklung, Verlag Oldenbourg, 1998 [IBM01] IBM developerWorks: Crafting a wizard, http://www106.ibm.com/developerworks/library/us-wizard/?article=wir, 2001