[Zurück]


Dissertationen (eigene und begutachtete):

T. Scheller:
"An Automated Measurement Method for the Usability of APIs and its Application in the Area of Middleware";
Betreuer/in(nen), Begutachter/in(nen): E. Kühn, M. Tscheligi; Inst. für Computersprachen, 2014; Rigorosum: 24.10.2014.



Kurzfassung deutsch:
Usability ist ein wichtiger Qualitätsaspekt für jede Art von Software. Software, die einfach zu
verwenden ist, erhöht die Produktivität, verringert Kosten und vermeidet Fehler. Schwierig zu
verwendende Software führt zu Frustration und Ablehnung. Um User Interfaces auf Ihre Benutzbarkeit
hin zu überprüfen, werden Usability Tests daher immer mehr zum integralen Bestandteil
eines jeden Softwareentwicklungsprozesses. Für eine spezielle Art von User Interface ist dies jedoch
leider noch kaum der Fall: Application Programming Interfaces (APIs). APIs werden von
SoftwareentwicklerInnen verwendet, um auf die Funktionalität von externen Softwarebibliotheken
zuzugreifen, welche sie verwenden, um Ihre eigene Software zu bauen. Eine immer größer
werdende Anzahl solcher APIs ist für verschiedenste Aufgaben verfügbar, wie z.B. Logging,
Datenbankzugriff oder Unit Testing. Viele EntwicklerInnen verwenden täglich solche APIs, was
deren Usability zu einem wichtigen Aspekt macht.
Während bereits viele verschiedene Methoden zur Messung von Usability existieren, wie
zum Beispiel Heuristic Evaluation und Thinking Aloud, sind die meisten dieser Methoden leider
nicht einfach zu verwenden: Sie erfordern Usability-Experten für die Evaluierung, und oft auch
ein bereits voll funktionsfähiges Produkt, sowie ein gut ausgestattetes Usability Test Labor. All
dies macht Tests sowohl Kosten-, als auch Zeit-aufwändig.
Ziel der vorliegenden Arbeit die Behandlung dieser Probleme durch die Definition einer
automatisierten und objektiven Usability Messmethode für APIs. Sie erlaubt es, dem/der EntwicklerIn
schnell und früh Rückmeldung über die Usability ihrer/seiner APIs zu geben, und
hilft dadurch, teure Anpassungen in späteren Entwicklungsphasen zu vermeiden. Durch die Berechnung
vergleichbarer Usability-Werte ist es weiters möglich, verschiedene APIs objektiv zu
vergleichen. Da keine Experten für die Auswertung notwendig sind, kann die Methode auch
von Entwicklern angewendet werden, die keine Erfahrung in diesem Bereich besitzen, oder sich
keine aufwändigen Tests leisten können.
In der vorliegenden Arbeit zeigen wir mit einer ausführlichen Literaturrecherche, dass eine
solche Methode noch nicht existiert. Darauffolgend führen wir zwei Usability Studien durch, um
Faktoren zu finden, die die Usability von APIs beeinflussen. Wir untersuchen außerdem existierende
Studien, Richtlinien und Berichte über API Usability. Aus den Ergebnissen extrahieren
wir messbare Konzepte und Eigenschaften, welche wir mittels statistischer Auswertungsmethoden
evaluieren. Basierend darauf erstellen wir eine automatisierte Usability Messmethode. Abschließend
verwenden wir die neu entwickelte Methode, um APIs im Bereich Kommunikations-
Middleware zu bewerten, und präsentieren eine Middleware mit optimierter Usability. Wir zeigen,
dass die Methode nützlich ist, um die Usability von APIs zu bewerten, zu vergleichen und
zu verbessern.
vii

Kurzfassung englisch:
Usability is an important quality factor for every kind of software product. Usable software
increases productivity and reduces cost and errors, while software that is difficult to use causes
worry and frustration, and discourages further use. Because of that, usability tests have become
an integral part in the development of software products that provide any kind of user interface.
For the special area of application programming interfaces (APIs), this is unfortunately not yet
the case. APIs are used by developers to access the functionality of external software libraries,
which they want to utilize when writing their own software. A large and rapidly growing number
of such APIs is available for a variety of tasks, e.g. for logging, database access or unit testing.
So, many developers are using APIs on a daily basis, which makes their usability an important
attribute.
While many methods have already been introduced for measuring usability, like Heuristic
Evaluation and Thinking Aloud, most of these methods are themselves not easy to use: They
require experienced evaluators, and the results also strongly depend on their opinions. Many
methods require an already fully functional product, and a usability lab with sufficient equipment
is needed for running user tests. This makes tests cost- and time-expensive.
The goal of this thesis is to treat these problems, by creating an automated and objective API
usability measurement method. It is based on evaluating the API structure as well as API usage
examples. By providing an API developer with fast initial response to the designs of his/her
APIs, it can help to avoid costly changes in late development stages. Further, by calculating
comparable usability values it allows to objectively compare the usability of different APIs.
Because no experienced evaluators are needed, the method can also be used by developers that
are inexperienced in this area, or cannot afford costly usability tests. All this makes the method
a useful addition to existing usability measurement methods.
In this thesis, we conduct a comprehensive literature review of existing usability evaluation
methods as well as automated software metrics, to show that such a method does not yet exist.
We then conduct two usability studies to find factors influencing usability that can be measured
automatically. We also review existing studies, guidelines and reports about API usability problems
to find potential usability factors. From the resulting data, we extract measurable concepts
and properties, using statistical evaluation methods. We then construct an automated usability
measurement method based on these properties, called the "API Concepts Framework". Finally,
we apply the framework to APIs in the area of communication middleware, and present a middleware
that is optimized for usability. We show that the results provided by the framework are
valid and provide useful information for rating, comparing and improving and API´s usability.
v

Erstellt aus der Publikationsdatenbank der Technischen Universität Wien.